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,780 +0,0 @@
1
- import type React from "react"
2
- import { useCallback, useEffect, useMemo, useRef, useState } from "react"
3
- import { useQuery } from "@tanstack/react-query"
4
- import { zeroAddress } from "viem"
5
- import { useCountryList } from "../../query/geo.hooks.js"
6
- import { getCountryFlag, getCountryName } from "../utils/countryUtils.js"
7
-
8
- import {
9
- Building2,
10
- ChevronDown,
11
- CreditCard,
12
- DollarSign,
13
- ExternalLink,
14
- History,
15
- Smartphone,
16
- } from "lucide-react"
17
- import { useAccount } from "wagmi"
18
- import { getFullErrorMessage } from "../../error.js"
19
- import type { MeldPaymentMethod } from "../../meld/components/MeldFundMethods.js"
20
- import type { Country, MeldQuote, MeldToken } from "../../meld/utils/meld.js"
21
- import { getMeldOnrampClient } from "../../meld/utils/meld.js"
22
- import { meldQueries } from "../../query/meld.queries.js"
23
- import type { TransactionStatusInfo } from "../hooks/useMeldTransactionStatus.js"
24
- import { useOnRampCountryDefaults } from "../hooks/useOnRampCountryDefaults.js"
25
- import { useTrails } from "../providers/TrailsProvider.js"
26
- import { getCenteredWindowParams } from "../utils/windowUtils.js"
27
- import { ErrorDisplay } from "./ErrorDisplay.js"
28
- import { MeldTransactionStatus } from "./MeldTransactionStatus.js"
29
- import { ScreenHeader } from "./ScreenHeader.js"
30
- import { TokenImage } from "./TokenImage.js"
31
- import { logger } from "../../index.js"
32
-
33
- import { normalizeAddress } from "../../utils/address.js"
34
- export interface MeldFormProps {
35
- trailsApiKey: string
36
- onBack?: () => void
37
- onTransactionStatus?: (status: {
38
- type: "success" | "error" | "pending" | null
39
- message: string
40
- }) => void
41
- onNavigateToCountries?: () => void
42
- onNavigateToPaymentMethods?: () => void
43
- onNavigateToTokens?: () => void
44
- onNavigateToProviders?: () => void
45
- onNavigateToHistory?: () => void
46
- onSelectProvider?: (provider: MeldQuote | null) => void
47
- onProvidersLoaded?: (providers: MeldQuote[]) => void
48
- selectedCountry?: Country | null
49
- selectedPaymentMethod?: MeldPaymentMethod | null
50
- selectedToken?: MeldToken | null
51
- selectedProvider?: MeldQuote | null
52
- }
53
-
54
- // Common countries for Meld
55
- const COMMON_COUNTRIES: Country[] = [
56
- { countryCode: "US", name: "United States" },
57
- { countryCode: "CA", name: "Canada" },
58
- { countryCode: "GB", name: "United Kingdom" },
59
- { countryCode: "EU", name: "European Union" },
60
- { countryCode: "AU", name: "Australia" },
61
- ]
62
-
63
- // Simplified payment methods
64
- const PAYMENT_METHODS = [
65
- { code: "CREDIT_DEBIT_CARD", label: "Credit Card", icon: CreditCard },
66
- { code: "DEBIT_CARD", label: "Debit Card", icon: CreditCard },
67
- { code: "APPLE_PAY", label: "Apple Pay", icon: Smartphone },
68
- { code: "GOOGLE_PAY", label: "Google Pay", icon: Smartphone },
69
- { code: "EXCHANGE", label: "Exchange", icon: Building2 },
70
- ]
71
-
72
- // Common tokens
73
- const COMMON_TOKENS: MeldToken[] = [
74
- {
75
- code: "USDC_BASE",
76
- name: "USD Coin",
77
- symbol: "USDC",
78
- chain: "BASE",
79
- chainName: "Base",
80
- chainId: 8453,
81
- contractAddress: "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
82
- },
83
- {
84
- code: "DAI_BASE",
85
- name: "Dai Stablecoin",
86
- symbol: "DAI",
87
- chain: "BASE",
88
- chainName: "Base",
89
- chainId: 8453,
90
- contractAddress: "0x50c5725949a6f0c72e6c4a641f24049a917db0cb",
91
- },
92
- {
93
- code: "USDC_ETH",
94
- name: "USD Coin",
95
- symbol: "USDC",
96
- chain: "ETH",
97
- chainName: "Ethereum",
98
- chainId: 1,
99
- contractAddress: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
100
- },
101
- {
102
- code: "ETH",
103
- name: "Ethereum",
104
- symbol: "ETH",
105
- chain: "ETH",
106
- chainName: "Ethereum",
107
- chainId: 1,
108
- contractAddress: zeroAddress,
109
- },
110
- ]
111
-
112
- // Amount presets
113
- const AMOUNT_PRESETS = [10, 25, 50, 100]
114
-
115
- // TODO: Temporary localStorage for redirect/session recovery. Should this be sessionStorage?
116
- const MELD_SESSION_ID_STORAGE_KEY = "meld-current-session-id"
117
- const MELD_EXTERNAL_SESSION_ID_STORAGE_KEY = "meld-current-external-session-id"
118
-
119
- // Helper function to map Meld chain names to chain IDs
120
- function getChainId(chainName?: string): number | undefined {
121
- const chainMap: Record<string, number> = {
122
- ETH: 1, // Ethereum mainnet
123
- BASE: 8453, // Base
124
- ARBITRUM: 42161, // Arbitrum
125
- OPTIMISM: 10, // Optimism
126
- POLYGON: 137, // Polygon
127
- BSC: 56, // Binance Smart Chain
128
- AVAX: 43114, // Avalanche
129
- }
130
- return chainName ? chainMap[chainName.toUpperCase()] : undefined
131
- }
132
-
133
- export const MeldForm: React.FC<MeldFormProps> = ({
134
- trailsApiKey,
135
- onBack,
136
- onTransactionStatus,
137
- onNavigateToCountries,
138
- onNavigateToPaymentMethods,
139
- onNavigateToTokens,
140
- onNavigateToProviders,
141
- onNavigateToHistory,
142
- onSelectProvider,
143
- onProvidersLoaded,
144
- selectedCountry: propSelectedCountry,
145
- selectedPaymentMethod: propSelectedPaymentMethod,
146
- selectedToken: propSelectedToken,
147
- selectedProvider: propSelectedProvider,
148
- }) => {
149
- const { address: walletAddress } = useAccount()
150
- const trailsConfig = useTrails()
151
-
152
- // Get country list from API
153
- const { data: countries = [] } = useCountryList()
154
-
155
- // Get detected country from geolocation
156
- const { countryCode: detectedCountryCode } = useOnRampCountryDefaults({
157
- enabled: !propSelectedCountry, // Only fetch if no country prop provided
158
- })
159
-
160
- // Form state - use detected country if available, fallback to US
161
- const selectedCountry = useMemo(() => {
162
- if (propSelectedCountry) return propSelectedCountry
163
-
164
- if (detectedCountryCode) {
165
- // First try to find in common countries list
166
- const foundCountry = COMMON_COUNTRIES.find(
167
- (c) => c.countryCode === detectedCountryCode,
168
- )
169
- if (foundCountry) return foundCountry
170
-
171
- // If not found, create a country object for it using API data
172
- return {
173
- countryCode: detectedCountryCode,
174
- name: getCountryName(detectedCountryCode, countries),
175
- }
176
- }
177
-
178
- // Final fallback
179
- return COMMON_COUNTRIES[0] || { countryCode: "US", name: "United States" }
180
- }, [propSelectedCountry, detectedCountryCode, countries])
181
- const selectedPaymentMethod = propSelectedPaymentMethod || "CREDIT_DEBIT_CARD"
182
-
183
- // Load persisted amount from localStorage
184
- const [amount, setAmount] = useState<string>(() => {
185
- const savedAmount = localStorage.getItem("meld-form-amount")
186
- return savedAmount || "25"
187
- })
188
- const [currency] = useState<string>("USD")
189
-
190
- // Create OnrampClient client
191
- const trailsClient = useMemo(() => {
192
- return getMeldOnrampClient(trailsApiKey, trailsConfig?.trailsApiUrl)
193
- }, [trailsApiKey, trailsConfig?.trailsApiUrl])
194
-
195
- // Fetch payment methods to get details including images
196
- const { data: paymentMethods = [] } = useQuery(
197
- meldQueries.paymentMethodList(trailsClient, currency),
198
- )
199
-
200
- // Find the selected payment method details
201
- const selectedPaymentMethodDetails = useMemo(() => {
202
- if (!selectedPaymentMethod || !paymentMethods.length) {
203
- return null
204
- }
205
- return paymentMethods.find(
206
- (method) => method.paymentMethod === selectedPaymentMethod,
207
- )
208
- }, [selectedPaymentMethod, paymentMethods])
209
- const selectedToken = propSelectedToken ||
210
- COMMON_TOKENS[0] || {
211
- code: "USDC_BASE",
212
- name: "USD Coin",
213
- symbol: "USDC",
214
- chain: "BASE",
215
- chainName: "Base",
216
- }
217
- const [providers, setProviders] = useState<MeldQuote[]>([])
218
- const selectedProvider = propSelectedProvider
219
- const [isLoadingProviders, setIsLoadingProviders] = useState(false)
220
- const [widgetUrl, setWidgetUrl] = useState<string>("")
221
- const [isLoadingUrl, setIsLoadingUrl] = useState(false)
222
- const [widgetSessionError, setWidgetSessionError] = useState<string | null>(
223
- null,
224
- )
225
- const [hasClickedContinue, setHasClickedContinue] = useState(false)
226
-
227
- // Legacy transaction ID for URL parameter handling
228
- const [currentTransactionId, setCurrentTransactionId] = useState<
229
- string | null
230
- >(null)
231
-
232
- // Popup window reference and session tracking
233
- const [_popupWindowRef, setPopupWindowRef] = useState<Window | null>(null)
234
- const [currentSessionId, setCurrentSessionId] = useState<string | null>(null)
235
- const [currentExternalSessionId, setCurrentExternalSessionId] = useState<
236
- string | null
237
- >(null)
238
- const [isPopupOpen, setIsPopupOpen] = useState(false)
239
- const [hookSetWindowRef, setHookSetWindowRef] = useState<
240
- ((ref: Window | null) => void) | null
241
- >(null)
242
-
243
- // Use ref to store latest callback to prevent infinite re-renders
244
- const onTransactionStatusRef = useRef(onTransactionStatus)
245
- useEffect(() => {
246
- onTransactionStatusRef.current = onTransactionStatus
247
- }, [onTransactionStatus])
248
-
249
- // Handle status changes from new component
250
- const handleTransactionStatusChange = (statusInfo: TransactionStatusInfo) => {
251
- // Convert to legacy format for backwards compatibility
252
- const legacyStatus = {
253
- type:
254
- statusInfo.state === "success"
255
- ? ("success" as const)
256
- : statusInfo.state === "failed" || statusInfo.state === "error"
257
- ? ("error" as const)
258
- : statusInfo.state === "polling"
259
- ? ("pending" as const)
260
- : null,
261
- message: statusInfo.message,
262
- }
263
-
264
- // Call the latest callback using ref to prevent infinite loop
265
- onTransactionStatusRef.current?.(legacyStatus)
266
- }
267
-
268
- // Handle popup window closed
269
- const handleWindowClosed = () => {
270
- logger.console.log("[MeldForm] Popup window was closed")
271
- setPopupWindowRef(null)
272
- setHasClickedContinue(false) // Reset button state when window closes
273
- setIsPopupOpen(false) // Reset popup state
274
- }
275
-
276
- // Check for transaction status from URL parameters (in case of redirect)
277
- useEffect(() => {
278
- const urlParams = new URLSearchParams(window.location.search)
279
- const urlSessionId =
280
- urlParams.get("sessionId") ||
281
- urlParams.get("externalSessionId") ||
282
- urlParams.get("orderId")
283
-
284
- if (urlSessionId && !currentTransactionId) {
285
- logger.console.log(
286
- "[MeldForm] Found session ID in URL parameters:",
287
- urlSessionId,
288
- )
289
- setCurrentTransactionId(urlSessionId)
290
- setCurrentSessionId(urlSessionId)
291
- localStorage.setItem(MELD_SESSION_ID_STORAGE_KEY, urlSessionId)
292
- }
293
- }, [currentTransactionId])
294
-
295
- // Load providers when form parameters change
296
- const loadProviders = useCallback(async () => {
297
- if (!selectedCountry || !selectedToken || !amount) {
298
- logger.console.log(
299
- "[MeldForm] Missing required parameters for loadProviders:",
300
- {
301
- selectedCountry,
302
- selectedToken,
303
- amount,
304
- },
305
- )
306
- return
307
- }
308
-
309
- logger.console.log("[MeldForm] Loading providers with params:", {
310
- walletAddress: walletAddress || "fallback",
311
- countryCode: selectedCountry.countryCode,
312
- sourceCurrencyCode: currency,
313
- sourceAmount: amount,
314
- destinationCurrencyCode: selectedToken.code,
315
- paymentMethodType: selectedPaymentMethod,
316
- })
317
-
318
- setIsLoadingProviders(true)
319
- setProviders([])
320
- setWidgetUrl("")
321
- setHasClickedContinue(false)
322
-
323
- try {
324
- const quoteResponse = await trailsClient.getMeldQuote({
325
- walletAddress:
326
- walletAddress || "0x1234567890123456789012345678901234567890",
327
- countryCode: selectedCountry.countryCode,
328
- sourceCurrencyCode: currency,
329
- sourceAmount: amount,
330
- destinationCurrencyCode: selectedToken.code,
331
- })
332
-
333
- logger.console.log("[MeldForm] Quote response:", quoteResponse)
334
-
335
- // Parse the API response - it comes back with QuoteResponse.quotes structure
336
- let quotes: any
337
- try {
338
- // First check if there's a nested QuoteResponse object
339
- const parsedResponse = (quoteResponse as any).QuoteResponse?.quotes
340
- if (parsedResponse) {
341
- quotes = parsedResponse
342
- } else {
343
- // Fallback to original parsing logic
344
- const parsedQuoteResponse =
345
- typeof quoteResponse.quoteResponse === "string"
346
- ? JSON.parse(quoteResponse.quoteResponse)
347
- : quoteResponse.quoteResponse
348
- quotes = parsedQuoteResponse?.quotes
349
- }
350
- } catch (e) {
351
- logger.console.error("[MeldForm] Error parsing quote response:", e)
352
- setIsLoadingProviders(false)
353
- return
354
- }
355
-
356
- logger.console.log("[MeldForm] Extracted quotes:", quotes)
357
-
358
- if (!quotes || quotes.length === 0) {
359
- logger.console.log("[MeldForm] No quotes available")
360
- setIsLoadingProviders(false)
361
- return
362
- }
363
-
364
- setProviders(quotes)
365
- logger.console.log("[MeldForm] Set providers:", quotes.length, "quotes")
366
- } catch (error) {
367
- logger.console.error("[MeldForm] Error loading providers:", error)
368
- } finally {
369
- setIsLoadingProviders(false)
370
- }
371
- }, [
372
- selectedCountry,
373
- selectedToken,
374
- amount,
375
- currency,
376
- selectedPaymentMethod,
377
- trailsClient,
378
- walletAddress,
379
- ])
380
-
381
- // Load widget URL when provider is selected
382
- const loadWidgetUrl = useCallback(async () => {
383
- if (!selectedProvider || !walletAddress) return
384
-
385
- setIsLoadingUrl(true)
386
- setWidgetSessionError(null) // Clear any previous errors
387
- try {
388
- // Generate external session ID
389
- const timestamp = Date.now()
390
- const randomSuffix = Math.random().toString(36).substring(2, 8)
391
- const externalSessionId = `meld-${timestamp}-${randomSuffix}`
392
-
393
- // Use the active wallet address directly
394
- const effectiveCustomerId = normalizeAddress(walletAddress)
395
-
396
- const sessionResponse = await trailsClient.createMeldWidgetSession({
397
- sessionData: {
398
- walletAddress: walletAddress,
399
- countryCode: selectedCountry.countryCode,
400
- sourceCurrencyCode: currency,
401
- sourceAmount: amount,
402
- destinationCurrencyCode: selectedToken.code,
403
- serviceProvider: selectedProvider.serviceProvider,
404
- paymentMethodType: selectedPaymentMethod || undefined,
405
- // redirectUrl,
406
- },
407
- sessionType: "BUY",
408
- externalCustomerId: effectiveCustomerId,
409
- externalSessionId: externalSessionId,
410
- })
411
-
412
- const widgetSessionData = (sessionResponse as any).WidgetSession
413
- if (!widgetSessionData) {
414
- throw new Error("No widget session data received")
415
- }
416
-
417
- const url =
418
- widgetSessionData.serviceProviderWidgetUrl ||
419
- widgetSessionData.widgetUrl ||
420
- widgetSessionData.url
421
- if (!url) {
422
- throw new Error("No widget URL found in session data")
423
- }
424
-
425
- setWidgetUrl(url)
426
-
427
- // Extract session ID and external session ID from response data for transaction tracking
428
- const sessionId =
429
- widgetSessionData.sessionId || widgetSessionData.id || externalSessionId
430
- const responseExternalSessionId =
431
- widgetSessionData.externalSessionId || externalSessionId
432
-
433
- logger.console.log("[MeldForm] Session data from response:", {
434
- sessionId,
435
- externalSessionId: responseExternalSessionId,
436
- generatedExternalSessionId: externalSessionId,
437
- })
438
-
439
- setCurrentSessionId(sessionId)
440
- setCurrentExternalSessionId(responseExternalSessionId)
441
- setCurrentTransactionId(sessionId)
442
- localStorage.setItem(MELD_SESSION_ID_STORAGE_KEY, sessionId)
443
- localStorage.setItem(
444
- MELD_EXTERNAL_SESSION_ID_STORAGE_KEY,
445
- responseExternalSessionId,
446
- )
447
- } catch (error) {
448
- logger.console.error("Error creating widget session:", error)
449
- const errorMessage = getFullErrorMessage(error)
450
- setWidgetSessionError(errorMessage)
451
- } finally {
452
- setIsLoadingUrl(false)
453
- }
454
- }, [
455
- selectedProvider,
456
- walletAddress,
457
- selectedCountry,
458
- currency,
459
- amount,
460
- selectedToken,
461
- selectedPaymentMethod,
462
- trailsClient,
463
- ])
464
-
465
- // Load providers when form changes
466
- useEffect(() => {
467
- loadProviders()
468
- setWidgetSessionError(null) // Clear errors when form changes
469
- }, [loadProviders])
470
-
471
- // Handle provider callbacks when providers change
472
- useEffect(() => {
473
- if (providers.length > 0) {
474
- // Notify parent about the loaded providers
475
- onProvidersLoaded?.(providers)
476
-
477
- // Auto-select the first provider if none is currently selected
478
- if (!selectedProvider && onSelectProvider && providers[0]) {
479
- logger.console.log(
480
- "[MeldForm] Auto-selecting first provider:",
481
- providers[0],
482
- )
483
- onSelectProvider(providers[0])
484
- }
485
- }
486
- }, [providers, selectedProvider, onProvidersLoaded, onSelectProvider])
487
-
488
- // Load widget URL when provider changes
489
- useEffect(() => {
490
- if (selectedProvider) {
491
- loadWidgetUrl()
492
- }
493
- }, [selectedProvider, loadWidgetUrl])
494
-
495
- // Handle continue to provider
496
- const handleContinue = () => {
497
- if (widgetUrl && !hasClickedContinue) {
498
- setHasClickedContinue(true)
499
-
500
- // Open popup in center and track window reference
501
- const popup = window.open(
502
- widgetUrl,
503
- "_blank",
504
- getCenteredWindowParams(800, 600),
505
- )
506
-
507
- if (!popup) {
508
- logger.console.error("[MeldForm] Popup blocked by browser")
509
- setHasClickedContinue(false)
510
- return
511
- }
512
-
513
- setPopupWindowRef(popup)
514
- setIsPopupOpen(true) // Set popup state
515
- // Pass the window reference to the hook
516
- if (hookSetWindowRef) {
517
- hookSetWindowRef(popup)
518
- }
519
-
520
- logger.console.log(
521
- "[MeldForm] Payment window opened, session ID:",
522
- currentSessionId,
523
- )
524
- }
525
- }
526
-
527
- return (
528
- <div className="max-w-md mx-auto p-6 space-y-4">
529
- {/* Header with back button, history, and country selector */}
530
- <ScreenHeader
531
- onBack={onBack}
532
- headerContent="Buy Crypto"
533
- rightSideContent={
534
- <div className="flex items-center gap-2">
535
- {/* History Button */}
536
- {onNavigateToHistory && (
537
- <button
538
- type="button"
539
- onClick={onNavigateToHistory}
540
- className="flex items-center justify-center w-8 h-8 bg-transparent border border-gray-300 dark:border-gray-600 rounded-lg trails-text-primary hover:bg-gray-50 dark:hover:bg-gray-800 focus:outline-none focus:ring-2 focus:ring-blue-500 transition-colors cursor-pointer"
541
- title="Onramp History"
542
- >
543
- <History className="w-4 h-4" />
544
- </button>
545
- )}
546
-
547
- {/* Country Selector */}
548
- <button
549
- type="button"
550
- onClick={onNavigateToCountries}
551
- className="flex items-center gap-2 bg-transparent border border-gray-300 dark:border-gray-600 rounded-lg px-2 py-1 text-sm trails-text-primary hover:bg-gray-50 dark:hover:bg-gray-800 focus:outline-none focus:ring-2 focus:ring-blue-500 transition-colors cursor-pointer"
552
- >
553
- <span className="text-base">
554
- {getCountryFlag(selectedCountry.countryCode, countries)}
555
- </span>
556
- <span className="font-medium">{selectedCountry.countryCode}</span>
557
- <ChevronDown className="w-4 h-4 text-gray-500" />
558
- </button>
559
- </div>
560
- }
561
- />
562
-
563
- {/* Payment Method Selection */}
564
- <div>
565
- <span className="block text-sm font-medium trails-text-primary mb-2">
566
- Payment Method
567
- </span>
568
- <button
569
- type="button"
570
- onClick={onNavigateToPaymentMethods}
571
- className="w-full border border-gray-300 dark:border-gray-600 rounded-lg px-3 py-3 trails-text-primary bg-white dark:bg-gray-800 hover:bg-gray-50 dark:hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-blue-500 transition-colors cursor-pointer flex items-center justify-between"
572
- >
573
- <div className="flex items-center gap-3">
574
- {selectedPaymentMethodDetails?.logos?.light ||
575
- selectedPaymentMethodDetails?.logos?.dark ? (
576
- <div className="w-8 h-8 rounded-lg flex items-center justify-center bg-gray-100 dark:bg-gray-700 p-1">
577
- <img
578
- src={
579
- selectedPaymentMethodDetails.logos?.light ||
580
- selectedPaymentMethodDetails.logos?.dark ||
581
- ""
582
- }
583
- alt={`${selectedPaymentMethodDetails.name} logo`}
584
- className="max-w-full max-h-full object-cover"
585
- />
586
- </div>
587
- ) : (
588
- <CreditCard className="w-5 h-5 text-gray-500" />
589
- )}
590
- <div className="text-left">
591
- <div className="font-medium">
592
- {selectedPaymentMethodDetails?.name ||
593
- PAYMENT_METHODS.find((m) => m.code === selectedPaymentMethod)
594
- ?.label ||
595
- selectedPaymentMethod ||
596
- "Select Payment Method"}
597
- </div>
598
- {selectedPaymentMethodDetails?.paymentType && (
599
- <div className="text-xs text-gray-500 dark:text-gray-400">
600
- {selectedPaymentMethodDetails.paymentType}
601
- </div>
602
- )}
603
- </div>
604
- </div>
605
- <ChevronDown className="w-5 h-5 text-gray-500" />
606
- </button>
607
- </div>
608
-
609
- {/* Amount Input with Presets */}
610
- <div>
611
- <label
612
- htmlFor="meld-amount-input"
613
- className="block text-sm font-medium trails-text-primary mb-2"
614
- >
615
- Amount
616
- </label>
617
- <div className="space-y-3">
618
- <div className="relative">
619
- <DollarSign className="absolute left-3 top-1/2 transform -translate-y-1/2 w-5 h-5 text-gray-500" />
620
- <input
621
- id="meld-amount-input"
622
- type="number"
623
- value={amount}
624
- onChange={(e) => {
625
- const newAmount = e.target.value
626
- setAmount(newAmount)
627
- // Persist to localStorage
628
- if (newAmount) {
629
- localStorage.setItem("meld-form-amount", newAmount)
630
- }
631
- }}
632
- placeholder="Enter amount"
633
- className="w-full border border-gray-300 dark:border-gray-600 rounded-lg pl-10 pr-3 py-3 trails-text-primary bg-white dark:bg-gray-800 focus:outline-none focus:ring-2 focus:ring-blue-500"
634
- />
635
- </div>
636
-
637
- {/* Preset buttons */}
638
- <div className="flex gap-2">
639
- {AMOUNT_PRESETS.map((preset) => (
640
- <button
641
- key={preset}
642
- type="button"
643
- onClick={() => {
644
- const presetAmount = preset.toString()
645
- setAmount(presetAmount)
646
- // Persist to localStorage
647
- localStorage.setItem("meld-form-amount", presetAmount)
648
- }}
649
- className={`px-3 py-1 text-sm rounded-md border transition-colors ${
650
- amount === preset.toString()
651
- ? "bg-blue-100 border-blue-500 text-blue-700 dark:bg-blue-900/30 dark:border-blue-400 dark:text-blue-300"
652
- : "border-gray-300 dark:border-gray-600 trails-text-secondary hover:bg-gray-50 dark:hover:bg-gray-800"
653
- }`}
654
- >
655
- ${preset}
656
- </button>
657
- ))}
658
- </div>
659
- </div>
660
- </div>
661
-
662
- {/* Token Selection */}
663
- <div>
664
- <span className="block text-sm font-medium trails-text-primary mb-2">
665
- Token
666
- </span>
667
- <button
668
- type="button"
669
- onClick={onNavigateToTokens}
670
- className="w-full border border-gray-300 dark:border-gray-600 rounded-lg px-3 py-3 trails-text-primary bg-white dark:bg-gray-800 hover:bg-gray-50 dark:hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-blue-500 transition-colors cursor-pointer flex items-center justify-between"
671
- >
672
- <div className="flex items-center gap-3">
673
- <TokenImage
674
- symbol={selectedToken.symbol}
675
- chainId={selectedToken.chainId || getChainId(selectedToken.chain)}
676
- contractAddress={selectedToken.contractAddress}
677
- size={24}
678
- />
679
- <div className="text-left">
680
- <div className="font-medium">{selectedToken.symbol}</div>
681
- <div className="text-xs text-gray-500 dark:text-gray-400">
682
- {selectedToken.chainName}
683
- </div>
684
- </div>
685
- </div>
686
- <ChevronDown className="w-5 h-5 text-gray-500" />
687
- </button>
688
- </div>
689
-
690
- {/* Provider Selection */}
691
- <div>
692
- <span className="block text-sm font-medium trails-text-primary mb-2">
693
- Provider
694
- </span>
695
- {isLoadingProviders ? (
696
- <div className="border border-gray-300 dark:border-gray-600 rounded-lg px-3 py-3 flex items-center">
697
- <div className="animate-spin rounded-full h-4 w-4 border-b-2 border-blue-500 mr-2"></div>
698
- <span className="text-gray-600 dark:text-gray-400">
699
- Loading providers...
700
- </span>
701
- </div>
702
- ) : providers.length === 0 ? (
703
- <div className="border border-gray-300 dark:border-gray-600 rounded-lg px-3 py-3 text-gray-600 dark:text-gray-400">
704
- No providers available
705
- </div>
706
- ) : (
707
- <button
708
- type="button"
709
- onClick={onNavigateToProviders}
710
- className="w-full border border-gray-300 dark:border-gray-600 rounded-lg px-3 py-3 trails-text-primary bg-white dark:bg-gray-800 hover:bg-gray-50 dark:hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-blue-500 transition-colors cursor-pointer flex items-center justify-between"
711
- >
712
- <div className="flex items-center gap-3">
713
- <Building2 className="w-5 h-5 text-gray-500" />
714
- <span>
715
- {selectedProvider
716
- ? `${selectedProvider.serviceProvider} - $${selectedProvider.totalFee.toFixed(2)} fee`
717
- : "Select Provider"}
718
- </span>
719
- </div>
720
- <ChevronDown className="w-5 h-5 text-gray-500" />
721
- </button>
722
- )}
723
- </div>
724
-
725
- {/* Widget Session Error Display */}
726
- {widgetSessionError && (
727
- <ErrorDisplay error={widgetSessionError} severity="error" />
728
- )}
729
-
730
- {/* Continue to Provider Button */}
731
- <button
732
- type="button"
733
- onClick={handleContinue}
734
- disabled={
735
- isLoadingUrl ||
736
- !widgetUrl ||
737
- hasClickedContinue ||
738
- !selectedProvider ||
739
- !!widgetSessionError
740
- }
741
- className={`w-full flex items-center justify-center py-3 px-4 font-semibold rounded-lg transition-colors ${
742
- isLoadingUrl ||
743
- !widgetUrl ||
744
- hasClickedContinue ||
745
- !selectedProvider ||
746
- !!widgetSessionError
747
- ? "bg-gray-400 text-gray-200 cursor-not-allowed"
748
- : "bg-blue-600 hover:bg-blue-700 text-white cursor-pointer"
749
- }`}
750
- >
751
- {isLoadingUrl ? (
752
- <>
753
- <div className="animate-spin rounded-full h-4 w-4 border-b-2 border-white mr-2"></div>
754
- <span>Preparing...</span>
755
- </>
756
- ) : (
757
- <>
758
- <span>
759
- {hasClickedContinue ? "Provider Opened" : "Continue to Provider"}
760
- </span>
761
- <ExternalLink className="w-4 h-4 ml-2" />
762
- </>
763
- )}
764
- </button>
765
-
766
- {/* Enhanced Transaction Status Component */}
767
- <MeldTransactionStatus
768
- sessionId={currentSessionId}
769
- transactionId={currentTransactionId}
770
- externalSessionId={currentExternalSessionId}
771
- onStatusChange={handleTransactionStatusChange}
772
- onWindowClosed={handleWindowClosed}
773
- showTimeElapsed={true}
774
- showPopupOpened={hasClickedContinue}
775
- isPopupOpen={isPopupOpen}
776
- onSetWindowRef={setHookSetWindowRef}
777
- />
778
- </div>
779
- )
780
- }