0xtrails 0.13.1 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (804) hide show
  1. package/dist/abis/trailsHydrate.d.ts +5 -42
  2. package/dist/abis/trailsHydrate.d.ts.map +1 -1
  3. package/dist/abis/trailsRouter.d.ts +1 -1
  4. package/dist/abis/trailsRouter.d.ts.map +1 -1
  5. package/dist/{widget/analytics → analytics/hooks}/useWidgetAnalytics.d.ts +2 -4
  6. package/dist/analytics/hooks/useWidgetAnalytics.d.ts.map +1 -0
  7. package/dist/analytics.d.ts.map +1 -1
  8. package/dist/chainSwitch.d.ts.map +1 -1
  9. package/dist/chains-C1NhDLF_.js +4 -0
  10. package/dist/chains-CcoarGia.js +658 -0
  11. package/dist/chains.d.ts +0 -1
  12. package/dist/chains.d.ts.map +1 -1
  13. package/dist/committedIntentStore.d.ts +5 -0
  14. package/dist/committedIntentStore.d.ts.map +1 -0
  15. package/dist/config.d.ts +2 -0
  16. package/dist/config.d.ts.map +1 -1
  17. package/dist/constants.d.ts +3 -1
  18. package/dist/constants.d.ts.map +1 -1
  19. package/dist/customTokens.d.ts.map +1 -1
  20. package/dist/error.d.ts +73 -4
  21. package/dist/error.d.ts.map +1 -1
  22. package/dist/hooks/useAddressWalletIcon.d.ts.map +1 -0
  23. package/dist/hooks/useAmountUsd.d.ts.map +1 -0
  24. package/dist/hooks/useBalanceVisible.d.ts.map +1 -0
  25. package/dist/hooks/useChainFilter.d.ts.map +1 -0
  26. package/dist/{widget/hooks → hooks}/useCheckout.d.ts +15 -15
  27. package/dist/hooks/useCheckout.d.ts.map +1 -0
  28. package/dist/hooks/useClickTracking.d.ts.map +1 -0
  29. package/dist/{widget/hooks → hooks}/useCombinedHistory.d.ts +3 -2
  30. package/dist/hooks/useCombinedHistory.d.ts.map +1 -0
  31. package/dist/hooks/useConnector.d.ts.map +1 -0
  32. package/dist/{widget/hooks → hooks}/useCustomTokenSearch.d.ts +7 -2
  33. package/dist/hooks/useCustomTokenSearch.d.ts.map +1 -0
  34. package/dist/hooks/useDebounce.d.ts.map +1 -0
  35. package/dist/{widget/hooks → hooks}/useDebugScreens.d.ts +2 -2
  36. package/dist/hooks/useDebugScreens.d.ts.map +1 -0
  37. package/dist/{widget/hooks → hooks}/useDefaultDestinationToken.d.ts +1 -1
  38. package/dist/hooks/useDefaultDestinationToken.d.ts.map +1 -0
  39. package/dist/{widget/hooks → hooks}/useDefaultOriginToken.d.ts +1 -1
  40. package/dist/hooks/useDefaultOriginToken.d.ts.map +1 -0
  41. package/dist/hooks/useDepositMonitor.d.ts.map +1 -0
  42. package/dist/{widget/hooks → hooks}/useDestinationSelectedToken.d.ts +2 -2
  43. package/dist/hooks/useDestinationSelectedToken.d.ts.map +1 -0
  44. package/dist/hooks/useDisplayCurrencyPreference.d.ts.map +1 -0
  45. package/dist/{widget/hooks → hooks}/useEarnPool.d.ts +1 -1
  46. package/dist/hooks/useEarnPool.d.ts.map +1 -0
  47. package/dist/hooks/useEffectiveFundBalance.d.ts +28 -0
  48. package/dist/hooks/useEffectiveFundBalance.d.ts.map +1 -0
  49. package/dist/hooks/useExecutingIntentsCount.d.ts.map +1 -0
  50. package/dist/{widget/hooks → hooks}/useExternalFundingReceiptSync.d.ts +1 -1
  51. package/dist/hooks/useExternalFundingReceiptSync.d.ts.map +1 -0
  52. package/dist/{widget/hooks → hooks}/useFiatOnRampCurrencies.d.ts +2 -2
  53. package/dist/hooks/useFiatOnRampCurrencies.d.ts.map +1 -0
  54. package/dist/hooks/useFiatSelectedCurrency.d.ts.map +1 -0
  55. package/dist/hooks/useGetIntent.d.ts.map +1 -0
  56. package/dist/{widget/hooks → hooks}/useIntentReceiptBalances.d.ts +1 -1
  57. package/dist/hooks/useIntentReceiptBalances.d.ts.map +1 -0
  58. package/dist/{widget/hooks → hooks}/useIntentTransactionHistory.d.ts +2 -1
  59. package/dist/hooks/useIntentTransactionHistory.d.ts.map +1 -0
  60. package/dist/hooks/useIsMobile.d.ts.map +1 -0
  61. package/dist/hooks/useIsSequenceWallet.d.ts.map +1 -0
  62. package/dist/hooks/useLocalePreference.d.ts.map +1 -0
  63. package/dist/hooks/useMeldTransactionHistory.d.ts.map +1 -0
  64. package/dist/hooks/useMeldTransactionStatus.d.ts.map +1 -0
  65. package/dist/hooks/useOnRampCountryDefaults.d.ts.map +1 -0
  66. package/dist/{widget/hooks → hooks}/useOnRampPaymentMethods.d.ts +2 -2
  67. package/dist/hooks/useOnRampPaymentMethods.d.ts.map +1 -0
  68. package/dist/{widget/hooks → hooks}/useOnRampProviderWidget.d.ts +1 -1
  69. package/dist/hooks/useOnRampProviderWidget.d.ts.map +1 -0
  70. package/dist/{widget/hooks → hooks}/useOnRampQuote.d.ts +3 -3
  71. package/dist/hooks/useOnRampQuote.d.ts.map +1 -0
  72. package/dist/{widget/hooks → hooks}/useOnRampTransactionStatus.d.ts +1 -1
  73. package/dist/hooks/useOnRampTransactionStatus.d.ts.map +1 -0
  74. package/dist/{widget/hooks → hooks}/useOriginSelectedToken.d.ts +1 -1
  75. package/dist/hooks/useOriginSelectedToken.d.ts.map +1 -0
  76. package/dist/hooks/usePayMessage.d.ts.map +1 -0
  77. package/dist/hooks/usePriceImpactWarning.d.ts.map +1 -0
  78. package/dist/hooks/useQuote.d.ts +439 -0
  79. package/dist/hooks/useQuote.d.ts.map +1 -0
  80. package/dist/{widget/hooks → hooks}/useRecentTokens.d.ts +1 -1
  81. package/dist/hooks/useRecentTokens.d.ts.map +1 -0
  82. package/dist/hooks/useRecipients.d.ts.map +1 -0
  83. package/dist/hooks/useSelectedFeeOption.d.ts.map +1 -0
  84. package/dist/{widget/hooks → hooks}/useSelectedFundMethod.d.ts +18 -1
  85. package/dist/hooks/useSelectedFundMethod.d.ts.map +1 -0
  86. package/dist/hooks/useSelectedRecipient.d.ts.map +1 -0
  87. package/dist/{widget/hooks → hooks}/useSendForm.d.ts +6 -11
  88. package/dist/hooks/useSendForm.d.ts.map +1 -0
  89. package/dist/hooks/useSwapAmount.d.ts.map +1 -0
  90. package/dist/{widget/hooks → hooks}/useSwapState.d.ts +1 -1
  91. package/dist/hooks/useSwapState.d.ts.map +1 -0
  92. package/dist/hooks/useTargetAmount.d.ts.map +1 -0
  93. package/dist/hooks/useTheme.d.ts.map +1 -0
  94. package/dist/{widget/hooks → hooks}/useTokenList.d.ts +9 -3
  95. package/dist/hooks/useTokenList.d.ts.map +1 -0
  96. package/dist/{widget/hooks → hooks}/useTrailsSendTransaction.d.ts +1 -1
  97. package/dist/hooks/useTrailsSendTransaction.d.ts.map +1 -0
  98. package/dist/{widget/hooks → hooks}/useViewManager.d.ts +1 -1
  99. package/dist/hooks/useViewManager.d.ts.map +1 -0
  100. package/dist/hooks/useWalletConnectUri.d.ts +19 -0
  101. package/dist/hooks/useWalletConnectUri.d.ts.map +1 -0
  102. package/dist/hooks/useWalletConnectionContext.d.ts.map +1 -0
  103. package/dist/{widget/hooks → hooks}/useWidgetProps.d.ts +1 -1
  104. package/dist/hooks/useWidgetProps.d.ts.map +1 -0
  105. package/dist/hydrate/builder.d.ts +131 -0
  106. package/dist/hydrate/builder.d.ts.map +1 -0
  107. package/dist/hydrate/constants.d.ts +13 -0
  108. package/dist/hydrate/constants.d.ts.map +1 -0
  109. package/dist/hydrate/encodeExecute.d.ts +73 -0
  110. package/dist/hydrate/encodeExecute.d.ts.map +1 -0
  111. package/dist/hydrate/index.d.ts +6 -0
  112. package/dist/hydrate/index.d.ts.map +1 -0
  113. package/dist/hydrate/index.js +11 -0
  114. package/dist/hydrate/payload.d.ts +38 -0
  115. package/dist/hydrate/payload.d.ts.map +1 -0
  116. package/dist/hydrate/selectors.d.ts +28 -0
  117. package/dist/hydrate/selectors.d.ts.map +1 -0
  118. package/dist/hydrate/types.d.ts +19 -0
  119. package/dist/hydrate/types.d.ts.map +1 -0
  120. package/dist/hydrate/utils.d.ts +8 -0
  121. package/dist/hydrate/utils.d.ts.map +1 -0
  122. package/dist/hydrate-Cr9eaeDK.js +654 -0
  123. package/dist/index.d.ts +20 -13
  124. package/dist/index.d.ts.map +1 -1
  125. package/dist/index.js +156 -610
  126. package/dist/intentConfigStore.d.ts +8 -0
  127. package/dist/intentConfigStore.d.ts.map +1 -0
  128. package/dist/intentProtocolApi.d.ts +11 -0
  129. package/dist/intentProtocolApi.d.ts.map +1 -0
  130. package/dist/intentProtocolEncoding.d.ts +25 -0
  131. package/dist/intentProtocolEncoding.d.ts.map +1 -0
  132. package/dist/intentProtocolResolver.d.ts +28 -0
  133. package/dist/intentProtocolResolver.d.ts.map +1 -0
  134. package/dist/intentReceiptPoller.d.ts.map +1 -1
  135. package/dist/intentValidation.d.ts +5 -0
  136. package/dist/intentValidation.d.ts.map +1 -0
  137. package/dist/intents.d.ts +8 -2
  138. package/dist/intents.d.ts.map +1 -1
  139. package/dist/keyMachineClient.d.ts +9 -0
  140. package/dist/keyMachineClient.d.ts.map +1 -0
  141. package/dist/keymachine/index.d.ts +34 -0
  142. package/dist/keymachine/index.d.ts.map +1 -0
  143. package/dist/keymachine/key-machine.gen.d.ts +461 -0
  144. package/dist/keymachine/key-machine.gen.d.ts.map +1 -0
  145. package/dist/mutations.d.ts.map +1 -1
  146. package/dist/offlineRecovery.d.ts +24 -0
  147. package/dist/offlineRecovery.d.ts.map +1 -0
  148. package/dist/onramp/MeshConnectFlow.d.ts +27 -0
  149. package/dist/onramp/MeshConnectFlow.d.ts.map +1 -0
  150. package/dist/onramp/MeshConnectIframe.d.ts +22 -0
  151. package/dist/onramp/MeshConnectIframe.d.ts.map +1 -0
  152. package/dist/onramp/SendFromExchangeButton.d.ts +16 -0
  153. package/dist/onramp/SendFromExchangeButton.d.ts.map +1 -0
  154. package/dist/onramp/TrailsOnRampProvider.d.ts +31 -0
  155. package/dist/onramp/TrailsOnRampProvider.d.ts.map +1 -0
  156. package/dist/onramp/index.d.ts +13 -0
  157. package/dist/onramp/index.d.ts.map +1 -0
  158. package/dist/onramp/mesh/components/MeshExchangeConfirmation.d.ts +10 -0
  159. package/dist/onramp/mesh/components/MeshExchangeConfirmation.d.ts.map +1 -0
  160. package/dist/onramp/mesh/components/MeshExchangeIcon.d.ts +13 -0
  161. package/dist/onramp/mesh/components/MeshExchangeIcon.d.ts.map +1 -0
  162. package/dist/onramp/mesh/components/MeshExchangeSelection.d.ts +12 -0
  163. package/dist/onramp/mesh/components/MeshExchangeSelection.d.ts.map +1 -0
  164. package/dist/onramp/mesh/components/MeshSessionOptions.d.ts +15 -0
  165. package/dist/onramp/mesh/components/MeshSessionOptions.d.ts.map +1 -0
  166. package/dist/onramp/mesh/hooks/useMeshAccessTokens.d.ts +9 -0
  167. package/dist/onramp/mesh/hooks/useMeshAccessTokens.d.ts.map +1 -0
  168. package/dist/onramp/mesh/hooks/useMeshFundingSelection.d.ts +11 -0
  169. package/dist/onramp/mesh/hooks/useMeshFundingSelection.d.ts.map +1 -0
  170. package/dist/onramp/mesh/hooks/useMeshOnrampFlow.d.ts +71 -0
  171. package/dist/onramp/mesh/hooks/useMeshOnrampFlow.d.ts.map +1 -0
  172. package/dist/onramp/mesh/hooks/useMeshOnrampSessionState.d.ts +32 -0
  173. package/dist/onramp/mesh/hooks/useMeshOnrampSessionState.d.ts.map +1 -0
  174. package/dist/onramp/mesh/hooks/useMeshSelectedTokenBalance.d.ts +19 -0
  175. package/dist/onramp/mesh/hooks/useMeshSelectedTokenBalance.d.ts.map +1 -0
  176. package/dist/onramp/mesh/hooks/useMeshSessionAccountBalance.d.ts +15 -0
  177. package/dist/onramp/mesh/hooks/useMeshSessionAccountBalance.d.ts.map +1 -0
  178. package/dist/onramp/mesh/hooks/useMeshSessionStorage.d.ts +7 -0
  179. package/dist/onramp/mesh/hooks/useMeshSessionStorage.d.ts.map +1 -0
  180. package/dist/onramp/meshSessionStorage.d.ts +13 -0
  181. package/dist/onramp/meshSessionStorage.d.ts.map +1 -0
  182. package/dist/onramp/meshconnect.d.ts +32 -0
  183. package/dist/onramp/meshconnect.d.ts.map +1 -0
  184. package/dist/onramp/trailsOnramp.d.ts +32 -0
  185. package/dist/onramp/trailsOnramp.d.ts.map +1 -0
  186. package/dist/onramp-client/index.d.ts +3 -3
  187. package/dist/onramp-client/index.d.ts.map +1 -1
  188. package/dist/onrampClient.d.ts.map +1 -1
  189. package/dist/prepareSend.d.ts +3 -2
  190. package/dist/prepareSend.d.ts.map +1 -1
  191. package/dist/query/balance.fetchers.d.ts +27 -0
  192. package/dist/query/balance.fetchers.d.ts.map +1 -1
  193. package/dist/query/balance.hooks.d.ts +19 -0
  194. package/dist/query/balance.hooks.d.ts.map +1 -1
  195. package/dist/query/balance.queries.d.ts +18 -1
  196. package/dist/query/balance.queries.d.ts.map +1 -1
  197. package/dist/query/chains.queries.d.ts.map +1 -1
  198. package/dist/query/intentProtocol.queries.d.ts +32 -0
  199. package/dist/query/intentProtocol.queries.d.ts.map +1 -0
  200. package/dist/query/meld.fetchers.d.ts +1 -1
  201. package/dist/query/meld.fetchers.d.ts.map +1 -1
  202. package/dist/query/meld.hooks.d.ts +3 -3
  203. package/dist/query/meld.hooks.d.ts.map +1 -1
  204. package/dist/query/meld.queries.d.ts +1 -1
  205. package/dist/query/meld.queries.d.ts.map +1 -1
  206. package/dist/query/tokenList.queries.d.ts +54 -0
  207. package/dist/query/tokenList.queries.d.ts.map +1 -0
  208. package/dist/recover.d.ts +71 -23
  209. package/dist/recover.d.ts.map +1 -1
  210. package/dist/src-4HYDQv2T.js +48798 -0
  211. package/dist/tokens.d.ts +13 -0
  212. package/dist/tokens.d.ts.map +1 -1
  213. package/dist/transactionIntent/deposits/depositOrchestrator.d.ts +3 -4
  214. package/dist/transactionIntent/deposits/depositOrchestrator.d.ts.map +1 -1
  215. package/dist/transactionIntent/deposits/gaslessDeposit.d.ts +3 -4
  216. package/dist/transactionIntent/deposits/gaslessDeposit.d.ts.map +1 -1
  217. package/dist/transactionIntent/deposits/standardDeposit.d.ts +2 -5
  218. package/dist/transactionIntent/deposits/standardDeposit.d.ts.map +1 -1
  219. package/dist/transactionIntent/handlers/intentHandler.d.ts +4 -4
  220. package/dist/transactionIntent/handlers/intentHandler.d.ts.map +1 -1
  221. package/dist/transactionIntent/helpers/transactionStateHelpers.d.ts.map +1 -1
  222. package/dist/transactionIntent/quote/normalizeQuote.d.ts.map +1 -1
  223. package/dist/transactionIntent/quote/quoteHelpers.d.ts +2 -2
  224. package/dist/transactionIntent/quote/quoteHelpers.d.ts.map +1 -1
  225. package/dist/transactionIntent/types.d.ts +4 -4
  226. package/dist/transactionIntent/types.d.ts.map +1 -1
  227. package/dist/transactions.d.ts +4 -0
  228. package/dist/transactions.d.ts.map +1 -1
  229. package/dist/umd/trails.min.js +1371 -322
  230. package/dist/utils/localStorageGc.d.ts +22 -0
  231. package/dist/utils/localStorageGc.d.ts.map +1 -0
  232. package/dist/walletUtils.d.ts +2 -1
  233. package/dist/walletUtils.d.ts.map +1 -1
  234. package/dist/wallets.d.ts +13 -54
  235. package/dist/wallets.d.ts.map +1 -1
  236. package/dist/widget/components/AccountIntentTransactionHistory.d.ts.map +1 -1
  237. package/dist/widget/components/ClassicSwap.d.ts.map +1 -1
  238. package/dist/widget/components/ConnectWallet.d.ts.map +1 -1
  239. package/dist/widget/components/ConnectedWallets.d.ts +1 -1
  240. package/dist/widget/components/ConnectedWallets.d.ts.map +1 -1
  241. package/dist/widget/components/DirectTransfer.d.ts +1 -1
  242. package/dist/widget/components/DirectTransfer.d.ts.map +1 -1
  243. package/dist/widget/components/Earn.d.ts +2 -6
  244. package/dist/widget/components/Earn.d.ts.map +1 -1
  245. package/dist/widget/components/FeeOption.d.ts +1 -1
  246. package/dist/widget/components/FeeOption.d.ts.map +1 -1
  247. package/dist/widget/components/FeeOptions.d.ts +1 -1
  248. package/dist/widget/components/FeeOptions.d.ts.map +1 -1
  249. package/dist/widget/components/FiatSelector.d.ts +1 -1
  250. package/dist/widget/components/FiatSelector.d.ts.map +1 -1
  251. package/dist/widget/components/FiatSelectorButton.d.ts +1 -1
  252. package/dist/widget/components/FiatSelectorButton.d.ts.map +1 -1
  253. package/dist/widget/components/Fund.d.ts +1 -1
  254. package/dist/widget/components/Fund.d.ts.map +1 -1
  255. package/dist/widget/components/FundMethods.d.ts.map +1 -1
  256. package/dist/widget/components/FundingMethodSelectorButton.d.ts +1 -1
  257. package/dist/widget/components/FundingMethodSelectorButton.d.ts.map +1 -1
  258. package/dist/widget/components/MeldHistory.d.ts +1 -1
  259. package/dist/widget/components/MeldHistory.d.ts.map +1 -1
  260. package/dist/widget/components/MeldTransactionStatus.d.ts +1 -1
  261. package/dist/widget/components/MeldTransactionStatus.d.ts.map +1 -1
  262. package/dist/widget/components/MeshExchangeAccountHeader.d.ts +9 -0
  263. package/dist/widget/components/MeshExchangeAccountHeader.d.ts.map +1 -0
  264. package/dist/widget/components/OnrampHistoryRow.d.ts +2 -2
  265. package/dist/widget/components/OnrampHistoryRow.d.ts.map +1 -1
  266. package/dist/widget/components/OnrampProviderConfirmation.d.ts +1 -1
  267. package/dist/widget/components/OnrampProviderConfirmation.d.ts.map +1 -1
  268. package/dist/widget/components/Pay.d.ts.map +1 -1
  269. package/dist/widget/components/PoolDeposit.d.ts +2 -6
  270. package/dist/widget/components/PoolDeposit.d.ts.map +1 -1
  271. package/dist/widget/components/PoolWithdraw.d.ts +2 -2
  272. package/dist/widget/components/PoolWithdraw.d.ts.map +1 -1
  273. package/dist/widget/components/PulsatingButton.d.ts +9 -0
  274. package/dist/widget/components/PulsatingButton.d.ts.map +1 -0
  275. package/dist/widget/components/QRCodeWalletSelect.d.ts +1 -1
  276. package/dist/widget/components/QRCodeWalletSelect.d.ts.map +1 -1
  277. package/dist/widget/components/QuoteDetails.d.ts.map +1 -1
  278. package/dist/widget/components/Receipt.d.ts +1 -1
  279. package/dist/widget/components/Receipt.d.ts.map +1 -1
  280. package/dist/widget/components/RecipientSelectorButton.d.ts.map +1 -1
  281. package/dist/widget/components/Recipients.d.ts.map +1 -1
  282. package/dist/widget/components/RefundWarning.d.ts.map +1 -1
  283. package/dist/widget/components/Swap.d.ts +2 -6
  284. package/dist/widget/components/Swap.d.ts.map +1 -1
  285. package/dist/widget/components/TokenList.d.ts +1 -0
  286. package/dist/widget/components/TokenList.d.ts.map +1 -1
  287. package/dist/widget/components/TokenSelector.d.ts +1 -2
  288. package/dist/widget/components/TokenSelector.d.ts.map +1 -1
  289. package/dist/widget/components/TransactionDetails.d.ts +1 -0
  290. package/dist/widget/components/TransactionDetails.d.ts.map +1 -1
  291. package/dist/widget/components/TransactionHistoryItem.d.ts +1 -0
  292. package/dist/widget/components/TransactionHistoryItem.d.ts.map +1 -1
  293. package/dist/widget/components/TransferPendingVertical.d.ts +2 -1
  294. package/dist/widget/components/TransferPendingVertical.d.ts.map +1 -1
  295. package/dist/widget/components/WalletAccountHeader.d.ts +7 -0
  296. package/dist/widget/components/WalletAccountHeader.d.ts.map +1 -0
  297. package/dist/widget/components/WalletConfirmation.d.ts +2 -1
  298. package/dist/widget/components/WalletConfirmation.d.ts.map +1 -1
  299. package/dist/widget/components/WalletConnect.d.ts.map +1 -1
  300. package/dist/widget/components/WalletList.d.ts.map +1 -1
  301. package/dist/widget/components/WidgetProviders.d.ts.map +1 -1
  302. package/dist/widget/components/Withdraw.d.ts.map +1 -1
  303. package/dist/widget/index.d.ts +13 -0
  304. package/dist/widget/index.d.ts.map +1 -1
  305. package/dist/widget/index.js +16 -8
  306. package/dist/widget/modes/EarnWidget.d.ts +83 -0
  307. package/dist/widget/modes/EarnWidget.d.ts.map +1 -0
  308. package/dist/widget/modes/FundWidget.d.ts +103 -0
  309. package/dist/widget/modes/FundWidget.d.ts.map +1 -0
  310. package/dist/widget/modes/PayWidget.d.ts +86 -0
  311. package/dist/widget/modes/PayWidget.d.ts.map +1 -0
  312. package/dist/widget/modes/SwapWidget.d.ts +82 -0
  313. package/dist/widget/modes/SwapWidget.d.ts.map +1 -0
  314. package/dist/widget/modes/WithdrawWidget.d.ts +71 -0
  315. package/dist/widget/modes/WithdrawWidget.d.ts.map +1 -0
  316. package/dist/widget/providers/TrailsProvider.d.ts +5 -0
  317. package/dist/widget/providers/TrailsProvider.d.ts.map +1 -1
  318. package/dist/widget/shared/mapSharedProps.d.ts +9 -0
  319. package/dist/widget/shared/mapSharedProps.d.ts.map +1 -0
  320. package/dist/widget/shared/methodMap.d.ts +18 -0
  321. package/dist/widget/shared/methodMap.d.ts.map +1 -0
  322. package/dist/widget/shared/resolution.d.ts +22 -0
  323. package/dist/widget/shared/resolution.d.ts.map +1 -0
  324. package/dist/widget/shared/resolvePaymentSource.d.ts +34 -0
  325. package/dist/widget/shared/resolvePaymentSource.d.ts.map +1 -0
  326. package/dist/widget/shared/types.d.ts +94 -0
  327. package/dist/widget/shared/types.d.ts.map +1 -0
  328. package/dist/widget/types/commonProps.d.ts +3 -7
  329. package/dist/widget/types/commonProps.d.ts.map +1 -1
  330. package/dist/widget/utils/createWagmiConfig.d.ts +2 -2
  331. package/dist/widget/utils/createWagmiConfig.d.ts.map +1 -1
  332. package/dist/widget/utils/fundMethodSwitchState.d.ts +2 -0
  333. package/dist/widget/utils/fundMethodSwitchState.d.ts.map +1 -1
  334. package/dist/widget/utils/meldProviderUtils.d.ts +1 -1
  335. package/dist/widget/utils/meldProviderUtils.d.ts.map +1 -1
  336. package/dist/widget/utils/meshSupportedTokens.d.ts +4 -0
  337. package/dist/widget/utils/meshSupportedTokens.d.ts.map +1 -0
  338. package/dist/widget/utils/onrampConfig.d.ts +11 -0
  339. package/dist/widget/utils/onrampConfig.d.ts.map +1 -0
  340. package/dist/widget/utils/trailsOnrampConfig.d.ts +18 -0
  341. package/dist/widget/utils/trailsOnrampConfig.d.ts.map +1 -0
  342. package/dist/widget/utils/viewManagerGuards.d.ts +1 -1
  343. package/dist/widget/utils/viewManagerGuards.d.ts.map +1 -1
  344. package/dist/widget/widget.d.ts +45 -24
  345. package/dist/widget/widget.d.ts.map +1 -1
  346. package/package.json +20 -24
  347. package/dist/buffer.d.ts +0 -3
  348. package/dist/buffer.d.ts.map +0 -1
  349. package/dist/ccip-DStzFCYT.js +0 -230
  350. package/dist/index-HY9_ppit.js +0 -101240
  351. package/dist/onramp-client/trails-onramp.gen.d.ts +0 -570
  352. package/dist/onramp-client/trails-onramp.gen.d.ts.map +0 -1
  353. package/dist/paymasterSend.d.ts +0 -90
  354. package/dist/paymasterSend.d.ts.map +0 -1
  355. package/dist/sendUserOp.d.ts +0 -122
  356. package/dist/sendUserOp.d.ts.map +0 -1
  357. package/dist/toSimpleSmartAccount.d.ts +0 -95
  358. package/dist/toSimpleSmartAccount.d.ts.map +0 -1
  359. package/dist/transactionIntent/utils/erc20Approval.d.ts +0 -34
  360. package/dist/transactionIntent/utils/erc20Approval.d.ts.map +0 -1
  361. package/dist/utils/allowance.d.ts +0 -19
  362. package/dist/utils/allowance.d.ts.map +0 -1
  363. package/dist/widget/analytics/useWidgetAnalytics.d.ts.map +0 -1
  364. package/dist/widget/components/FeeBreakdown.d.ts +0 -9
  365. package/dist/widget/components/FeeBreakdown.d.ts.map +0 -1
  366. package/dist/widget/components/HideBalances.d.ts +0 -4
  367. package/dist/widget/components/HideBalances.d.ts.map +0 -1
  368. package/dist/widget/components/OnrampDeposit.d.ts +0 -10
  369. package/dist/widget/components/OnrampDeposit.d.ts.map +0 -1
  370. package/dist/widget/components/SwapSettings.d.ts +0 -4
  371. package/dist/widget/components/SwapSettings.d.ts.map +0 -1
  372. package/dist/widget/components/TruncatedAddress.d.ts +0 -12
  373. package/dist/widget/components/TruncatedAddress.d.ts.map +0 -1
  374. package/dist/widget/components/WalletImage.d.ts +0 -8
  375. package/dist/widget/components/WalletImage.d.ts.map +0 -1
  376. package/dist/widget/css/compiled.css +0 -26
  377. package/dist/widget/css/index.css +0 -686
  378. package/dist/widget/hooks/useAddressWalletIcon.d.ts.map +0 -1
  379. package/dist/widget/hooks/useAmountUsd.d.ts.map +0 -1
  380. package/dist/widget/hooks/useBalanceVisible.d.ts.map +0 -1
  381. package/dist/widget/hooks/useChainFilter.d.ts.map +0 -1
  382. package/dist/widget/hooks/useCheckout.d.ts.map +0 -1
  383. package/dist/widget/hooks/useClickTracking.d.ts.map +0 -1
  384. package/dist/widget/hooks/useCombinedHistory.d.ts.map +0 -1
  385. package/dist/widget/hooks/useConnector.d.ts.map +0 -1
  386. package/dist/widget/hooks/useCustomTokenFetch.d.ts +0 -19
  387. package/dist/widget/hooks/useCustomTokenFetch.d.ts.map +0 -1
  388. package/dist/widget/hooks/useCustomTokenSearch.d.ts.map +0 -1
  389. package/dist/widget/hooks/useDebounce.d.ts.map +0 -1
  390. package/dist/widget/hooks/useDebugScreens.d.ts.map +0 -1
  391. package/dist/widget/hooks/useDefaultDestinationToken.d.ts.map +0 -1
  392. package/dist/widget/hooks/useDefaultOriginToken.d.ts.map +0 -1
  393. package/dist/widget/hooks/useDepositMonitor.d.ts.map +0 -1
  394. package/dist/widget/hooks/useDestinationSelectedToken.d.ts.map +0 -1
  395. package/dist/widget/hooks/useDisplayCurrencyPreference.d.ts.map +0 -1
  396. package/dist/widget/hooks/useEarnPool.d.ts.map +0 -1
  397. package/dist/widget/hooks/useExecutingIntentsCount.d.ts.map +0 -1
  398. package/dist/widget/hooks/useExternalFundingReceiptSync.d.ts.map +0 -1
  399. package/dist/widget/hooks/useFiatOnRampCurrencies.d.ts.map +0 -1
  400. package/dist/widget/hooks/useFiatSelectedCurrency.d.ts.map +0 -1
  401. package/dist/widget/hooks/useGetIntent.d.ts.map +0 -1
  402. package/dist/widget/hooks/useIntentReceiptBalances.d.ts.map +0 -1
  403. package/dist/widget/hooks/useIntentTransactionHistory.d.ts.map +0 -1
  404. package/dist/widget/hooks/useIsConnectedWalletSmartContract.d.ts +0 -7
  405. package/dist/widget/hooks/useIsConnectedWalletSmartContract.d.ts.map +0 -1
  406. package/dist/widget/hooks/useIsMobile.d.ts.map +0 -1
  407. package/dist/widget/hooks/useIsSequenceWallet.d.ts.map +0 -1
  408. package/dist/widget/hooks/useLocalePreference.d.ts.map +0 -1
  409. package/dist/widget/hooks/useMeldTransactionHistory.d.ts.map +0 -1
  410. package/dist/widget/hooks/useMeldTransactionStatus.d.ts.map +0 -1
  411. package/dist/widget/hooks/useOnRampCountryDefaults.d.ts.map +0 -1
  412. package/dist/widget/hooks/useOnRampPaymentMethods.d.ts.map +0 -1
  413. package/dist/widget/hooks/useOnRampProviderWidget.d.ts.map +0 -1
  414. package/dist/widget/hooks/useOnRampQuote.d.ts.map +0 -1
  415. package/dist/widget/hooks/useOnRampTransactionStatus.d.ts.map +0 -1
  416. package/dist/widget/hooks/useOriginSelectedToken.d.ts.map +0 -1
  417. package/dist/widget/hooks/usePayMessage.d.ts.map +0 -1
  418. package/dist/widget/hooks/usePriceImpactWarning.d.ts.map +0 -1
  419. package/dist/widget/hooks/useQuote.d.ts +0 -378
  420. package/dist/widget/hooks/useQuote.d.ts.map +0 -1
  421. package/dist/widget/hooks/useRecentTokens.d.ts.map +0 -1
  422. package/dist/widget/hooks/useRecipients.d.ts.map +0 -1
  423. package/dist/widget/hooks/useScreenTracking.d.ts +0 -2
  424. package/dist/widget/hooks/useScreenTracking.d.ts.map +0 -1
  425. package/dist/widget/hooks/useSelectedFeeOption.d.ts.map +0 -1
  426. package/dist/widget/hooks/useSelectedFundMethod.d.ts.map +0 -1
  427. package/dist/widget/hooks/useSelectedRecipient.d.ts.map +0 -1
  428. package/dist/widget/hooks/useSendForm.d.ts.map +0 -1
  429. package/dist/widget/hooks/useSwapAmount.d.ts.map +0 -1
  430. package/dist/widget/hooks/useSwapState.d.ts.map +0 -1
  431. package/dist/widget/hooks/useTargetAmount.d.ts.map +0 -1
  432. package/dist/widget/hooks/useTheme.d.ts.map +0 -1
  433. package/dist/widget/hooks/useTokenList.d.ts.map +0 -1
  434. package/dist/widget/hooks/useTokenWithFreshBalance.d.ts +0 -18
  435. package/dist/widget/hooks/useTokenWithFreshBalance.d.ts.map +0 -1
  436. package/dist/widget/hooks/useTrailsSendTransaction.d.ts.map +0 -1
  437. package/dist/widget/hooks/useViewManager.d.ts.map +0 -1
  438. package/dist/widget/hooks/useWalletConnectUri.d.ts +0 -11
  439. package/dist/widget/hooks/useWalletConnectUri.d.ts.map +0 -1
  440. package/dist/widget/hooks/useWalletConnectionContext.d.ts.map +0 -1
  441. package/dist/widget/hooks/useWidgetProps.d.ts.map +0 -1
  442. package/dist/widget/types.d.ts +0 -44
  443. package/dist/widget/types.d.ts.map +0 -1
  444. package/dist/widget/utils/historyUtils.d.ts +0 -18
  445. package/dist/widget/utils/historyUtils.d.ts.map +0 -1
  446. package/src/abi.ts +0 -38
  447. package/src/abis/erc20.ts +0 -60
  448. package/src/abis/trailsHydrate.ts +0 -185
  449. package/src/abis/trailsRouter.ts +0 -121
  450. package/src/abis/trailsSweep.ts +0 -32
  451. package/src/abortController.ts +0 -35
  452. package/src/analytics.ts +0 -2029
  453. package/src/buffer.ts +0 -10
  454. package/src/chainSwitch.ts +0 -95
  455. package/src/chains.ts +0 -565
  456. package/src/config.ts +0 -118
  457. package/src/constants.ts +0 -237
  458. package/src/contractUtils.ts +0 -46
  459. package/src/cssUtils.ts +0 -5
  460. package/src/customChains.ts +0 -24
  461. package/src/customTokens.ts +0 -147
  462. package/src/decoders.ts +0 -365
  463. package/src/ens.ts +0 -74
  464. package/src/error.ts +0 -268
  465. package/src/estimate.ts +0 -480
  466. package/src/explorer.ts +0 -38
  467. package/src/fees.ts +0 -362
  468. package/src/gasless.ts +0 -638
  469. package/src/index.ts +0 -204
  470. package/src/indexerClient.ts +0 -118
  471. package/src/intentReceiptMonitor.ts +0 -99
  472. package/src/intentReceiptPoller.ts +0 -327
  473. package/src/intents.ts +0 -1125
  474. package/src/localeUtils.ts +0 -244
  475. package/src/logger/index.ts +0 -95
  476. package/src/logger/useSyncLoggerDebug.ts +0 -11
  477. package/src/logger.ts +0 -1
  478. package/src/meld/components/MeldCountriesList.tsx +0 -237
  479. package/src/meld/components/MeldFundMethods.tsx +0 -265
  480. package/src/meld/components/MeldProvidersList.tsx +0 -187
  481. package/src/meld/components/MeldTokensList.tsx +0 -321
  482. package/src/meld/components/SimpleHeader.tsx +0 -35
  483. package/src/meld/utils/meld.ts +0 -77
  484. package/src/mutations.ts +0 -166
  485. package/src/onramp-client/index.ts +0 -54
  486. package/src/onramp-client/trails-onramp.gen.ts +0 -1320
  487. package/src/onrampClient.ts +0 -46
  488. package/src/paymasterSend.ts +0 -521
  489. package/src/placeholder.ts +0 -92
  490. package/src/poolUtils.ts +0 -222
  491. package/src/pools.ts +0 -120
  492. package/src/prepareSend.ts +0 -552
  493. package/src/query/balance.fetchers.ts +0 -623
  494. package/src/query/balance.hooks.ts +0 -298
  495. package/src/query/balance.queries.ts +0 -244
  496. package/src/query/chains.hooks.ts +0 -45
  497. package/src/query/chains.queries.ts +0 -22
  498. package/src/query/client.ts +0 -20
  499. package/src/query/fiat.fetchers.ts +0 -33
  500. package/src/query/fiat.hooks.ts +0 -71
  501. package/src/query/fiat.queries.ts +0 -67
  502. package/src/query/geo.fetchers.ts +0 -100
  503. package/src/query/geo.hooks.ts +0 -16
  504. package/src/query/geo.queries.ts +0 -36
  505. package/src/query/helpers.ts +0 -81
  506. package/src/query/meld.fetchers.ts +0 -97
  507. package/src/query/meld.hooks.ts +0 -18
  508. package/src/query/meld.queries.ts +0 -184
  509. package/src/query/persister.ts +0 -11
  510. package/src/query/price.fetchers.ts +0 -53
  511. package/src/query/price.hooks.ts +0 -46
  512. package/src/query/price.queries.ts +0 -364
  513. package/src/queryParams.ts +0 -100
  514. package/src/recover.ts +0 -1665
  515. package/src/sendUserOp.ts +0 -512
  516. package/src/theme.ts +0 -2
  517. package/src/toSimpleSmartAccount.ts +0 -567
  518. package/src/toast.ts +0 -110
  519. package/src/tokens.ts +0 -1780
  520. package/src/trailsClient.ts +0 -40
  521. package/src/transactionIntent/constants.ts +0 -15
  522. package/src/transactionIntent/deposits/depositOrchestrator.ts +0 -243
  523. package/src/transactionIntent/deposits/gaslessDeposit.ts +0 -705
  524. package/src/transactionIntent/deposits/index.ts +0 -3
  525. package/src/transactionIntent/deposits/standardDeposit.ts +0 -594
  526. package/src/transactionIntent/execution/index.ts +0 -1
  527. package/src/transactionIntent/execution/transactionState.ts +0 -38
  528. package/src/transactionIntent/handlers/index.ts +0 -1
  529. package/src/transactionIntent/handlers/intentHandler.ts +0 -1596
  530. package/src/transactionIntent/helpers/index.ts +0 -1
  531. package/src/transactionIntent/helpers/transactionStateHelpers.ts +0 -437
  532. package/src/transactionIntent/index.ts +0 -10
  533. package/src/transactionIntent/quote/feeExtractors.ts +0 -61
  534. package/src/transactionIntent/quote/index.ts +0 -3
  535. package/src/transactionIntent/quote/normalizeQuote.ts +0 -553
  536. package/src/transactionIntent/quote/quoteHelpers.ts +0 -117
  537. package/src/transactionIntent/types.ts +0 -241
  538. package/src/transactionIntent/utils/balanceChecker.ts +0 -103
  539. package/src/transactionIntent/utils/erc20Approval.ts +0 -171
  540. package/src/transactionIntent/utils/index.ts +0 -2
  541. package/src/transactionIntent/utils/resilientDepositTracker.ts +0 -171
  542. package/src/transactionIntent/utils/testnetHelpers.ts +0 -5
  543. package/src/transactionIntent/validators.ts +0 -27
  544. package/src/transactions.ts +0 -426
  545. package/src/types.d.ts +0 -16
  546. package/src/umd.tsx +0 -33
  547. package/src/utils/address.ts +0 -78
  548. package/src/utils/allowance.ts +0 -47
  549. package/src/utils/fiat.ts +0 -32
  550. package/src/utils/format.ts +0 -625
  551. package/src/utils/passthrough.ts +0 -93
  552. package/src/utils/time.ts +0 -118
  553. package/src/utils/validation.ts +0 -104
  554. package/src/utils.ts +0 -112
  555. package/src/version.ts +0 -8
  556. package/src/vite-env.d.ts +0 -4
  557. package/src/walletUtils.ts +0 -292
  558. package/src/wallets.ts +0 -740
  559. package/src/widget/analytics/useWidgetAnalytics.ts +0 -56
  560. package/src/widget/assets/Binance_Icon_Logo.svg +0 -14
  561. package/src/widget/assets/Bitfinex_Icon_Logo.svg +0 -5
  562. package/src/widget/assets/Coinbase_Icon_Logo.svg +0 -1
  563. package/src/widget/assets/Exchange-icon-black.svg +0 -5
  564. package/src/widget/assets/MetaMask-icon-fox-with-margins.svg +0 -31
  565. package/src/widget/assets/MetaMask-icon-fox.svg +0 -26
  566. package/src/widget/assets/MetaMask-logo-black.svg +0 -3
  567. package/src/widget/assets/MetaMask-logo-white.svg +0 -16
  568. package/src/widget/assets/Trails-logo-black.svg +0 -13
  569. package/src/widget/assets/Trails-logo-white.svg +0 -13
  570. package/src/widget/assets/WalletChange-black.svg +0 -5
  571. package/src/widget/assets/WalletConnect-logo-black.svg +0 -14
  572. package/src/widget/assets/WalletConnect-logo-blue-bg.svg +0 -11
  573. package/src/widget/assets/WalletConnect-logo-blue.svg +0 -14
  574. package/src/widget/assets/WalletConnect-logo-white.svg +0 -14
  575. package/src/widget/assets/WalletConnect-logo.svg +0 -40
  576. package/src/widget/assets/aave.svg +0 -14
  577. package/src/widget/assets/morpho.svg +0 -14
  578. package/src/widget/assets/sequence-logo.svg +0 -15
  579. package/src/widget/compiled.css +0 -26
  580. package/src/widget/components/AccountActionsDropdown.tsx +0 -31
  581. package/src/widget/components/AccountIntentTransactionHistory.tsx +0 -756
  582. package/src/widget/components/AccountIntentTransactionHistoryButton.tsx +0 -34
  583. package/src/widget/components/AccountSettings.tsx +0 -168
  584. package/src/widget/components/AddressOrEnsName.tsx +0 -24
  585. package/src/widget/components/AddressWalletIcon.tsx +0 -49
  586. package/src/widget/components/AllChainsIcon.tsx +0 -54
  587. package/src/widget/components/ChainFilterDropdown.tsx +0 -220
  588. package/src/widget/components/ChainImage.tsx +0 -40
  589. package/src/widget/components/ChainList.tsx +0 -158
  590. package/src/widget/components/ClassicSwap.tsx +0 -1744
  591. package/src/widget/components/ConfigDisplay.tsx +0 -158
  592. package/src/widget/components/ConnectWallet.tsx +0 -564
  593. package/src/widget/components/ConnectedWallets.tsx +0 -417
  594. package/src/widget/components/CopyButton.tsx +0 -108
  595. package/src/widget/components/CountryFilterDropdown.tsx +0 -179
  596. package/src/widget/components/DebugMenu.tsx +0 -50
  597. package/src/widget/components/DebugScreensList.tsx +0 -70
  598. package/src/widget/components/DebugToast.tsx +0 -63
  599. package/src/widget/components/DepositTracker.tsx +0 -326
  600. package/src/widget/components/DirectTransfer.tsx +0 -302
  601. package/src/widget/components/Disconnect.tsx +0 -68
  602. package/src/widget/components/DynamicInputStyles.tsx +0 -121
  603. package/src/widget/components/DynamicSizeInputField.tsx +0 -245
  604. package/src/widget/components/ENSAvatar.tsx +0 -33
  605. package/src/widget/components/Earn.tsx +0 -160
  606. package/src/widget/components/EarnPools.tsx +0 -417
  607. package/src/widget/components/EarnPoolsFilters.tsx +0 -165
  608. package/src/widget/components/ErrorAnimationIcon.tsx +0 -130
  609. package/src/widget/components/ErrorDisplay.tsx +0 -152
  610. package/src/widget/components/ExecutingIntentsBadge.tsx +0 -24
  611. package/src/widget/components/ExecutionStatusBadge.tsx +0 -53
  612. package/src/widget/components/FeeBreakdown.tsx +0 -155
  613. package/src/widget/components/FeeOption.tsx +0 -170
  614. package/src/widget/components/FeeOptions.tsx +0 -247
  615. package/src/widget/components/FiatSelector.tsx +0 -308
  616. package/src/widget/components/FiatSelectorButton.tsx +0 -68
  617. package/src/widget/components/Footer.tsx +0 -67
  618. package/src/widget/components/Fund.tsx +0 -2331
  619. package/src/widget/components/FundMethods.tsx +0 -427
  620. package/src/widget/components/FundWalletSelection.tsx +0 -60
  621. package/src/widget/components/FundingMethodSelectorButton.tsx +0 -106
  622. package/src/widget/components/GreenCheckAnimation.tsx +0 -119
  623. package/src/widget/components/HideBalances.tsx +0 -24
  624. package/src/widget/components/HighPriceImpactBlock.tsx +0 -44
  625. package/src/widget/components/HookModalContent.tsx +0 -377
  626. package/src/widget/components/Identicon.tsx +0 -228
  627. package/src/widget/components/LoadingSpinner.tsx +0 -9
  628. package/src/widget/components/MeldForm.tsx +0 -780
  629. package/src/widget/components/MeldHistory.tsx +0 -433
  630. package/src/widget/components/MeldStepsFlow.tsx +0 -1651
  631. package/src/widget/components/MeldTransactionStatus.tsx +0 -255
  632. package/src/widget/components/Modal.tsx +0 -86
  633. package/src/widget/components/OFTProgressBar.tsx +0 -89
  634. package/src/widget/components/OnRampProviderSelector.tsx +0 -263
  635. package/src/widget/components/OnrampDeposit.tsx +0 -122
  636. package/src/widget/components/OnrampErrorScreen.tsx +0 -163
  637. package/src/widget/components/OnrampHistoryRow.tsx +0 -321
  638. package/src/widget/components/OnrampPaymentMethods.tsx +0 -81
  639. package/src/widget/components/OnrampProviderConfirmation.tsx +0 -1060
  640. package/src/widget/components/OriginSelectionAmount.tsx +0 -144
  641. package/src/widget/components/OriginTransferInformation.tsx +0 -59
  642. package/src/widget/components/Pay.tsx +0 -1181
  643. package/src/widget/components/PaymentMethods.tsx +0 -198
  644. package/src/widget/components/PercentageMaxButtons.tsx +0 -112
  645. package/src/widget/components/PoolDeposit.tsx +0 -651
  646. package/src/widget/components/PoolWithdraw.tsx +0 -761
  647. package/src/widget/components/PriceImpactWarning.tsx +0 -87
  648. package/src/widget/components/QRCodeOptions.tsx +0 -65
  649. package/src/widget/components/QRCodeWalletSelect.tsx +0 -77
  650. package/src/widget/components/QrCode.tsx +0 -216
  651. package/src/widget/components/QuoteDetails.tsx +0 -1266
  652. package/src/widget/components/Receipt.tsx +0 -673
  653. package/src/widget/components/ReceiptRecoverableFunds.tsx +0 -135
  654. package/src/widget/components/RecentTokens.tsx +0 -66
  655. package/src/widget/components/RecipientSelectorButton.tsx +0 -50
  656. package/src/widget/components/Recipients.tsx +0 -412
  657. package/src/widget/components/RefundWarning.tsx +0 -66
  658. package/src/widget/components/RequiredPropsError.tsx +0 -33
  659. package/src/widget/components/ScreenHeader.tsx +0 -123
  660. package/src/widget/components/SearchInputField.tsx +0 -99
  661. package/src/widget/components/SessionTimeoutScreen.tsx +0 -103
  662. package/src/widget/components/ShadowPortal.tsx +0 -99
  663. package/src/widget/components/ShadowRootContext.tsx +0 -17
  664. package/src/widget/components/SimpleRecipientInputScreen.tsx +0 -91
  665. package/src/widget/components/SlippageToleranceSettings.tsx +0 -279
  666. package/src/widget/components/Swap.tsx +0 -50
  667. package/src/widget/components/SwapDisplay.tsx +0 -68
  668. package/src/widget/components/SwapSettings.tsx +0 -52
  669. package/src/widget/components/ThemeProvider.tsx +0 -115
  670. package/src/widget/components/ThemeSyncer.tsx +0 -47
  671. package/src/widget/components/Toast.tsx +0 -336
  672. package/src/widget/components/TokenDisplayNonSelectable.tsx +0 -40
  673. package/src/widget/components/TokenImage.tsx +0 -156
  674. package/src/widget/components/TokenList.tsx +0 -107
  675. package/src/widget/components/TokenSelector.tsx +0 -738
  676. package/src/widget/components/TokenSelectorButton.tsx +0 -123
  677. package/src/widget/components/TokenSkeleton.tsx +0 -53
  678. package/src/widget/components/Tooltip.tsx +0 -64
  679. package/src/widget/components/TrailsHookModal.tsx +0 -107
  680. package/src/widget/components/TransactionDetails.tsx +0 -488
  681. package/src/widget/components/TransactionHistoryItem.tsx +0 -767
  682. package/src/widget/components/TransferPendingVertical.tsx +0 -583
  683. package/src/widget/components/TruncatedAddress.tsx +0 -68
  684. package/src/widget/components/TruncatedTransactionHash.tsx +0 -74
  685. package/src/widget/components/UserPreferences.tsx +0 -570
  686. package/src/widget/components/WaasFeeOptions.tsx +0 -588
  687. package/src/widget/components/WalletConfirmation.tsx +0 -220
  688. package/src/widget/components/WalletConnect.tsx +0 -351
  689. package/src/widget/components/WalletConnectionPending.tsx +0 -178
  690. package/src/widget/components/WalletImage.tsx +0 -64
  691. package/src/widget/components/WalletList.tsx +0 -125
  692. package/src/widget/components/WidgetProviders.tsx +0 -82
  693. package/src/widget/components/Withdraw.tsx +0 -1088
  694. package/src/widget/components/YellowWarningAnimation.tsx +0 -146
  695. package/src/widget/hooks/useAddressWalletIcon.ts +0 -54
  696. package/src/widget/hooks/useAmountUsd.ts +0 -44
  697. package/src/widget/hooks/useBalanceVisible.tsx +0 -95
  698. package/src/widget/hooks/useChainFilter.tsx +0 -56
  699. package/src/widget/hooks/useCheckout.ts +0 -361
  700. package/src/widget/hooks/useClickTracking.ts +0 -74
  701. package/src/widget/hooks/useCombinedHistory.ts +0 -420
  702. package/src/widget/hooks/useConnector.tsx +0 -24
  703. package/src/widget/hooks/useCustomTokenFetch.tsx +0 -74
  704. package/src/widget/hooks/useCustomTokenSearch.tsx +0 -339
  705. package/src/widget/hooks/useDebounce.ts +0 -25
  706. package/src/widget/hooks/useDebugScreens.ts +0 -600
  707. package/src/widget/hooks/useDefaultDestinationToken.tsx +0 -182
  708. package/src/widget/hooks/useDefaultOriginToken.tsx +0 -410
  709. package/src/widget/hooks/useDepositMonitor.ts +0 -118
  710. package/src/widget/hooks/useDestinationSelectedToken.tsx +0 -310
  711. package/src/widget/hooks/useDisplayCurrencyPreference.tsx +0 -145
  712. package/src/widget/hooks/useEarnPool.tsx +0 -36
  713. package/src/widget/hooks/useExecutingIntentsCount.ts +0 -78
  714. package/src/widget/hooks/useExternalFundingReceiptSync.ts +0 -79
  715. package/src/widget/hooks/useFiatOnRampCurrencies.ts +0 -46
  716. package/src/widget/hooks/useFiatSelectedCurrency.tsx +0 -123
  717. package/src/widget/hooks/useGetIntent.ts +0 -54
  718. package/src/widget/hooks/useIntentReceiptBalances.ts +0 -141
  719. package/src/widget/hooks/useIntentTransactionHistory.ts +0 -785
  720. package/src/widget/hooks/useIsConnectedWalletSmartContract.ts +0 -43
  721. package/src/widget/hooks/useIsMobile.tsx +0 -50
  722. package/src/widget/hooks/useIsSequenceWallet.ts +0 -17
  723. package/src/widget/hooks/useLocalePreference.tsx +0 -187
  724. package/src/widget/hooks/useMeldTransactionHistory.ts +0 -184
  725. package/src/widget/hooks/useMeldTransactionStatus.ts +0 -707
  726. package/src/widget/hooks/useOnRampCountryDefaults.ts +0 -57
  727. package/src/widget/hooks/useOnRampPaymentMethods.ts +0 -72
  728. package/src/widget/hooks/useOnRampProviderWidget.ts +0 -184
  729. package/src/widget/hooks/useOnRampQuote.ts +0 -340
  730. package/src/widget/hooks/useOnRampTransactionStatus.ts +0 -196
  731. package/src/widget/hooks/useOriginSelectedToken.tsx +0 -253
  732. package/src/widget/hooks/usePayMessage.tsx +0 -496
  733. package/src/widget/hooks/usePriceImpactWarning.ts +0 -17
  734. package/src/widget/hooks/useQuote.ts +0 -1233
  735. package/src/widget/hooks/useRecentTokens.ts +0 -159
  736. package/src/widget/hooks/useRecipients.ts +0 -167
  737. package/src/widget/hooks/useScreenTracking.ts +0 -14
  738. package/src/widget/hooks/useSelectedFeeOption.tsx +0 -323
  739. package/src/widget/hooks/useSelectedFundMethod.tsx +0 -80
  740. package/src/widget/hooks/useSelectedRecipient.tsx +0 -75
  741. package/src/widget/hooks/useSendForm.ts +0 -1373
  742. package/src/widget/hooks/useSwapAmount.tsx +0 -50
  743. package/src/widget/hooks/useSwapState.tsx +0 -121
  744. package/src/widget/hooks/useTargetAmount.ts +0 -26
  745. package/src/widget/hooks/useTheme.tsx +0 -80
  746. package/src/widget/hooks/useTokenList.ts +0 -1099
  747. package/src/widget/hooks/useTokenWithFreshBalance.ts +0 -246
  748. package/src/widget/hooks/useTrailsSendTransaction.ts +0 -987
  749. package/src/widget/hooks/useViewManager.tsx +0 -505
  750. package/src/widget/hooks/useWalletConnectUri.tsx +0 -307
  751. package/src/widget/hooks/useWalletConnectionContext.tsx +0 -128
  752. package/src/widget/hooks/useWidgetProps.tsx +0 -33
  753. package/src/widget/index.css +0 -686
  754. package/src/widget/index.tsx +0 -28
  755. package/src/widget/providers/TrailsModalProvider.tsx +0 -238
  756. package/src/widget/providers/TrailsProvider.tsx +0 -150
  757. package/src/widget/providers/UserActivityProvider.tsx +0 -78
  758. package/src/widget/providers/WidgetProviderTree.tsx +0 -90
  759. package/src/widget/styles.ts +0 -26
  760. package/src/widget/types/analytics.ts +0 -22
  761. package/src/widget/types/commonProps.ts +0 -56
  762. package/src/widget/types/svg.d.ts +0 -8
  763. package/src/widget/types.ts +0 -51
  764. package/src/widget/utils/countryUtils.ts +0 -89
  765. package/src/widget/utils/createWagmiConfig.ts +0 -38
  766. package/src/widget/utils/forexRateStore.ts +0 -120
  767. package/src/widget/utils/fundMethodSwitchState.ts +0 -25
  768. package/src/widget/utils/historyFilters.ts +0 -157
  769. package/src/widget/utils/historyUtils.ts +0 -101
  770. package/src/widget/utils/localeStore.ts +0 -68
  771. package/src/widget/utils/meldProviderUtils.ts +0 -20
  772. package/src/widget/utils/statusLabel.ts +0 -3
  773. package/src/widget/utils/tokens.ts +0 -138
  774. package/src/widget/utils/transactionFailure.ts +0 -52
  775. package/src/widget/utils/viewManagerGuards.ts +0 -49
  776. package/src/widget/utils/windowUtils.ts +0 -138
  777. package/src/widget/widget.tsx +0 -3334
  778. /package/dist/{widget/hooks → hooks}/useAddressWalletIcon.d.ts +0 -0
  779. /package/dist/{widget/hooks → hooks}/useAmountUsd.d.ts +0 -0
  780. /package/dist/{widget/hooks → hooks}/useBalanceVisible.d.ts +0 -0
  781. /package/dist/{widget/hooks → hooks}/useChainFilter.d.ts +0 -0
  782. /package/dist/{widget/hooks → hooks}/useClickTracking.d.ts +0 -0
  783. /package/dist/{widget/hooks → hooks}/useConnector.d.ts +0 -0
  784. /package/dist/{widget/hooks → hooks}/useDebounce.d.ts +0 -0
  785. /package/dist/{widget/hooks → hooks}/useDepositMonitor.d.ts +0 -0
  786. /package/dist/{widget/hooks → hooks}/useDisplayCurrencyPreference.d.ts +0 -0
  787. /package/dist/{widget/hooks → hooks}/useExecutingIntentsCount.d.ts +0 -0
  788. /package/dist/{widget/hooks → hooks}/useFiatSelectedCurrency.d.ts +0 -0
  789. /package/dist/{widget/hooks → hooks}/useGetIntent.d.ts +0 -0
  790. /package/dist/{widget/hooks → hooks}/useIsMobile.d.ts +0 -0
  791. /package/dist/{widget/hooks → hooks}/useIsSequenceWallet.d.ts +0 -0
  792. /package/dist/{widget/hooks → hooks}/useLocalePreference.d.ts +0 -0
  793. /package/dist/{widget/hooks → hooks}/useMeldTransactionHistory.d.ts +0 -0
  794. /package/dist/{widget/hooks → hooks}/useMeldTransactionStatus.d.ts +0 -0
  795. /package/dist/{widget/hooks → hooks}/useOnRampCountryDefaults.d.ts +0 -0
  796. /package/dist/{widget/hooks → hooks}/usePayMessage.d.ts +0 -0
  797. /package/dist/{widget/hooks → hooks}/usePriceImpactWarning.d.ts +0 -0
  798. /package/dist/{widget/hooks → hooks}/useRecipients.d.ts +0 -0
  799. /package/dist/{widget/hooks → hooks}/useSelectedFeeOption.d.ts +0 -0
  800. /package/dist/{widget/hooks → hooks}/useSelectedRecipient.d.ts +0 -0
  801. /package/dist/{widget/hooks → hooks}/useSwapAmount.d.ts +0 -0
  802. /package/dist/{widget/hooks → hooks}/useTargetAmount.d.ts +0 -0
  803. /package/dist/{widget/hooks → hooks}/useTheme.d.ts +0 -0
  804. /package/dist/{widget/hooks → hooks}/useWalletConnectionContext.d.ts +0 -0
@@ -1,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
- }