0xtrails 0.13.2 → 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 (753) 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 +2 -1
  18. package/dist/constants.d.ts.map +1 -1
  19. package/dist/error.d.ts +73 -4
  20. package/dist/error.d.ts.map +1 -1
  21. package/dist/hooks/useAddressWalletIcon.d.ts.map +1 -0
  22. package/dist/hooks/useAmountUsd.d.ts.map +1 -0
  23. package/dist/hooks/useBalanceVisible.d.ts.map +1 -0
  24. package/dist/hooks/useChainFilter.d.ts.map +1 -0
  25. package/dist/{widget/hooks → hooks}/useCheckout.d.ts +15 -15
  26. package/dist/hooks/useCheckout.d.ts.map +1 -0
  27. package/dist/hooks/useClickTracking.d.ts.map +1 -0
  28. package/dist/{widget/hooks → hooks}/useCombinedHistory.d.ts +3 -2
  29. package/dist/hooks/useCombinedHistory.d.ts.map +1 -0
  30. package/dist/hooks/useConnector.d.ts.map +1 -0
  31. package/dist/{widget/hooks → hooks}/useCustomTokenSearch.d.ts +1 -1
  32. package/dist/hooks/useCustomTokenSearch.d.ts.map +1 -0
  33. package/dist/hooks/useDebounce.d.ts.map +1 -0
  34. package/dist/{widget/hooks → hooks}/useDebugScreens.d.ts +2 -2
  35. package/dist/hooks/useDebugScreens.d.ts.map +1 -0
  36. package/dist/{widget/hooks → hooks}/useDefaultDestinationToken.d.ts +1 -1
  37. package/dist/hooks/useDefaultDestinationToken.d.ts.map +1 -0
  38. package/dist/{widget/hooks → hooks}/useDefaultOriginToken.d.ts +1 -1
  39. package/dist/hooks/useDefaultOriginToken.d.ts.map +1 -0
  40. package/dist/hooks/useDepositMonitor.d.ts.map +1 -0
  41. package/dist/{widget/hooks → hooks}/useDestinationSelectedToken.d.ts +2 -2
  42. package/dist/hooks/useDestinationSelectedToken.d.ts.map +1 -0
  43. package/dist/hooks/useDisplayCurrencyPreference.d.ts.map +1 -0
  44. package/dist/{widget/hooks → hooks}/useEarnPool.d.ts +1 -1
  45. package/dist/hooks/useEarnPool.d.ts.map +1 -0
  46. package/dist/hooks/useEffectiveFundBalance.d.ts +28 -0
  47. package/dist/hooks/useEffectiveFundBalance.d.ts.map +1 -0
  48. package/dist/hooks/useExecutingIntentsCount.d.ts.map +1 -0
  49. package/dist/{widget/hooks → hooks}/useExternalFundingReceiptSync.d.ts +1 -1
  50. package/dist/hooks/useExternalFundingReceiptSync.d.ts.map +1 -0
  51. package/dist/{widget/hooks → hooks}/useFiatOnRampCurrencies.d.ts +1 -1
  52. package/dist/hooks/useFiatOnRampCurrencies.d.ts.map +1 -0
  53. package/dist/hooks/useFiatSelectedCurrency.d.ts.map +1 -0
  54. package/dist/hooks/useGetIntent.d.ts.map +1 -0
  55. package/dist/{widget/hooks → hooks}/useIntentReceiptBalances.d.ts +1 -1
  56. package/dist/hooks/useIntentReceiptBalances.d.ts.map +1 -0
  57. package/dist/{widget/hooks → hooks}/useIntentTransactionHistory.d.ts +2 -1
  58. package/dist/hooks/useIntentTransactionHistory.d.ts.map +1 -0
  59. package/dist/hooks/useIsMobile.d.ts.map +1 -0
  60. package/dist/hooks/useIsSequenceWallet.d.ts.map +1 -0
  61. package/dist/hooks/useLocalePreference.d.ts.map +1 -0
  62. package/dist/hooks/useMeldTransactionHistory.d.ts.map +1 -0
  63. package/dist/hooks/useMeldTransactionStatus.d.ts.map +1 -0
  64. package/dist/hooks/useOnRampCountryDefaults.d.ts.map +1 -0
  65. package/dist/{widget/hooks → hooks}/useOnRampPaymentMethods.d.ts +2 -2
  66. package/dist/hooks/useOnRampPaymentMethods.d.ts.map +1 -0
  67. package/dist/{widget/hooks → hooks}/useOnRampProviderWidget.d.ts +1 -1
  68. package/dist/hooks/useOnRampProviderWidget.d.ts.map +1 -0
  69. package/dist/{widget/hooks → hooks}/useOnRampQuote.d.ts +3 -3
  70. package/dist/hooks/useOnRampQuote.d.ts.map +1 -0
  71. package/dist/{widget/hooks → hooks}/useOnRampTransactionStatus.d.ts +1 -1
  72. package/dist/hooks/useOnRampTransactionStatus.d.ts.map +1 -0
  73. package/dist/{widget/hooks → hooks}/useOriginSelectedToken.d.ts +1 -1
  74. package/dist/hooks/useOriginSelectedToken.d.ts.map +1 -0
  75. package/dist/hooks/usePayMessage.d.ts.map +1 -0
  76. package/dist/hooks/usePriceImpactWarning.d.ts.map +1 -0
  77. package/dist/hooks/useQuote.d.ts +439 -0
  78. package/dist/hooks/useQuote.d.ts.map +1 -0
  79. package/dist/{widget/hooks → hooks}/useRecentTokens.d.ts +1 -1
  80. package/dist/hooks/useRecentTokens.d.ts.map +1 -0
  81. package/dist/hooks/useRecipients.d.ts.map +1 -0
  82. package/dist/hooks/useSelectedFeeOption.d.ts.map +1 -0
  83. package/dist/{widget/hooks → hooks}/useSelectedFundMethod.d.ts +11 -1
  84. package/dist/hooks/useSelectedFundMethod.d.ts.map +1 -0
  85. package/dist/hooks/useSelectedRecipient.d.ts.map +1 -0
  86. package/dist/{widget/hooks → hooks}/useSendForm.d.ts +6 -11
  87. package/dist/hooks/useSendForm.d.ts.map +1 -0
  88. package/dist/hooks/useSwapAmount.d.ts.map +1 -0
  89. package/dist/{widget/hooks → hooks}/useSwapState.d.ts +1 -1
  90. package/dist/hooks/useSwapState.d.ts.map +1 -0
  91. package/dist/hooks/useTargetAmount.d.ts.map +1 -0
  92. package/dist/hooks/useTheme.d.ts.map +1 -0
  93. package/dist/{widget/hooks → hooks}/useTokenList.d.ts +2 -2
  94. package/dist/hooks/useTokenList.d.ts.map +1 -0
  95. package/dist/{widget/hooks → hooks}/useTrailsSendTransaction.d.ts +1 -1
  96. package/dist/hooks/useTrailsSendTransaction.d.ts.map +1 -0
  97. package/dist/{widget/hooks → hooks}/useViewManager.d.ts +1 -1
  98. package/dist/hooks/useViewManager.d.ts.map +1 -0
  99. package/dist/hooks/useWalletConnectUri.d.ts +19 -0
  100. package/dist/hooks/useWalletConnectUri.d.ts.map +1 -0
  101. package/dist/hooks/useWalletConnectionContext.d.ts.map +1 -0
  102. package/dist/{widget/hooks → hooks}/useWidgetProps.d.ts +1 -1
  103. package/dist/hooks/useWidgetProps.d.ts.map +1 -0
  104. package/dist/hydrate/builder.d.ts +131 -0
  105. package/dist/hydrate/builder.d.ts.map +1 -0
  106. package/dist/hydrate/constants.d.ts +13 -0
  107. package/dist/hydrate/constants.d.ts.map +1 -0
  108. package/dist/hydrate/encodeExecute.d.ts +73 -0
  109. package/dist/hydrate/encodeExecute.d.ts.map +1 -0
  110. package/dist/hydrate/index.d.ts +6 -0
  111. package/dist/hydrate/index.d.ts.map +1 -0
  112. package/dist/hydrate/index.js +11 -0
  113. package/dist/hydrate/payload.d.ts +38 -0
  114. package/dist/hydrate/payload.d.ts.map +1 -0
  115. package/dist/hydrate/selectors.d.ts +28 -0
  116. package/dist/hydrate/selectors.d.ts.map +1 -0
  117. package/dist/hydrate/types.d.ts +19 -0
  118. package/dist/hydrate/types.d.ts.map +1 -0
  119. package/dist/hydrate/utils.d.ts +8 -0
  120. package/dist/hydrate/utils.d.ts.map +1 -0
  121. package/dist/hydrate-Cr9eaeDK.js +654 -0
  122. package/dist/index.d.ts +19 -13
  123. package/dist/index.d.ts.map +1 -1
  124. package/dist/index.js +157 -662
  125. package/dist/intentConfigStore.d.ts +8 -0
  126. package/dist/intentConfigStore.d.ts.map +1 -0
  127. package/dist/intentProtocolApi.d.ts +11 -0
  128. package/dist/intentProtocolApi.d.ts.map +1 -0
  129. package/dist/intentProtocolEncoding.d.ts +25 -0
  130. package/dist/intentProtocolEncoding.d.ts.map +1 -0
  131. package/dist/intentProtocolResolver.d.ts +28 -0
  132. package/dist/intentProtocolResolver.d.ts.map +1 -0
  133. package/dist/intentReceiptPoller.d.ts.map +1 -1
  134. package/dist/intentValidation.d.ts +5 -0
  135. package/dist/intentValidation.d.ts.map +1 -0
  136. package/dist/intents.d.ts.map +1 -1
  137. package/dist/keymachine/index.d.ts +20 -0
  138. package/dist/keymachine/index.d.ts.map +1 -1
  139. package/dist/mutations.d.ts.map +1 -1
  140. package/dist/offlineRecovery.d.ts +24 -0
  141. package/dist/offlineRecovery.d.ts.map +1 -0
  142. package/dist/onramp/MeshConnectFlow.d.ts +9 -0
  143. package/dist/onramp/MeshConnectFlow.d.ts.map +1 -1
  144. package/dist/onramp/MeshConnectIframe.d.ts +9 -0
  145. package/dist/onramp/MeshConnectIframe.d.ts.map +1 -1
  146. package/dist/onramp/TrailsOnRampProvider.d.ts.map +1 -1
  147. package/dist/onramp/mesh/components/MeshExchangeConfirmation.d.ts +10 -0
  148. package/dist/onramp/mesh/components/MeshExchangeConfirmation.d.ts.map +1 -0
  149. package/dist/onramp/mesh/components/MeshExchangeIcon.d.ts +13 -0
  150. package/dist/onramp/mesh/components/MeshExchangeIcon.d.ts.map +1 -0
  151. package/dist/{widget → onramp/mesh}/components/MeshExchangeSelection.d.ts +1 -0
  152. package/dist/onramp/mesh/components/MeshExchangeSelection.d.ts.map +1 -0
  153. package/dist/onramp/mesh/components/MeshSessionOptions.d.ts +15 -0
  154. package/dist/onramp/mesh/components/MeshSessionOptions.d.ts.map +1 -0
  155. package/dist/onramp/mesh/hooks/useMeshAccessTokens.d.ts +9 -0
  156. package/dist/onramp/mesh/hooks/useMeshAccessTokens.d.ts.map +1 -0
  157. package/dist/onramp/mesh/hooks/useMeshFundingSelection.d.ts +11 -0
  158. package/dist/onramp/mesh/hooks/useMeshFundingSelection.d.ts.map +1 -0
  159. package/dist/onramp/mesh/hooks/useMeshOnrampFlow.d.ts +71 -0
  160. package/dist/onramp/mesh/hooks/useMeshOnrampFlow.d.ts.map +1 -0
  161. package/dist/onramp/mesh/hooks/useMeshOnrampSessionState.d.ts +32 -0
  162. package/dist/onramp/mesh/hooks/useMeshOnrampSessionState.d.ts.map +1 -0
  163. package/dist/onramp/mesh/hooks/useMeshSelectedTokenBalance.d.ts +19 -0
  164. package/dist/onramp/mesh/hooks/useMeshSelectedTokenBalance.d.ts.map +1 -0
  165. package/dist/onramp/mesh/hooks/useMeshSessionAccountBalance.d.ts +15 -0
  166. package/dist/onramp/mesh/hooks/useMeshSessionAccountBalance.d.ts.map +1 -0
  167. package/dist/onramp/mesh/hooks/useMeshSessionStorage.d.ts +7 -0
  168. package/dist/onramp/mesh/hooks/useMeshSessionStorage.d.ts.map +1 -0
  169. package/dist/onramp/meshSessionStorage.d.ts +13 -0
  170. package/dist/onramp/meshSessionStorage.d.ts.map +1 -0
  171. package/dist/onramp/meshconnect.d.ts +6 -4
  172. package/dist/onramp/meshconnect.d.ts.map +1 -1
  173. package/dist/onramp/trailsOnramp.d.ts +8 -0
  174. package/dist/onramp/trailsOnramp.d.ts.map +1 -1
  175. package/dist/onrampClient.d.ts.map +1 -1
  176. package/dist/prepareSend.d.ts +3 -2
  177. package/dist/prepareSend.d.ts.map +1 -1
  178. package/dist/query/intentProtocol.queries.d.ts +32 -0
  179. package/dist/query/intentProtocol.queries.d.ts.map +1 -0
  180. package/dist/recover.d.ts +70 -24
  181. package/dist/recover.d.ts.map +1 -1
  182. package/dist/src-4HYDQv2T.js +48798 -0
  183. package/dist/transactionIntent/deposits/depositOrchestrator.d.ts +2 -3
  184. package/dist/transactionIntent/deposits/depositOrchestrator.d.ts.map +1 -1
  185. package/dist/transactionIntent/deposits/gaslessDeposit.d.ts +2 -3
  186. package/dist/transactionIntent/deposits/gaslessDeposit.d.ts.map +1 -1
  187. package/dist/transactionIntent/deposits/standardDeposit.d.ts +2 -5
  188. package/dist/transactionIntent/deposits/standardDeposit.d.ts.map +1 -1
  189. package/dist/transactionIntent/handlers/intentHandler.d.ts +4 -4
  190. package/dist/transactionIntent/handlers/intentHandler.d.ts.map +1 -1
  191. package/dist/transactionIntent/quote/quoteHelpers.d.ts +2 -2
  192. package/dist/transactionIntent/quote/quoteHelpers.d.ts.map +1 -1
  193. package/dist/transactionIntent/types.d.ts +3 -3
  194. package/dist/transactionIntent/types.d.ts.map +1 -1
  195. package/dist/transactions.d.ts +1 -0
  196. package/dist/transactions.d.ts.map +1 -1
  197. package/dist/umd/trails.min.js +1370 -410
  198. package/dist/utils/localStorageGc.d.ts +22 -0
  199. package/dist/utils/localStorageGc.d.ts.map +1 -0
  200. package/dist/walletUtils.d.ts.map +1 -1
  201. package/dist/widget/components/AccountIntentTransactionHistory.d.ts.map +1 -1
  202. package/dist/widget/components/ClassicSwap.d.ts.map +1 -1
  203. package/dist/widget/components/ConnectedWallets.d.ts +1 -1
  204. package/dist/widget/components/ConnectedWallets.d.ts.map +1 -1
  205. package/dist/widget/components/Earn.d.ts +2 -6
  206. package/dist/widget/components/Earn.d.ts.map +1 -1
  207. package/dist/widget/components/FeeOption.d.ts +1 -1
  208. package/dist/widget/components/FeeOption.d.ts.map +1 -1
  209. package/dist/widget/components/FeeOptions.d.ts +1 -1
  210. package/dist/widget/components/FeeOptions.d.ts.map +1 -1
  211. package/dist/widget/components/FiatSelector.d.ts +1 -1
  212. package/dist/widget/components/FiatSelector.d.ts.map +1 -1
  213. package/dist/widget/components/FiatSelectorButton.d.ts +1 -1
  214. package/dist/widget/components/FiatSelectorButton.d.ts.map +1 -1
  215. package/dist/widget/components/Fund.d.ts +1 -1
  216. package/dist/widget/components/Fund.d.ts.map +1 -1
  217. package/dist/widget/components/FundMethods.d.ts.map +1 -1
  218. package/dist/widget/components/FundingMethodSelectorButton.d.ts +1 -1
  219. package/dist/widget/components/FundingMethodSelectorButton.d.ts.map +1 -1
  220. package/dist/widget/components/MeldHistory.d.ts +1 -1
  221. package/dist/widget/components/MeldHistory.d.ts.map +1 -1
  222. package/dist/widget/components/MeldTransactionStatus.d.ts +1 -1
  223. package/dist/widget/components/MeldTransactionStatus.d.ts.map +1 -1
  224. package/dist/widget/components/MeshExchangeAccountHeader.d.ts +9 -0
  225. package/dist/widget/components/MeshExchangeAccountHeader.d.ts.map +1 -0
  226. package/dist/widget/components/OnrampHistoryRow.d.ts +1 -1
  227. package/dist/widget/components/OnrampHistoryRow.d.ts.map +1 -1
  228. package/dist/widget/components/OnrampProviderConfirmation.d.ts +1 -1
  229. package/dist/widget/components/OnrampProviderConfirmation.d.ts.map +1 -1
  230. package/dist/widget/components/Pay.d.ts.map +1 -1
  231. package/dist/widget/components/PoolDeposit.d.ts +2 -6
  232. package/dist/widget/components/PoolDeposit.d.ts.map +1 -1
  233. package/dist/widget/components/PoolWithdraw.d.ts +2 -2
  234. package/dist/widget/components/PoolWithdraw.d.ts.map +1 -1
  235. package/dist/widget/components/PulsatingButton.d.ts +9 -0
  236. package/dist/widget/components/PulsatingButton.d.ts.map +1 -0
  237. package/dist/widget/components/Receipt.d.ts +1 -1
  238. package/dist/widget/components/Receipt.d.ts.map +1 -1
  239. package/dist/widget/components/RecipientSelectorButton.d.ts.map +1 -1
  240. package/dist/widget/components/Recipients.d.ts.map +1 -1
  241. package/dist/widget/components/Swap.d.ts +2 -6
  242. package/dist/widget/components/Swap.d.ts.map +1 -1
  243. package/dist/widget/components/TokenList.d.ts +1 -0
  244. package/dist/widget/components/TokenList.d.ts.map +1 -1
  245. package/dist/widget/components/TokenSelector.d.ts +1 -2
  246. package/dist/widget/components/TokenSelector.d.ts.map +1 -1
  247. package/dist/widget/components/TransactionDetails.d.ts +1 -0
  248. package/dist/widget/components/TransactionDetails.d.ts.map +1 -1
  249. package/dist/widget/components/TransactionHistoryItem.d.ts +1 -0
  250. package/dist/widget/components/TransactionHistoryItem.d.ts.map +1 -1
  251. package/dist/widget/components/TransferPendingVertical.d.ts +1 -1
  252. package/dist/widget/components/TransferPendingVertical.d.ts.map +1 -1
  253. package/dist/widget/components/WalletAccountHeader.d.ts +7 -0
  254. package/dist/widget/components/WalletAccountHeader.d.ts.map +1 -0
  255. package/dist/widget/components/WalletConfirmation.d.ts +2 -1
  256. package/dist/widget/components/WalletConfirmation.d.ts.map +1 -1
  257. package/dist/widget/components/WalletConnect.d.ts.map +1 -1
  258. package/dist/widget/components/WidgetProviders.d.ts.map +1 -1
  259. package/dist/widget/components/Withdraw.d.ts.map +1 -1
  260. package/dist/widget/index.d.ts +13 -0
  261. package/dist/widget/index.d.ts.map +1 -1
  262. package/dist/widget/index.js +16 -8
  263. package/dist/widget/modes/EarnWidget.d.ts +83 -0
  264. package/dist/widget/modes/EarnWidget.d.ts.map +1 -0
  265. package/dist/widget/modes/FundWidget.d.ts +103 -0
  266. package/dist/widget/modes/FundWidget.d.ts.map +1 -0
  267. package/dist/widget/modes/PayWidget.d.ts +86 -0
  268. package/dist/widget/modes/PayWidget.d.ts.map +1 -0
  269. package/dist/widget/modes/SwapWidget.d.ts +82 -0
  270. package/dist/widget/modes/SwapWidget.d.ts.map +1 -0
  271. package/dist/widget/modes/WithdrawWidget.d.ts +71 -0
  272. package/dist/widget/modes/WithdrawWidget.d.ts.map +1 -0
  273. package/dist/widget/providers/TrailsProvider.d.ts +3 -0
  274. package/dist/widget/providers/TrailsProvider.d.ts.map +1 -1
  275. package/dist/widget/shared/mapSharedProps.d.ts +9 -0
  276. package/dist/widget/shared/mapSharedProps.d.ts.map +1 -0
  277. package/dist/widget/shared/methodMap.d.ts +18 -0
  278. package/dist/widget/shared/methodMap.d.ts.map +1 -0
  279. package/dist/widget/shared/resolution.d.ts +22 -0
  280. package/dist/widget/shared/resolution.d.ts.map +1 -0
  281. package/dist/widget/shared/resolvePaymentSource.d.ts +34 -0
  282. package/dist/widget/shared/resolvePaymentSource.d.ts.map +1 -0
  283. package/dist/widget/shared/types.d.ts +94 -0
  284. package/dist/widget/shared/types.d.ts.map +1 -0
  285. package/dist/widget/types/commonProps.d.ts +3 -7
  286. package/dist/widget/types/commonProps.d.ts.map +1 -1
  287. package/dist/widget/utils/fundMethodSwitchState.d.ts +1 -0
  288. package/dist/widget/utils/fundMethodSwitchState.d.ts.map +1 -1
  289. package/dist/widget/utils/viewManagerGuards.d.ts +1 -1
  290. package/dist/widget/utils/viewManagerGuards.d.ts.map +1 -1
  291. package/dist/widget/widget.d.ts +21 -16
  292. package/dist/widget/widget.d.ts.map +1 -1
  293. package/package.json +17 -23
  294. package/dist/buffer.d.ts +0 -3
  295. package/dist/buffer.d.ts.map +0 -1
  296. package/dist/ccip-CT_An6eM.js +0 -230
  297. package/dist/index-RfqL5Foz.js +0 -114567
  298. package/dist/paymasterSend.d.ts +0 -90
  299. package/dist/paymasterSend.d.ts.map +0 -1
  300. package/dist/sendUserOp.d.ts +0 -122
  301. package/dist/sendUserOp.d.ts.map +0 -1
  302. package/dist/toSimpleSmartAccount.d.ts +0 -95
  303. package/dist/toSimpleSmartAccount.d.ts.map +0 -1
  304. package/dist/transactionIntent/utils/erc20Approval.d.ts +0 -34
  305. package/dist/transactionIntent/utils/erc20Approval.d.ts.map +0 -1
  306. package/dist/utils/allowance.d.ts +0 -19
  307. package/dist/utils/allowance.d.ts.map +0 -1
  308. package/dist/widget/analytics/useWidgetAnalytics.d.ts.map +0 -1
  309. package/dist/widget/components/FeeBreakdown.d.ts +0 -9
  310. package/dist/widget/components/FeeBreakdown.d.ts.map +0 -1
  311. package/dist/widget/components/HideBalances.d.ts +0 -4
  312. package/dist/widget/components/HideBalances.d.ts.map +0 -1
  313. package/dist/widget/components/MeshExchangeSelection.d.ts.map +0 -1
  314. package/dist/widget/components/OnrampDeposit.d.ts +0 -10
  315. package/dist/widget/components/OnrampDeposit.d.ts.map +0 -1
  316. package/dist/widget/components/SwapSettings.d.ts +0 -4
  317. package/dist/widget/components/SwapSettings.d.ts.map +0 -1
  318. package/dist/widget/components/TruncatedAddress.d.ts +0 -12
  319. package/dist/widget/components/TruncatedAddress.d.ts.map +0 -1
  320. package/dist/widget/components/WalletImage.d.ts +0 -8
  321. package/dist/widget/components/WalletImage.d.ts.map +0 -1
  322. package/dist/widget/css/compiled.css +0 -26
  323. package/dist/widget/css/index.css +0 -686
  324. package/dist/widget/hooks/useAddressWalletIcon.d.ts.map +0 -1
  325. package/dist/widget/hooks/useAmountUsd.d.ts.map +0 -1
  326. package/dist/widget/hooks/useBalanceVisible.d.ts.map +0 -1
  327. package/dist/widget/hooks/useChainFilter.d.ts.map +0 -1
  328. package/dist/widget/hooks/useCheckout.d.ts.map +0 -1
  329. package/dist/widget/hooks/useClickTracking.d.ts.map +0 -1
  330. package/dist/widget/hooks/useCombinedHistory.d.ts.map +0 -1
  331. package/dist/widget/hooks/useConnector.d.ts.map +0 -1
  332. package/dist/widget/hooks/useCustomTokenSearch.d.ts.map +0 -1
  333. package/dist/widget/hooks/useDebounce.d.ts.map +0 -1
  334. package/dist/widget/hooks/useDebugScreens.d.ts.map +0 -1
  335. package/dist/widget/hooks/useDefaultDestinationToken.d.ts.map +0 -1
  336. package/dist/widget/hooks/useDefaultOriginToken.d.ts.map +0 -1
  337. package/dist/widget/hooks/useDepositMonitor.d.ts.map +0 -1
  338. package/dist/widget/hooks/useDestinationSelectedToken.d.ts.map +0 -1
  339. package/dist/widget/hooks/useDisplayCurrencyPreference.d.ts.map +0 -1
  340. package/dist/widget/hooks/useEarnPool.d.ts.map +0 -1
  341. package/dist/widget/hooks/useExecutingIntentsCount.d.ts.map +0 -1
  342. package/dist/widget/hooks/useExternalFundingReceiptSync.d.ts.map +0 -1
  343. package/dist/widget/hooks/useFiatOnRampCurrencies.d.ts.map +0 -1
  344. package/dist/widget/hooks/useFiatSelectedCurrency.d.ts.map +0 -1
  345. package/dist/widget/hooks/useGetIntent.d.ts.map +0 -1
  346. package/dist/widget/hooks/useIntentReceiptBalances.d.ts.map +0 -1
  347. package/dist/widget/hooks/useIntentTransactionHistory.d.ts.map +0 -1
  348. package/dist/widget/hooks/useIsConnectedWalletSmartContract.d.ts +0 -7
  349. package/dist/widget/hooks/useIsConnectedWalletSmartContract.d.ts.map +0 -1
  350. package/dist/widget/hooks/useIsMobile.d.ts.map +0 -1
  351. package/dist/widget/hooks/useIsSequenceWallet.d.ts.map +0 -1
  352. package/dist/widget/hooks/useLocalePreference.d.ts.map +0 -1
  353. package/dist/widget/hooks/useMeldTransactionHistory.d.ts.map +0 -1
  354. package/dist/widget/hooks/useMeldTransactionStatus.d.ts.map +0 -1
  355. package/dist/widget/hooks/useOnRampCountryDefaults.d.ts.map +0 -1
  356. package/dist/widget/hooks/useOnRampPaymentMethods.d.ts.map +0 -1
  357. package/dist/widget/hooks/useOnRampProviderWidget.d.ts.map +0 -1
  358. package/dist/widget/hooks/useOnRampQuote.d.ts.map +0 -1
  359. package/dist/widget/hooks/useOnRampTransactionStatus.d.ts.map +0 -1
  360. package/dist/widget/hooks/useOriginSelectedToken.d.ts.map +0 -1
  361. package/dist/widget/hooks/usePayMessage.d.ts.map +0 -1
  362. package/dist/widget/hooks/usePriceImpactWarning.d.ts.map +0 -1
  363. package/dist/widget/hooks/useQuote.d.ts +0 -378
  364. package/dist/widget/hooks/useQuote.d.ts.map +0 -1
  365. package/dist/widget/hooks/useRecentTokens.d.ts.map +0 -1
  366. package/dist/widget/hooks/useRecipients.d.ts.map +0 -1
  367. package/dist/widget/hooks/useScreenTracking.d.ts +0 -2
  368. package/dist/widget/hooks/useScreenTracking.d.ts.map +0 -1
  369. package/dist/widget/hooks/useSelectedFeeOption.d.ts.map +0 -1
  370. package/dist/widget/hooks/useSelectedFundMethod.d.ts.map +0 -1
  371. package/dist/widget/hooks/useSelectedRecipient.d.ts.map +0 -1
  372. package/dist/widget/hooks/useSendForm.d.ts.map +0 -1
  373. package/dist/widget/hooks/useSwapAmount.d.ts.map +0 -1
  374. package/dist/widget/hooks/useSwapState.d.ts.map +0 -1
  375. package/dist/widget/hooks/useTargetAmount.d.ts.map +0 -1
  376. package/dist/widget/hooks/useTheme.d.ts.map +0 -1
  377. package/dist/widget/hooks/useTokenList.d.ts.map +0 -1
  378. package/dist/widget/hooks/useTrailsSendTransaction.d.ts.map +0 -1
  379. package/dist/widget/hooks/useViewManager.d.ts.map +0 -1
  380. package/dist/widget/hooks/useWalletConnectUri.d.ts +0 -11
  381. package/dist/widget/hooks/useWalletConnectUri.d.ts.map +0 -1
  382. package/dist/widget/hooks/useWalletConnectionContext.d.ts.map +0 -1
  383. package/dist/widget/hooks/useWidgetProps.d.ts.map +0 -1
  384. package/dist/widget/types.d.ts +0 -44
  385. package/dist/widget/types.d.ts.map +0 -1
  386. package/dist/widget/utils/historyUtils.d.ts +0 -18
  387. package/dist/widget/utils/historyUtils.d.ts.map +0 -1
  388. package/src/abi.ts +0 -38
  389. package/src/abis/erc20.ts +0 -60
  390. package/src/abis/trailsHydrate.ts +0 -185
  391. package/src/abis/trailsRouter.ts +0 -121
  392. package/src/abis/trailsSweep.ts +0 -32
  393. package/src/abortController.ts +0 -35
  394. package/src/analytics.ts +0 -2029
  395. package/src/buffer.ts +0 -10
  396. package/src/chainSwitch.ts +0 -95
  397. package/src/chains.ts +0 -570
  398. package/src/config.ts +0 -118
  399. package/src/constants.ts +0 -239
  400. package/src/contractUtils.ts +0 -46
  401. package/src/cssUtils.ts +0 -5
  402. package/src/customChains.ts +0 -24
  403. package/src/customTokens.ts +0 -168
  404. package/src/decoders.ts +0 -365
  405. package/src/ens.ts +0 -74
  406. package/src/error.ts +0 -268
  407. package/src/estimate.ts +0 -480
  408. package/src/explorer.ts +0 -38
  409. package/src/fees.ts +0 -362
  410. package/src/gasless.ts +0 -638
  411. package/src/index.ts +0 -205
  412. package/src/indexerClient.ts +0 -118
  413. package/src/intentReceiptMonitor.ts +0 -99
  414. package/src/intentReceiptPoller.ts +0 -327
  415. package/src/intents.ts +0 -1133
  416. package/src/keyMachineClient.ts +0 -29
  417. package/src/keymachine/index.ts +0 -175
  418. package/src/keymachine/key-machine.gen.ts +0 -993
  419. package/src/localeUtils.ts +0 -244
  420. package/src/logger/index.ts +0 -95
  421. package/src/logger/useSyncLoggerDebug.ts +0 -11
  422. package/src/logger.ts +0 -1
  423. package/src/meld/components/MeldCountriesList.tsx +0 -237
  424. package/src/meld/components/MeldFundMethods.tsx +0 -265
  425. package/src/meld/components/MeldProvidersList.tsx +0 -187
  426. package/src/meld/components/MeldTokensList.tsx +0 -321
  427. package/src/meld/components/SimpleHeader.tsx +0 -35
  428. package/src/meld/utils/meld.ts +0 -77
  429. package/src/mutations.ts +0 -166
  430. package/src/onramp/MeshConnectFlow.tsx +0 -86
  431. package/src/onramp/MeshConnectIframe.tsx +0 -661
  432. package/src/onramp/SendFromExchangeButton.tsx +0 -81
  433. package/src/onramp/TrailsOnRampProvider.tsx +0 -59
  434. package/src/onramp/index.ts +0 -31
  435. package/src/onramp/meshconnect.ts +0 -277
  436. package/src/onramp/trailsOnramp.tsx +0 -130
  437. package/src/onramp-client/index.ts +0 -52
  438. package/src/onrampClient.ts +0 -46
  439. package/src/paymasterSend.ts +0 -521
  440. package/src/placeholder.ts +0 -92
  441. package/src/poolUtils.ts +0 -222
  442. package/src/pools.ts +0 -120
  443. package/src/prepareSend.ts +0 -553
  444. package/src/query/balance.fetchers.ts +0 -753
  445. package/src/query/balance.hooks.ts +0 -357
  446. package/src/query/balance.queries.ts +0 -307
  447. package/src/query/chains.hooks.ts +0 -45
  448. package/src/query/chains.queries.ts +0 -17
  449. package/src/query/client.ts +0 -20
  450. package/src/query/fiat.fetchers.ts +0 -33
  451. package/src/query/fiat.hooks.ts +0 -71
  452. package/src/query/fiat.queries.ts +0 -67
  453. package/src/query/geo.fetchers.ts +0 -100
  454. package/src/query/geo.hooks.ts +0 -16
  455. package/src/query/geo.queries.ts +0 -36
  456. package/src/query/helpers.ts +0 -81
  457. package/src/query/meld.fetchers.ts +0 -97
  458. package/src/query/meld.hooks.ts +0 -18
  459. package/src/query/meld.queries.ts +0 -184
  460. package/src/query/persister.ts +0 -11
  461. package/src/query/price.fetchers.ts +0 -53
  462. package/src/query/price.hooks.ts +0 -46
  463. package/src/query/price.queries.ts +0 -364
  464. package/src/query/tokenList.queries.ts +0 -118
  465. package/src/queryParams.ts +0 -100
  466. package/src/recover.ts +0 -1728
  467. package/src/sendUserOp.ts +0 -512
  468. package/src/theme.ts +0 -2
  469. package/src/toSimpleSmartAccount.ts +0 -567
  470. package/src/toast.ts +0 -110
  471. package/src/tokens.ts +0 -1862
  472. package/src/trailsClient.ts +0 -40
  473. package/src/transactionIntent/constants.ts +0 -15
  474. package/src/transactionIntent/deposits/depositOrchestrator.ts +0 -243
  475. package/src/transactionIntent/deposits/gaslessDeposit.ts +0 -705
  476. package/src/transactionIntent/deposits/index.ts +0 -3
  477. package/src/transactionIntent/deposits/standardDeposit.ts +0 -590
  478. package/src/transactionIntent/execution/index.ts +0 -1
  479. package/src/transactionIntent/execution/transactionState.ts +0 -38
  480. package/src/transactionIntent/handlers/index.ts +0 -1
  481. package/src/transactionIntent/handlers/intentHandler.ts +0 -1613
  482. package/src/transactionIntent/helpers/index.ts +0 -1
  483. package/src/transactionIntent/helpers/transactionStateHelpers.ts +0 -440
  484. package/src/transactionIntent/index.ts +0 -10
  485. package/src/transactionIntent/quote/feeExtractors.ts +0 -61
  486. package/src/transactionIntent/quote/index.ts +0 -3
  487. package/src/transactionIntent/quote/normalizeQuote.ts +0 -559
  488. package/src/transactionIntent/quote/quoteHelpers.ts +0 -117
  489. package/src/transactionIntent/types.ts +0 -241
  490. package/src/transactionIntent/utils/balanceChecker.ts +0 -103
  491. package/src/transactionIntent/utils/erc20Approval.ts +0 -171
  492. package/src/transactionIntent/utils/index.ts +0 -2
  493. package/src/transactionIntent/utils/resilientDepositTracker.ts +0 -171
  494. package/src/transactionIntent/utils/testnetHelpers.ts +0 -5
  495. package/src/transactionIntent/validators.ts +0 -27
  496. package/src/transactions.ts +0 -429
  497. package/src/types.d.ts +0 -16
  498. package/src/umd.tsx +0 -33
  499. package/src/utils/address.ts +0 -78
  500. package/src/utils/allowance.ts +0 -47
  501. package/src/utils/fiat.ts +0 -32
  502. package/src/utils/format.ts +0 -625
  503. package/src/utils/passthrough.ts +0 -93
  504. package/src/utils/time.ts +0 -118
  505. package/src/utils/validation.ts +0 -104
  506. package/src/utils.ts +0 -112
  507. package/src/version.ts +0 -8
  508. package/src/vite-env.d.ts +0 -4
  509. package/src/walletUtils.ts +0 -293
  510. package/src/wallets.ts +0 -544
  511. package/src/widget/analytics/useWidgetAnalytics.ts +0 -56
  512. package/src/widget/assets/Exchange-icon-black.svg +0 -5
  513. package/src/widget/assets/MetaMask-icon-fox-with-margins.svg +0 -31
  514. package/src/widget/assets/MetaMask-icon-fox.svg +0 -26
  515. package/src/widget/assets/MetaMask-logo-black.svg +0 -3
  516. package/src/widget/assets/MetaMask-logo-white.svg +0 -16
  517. package/src/widget/assets/Trails-logo-black.svg +0 -13
  518. package/src/widget/assets/Trails-logo-white.svg +0 -13
  519. package/src/widget/assets/WalletChange-black.svg +0 -5
  520. package/src/widget/assets/WalletConnect-logo-black.svg +0 -14
  521. package/src/widget/assets/WalletConnect-logo-blue.svg +0 -14
  522. package/src/widget/assets/WalletConnect-logo-white.svg +0 -14
  523. package/src/widget/assets/WalletConnect-logo.svg +0 -40
  524. package/src/widget/assets/aave.svg +0 -14
  525. package/src/widget/assets/morpho.svg +0 -14
  526. package/src/widget/compiled.css +0 -26
  527. package/src/widget/components/AccountActionsDropdown.tsx +0 -31
  528. package/src/widget/components/AccountIntentTransactionHistory.tsx +0 -756
  529. package/src/widget/components/AccountIntentTransactionHistoryButton.tsx +0 -34
  530. package/src/widget/components/AccountSettings.tsx +0 -168
  531. package/src/widget/components/AddressOrEnsName.tsx +0 -24
  532. package/src/widget/components/AddressWalletIcon.tsx +0 -49
  533. package/src/widget/components/AllChainsIcon.tsx +0 -54
  534. package/src/widget/components/ChainFilterDropdown.tsx +0 -220
  535. package/src/widget/components/ChainImage.tsx +0 -40
  536. package/src/widget/components/ChainList.tsx +0 -158
  537. package/src/widget/components/ClassicSwap.tsx +0 -1761
  538. package/src/widget/components/ConfigDisplay.tsx +0 -158
  539. package/src/widget/components/ConnectWallet.tsx +0 -566
  540. package/src/widget/components/ConnectedWallets.tsx +0 -414
  541. package/src/widget/components/CopyButton.tsx +0 -108
  542. package/src/widget/components/CountryFilterDropdown.tsx +0 -179
  543. package/src/widget/components/DebugMenu.tsx +0 -50
  544. package/src/widget/components/DebugScreensList.tsx +0 -70
  545. package/src/widget/components/DebugToast.tsx +0 -63
  546. package/src/widget/components/DepositTracker.tsx +0 -326
  547. package/src/widget/components/DirectTransfer.tsx +0 -305
  548. package/src/widget/components/Disconnect.tsx +0 -68
  549. package/src/widget/components/DynamicInputStyles.tsx +0 -121
  550. package/src/widget/components/DynamicSizeInputField.tsx +0 -245
  551. package/src/widget/components/ENSAvatar.tsx +0 -33
  552. package/src/widget/components/Earn.tsx +0 -160
  553. package/src/widget/components/EarnPools.tsx +0 -417
  554. package/src/widget/components/EarnPoolsFilters.tsx +0 -165
  555. package/src/widget/components/ErrorAnimationIcon.tsx +0 -130
  556. package/src/widget/components/ErrorDisplay.tsx +0 -152
  557. package/src/widget/components/ExecutingIntentsBadge.tsx +0 -24
  558. package/src/widget/components/ExecutionStatusBadge.tsx +0 -53
  559. package/src/widget/components/FeeBreakdown.tsx +0 -155
  560. package/src/widget/components/FeeOption.tsx +0 -170
  561. package/src/widget/components/FeeOptions.tsx +0 -247
  562. package/src/widget/components/FiatSelector.tsx +0 -308
  563. package/src/widget/components/FiatSelectorButton.tsx +0 -68
  564. package/src/widget/components/Footer.tsx +0 -67
  565. package/src/widget/components/Fund.tsx +0 -2463
  566. package/src/widget/components/FundMethods.tsx +0 -423
  567. package/src/widget/components/FundWalletSelection.tsx +0 -60
  568. package/src/widget/components/FundingMethodSelectorButton.tsx +0 -106
  569. package/src/widget/components/GreenCheckAnimation.tsx +0 -119
  570. package/src/widget/components/HideBalances.tsx +0 -24
  571. package/src/widget/components/HighPriceImpactBlock.tsx +0 -44
  572. package/src/widget/components/HookModalContent.tsx +0 -377
  573. package/src/widget/components/Identicon.tsx +0 -228
  574. package/src/widget/components/LoadingSpinner.tsx +0 -9
  575. package/src/widget/components/MeldForm.tsx +0 -780
  576. package/src/widget/components/MeldHistory.tsx +0 -433
  577. package/src/widget/components/MeldStepsFlow.tsx +0 -1651
  578. package/src/widget/components/MeldTransactionStatus.tsx +0 -255
  579. package/src/widget/components/MeshExchangeSelection.tsx +0 -218
  580. package/src/widget/components/Modal.tsx +0 -86
  581. package/src/widget/components/OFTProgressBar.tsx +0 -89
  582. package/src/widget/components/OnRampProviderSelector.tsx +0 -263
  583. package/src/widget/components/OnrampDeposit.tsx +0 -122
  584. package/src/widget/components/OnrampErrorScreen.tsx +0 -163
  585. package/src/widget/components/OnrampHistoryRow.tsx +0 -321
  586. package/src/widget/components/OnrampPaymentMethods.tsx +0 -81
  587. package/src/widget/components/OnrampProviderConfirmation.tsx +0 -1060
  588. package/src/widget/components/OriginSelectionAmount.tsx +0 -144
  589. package/src/widget/components/OriginTransferInformation.tsx +0 -59
  590. package/src/widget/components/Pay.tsx +0 -1165
  591. package/src/widget/components/PaymentMethods.tsx +0 -198
  592. package/src/widget/components/PercentageMaxButtons.tsx +0 -112
  593. package/src/widget/components/PoolDeposit.tsx +0 -642
  594. package/src/widget/components/PoolWithdraw.tsx +0 -761
  595. package/src/widget/components/PriceImpactWarning.tsx +0 -87
  596. package/src/widget/components/QRCodeOptions.tsx +0 -65
  597. package/src/widget/components/QRCodeWalletSelect.tsx +0 -80
  598. package/src/widget/components/QrCode.tsx +0 -216
  599. package/src/widget/components/QuoteDetails.tsx +0 -1275
  600. package/src/widget/components/Receipt.tsx +0 -673
  601. package/src/widget/components/ReceiptRecoverableFunds.tsx +0 -135
  602. package/src/widget/components/RecentTokens.tsx +0 -66
  603. package/src/widget/components/RecipientSelectorButton.tsx +0 -50
  604. package/src/widget/components/Recipients.tsx +0 -413
  605. package/src/widget/components/RefundWarning.tsx +0 -61
  606. package/src/widget/components/RequiredPropsError.tsx +0 -33
  607. package/src/widget/components/ScreenHeader.tsx +0 -123
  608. package/src/widget/components/SearchInputField.tsx +0 -99
  609. package/src/widget/components/SessionTimeoutScreen.tsx +0 -103
  610. package/src/widget/components/ShadowPortal.tsx +0 -99
  611. package/src/widget/components/ShadowRootContext.tsx +0 -17
  612. package/src/widget/components/SimpleRecipientInputScreen.tsx +0 -91
  613. package/src/widget/components/SlippageToleranceSettings.tsx +0 -279
  614. package/src/widget/components/Swap.tsx +0 -50
  615. package/src/widget/components/SwapDisplay.tsx +0 -68
  616. package/src/widget/components/SwapSettings.tsx +0 -52
  617. package/src/widget/components/ThemeProvider.tsx +0 -115
  618. package/src/widget/components/ThemeSyncer.tsx +0 -47
  619. package/src/widget/components/Toast.tsx +0 -336
  620. package/src/widget/components/TokenDisplayNonSelectable.tsx +0 -40
  621. package/src/widget/components/TokenImage.tsx +0 -156
  622. package/src/widget/components/TokenList.tsx +0 -107
  623. package/src/widget/components/TokenSelector.tsx +0 -807
  624. package/src/widget/components/TokenSelectorButton.tsx +0 -123
  625. package/src/widget/components/TokenSkeleton.tsx +0 -53
  626. package/src/widget/components/Tooltip.tsx +0 -64
  627. package/src/widget/components/TrailsHookModal.tsx +0 -107
  628. package/src/widget/components/TransactionDetails.tsx +0 -534
  629. package/src/widget/components/TransactionHistoryItem.tsx +0 -767
  630. package/src/widget/components/TransferPendingVertical.tsx +0 -591
  631. package/src/widget/components/TruncatedAddress.tsx +0 -68
  632. package/src/widget/components/TruncatedTransactionHash.tsx +0 -74
  633. package/src/widget/components/UserPreferences.tsx +0 -570
  634. package/src/widget/components/WaasFeeOptions.tsx +0 -588
  635. package/src/widget/components/WalletConfirmation.tsx +0 -220
  636. package/src/widget/components/WalletConnect.tsx +0 -348
  637. package/src/widget/components/WalletConnectionPending.tsx +0 -178
  638. package/src/widget/components/WalletImage.tsx +0 -52
  639. package/src/widget/components/WalletList.tsx +0 -125
  640. package/src/widget/components/WidgetProviders.tsx +0 -82
  641. package/src/widget/components/Withdraw.tsx +0 -1106
  642. package/src/widget/components/YellowWarningAnimation.tsx +0 -146
  643. package/src/widget/hooks/useAddressWalletIcon.ts +0 -55
  644. package/src/widget/hooks/useAmountUsd.ts +0 -44
  645. package/src/widget/hooks/useBalanceVisible.tsx +0 -95
  646. package/src/widget/hooks/useChainFilter.tsx +0 -56
  647. package/src/widget/hooks/useCheckout.ts +0 -361
  648. package/src/widget/hooks/useClickTracking.ts +0 -74
  649. package/src/widget/hooks/useCombinedHistory.ts +0 -420
  650. package/src/widget/hooks/useConnector.tsx +0 -24
  651. package/src/widget/hooks/useCustomTokenSearch.tsx +0 -369
  652. package/src/widget/hooks/useDebounce.ts +0 -25
  653. package/src/widget/hooks/useDebugScreens.ts +0 -600
  654. package/src/widget/hooks/useDefaultDestinationToken.tsx +0 -179
  655. package/src/widget/hooks/useDefaultOriginToken.tsx +0 -407
  656. package/src/widget/hooks/useDepositMonitor.ts +0 -118
  657. package/src/widget/hooks/useDestinationSelectedToken.tsx +0 -310
  658. package/src/widget/hooks/useDisplayCurrencyPreference.tsx +0 -145
  659. package/src/widget/hooks/useEarnPool.tsx +0 -36
  660. package/src/widget/hooks/useExecutingIntentsCount.ts +0 -78
  661. package/src/widget/hooks/useExternalFundingReceiptSync.ts +0 -79
  662. package/src/widget/hooks/useFiatOnRampCurrencies.ts +0 -46
  663. package/src/widget/hooks/useFiatSelectedCurrency.tsx +0 -123
  664. package/src/widget/hooks/useGetIntent.ts +0 -54
  665. package/src/widget/hooks/useIntentReceiptBalances.ts +0 -141
  666. package/src/widget/hooks/useIntentTransactionHistory.ts +0 -790
  667. package/src/widget/hooks/useIsConnectedWalletSmartContract.ts +0 -43
  668. package/src/widget/hooks/useIsMobile.tsx +0 -50
  669. package/src/widget/hooks/useIsSequenceWallet.ts +0 -17
  670. package/src/widget/hooks/useLocalePreference.tsx +0 -187
  671. package/src/widget/hooks/useMeldTransactionHistory.ts +0 -184
  672. package/src/widget/hooks/useMeldTransactionStatus.ts +0 -707
  673. package/src/widget/hooks/useOnRampCountryDefaults.ts +0 -57
  674. package/src/widget/hooks/useOnRampPaymentMethods.ts +0 -72
  675. package/src/widget/hooks/useOnRampProviderWidget.ts +0 -184
  676. package/src/widget/hooks/useOnRampQuote.ts +0 -340
  677. package/src/widget/hooks/useOnRampTransactionStatus.ts +0 -196
  678. package/src/widget/hooks/useOriginSelectedToken.tsx +0 -253
  679. package/src/widget/hooks/usePayMessage.tsx +0 -496
  680. package/src/widget/hooks/usePriceImpactWarning.ts +0 -17
  681. package/src/widget/hooks/useQuote.ts +0 -1239
  682. package/src/widget/hooks/useRecentTokens.ts +0 -159
  683. package/src/widget/hooks/useRecipients.ts +0 -167
  684. package/src/widget/hooks/useScreenTracking.ts +0 -14
  685. package/src/widget/hooks/useSelectedFeeOption.tsx +0 -323
  686. package/src/widget/hooks/useSelectedFundMethod.tsx +0 -93
  687. package/src/widget/hooks/useSelectedRecipient.tsx +0 -75
  688. package/src/widget/hooks/useSendForm.ts +0 -1389
  689. package/src/widget/hooks/useSwapAmount.tsx +0 -50
  690. package/src/widget/hooks/useSwapState.tsx +0 -121
  691. package/src/widget/hooks/useTargetAmount.ts +0 -26
  692. package/src/widget/hooks/useTheme.tsx +0 -80
  693. package/src/widget/hooks/useTokenList.ts +0 -1168
  694. package/src/widget/hooks/useTrailsSendTransaction.ts +0 -987
  695. package/src/widget/hooks/useViewManager.tsx +0 -506
  696. package/src/widget/hooks/useWalletConnectUri.tsx +0 -307
  697. package/src/widget/hooks/useWalletConnectionContext.tsx +0 -128
  698. package/src/widget/hooks/useWidgetProps.tsx +0 -33
  699. package/src/widget/index.css +0 -686
  700. package/src/widget/index.tsx +0 -28
  701. package/src/widget/providers/TrailsModalProvider.tsx +0 -238
  702. package/src/widget/providers/TrailsProvider.tsx +0 -155
  703. package/src/widget/providers/UserActivityProvider.tsx +0 -78
  704. package/src/widget/providers/WidgetProviderTree.tsx +0 -90
  705. package/src/widget/styles.ts +0 -26
  706. package/src/widget/types/analytics.ts +0 -22
  707. package/src/widget/types/commonProps.ts +0 -56
  708. package/src/widget/types/svg.d.ts +0 -8
  709. package/src/widget/types.ts +0 -51
  710. package/src/widget/utils/countryUtils.ts +0 -89
  711. package/src/widget/utils/createWagmiConfig.ts +0 -43
  712. package/src/widget/utils/forexRateStore.ts +0 -120
  713. package/src/widget/utils/fundMethodSwitchState.ts +0 -27
  714. package/src/widget/utils/historyFilters.ts +0 -157
  715. package/src/widget/utils/historyUtils.ts +0 -101
  716. package/src/widget/utils/localeStore.ts +0 -68
  717. package/src/widget/utils/meldProviderUtils.ts +0 -26
  718. package/src/widget/utils/meshSupportedTokens.ts +0 -28
  719. package/src/widget/utils/onrampConfig.ts +0 -15
  720. package/src/widget/utils/statusLabel.ts +0 -3
  721. package/src/widget/utils/tokens.ts +0 -138
  722. package/src/widget/utils/trailsOnrampConfig.ts +0 -39
  723. package/src/widget/utils/transactionFailure.ts +0 -52
  724. package/src/widget/utils/viewManagerGuards.ts +0 -49
  725. package/src/widget/utils/windowUtils.ts +0 -138
  726. package/src/widget/widget.tsx +0 -3400
  727. /package/dist/{widget/hooks → hooks}/useAddressWalletIcon.d.ts +0 -0
  728. /package/dist/{widget/hooks → hooks}/useAmountUsd.d.ts +0 -0
  729. /package/dist/{widget/hooks → hooks}/useBalanceVisible.d.ts +0 -0
  730. /package/dist/{widget/hooks → hooks}/useChainFilter.d.ts +0 -0
  731. /package/dist/{widget/hooks → hooks}/useClickTracking.d.ts +0 -0
  732. /package/dist/{widget/hooks → hooks}/useConnector.d.ts +0 -0
  733. /package/dist/{widget/hooks → hooks}/useDebounce.d.ts +0 -0
  734. /package/dist/{widget/hooks → hooks}/useDepositMonitor.d.ts +0 -0
  735. /package/dist/{widget/hooks → hooks}/useDisplayCurrencyPreference.d.ts +0 -0
  736. /package/dist/{widget/hooks → hooks}/useExecutingIntentsCount.d.ts +0 -0
  737. /package/dist/{widget/hooks → hooks}/useFiatSelectedCurrency.d.ts +0 -0
  738. /package/dist/{widget/hooks → hooks}/useGetIntent.d.ts +0 -0
  739. /package/dist/{widget/hooks → hooks}/useIsMobile.d.ts +0 -0
  740. /package/dist/{widget/hooks → hooks}/useIsSequenceWallet.d.ts +0 -0
  741. /package/dist/{widget/hooks → hooks}/useLocalePreference.d.ts +0 -0
  742. /package/dist/{widget/hooks → hooks}/useMeldTransactionHistory.d.ts +0 -0
  743. /package/dist/{widget/hooks → hooks}/useMeldTransactionStatus.d.ts +0 -0
  744. /package/dist/{widget/hooks → hooks}/useOnRampCountryDefaults.d.ts +0 -0
  745. /package/dist/{widget/hooks → hooks}/usePayMessage.d.ts +0 -0
  746. /package/dist/{widget/hooks → hooks}/usePriceImpactWarning.d.ts +0 -0
  747. /package/dist/{widget/hooks → hooks}/useRecipients.d.ts +0 -0
  748. /package/dist/{widget/hooks → hooks}/useSelectedFeeOption.d.ts +0 -0
  749. /package/dist/{widget/hooks → hooks}/useSelectedRecipient.d.ts +0 -0
  750. /package/dist/{widget/hooks → hooks}/useSwapAmount.d.ts +0 -0
  751. /package/dist/{widget/hooks → hooks}/useTargetAmount.d.ts +0 -0
  752. /package/dist/{widget/hooks → hooks}/useTheme.d.ts +0 -0
  753. /package/dist/{widget/hooks → hooks}/useWalletConnectionContext.d.ts +0 -0
@@ -1,1106 +0,0 @@
1
- import { ArrowLeftRight } from "lucide-react"
2
- import type React from "react"
3
- import { useCallback, useEffect, useRef, useState } from "react"
4
- import { getChainInfo } from "../../chains.js"
5
- import { FIAT_CURRENCY_SYMBOLS } from "../../constants.js"
6
- import { isPositiveNumber, toSafeNumber } from "../../utils/validation.js"
7
- import { logger } from "../../logger.js"
8
- import { TradeType } from "../../prepareSend.js"
9
- import {
10
- formatUsdAmountDisplay,
11
- formatUsdAmountLocaleDisplay,
12
- } from "../../utils/format.js"
13
- import { useSupportedTokens, type Token } from "../../tokens.js"
14
- import { useViewManager, useScreenGuard } from "../hooks/useViewManager.js"
15
- import { useBalanceVisible } from "../hooks/useBalanceVisible.js"
16
- import { useDefaultDestinationToken } from "../hooks/useDefaultDestinationToken.js"
17
- import { useDefaultOriginToken } from "../hooks/useDefaultOriginToken.js"
18
- import { useDestinationSelectedToken } from "../hooks/useDestinationSelectedToken.js"
19
- import { useOriginSelectedToken } from "../hooks/useOriginSelectedToken.js"
20
- import type { ProcessedFeeOption } from "../hooks/useSelectedFeeOption.js"
21
- import { useSelectedRecipient } from "../hooks/useSelectedRecipient.js"
22
- import { useSendForm, type OnCompleteProps } from "../hooks/useSendForm.js"
23
- import { useSwapState } from "../hooks/useSwapState.js"
24
- import { useAccountTokenBalanceOnchain } from "../../query/balance.hooks.js"
25
- import type { BaseProps } from "../types/commonProps.js"
26
- import { isWithinCooldown, SECOND_MS } from "../../utils/time.js"
27
- import { forexRateStore } from "../utils/forexRateStore.js"
28
- import { ChainList } from "./ChainList.js"
29
- import { DynamicSizeInputField } from "./DynamicSizeInputField.js"
30
- import { isFeeOptionDisabled } from "./FeeOption.js"
31
- import { FeeOptions } from "./FeeOptions.js"
32
- import { PercentageMaxButtons } from "./PercentageMaxButtons.js"
33
- import { QuoteDetails } from "./QuoteDetails.js"
34
- import { RecipientSelectorButton } from "./RecipientSelectorButton.js"
35
- import { ScreenHeader } from "./ScreenHeader.js"
36
- import { FundingMethodSelectorButton } from "./FundingMethodSelectorButton.js"
37
- import { TokenSelector } from "./TokenSelector.js"
38
- import { TokenSelectorButton } from "./TokenSelectorButton.js"
39
- import LoadingSpinner from "./LoadingSpinner.js"
40
-
41
- import { addressEqual } from "../../utils/address.js"
42
- interface WithdrawProps extends BaseProps {
43
- title?: string
44
- fromToken?: string
45
- fromChainId?: number
46
- /** Default input mode: "fiat" starts with USD input, "token" starts with token input */
47
- defaultInputMode?: "fiat" | "token"
48
- }
49
-
50
- const Withdraw: React.FC<WithdrawProps> = ({
51
- selectedToken: initialSelectedToken,
52
- onSend,
53
- onConfirm,
54
- onComplete,
55
- account,
56
- toRecipient,
57
- toAmount,
58
- toChainId,
59
- toToken,
60
- toCalldata,
61
- walletClient,
62
- onTransactionStateChange,
63
- onError,
64
- onWaitingForWalletConfirm,
65
- paymasterUrls,
66
- setWalletConfirmRetryHandler,
67
- swapProvider,
68
- bridgeProvider,
69
- swapProviderFallback,
70
- bridgeProviderFallback,
71
- onAmountUpdate,
72
- checkoutOnHandlers,
73
- recentTokens,
74
- onTrackToken,
75
- isSequenceWallet: _isSequenceWallet = false,
76
- fromToken,
77
- fromChainId: fromChainIdProp,
78
- defaultInputMode,
79
- }) => {
80
- const { mode, navigate } = useViewManager()
81
- const isGenericLayout = !fromToken
82
- const { isBalanceVisible } = useBalanceVisible()
83
- const {
84
- selectedToken: originToken,
85
- setSelectedToken: setOriginToken,
86
- hasManualSelection: hasManualOriginSelection,
87
- setHasManualSelection: setHasManualOriginSelection,
88
- } = useOriginSelectedToken()
89
- const {
90
- selectedToken: destinationToken,
91
- setSelectedToken: setDestinationToken,
92
- hasManualSelection: hasManualDestinationSelection,
93
- setHasManualSelection: setHasManualDestinationSelection,
94
- } = useDestinationSelectedToken()
95
-
96
- // Get origin token with fresh balance for fee option checks
97
- const {
98
- token: freshOriginToken,
99
- isLoadingBalance: isLoadingFreshOriginBalance,
100
- } = useAccountTokenBalanceOnchain(originToken, account?.address)
101
-
102
- const { selectedRecipient, setSelectedRecipient } = useSelectedRecipient()
103
- const prevToRecipientRef = useRef<string | undefined>(toRecipient)
104
-
105
- // Use a ref to track user actions to prevent race conditions with async state updates
106
- const userActionRef = useRef({
107
- hasManualDestinationSelection: false,
108
- lastOriginSelectionTime: 0,
109
- lastDestinationSelectionTime: 0,
110
- })
111
-
112
- // Use separated default token selection hooks
113
- const { defaultOriginToken, isLoading: isLoadingOriginDefaults } =
114
- useDefaultOriginToken()
115
-
116
- const { defaultDestinationToken, isLoading: isLoadingDestinationDefaults } =
117
- useDefaultDestinationToken(originToken)
118
-
119
- const [originChainId, setOriginChainId] = useState<number | null | undefined>(
120
- initialSelectedToken?.chainId || originToken?.chainId,
121
- )
122
- const {
123
- tradeType: globalTradeType,
124
- setTradeType,
125
- sellAmount,
126
- setSellAmount,
127
- buyAmount,
128
- setBuyAmount,
129
- resetSwapState,
130
- enterFormMode,
131
- } = useSwapState()
132
-
133
- // Reset swap state only when entering withdraw mode
134
- // biome-ignore lint/correctness/useExhaustiveDependencies: Stable setters, only react to mode changes
135
- useEffect(() => {
136
- enterFormMode("withdraw")
137
- }, [])
138
-
139
- useScreenGuard(
140
- (toRecipient == null || toRecipient === "") && !selectedRecipient,
141
- "recipients",
142
- { backTarget: "withdraw" },
143
- )
144
-
145
- // Initialize and update selected recipient from toRecipient prop
146
- useEffect(() => {
147
- const toRecipientChanged = toRecipient !== prevToRecipientRef.current
148
- prevToRecipientRef.current = toRecipient
149
-
150
- if (toRecipientChanged) {
151
- if (toRecipient) {
152
- logger.console.log(
153
- "[trails-sdk] Withdraw Setting selectedRecipient to toRecipient:",
154
- toRecipient,
155
- )
156
- setSelectedRecipient(toRecipient)
157
- } else {
158
- logger.console.log(
159
- "[trails-sdk] Withdraw Clearing selectedRecipient (toRecipient is now empty)",
160
- )
161
- setSelectedRecipient(null)
162
- }
163
- } else if (toRecipient && !selectedRecipient) {
164
- logger.console.log(
165
- "[trails-sdk] Withdraw Setting selectedRecipient to toRecipient:",
166
- toRecipient,
167
- )
168
- setSelectedRecipient(toRecipient)
169
- }
170
- }, [toRecipient, selectedRecipient, setSelectedRecipient])
171
-
172
- // Calculate effective recipient for useSendForm
173
- const effectiveRecipient =
174
- selectedRecipient || toRecipient || account?.address
175
-
176
- const tradeType = globalTradeType || TradeType.EXACT_INPUT
177
- // Initialize based on defaultInputMode prop
178
- const [isEnteringFiat, setIsEnteringFiat] = useState(
179
- defaultInputMode === "fiat",
180
- )
181
- const [inputDisplayValue, setInputDisplayValue] = useState("")
182
- const [_isUserTyping, setIsUserTyping] = useState(false)
183
- const typingTimeoutRef = useRef<NodeJS.Timeout | null>(null)
184
-
185
- useEffect(() => {
186
- return () => {
187
- if (typingTimeoutRef.current) {
188
- clearTimeout(typingTimeoutRef.current)
189
- }
190
- }
191
- }, [])
192
-
193
- const handleCompleteAndClearAmounts = useCallback(
194
- (result: OnCompleteProps) => {
195
- setInputDisplayValue("")
196
- resetSwapState()
197
- onComplete(result)
198
- },
199
- [onComplete, resetSwapState],
200
- )
201
-
202
- const {
203
- amount,
204
- amountRaw,
205
- balanceFormatted,
206
- balanceRaw,
207
- tokenDecimals,
208
- balanceLocaleDisplay,
209
- balanceUsdDisplay,
210
- balanceUsdLocaleDisplay,
211
- handleSubmit,
212
- isSubmitting,
213
- isLoadingQuote,
214
- selectedDestToken,
215
- setSelectedDestinationChain,
216
- setSelectedDestToken,
217
- buttonText,
218
- destinationTokenAddress,
219
- isValidCustomToken,
220
- prepareSendQuote,
221
- processedFeeOptions,
222
- selectedFeeOption,
223
- setSelectedFeeOption,
224
- sourceTokenPrices,
225
- } = useSendForm({
226
- account,
227
- toAmount: tradeType === TradeType.EXACT_OUTPUT ? buyAmount : toAmount,
228
- fromAmount: tradeType === TradeType.EXACT_INPUT ? sellAmount : undefined,
229
- toRecipient: effectiveRecipient,
230
- toChainId,
231
- toToken,
232
- toCalldata,
233
- walletClient,
234
- onTransactionStateChange,
235
- onError,
236
- onWaitingForWalletConfirm,
237
- paymasterUrls,
238
- onSend,
239
- onConfirm,
240
- onComplete: handleCompleteAndClearAmounts,
241
- selectedToken: originToken ?? undefined,
242
- setWalletConfirmRetryHandler,
243
- tradeType: tradeType,
244
- swapProvider,
245
- bridgeProvider,
246
- swapProviderFallback,
247
- bridgeProviderFallback,
248
- fundMethod: "wallet",
249
- mode,
250
- checkoutOnHandlers,
251
- })
252
-
253
- // Get the token price for USD conversions
254
- const tokenPriceUsd = sourceTokenPrices?.[0]?.priceUsd || 0
255
-
256
- // Handle sell amount input changes
257
- const handleSellAmountChange = useCallback(
258
- (value: string) => {
259
- let processedValue = value
260
- if (
261
- value !== "0" &&
262
- value.length > 1 &&
263
- value.startsWith("0") &&
264
- value[1] !== "."
265
- ) {
266
- processedValue = value.replace(/^0+/, "") || "0"
267
- }
268
- setTradeType(TradeType.EXACT_INPUT)
269
- setSellAmount(processedValue)
270
- },
271
- [setTradeType, setSellAmount],
272
- )
273
-
274
- // Update amounts when quote is received
275
- useEffect(() => {
276
- if (!prepareSendQuote) return
277
-
278
- if (
279
- tradeType === TradeType.EXACT_OUTPUT &&
280
- prepareSendQuote.originAmountDisplay
281
- ) {
282
- setSellAmount(prepareSendQuote.originAmountDisplay)
283
- } else if (
284
- tradeType === TradeType.EXACT_INPUT &&
285
- prepareSendQuote.destinationAmountDisplay
286
- ) {
287
- setBuyAmount(prepareSendQuote.destinationAmountDisplay)
288
- }
289
- }, [prepareSendQuote, tradeType, setSellAmount, setBuyAmount])
290
-
291
- // Call onAmountUpdate when amountRaw changes
292
- useEffect(() => {
293
- if (onAmountUpdate) {
294
- onAmountUpdate(amountRaw)
295
- }
296
- }, [amountRaw, onAmountUpdate])
297
-
298
- // Reset the flag so auto-selection can work as a fallback
299
- useEffect(() => {
300
- if (hasManualOriginSelection && !originToken && !isLoadingOriginDefaults) {
301
- logger.console.log(
302
- "[trails-sdk] Resetting hasManualOriginSelection - token was cleared",
303
- )
304
- setHasManualOriginSelection(false)
305
- }
306
- }, [
307
- hasManualOriginSelection,
308
- originToken,
309
- isLoadingOriginDefaults,
310
- setHasManualOriginSelection,
311
- ])
312
-
313
- // Auto-select origin token using separated hook
314
- useEffect(() => {
315
- if (
316
- !originToken &&
317
- !isLoadingOriginDefaults &&
318
- defaultOriginToken &&
319
- !hasManualOriginSelection
320
- ) {
321
- logger.console.log(
322
- "[trails-sdk] Auto-selecting origin token:",
323
- defaultOriginToken,
324
- )
325
- setOriginToken(defaultOriginToken)
326
- setOriginChainId(defaultOriginToken.chainId)
327
- }
328
- }, [
329
- originToken,
330
- isLoadingOriginDefaults,
331
- defaultOriginToken,
332
- setOriginToken,
333
- hasManualOriginSelection,
334
- ])
335
-
336
- // Auto-select destination token using separated hook
337
- useEffect(() => {
338
- if (toToken) {
339
- return
340
- }
341
-
342
- const hasRecentOriginSelection =
343
- hasManualOriginSelection ||
344
- isWithinCooldown(userActionRef.current.lastOriginSelectionTime, SECOND_MS)
345
-
346
- const hasRecentDestSelection =
347
- userActionRef.current.hasManualDestinationSelection ||
348
- hasManualDestinationSelection ||
349
- isWithinCooldown(
350
- userActionRef.current.lastDestinationSelectionTime,
351
- SECOND_MS,
352
- )
353
-
354
- if (
355
- !destinationToken &&
356
- !isLoadingDestinationDefaults &&
357
- defaultDestinationToken &&
358
- !hasRecentDestSelection &&
359
- !hasRecentOriginSelection
360
- ) {
361
- logger.console.log(
362
- "[trails-sdk] Auto-selecting destination token:",
363
- defaultDestinationToken,
364
- )
365
- setDestinationToken(defaultDestinationToken)
366
- setSelectedDestToken(defaultDestinationToken)
367
-
368
- const chainInfo = getChainInfo(defaultDestinationToken.chainId)
369
- if (chainInfo) {
370
- setSelectedDestinationChain(chainInfo)
371
- }
372
- }
373
- }, [
374
- destinationToken,
375
- isLoadingDestinationDefaults,
376
- defaultDestinationToken,
377
- hasManualDestinationSelection,
378
- hasManualOriginSelection,
379
- setDestinationToken,
380
- setSelectedDestToken,
381
- setSelectedDestinationChain,
382
- toToken,
383
- ])
384
-
385
- // Auto-focus the input field when component mounts
386
- useEffect(() => {
387
- if (inputRef.current) {
388
- inputRef.current.focus()
389
- }
390
- }, [])
391
-
392
- const inputRef = useRef<HTMLInputElement>(null)
393
-
394
- const [showSourceTokenSelector, setShowSourceTokenSelector] = useState(false)
395
- const [showDestinationTokenSelector, setShowDestinationTokenSelector] =
396
- useState(false)
397
- const [showSourceChainList, setShowSourceChainList] = useState(false)
398
- const [showDestinationChainList, setShowDestinationChainList] =
399
- useState(false)
400
-
401
- const { supportedTokens } = useSupportedTokens({
402
- disabled:
403
- !!toToken || showSourceTokenSelector || showDestinationTokenSelector,
404
- })
405
-
406
- // Initialize destination token from toToken prop
407
- const lastAutoSelectedRef = useRef<string | null>(null)
408
-
409
- useEffect(() => {
410
- const currentKey = `${toToken}-${toChainId}`
411
-
412
- if (
413
- toToken &&
414
- toChainId &&
415
- supportedTokens?.length > 0 &&
416
- lastAutoSelectedRef.current !== currentKey
417
- ) {
418
- const destToken = supportedTokens?.find(
419
- (token) =>
420
- token.chainId === Number(toChainId) &&
421
- (addressEqual(token.contractAddress, toToken) ||
422
- token.symbol.toLowerCase() === toToken.toLowerCase()),
423
- )
424
-
425
- if (destToken) {
426
- logger.console.log(
427
- "[trails-sdk] Withdraw: Setting destination token from toToken prop:",
428
- destToken,
429
- )
430
-
431
- setDestinationToken(destToken)
432
- setSelectedDestToken(destToken)
433
-
434
- const chainInfo = getChainInfo(Number(toChainId))
435
- if (chainInfo) {
436
- setSelectedDestinationChain(chainInfo)
437
- }
438
-
439
- lastAutoSelectedRef.current = currentKey
440
- }
441
- } else if (!toToken && hasManualDestinationSelection) {
442
- setHasManualDestinationSelection(false)
443
- userActionRef.current.hasManualDestinationSelection = false
444
- lastAutoSelectedRef.current = null
445
- }
446
- }, [
447
- toToken,
448
- toChainId,
449
- supportedTokens,
450
- setDestinationToken,
451
- setSelectedDestToken,
452
- setSelectedDestinationChain,
453
- hasManualDestinationSelection,
454
- setHasManualDestinationSelection,
455
- ])
456
-
457
- // Sync destination token from hook with useSendForm
458
- useEffect(() => {
459
- if (destinationToken) {
460
- logger.console.log(
461
- "[trails-sdk] Syncing destination token to useSendForm:",
462
- destinationToken,
463
- )
464
- setSelectedDestToken(destinationToken)
465
- }
466
- }, [destinationToken, setSelectedDestToken])
467
-
468
- // Initialize origin token from fromToken prop
469
- const lastAutoSelectedOriginRef = useRef<string | null>(null)
470
-
471
- useEffect(() => {
472
- const currentKey = `${fromToken}-${fromChainIdProp}`
473
-
474
- if (
475
- fromToken &&
476
- fromChainIdProp &&
477
- supportedTokens?.length > 0 &&
478
- lastAutoSelectedOriginRef.current !== currentKey
479
- ) {
480
- const sourceToken = supportedTokens?.find(
481
- (token) =>
482
- token.chainId === Number(fromChainIdProp) &&
483
- (addressEqual(token.contractAddress, fromToken) ||
484
- token.symbol.toLowerCase() === fromToken.toLowerCase()),
485
- )
486
-
487
- if (sourceToken) {
488
- logger.console.log(
489
- "[trails-sdk] Withdraw: Setting origin token from fromToken prop:",
490
- sourceToken,
491
- )
492
-
493
- setOriginToken(sourceToken)
494
- setOriginChainId(sourceToken.chainId)
495
- setHasManualOriginSelection(true)
496
-
497
- lastAutoSelectedOriginRef.current = currentKey
498
- }
499
- }
500
- }, [
501
- fromToken,
502
- fromChainIdProp,
503
- supportedTokens,
504
- setOriginToken,
505
- setHasManualOriginSelection,
506
- ])
507
-
508
- // Handle source token selection from full-screen selector
509
- const handleSourceTokenSelectorSelect = useCallback(
510
- (token: Token) => {
511
- const isDifferentToken =
512
- !originToken || originToken.symbol !== token.symbol
513
- if (isDifferentToken) {
514
- setSellAmount("")
515
- setBuyAmount("")
516
- setTradeType(TradeType.EXACT_INPUT)
517
- setInputDisplayValue("")
518
- }
519
-
520
- setOriginToken(token)
521
- setOriginChainId(token.chainId)
522
- setShowSourceTokenSelector(false)
523
-
524
- setHasManualOriginSelection(true)
525
- userActionRef.current.lastOriginSelectionTime = Date.now()
526
-
527
- onTrackToken?.(token)
528
- logger.console.log("[trails-sdk] selected origin token", token)
529
- },
530
- [
531
- setOriginToken,
532
- setHasManualOriginSelection,
533
- onTrackToken,
534
- originToken,
535
- setSellAmount,
536
- setBuyAmount,
537
- setTradeType,
538
- ],
539
- )
540
-
541
- // Handle destination token selection from full-screen selector
542
- const handleDestinationTokenSelectorSelect = useCallback(
543
- (token: Token) => {
544
- setDestinationToken(token)
545
- setSelectedDestToken(token)
546
-
547
- const chainInfo = getChainInfo(token.chainId)
548
- if (chainInfo) {
549
- setSelectedDestinationChain(chainInfo)
550
- }
551
-
552
- setShowDestinationTokenSelector(false)
553
-
554
- setHasManualDestinationSelection(true)
555
- userActionRef.current.hasManualDestinationSelection = true
556
- userActionRef.current.lastDestinationSelectionTime = Date.now()
557
-
558
- onTrackToken?.(token)
559
- logger.console.log("[trails-sdk] selected destination token", token)
560
- },
561
- [
562
- setDestinationToken,
563
- setSelectedDestToken,
564
- setSelectedDestinationChain,
565
- setHasManualDestinationSelection,
566
- onTrackToken,
567
- ],
568
- )
569
-
570
- // Handle recent token selection
571
- const handleRecentTokenSelect = useCallback(
572
- (token: Token) => {
573
- if (showSourceTokenSelector) {
574
- handleSourceTokenSelectorSelect(token)
575
- } else if (showDestinationTokenSelector) {
576
- handleDestinationTokenSelectorSelect(token)
577
- }
578
- },
579
- [
580
- showSourceTokenSelector,
581
- showDestinationTokenSelector,
582
- handleSourceTokenSelectorSelect,
583
- handleDestinationTokenSelectorSelect,
584
- ],
585
- )
586
-
587
- // Show source chain list screen
588
- if (showSourceChainList) {
589
- return (
590
- <ChainList
591
- onBack={() => {
592
- setShowSourceChainList(false)
593
- setShowSourceTokenSelector(true)
594
- }}
595
- />
596
- )
597
- }
598
-
599
- // Show source token selector screen
600
- if (showSourceTokenSelector) {
601
- return (
602
- <div className="space-y-2">
603
- <ScreenHeader
604
- onBack={() => setShowSourceTokenSelector(false)}
605
- headerContent="Select Token to Withdraw"
606
- headerContentAlign="left"
607
- />
608
- <TokenSelector
609
- onTokenSelect={handleSourceTokenSelectorSelect}
610
- onError={onError}
611
- showContinueButton={false}
612
- compactMode={false}
613
- allSupportedTokens={false}
614
- fundMethod="wallet"
615
- chainListScreen={true}
616
- onNavigateToChainList={() => {
617
- setShowSourceTokenSelector(false)
618
- setShowSourceChainList(true)
619
- }}
620
- recentTokens={recentTokens}
621
- onRecentTokenSelect={handleRecentTokenSelect}
622
- />
623
- </div>
624
- )
625
- }
626
-
627
- // Show destination chain list screen
628
- if (showDestinationChainList) {
629
- return (
630
- <ChainList
631
- onBack={() => {
632
- setShowDestinationChainList(false)
633
- setShowDestinationTokenSelector(true)
634
- }}
635
- />
636
- )
637
- }
638
-
639
- // Show destination token selector screen
640
- if (showDestinationTokenSelector) {
641
- return (
642
- <div className="space-y-2">
643
- <ScreenHeader
644
- onBack={() => setShowDestinationTokenSelector(false)}
645
- headerContent="Select Token to Receive"
646
- headerContentAlign="left"
647
- />
648
- <TokenSelector
649
- onTokenSelect={handleDestinationTokenSelectorSelect}
650
- onError={onError}
651
- showContinueButton={false}
652
- compactMode={false}
653
- allSupportedTokens={true}
654
- fundMethod="wallet"
655
- chainListScreen={true}
656
- onNavigateToChainList={() => {
657
- setShowDestinationTokenSelector(false)
658
- setShowDestinationChainList(true)
659
- }}
660
- recentTokens={recentTokens}
661
- onRecentTokenSelect={handleRecentTokenSelect}
662
- />
663
- </div>
664
- )
665
- }
666
-
667
- return (
668
- <div className="space-y-2">
669
- <ScreenHeader
670
- headerContent="Withdraw"
671
- headerContentAlign="left"
672
- showAccountActions={true}
673
- customActions={
674
- <button
675
- type="button"
676
- onClick={() => navigate("swap", { backTarget: "withdraw" })}
677
- className="flex h-8 px-3 justify-center items-center gap-1.5 rounded-full bg-gray-50 dark:bg-gray-700 cursor-pointer transition-colors text-gray-900 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-600"
678
- title="Swap"
679
- >
680
- <ArrowLeftRight className="h-4 w-4" />
681
- <span className="text-sm font-medium">Swap</span>
682
- </button>
683
- }
684
- />
685
-
686
- <form
687
- onSubmit={(e) => {
688
- e.preventDefault()
689
- logger.console.log("[trails-sdk] Calling handleSubmit from Withdraw")
690
- handleSubmit(e)
691
- }}
692
- className="space-y-1"
693
- >
694
- {/* Input Section - Amount */}
695
- <div className="pt-4 pb-4 trails-border-radius-container p-3 flex flex-col border border-gray-200 dark:border-gray-700 rounded-lg relative">
696
- {/* Amount Input - Centered */}
697
- <div className="flex items-center justify-center">
698
- <div className="flex items-center justify-center space-x-2">
699
- <DynamicSizeInputField
700
- ref={inputRef}
701
- value={inputDisplayValue}
702
- onChange={(e) => {
703
- const value = e.target.value
704
-
705
- setIsUserTyping(true)
706
-
707
- if (typingTimeoutRef.current) {
708
- clearTimeout(typingTimeoutRef.current)
709
- }
710
-
711
- typingTimeoutRef.current = setTimeout(() => {
712
- setIsUserTyping(false)
713
- }, 300)
714
-
715
- if (value === "") {
716
- setInputDisplayValue("")
717
- setSellAmount("")
718
- return
719
- }
720
-
721
- // Validate decimal places (max 8 for tokens, max 2 for USD)
722
- const maxDecimals = isEnteringFiat ? 2 : 8
723
- const decimalRegex = new RegExp(
724
- `^\\d*\\.?\\d{0,${maxDecimals}}$`,
725
- )
726
- const decimalMatch = value.match(decimalRegex)
727
- if (!decimalMatch) {
728
- return
729
- }
730
-
731
- setInputDisplayValue(value)
732
-
733
- if (isEnteringFiat && tokenPriceUsd > 0) {
734
- // User is entering fiat, convert to token amount for backend
735
- const inputAmount = toSafeNumber(value)
736
- const rateData = forexRateStore.getRate()
737
- const usdAmount =
738
- rateData && rateData.currency !== "USD"
739
- ? inputAmount / rateData.rate
740
- : inputAmount
741
- const tokenAmount = usdAmount / tokenPriceUsd
742
- handleSellAmountChange(tokenAmount.toString())
743
- } else {
744
- handleSellAmountChange(value)
745
- }
746
- }}
747
- isLoading={
748
- isLoadingQuote && tradeType === TradeType.EXACT_OUTPUT
749
- }
750
- variant="default"
751
- inputSize="large"
752
- textAlign="center"
753
- isFiatInput={isEnteringFiat}
754
- currencySymbol={
755
- isEnteringFiat
756
- ? (() => {
757
- const rateData = forexRateStore.getRate()
758
- const currency = rateData?.currency || "USD"
759
- return (
760
- FIAT_CURRENCY_SYMBOLS[
761
- currency as keyof typeof FIAT_CURRENCY_SYMBOLS
762
- ] || "$"
763
- )
764
- })()
765
- : originToken?.symbol
766
- }
767
- />
768
- {isLoadingQuote && tradeType === TradeType.EXACT_OUTPUT && (
769
- <LoadingSpinner />
770
- )}
771
- </div>
772
- </div>
773
-
774
- {/* Destination Address Selector */}
775
- {!isGenericLayout && (
776
- <div className="mt-3 flex justify-center">
777
- <div className="flex items-center space-x-1 text-sm">
778
- <span className="text-gray-500 dark:text-gray-400">To:</span>
779
- <RecipientSelectorButton
780
- selectedRecipient={selectedRecipient}
781
- />
782
- </div>
783
- </div>
784
- )}
785
-
786
- {/* USD Value Toggle */}
787
- <div className="mt-2 text-center text-sm">
788
- <div className="flex justify-center">
789
- <button
790
- type="button"
791
- onClick={() => {
792
- const newMode = !isEnteringFiat
793
- setIsEnteringFiat(newMode)
794
-
795
- if (inputDisplayValue && tokenPriceUsd > 0) {
796
- const currentValue = parseFloat(inputDisplayValue)
797
-
798
- if (isPositiveNumber(currentValue)) {
799
- const rateData = forexRateStore.getRate()
800
-
801
- if (newMode) {
802
- // Switching to fiat mode
803
- const usdValue = currentValue * tokenPriceUsd
804
- const displayValue =
805
- rateData && rateData.currency !== "USD"
806
- ? usdValue * rateData.rate
807
- : usdValue
808
- const finalValue = Number(
809
- displayValue.toFixed(2),
810
- ).toString()
811
- setInputDisplayValue(finalValue)
812
- } else {
813
- // Switching to token mode
814
- const usdValue =
815
- rateData && rateData.currency !== "USD"
816
- ? currentValue / rateData.rate
817
- : currentValue
818
- const tokenValue = usdValue / tokenPriceUsd
819
- const rounded =
820
- Math.round(tokenValue * 100000000) / 100000000
821
- setInputDisplayValue(rounded.toString())
822
- }
823
- }
824
- }
825
- }}
826
- className="text-xs text-blue-500 hover:text-blue-600 transition-colors cursor-pointer flex items-center gap-1"
827
- title={
828
- originToken
829
- ? `Toggle between USD and ${originToken.symbol}`
830
- : ""
831
- }
832
- >
833
- <svg
834
- aria-hidden="true"
835
- width="16"
836
- height="16"
837
- viewBox="0 0 16 16"
838
- fill="none"
839
- xmlns="http://www.w3.org/2000/svg"
840
- >
841
- <path
842
- d="M3.16669 6.5L5.50002 4.16667M5.50002 4.16667L7.83335 6.5M5.50002 4.16667L5.50002 11.8333"
843
- stroke="#3B82F6"
844
- strokeWidth="1.5"
845
- strokeLinecap="round"
846
- strokeLinejoin="round"
847
- />
848
- <path
849
- d="M12.8334 9.5L10.5 11.8333M10.5 11.8333L8.16669 9.5M10.5 11.8333L10.5 4.16667"
850
- stroke="#3B82F6"
851
- strokeWidth="1.5"
852
- strokeLinecap="round"
853
- strokeLinejoin="round"
854
- />
855
- </svg>
856
- {(() => {
857
- const inputValue = toSafeNumber(inputDisplayValue)
858
-
859
- if (isEnteringFiat) {
860
- // Currently entering in fiat, show the token amount
861
- const rateData = forexRateStore.getRate()
862
- const usdValue =
863
- rateData && rateData.currency !== "USD"
864
- ? inputValue / rateData.rate
865
- : inputValue
866
- const tokenAmount =
867
- tokenPriceUsd > 0 ? usdValue / tokenPriceUsd : 0
868
- const tokenDisplay =
869
- tokenAmount > 0
870
- ? `${tokenAmount.toFixed(8)} ${originToken?.symbol || ""}`
871
- : `0 ${originToken?.symbol || ""}`
872
-
873
- return <span title={tokenDisplay}>≈ {tokenDisplay}</span>
874
- } else {
875
- // Currently entering in token amount, show USD value
876
- const usdAmount = inputValue * tokenPriceUsd
877
- const displayValue = formatUsdAmountDisplay(usdAmount)
878
- const localeValue = formatUsdAmountLocaleDisplay(usdAmount)
879
-
880
- return <span title={displayValue}>≈ {localeValue}</span>
881
- }
882
- })()}
883
- </button>
884
- </div>
885
- </div>
886
-
887
- {/* Percentage Buttons */}
888
- {originToken && balanceFormatted && (
889
- <div className="mt-3 flex justify-center items-center space-x-2">
890
- <PercentageMaxButtons
891
- userBalance={balanceFormatted}
892
- userBalanceRaw={balanceRaw}
893
- decimals={tokenDecimals}
894
- isNativeToken={originToken.isNativeToken ?? false}
895
- gasCostFormatted={prepareSendQuote?.gasCostFormatted}
896
- chainId={originChainId || undefined}
897
- onAmountSelect={(amount) => {
898
- setTradeType(TradeType.EXACT_INPUT)
899
- setSellAmount(amount)
900
- setBuyAmount("")
901
- if (isEnteringFiat && tokenPriceUsd > 0) {
902
- const usdAmount = parseFloat(amount) * tokenPriceUsd
903
- setInputDisplayValue(
904
- Number(usdAmount.toFixed(2)).toString(),
905
- )
906
- } else {
907
- setInputDisplayValue(amount)
908
- }
909
- }}
910
- className="opacity-100"
911
- />
912
- </div>
913
- )}
914
- </div>
915
-
916
- {/* Withdraw As / Receive As Section */}
917
- <div className="mt-4 pt-4 pb-4 trails-border-radius-container p-3 mb-4 border border-gray-200 dark:border-gray-700 rounded-lg">
918
- {/* Labels */}
919
- <div className="flex items-center justify-between mb-3 px-1">
920
- <div className="flex flex-col" style={{ minWidth: "138px" }}>
921
- <span className="text-sm font-medium text-black dark:text-white">
922
- {isGenericLayout ? "From" : "Withdraw"}
923
- </span>
924
- {isGenericLayout && (
925
- <div className="mt-1">
926
- <FundingMethodSelectorButton
927
- sendToScreen={{
928
- screen: "select-funding-wallet",
929
- backScreen: "withdraw",
930
- }}
931
- />
932
- </div>
933
- )}
934
- </div>
935
- <div className="w-7 shrink-0"></div>
936
- <div className="flex flex-col" style={{ minWidth: "138px" }}>
937
- <span className="text-sm font-medium text-black dark:text-white">
938
- {isGenericLayout ? "To" : "Receive"}
939
- </span>
940
- {isGenericLayout && (
941
- <div className="mt-1">
942
- <RecipientSelectorButton
943
- selectedRecipient={selectedRecipient}
944
- />
945
- </div>
946
- )}
947
- </div>
948
- </div>
949
-
950
- {/* Token Selectors with Arrow */}
951
- <div className="flex items-center justify-between space-x-2">
952
- {/* Origin Token Selector */}
953
- <div className="min-w-[138px] flex flex-col mr-0 py-3.5">
954
- <TokenSelectorButton
955
- token={originToken}
956
- chainId={originChainId}
957
- onSelect={() => setShowSourceTokenSelector(true)}
958
- unselectable={!!fromToken}
959
- fullWidth={true}
960
- />
961
- </div>
962
-
963
- {/* Arrow Icon */}
964
- <div className="shrink-0 mr-0">
965
- <div className="w-7 h-7 rounded-full bg-gray-100 dark:bg-gray-800 flex items-center justify-center">
966
- <svg
967
- aria-hidden="true"
968
- xmlns="http://www.w3.org/2000/svg"
969
- width="16"
970
- height="16"
971
- viewBox="0 0 16 16"
972
- fill="none"
973
- >
974
- <path
975
- d="M7.52861 2.86201C7.78895 2.60166 8.21096 2.60166 8.47131 2.86201L13.138 7.52868C13.3983 7.78903 13.3983 8.21104 13.138 8.47138L8.47131 13.1381C8.21096 13.3984 7.78895 13.3984 7.52861 13.1381C7.26826 12.8777 7.26826 12.4557 7.52861 12.1953L11.0573 8.6667H3.33329C2.9651 8.6667 2.66663 8.36822 2.66663 8.00003C2.66663 7.63184 2.9651 7.33336 3.33329 7.33336H11.0573L7.52861 3.80472C7.26826 3.54437 7.26826 3.12236 7.52861 2.86201Z"
976
- fill="currentColor"
977
- className="text-gray-900 dark:text-white"
978
- />
979
- </svg>
980
- </div>
981
- </div>
982
-
983
- {/* Destination Token Selector */}
984
- <div className="min-w-[138px] flex">
985
- <TokenSelectorButton
986
- token={selectedDestToken}
987
- chainId={selectedDestToken?.chainId}
988
- onSelect={() => setShowDestinationTokenSelector(true)}
989
- unselectable={!!toToken}
990
- fullWidth={true}
991
- />
992
- </div>
993
- </div>
994
-
995
- {/* Token Balance Display: show insufficient funds when no quote (e.g. 0 balance) or quote says insufficient; otherwise show balance */}
996
- {originToken && (
997
- <div className="mt-3 pl-1 text-xs text-left">
998
- {prepareSendQuote?.noSufficientBalance ||
999
- (!isLoadingFreshOriginBalance &&
1000
- balanceRaw !== undefined &&
1001
- balanceRaw !== "" &&
1002
- BigInt(balanceRaw) === 0n) ? (
1003
- <span style={{ color: "#F97316" }}>Insufficient funds</span>
1004
- ) : balanceFormatted ? (
1005
- <>
1006
- <span
1007
- className="text-black dark:text-white notranslate"
1008
- translate="no"
1009
- >
1010
- Balance:
1011
- </span>
1012
- <span
1013
- className="text-gray-500 dark:text-gray-400 notranslate"
1014
- translate="no"
1015
- >
1016
- {" "}
1017
- {isBalanceVisible
1018
- ? `${balanceLocaleDisplay || balanceFormatted} ${originToken.symbol}`
1019
- : "••••••"}
1020
- {balanceUsdDisplay && isBalanceVisible ? (
1021
- <span className="notranslate" translate="no">
1022
- {" "}
1023
- ({balanceUsdLocaleDisplay || balanceUsdDisplay})
1024
- </span>
1025
- ) : null}
1026
- </span>
1027
- </>
1028
- ) : null}
1029
- </div>
1030
- )}
1031
- </div>
1032
-
1033
- {/* Fee Options */}
1034
- <FeeOptions
1035
- processedFeeOptions={processedFeeOptions || []}
1036
- selectedFeeOption={selectedFeeOption}
1037
- setSelectedFeeOption={(feeOption) => setSelectedFeeOption(feeOption)}
1038
- chainId={originToken?.chainId}
1039
- isRefetching={isLoadingQuote}
1040
- originTokenInfo={{
1041
- originToken: freshOriginToken ?? originToken!,
1042
- originTokenBalance:
1043
- freshOriginToken?.balance ?? originToken?.balance ?? "0",
1044
- originTokenAmount: sellAmount,
1045
- isLoadingBalance: isLoadingFreshOriginBalance,
1046
- }}
1047
- />
1048
-
1049
- {/* Quote Details */}
1050
- {prepareSendQuote && !isLoadingQuote && (
1051
- <div className="mb-4">
1052
- <QuoteDetails
1053
- quote={prepareSendQuote}
1054
- showContent={true}
1055
- swapMode={false}
1056
- isRefetching={isLoadingQuote}
1057
- showInsufficientFunds={false}
1058
- />
1059
- </div>
1060
- )}
1061
-
1062
- <button
1063
- type="submit"
1064
- disabled={
1065
- !amount ||
1066
- isSubmitting ||
1067
- !destinationTokenAddress ||
1068
- !isValidCustomToken ||
1069
- isLoadingQuote ||
1070
- !prepareSendQuote ||
1071
- prepareSendQuote?.noSufficientBalance ||
1072
- (selectedFeeOption
1073
- ? isFeeOptionDisabled(selectedFeeOption as ProcessedFeeOption, {
1074
- originToken: freshOriginToken ?? originToken!,
1075
- originTokenBalance:
1076
- freshOriginToken?.balance ?? originToken?.balance ?? "0",
1077
- originTokenAmount: sellAmount,
1078
- })
1079
- : false)
1080
- }
1081
- 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"
1082
- >
1083
- {isSubmitting ? (
1084
- <div className="flex items-center justify-center">
1085
- <LoadingSpinner className="mr-2" />
1086
- <span>{buttonText}</span>
1087
- </div>
1088
- ) : prepareSendQuote?.noSufficientBalance ? (
1089
- "Insufficient Balance"
1090
- ) : !sellAmount ? (
1091
- "Enter amount"
1092
- ) : buttonText === "Getting quote..." ? (
1093
- <div className="flex items-center justify-center">
1094
- <LoadingSpinner className="mr-2" />
1095
- <span>{buttonText}</span>
1096
- </div>
1097
- ) : (
1098
- buttonText || "Make withdrawal"
1099
- )}
1100
- </button>
1101
- </form>
1102
- </div>
1103
- )
1104
- }
1105
-
1106
- export { Withdraw }