0xtrails 0.13.2 → 0.15.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 (844) hide show
  1. package/dist/abis/requireUtils.d.ts +134 -0
  2. package/dist/abis/requireUtils.d.ts.map +1 -0
  3. package/dist/abis/trailsHydrate.d.ts +6 -42
  4. package/dist/abis/trailsHydrate.d.ts.map +1 -1
  5. package/dist/abis/trailsRouter.d.ts +1 -1
  6. package/dist/abis/trailsRouter.d.ts.map +1 -1
  7. package/dist/actions/actionBuilder.d.ts +414 -0
  8. package/dist/actions/actionBuilder.d.ts.map +1 -0
  9. package/dist/actions/constants.d.ts +1853 -0
  10. package/dist/actions/constants.d.ts.map +1 -0
  11. package/dist/actions/custom-integrations/sushiswapV3/addresses.d.ts +4 -0
  12. package/dist/actions/custom-integrations/sushiswapV3/addresses.d.ts.map +1 -0
  13. package/dist/actions/custom-integrations/sushiswapV3/calldata.d.ts +4 -0
  14. package/dist/actions/custom-integrations/sushiswapV3/calldata.d.ts.map +1 -0
  15. package/dist/actions/custom-integrations/sushiswapV3/calls.d.ts +28 -0
  16. package/dist/actions/custom-integrations/sushiswapV3/calls.d.ts.map +1 -0
  17. package/dist/actions/custom-integrations/sushiswapV3/helpers.d.ts +15 -0
  18. package/dist/actions/custom-integrations/sushiswapV3/helpers.d.ts.map +1 -0
  19. package/dist/actions/custom-integrations/sushiswapV3/sushiswapV3.d.ts +9 -0
  20. package/dist/actions/custom-integrations/sushiswapV3/sushiswapV3.d.ts.map +1 -0
  21. package/dist/actions/custom-integrations/sushiswapV3/types.d.ts +95 -0
  22. package/dist/actions/custom-integrations/sushiswapV3/types.d.ts.map +1 -0
  23. package/dist/actions/custom-integrations/uniswapV3/addresses.d.ts +4 -0
  24. package/dist/actions/custom-integrations/uniswapV3/addresses.d.ts.map +1 -0
  25. package/dist/actions/custom-integrations/uniswapV3/calldata.d.ts +4 -0
  26. package/dist/actions/custom-integrations/uniswapV3/calldata.d.ts.map +1 -0
  27. package/dist/actions/custom-integrations/uniswapV3/calls.d.ts +50 -0
  28. package/dist/actions/custom-integrations/uniswapV3/calls.d.ts.map +1 -0
  29. package/dist/actions/custom-integrations/uniswapV3/helpers.d.ts +23 -0
  30. package/dist/actions/custom-integrations/uniswapV3/helpers.d.ts.map +1 -0
  31. package/dist/actions/custom-integrations/uniswapV3/types.d.ts +90 -0
  32. package/dist/actions/custom-integrations/uniswapV3/types.d.ts.map +1 -0
  33. package/dist/actions/custom-integrations/uniswapV3/uniswapV3.d.ts +9 -0
  34. package/dist/actions/custom-integrations/uniswapV3/uniswapV3.d.ts.map +1 -0
  35. package/dist/actions/destinationCalls.d.ts +17 -0
  36. package/dist/actions/destinationCalls.d.ts.map +1 -0
  37. package/dist/actions/dynamic.d.ts +97 -0
  38. package/dist/actions/dynamic.d.ts.map +1 -0
  39. package/dist/actions/hooks/useEarnBalances.d.ts +53 -0
  40. package/dist/actions/hooks/useEarnBalances.d.ts.map +1 -0
  41. package/dist/actions/hooks/useEarnMarkets.d.ts +29 -0
  42. package/dist/actions/hooks/useEarnMarkets.d.ts.map +1 -0
  43. package/dist/actions/hooks/useEarnProviders.d.ts +18 -0
  44. package/dist/actions/hooks/useEarnProviders.d.ts.map +1 -0
  45. package/dist/actions/hooks/useResolveActions.d.ts +28 -0
  46. package/dist/actions/hooks/useResolveActions.d.ts.map +1 -0
  47. package/dist/actions/index.d.ts +8 -0
  48. package/dist/actions/index.d.ts.map +1 -0
  49. package/dist/actions/index.js +13 -0
  50. package/dist/actions/resolvers.d.ts +30 -0
  51. package/dist/actions/resolvers.d.ts.map +1 -0
  52. package/dist/actions/types/earn.d.ts +51 -0
  53. package/dist/actions/types/earn.d.ts.map +1 -0
  54. package/dist/actions/types.d.ts +303 -0
  55. package/dist/actions/types.d.ts.map +1 -0
  56. package/dist/actions/utils.d.ts +181 -0
  57. package/dist/actions/utils.d.ts.map +1 -0
  58. package/dist/{widget/analytics → analytics/hooks}/useWidgetAnalytics.d.ts +2 -4
  59. package/dist/analytics/hooks/useWidgetAnalytics.d.ts.map +1 -0
  60. package/dist/analytics.d.ts.map +1 -1
  61. package/dist/chainSwitch.d.ts.map +1 -1
  62. package/dist/chains-DttlfV-6.js +4 -0
  63. package/dist/chains-ccVR_-73.js +655 -0
  64. package/dist/chains.d.ts +0 -1
  65. package/dist/chains.d.ts.map +1 -1
  66. package/dist/committedIntentStore.d.ts +5 -0
  67. package/dist/committedIntentStore.d.ts.map +1 -0
  68. package/dist/config.d.ts +2 -0
  69. package/dist/config.d.ts.map +1 -1
  70. package/dist/constants.d.ts +2 -1
  71. package/dist/constants.d.ts.map +1 -1
  72. package/dist/error.d.ts +73 -4
  73. package/dist/error.d.ts.map +1 -1
  74. package/dist/hooks/persistedToken.d.ts +22 -0
  75. package/dist/hooks/persistedToken.d.ts.map +1 -0
  76. package/dist/hooks/prepareTrailsSendTransactionDestination.d.ts +26 -0
  77. package/dist/hooks/prepareTrailsSendTransactionDestination.d.ts.map +1 -0
  78. package/dist/hooks/useAddressWalletIcon.d.ts.map +1 -0
  79. package/dist/hooks/useAmountUsd.d.ts.map +1 -0
  80. package/dist/hooks/useBalanceVisible.d.ts.map +1 -0
  81. package/dist/hooks/useChainFilter.d.ts.map +1 -0
  82. package/dist/{widget/hooks → hooks}/useCheckout.d.ts +15 -15
  83. package/dist/hooks/useCheckout.d.ts.map +1 -0
  84. package/dist/hooks/useClickTracking.d.ts.map +1 -0
  85. package/dist/{widget/hooks → hooks}/useCombinedHistory.d.ts +3 -2
  86. package/dist/hooks/useCombinedHistory.d.ts.map +1 -0
  87. package/dist/hooks/useConnector.d.ts.map +1 -0
  88. package/dist/{widget/hooks → hooks}/useCustomTokenSearch.d.ts +3 -2
  89. package/dist/hooks/useCustomTokenSearch.d.ts.map +1 -0
  90. package/dist/hooks/useDebounce.d.ts.map +1 -0
  91. package/dist/{widget/hooks → hooks}/useDebugScreens.d.ts +2 -2
  92. package/dist/hooks/useDebugScreens.d.ts.map +1 -0
  93. package/dist/{widget/hooks → hooks}/useDefaultDestinationToken.d.ts +1 -1
  94. package/dist/hooks/useDefaultDestinationToken.d.ts.map +1 -0
  95. package/dist/{widget/hooks → hooks}/useDefaultOriginToken.d.ts +1 -1
  96. package/dist/hooks/useDefaultOriginToken.d.ts.map +1 -0
  97. package/dist/hooks/useDepositMonitor.d.ts.map +1 -0
  98. package/dist/{widget/hooks → hooks}/useDestinationSelectedToken.d.ts +10 -2
  99. package/dist/hooks/useDestinationSelectedToken.d.ts.map +1 -0
  100. package/dist/hooks/useDisplayCurrencyPreference.d.ts.map +1 -0
  101. package/dist/{widget/hooks → hooks}/useEarnPool.d.ts +1 -1
  102. package/dist/hooks/useEarnPool.d.ts.map +1 -0
  103. package/dist/hooks/useEffectiveFundBalance.d.ts +28 -0
  104. package/dist/hooks/useEffectiveFundBalance.d.ts.map +1 -0
  105. package/dist/hooks/useExecutingIntentsCount.d.ts.map +1 -0
  106. package/dist/{widget/hooks → hooks}/useExternalFundingReceiptSync.d.ts +1 -1
  107. package/dist/hooks/useExternalFundingReceiptSync.d.ts.map +1 -0
  108. package/dist/{widget/hooks → hooks}/useFiatOnRampCurrencies.d.ts +1 -1
  109. package/dist/hooks/useFiatOnRampCurrencies.d.ts.map +1 -0
  110. package/dist/hooks/useFiatSelectedCurrency.d.ts.map +1 -0
  111. package/dist/hooks/useGetIntent.d.ts.map +1 -0
  112. package/dist/{widget/hooks → hooks}/useIntentReceiptBalances.d.ts +1 -1
  113. package/dist/hooks/useIntentReceiptBalances.d.ts.map +1 -0
  114. package/dist/{widget/hooks → hooks}/useIntentTransactionHistory.d.ts +2 -1
  115. package/dist/hooks/useIntentTransactionHistory.d.ts.map +1 -0
  116. package/dist/hooks/useIsMobile.d.ts.map +1 -0
  117. package/dist/hooks/useIsSequenceWallet.d.ts.map +1 -0
  118. package/dist/hooks/useLocalePreference.d.ts.map +1 -0
  119. package/dist/hooks/useMeldTransactionHistory.d.ts.map +1 -0
  120. package/dist/hooks/useMeldTransactionStatus.d.ts.map +1 -0
  121. package/dist/hooks/useOnRampCountryDefaults.d.ts.map +1 -0
  122. package/dist/{widget/hooks → hooks}/useOnRampPaymentMethods.d.ts +2 -2
  123. package/dist/hooks/useOnRampPaymentMethods.d.ts.map +1 -0
  124. package/dist/{widget/hooks → hooks}/useOnRampProviderWidget.d.ts +1 -1
  125. package/dist/hooks/useOnRampProviderWidget.d.ts.map +1 -0
  126. package/dist/{widget/hooks → hooks}/useOnRampQuote.d.ts +3 -3
  127. package/dist/hooks/useOnRampQuote.d.ts.map +1 -0
  128. package/dist/{widget/hooks → hooks}/useOnRampTransactionStatus.d.ts +1 -1
  129. package/dist/hooks/useOnRampTransactionStatus.d.ts.map +1 -0
  130. package/dist/{widget/hooks → hooks}/useOriginSelectedToken.d.ts +1 -1
  131. package/dist/hooks/useOriginSelectedToken.d.ts.map +1 -0
  132. package/dist/hooks/usePayMessage.d.ts.map +1 -0
  133. package/dist/hooks/usePriceImpactWarning.d.ts.map +1 -0
  134. package/dist/hooks/useQuote.d.ts +619 -0
  135. package/dist/hooks/useQuote.d.ts.map +1 -0
  136. package/dist/{widget/hooks → hooks}/useRecentTokens.d.ts +1 -1
  137. package/dist/hooks/useRecentTokens.d.ts.map +1 -0
  138. package/dist/hooks/useRecipients.d.ts.map +1 -0
  139. package/dist/hooks/useSelectedFeeOption.d.ts.map +1 -0
  140. package/dist/{widget/hooks → hooks}/useSelectedFundMethod.d.ts +11 -1
  141. package/dist/hooks/useSelectedFundMethod.d.ts.map +1 -0
  142. package/dist/hooks/useSelectedRecipient.d.ts.map +1 -0
  143. package/dist/{widget/hooks → hooks}/useSendForm.d.ts +10 -12
  144. package/dist/hooks/useSendForm.d.ts.map +1 -0
  145. package/dist/hooks/useSwapAmount.d.ts.map +1 -0
  146. package/dist/{widget/hooks → hooks}/useSwapState.d.ts +1 -1
  147. package/dist/hooks/useSwapState.d.ts.map +1 -0
  148. package/dist/hooks/useTargetAmount.d.ts.map +1 -0
  149. package/dist/hooks/useTheme.d.ts.map +1 -0
  150. package/dist/{widget/hooks → hooks}/useTokenList.d.ts +4 -3
  151. package/dist/hooks/useTokenList.d.ts.map +1 -0
  152. package/dist/hooks/useTrailsSendTransaction.d.ts +171 -0
  153. package/dist/hooks/useTrailsSendTransaction.d.ts.map +1 -0
  154. package/dist/{widget/hooks → hooks}/useViewManager.d.ts +1 -1
  155. package/dist/hooks/useViewManager.d.ts.map +1 -0
  156. package/dist/hooks/useWalletConnectUri.d.ts +19 -0
  157. package/dist/hooks/useWalletConnectUri.d.ts.map +1 -0
  158. package/dist/hooks/useWalletConnectionContext.d.ts.map +1 -0
  159. package/dist/{widget/hooks → hooks}/useWidgetProps.d.ts +1 -1
  160. package/dist/hooks/useWidgetProps.d.ts.map +1 -0
  161. package/dist/hydrate/builder.d.ts +131 -0
  162. package/dist/hydrate/builder.d.ts.map +1 -0
  163. package/dist/hydrate/constants.d.ts +13 -0
  164. package/dist/hydrate/constants.d.ts.map +1 -0
  165. package/dist/hydrate/encodeExecute.d.ts +73 -0
  166. package/dist/hydrate/encodeExecute.d.ts.map +1 -0
  167. package/dist/hydrate/index.d.ts +8 -0
  168. package/dist/hydrate/index.d.ts.map +1 -0
  169. package/dist/hydrate/index.js +14 -0
  170. package/dist/hydrate/multicall.d.ts +69 -0
  171. package/dist/hydrate/multicall.d.ts.map +1 -0
  172. package/dist/hydrate/payload.d.ts +38 -0
  173. package/dist/hydrate/payload.d.ts.map +1 -0
  174. package/dist/hydrate/selectors.d.ts +28 -0
  175. package/dist/hydrate/selectors.d.ts.map +1 -0
  176. package/dist/hydrate/source.d.ts +11 -0
  177. package/dist/hydrate/source.d.ts.map +1 -0
  178. package/dist/hydrate/types.d.ts +21 -0
  179. package/dist/hydrate/types.d.ts.map +1 -0
  180. package/dist/hydrate/utils.d.ts +8 -0
  181. package/dist/hydrate/utils.d.ts.map +1 -0
  182. package/dist/hydrate-BsQ8nPlI.js +882 -0
  183. package/dist/index.d.ts +47 -14
  184. package/dist/index.d.ts.map +1 -1
  185. package/dist/index.js +189 -662
  186. package/dist/intentConfigStore.d.ts +8 -0
  187. package/dist/intentConfigStore.d.ts.map +1 -0
  188. package/dist/intentProtocolApi.d.ts +11 -0
  189. package/dist/intentProtocolApi.d.ts.map +1 -0
  190. package/dist/intentProtocolEncoding.d.ts +30 -0
  191. package/dist/intentProtocolEncoding.d.ts.map +1 -0
  192. package/dist/intentProtocolResolver.d.ts +28 -0
  193. package/dist/intentProtocolResolver.d.ts.map +1 -0
  194. package/dist/intentReceiptPoller.d.ts.map +1 -1
  195. package/dist/intentValidation.d.ts +5 -0
  196. package/dist/intentValidation.d.ts.map +1 -0
  197. package/dist/intents.d.ts.map +1 -1
  198. package/dist/keymachine/index.d.ts +20 -0
  199. package/dist/keymachine/index.d.ts.map +1 -1
  200. package/dist/mutations.d.ts.map +1 -1
  201. package/dist/offlineRecovery.d.ts +24 -0
  202. package/dist/offlineRecovery.d.ts.map +1 -0
  203. package/dist/onramp/MeshConnectFlow.d.ts +9 -0
  204. package/dist/onramp/MeshConnectFlow.d.ts.map +1 -1
  205. package/dist/onramp/MeshConnectIframe.d.ts +9 -0
  206. package/dist/onramp/MeshConnectIframe.d.ts.map +1 -1
  207. package/dist/onramp/TrailsOnRampProvider.d.ts.map +1 -1
  208. package/dist/onramp/mesh/components/MeshExchangeConfirmation.d.ts +10 -0
  209. package/dist/onramp/mesh/components/MeshExchangeConfirmation.d.ts.map +1 -0
  210. package/dist/onramp/mesh/components/MeshExchangeIcon.d.ts +13 -0
  211. package/dist/onramp/mesh/components/MeshExchangeIcon.d.ts.map +1 -0
  212. package/dist/{widget → onramp/mesh}/components/MeshExchangeSelection.d.ts +1 -0
  213. package/dist/onramp/mesh/components/MeshExchangeSelection.d.ts.map +1 -0
  214. package/dist/onramp/mesh/components/MeshSessionOptions.d.ts +15 -0
  215. package/dist/onramp/mesh/components/MeshSessionOptions.d.ts.map +1 -0
  216. package/dist/onramp/mesh/hooks/useMeshAccessTokens.d.ts +9 -0
  217. package/dist/onramp/mesh/hooks/useMeshAccessTokens.d.ts.map +1 -0
  218. package/dist/onramp/mesh/hooks/useMeshFundingSelection.d.ts +11 -0
  219. package/dist/onramp/mesh/hooks/useMeshFundingSelection.d.ts.map +1 -0
  220. package/dist/onramp/mesh/hooks/useMeshOnrampFlow.d.ts +71 -0
  221. package/dist/onramp/mesh/hooks/useMeshOnrampFlow.d.ts.map +1 -0
  222. package/dist/onramp/mesh/hooks/useMeshOnrampSessionState.d.ts +32 -0
  223. package/dist/onramp/mesh/hooks/useMeshOnrampSessionState.d.ts.map +1 -0
  224. package/dist/onramp/mesh/hooks/useMeshSelectedTokenBalance.d.ts +19 -0
  225. package/dist/onramp/mesh/hooks/useMeshSelectedTokenBalance.d.ts.map +1 -0
  226. package/dist/onramp/mesh/hooks/useMeshSessionAccountBalance.d.ts +15 -0
  227. package/dist/onramp/mesh/hooks/useMeshSessionAccountBalance.d.ts.map +1 -0
  228. package/dist/onramp/mesh/hooks/useMeshSessionStorage.d.ts +7 -0
  229. package/dist/onramp/mesh/hooks/useMeshSessionStorage.d.ts.map +1 -0
  230. package/dist/onramp/meshSessionStorage.d.ts +13 -0
  231. package/dist/onramp/meshSessionStorage.d.ts.map +1 -0
  232. package/dist/onramp/meshconnect.d.ts +6 -4
  233. package/dist/onramp/meshconnect.d.ts.map +1 -1
  234. package/dist/onramp/trailsOnramp.d.ts +8 -0
  235. package/dist/onramp/trailsOnramp.d.ts.map +1 -1
  236. package/dist/onrampClient.d.ts.map +1 -1
  237. package/dist/placeholder.d.ts +129 -5
  238. package/dist/placeholder.d.ts.map +1 -1
  239. package/dist/poolUtils.d.ts +0 -14
  240. package/dist/poolUtils.d.ts.map +1 -1
  241. package/dist/prepareSend.d.ts +3 -2
  242. package/dist/prepareSend.d.ts.map +1 -1
  243. package/dist/query/balance.fetchers.d.ts +7 -1
  244. package/dist/query/balance.fetchers.d.ts.map +1 -1
  245. package/dist/query/intentProtocol.queries.d.ts +32 -0
  246. package/dist/query/intentProtocol.queries.d.ts.map +1 -0
  247. package/dist/recover.d.ts +70 -24
  248. package/dist/recover.d.ts.map +1 -1
  249. package/dist/src-CQhZqidH.js +51593 -0
  250. package/dist/tokens.d.ts.map +1 -1
  251. package/dist/transactionIntent/deposits/depositOrchestrator.d.ts +2 -3
  252. package/dist/transactionIntent/deposits/depositOrchestrator.d.ts.map +1 -1
  253. package/dist/transactionIntent/deposits/gaslessDeposit.d.ts +2 -3
  254. package/dist/transactionIntent/deposits/gaslessDeposit.d.ts.map +1 -1
  255. package/dist/transactionIntent/deposits/standardDeposit.d.ts +2 -5
  256. package/dist/transactionIntent/deposits/standardDeposit.d.ts.map +1 -1
  257. package/dist/transactionIntent/handlers/intentHandler.d.ts +5 -4
  258. package/dist/transactionIntent/handlers/intentHandler.d.ts.map +1 -1
  259. package/dist/transactionIntent/quote/quoteHelpers.d.ts +2 -2
  260. package/dist/transactionIntent/quote/quoteHelpers.d.ts.map +1 -1
  261. package/dist/transactionIntent/types.d.ts +4 -3
  262. package/dist/transactionIntent/types.d.ts.map +1 -1
  263. package/dist/transactions.d.ts +1 -0
  264. package/dist/transactions.d.ts.map +1 -1
  265. package/dist/umd/trails.min.js +1371 -409
  266. package/dist/utils/localStorageGc.d.ts +22 -0
  267. package/dist/utils/localStorageGc.d.ts.map +1 -0
  268. package/dist/utils/validation.d.ts +14 -0
  269. package/dist/utils/validation.d.ts.map +1 -1
  270. package/dist/walletUtils.d.ts.map +1 -1
  271. package/dist/widget/components/AccountIntentTransactionHistory.d.ts.map +1 -1
  272. package/dist/widget/components/ChainList.d.ts +2 -0
  273. package/dist/widget/components/ChainList.d.ts.map +1 -1
  274. package/dist/widget/components/ClassicSwap.d.ts.map +1 -1
  275. package/dist/widget/components/ConnectedWallets.d.ts +1 -1
  276. package/dist/widget/components/ConnectedWallets.d.ts.map +1 -1
  277. package/dist/widget/components/Earn.d.ts +2 -6
  278. package/dist/widget/components/Earn.d.ts.map +1 -1
  279. package/dist/widget/components/EarnMarkets.d.ts +9 -0
  280. package/dist/widget/components/EarnMarkets.d.ts.map +1 -0
  281. package/dist/widget/components/EarnPoolsFilters.d.ts +7 -1
  282. package/dist/widget/components/EarnPoolsFilters.d.ts.map +1 -1
  283. package/dist/widget/components/{PoolWithdraw.d.ts → EarnWithdraw.d.ts} +5 -5
  284. package/dist/widget/components/{PoolWithdraw.d.ts.map → EarnWithdraw.d.ts.map} +1 -1
  285. package/dist/widget/components/FeeOption.d.ts +1 -1
  286. package/dist/widget/components/FeeOption.d.ts.map +1 -1
  287. package/dist/widget/components/FeeOptions.d.ts +1 -1
  288. package/dist/widget/components/FeeOptions.d.ts.map +1 -1
  289. package/dist/widget/components/FiatSelector.d.ts +1 -1
  290. package/dist/widget/components/FiatSelector.d.ts.map +1 -1
  291. package/dist/widget/components/FiatSelectorButton.d.ts +1 -1
  292. package/dist/widget/components/FiatSelectorButton.d.ts.map +1 -1
  293. package/dist/widget/components/Fund.d.ts +1 -1
  294. package/dist/widget/components/Fund.d.ts.map +1 -1
  295. package/dist/widget/components/FundMethods.d.ts.map +1 -1
  296. package/dist/widget/components/FundingMethodSelectorButton.d.ts +1 -1
  297. package/dist/widget/components/FundingMethodSelectorButton.d.ts.map +1 -1
  298. package/dist/widget/components/HookModalContent.d.ts.map +1 -1
  299. package/dist/widget/components/MeldHistory.d.ts +1 -1
  300. package/dist/widget/components/MeldHistory.d.ts.map +1 -1
  301. package/dist/widget/components/MeldTransactionStatus.d.ts +1 -1
  302. package/dist/widget/components/MeldTransactionStatus.d.ts.map +1 -1
  303. package/dist/widget/components/MeshExchangeAccountHeader.d.ts +9 -0
  304. package/dist/widget/components/MeshExchangeAccountHeader.d.ts.map +1 -0
  305. package/dist/widget/components/OnrampHistoryRow.d.ts +1 -1
  306. package/dist/widget/components/OnrampHistoryRow.d.ts.map +1 -1
  307. package/dist/widget/components/OnrampProviderConfirmation.d.ts +1 -1
  308. package/dist/widget/components/OnrampProviderConfirmation.d.ts.map +1 -1
  309. package/dist/widget/components/Pay.d.ts.map +1 -1
  310. package/dist/widget/components/PoolDeposit.d.ts +2 -6
  311. package/dist/widget/components/PoolDeposit.d.ts.map +1 -1
  312. package/dist/widget/components/PulsatingButton.d.ts +9 -0
  313. package/dist/widget/components/PulsatingButton.d.ts.map +1 -0
  314. package/dist/widget/components/Receipt.d.ts +1 -1
  315. package/dist/widget/components/Receipt.d.ts.map +1 -1
  316. package/dist/widget/components/RecipientSelectorButton.d.ts.map +1 -1
  317. package/dist/widget/components/Recipients.d.ts.map +1 -1
  318. package/dist/widget/components/Swap.d.ts +2 -6
  319. package/dist/widget/components/Swap.d.ts.map +1 -1
  320. package/dist/widget/components/TokenList.d.ts +1 -0
  321. package/dist/widget/components/TokenList.d.ts.map +1 -1
  322. package/dist/widget/components/TokenSelector.d.ts +2 -2
  323. package/dist/widget/components/TokenSelector.d.ts.map +1 -1
  324. package/dist/widget/components/TransactionDetails.d.ts +1 -0
  325. package/dist/widget/components/TransactionDetails.d.ts.map +1 -1
  326. package/dist/widget/components/TransactionHistoryItem.d.ts +1 -0
  327. package/dist/widget/components/TransactionHistoryItem.d.ts.map +1 -1
  328. package/dist/widget/components/TransferPendingVertical.d.ts +1 -1
  329. package/dist/widget/components/TransferPendingVertical.d.ts.map +1 -1
  330. package/dist/widget/components/WalletAccountHeader.d.ts +7 -0
  331. package/dist/widget/components/WalletAccountHeader.d.ts.map +1 -0
  332. package/dist/widget/components/WalletConfirmation.d.ts +2 -1
  333. package/dist/widget/components/WalletConfirmation.d.ts.map +1 -1
  334. package/dist/widget/components/WalletConnect.d.ts.map +1 -1
  335. package/dist/widget/components/WidgetProviders.d.ts.map +1 -1
  336. package/dist/widget/components/Withdraw.d.ts.map +1 -1
  337. package/dist/widget/components/earnMarketUtils.d.ts +11 -0
  338. package/dist/widget/components/earnMarketUtils.d.ts.map +1 -0
  339. package/dist/widget/components/earnNetworks.d.ts +6 -0
  340. package/dist/widget/components/earnNetworks.d.ts.map +1 -0
  341. package/dist/widget/index.d.ts +13 -0
  342. package/dist/widget/index.d.ts.map +1 -1
  343. package/dist/widget/index.js +17 -9
  344. package/dist/widget/modes/EarnWidget.d.ts +90 -0
  345. package/dist/widget/modes/EarnWidget.d.ts.map +1 -0
  346. package/dist/widget/modes/FundWidget.d.ts +97 -0
  347. package/dist/widget/modes/FundWidget.d.ts.map +1 -0
  348. package/dist/widget/modes/PayWidget.d.ts +80 -0
  349. package/dist/widget/modes/PayWidget.d.ts.map +1 -0
  350. package/dist/widget/modes/SwapWidget.d.ts +76 -0
  351. package/dist/widget/modes/SwapWidget.d.ts.map +1 -0
  352. package/dist/widget/modes/WithdrawWidget.d.ts +87 -0
  353. package/dist/widget/modes/WithdrawWidget.d.ts.map +1 -0
  354. package/dist/widget/providers/TrailsProvider.d.ts +3 -0
  355. package/dist/widget/providers/TrailsProvider.d.ts.map +1 -1
  356. package/dist/widget/providers/WidgetProviderTree.d.ts.map +1 -1
  357. package/dist/widget/shared/destinationDefaultToken.d.ts +15 -0
  358. package/dist/widget/shared/destinationDefaultToken.d.ts.map +1 -0
  359. package/dist/widget/shared/mapSharedProps.d.ts +9 -0
  360. package/dist/widget/shared/mapSharedProps.d.ts.map +1 -0
  361. package/dist/widget/shared/methodMap.d.ts +18 -0
  362. package/dist/widget/shared/methodMap.d.ts.map +1 -0
  363. package/dist/widget/shared/resolution.d.ts +23 -0
  364. package/dist/widget/shared/resolution.d.ts.map +1 -0
  365. package/dist/widget/shared/resolvePaymentSource.d.ts +36 -0
  366. package/dist/widget/shared/resolvePaymentSource.d.ts.map +1 -0
  367. package/dist/widget/shared/tokenAllowlist.d.ts +36 -0
  368. package/dist/widget/shared/tokenAllowlist.d.ts.map +1 -0
  369. package/dist/widget/shared/types.d.ts +150 -0
  370. package/dist/widget/shared/types.d.ts.map +1 -0
  371. package/dist/widget/styles.gen.d.ts +2 -0
  372. package/dist/widget/styles.gen.d.ts.map +1 -0
  373. package/dist/widget/types/commonProps.d.ts +3 -7
  374. package/dist/widget/types/commonProps.d.ts.map +1 -1
  375. package/dist/widget/utils/fundMethodSwitchState.d.ts +1 -0
  376. package/dist/widget/utils/fundMethodSwitchState.d.ts.map +1 -1
  377. package/dist/widget/utils/viewManagerGuards.d.ts +1 -1
  378. package/dist/widget/utils/viewManagerGuards.d.ts.map +1 -1
  379. package/dist/widget/widget.d.ts +23 -16
  380. package/dist/widget/widget.d.ts.map +1 -1
  381. package/package.json +22 -23
  382. package/dist/buffer.d.ts +0 -3
  383. package/dist/buffer.d.ts.map +0 -1
  384. package/dist/ccip-CT_An6eM.js +0 -230
  385. package/dist/index-RfqL5Foz.js +0 -114567
  386. package/dist/paymasterSend.d.ts +0 -90
  387. package/dist/paymasterSend.d.ts.map +0 -1
  388. package/dist/sendUserOp.d.ts +0 -122
  389. package/dist/sendUserOp.d.ts.map +0 -1
  390. package/dist/toSimpleSmartAccount.d.ts +0 -95
  391. package/dist/toSimpleSmartAccount.d.ts.map +0 -1
  392. package/dist/transactionIntent/utils/erc20Approval.d.ts +0 -34
  393. package/dist/transactionIntent/utils/erc20Approval.d.ts.map +0 -1
  394. package/dist/utils/allowance.d.ts +0 -19
  395. package/dist/utils/allowance.d.ts.map +0 -1
  396. package/dist/widget/analytics/useWidgetAnalytics.d.ts.map +0 -1
  397. package/dist/widget/components/FeeBreakdown.d.ts +0 -9
  398. package/dist/widget/components/FeeBreakdown.d.ts.map +0 -1
  399. package/dist/widget/components/HideBalances.d.ts +0 -4
  400. package/dist/widget/components/HideBalances.d.ts.map +0 -1
  401. package/dist/widget/components/MeshExchangeSelection.d.ts.map +0 -1
  402. package/dist/widget/components/OnrampDeposit.d.ts +0 -10
  403. package/dist/widget/components/OnrampDeposit.d.ts.map +0 -1
  404. package/dist/widget/components/SwapSettings.d.ts +0 -4
  405. package/dist/widget/components/SwapSettings.d.ts.map +0 -1
  406. package/dist/widget/components/TruncatedAddress.d.ts +0 -12
  407. package/dist/widget/components/TruncatedAddress.d.ts.map +0 -1
  408. package/dist/widget/components/WalletImage.d.ts +0 -8
  409. package/dist/widget/components/WalletImage.d.ts.map +0 -1
  410. package/dist/widget/css/compiled.css +0 -26
  411. package/dist/widget/css/index.css +0 -686
  412. package/dist/widget/hooks/useAddressWalletIcon.d.ts.map +0 -1
  413. package/dist/widget/hooks/useAmountUsd.d.ts.map +0 -1
  414. package/dist/widget/hooks/useBalanceVisible.d.ts.map +0 -1
  415. package/dist/widget/hooks/useChainFilter.d.ts.map +0 -1
  416. package/dist/widget/hooks/useCheckout.d.ts.map +0 -1
  417. package/dist/widget/hooks/useClickTracking.d.ts.map +0 -1
  418. package/dist/widget/hooks/useCombinedHistory.d.ts.map +0 -1
  419. package/dist/widget/hooks/useConnector.d.ts.map +0 -1
  420. package/dist/widget/hooks/useCustomTokenSearch.d.ts.map +0 -1
  421. package/dist/widget/hooks/useDebounce.d.ts.map +0 -1
  422. package/dist/widget/hooks/useDebugScreens.d.ts.map +0 -1
  423. package/dist/widget/hooks/useDefaultDestinationToken.d.ts.map +0 -1
  424. package/dist/widget/hooks/useDefaultOriginToken.d.ts.map +0 -1
  425. package/dist/widget/hooks/useDepositMonitor.d.ts.map +0 -1
  426. package/dist/widget/hooks/useDestinationSelectedToken.d.ts.map +0 -1
  427. package/dist/widget/hooks/useDisplayCurrencyPreference.d.ts.map +0 -1
  428. package/dist/widget/hooks/useEarnPool.d.ts.map +0 -1
  429. package/dist/widget/hooks/useExecutingIntentsCount.d.ts.map +0 -1
  430. package/dist/widget/hooks/useExternalFundingReceiptSync.d.ts.map +0 -1
  431. package/dist/widget/hooks/useFiatOnRampCurrencies.d.ts.map +0 -1
  432. package/dist/widget/hooks/useFiatSelectedCurrency.d.ts.map +0 -1
  433. package/dist/widget/hooks/useGetIntent.d.ts.map +0 -1
  434. package/dist/widget/hooks/useIntentReceiptBalances.d.ts.map +0 -1
  435. package/dist/widget/hooks/useIntentTransactionHistory.d.ts.map +0 -1
  436. package/dist/widget/hooks/useIsConnectedWalletSmartContract.d.ts +0 -7
  437. package/dist/widget/hooks/useIsConnectedWalletSmartContract.d.ts.map +0 -1
  438. package/dist/widget/hooks/useIsMobile.d.ts.map +0 -1
  439. package/dist/widget/hooks/useIsSequenceWallet.d.ts.map +0 -1
  440. package/dist/widget/hooks/useLocalePreference.d.ts.map +0 -1
  441. package/dist/widget/hooks/useMeldTransactionHistory.d.ts.map +0 -1
  442. package/dist/widget/hooks/useMeldTransactionStatus.d.ts.map +0 -1
  443. package/dist/widget/hooks/useOnRampCountryDefaults.d.ts.map +0 -1
  444. package/dist/widget/hooks/useOnRampPaymentMethods.d.ts.map +0 -1
  445. package/dist/widget/hooks/useOnRampProviderWidget.d.ts.map +0 -1
  446. package/dist/widget/hooks/useOnRampQuote.d.ts.map +0 -1
  447. package/dist/widget/hooks/useOnRampTransactionStatus.d.ts.map +0 -1
  448. package/dist/widget/hooks/useOriginSelectedToken.d.ts.map +0 -1
  449. package/dist/widget/hooks/usePayMessage.d.ts.map +0 -1
  450. package/dist/widget/hooks/usePriceImpactWarning.d.ts.map +0 -1
  451. package/dist/widget/hooks/useQuote.d.ts +0 -378
  452. package/dist/widget/hooks/useQuote.d.ts.map +0 -1
  453. package/dist/widget/hooks/useRecentTokens.d.ts.map +0 -1
  454. package/dist/widget/hooks/useRecipients.d.ts.map +0 -1
  455. package/dist/widget/hooks/useScreenTracking.d.ts +0 -2
  456. package/dist/widget/hooks/useScreenTracking.d.ts.map +0 -1
  457. package/dist/widget/hooks/useSelectedFeeOption.d.ts.map +0 -1
  458. package/dist/widget/hooks/useSelectedFundMethod.d.ts.map +0 -1
  459. package/dist/widget/hooks/useSelectedRecipient.d.ts.map +0 -1
  460. package/dist/widget/hooks/useSendForm.d.ts.map +0 -1
  461. package/dist/widget/hooks/useSwapAmount.d.ts.map +0 -1
  462. package/dist/widget/hooks/useSwapState.d.ts.map +0 -1
  463. package/dist/widget/hooks/useTargetAmount.d.ts.map +0 -1
  464. package/dist/widget/hooks/useTheme.d.ts.map +0 -1
  465. package/dist/widget/hooks/useTokenList.d.ts.map +0 -1
  466. package/dist/widget/hooks/useTrailsSendTransaction.d.ts +0 -83
  467. package/dist/widget/hooks/useTrailsSendTransaction.d.ts.map +0 -1
  468. package/dist/widget/hooks/useViewManager.d.ts.map +0 -1
  469. package/dist/widget/hooks/useWalletConnectUri.d.ts +0 -11
  470. package/dist/widget/hooks/useWalletConnectUri.d.ts.map +0 -1
  471. package/dist/widget/hooks/useWalletConnectionContext.d.ts.map +0 -1
  472. package/dist/widget/hooks/useWidgetProps.d.ts.map +0 -1
  473. package/dist/widget/styles.d.ts +0 -2
  474. package/dist/widget/styles.d.ts.map +0 -1
  475. package/dist/widget/types.d.ts +0 -44
  476. package/dist/widget/types.d.ts.map +0 -1
  477. package/dist/widget/utils/historyUtils.d.ts +0 -18
  478. package/dist/widget/utils/historyUtils.d.ts.map +0 -1
  479. package/src/abi.ts +0 -38
  480. package/src/abis/erc20.ts +0 -60
  481. package/src/abis/trailsHydrate.ts +0 -185
  482. package/src/abis/trailsRouter.ts +0 -121
  483. package/src/abis/trailsSweep.ts +0 -32
  484. package/src/abortController.ts +0 -35
  485. package/src/analytics.ts +0 -2029
  486. package/src/buffer.ts +0 -10
  487. package/src/chainSwitch.ts +0 -95
  488. package/src/chains.ts +0 -570
  489. package/src/config.ts +0 -118
  490. package/src/constants.ts +0 -239
  491. package/src/contractUtils.ts +0 -46
  492. package/src/cssUtils.ts +0 -5
  493. package/src/customChains.ts +0 -24
  494. package/src/customTokens.ts +0 -168
  495. package/src/decoders.ts +0 -365
  496. package/src/ens.ts +0 -74
  497. package/src/error.ts +0 -268
  498. package/src/estimate.ts +0 -480
  499. package/src/explorer.ts +0 -38
  500. package/src/fees.ts +0 -362
  501. package/src/gasless.ts +0 -638
  502. package/src/index.ts +0 -205
  503. package/src/indexerClient.ts +0 -118
  504. package/src/intentReceiptMonitor.ts +0 -99
  505. package/src/intentReceiptPoller.ts +0 -327
  506. package/src/intents.ts +0 -1133
  507. package/src/keyMachineClient.ts +0 -29
  508. package/src/keymachine/index.ts +0 -175
  509. package/src/keymachine/key-machine.gen.ts +0 -993
  510. package/src/localeUtils.ts +0 -244
  511. package/src/logger/index.ts +0 -95
  512. package/src/logger/useSyncLoggerDebug.ts +0 -11
  513. package/src/logger.ts +0 -1
  514. package/src/meld/components/MeldCountriesList.tsx +0 -237
  515. package/src/meld/components/MeldFundMethods.tsx +0 -265
  516. package/src/meld/components/MeldProvidersList.tsx +0 -187
  517. package/src/meld/components/MeldTokensList.tsx +0 -321
  518. package/src/meld/components/SimpleHeader.tsx +0 -35
  519. package/src/meld/utils/meld.ts +0 -77
  520. package/src/mutations.ts +0 -166
  521. package/src/onramp/MeshConnectFlow.tsx +0 -86
  522. package/src/onramp/MeshConnectIframe.tsx +0 -661
  523. package/src/onramp/SendFromExchangeButton.tsx +0 -81
  524. package/src/onramp/TrailsOnRampProvider.tsx +0 -59
  525. package/src/onramp/index.ts +0 -31
  526. package/src/onramp/meshconnect.ts +0 -277
  527. package/src/onramp/trailsOnramp.tsx +0 -130
  528. package/src/onramp-client/index.ts +0 -52
  529. package/src/onrampClient.ts +0 -46
  530. package/src/paymasterSend.ts +0 -521
  531. package/src/placeholder.ts +0 -92
  532. package/src/poolUtils.ts +0 -222
  533. package/src/pools.ts +0 -120
  534. package/src/prepareSend.ts +0 -553
  535. package/src/query/balance.fetchers.ts +0 -753
  536. package/src/query/balance.hooks.ts +0 -357
  537. package/src/query/balance.queries.ts +0 -307
  538. package/src/query/chains.hooks.ts +0 -45
  539. package/src/query/chains.queries.ts +0 -17
  540. package/src/query/client.ts +0 -20
  541. package/src/query/fiat.fetchers.ts +0 -33
  542. package/src/query/fiat.hooks.ts +0 -71
  543. package/src/query/fiat.queries.ts +0 -67
  544. package/src/query/geo.fetchers.ts +0 -100
  545. package/src/query/geo.hooks.ts +0 -16
  546. package/src/query/geo.queries.ts +0 -36
  547. package/src/query/helpers.ts +0 -81
  548. package/src/query/meld.fetchers.ts +0 -97
  549. package/src/query/meld.hooks.ts +0 -18
  550. package/src/query/meld.queries.ts +0 -184
  551. package/src/query/persister.ts +0 -11
  552. package/src/query/price.fetchers.ts +0 -53
  553. package/src/query/price.hooks.ts +0 -46
  554. package/src/query/price.queries.ts +0 -364
  555. package/src/query/tokenList.queries.ts +0 -118
  556. package/src/queryParams.ts +0 -100
  557. package/src/recover.ts +0 -1728
  558. package/src/sendUserOp.ts +0 -512
  559. package/src/theme.ts +0 -2
  560. package/src/toSimpleSmartAccount.ts +0 -567
  561. package/src/toast.ts +0 -110
  562. package/src/tokens.ts +0 -1862
  563. package/src/trailsClient.ts +0 -40
  564. package/src/transactionIntent/constants.ts +0 -15
  565. package/src/transactionIntent/deposits/depositOrchestrator.ts +0 -243
  566. package/src/transactionIntent/deposits/gaslessDeposit.ts +0 -705
  567. package/src/transactionIntent/deposits/index.ts +0 -3
  568. package/src/transactionIntent/deposits/standardDeposit.ts +0 -590
  569. package/src/transactionIntent/execution/index.ts +0 -1
  570. package/src/transactionIntent/execution/transactionState.ts +0 -38
  571. package/src/transactionIntent/handlers/index.ts +0 -1
  572. package/src/transactionIntent/handlers/intentHandler.ts +0 -1613
  573. package/src/transactionIntent/helpers/index.ts +0 -1
  574. package/src/transactionIntent/helpers/transactionStateHelpers.ts +0 -440
  575. package/src/transactionIntent/index.ts +0 -10
  576. package/src/transactionIntent/quote/feeExtractors.ts +0 -61
  577. package/src/transactionIntent/quote/index.ts +0 -3
  578. package/src/transactionIntent/quote/normalizeQuote.ts +0 -559
  579. package/src/transactionIntent/quote/quoteHelpers.ts +0 -117
  580. package/src/transactionIntent/types.ts +0 -241
  581. package/src/transactionIntent/utils/balanceChecker.ts +0 -103
  582. package/src/transactionIntent/utils/erc20Approval.ts +0 -171
  583. package/src/transactionIntent/utils/index.ts +0 -2
  584. package/src/transactionIntent/utils/resilientDepositTracker.ts +0 -171
  585. package/src/transactionIntent/utils/testnetHelpers.ts +0 -5
  586. package/src/transactionIntent/validators.ts +0 -27
  587. package/src/transactions.ts +0 -429
  588. package/src/types.d.ts +0 -16
  589. package/src/umd.tsx +0 -33
  590. package/src/utils/address.ts +0 -78
  591. package/src/utils/allowance.ts +0 -47
  592. package/src/utils/fiat.ts +0 -32
  593. package/src/utils/format.ts +0 -625
  594. package/src/utils/passthrough.ts +0 -93
  595. package/src/utils/time.ts +0 -118
  596. package/src/utils/validation.ts +0 -104
  597. package/src/utils.ts +0 -112
  598. package/src/version.ts +0 -8
  599. package/src/vite-env.d.ts +0 -4
  600. package/src/walletUtils.ts +0 -293
  601. package/src/wallets.ts +0 -544
  602. package/src/widget/analytics/useWidgetAnalytics.ts +0 -56
  603. package/src/widget/assets/Exchange-icon-black.svg +0 -5
  604. package/src/widget/assets/MetaMask-icon-fox-with-margins.svg +0 -31
  605. package/src/widget/assets/MetaMask-icon-fox.svg +0 -26
  606. package/src/widget/assets/MetaMask-logo-black.svg +0 -3
  607. package/src/widget/assets/MetaMask-logo-white.svg +0 -16
  608. package/src/widget/assets/Trails-logo-black.svg +0 -13
  609. package/src/widget/assets/Trails-logo-white.svg +0 -13
  610. package/src/widget/assets/WalletChange-black.svg +0 -5
  611. package/src/widget/assets/WalletConnect-logo-black.svg +0 -14
  612. package/src/widget/assets/WalletConnect-logo-blue.svg +0 -14
  613. package/src/widget/assets/WalletConnect-logo-white.svg +0 -14
  614. package/src/widget/assets/WalletConnect-logo.svg +0 -40
  615. package/src/widget/assets/aave.svg +0 -14
  616. package/src/widget/assets/morpho.svg +0 -14
  617. package/src/widget/compiled.css +0 -26
  618. package/src/widget/components/AccountActionsDropdown.tsx +0 -31
  619. package/src/widget/components/AccountIntentTransactionHistory.tsx +0 -756
  620. package/src/widget/components/AccountIntentTransactionHistoryButton.tsx +0 -34
  621. package/src/widget/components/AccountSettings.tsx +0 -168
  622. package/src/widget/components/AddressOrEnsName.tsx +0 -24
  623. package/src/widget/components/AddressWalletIcon.tsx +0 -49
  624. package/src/widget/components/AllChainsIcon.tsx +0 -54
  625. package/src/widget/components/ChainFilterDropdown.tsx +0 -220
  626. package/src/widget/components/ChainImage.tsx +0 -40
  627. package/src/widget/components/ChainList.tsx +0 -158
  628. package/src/widget/components/ClassicSwap.tsx +0 -1761
  629. package/src/widget/components/ConfigDisplay.tsx +0 -158
  630. package/src/widget/components/ConnectWallet.tsx +0 -566
  631. package/src/widget/components/ConnectedWallets.tsx +0 -414
  632. package/src/widget/components/CopyButton.tsx +0 -108
  633. package/src/widget/components/CountryFilterDropdown.tsx +0 -179
  634. package/src/widget/components/DebugMenu.tsx +0 -50
  635. package/src/widget/components/DebugScreensList.tsx +0 -70
  636. package/src/widget/components/DebugToast.tsx +0 -63
  637. package/src/widget/components/DepositTracker.tsx +0 -326
  638. package/src/widget/components/DirectTransfer.tsx +0 -305
  639. package/src/widget/components/Disconnect.tsx +0 -68
  640. package/src/widget/components/DynamicInputStyles.tsx +0 -121
  641. package/src/widget/components/DynamicSizeInputField.tsx +0 -245
  642. package/src/widget/components/ENSAvatar.tsx +0 -33
  643. package/src/widget/components/Earn.tsx +0 -160
  644. package/src/widget/components/EarnPools.tsx +0 -417
  645. package/src/widget/components/EarnPoolsFilters.tsx +0 -165
  646. package/src/widget/components/ErrorAnimationIcon.tsx +0 -130
  647. package/src/widget/components/ErrorDisplay.tsx +0 -152
  648. package/src/widget/components/ExecutingIntentsBadge.tsx +0 -24
  649. package/src/widget/components/ExecutionStatusBadge.tsx +0 -53
  650. package/src/widget/components/FeeBreakdown.tsx +0 -155
  651. package/src/widget/components/FeeOption.tsx +0 -170
  652. package/src/widget/components/FeeOptions.tsx +0 -247
  653. package/src/widget/components/FiatSelector.tsx +0 -308
  654. package/src/widget/components/FiatSelectorButton.tsx +0 -68
  655. package/src/widget/components/Footer.tsx +0 -67
  656. package/src/widget/components/Fund.tsx +0 -2463
  657. package/src/widget/components/FundMethods.tsx +0 -423
  658. package/src/widget/components/FundWalletSelection.tsx +0 -60
  659. package/src/widget/components/FundingMethodSelectorButton.tsx +0 -106
  660. package/src/widget/components/GreenCheckAnimation.tsx +0 -119
  661. package/src/widget/components/HideBalances.tsx +0 -24
  662. package/src/widget/components/HighPriceImpactBlock.tsx +0 -44
  663. package/src/widget/components/HookModalContent.tsx +0 -377
  664. package/src/widget/components/Identicon.tsx +0 -228
  665. package/src/widget/components/LoadingSpinner.tsx +0 -9
  666. package/src/widget/components/MeldForm.tsx +0 -780
  667. package/src/widget/components/MeldHistory.tsx +0 -433
  668. package/src/widget/components/MeldStepsFlow.tsx +0 -1651
  669. package/src/widget/components/MeldTransactionStatus.tsx +0 -255
  670. package/src/widget/components/MeshExchangeSelection.tsx +0 -218
  671. package/src/widget/components/Modal.tsx +0 -86
  672. package/src/widget/components/OFTProgressBar.tsx +0 -89
  673. package/src/widget/components/OnRampProviderSelector.tsx +0 -263
  674. package/src/widget/components/OnrampDeposit.tsx +0 -122
  675. package/src/widget/components/OnrampErrorScreen.tsx +0 -163
  676. package/src/widget/components/OnrampHistoryRow.tsx +0 -321
  677. package/src/widget/components/OnrampPaymentMethods.tsx +0 -81
  678. package/src/widget/components/OnrampProviderConfirmation.tsx +0 -1060
  679. package/src/widget/components/OriginSelectionAmount.tsx +0 -144
  680. package/src/widget/components/OriginTransferInformation.tsx +0 -59
  681. package/src/widget/components/Pay.tsx +0 -1165
  682. package/src/widget/components/PaymentMethods.tsx +0 -198
  683. package/src/widget/components/PercentageMaxButtons.tsx +0 -112
  684. package/src/widget/components/PoolDeposit.tsx +0 -642
  685. package/src/widget/components/PoolWithdraw.tsx +0 -761
  686. package/src/widget/components/PriceImpactWarning.tsx +0 -87
  687. package/src/widget/components/QRCodeOptions.tsx +0 -65
  688. package/src/widget/components/QRCodeWalletSelect.tsx +0 -80
  689. package/src/widget/components/QrCode.tsx +0 -216
  690. package/src/widget/components/QuoteDetails.tsx +0 -1275
  691. package/src/widget/components/Receipt.tsx +0 -673
  692. package/src/widget/components/ReceiptRecoverableFunds.tsx +0 -135
  693. package/src/widget/components/RecentTokens.tsx +0 -66
  694. package/src/widget/components/RecipientSelectorButton.tsx +0 -50
  695. package/src/widget/components/Recipients.tsx +0 -413
  696. package/src/widget/components/RefundWarning.tsx +0 -61
  697. package/src/widget/components/RequiredPropsError.tsx +0 -33
  698. package/src/widget/components/ScreenHeader.tsx +0 -123
  699. package/src/widget/components/SearchInputField.tsx +0 -99
  700. package/src/widget/components/SessionTimeoutScreen.tsx +0 -103
  701. package/src/widget/components/ShadowPortal.tsx +0 -99
  702. package/src/widget/components/ShadowRootContext.tsx +0 -17
  703. package/src/widget/components/SimpleRecipientInputScreen.tsx +0 -91
  704. package/src/widget/components/SlippageToleranceSettings.tsx +0 -279
  705. package/src/widget/components/Swap.tsx +0 -50
  706. package/src/widget/components/SwapDisplay.tsx +0 -68
  707. package/src/widget/components/SwapSettings.tsx +0 -52
  708. package/src/widget/components/ThemeProvider.tsx +0 -115
  709. package/src/widget/components/ThemeSyncer.tsx +0 -47
  710. package/src/widget/components/Toast.tsx +0 -336
  711. package/src/widget/components/TokenDisplayNonSelectable.tsx +0 -40
  712. package/src/widget/components/TokenImage.tsx +0 -156
  713. package/src/widget/components/TokenList.tsx +0 -107
  714. package/src/widget/components/TokenSelector.tsx +0 -807
  715. package/src/widget/components/TokenSelectorButton.tsx +0 -123
  716. package/src/widget/components/TokenSkeleton.tsx +0 -53
  717. package/src/widget/components/Tooltip.tsx +0 -64
  718. package/src/widget/components/TrailsHookModal.tsx +0 -107
  719. package/src/widget/components/TransactionDetails.tsx +0 -534
  720. package/src/widget/components/TransactionHistoryItem.tsx +0 -767
  721. package/src/widget/components/TransferPendingVertical.tsx +0 -591
  722. package/src/widget/components/TruncatedAddress.tsx +0 -68
  723. package/src/widget/components/TruncatedTransactionHash.tsx +0 -74
  724. package/src/widget/components/UserPreferences.tsx +0 -570
  725. package/src/widget/components/WaasFeeOptions.tsx +0 -588
  726. package/src/widget/components/WalletConfirmation.tsx +0 -220
  727. package/src/widget/components/WalletConnect.tsx +0 -348
  728. package/src/widget/components/WalletConnectionPending.tsx +0 -178
  729. package/src/widget/components/WalletImage.tsx +0 -52
  730. package/src/widget/components/WalletList.tsx +0 -125
  731. package/src/widget/components/WidgetProviders.tsx +0 -82
  732. package/src/widget/components/Withdraw.tsx +0 -1106
  733. package/src/widget/components/YellowWarningAnimation.tsx +0 -146
  734. package/src/widget/hooks/useAddressWalletIcon.ts +0 -55
  735. package/src/widget/hooks/useAmountUsd.ts +0 -44
  736. package/src/widget/hooks/useBalanceVisible.tsx +0 -95
  737. package/src/widget/hooks/useChainFilter.tsx +0 -56
  738. package/src/widget/hooks/useCheckout.ts +0 -361
  739. package/src/widget/hooks/useClickTracking.ts +0 -74
  740. package/src/widget/hooks/useCombinedHistory.ts +0 -420
  741. package/src/widget/hooks/useConnector.tsx +0 -24
  742. package/src/widget/hooks/useCustomTokenSearch.tsx +0 -369
  743. package/src/widget/hooks/useDebounce.ts +0 -25
  744. package/src/widget/hooks/useDebugScreens.ts +0 -600
  745. package/src/widget/hooks/useDefaultDestinationToken.tsx +0 -179
  746. package/src/widget/hooks/useDefaultOriginToken.tsx +0 -407
  747. package/src/widget/hooks/useDepositMonitor.ts +0 -118
  748. package/src/widget/hooks/useDestinationSelectedToken.tsx +0 -310
  749. package/src/widget/hooks/useDisplayCurrencyPreference.tsx +0 -145
  750. package/src/widget/hooks/useEarnPool.tsx +0 -36
  751. package/src/widget/hooks/useExecutingIntentsCount.ts +0 -78
  752. package/src/widget/hooks/useExternalFundingReceiptSync.ts +0 -79
  753. package/src/widget/hooks/useFiatOnRampCurrencies.ts +0 -46
  754. package/src/widget/hooks/useFiatSelectedCurrency.tsx +0 -123
  755. package/src/widget/hooks/useGetIntent.ts +0 -54
  756. package/src/widget/hooks/useIntentReceiptBalances.ts +0 -141
  757. package/src/widget/hooks/useIntentTransactionHistory.ts +0 -790
  758. package/src/widget/hooks/useIsConnectedWalletSmartContract.ts +0 -43
  759. package/src/widget/hooks/useIsMobile.tsx +0 -50
  760. package/src/widget/hooks/useIsSequenceWallet.ts +0 -17
  761. package/src/widget/hooks/useLocalePreference.tsx +0 -187
  762. package/src/widget/hooks/useMeldTransactionHistory.ts +0 -184
  763. package/src/widget/hooks/useMeldTransactionStatus.ts +0 -707
  764. package/src/widget/hooks/useOnRampCountryDefaults.ts +0 -57
  765. package/src/widget/hooks/useOnRampPaymentMethods.ts +0 -72
  766. package/src/widget/hooks/useOnRampProviderWidget.ts +0 -184
  767. package/src/widget/hooks/useOnRampQuote.ts +0 -340
  768. package/src/widget/hooks/useOnRampTransactionStatus.ts +0 -196
  769. package/src/widget/hooks/useOriginSelectedToken.tsx +0 -253
  770. package/src/widget/hooks/usePayMessage.tsx +0 -496
  771. package/src/widget/hooks/usePriceImpactWarning.ts +0 -17
  772. package/src/widget/hooks/useQuote.ts +0 -1239
  773. package/src/widget/hooks/useRecentTokens.ts +0 -159
  774. package/src/widget/hooks/useRecipients.ts +0 -167
  775. package/src/widget/hooks/useScreenTracking.ts +0 -14
  776. package/src/widget/hooks/useSelectedFeeOption.tsx +0 -323
  777. package/src/widget/hooks/useSelectedFundMethod.tsx +0 -93
  778. package/src/widget/hooks/useSelectedRecipient.tsx +0 -75
  779. package/src/widget/hooks/useSendForm.ts +0 -1389
  780. package/src/widget/hooks/useSwapAmount.tsx +0 -50
  781. package/src/widget/hooks/useSwapState.tsx +0 -121
  782. package/src/widget/hooks/useTargetAmount.ts +0 -26
  783. package/src/widget/hooks/useTheme.tsx +0 -80
  784. package/src/widget/hooks/useTokenList.ts +0 -1168
  785. package/src/widget/hooks/useTrailsSendTransaction.ts +0 -987
  786. package/src/widget/hooks/useViewManager.tsx +0 -506
  787. package/src/widget/hooks/useWalletConnectUri.tsx +0 -307
  788. package/src/widget/hooks/useWalletConnectionContext.tsx +0 -128
  789. package/src/widget/hooks/useWidgetProps.tsx +0 -33
  790. package/src/widget/index.css +0 -686
  791. package/src/widget/index.tsx +0 -28
  792. package/src/widget/providers/TrailsModalProvider.tsx +0 -238
  793. package/src/widget/providers/TrailsProvider.tsx +0 -155
  794. package/src/widget/providers/UserActivityProvider.tsx +0 -78
  795. package/src/widget/providers/WidgetProviderTree.tsx +0 -90
  796. package/src/widget/styles.ts +0 -26
  797. package/src/widget/types/analytics.ts +0 -22
  798. package/src/widget/types/commonProps.ts +0 -56
  799. package/src/widget/types/svg.d.ts +0 -8
  800. package/src/widget/types.ts +0 -51
  801. package/src/widget/utils/countryUtils.ts +0 -89
  802. package/src/widget/utils/createWagmiConfig.ts +0 -43
  803. package/src/widget/utils/forexRateStore.ts +0 -120
  804. package/src/widget/utils/fundMethodSwitchState.ts +0 -27
  805. package/src/widget/utils/historyFilters.ts +0 -157
  806. package/src/widget/utils/historyUtils.ts +0 -101
  807. package/src/widget/utils/localeStore.ts +0 -68
  808. package/src/widget/utils/meldProviderUtils.ts +0 -26
  809. package/src/widget/utils/meshSupportedTokens.ts +0 -28
  810. package/src/widget/utils/onrampConfig.ts +0 -15
  811. package/src/widget/utils/statusLabel.ts +0 -3
  812. package/src/widget/utils/tokens.ts +0 -138
  813. package/src/widget/utils/trailsOnrampConfig.ts +0 -39
  814. package/src/widget/utils/transactionFailure.ts +0 -52
  815. package/src/widget/utils/viewManagerGuards.ts +0 -49
  816. package/src/widget/utils/windowUtils.ts +0 -138
  817. package/src/widget/widget.tsx +0 -3400
  818. /package/dist/{widget/hooks → hooks}/useAddressWalletIcon.d.ts +0 -0
  819. /package/dist/{widget/hooks → hooks}/useAmountUsd.d.ts +0 -0
  820. /package/dist/{widget/hooks → hooks}/useBalanceVisible.d.ts +0 -0
  821. /package/dist/{widget/hooks → hooks}/useChainFilter.d.ts +0 -0
  822. /package/dist/{widget/hooks → hooks}/useClickTracking.d.ts +0 -0
  823. /package/dist/{widget/hooks → hooks}/useConnector.d.ts +0 -0
  824. /package/dist/{widget/hooks → hooks}/useDebounce.d.ts +0 -0
  825. /package/dist/{widget/hooks → hooks}/useDepositMonitor.d.ts +0 -0
  826. /package/dist/{widget/hooks → hooks}/useDisplayCurrencyPreference.d.ts +0 -0
  827. /package/dist/{widget/hooks → hooks}/useExecutingIntentsCount.d.ts +0 -0
  828. /package/dist/{widget/hooks → hooks}/useFiatSelectedCurrency.d.ts +0 -0
  829. /package/dist/{widget/hooks → hooks}/useGetIntent.d.ts +0 -0
  830. /package/dist/{widget/hooks → hooks}/useIsMobile.d.ts +0 -0
  831. /package/dist/{widget/hooks → hooks}/useIsSequenceWallet.d.ts +0 -0
  832. /package/dist/{widget/hooks → hooks}/useLocalePreference.d.ts +0 -0
  833. /package/dist/{widget/hooks → hooks}/useMeldTransactionHistory.d.ts +0 -0
  834. /package/dist/{widget/hooks → hooks}/useMeldTransactionStatus.d.ts +0 -0
  835. /package/dist/{widget/hooks → hooks}/useOnRampCountryDefaults.d.ts +0 -0
  836. /package/dist/{widget/hooks → hooks}/usePayMessage.d.ts +0 -0
  837. /package/dist/{widget/hooks → hooks}/usePriceImpactWarning.d.ts +0 -0
  838. /package/dist/{widget/hooks → hooks}/useRecipients.d.ts +0 -0
  839. /package/dist/{widget/hooks → hooks}/useSelectedFeeOption.d.ts +0 -0
  840. /package/dist/{widget/hooks → hooks}/useSelectedRecipient.d.ts +0 -0
  841. /package/dist/{widget/hooks → hooks}/useSwapAmount.d.ts +0 -0
  842. /package/dist/{widget/hooks → hooks}/useTargetAmount.d.ts +0 -0
  843. /package/dist/{widget/hooks → hooks}/useTheme.d.ts +0 -0
  844. /package/dist/{widget/hooks → hooks}/useWalletConnectionContext.d.ts +0 -0
@@ -1,1060 +0,0 @@
1
- import { ChevronLeft } from "lucide-react"
2
- import type React from "react"
3
- import { useEffect, useRef, useState } from "react"
4
- import { useAccount } from "wagmi"
5
- import { trackOnrampPaymentCompleted } from "../../analytics.js"
6
- import { logger } from "../../logger.js"
7
- import type { PrepareSendQuote } from "../../prepareSend.js"
8
- import { truncateAddress } from "../../utils/address.js"
9
- import { formatCountdown, MINUTE_S } from "../../utils/time.js"
10
- import { useDepositMonitor } from "../hooks/useDepositMonitor.js"
11
- import { useMeldTransactionStatus } from "../hooks/useMeldTransactionStatus.js"
12
- import type { OnrampQuote } from "../hooks/useOnRampQuote.js"
13
- import { openPopup, setPopupUrl, closePopup } from "../utils/windowUtils.js"
14
- import { OnrampErrorScreen } from "./OnrampErrorScreen.js"
15
- import { QuoteDetails } from "./QuoteDetails.js"
16
- import { SessionTimeoutScreen } from "./SessionTimeoutScreen.js"
17
- import { TokenImage } from "./TokenImage.js"
18
- import { TruncatedTransactionHash } from "./TruncatedTransactionHash.js"
19
-
20
- // Helper to build tooltip text
21
- const buildTooltipText = (quote?: PrepareSendQuote | null): string => {
22
- if (!quote) return ""
23
- const lines: string[] = []
24
- if (quote.originDepositAddress) {
25
- lines.push(
26
- `Deposit to: ${truncateAddress(quote.originDepositAddress)} (${quote.originChain?.name || `Chain ${quote.originChain?.id}`})`,
27
- )
28
- }
29
- if (
30
- quote.destinationAddress &&
31
- quote.destinationAddress !== quote.originDepositAddress
32
- ) {
33
- lines.push(
34
- `Recipient: ${truncateAddress(quote.destinationAddress)} (${quote.destinationChain?.name || `Chain ${quote.destinationChain?.id}`})`,
35
- )
36
- }
37
- return lines.join("\n")
38
- }
39
-
40
- // TokenDiagram component for displaying the token flow
41
- interface TokenDiagramProps {
42
- onRampQuote?: OnrampQuote | null
43
- quote?: PrepareSendQuote | null
44
- tokenSize?: number
45
- className?: string
46
- textClassName?: string
47
- }
48
-
49
- const TokenDiagram: React.FC<TokenDiagramProps> = ({
50
- onRampQuote,
51
- quote,
52
- tokenSize = 20,
53
- className = "mt-4 text-sm text-gray-700 dark:text-gray-300 flex items-center gap-3 justify-center",
54
- textClassName = "font-medium",
55
- }) => {
56
- if (
57
- !onRampQuote?.sourceCurrencyCode ||
58
- !quote?.originToken ||
59
- !quote?.destinationToken
60
- ) {
61
- return null
62
- }
63
-
64
- const tooltipText = buildTooltipText(quote)
65
-
66
- return (
67
- <div className={className} title={tooltipText}>
68
- <span className={textClassName}>{onRampQuote.sourceCurrencyCode}</span>
69
- <span className="text-gray-500 dark:text-gray-400">→</span>
70
- <div
71
- className="flex items-center gap-2 cursor-help"
72
- title={
73
- quote.originDepositAddress
74
- ? `Deposit to: ${quote.originDepositAddress}`
75
- : undefined
76
- }
77
- >
78
- <TokenImage
79
- imageUrl={quote.originToken.imageUrl}
80
- symbol={quote.originToken.symbol}
81
- chainId={quote.originChain?.id}
82
- contractAddress={quote.originToken.contractAddress}
83
- size={tokenSize}
84
- />
85
- <span className={textClassName}>{quote.originToken.symbol}</span>
86
- </div>
87
- <span className="text-gray-500 dark:text-gray-400">→</span>
88
- <div
89
- className="flex items-center gap-2 cursor-help"
90
- title={
91
- quote.destinationAddress
92
- ? `Recipient: ${quote.destinationAddress}`
93
- : undefined
94
- }
95
- >
96
- <TokenImage
97
- imageUrl={quote.destinationToken.imageUrl}
98
- symbol={quote.destinationToken.symbol}
99
- chainId={quote.destinationChain?.id}
100
- contractAddress={quote.destinationToken.contractAddress}
101
- size={tokenSize}
102
- />
103
- <span className={textClassName}>{quote.destinationToken.symbol}</span>
104
- </div>
105
- </div>
106
- )
107
- }
108
- interface WidgetCreationParams {
109
- depositAddress: string
110
- userAddress: string
111
- countryCode: string
112
- sourceCurrencyCode: string
113
- sourceAmount: string
114
- destinationCurrencyCode: string
115
- serviceProvider: string
116
- paymentMethodType?: string
117
- }
118
-
119
- interface OnrampProviderConfirmationProps {
120
- onBack?: () => void
121
- onRetry?: () => void // For regenerating widget session
122
- onIntentExecuted?: () => void // Called when intent is successfully executed
123
- quote?: PrepareSendQuote | null
124
- onRampQuote?: OnrampQuote | null
125
- widgetCreationParams?: WidgetCreationParams | null
126
- onCreateWidgetSession?: (
127
- params: WidgetCreationParams,
128
- ) => Promise<{ widgetUrl: string; id: string }>
129
- externalSessionId?: string | null // For monitoring transaction status
130
- popupWindowRef?: Window | null
131
- }
132
-
133
- export const OnrampProviderConfirmation: React.FC<
134
- OnrampProviderConfirmationProps
135
- > = ({
136
- onBack,
137
- onRetry,
138
- onIntentExecuted,
139
- quote,
140
- onRampQuote,
141
- widgetCreationParams,
142
- onCreateWidgetSession,
143
- externalSessionId,
144
- popupWindowRef,
145
- }) => {
146
- const [showContent, setShowContent] = useState(false)
147
- const [timeRemaining, setTimeRemaining] = useState(20 * MINUTE_S)
148
- const [isTimedOut, setIsTimedOut] = useState(false)
149
- const [hasTransactionError, setHasTransactionError] = useState(false)
150
- const [hasExecutedWithDeposit, setHasExecutedWithDeposit] = useState(false)
151
- const [isCountingUp, setIsCountingUp] = useState(false) // Track if we're counting up
152
- const [timeElapsed, setTimeElapsed] = useState(0) // Time elapsed when counting up
153
- const trackedOnrampCompletionKey = useRef<string | null>(null)
154
- const { address } = useAccount()
155
-
156
- // Check if this is a direct deposit flow (recipient is the deposit address)
157
- const isDirectDeposit =
158
- quote?.originDepositAddress &&
159
- address?.toLowerCase() === quote.originDepositAddress.toLowerCase()
160
-
161
- // Monitor Meld transaction status
162
- const {
163
- transaction,
164
- isLoading: isLoadingTransaction,
165
- error: transactionError,
166
- settledTransactionHash: meldTransactionHash,
167
- settledAmount: meldSettledAmount,
168
- isSuccess: isMeldSuccess,
169
- windowClosed,
170
- state: meldStatusState,
171
- resetWindowClosed,
172
- setWindowRef,
173
- } = useMeldTransactionStatus({
174
- externalSessionId,
175
- popupOpened: true, // Enable polling since we're in the confirmation screen
176
- enabled: !!externalSessionId, // Only enable if we have a session ID
177
- })
178
-
179
- useEffect(() => {
180
- if (!popupWindowRef) {
181
- return
182
- }
183
-
184
- setWindowRef(popupWindowRef)
185
-
186
- return () => {
187
- setWindowRef(null)
188
- }
189
- }, [popupWindowRef, setWindowRef])
190
-
191
- // Monitor deposits at the origin intent address (only for intent-based flows)
192
- const isIntentDepositMonitoringEnabled =
193
- !!quote?.originDepositAddress && !isDirectDeposit
194
-
195
- const {
196
- hasSufficientDeposit: intentHasSufficientDeposit,
197
- depositBalanceFormatted: intentDepositBalanceFormatted,
198
- percentageComplete: intentPercentageComplete,
199
- } = useDepositMonitor({
200
- chainId: quote?.originChain?.id,
201
- depositAddress: quote?.originDepositAddress,
202
- tokenAddress: quote?.originToken?.contractAddress,
203
- requiredAmount: quote?.originAmount,
204
- enabled: isIntentDepositMonitoringEnabled, // Only monitor for intent-based flows
205
- })
206
-
207
- // Use the appropriate monitoring data based on flow type
208
- const hasSufficientDeposit = isDirectDeposit
209
- ? isMeldSuccess
210
- : intentHasSufficientDeposit
211
- const isMonitoringDeposits = isDirectDeposit
212
- ? !!externalSessionId
213
- : isIntentDepositMonitoringEnabled
214
- const depositBalanceFormatted = isDirectDeposit
215
- ? meldSettledAmount || "0"
216
- : intentDepositBalanceFormatted
217
- const percentageComplete = isDirectDeposit
218
- ? isMeldSuccess
219
- ? 100
220
- : 0
221
- : intentPercentageComplete
222
- const lastTransactionHash = isDirectDeposit ? meldTransactionHash : null
223
-
224
- const isPopupClosedDuringFlow =
225
- (windowClosed || meldStatusState === "window-closed") &&
226
- !isMeldSuccess &&
227
- !hasSufficientDeposit
228
-
229
- useEffect(() => {
230
- const completionKey = externalSessionId || quote?.intentId || "unknown"
231
- if (
232
- !isMeldSuccess ||
233
- trackedOnrampCompletionKey.current === completionKey
234
- ) {
235
- return
236
- }
237
-
238
- trackedOnrampCompletionKey.current = completionKey
239
-
240
- trackOnrampPaymentCompleted({
241
- fundMethod: "onramp-meld",
242
- userAddress: address,
243
- intentId: quote?.intentId || undefined,
244
- intentAddress: quote?.originDepositAddress,
245
- externalSessionId: externalSessionId || undefined,
246
- transactionId: transaction?.id,
247
- transactionHash: meldTransactionHash || transaction?.transactionHash,
248
- status: transaction?.status || "COMPLETED",
249
- provider: transaction?.serviceProvider || onRampQuote?.serviceProvider,
250
- sourceAmount:
251
- transaction?.sourceAmount ?? onRampQuote?.sourceAmount?.toString(),
252
- sourceCurrencyCode:
253
- transaction?.sourceCurrencyCode || onRampQuote?.sourceCurrencyCode,
254
- destinationAmount:
255
- meldSettledAmount ||
256
- transaction?.destinationAmount ||
257
- onRampQuote?.destinationAmount?.toString(),
258
- destinationCurrencyCode:
259
- transaction?.destinationCurrencyCode ||
260
- onRampQuote?.destinationCurrencyCode,
261
- countryCode: onRampQuote?.countryCode,
262
- paymentMethodType: onRampQuote?.paymentMethodType,
263
- paymentMethod: transaction?.paymentMethod,
264
- })
265
- }, [
266
- isMeldSuccess,
267
- address,
268
- quote?.intentId,
269
- quote?.originDepositAddress,
270
- onRampQuote?.serviceProvider,
271
- onRampQuote?.sourceAmount,
272
- onRampQuote?.sourceCurrencyCode,
273
- onRampQuote?.destinationAmount,
274
- onRampQuote?.destinationCurrencyCode,
275
- onRampQuote?.countryCode,
276
- onRampQuote?.paymentMethodType,
277
- externalSessionId,
278
- transaction?.id,
279
- transaction?.transactionHash,
280
- transaction?.status,
281
- transaction?.serviceProvider,
282
- transaction?.sourceAmount,
283
- transaction?.sourceCurrencyCode,
284
- transaction?.destinationAmount,
285
- transaction?.destinationCurrencyCode,
286
- transaction?.paymentMethod,
287
- meldTransactionHash,
288
- meldSettledAmount,
289
- ])
290
-
291
- // Monitor transaction status for errors and SETTLING state
292
- useEffect(() => {
293
- if (isPopupClosedDuringFlow) {
294
- return
295
- }
296
-
297
- if (transaction?.status) {
298
- const status = transaction.status.toUpperCase()
299
-
300
- // Check for error statuses
301
- const errorStatuses = ["DECLINED", "FAILED", "CANCELLED"]
302
- if (errorStatuses.includes(status)) {
303
- setHasTransactionError(true)
304
- }
305
-
306
- // Switch to counting up when status changes to SETTLING
307
- if (status === "SETTLING" && !isCountingUp) {
308
- setIsCountingUp(true)
309
- setTimeElapsed(0) // Reset elapsed time to start from 0
310
- }
311
- }
312
- }, [transaction?.status, isCountingUp, isPopupClosedDuringFlow])
313
-
314
- useEffect(() => {
315
- setShowContent(true)
316
- }, [])
317
-
318
- // Onramp flows commit and execute before this screen is shown.
319
- // Deposit monitoring here is UI-only; do not re-enter sendFn with a
320
- // client-detected deposit hash.
321
- useEffect(() => {
322
- if (!hasSufficientDeposit || hasExecutedWithDeposit) {
323
- return
324
- }
325
-
326
- logger.console.log(
327
- "[OnrampProviderConfirmation] Deposit detected after commit/execute",
328
- {
329
- intentId: quote?.intentId,
330
- transactionHash: lastTransactionHash,
331
- amount: depositBalanceFormatted,
332
- isDirectDeposit,
333
- },
334
- )
335
-
336
- setHasExecutedWithDeposit(true)
337
-
338
- if (onIntentExecuted) {
339
- onIntentExecuted()
340
- }
341
- }, [
342
- quote,
343
- hasExecutedWithDeposit,
344
- lastTransactionHash,
345
- hasSufficientDeposit,
346
- onIntentExecuted,
347
- isDirectDeposit,
348
- depositBalanceFormatted,
349
- ])
350
- // Timer - handles both countdown and count-up modes
351
- useEffect(() => {
352
- if (isTimedOut || isPopupClosedDuringFlow) return
353
-
354
- const interval = setInterval(() => {
355
- if (isCountingUp) {
356
- // Count up mode (when status is SETTLING)
357
- setTimeElapsed((prev) => prev + 1)
358
- } else {
359
- // Countdown mode (default)
360
- setTimeRemaining((prev) => {
361
- if (prev <= 1) {
362
- // Time expired - show timeout screen
363
- clearInterval(interval)
364
- setIsTimedOut(true)
365
- return 0
366
- }
367
- return prev - 1
368
- })
369
- }
370
- }, 1000)
371
-
372
- return () => clearInterval(interval)
373
- }, [isTimedOut, isCountingUp, isPopupClosedDuringFlow])
374
-
375
- const getCurrentTime = () => {
376
- return isCountingUp ? timeElapsed : timeRemaining
377
- }
378
-
379
- // Handle timeout screen actions
380
- const handleTryAgain = () => {
381
- // Reset the timer and go back to try again (countdown mode)
382
- setIsTimedOut(false)
383
- setTimeRemaining(20 * MINUTE_S)
384
- setIsCountingUp(false) // Reset to countdown mode
385
- setTimeElapsed(0) // Reset elapsed time
386
- setHasTransactionError(false)
387
- setHasExecutedWithDeposit(false)
388
- setShowContent(false)
389
- // Give a moment for state to reset, then show content again
390
- setTimeout(() => setShowContent(true), 100)
391
- resetWindowClosed()
392
- }
393
-
394
- const handleTimeoutBack = () => {
395
- onBack?.()
396
- }
397
-
398
- // Handle retry by regenerating widget session
399
- const handleRetryWidget = async () => {
400
- if (!widgetCreationParams || !onCreateWidgetSession) {
401
- // Fallback to original retry behavior if no widget creation params
402
- onRetry?.()
403
- resetWindowClosed()
404
- return
405
- }
406
-
407
- const { popup, blocked } = openPopup("onramp-widget", 400, 700)
408
-
409
- if (blocked) {
410
- logger.console.error("Popup blocked - cannot retry widget")
411
- onRetry?.()
412
- return
413
- }
414
-
415
- try {
416
- setWindowRef(popup)
417
-
418
- // Create a new widget session with the same parameters
419
- const { widgetUrl } = await onCreateWidgetSession(widgetCreationParams)
420
-
421
- if (!setPopupUrl(popup, widgetUrl)) {
422
- closePopup(popup)
423
- onRetry?.()
424
- return
425
- }
426
-
427
- // Reset the timer for the new session (countdown mode)
428
- setIsTimedOut(false)
429
- setTimeRemaining(20 * MINUTE_S)
430
- setIsCountingUp(false) // Reset to countdown mode
431
- setTimeElapsed(0) // Reset elapsed time
432
- setHasTransactionError(false)
433
- setHasExecutedWithDeposit(false)
434
- setShowContent(false)
435
- // Give a moment for state to reset, then show content again
436
- setTimeout(() => setShowContent(true), 100)
437
- resetWindowClosed()
438
- } catch (error) {
439
- closePopup(popup)
440
- setWindowRef(null)
441
- logger.console.error("Failed to regenerate widget session:", error)
442
- // Fallback to original retry behavior
443
- onRetry?.()
444
- }
445
- }
446
-
447
- // Render deposit monitoring status
448
- const renderDepositStatus = () => {
449
- if (!quote?.originDepositAddress) {
450
- return null
451
- }
452
-
453
- if (!isMonitoringDeposits) {
454
- return (
455
- <div className="mt-4 p-4 bg-blue-50 dark:bg-blue-900/20 rounded-lg border border-blue-200 dark:border-blue-700">
456
- <div className="flex items-center space-x-2">
457
- <svg
458
- className="w-5 h-5 text-blue-600 dark:text-blue-400 animate-spin"
459
- fill="none"
460
- viewBox="0 0 24 24"
461
- >
462
- <title>Loading</title>
463
- <circle
464
- className="opacity-25"
465
- cx="12"
466
- cy="12"
467
- r="10"
468
- stroke="currentColor"
469
- strokeWidth="4"
470
- />
471
- <path
472
- className="opacity-75"
473
- fill="currentColor"
474
- d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"
475
- />
476
- </svg>
477
- <p className="text-sm text-blue-800 dark:text-blue-200">
478
- Starting deposit monitoring...
479
- </p>
480
- </div>
481
- </div>
482
- )
483
- }
484
-
485
- if (hasSufficientDeposit) {
486
- return (
487
- <div className="mt-4 p-4 bg-green-50 dark:bg-green-900/20 rounded-lg border border-green-200 dark:border-green-700">
488
- <div className="flex items-center space-x-2">
489
- <svg
490
- className="w-5 h-5 text-green-600 dark:text-green-400"
491
- fill="none"
492
- viewBox="0 0 24 24"
493
- stroke="currentColor"
494
- >
495
- <title>Success</title>
496
- <path
497
- strokeLinecap="round"
498
- strokeLinejoin="round"
499
- strokeWidth={2}
500
- d="M5 13l4 4L19 7"
501
- />
502
- </svg>
503
- <div>
504
- <p className="text-sm font-medium text-green-800 dark:text-green-200">
505
- {isDirectDeposit
506
- ? "Funds arrived at recipient address"
507
- : "Funds arrived at intent address"}
508
- </p>
509
- <p className="text-xs text-green-600 dark:text-green-400 mt-1">
510
- Received: {depositBalanceFormatted} {quote?.originToken?.symbol}
511
- </p>
512
- {lastTransactionHash ? (
513
- <p className="text-xs text-green-600 dark:text-green-400 mt-1">
514
- Transaction:{" "}
515
- <TruncatedTransactionHash
516
- txHash={lastTransactionHash}
517
- chainId={quote?.originChain?.id || 1}
518
- className="text-green-600 dark:text-green-400"
519
- />
520
- </p>
521
- ) : (
522
- isDirectDeposit &&
523
- isMeldSuccess && (
524
- <p className="text-xs text-green-600 dark:text-green-400 mt-1">
525
- Transaction confirmed
526
- </p>
527
- )
528
- )}
529
- {hasExecutedWithDeposit && !isDirectDeposit && (
530
- <p className="text-xs text-green-600 dark:text-green-400 mt-2 font-medium">
531
- Processing transaction...
532
- </p>
533
- )}
534
- </div>
535
- </div>
536
- </div>
537
- )
538
- }
539
-
540
- // Only show monitoring section if there's a balance (even partial)
541
- if (depositBalanceFormatted && Number(depositBalanceFormatted) > 0) {
542
- return (
543
- <div className="mt-4 p-4 bg-yellow-50 dark:bg-yellow-900/20 rounded-lg border border-yellow-200 dark:border-yellow-700">
544
- <div className="flex items-center space-x-2">
545
- <svg
546
- className="w-5 h-5 text-yellow-600 dark:text-yellow-400"
547
- fill="none"
548
- viewBox="0 0 24 24"
549
- stroke="currentColor"
550
- >
551
- <title>Waiting</title>
552
- <path
553
- strokeLinecap="round"
554
- strokeLinejoin="round"
555
- strokeWidth={2}
556
- d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"
557
- />
558
- </svg>
559
- <div>
560
- <p className="text-sm font-medium text-yellow-800 dark:text-yellow-200">
561
- {isDirectDeposit
562
- ? "Waiting for transaction confirmation..."
563
- : "Monitoring for deposits..."}
564
- </p>
565
- {percentageComplete > 0 && (
566
- <div className="mt-2">
567
- <div className="flex justify-between text-xs text-yellow-600 dark:text-yellow-400 mb-1">
568
- <span>Progress</span>
569
- <span>{percentageComplete.toFixed(0)}%</span>
570
- </div>
571
- <div className="w-full bg-yellow-200 dark:bg-yellow-800 rounded-full h-2">
572
- <div
573
- className="bg-yellow-600 dark:bg-yellow-400 h-2 rounded-full transition-all duration-500"
574
- style={{ width: `${Math.min(percentageComplete, 100)}%` }}
575
- />
576
- </div>
577
- </div>
578
- )}
579
- <p className="text-xs text-yellow-600 dark:text-yellow-400 mt-1">
580
- Current balance: {depositBalanceFormatted}{" "}
581
- {quote?.originToken?.symbol}
582
- </p>
583
- </div>
584
- </div>
585
- </div>
586
- )
587
- }
588
-
589
- // Don't show anything if no balance detected yet
590
- return null
591
- }
592
-
593
- // Render transaction status display
594
- const renderTransactionStatus = () => {
595
- if (!externalSessionId) {
596
- return (
597
- <div className="mt-4 p-4 bg-gray-50 dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700">
598
- <p className="text-sm text-gray-600 dark:text-gray-400">
599
- No external session ID - status monitoring disabled
600
- </p>
601
- </div>
602
- )
603
- }
604
-
605
- if (transactionError) {
606
- return (
607
- <div className="mt-4 p-4 bg-red-50 dark:bg-red-900/20 rounded-lg border border-red-200 dark:border-red-700">
608
- <div className="flex items-center space-x-2">
609
- <svg
610
- className="w-5 h-5 text-red-600 dark:text-red-400 flex-shrink-0"
611
- fill="none"
612
- viewBox="0 0 24 24"
613
- stroke="currentColor"
614
- >
615
- <title>Error</title>
616
- <path
617
- strokeLinecap="round"
618
- strokeLinejoin="round"
619
- strokeWidth={2}
620
- d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L3.732 16.5c-.77.833.192 2.5 1.732 2.5z"
621
- />
622
- </svg>
623
- <div>
624
- <p className="text-sm font-medium text-red-800 dark:text-red-200">
625
- Error checking transaction status
626
- </p>
627
- <p className="text-xs text-red-600 dark:text-red-400 mt-1">
628
- {transactionError.message}
629
- </p>
630
- </div>
631
- </div>
632
- </div>
633
- )
634
- }
635
-
636
- if (isLoadingTransaction) {
637
- return (
638
- <div className="mt-4 p-4 bg-blue-50 dark:bg-blue-900/20 rounded-lg border border-blue-200 dark:border-blue-700">
639
- <div className="flex items-center space-x-2">
640
- <svg
641
- className="w-5 h-5 text-blue-600 dark:text-blue-400 animate-spin"
642
- fill="none"
643
- viewBox="0 0 24 24"
644
- >
645
- <title>Loading</title>
646
- <circle
647
- className="opacity-25"
648
- cx="12"
649
- cy="12"
650
- r="10"
651
- stroke="currentColor"
652
- strokeWidth="4"
653
- ></circle>
654
- <path
655
- className="opacity-75"
656
- fill="currentColor"
657
- d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"
658
- ></path>
659
- </svg>
660
- <p className="text-sm text-blue-800 dark:text-blue-200">
661
- Checking transaction status...
662
- </p>
663
- </div>
664
- </div>
665
- )
666
- }
667
-
668
- if (transaction?.status) {
669
- const getStatusColor = (status: string) => {
670
- switch (status?.toUpperCase()) {
671
- case "COMPLETED":
672
- case "SUCCESS":
673
- return "green"
674
- case "SETTLING":
675
- return "blue"
676
- case "DECLINED":
677
- case "FAILED":
678
- return "red"
679
- // Treat ERROR as processing state - Meld API sometimes returns ERROR temporarily
680
- // before switching to SETTLED/COMPLETED, so we don't want to show it as a failure
681
- case "ERROR":
682
- case "PENDING":
683
- case "PROCESSING":
684
- return "yellow"
685
- default:
686
- return "blue"
687
- }
688
- }
689
-
690
- const getStatusMessage = (status: string) => {
691
- switch (status?.toUpperCase()) {
692
- case "COMPLETED":
693
- case "SUCCESS":
694
- return "Payment completed successfully"
695
- case "SETTLING":
696
- return "Finalizing your payment with the provider"
697
- case "PENDING":
698
- return "Waiting for payment confirmation"
699
- case "PROCESSING":
700
- return "Processing your payment"
701
- case "ERROR":
702
- return "Verifying payment status"
703
- case "DECLINED":
704
- return "Payment was declined"
705
- case "FAILED":
706
- return "Payment failed"
707
- default:
708
- return "Checking payment status"
709
- }
710
- }
711
-
712
- const color = getStatusColor(transaction.status)
713
- const colorClasses = {
714
- green:
715
- "bg-green-50 dark:bg-green-900/20 border-green-200 dark:border-green-700",
716
- red: "bg-red-50 dark:bg-red-900/20 border-red-200 dark:border-red-700",
717
- yellow:
718
- "bg-yellow-50 dark:bg-yellow-900/20 border-yellow-200 dark:border-yellow-700",
719
- blue: "bg-blue-50 dark:bg-blue-900/20 border-blue-200 dark:border-blue-700",
720
- }
721
-
722
- const textColorClasses = {
723
- green: "text-green-800 dark:text-green-200",
724
- red: "text-red-800 dark:text-red-200",
725
- yellow: "text-yellow-800 dark:text-yellow-200",
726
- blue: "text-blue-800 dark:text-blue-200",
727
- }
728
-
729
- const iconColorClasses = {
730
- green: "text-green-600 dark:text-green-400",
731
- red: "text-red-600 dark:text-red-400",
732
- yellow: "text-yellow-600 dark:text-yellow-400",
733
- blue: "text-blue-600 dark:text-blue-400",
734
- }
735
-
736
- return (
737
- <div className={`mt-4 p-4 rounded-lg border ${colorClasses[color]}`}>
738
- <div className="flex items-start space-x-3">
739
- {/* Icon */}
740
- <div className="flex-shrink-0 mt-0.5">
741
- {color === "yellow" ||
742
- color === "blue" ||
743
- transaction.status?.toUpperCase() === "SETTLING" ? (
744
- <svg
745
- className={`w-5 h-5 ${iconColorClasses[color]} animate-spin`}
746
- fill="none"
747
- viewBox="0 0 24 24"
748
- >
749
- <title>Processing</title>
750
- <circle
751
- className="opacity-25"
752
- cx="12"
753
- cy="12"
754
- r="10"
755
- stroke="currentColor"
756
- strokeWidth="4"
757
- />
758
- <path
759
- className="opacity-75"
760
- fill="currentColor"
761
- d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"
762
- />
763
- </svg>
764
- ) : color === "green" ? (
765
- <svg
766
- className={`w-5 h-5 ${iconColorClasses[color]}`}
767
- fill="none"
768
- viewBox="0 0 24 24"
769
- stroke="currentColor"
770
- >
771
- <title>Success</title>
772
- <path
773
- strokeLinecap="round"
774
- strokeLinejoin="round"
775
- strokeWidth={2}
776
- d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"
777
- />
778
- </svg>
779
- ) : (
780
- <svg
781
- className={`w-5 h-5 ${iconColorClasses[color]}`}
782
- fill="none"
783
- viewBox="0 0 24 24"
784
- stroke="currentColor"
785
- >
786
- <title>Error</title>
787
- <path
788
- strokeLinecap="round"
789
- strokeLinejoin="round"
790
- strokeWidth={2}
791
- d="M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z"
792
- />
793
- </svg>
794
- )}
795
- </div>
796
-
797
- {/* Content */}
798
- <div className="flex-1 text-left">
799
- <p className={`text-sm font-medium ${textColorClasses[color]}`}>
800
- {getStatusMessage(transaction.status)}
801
- </p>
802
- <p
803
- className={`text-xs mt-1 ${textColorClasses[color]} opacity-75`}
804
- >
805
- Status:{" "}
806
- {transaction.status === "ERROR"
807
- ? "PROCESSING"
808
- : transaction.status?.toUpperCase()}
809
- </p>
810
- {(transaction.sourceAmount || transaction.destinationAmount) && (
811
- <p
812
- className={`text-xs mt-1 ${textColorClasses[color]} opacity-75`}
813
- >
814
- Amount:{" "}
815
- {transaction.sourceAmount || transaction.destinationAmount}{" "}
816
- {transaction.sourceCurrencyCode ||
817
- transaction.destinationCurrencyCode}
818
- </p>
819
- )}
820
- </div>
821
- </div>
822
- </div>
823
- )
824
- }
825
-
826
- // Default case: we have external session ID but no transaction yet
827
- return (
828
- <>
829
- <div className="mt-4 p-4 bg-blue-50 dark:bg-blue-900/20 rounded-lg border border-blue-200 dark:border-blue-700">
830
- <div className="flex items-start space-x-3">
831
- <div className="flex-shrink-0 mt-0.5">
832
- <svg
833
- className="w-5 h-5 text-blue-600 dark:text-blue-400 animate-spin"
834
- fill="none"
835
- viewBox="0 0 24 24"
836
- >
837
- <title>Loading</title>
838
- <circle
839
- className="opacity-25"
840
- cx="12"
841
- cy="12"
842
- r="10"
843
- stroke="currentColor"
844
- strokeWidth="4"
845
- />
846
- <path
847
- className="opacity-75"
848
- fill="currentColor"
849
- d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"
850
- />
851
- </svg>
852
- </div>
853
- <div className="flex-1">
854
- <p className="text-sm font-medium text-blue-800 dark:text-blue-200">
855
- Initializing payment monitoring
856
- </p>
857
- <p className="text-xs mt-1 text-blue-800 dark:text-blue-200 opacity-75">
858
- Status: INITIALIZING
859
- </p>
860
- </div>
861
- </div>
862
- </div>
863
- {/* Onramp quote info - subtle display - outside status div */}
864
- <TokenDiagram
865
- onRampQuote={onRampQuote}
866
- quote={quote}
867
- tokenSize={14}
868
- className="text-xs mt-2 text-gray-600 dark:text-gray-400 opacity-70 flex items-center gap-2 justify-center"
869
- textClassName=""
870
- />
871
- </>
872
- )
873
- }
874
-
875
- if (isPopupClosedDuringFlow) {
876
- return (
877
- <OnrampErrorScreen
878
- onTryAgain={handleTryAgain}
879
- onRetry={handleRetryWidget}
880
- onBack={handleTimeoutBack}
881
- intentId={quote?.intentId}
882
- transactionStatus="CANCELLED"
883
- title="Onramp Window Closed"
884
- message="Your onramp window was closed before payment completion. Please try again to restart the flow."
885
- />
886
- )
887
- }
888
-
889
- // Show error screen if transaction failed
890
- if (hasTransactionError) {
891
- return (
892
- <OnrampErrorScreen
893
- onTryAgain={handleTryAgain}
894
- onRetry={handleRetryWidget}
895
- onBack={handleTimeoutBack}
896
- transactionStatus={transaction?.status}
897
- transactionError={transactionError?.message}
898
- />
899
- )
900
- }
901
-
902
- // Show timeout screen if session has timed out
903
- if (isTimedOut) {
904
- return (
905
- <SessionTimeoutScreen
906
- onTryAgain={handleTryAgain}
907
- onRetry={handleRetryWidget} // Use our enhanced retry handler
908
- onBack={handleTimeoutBack}
909
- title="Session Timeout"
910
- message="Your payment session has timed out. Please try again to continue with your onramp transaction."
911
- />
912
- )
913
- }
914
-
915
- return (
916
- <div className="space-y-6">
917
- <div className="flex items-center relative">
918
- <button
919
- type="button"
920
- onClick={onBack}
921
- className="absolute left-0 top-0 p-2 rounded-full transition-colors cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-800 hover:trails-hover-bg text-gray-600 dark:text-gray-400"
922
- >
923
- <ChevronLeft className="h-6 w-6" />
924
- </button>
925
- </div>
926
-
927
- <div className="flex flex-col justify-center min-h-full space-y-6 pt-8">
928
- <div className="text-center">
929
- <div
930
- className={`mb-2 transition-all duration-500 ease-out ${showContent ? "opacity-100 translate-y-0" : "opacity-0 translate-y-4"}`}
931
- >
932
- <h2 className="text-xl font-bold text-gray-900 dark:text-white">
933
- {isCountingUp
934
- ? "Payment is settling..."
935
- : "Complete your purchase in the onramp window..."}
936
- </h2>
937
-
938
- {/* Timer Display */}
939
- <div className="mt-4 flex items-center justify-center">
940
- <div className="flex items-center space-x-2 px-4 py-2 bg-blue-50 dark:bg-blue-900/20 rounded-lg border border-blue-200 dark:border-blue-700">
941
- <svg
942
- className="w-5 h-5 text-blue-600 dark:text-blue-400"
943
- fill="none"
944
- viewBox="0 0 24 24"
945
- stroke="currentColor"
946
- >
947
- <title>
948
- {isCountingUp ? "Processing Time" : "Time Remaining"}
949
- </title>
950
- <path
951
- strokeLinecap="round"
952
- strokeLinejoin="round"
953
- strokeWidth={2}
954
- d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"
955
- />
956
- </svg>
957
- <div className="flex flex-col items-start">
958
- <span className="text-xs text-blue-600 dark:text-blue-400">
959
- {isCountingUp ? "Processing for" : "Time remaining"}
960
- </span>
961
- <span className="text-lg font-mono font-bold text-blue-600 dark:text-blue-400">
962
- {formatCountdown(getCurrentTime())}
963
- </span>
964
- </div>
965
- </div>
966
- </div>
967
-
968
- {/* Warning */}
969
- {!isCountingUp && (
970
- <p className="mt-4 text-sm text-left text-gray-600 dark:text-gray-400">
971
- Complete the payment within the time limit. We use USDC on Base
972
- network as the intermediary token, please do not change it.
973
- </p>
974
- )}
975
- <TokenDiagram
976
- onRampQuote={onRampQuote}
977
- quote={quote}
978
- tokenSize={20}
979
- />
980
- {isCountingUp && (
981
- <p className="mt-4 text-sm text-left text-gray-600 dark:text-gray-400">
982
- Your transaction is settling with payment provider. This usually
983
- takes 1-5 minutes to complete.
984
- </p>
985
- )}
986
-
987
- {/* Transaction Status */}
988
- {renderTransactionStatus()}
989
-
990
- {/* Deposit Monitoring Status */}
991
- {renderDepositStatus()}
992
-
993
- {/* Important Notice - Now at the bottom */}
994
- <div className="mt-3 p-3 bg-amber-50 dark:bg-amber-900/20 rounded-lg border border-amber-200 dark:border-amber-700">
995
- <div className="flex items-start space-x-3">
996
- {/* Icon */}
997
- <div className="flex-shrink-0 mt-0.5">
998
- <span className="text-amber-600 dark:text-amber-400">⚠️</span>
999
- </div>
1000
-
1001
- {/* Content */}
1002
- <div className="flex-1 text-left">
1003
- <p className="text-sm font-medium text-amber-800 dark:text-amber-200">
1004
- Important: Do not close this window or navigate away while
1005
- your payment is processing.
1006
- </p>
1007
- </div>
1008
- </div>
1009
- </div>
1010
- </div>
1011
-
1012
- {/* Low Time Warning - only show when counting down */}
1013
- {!isCountingUp && timeRemaining <= 60 && timeRemaining > 0 && (
1014
- <div
1015
- className={`transition-all duration-500 ease-out delay-150 ${showContent ? "opacity-100 translate-y-0" : "opacity-0 translate-y-4"}`}
1016
- >
1017
- <div className="p-4 trails-border-radius-container text-sm bg-yellow-50 border border-solid border-yellow-200 dark:bg-yellow-900/20 dark:border-yellow-700/50">
1018
- <div className="flex items-start space-x-3">
1019
- <svg
1020
- className="w-5 h-5 mt-0.5 shrink-0 text-yellow-600 dark:text-yellow-400"
1021
- fill="none"
1022
- viewBox="0 0 24 24"
1023
- stroke="currentColor"
1024
- >
1025
- <title>Warning</title>
1026
- <path
1027
- strokeLinecap="round"
1028
- strokeLinejoin="round"
1029
- strokeWidth={2}
1030
- d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L3.732 16.5c-.77.833.192 2.5 1.732 2.5z"
1031
- />
1032
- </svg>
1033
- <div>
1034
- <p className="font-medium text-yellow-800 dark:text-yellow-300">
1035
- Less than 1 minute remaining
1036
- </p>
1037
- <p className="mt-1 text-xs text-yellow-700 dark:text-yellow-400">
1038
- Please complete your payment soon or the transaction will
1039
- be canceled.
1040
- </p>
1041
- </div>
1042
- </div>
1043
- </div>
1044
- </div>
1045
- )}
1046
-
1047
- {/* Transaction Details */}
1048
- <QuoteDetails
1049
- quote={quote}
1050
- onRampQuote={onRampQuote}
1051
- showContent={true}
1052
- compact={true}
1053
- />
1054
- </div>
1055
- </div>
1056
- </div>
1057
- )
1058
- }
1059
-
1060
- export default OnrampProviderConfirmation