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,807 +0,0 @@
1
- import { useVirtualizer, type VirtualItem } from "@tanstack/react-virtual"
2
- import { AlertTriangle, ChevronLeft, Info } from "lucide-react"
3
- import { AnimatePresence, motion } from "motion/react"
4
- import type React from "react"
5
- import {
6
- memo,
7
- useCallback,
8
- useDeferredValue,
9
- useEffect,
10
- useMemo,
11
- useRef,
12
- useState,
13
- } from "react"
14
- import { isAddress } from "viem"
15
- import { useAccount } from "wagmi"
16
- import { getChainInfo } from "../../chains.js"
17
- import type { Token } from "../../tokens.js"
18
- import type { FundMethod } from "../../transactionIntent/types.js"
19
- import {
20
- addressEqual,
21
- isNativeToken,
22
- normalizeAddress,
23
- truncateAddress,
24
- } from "../../utils/address.js"
25
- import { isValueZero } from "../../utils.js"
26
- import { useBalanceVisible } from "../hooks/useBalanceVisible.js"
27
- import { useChainFilter } from "../hooks/useChainFilter.js"
28
- import { useTokenList } from "../hooks/useTokenList.js"
29
- import { useSupportedChains } from "../../query/chains.hooks.js"
30
- import { ChainFilterDropdown } from "./ChainFilterDropdown.js"
31
- import { CopyButton } from "./CopyButton.js"
32
- import { RecentTokens } from "./RecentTokens.js"
33
- import { SearchInputField } from "./SearchInputField.js"
34
- import { TokenImage } from "./TokenImage.js"
35
- import { TokenSkeletonList } from "./TokenSkeleton.js"
36
- import { Tooltip } from "./Tooltip.js"
37
-
38
- const TOKEN_ROW_HEIGHT = 56
39
-
40
- // Memoized token row component to prevent unnecessary re-renders
41
- interface TokenRowProps {
42
- token: Token
43
- isSelected: boolean
44
- fundMethod?: FundMethod | null
45
- isBalanceVisible: boolean
46
- onTokenSelect: (token: Token) => void
47
- virtualRow: VirtualItem
48
- measureElement: (element: Element | null) => void
49
- }
50
-
51
- const TokenRow = memo<TokenRowProps>(
52
- ({
53
- token,
54
- isSelected,
55
- fundMethod,
56
- isBalanceVisible,
57
- onTokenSelect,
58
- virtualRow,
59
- measureElement,
60
- }) => {
61
- const {
62
- symbol,
63
- imageUrl,
64
- chainId,
65
- contractAddress,
66
- balanceUsdFormatted,
67
- balanceUsdDisplay,
68
- balanceUsdLocaleDisplay,
69
- name,
70
- priceUsd,
71
- balanceFormatted,
72
- balanceLocaleDisplay,
73
- balance,
74
- balanceUsd,
75
- isSufficientBalance,
76
- } = token
77
-
78
- // Check if balance should be shown (hide if balance is 0 or empty)
79
- const hasBalance =
80
- !isValueZero(balance) ||
81
- !isValueZero(balanceFormatted) ||
82
- !isValueZero(balanceUsd)
83
- // Default isSufficientBalance to true if not set
84
- const sufficientBalance = isSufficientBalance ?? true
85
-
86
- const handleKeyDown = useCallback(
87
- (e: React.KeyboardEvent) => {
88
- if (e.key === "Enter" || e.key === " ") {
89
- e.preventDefault()
90
- onTokenSelect(token)
91
- }
92
- },
93
- [onTokenSelect, token],
94
- )
95
-
96
- return (
97
- <div
98
- key={virtualRow.key}
99
- data-index={virtualRow.index}
100
- ref={measureElement}
101
- style={{
102
- position: "absolute",
103
- top: 0,
104
- left: 0,
105
- width: "100%",
106
- transform: `translateY(${virtualRow.start}px)`,
107
- }}
108
- >
109
- <div
110
- onClick={() => onTokenSelect(token)}
111
- onKeyDown={handleKeyDown}
112
- title={
113
- !sufficientBalance &&
114
- fundMethod !== "direct-transfer" &&
115
- fundMethod !== "onramp-mesh" &&
116
- fundMethod !== "onramp-meld"
117
- ? "Insufficient balance for this token"
118
- : `Select ${name} token`
119
- }
120
- className={`w-full py-2 px-4 flex items-center space-x-3 transition-all duration-200 trails-list-item trails-border-radius-list-button relative ${
121
- isSelected ? "trails-list-item-selected" : ""
122
- } ${!sufficientBalance && fundMethod !== "direct-transfer" && fundMethod !== "onramp-mesh" && fundMethod !== "onramp-meld" ? "opacity-75 cursor-not-allowed" : "cursor-pointer"}`}
123
- >
124
- <div className="relative shrink-0 mr-2">
125
- <div
126
- className={`rounded-full flex items-center justify-center bg-gray-100 dark:bg-gray-700 ${
127
- !sufficientBalance &&
128
- fundMethod !== "direct-transfer" &&
129
- fundMethod !== "onramp-mesh"
130
- ? "opacity-80"
131
- : ""
132
- }`}
133
- >
134
- {contractAddress ? (
135
- <TokenImage
136
- symbol={symbol}
137
- imageUrl={imageUrl}
138
- chainId={chainId}
139
- contractAddress={contractAddress}
140
- size={32}
141
- />
142
- ) : (
143
- <span
144
- className={`text-base font-medium text-gray-600 dark:text-gray-300 ${
145
- !sufficientBalance &&
146
- fundMethod !== "direct-transfer" &&
147
- fundMethod !== "onramp-mesh" &&
148
- fundMethod !== "onramp-meld"
149
- ? "opacity-70"
150
- : ""
151
- }`}
152
- >
153
- {symbol}
154
- </span>
155
- )}
156
- </div>
157
- </div>
158
-
159
- <div className="flex-1 min-w-0 text-left">
160
- <h3
161
- className={`text-sm font-medium truncate text-gray-900 dark:text-white ${
162
- !sufficientBalance &&
163
- fundMethod !== "direct-transfer" &&
164
- fundMethod !== "onramp-mesh" &&
165
- fundMethod !== "onramp-meld"
166
- ? "opacity-70"
167
- : ""
168
- }`}
169
- style={{
170
- ...(!sufficientBalance &&
171
- fundMethod !== "direct-transfer" &&
172
- fundMethod !== "onramp-mesh" &&
173
- fundMethod !== "onramp-meld"
174
- ? { maxWidth: "100px" }
175
- : {}),
176
- }}
177
- >
178
- {name}
179
- </h3>
180
- <div className="group relative w-full">
181
- {/* Default state: show symbol */}
182
- <div
183
- className={`flex items-center gap-1.5 transition-all duration-300 ease-in-out ${
184
- contractAddress && !isNativeToken(contractAddress)
185
- ? "group-hover:opacity-0 group-hover:transform group-hover:-translate-x-2"
186
- : ""
187
- } ${
188
- !isSufficientBalance &&
189
- fundMethod !== "direct-transfer" &&
190
- fundMethod !== "onramp-mesh" &&
191
- fundMethod !== "onramp-meld"
192
- ? "opacity-70"
193
- : ""
194
- }`}
195
- >
196
- <span
197
- className="text-xs text-gray-500 dark:text-gray-400 whitespace-nowrap truncate inline-block"
198
- style={{
199
- ...(!sufficientBalance &&
200
- fundMethod !== "direct-transfer" &&
201
- fundMethod !== "onramp-mesh" &&
202
- fundMethod !== "onramp-meld"
203
- ? { maxWidth: "100px" }
204
- : {}),
205
- }}
206
- >
207
- {symbol}
208
- </span>
209
- {/* Custom token indicator */}
210
- {token.isCustomToken && (
211
- <div className="relative group/indicator">
212
- <AlertTriangle className="w-3 h-3 text-gray-500 dark:text-gray-400" />
213
- <div className="absolute bottom-full left-1/2 -translate-x-1/2 mb-1 px-2 py-1 text-xs text-white bg-gray-900 dark:bg-gray-700 rounded whitespace-nowrap opacity-0 group-hover/indicator:opacity-100 transition-opacity pointer-events-none z-50">
214
- Custom token added by user
215
- <div className="absolute top-full left-1/2 -translate-x-1/2 -mt-px border-4 border-transparent border-t-gray-900 dark:border-t-gray-700"></div>
216
- </div>
217
- </div>
218
- )}
219
- </div>
220
-
221
- {/* Hover state: show address with copy button (only for non-zero addresses) */}
222
- {contractAddress && !isNativeToken(contractAddress) && (
223
- <div
224
- className={`absolute top-0 left-0 flex items-center gap-1.5 transition-all duration-300 ease-in-out opacity-0 transform translate-x-2 ${
225
- !sufficientBalance &&
226
- fundMethod !== "direct-transfer" &&
227
- fundMethod !== "onramp-mesh" &&
228
- fundMethod !== "onramp-meld"
229
- ? "group-hover:opacity-70"
230
- : "group-hover:opacity-100"
231
- } group-hover:translate-x-0`}
232
- >
233
- <span className="text-xs text-gray-500 dark:text-gray-400 whitespace-nowrap">
234
- {truncateAddress(contractAddress)}
235
- </span>
236
- <CopyButton
237
- text={contractAddress}
238
- stopPropagation
239
- className="p-0.5"
240
- size="sm"
241
- />
242
- {/* Token info tooltip */}
243
- <Tooltip
244
- content={
245
- <div className="space-y-2 text-left">
246
- <div>
247
- <span className="opacity-70">Symbol:</span>{" "}
248
- <span className="font-medium">{token.symbol}</span>
249
- </div>
250
- <div>
251
- <span className="opacity-70">Name:</span>{" "}
252
- <span className="font-medium">{token.name}</span>
253
- </div>
254
- <div>
255
- <span className="opacity-70">Chain:</span>{" "}
256
- <span className="font-medium">
257
- {token.chainName ||
258
- getChainInfo(token.chainId || 0)?.name ||
259
- `Chain ${token.chainId || 0}`}
260
- </span>
261
- </div>
262
- <div>
263
- <span className="opacity-70">Decimals:</span>{" "}
264
- <span className="font-medium">{token.decimals}</span>
265
- </div>
266
- <div>
267
- <span className="opacity-70">Address:</span>{" "}
268
- <span className="font-mono text-[10px] break-all block mt-0.5">
269
- {contractAddress}
270
- </span>
271
- </div>
272
- </div>
273
- }
274
- side="top"
275
- align="center"
276
- sideOffset={8}
277
- >
278
- <Info className="w-3 h-3 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 cursor-pointer" />
279
- </Tooltip>
280
- {/* Custom token indicator on hover state */}
281
- {token.isCustomToken && (
282
- <div className="relative group/indicator">
283
- <AlertTriangle className="w-3 h-3 text-gray-500 dark:text-gray-400" />
284
- <div className="absolute bottom-full left-1/2 -translate-x-1/2 mb-1 px-2 py-1 text-xs text-white bg-gray-900 dark:bg-gray-700 rounded whitespace-nowrap opacity-0 group-hover/indicator:opacity-100 transition-opacity pointer-events-none z-50">
285
- Custom token added by user
286
- <div className="absolute top-full left-1/2 -translate-x-1/2 -mt-px border-4 border-transparent border-t-gray-900 dark:border-t-gray-700"></div>
287
- </div>
288
- </div>
289
- )}
290
- </div>
291
- )}
292
- </div>
293
- </div>
294
-
295
- {fundMethod !== "direct-transfer" &&
296
- fundMethod !== "onramp-mesh" &&
297
- fundMethod !== "onramp-meld" &&
298
- hasBalance && (
299
- <div className="text-right shrink-0 flex flex-col items-end">
300
- {!sufficientBalance && (
301
- <span
302
- className="absolute px-2 py-0.5 text-xs font-medium rounded"
303
- style={{
304
- backgroundColor: "#FED7AA",
305
- color: "#7C2D12",
306
- right: "90px",
307
- top: "50%",
308
- transform: "translateY(-50%)",
309
- }}
310
- >
311
- Low balance
312
- </span>
313
- )}
314
- {(priceUsd ?? 0) > 0 ? (
315
- <>
316
- <p
317
- className={`text-sm font-medium text-gray-900 dark:text-white notranslate ${
318
- !sufficientBalance ? "opacity-70" : ""
319
- }`}
320
- translate="no"
321
- >
322
- {isBalanceVisible
323
- ? balanceUsdLocaleDisplay ||
324
- balanceUsdDisplay ||
325
- balanceUsdFormatted ||
326
- "$0.00"
327
- : "••••••"}
328
- </p>
329
- <p
330
- className={`text-xs text-gray-500 dark:text-gray-400 notranslate ${
331
- !sufficientBalance ? "opacity-70" : ""
332
- }`}
333
- translate="no"
334
- >
335
- {isBalanceVisible
336
- ? balanceLocaleDisplay || balanceFormatted
337
- : "••••••"}
338
- </p>
339
- </>
340
- ) : (
341
- <p
342
- className={`text-sm font-medium text-gray-900 dark:text-white notranslate ${
343
- !sufficientBalance ? "opacity-70" : ""
344
- }`}
345
- translate="no"
346
- >
347
- {isBalanceVisible
348
- ? balanceLocaleDisplay || balanceFormatted
349
- : "••••••"}
350
- </p>
351
- )}
352
- </div>
353
- )}
354
- </div>
355
- </div>
356
- )
357
- },
358
- )
359
-
360
- TokenRow.displayName = "TokenRow"
361
-
362
- interface TokenSelectorProps {
363
- onTokenSelect: (selectedToken: Token) => void
364
- targetAmountUsd?: number | null
365
- targetAmountUsdFormatted?: string | null
366
- onError: (error: Error | string | null) => void
367
- recentTokens?: Token[]
368
- onRecentTokenSelect?: (token: Token) => void
369
- fundMethod?: FundMethod | null
370
- onNavigateToFundMethods?: () => void
371
- showContinueButton?: boolean
372
- selectedToken?: Token | null
373
- onContinue?: (selectedToken: Token) => void
374
- showInsufficientBalance?: boolean
375
- totalBalanceUsd?: number
376
- totalBalanceUsdFormatted?: string
377
- compactMode?: boolean
378
- allSupportedTokens?: boolean
379
- chainListScreen?: boolean
380
- onNavigateToChainList?: () => void
381
- }
382
-
383
- export const TokenSelector: React.FC<TokenSelectorProps> = ({
384
- onTokenSelect,
385
- targetAmountUsd,
386
- onError,
387
- recentTokens = [],
388
- onRecentTokenSelect,
389
- fundMethod,
390
- onNavigateToFundMethods,
391
- showContinueButton = false,
392
- selectedToken,
393
- onContinue,
394
- showInsufficientBalance = false,
395
- compactMode = false,
396
- allSupportedTokens = false,
397
- chainListScreen,
398
- onNavigateToChainList,
399
- }) => {
400
- const [hasInitiallyLoaded, setHasInitiallyLoaded] = useState(false)
401
- const { isBalanceVisible } = useBalanceVisible()
402
- const { address } = useAccount()
403
-
404
- // Ref for virtual list container
405
- const parentRef = useRef<HTMLDivElement>(null)
406
-
407
- const {
408
- searchQuery,
409
- setSearchQuery,
410
- handleTokenSelect,
411
- filteredTokens,
412
- chainFilteredTokens: rawChainFilteredTokens,
413
- foundTokensAllChains,
414
- isLoadingTokens,
415
- isLoadingCustomToken,
416
- isSearching,
417
- customTokenError,
418
- isTokenSelected,
419
- balanceError,
420
- } = useTokenList({
421
- onContinue: onTokenSelect, // Use onTokenSelect for the hook
422
- targetAmountUsd,
423
- onError,
424
- fundMethod,
425
- allSupportedTokens,
426
- })
427
-
428
- const {
429
- selectedChainId: filterByChainId,
430
- setSelectedChainId: setFilterByChainId,
431
- } = useChainFilter()
432
- const { data: supportedChains = [] } = useSupportedChains()
433
-
434
- const chainFilteredTokens = useDeferredValue(rawChainFilteredTokens)
435
-
436
- // When searching by address with a chain filter active, the token may not
437
- // exist on the selected chain but may have been found on other chains.
438
- // Compute those "other chain" results so we can offer them to the user.
439
- const tokensFoundOnOtherChains = useMemo(() => {
440
- if (
441
- filterByChainId === null ||
442
- chainFilteredTokens.length > 0 ||
443
- foundTokensAllChains.length === 0 ||
444
- !isAddress(searchQuery.trim())
445
- ) {
446
- return []
447
- }
448
- return foundTokensAllChains.filter(
449
- (t) => (t.chainId || 0) !== filterByChainId,
450
- )
451
- }, [filterByChainId, chainFilteredTokens, foundTokensAllChains, searchQuery])
452
-
453
- // Track when initial load is complete
454
- useEffect(() => {
455
- if (!isLoadingTokens && !hasInitiallyLoaded) {
456
- setHasInitiallyLoaded(true)
457
- }
458
- }, [isLoadingTokens, hasInitiallyLoaded])
459
-
460
- // Determine if we should show the initial loading state
461
- const showInitialLoading =
462
- !hasInitiallyLoaded &&
463
- (isLoadingTokens || rawChainFilteredTokens.length === 0)
464
-
465
- // Chain selector should show all supported chains, not just chains present in
466
- // currently filtered token results.
467
- const uniqueChains = useMemo(() => {
468
- return supportedChains
469
- .map((chain) => {
470
- const chainInfo = getChainInfo(chain.id)
471
- return {
472
- chainId: chain.id,
473
- name: chainInfo?.name || chain.name || `Chain ${chain.id}`,
474
- imageUrl: "", // We'll use TokenImage component for chain icons
475
- }
476
- })
477
- .sort((a, b) => a.name.localeCompare(b.name))
478
- }, [supportedChains])
479
-
480
- // Filter recent tokens to only show ones that exist in the current token list and match search
481
- const filteredRecentTokens = recentTokens.filter((recentToken) => {
482
- // First check if this recent token exists in the current token list
483
- const existsInTokenList = chainFilteredTokens.some(
484
- (token) =>
485
- addressEqual(token.contractAddress, recentToken.contractAddress) &&
486
- (token.chainId || 0) === (recentToken.chainId || 0),
487
- )
488
-
489
- if (!existsInTokenList) return false
490
-
491
- // Then apply search filtering
492
- if (!searchQuery.trim()) return true
493
-
494
- const query = searchQuery.trim().toLowerCase()
495
- return (
496
- recentToken.symbol.toLowerCase().includes(query) ||
497
- recentToken.name.toLowerCase().includes(query) ||
498
- normalizeAddress(recentToken.contractAddress).includes(query)
499
- )
500
- })
501
-
502
- // Calculate list height based on mode and recent tokens
503
- const listHeight = compactMode
504
- ? 192 // max-h-48 = 12rem = 192px
505
- : filteredRecentTokens.length > 0
506
- ? 200
507
- : 250
508
-
509
- const virtualizer = useVirtualizer({
510
- count: chainFilteredTokens.length,
511
- getScrollElement: () => parentRef.current,
512
- estimateSize: () => TOKEN_ROW_HEIGHT,
513
- overscan: 25, // Render 5 extra items above/below viewport for smooth scrolling
514
- })
515
-
516
- // Enhanced token select handler that resets chain filter
517
- const handleTokenSelectWithReset = useCallback(
518
- (token: Token) => {
519
- // Reset chain filter after token selection
520
- setFilterByChainId(null)
521
- // Call the original handler
522
- handleTokenSelect(token)
523
- },
524
- [setFilterByChainId, handleTokenSelect],
525
- )
526
-
527
- // Handle recent token selection by finding the actual token from the list
528
- const handleRecentTokenSelect = (recentToken: Token) => {
529
- // Find the actual token from the filtered tokens list
530
- const actualToken = chainFilteredTokens.find(
531
- (token) =>
532
- addressEqual(token.contractAddress, recentToken.contractAddress) &&
533
- (token.chainId || 0) === (recentToken.chainId || 0),
534
- )
535
-
536
- if (actualToken) {
537
- // Use the actual token with balance info and reset chain filter
538
- handleTokenSelectWithReset(actualToken)
539
- } else if (onRecentTokenSelect) {
540
- // Reset chain filter and fallback to the original handler
541
- setFilterByChainId(null)
542
- onRecentTokenSelect(recentToken)
543
- }
544
- }
545
-
546
- // Determine the error message to display
547
- const errorMessage = useMemo(() => {
548
- // Custom token error
549
- if (customTokenError && searchQuery.trim().startsWith("0x")) {
550
- return "Token not found on any supported chain."
551
- }
552
-
553
- // Search query provided but no results
554
- if (searchQuery.trim()) {
555
- return "No tokens found matching your search."
556
- }
557
-
558
- // Fund method doesn't require error message
559
- if (fundMethod === "direct-transfer" || fundMethod === "onramp-mesh") {
560
- return ""
561
- }
562
-
563
- // Address connected but no tokens available
564
- if (address) {
565
- return "No available tokens found"
566
- }
567
-
568
- return ""
569
- }, [customTokenError, searchQuery, fundMethod, address])
570
-
571
- return (
572
- <div className="space-y-2">
573
- {/* Search Field - uses debounced change to prevent re-renders during typing */}
574
- <SearchInputField
575
- onDebouncedChange={setSearchQuery}
576
- debounceMs={300}
577
- placeholder="Search tokens, symbol, address"
578
- autoFocus={true}
579
- className="mb-2"
580
- rightAlignedComponent={
581
- <ChainFilterDropdown
582
- chains={uniqueChains}
583
- selectedChainId={filterByChainId}
584
- onChainSelect={setFilterByChainId}
585
- compactMode={compactMode}
586
- nestedMode={true}
587
- chainListScreen={chainListScreen}
588
- onNavigateToChainList={onNavigateToChainList}
589
- />
590
- }
591
- />
592
-
593
- {/* Recent Tokens - only show after initial load */}
594
- <AnimatePresence>
595
- {hasInitiallyLoaded && filteredRecentTokens.length > 0 && (
596
- <motion.div
597
- initial={{ opacity: 0, height: 0 }}
598
- animate={{ opacity: 1, height: "auto" }}
599
- exit={{ opacity: 0, height: 0 }}
600
- transition={{ duration: 0.05, ease: "easeOut" }}
601
- >
602
- <RecentTokens
603
- recentTokens={filteredRecentTokens}
604
- onTokenSelect={handleRecentTokenSelect}
605
- />
606
- </motion.div>
607
- )}
608
- </AnimatePresence>
609
-
610
- {/* Show skeleton loading for initial load */}
611
- {showInitialLoading && (
612
- <div style={{ height: listHeight }}>
613
- <TokenSkeletonList
614
- count={Math.floor(listHeight / TOKEN_ROW_HEIGHT)}
615
- />
616
- </div>
617
- )}
618
-
619
- {/* Show skeleton loading when searching */}
620
- {hasInitiallyLoaded &&
621
- isSearching &&
622
- chainFilteredTokens.length === 0 && (
623
- <div style={{ height: listHeight }}>
624
- <TokenSkeletonList
625
- count={Math.floor(listHeight / TOKEN_ROW_HEIGHT)}
626
- />
627
- </div>
628
- )}
629
-
630
- {/* Show skeleton loading for custom token search */}
631
- {hasInitiallyLoaded &&
632
- isLoadingCustomToken &&
633
- chainFilteredTokens.length === 0 && (
634
- <div style={{ height: listHeight }}>
635
- <TokenSkeletonList
636
- count={Math.floor(listHeight / TOKEN_ROW_HEIGHT)}
637
- />
638
- </div>
639
- )}
640
-
641
- {/* Only show "no tokens found" when search is complete (not loading) */}
642
- {hasInitiallyLoaded &&
643
- !isLoadingCustomToken &&
644
- !isSearching &&
645
- !balanceError &&
646
- filteredTokens.length === 0 &&
647
- chainFilteredTokens.length === 0 &&
648
- errorMessage && (
649
- <div className="space-y-3">
650
- <div className="text-center py-4 rounded-lg trails-bg-secondary">
651
- <p className="text-gray-500 dark:text-gray-400">{errorMessage}</p>
652
- </div>
653
-
654
- {/* Show tokens found on other chains when address search has results on non-selected chains */}
655
- {tokensFoundOnOtherChains.length > 0 && (
656
- <div className="space-y-2">
657
- <p className="text-xs font-medium text-gray-500 dark:text-gray-400 px-2">
658
- {tokensFoundOnOtherChains.length === 1
659
- ? "Found on another chain"
660
- : `Found on ${tokensFoundOnOtherChains.length} other chains`}
661
- </p>
662
- <div className="max-h-48 overflow-y-auto trails-scrollbar">
663
- {tokensFoundOnOtherChains.map((token) => {
664
- const chainInfo = getChainInfo(token.chainId || 0)
665
- const chainName =
666
- token.chainName ||
667
- chainInfo?.name ||
668
- `Chain ${token.chainId || 0}`
669
- return (
670
- <div
671
- key={`${token.chainId}-${token.contractAddress}`}
672
- onClick={() => handleTokenSelectWithReset(token)}
673
- onKeyDown={(e) => {
674
- if (e.key === "Enter" || e.key === " ") {
675
- e.preventDefault()
676
- handleTokenSelectWithReset(token)
677
- }
678
- }}
679
- className="w-full py-2 px-4 flex items-center space-x-3 transition-all duration-200 trails-list-item trails-border-radius-list-button cursor-pointer"
680
- >
681
- <div className="relative shrink-0 mr-2">
682
- <div className="rounded-full flex items-center justify-center bg-gray-100 dark:bg-gray-700">
683
- {token.contractAddress ? (
684
- <TokenImage
685
- symbol={token.symbol}
686
- imageUrl={token.imageUrl}
687
- chainId={token.chainId}
688
- contractAddress={token.contractAddress}
689
- size={32}
690
- />
691
- ) : (
692
- <span className="text-base font-medium text-gray-600 dark:text-gray-300">
693
- {token.symbol}
694
- </span>
695
- )}
696
- </div>
697
- </div>
698
- <div className="flex-1 min-w-0 text-left">
699
- <h3 className="text-sm font-medium truncate text-gray-900 dark:text-white">
700
- {token.name}
701
- </h3>
702
- <span className="text-xs text-gray-500 dark:text-gray-400">
703
- {token.symbol} on {chainName}
704
- </span>
705
- </div>
706
- </div>
707
- )
708
- })}
709
- </div>
710
- </div>
711
- )}
712
- </div>
713
- )}
714
-
715
- {/* Token List - Virtualized for performance */}
716
- {hasInitiallyLoaded && chainFilteredTokens.length > 0 && (
717
- <div
718
- ref={parentRef}
719
- className="overflow-y-auto trails-scrollbar"
720
- style={{ height: listHeight }}
721
- >
722
- <div
723
- style={{
724
- height: `${virtualizer.getTotalSize()}px`,
725
- width: "100%",
726
- position: "relative",
727
- }}
728
- >
729
- {virtualizer.getVirtualItems().map((virtualRow: VirtualItem) => {
730
- const token = chainFilteredTokens[virtualRow.index]
731
- if (!token) return null
732
-
733
- return (
734
- <TokenRow
735
- key={virtualRow.key}
736
- token={token}
737
- isSelected={isTokenSelected(token)}
738
- fundMethod={fundMethod}
739
- isBalanceVisible={isBalanceVisible}
740
- onTokenSelect={handleTokenSelectWithReset}
741
- virtualRow={virtualRow}
742
- measureElement={virtualizer.measureElement}
743
- />
744
- )
745
- })}
746
- </div>
747
- </div>
748
- )}
749
-
750
- {showInsufficientBalance &&
751
- fundMethod !== "direct-transfer" &&
752
- fundMethod !== "onramp-mesh" &&
753
- fundMethod !== "onramp-meld" && (
754
- <div
755
- className={`text-left py-3 px-4 rounded-lg ${"bg-amber-500/10 border border-solid border-amber-500/30"}`}
756
- >
757
- <p className={`text-xs font-medium ${"text-amber-400"}`}>
758
- Insufficient balance
759
- </p>
760
- <p className={`text-xs mt-1 ${"text-amber-300"}`}>
761
- You do not have enough funds to reach the target amount
762
- </p>
763
- </div>
764
- )}
765
-
766
- {showContinueButton && onContinue && selectedToken && (
767
- <div className="space-y-4">
768
- <button
769
- type="button"
770
- onClick={() => onContinue(selectedToken)}
771
- disabled={!selectedToken}
772
- className={`w-full font-semibold py-3 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`}
773
- >
774
- Continue
775
- </button>
776
- </div>
777
- )}
778
-
779
- {/* Fund method label */}
780
- {(fundMethod === "direct-transfer" ||
781
- fundMethod === "onramp-mesh" ||
782
- fundMethod === "onramp-meld") && (
783
- <div className="text-center pt-2 pb-1">
784
- <p className="text-sm font-medium text-gray-600 dark:text-gray-400">
785
- {fundMethod === "direct-transfer"
786
- ? "Paying with Crypto Transfer"
787
- : "Paying with Exchange Deposit"}
788
- </p>
789
- </div>
790
- )}
791
-
792
- {/* Pay with another method button */}
793
- {onNavigateToFundMethods && hasInitiallyLoaded && (
794
- <div className="text-center pt-1">
795
- <button
796
- type="button"
797
- onClick={onNavigateToFundMethods}
798
- className="inline-flex items-center justify-center space-x-1 px-2 py-1 text-xs font-medium trails-text-secondary trails-bg-secondary trails-hover-bg trails-border trails-border-radius-button transition-all duration-200 cursor-pointer"
799
- >
800
- <ChevronLeft className="h-3 w-3" />
801
- <span>Pay with another method</span>
802
- </button>
803
- </div>
804
- )}
805
- </div>
806
- )
807
- }