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,987 +0,0 @@
1
- import { useMutation, useQueryClient } from "@tanstack/react-query"
2
- import { useCallback, useRef } from "react"
3
- import { useWalletClient, useAccount, useChainId } from "wagmi"
4
- import { logger } from "../../logger.js"
5
- import { getFullErrorMessage, getIsUserRejectionError } from "../../error.js"
6
- import type { UseQuoteProps, SwapReturn } from "./useQuote.js"
7
- import { prepareSend, TradeType } from "../../prepareSend.js"
8
- import { useTrailsClient } from "../../trailsClient.js"
9
- import { useTrails } from "../../widget/providers/TrailsProvider.js"
10
- import {
11
- useTrailsModal,
12
- type HostTransactionDetails,
13
- type HostTransactionResultLinks,
14
- type HostTransactionStatus,
15
- } from "../../widget/providers/TrailsModalProvider.js"
16
- import { useIndexerGatewayClient } from "../../indexerClient.js"
17
- import { balanceQueries } from "../../query/balance.queries.js"
18
- import { checkSufficientToken } from "../../query/balance.fetchers.js"
19
- import { useSupportedTokens } from "../../tokens.js"
20
- import { getChainInfo } from "../../chains.js"
21
- import { getTokenPrice } from "../../query/price.queries.js"
22
- import { findSupportedToken } from "../utils/tokens.js"
23
- import { zeroAddress, erc20Abi, type Address, type Hex } from "viem"
24
- import { useCommitIntent, useExecuteIntent } from "../../mutations.js"
25
- import { getExplorerUrl } from "../../explorer.js"
26
- import type { TransactionState } from "../../transactions.js"
27
- import { addressEqual } from "../../utils/address.js"
28
-
29
- export type TrailsSendTransactionVariables = {
30
- to?: Address
31
- value?: bigint // Native token amount for ORIGIN (wagmi-compatible, sends ETH/native token)
32
- data?: Hex
33
- // Destination token requirements (e.g., AAVE deposit needs USDC on Base)
34
- // Note: Destination can be ERC20 token, so value is NOT needed for destination
35
- tokenAddress?: Address // Destination token address (ERC20 token required at destination)
36
- tokenAmount?: string // Destination token amount (in token units, e.g., 3000000 for 3 USDC)
37
- // Origin token parameters (if not provided, modal will open for selection)
38
- // Use value for native token origin, OR fromTokenAddress/fromChainId/fromAmount for ERC20 origin
39
- fromTokenAddress?: Address // Origin token address (ERC20 token to send from)
40
- fromChainId?: number // Origin chain ID (required if fromTokenAddress is provided)
41
- fromAmount?: string // Origin token amount (required if fromTokenAddress is provided)
42
- }
43
-
44
- export type UseTrailsSendTransactionParameters = Omit<
45
- UseQuoteProps,
46
- | "fromTokenAddress"
47
- | "fromChainId"
48
- | "toTokenAddress"
49
- | "toChainId"
50
- | "swapAmount"
51
- | "toRecipient"
52
- | "toCalldata"
53
- | "tradeType"
54
- | "selectedFeeOption"
55
- > & {
56
- /**
57
- * Callback fired when the mutation is successful
58
- */
59
- onSuccess?: (
60
- data: SwapReturn,
61
- variables: TrailsSendTransactionVariables,
62
- ) => void
63
- /**
64
- * Callback fired when the mutation encounters an error
65
- */
66
- onError?: (error: Error, variables: TrailsSendTransactionVariables) => void
67
- /**
68
- * Callback fired when the mutation is either successfully fetched or encounters an error
69
- */
70
- onSettled?: (
71
- data: SwapReturn | undefined,
72
- error: Error | null,
73
- variables: TrailsSendTransactionVariables,
74
- ) => void
75
- /**
76
- * Custom text for the receipt action button (default: "Transact Again")
77
- */
78
- receiptActionButtonText?: string
79
- /**
80
- * Custom callback when receipt action button is clicked
81
- */
82
- onReceiptAction?: () => void
83
- }
84
-
85
- export type UseTrailsSendTransactionReturnType = {
86
- sendTransaction: (
87
- variables: TrailsSendTransactionVariables,
88
- callbacks?: {
89
- onSuccess?: (data: SwapReturn) => void
90
- onError?: (error: Error) => void
91
- onSettled?: (data: SwapReturn | undefined, error: Error | null) => void
92
- },
93
- ) => void
94
- sendTransactionAsync: (
95
- variables: TrailsSendTransactionVariables,
96
- callbacks?: {
97
- onSuccess?: (data: SwapReturn) => void
98
- onError?: (error: Error) => void
99
- onSettled?: (data: SwapReturn | undefined, error: Error | null) => void
100
- },
101
- ) => Promise<SwapReturn>
102
- retry: () => void
103
- data: SwapReturn | undefined
104
- error: Error | null
105
- isPending: boolean
106
- isSuccess: boolean
107
- isError: boolean
108
- isIdle: boolean
109
- status: "idle" | "pending" | "error" | "success"
110
- reset: () => void
111
- variables: TrailsSendTransactionVariables | undefined
112
- }
113
-
114
- /**
115
- * Hook for creating, signing, and sending transactions to networks using Trails SDK.
116
- * Provides a one-line replacement for wagmi's `useSendTransaction`.
117
- *
118
- * @example
119
- * ```ts
120
- * // Simple usage - one line replacement (wagmi-compatible API)
121
- * const { sendTransaction } = useTrailsSendTransaction()
122
- *
123
- * // Send native token (same as wagmi)
124
- * sendTransaction({
125
- * to: '0xd2135CfB216b74109775236E36d4b433F1DF507B',
126
- * value: parseEther('0.01'),
127
- * })
128
- *
129
- * // Deposit 3 USDC to AAVE pool (Trails-specific)
130
- * // Modal will open for user to select origin token/chain/amount
131
- * sendTransaction({
132
- * to: '0xaavePoolAddress',
133
- * tokenAddress: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', // USDC on Base
134
- * tokenAmount: '3000000', // 3 USDC (6 decimals)
135
- * data: '0x...', // AAVE deposit calldata
136
- * })
137
- * ```
138
- */
139
- export function useTrailsSendTransaction(
140
- params?: UseTrailsSendTransactionParameters,
141
- ): UseTrailsSendTransactionReturnType {
142
- const { data: walletClient } = useWalletClient()
143
- const { chainId: connectedChainId } = useAccount()
144
- const chainId = useChainId()
145
- const trailsClient = useTrailsClient()
146
- const { trailsApiKey, sequenceIndexerUrl, sequenceMetadataUrl } = useTrails()
147
- const queryClient = useQueryClient()
148
- const {
149
- openModal,
150
- setPendingSelection,
151
- setHostTransactionState,
152
- setHostTransactionQuote,
153
- setHostTransactionStates,
154
- setHostTransactionTimestamp,
155
- hostTransactionState,
156
- setReceiptActionButtonText,
157
- setOnReceiptAction,
158
- retryTransactionRef,
159
- repeatTransactionRef,
160
- setLastOriginSelection,
161
- } = useTrailsModal()
162
- const indexerGatewayClient = useIndexerGatewayClient()
163
- const { supportedTokens } = useSupportedTokens()
164
- const commitIntentMutation = useCommitIntent()
165
- const executeIntentMutation = useExecuteIntent()
166
-
167
- // Store last transaction variables for retry
168
- const lastTransactionVariablesRef =
169
- useRef<TrailsSendTransactionVariables | null>(null)
170
-
171
- const mergeHostTransactionState = useCallback(
172
- (update: {
173
- status?: HostTransactionStatus
174
- details?: HostTransactionDetails | null
175
- error?: string | null
176
- result?: HostTransactionResultLinks | null
177
- retryEnabled?: boolean
178
- }) => {
179
- setHostTransactionState((prev) => ({
180
- status: update.status ?? prev.status,
181
- details:
182
- update.details === null
183
- ? undefined
184
- : update.details
185
- ? { ...prev.details, ...update.details }
186
- : prev.details,
187
- error:
188
- update.error === null
189
- ? undefined
190
- : update.error !== undefined
191
- ? update.error
192
- : prev.error,
193
- result:
194
- update.result === null
195
- ? undefined
196
- : update.result
197
- ? { ...prev.result, ...update.result }
198
- : prev.result,
199
- retryEnabled:
200
- update.retryEnabled !== undefined
201
- ? update.retryEnabled
202
- : prev.retryEnabled,
203
- }))
204
- },
205
- [setHostTransactionState],
206
- )
207
-
208
- // Extract transaction execution logic into a reusable function
209
- const executeTransaction = async (
210
- variables: TrailsSendTransactionVariables,
211
- originSelection?: {
212
- fromTokenAddress: string
213
- fromChainId: number
214
- fromAmount?: string
215
- },
216
- options?: { trackInWidget?: boolean },
217
- ): Promise<SwapReturn> => {
218
- logger.console.log(
219
- "[trails-sdk] [useTrailsSendTransaction] Executing transaction",
220
- { variables, originSelection },
221
- )
222
-
223
- // Validate required parameters
224
- if (!walletClient || !walletClient.account) {
225
- throw new Error(
226
- "Wallet client not available. Please connect your wallet.",
227
- )
228
- }
229
-
230
- if (!variables.to) {
231
- throw new Error("Transaction 'to' address is required.")
232
- }
233
-
234
- // Determine origin parameters
235
- let fromTokenAddress: string
236
- let fromChainId: number
237
- let fromAmount: string | undefined
238
-
239
- if (originSelection) {
240
- // Use user-selected origin parameters (from modal)
241
- fromTokenAddress = originSelection.fromTokenAddress
242
- fromChainId = originSelection.fromChainId
243
- fromAmount = originSelection.fromAmount
244
- } else if (
245
- variables.fromTokenAddress &&
246
- variables.fromChainId &&
247
- variables.fromAmount
248
- ) {
249
- // Use explicitly provided ERC20 token origin parameters
250
- fromTokenAddress = variables.fromTokenAddress
251
- fromChainId = variables.fromChainId
252
- fromAmount = variables.fromAmount
253
- } else if (variables.to && variables.value !== undefined) {
254
- // Simple native token send - use current chain
255
- const currentChainId = connectedChainId || chainId
256
- if (!currentChainId) {
257
- throw new Error("Chain ID not available. Please connect your wallet.")
258
- }
259
- fromChainId = currentChainId
260
- fromTokenAddress = zeroAddress
261
- fromAmount = variables.value.toString()
262
- } else {
263
- throw new Error(
264
- "Origin token parameters are required. Please provide 'value' (native token), or 'fromTokenAddress'/'fromChainId'/'fromAmount' (ERC20 token), or select via modal.",
265
- )
266
- }
267
-
268
- // Determine destination parameters
269
- const currentChainId = connectedChainId || chainId
270
- if (!currentChainId) {
271
- throw new Error("Chain ID not available. Please connect your wallet.")
272
- }
273
-
274
- // Use tokenAddress and tokenAmount if provided, otherwise infer from to/value
275
- let toTokenAddress: string
276
- let toChainId: number
277
- let toAmount: string
278
- let recipient: string
279
-
280
- if (variables.tokenAddress && variables.tokenAmount) {
281
- // Destination token requirements specified (e.g., AAVE deposit)
282
- toTokenAddress = variables.tokenAddress
283
- // Try to find the token's chainId from supportedTokens, fallback to current chain
284
- const destToken = findSupportedToken(
285
- supportedTokens,
286
- variables.tokenAddress,
287
- )
288
- toChainId = destToken?.chainId ?? currentChainId
289
- toAmount = variables.tokenAmount
290
- recipient = variables.to
291
- } else if (variables.to && variables.value !== undefined) {
292
- // Simple native token send
293
- toTokenAddress = zeroAddress
294
- toChainId = currentChainId
295
- toAmount = variables.value.toString()
296
- recipient = variables.to
297
- } else {
298
- throw new Error(
299
- "Either 'value' or 'tokenAddress'/'tokenAmount' must be provided.",
300
- )
301
- }
302
-
303
- // Determine swap amount based on trade type
304
- // If tokenAmount is provided, use EXACT_OUTPUT (we need exact amount of destination token)
305
- // Otherwise, use EXACT_INPUT (we're sending exact amount from origin)
306
- const tradeType =
307
- variables.tokenAddress && variables.tokenAmount
308
- ? TradeType.EXACT_OUTPUT
309
- : TradeType.EXACT_INPUT
310
- if (tradeType === TradeType.EXACT_INPUT && !fromAmount) {
311
- throw new Error(
312
- "Origin amount is required for this transaction. Please provide 'value' or 'fromAmount'.",
313
- )
314
- }
315
-
316
- const swapAmount =
317
- tradeType === TradeType.EXACT_OUTPUT ? toAmount : fromAmount!
318
-
319
- // Get token balances
320
- let balances: any[] = []
321
- try {
322
- const result = await queryClient.ensureQueryData(
323
- balanceQueries.withPrices(
324
- walletClient.account.address,
325
- indexerGatewayClient,
326
- trailsClient,
327
- ),
328
- )
329
- balances = result.balances
330
- } catch (balanceError) {
331
- logger.console.warn(
332
- "[trails-sdk] [useTrailsSendTransaction] Error fetching balances, proceeding with zero balance",
333
- balanceError,
334
- )
335
- balances = []
336
- }
337
-
338
- const originTokenBalance = balances.find(
339
- (b) =>
340
- b.chainId === fromChainId &&
341
- (addressEqual(b.contractAddress, fromTokenAddress) ||
342
- (!b.contractAddress && fromTokenAddress === zeroAddress)),
343
- )
344
-
345
- const originTokenBalanceAmount = originTokenBalance?.balance ?? "0"
346
-
347
- // Get native token price for origin chain
348
- let originNativeTokenPriceUsd = 0
349
- try {
350
- const originChain = getChainInfo(fromChainId)
351
- const nativeTokenSymbol = originChain?.nativeCurrency?.symbol ?? ""
352
- if (nativeTokenSymbol) {
353
- const nativePrice = await getTokenPrice(trailsClient, {
354
- tokenSymbol: nativeTokenSymbol,
355
- tokenAddress: zeroAddress,
356
- chainId: fromChainId,
357
- })
358
- originNativeTokenPriceUsd = nativePrice?.priceUsd ?? 0
359
- }
360
- } catch (error) {
361
- logger.console.warn(
362
- "[trails-sdk] [useTrailsSendTransaction] Error getting native token price",
363
- error,
364
- )
365
- }
366
-
367
- // Get token info and decimals
368
- const originToken = findSupportedToken(
369
- supportedTokens,
370
- fromTokenAddress,
371
- fromChainId,
372
- )
373
- const destinationToken = findSupportedToken(
374
- supportedTokens,
375
- toTokenAddress,
376
- toChainId,
377
- )
378
-
379
- // Get RPC clients - we need to get them dynamically since we don't know chainIds until mutation
380
- const { getChainRpcClient } = await import("../../chains.js")
381
- const originPublicClient = getChainRpcClient(fromChainId)
382
- const destinationPublicClient = getChainRpcClient(toChainId)
383
-
384
- // Fetch decimals on-chain if not found
385
- const fetchDecimalsOnChain = async (
386
- tokenAddress: string,
387
- chainId: number,
388
- ): Promise<number | null> => {
389
- try {
390
- const publicClient =
391
- chainId === fromChainId
392
- ? originPublicClient
393
- : chainId === toChainId
394
- ? destinationPublicClient
395
- : getChainRpcClient(chainId)
396
-
397
- if (!publicClient) {
398
- return null
399
- }
400
-
401
- if (addressEqual(tokenAddress, zeroAddress)) {
402
- const chainInfo = getChainInfo(chainId)
403
- return chainInfo?.nativeCurrency.decimals ?? 18
404
- }
405
-
406
- const decimals = await publicClient.readContract({
407
- address: tokenAddress as `0x${string}`,
408
- abi: erc20Abi,
409
- functionName: "decimals",
410
- })
411
-
412
- return decimals
413
- } catch (error) {
414
- logger.console.error(
415
- `[trails-sdk] Error fetching decimals on-chain for token ${tokenAddress} on chain ${chainId}:`,
416
- error,
417
- )
418
- return null
419
- }
420
- }
421
-
422
- let sourceTokenDecimals = originToken?.decimals
423
- if (!sourceTokenDecimals && fromTokenAddress) {
424
- const onChainDecimals = await fetchDecimalsOnChain(
425
- fromTokenAddress,
426
- fromChainId,
427
- )
428
- if (onChainDecimals !== null) {
429
- sourceTokenDecimals = onChainDecimals
430
- }
431
- }
432
- if (!sourceTokenDecimals) {
433
- // Default to 18 for native/unknown
434
- sourceTokenDecimals = 18
435
- }
436
-
437
- let destinationTokenDecimals = destinationToken?.decimals
438
- if (!destinationTokenDecimals && toTokenAddress) {
439
- const onChainDecimals = await fetchDecimalsOnChain(
440
- toTokenAddress,
441
- toChainId,
442
- )
443
- if (onChainDecimals !== null) {
444
- destinationTokenDecimals = onChainDecimals
445
- }
446
- }
447
- if (!destinationTokenDecimals) {
448
- // Default to 18 for native/unknown
449
- destinationTokenDecimals = 18
450
- }
451
-
452
- const destinationTokenSymbol = destinationToken?.symbol ?? ""
453
- const originTokenSymbol = originToken?.symbol ?? ""
454
-
455
- const handleTransactionStateChange = (states: TransactionState[]) => {
456
- if (options?.trackInWidget) {
457
- setHostTransactionStates(states)
458
- }
459
- params?.onStatusUpdate?.(states)
460
- }
461
-
462
- // Call prepareSend
463
- const { send, quote } = await prepareSend({
464
- queryClient,
465
- account: walletClient.account,
466
- originTokenAddress: fromTokenAddress,
467
- originChainId: fromChainId,
468
- originTokenBalance: originTokenBalanceAmount,
469
- destinationChainId: toChainId,
470
- recipient: recipient,
471
- destinationTokenAddress: toTokenAddress,
472
- swapAmount: swapAmount,
473
- tradeType: tradeType,
474
- originTokenSymbol: originTokenSymbol,
475
- destinationTokenSymbol: destinationTokenSymbol,
476
- client: walletClient,
477
- trailsClient,
478
- destinationCalldata: variables.data
479
- ? variables.data.toString()
480
- : undefined,
481
- onTransactionStateChange: handleTransactionStateChange,
482
- sourceTokenDecimals,
483
- destinationTokenDecimals,
484
- paymasterUrl: params?.paymasterUrl,
485
- slippageTolerance: params?.slippageTolerance?.toString(),
486
- originNativeTokenPriceUsd,
487
- swapProvider: params?.swapProvider,
488
- bridgeProvider: params?.bridgeProvider,
489
- commitIntentFn: (intent) => commitIntentMutation.mutateAsync(intent),
490
- executeIntentFn: executeIntentMutation.mutateAsync,
491
- checkoutOnHandlers: params?.checkoutOnHandlers,
492
- sequenceIndexerUrl,
493
- sequenceMetadataUrl,
494
- sequenceProjectAccessKey: trailsApiKey,
495
- originPublicClient: originPublicClient ?? undefined,
496
- destinationPublicClient: destinationPublicClient ?? undefined,
497
- isSmartWallet: params?.isSmartWallet ?? undefined,
498
- mode: params?.mode ?? undefined,
499
- })
500
-
501
- if (options?.trackInWidget) {
502
- setHostTransactionQuote(quote ?? null)
503
- if (!hostTransactionState.details) {
504
- mergeHostTransactionState({
505
- details: {
506
- to: recipient,
507
- tokenAddress: toTokenAddress,
508
- tokenAmount:
509
- tradeType === TradeType.EXACT_OUTPUT ? toAmount : undefined,
510
- toChainId,
511
- data: variables.data,
512
- },
513
- })
514
- }
515
- if (
516
- !hostTransactionState.status ||
517
- hostTransactionState.status === "idle"
518
- ) {
519
- setHostTransactionTimestamp(Date.now())
520
- }
521
- }
522
-
523
- // Execute the swap
524
- try {
525
- // Reset retry flag when starting a new attempt
526
- if (options?.trackInWidget) {
527
- mergeHostTransactionState({ retryEnabled: false })
528
- }
529
- const {
530
- depositUserTxnReceipt,
531
- destinationIntentTransaction,
532
- totalCompletionSeconds,
533
- } = await send({
534
- selectedFeeOption: null,
535
- // Transition to "pending" when wallet signature is complete
536
- onOriginSend: () => {
537
- if (options?.trackInWidget) {
538
- mergeHostTransactionState({ status: "pending", error: null })
539
- }
540
- },
541
- })
542
-
543
- if (options?.trackInWidget) {
544
- mergeHostTransactionState({
545
- status: "success",
546
- result: {
547
- originTxHash: depositUserTxnReceipt?.transactionHash,
548
- originExplorerUrl: depositUserTxnReceipt?.transactionHash
549
- ? getExplorerUrl({
550
- txHash: depositUserTxnReceipt.transactionHash,
551
- chainId: fromChainId,
552
- })
553
- : undefined,
554
- destinationTxHash: destinationIntentTransaction?.txnHash,
555
- destinationExplorerUrl: destinationIntentTransaction?.txnHash
556
- ? getExplorerUrl({
557
- txHash: destinationIntentTransaction.txnHash,
558
- chainId: toChainId,
559
- })
560
- : undefined,
561
- },
562
- })
563
- }
564
-
565
- return {
566
- originTransaction: {
567
- transactionHash: depositUserTxnReceipt?.transactionHash,
568
- explorerUrl: getExplorerUrl({
569
- txHash: depositUserTxnReceipt?.transactionHash as string,
570
- chainId: fromChainId,
571
- }),
572
- receipt: depositUserTxnReceipt,
573
- },
574
- destinationTransaction: {
575
- transactionHash: destinationIntentTransaction?.txnHash,
576
- explorerUrl: getExplorerUrl({
577
- txHash: destinationIntentTransaction?.txnHash as string,
578
- chainId: toChainId,
579
- }),
580
- receipt: destinationIntentTransaction,
581
- },
582
- totalCompletionSeconds,
583
- }
584
- } catch (error) {
585
- if (options?.trackInWidget) {
586
- // For user rejection errors, stay on confirmation screen with retry enabled
587
- const isUserRejection = getIsUserRejectionError(error)
588
- if (isUserRejection) {
589
- mergeHostTransactionState({
590
- status: "confirmation",
591
- error: null,
592
- retryEnabled: true,
593
- })
594
- } else {
595
- mergeHostTransactionState({
596
- status: "error",
597
- error: getFullErrorMessage(error as Error),
598
- retryEnabled: false,
599
- })
600
- }
601
- }
602
- throw error
603
- }
604
- }
605
-
606
- const mutation = useMutation({
607
- mutationFn: async (
608
- variables: TrailsSendTransactionVariables,
609
- ): Promise<SwapReturn> => {
610
- logger.console.log(
611
- "[trails-sdk] [useTrailsSendTransaction] Starting transaction",
612
- variables,
613
- )
614
-
615
- // Store variables for retry/repeat functionality
616
- lastTransactionVariablesRef.current = variables
617
-
618
- // Set receipt customization from params
619
- setReceiptActionButtonText(
620
- params?.receiptActionButtonText ?? "Transact Again",
621
- )
622
- setOnReceiptAction(params?.onReceiptAction ?? null)
623
-
624
- // Check if we have origin parameters specified
625
- const hasNativeTokenOrigin = variables.value !== undefined
626
- const hasERC20TokenOrigin =
627
- variables.fromTokenAddress !== undefined &&
628
- variables.fromChainId !== undefined
629
- const hasOriginParams = hasNativeTokenOrigin || hasERC20TokenOrigin
630
-
631
- // Determine destination chain ID
632
- // Priority: token's chainId (from supportedTokens) > current chain
633
- let destinationChainId: number | undefined
634
- if (variables.tokenAddress && supportedTokens) {
635
- // Find the token's chainId from supportedTokens
636
- const destToken = findSupportedToken(
637
- supportedTokens,
638
- variables.tokenAddress,
639
- )
640
- if (destToken) {
641
- destinationChainId = destToken.chainId
642
- }
643
- }
644
- if (!destinationChainId) {
645
- destinationChainId = connectedChainId || chainId
646
- }
647
-
648
- // Check balances for origin and destination
649
- let hasSufficientOriginBalance = true
650
- let hasSufficientDestinationTokenBalance = true
651
-
652
- if (walletClient?.account) {
653
- try {
654
- // Step 1: Check origin balance FIRST
655
- // If origin is insufficient, user will need to select a different token via modal
656
- if (hasOriginParams) {
657
- let originTokenAddress: string | undefined
658
- let originChainId: number | undefined
659
- let originAmount: string | undefined
660
-
661
- if (variables.value !== undefined) {
662
- // Native token origin
663
- originTokenAddress = zeroAddress
664
- originChainId = connectedChainId || chainId || 1
665
- originAmount = variables.value.toString()
666
- } else if (variables.fromTokenAddress && variables.fromChainId) {
667
- // ERC20 token origin (amount optional for EXACT_OUTPUT)
668
- originTokenAddress = variables.fromTokenAddress
669
- originChainId = variables.fromChainId
670
- originAmount = variables.fromAmount
671
- }
672
-
673
- if (
674
- originTokenAddress &&
675
- originChainId &&
676
- originAmount &&
677
- originAmount !== "0"
678
- ) {
679
- const { balances: originBalances } =
680
- await queryClient.ensureQueryData(
681
- balanceQueries.withPrices(
682
- walletClient.account.address,
683
- indexerGatewayClient,
684
- trailsClient,
685
- ),
686
- )
687
- hasSufficientOriginBalance = checkSufficientToken(
688
- originBalances,
689
- originTokenAddress,
690
- originAmount,
691
- originChainId,
692
- )
693
- logger.console.log(
694
- "[trails-sdk] [useTrailsSendTransaction] Origin token balance check:",
695
- {
696
- tokenAddress: originTokenAddress,
697
- amount: originAmount,
698
- chainId: originChainId,
699
- hasSufficientBalance: hasSufficientOriginBalance,
700
- },
701
- )
702
- }
703
- }
704
-
705
- // Step 2: Only check destination token balance if origin is sufficient
706
- // (otherwise user will open modal to select a different origin token)
707
- if (
708
- hasSufficientOriginBalance &&
709
- variables.tokenAddress &&
710
- variables.tokenAmount
711
- ) {
712
- const destResult = await queryClient.ensureQueryData(
713
- balanceQueries.withPrices(
714
- walletClient.account.address,
715
- indexerGatewayClient,
716
- trailsClient,
717
- ),
718
- )
719
- hasSufficientDestinationTokenBalance = checkSufficientToken(
720
- destResult.balances,
721
- variables.tokenAddress,
722
- variables.tokenAmount,
723
- destinationChainId,
724
- )
725
- logger.console.log(
726
- "[trails-sdk] [useTrailsSendTransaction] Destination token balance check:",
727
- {
728
- tokenAddress: variables.tokenAddress,
729
- tokenAmount: variables.tokenAmount,
730
- chainId: destinationChainId,
731
- hasSufficientBalance: hasSufficientDestinationTokenBalance,
732
- },
733
- )
734
-
735
- // Step 3: Gas balance check will be done via QuoteIntent API in prepareSend
736
- // The API provides comprehensive gas fee information including:
737
- // - originGas: origin chain gas cost
738
- // - destinationGas: destination chain gas cost (if applicable)
739
- // - gasFeeOptions: fee options in different tokens
740
- // If gas is insufficient, the system will fallback to gasless (handled in prepareSend)
741
- }
742
- } catch (balanceError) {
743
- logger.console.warn(
744
- "[trails-sdk] [useTrailsSendTransaction] Error checking balances, defaulting to origin selection:",
745
- balanceError,
746
- )
747
- // If balance checks fail, default to opening modal (safe fallback)
748
- hasSufficientOriginBalance = false
749
- hasSufficientDestinationTokenBalance = false
750
- }
751
- }
752
-
753
- // Determine if origin selection is needed
754
- // Origin selection is needed when:
755
- // 1. Origin parameters are not provided, OR
756
- // 2. Origin balance is insufficient (user selected origin but doesn't have enough), OR
757
- // 3. Destination token balance is insufficient (even if gas balance is sufficient)
758
- // Note: Gas balance checks are done via QuoteIntent API after origin/destination are confirmed
759
- const needsOriginSelection =
760
- !hasOriginParams ||
761
- !hasSufficientOriginBalance ||
762
- !hasSufficientDestinationTokenBalance
763
-
764
- logger.console.log(
765
- "[trails-sdk] [useTrailsSendTransaction] Origin selection decision:",
766
- {
767
- hasOriginParams,
768
- hasSufficientOriginBalance,
769
- hasSufficientDestinationTokenBalance,
770
- needsOriginSelection,
771
- },
772
- )
773
-
774
- if (needsOriginSelection) {
775
- const requireAmountInput = !(
776
- variables.tokenAddress && variables.tokenAmount
777
- )
778
- const baseDetails: HostTransactionDetails = {
779
- to: variables.to,
780
- tokenAddress: variables.tokenAddress,
781
- tokenAmount: variables.tokenAmount,
782
- toChainId: destinationChainId,
783
- data: variables.data,
784
- }
785
- mergeHostTransactionState({
786
- status: "awaiting-origin",
787
- details: baseDetails,
788
- error: null,
789
- result: null,
790
- })
791
- setHostTransactionQuote(null)
792
- setHostTransactionStates([])
793
- setHostTransactionTimestamp(Date.now())
794
- // Open modal and wait for user selection
795
- return new Promise<SwapReturn>((resolve, reject) => {
796
- setPendingSelection({
797
- resolve: async (selection) => {
798
- try {
799
- // Update stored variables with the origin selection for "Swap Again" functionality
800
- lastTransactionVariablesRef.current = {
801
- ...variables,
802
- fromTokenAddress: selection.fromTokenAddress as Address,
803
- fromChainId: selection.fromChainId,
804
- fromAmount: selection.fromAmount,
805
- }
806
-
807
- // Store last origin selection for UI pre-population on "Swap Again"
808
- setLastOriginSelection({
809
- tokenAddress: selection.fromTokenAddress,
810
- chainId: selection.fromChainId,
811
- amount: selection.fromAmount,
812
- })
813
-
814
- mergeHostTransactionState({ status: "confirmation" })
815
- const result = await executeTransaction(variables, selection, {
816
- trackInWidget: true,
817
- })
818
- resolve(result)
819
- } catch (error) {
820
- // Don't override state for user rejections - they're handled in executeTransaction
821
- // and stay on confirmation screen with retry enabled
822
- const isUserRejection = getIsUserRejectionError(error)
823
- if (!isUserRejection) {
824
- mergeHostTransactionState({
825
- status: "error",
826
- error: getFullErrorMessage(error as Error),
827
- })
828
- }
829
- reject(error as Error)
830
- }
831
- },
832
- reject: (error) => {
833
- const rejection =
834
- error instanceof Error ? error : new Error(String(error))
835
- mergeHostTransactionState({
836
- status: "error",
837
- error: getFullErrorMessage(rejection),
838
- })
839
- reject(rejection)
840
- },
841
- requireAmountInput,
842
- })
843
-
844
- // Open the modal after setting pending selection
845
- // Use setTimeout to ensure state updates are processed
846
- setTimeout(() => {
847
- logger.console.log(
848
- "[trails-sdk] [useTrailsSendTransaction] Calling openModal()",
849
- )
850
- openModal()
851
- }, 0)
852
- })
853
- }
854
-
855
- // Set up modal for wallet-confirmation, pending, and receipt screens
856
- const baseDetails: HostTransactionDetails = {
857
- to: variables.to,
858
- tokenAddress: variables.tokenAddress,
859
- tokenAmount: variables.tokenAmount,
860
- toChainId: destinationChainId,
861
- data: variables.data,
862
- }
863
- mergeHostTransactionState({
864
- status: "confirmation",
865
- details: baseDetails,
866
- error: null,
867
- result: null,
868
- })
869
- setHostTransactionQuote(null)
870
- setHostTransactionStates([])
871
- setHostTransactionTimestamp(Date.now())
872
- openModal()
873
-
874
- // Execute transaction directly with modal tracking
875
- return executeTransaction(variables, undefined, { trackInWidget: true })
876
- },
877
- onSuccess: (data, variables) => {
878
- logger.console.log(
879
- "[trails-sdk] [useTrailsSendTransaction] Transaction successful",
880
- { data, variables },
881
- )
882
- // Invalidate quote cache to ensure fresh quotes on next transaction
883
- queryClient.invalidateQueries({ queryKey: ["prepareSend"] })
884
- params?.onSuccess?.(data, variables)
885
- },
886
- onError: (error, variables) => {
887
- logger.console.error(
888
- "[trails-sdk] [useTrailsSendTransaction] Transaction error",
889
- { error, variables },
890
- )
891
- const errorMessage = getFullErrorMessage(error)
892
- // Don't override state for user rejections - they're handled in executeTransaction
893
- // and stay on confirmation screen with retry enabled
894
- const isUserRejection = getIsUserRejectionError(error)
895
- if (hostTransactionState.status !== "idle" && !isUserRejection) {
896
- mergeHostTransactionState({
897
- status: "error",
898
- error: errorMessage,
899
- })
900
- }
901
- params?.onError?.(new Error(errorMessage), variables)
902
- },
903
- onSettled: (data, error, variables) => {
904
- logger.console.log(
905
- "[trails-sdk] [useTrailsSendTransaction] Transaction settled",
906
- { data, error, variables },
907
- )
908
- params?.onSettled?.(data, error as Error | null, variables)
909
- },
910
- })
911
-
912
- const sendTransaction = useCallback(
913
- (
914
- variables: TrailsSendTransactionVariables,
915
- callbacks?: {
916
- onSuccess?: (data: SwapReturn) => void
917
- onError?: (error: Error) => void
918
- onSettled?: (data: SwapReturn | undefined, error: Error | null) => void
919
- },
920
- ) => {
921
- mutation.mutate(variables, {
922
- onSuccess: (data) => {
923
- callbacks?.onSuccess?.(data)
924
- },
925
- onError: (error) => {
926
- callbacks?.onError?.(error as Error)
927
- },
928
- onSettled: (data, error) => {
929
- callbacks?.onSettled?.(data, error as Error | null)
930
- },
931
- })
932
- },
933
- [mutation],
934
- )
935
-
936
- const sendTransactionAsync = useCallback(
937
- async (
938
- variables: TrailsSendTransactionVariables,
939
- callbacks?: {
940
- onSuccess?: (data: SwapReturn) => void
941
- onError?: (error: Error) => void
942
- onSettled?: (data: SwapReturn | undefined, error: Error | null) => void
943
- },
944
- ): Promise<SwapReturn> => {
945
- return mutation.mutateAsync(variables, {
946
- onSuccess: (data) => {
947
- callbacks?.onSuccess?.(data)
948
- },
949
- onError: (error) => {
950
- callbacks?.onError?.(error as Error)
951
- },
952
- onSettled: (data, error) => {
953
- callbacks?.onSettled?.(data, error as Error | null)
954
- },
955
- })
956
- },
957
- [mutation],
958
- )
959
-
960
- // Retry function that re-executes with last variables
961
- const retry = useCallback(() => {
962
- if (lastTransactionVariablesRef.current) {
963
- sendTransaction(lastTransactionVariablesRef.current)
964
- }
965
- }, [sendTransaction])
966
-
967
- // Store retry function in ref so widget can call it (using ref to avoid re-renders)
968
- retryTransactionRef.current = retry
969
-
970
- // Store repeat transaction function for "Swap Again" functionality
971
- repeatTransactionRef.current = retry
972
-
973
- return {
974
- sendTransaction,
975
- sendTransactionAsync,
976
- retry,
977
- data: mutation.data,
978
- error: mutation.error as Error | null,
979
- isPending: mutation.isPending,
980
- isSuccess: mutation.isSuccess,
981
- isError: mutation.isError,
982
- isIdle: mutation.isIdle,
983
- status: mutation.status,
984
- reset: mutation.reset,
985
- variables: mutation.variables,
986
- }
987
- }