thirdweb 5.102.7-nightly-9f6c1a4820e37428dec6427cf77a12ab463f119d-20250616000412 → 5.103.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 (543) hide show
  1. package/dist/cjs/bridge/Routes.js +4 -1
  2. package/dist/cjs/bridge/Routes.js.map +1 -1
  3. package/dist/cjs/bridge/Token.js +57 -0
  4. package/dist/cjs/bridge/Token.js.map +1 -1
  5. package/dist/cjs/bridge/types/Errors.js +9 -0
  6. package/dist/cjs/bridge/types/Errors.js.map +1 -1
  7. package/dist/cjs/exports/react.js +9 -1
  8. package/dist/cjs/exports/react.js.map +1 -1
  9. package/dist/cjs/pay/buyWithFiat/getQuote.js +2 -2
  10. package/dist/cjs/pay/convert/cryptoToFiat.js +3 -3
  11. package/dist/cjs/pay/convert/cryptoToFiat.js.map +1 -1
  12. package/dist/cjs/pay/convert/fiatToCrypto.js +3 -3
  13. package/dist/cjs/pay/convert/fiatToCrypto.js.map +1 -1
  14. package/dist/cjs/pay/convert/get-token.js +15 -3
  15. package/dist/cjs/pay/convert/get-token.js.map +1 -1
  16. package/dist/cjs/pay/utils/commonTypes.js +1 -1
  17. package/dist/cjs/react/core/adapters/WindowAdapter.js +3 -0
  18. package/dist/cjs/react/core/adapters/WindowAdapter.js.map +1 -0
  19. package/dist/cjs/react/core/errors/mapBridgeError.js +27 -0
  20. package/dist/cjs/react/core/errors/mapBridgeError.js.map +1 -0
  21. package/dist/cjs/react/core/hooks/others/useChainQuery.js +1 -1
  22. package/dist/cjs/react/core/hooks/others/useChainQuery.js.map +1 -1
  23. package/dist/cjs/react/core/hooks/pay/useBuyWithFiatQuotesForProviders.js +40 -0
  24. package/dist/cjs/react/core/hooks/pay/useBuyWithFiatQuotesForProviders.js.map +1 -0
  25. package/dist/cjs/react/core/hooks/useBridgeError.js +94 -0
  26. package/dist/cjs/react/core/hooks/useBridgeError.js.map +1 -0
  27. package/dist/cjs/react/core/hooks/useBridgePrepare.js +90 -0
  28. package/dist/cjs/react/core/hooks/useBridgePrepare.js.map +1 -0
  29. package/dist/cjs/react/core/hooks/useBridgeQuote.js +50 -0
  30. package/dist/cjs/react/core/hooks/useBridgeQuote.js.map +1 -0
  31. package/dist/cjs/react/core/hooks/useBridgeRoutes.js +61 -0
  32. package/dist/cjs/react/core/hooks/useBridgeRoutes.js.map +1 -0
  33. package/dist/cjs/react/core/hooks/usePaymentMethods.js +154 -0
  34. package/dist/cjs/react/core/hooks/usePaymentMethods.js.map +1 -0
  35. package/dist/cjs/react/core/hooks/useStepExecutor.js +408 -0
  36. package/dist/cjs/react/core/hooks/useStepExecutor.js.map +1 -0
  37. package/dist/cjs/react/core/hooks/useTransactionDetails.js +126 -0
  38. package/dist/cjs/react/core/hooks/useTransactionDetails.js.map +1 -0
  39. package/dist/cjs/react/core/machines/paymentMachine.js +189 -0
  40. package/dist/cjs/react/core/machines/paymentMachine.js.map +1 -0
  41. package/dist/cjs/react/web/adapters/WindowAdapter.js +25 -0
  42. package/dist/cjs/react/web/adapters/WindowAdapter.js.map +1 -0
  43. package/dist/cjs/react/web/hooks/transaction/useSendTransaction.js +5 -0
  44. package/dist/cjs/react/web/hooks/transaction/useSendTransaction.js.map +1 -1
  45. package/dist/cjs/react/web/ui/Bridge/BridgeOrchestrator.js +107 -0
  46. package/dist/cjs/react/web/ui/Bridge/BridgeOrchestrator.js.map +1 -0
  47. package/dist/cjs/react/web/ui/Bridge/BuyWidget.js +177 -0
  48. package/dist/cjs/react/web/ui/Bridge/BuyWidget.js.map +1 -0
  49. package/dist/cjs/react/web/ui/Bridge/CheckoutWidget.js +154 -0
  50. package/dist/cjs/react/web/ui/Bridge/CheckoutWidget.js.map +1 -0
  51. package/dist/cjs/react/web/ui/Bridge/DirectPayment.js +62 -0
  52. package/dist/cjs/react/web/ui/Bridge/DirectPayment.js.map +1 -0
  53. package/dist/cjs/react/web/ui/Bridge/ErrorBanner.js +26 -0
  54. package/dist/cjs/react/web/ui/Bridge/ErrorBanner.js.map +1 -0
  55. package/dist/cjs/react/web/ui/Bridge/FundWallet.js +122 -0
  56. package/dist/cjs/react/web/ui/Bridge/FundWallet.js.map +1 -0
  57. package/dist/cjs/react/web/ui/Bridge/QuoteLoader.js +99 -0
  58. package/dist/cjs/react/web/ui/Bridge/QuoteLoader.js.map +1 -0
  59. package/dist/cjs/react/web/ui/Bridge/StepRunner.js +179 -0
  60. package/dist/cjs/react/web/ui/Bridge/StepRunner.js.map +1 -0
  61. package/dist/cjs/react/web/ui/Bridge/TransactionPayment.js +117 -0
  62. package/dist/cjs/react/web/ui/Bridge/TransactionPayment.js.map +1 -0
  63. package/dist/cjs/react/web/ui/Bridge/TransactionWidget.js +179 -0
  64. package/dist/cjs/react/web/ui/Bridge/TransactionWidget.js.map +1 -0
  65. package/dist/cjs/react/web/ui/Bridge/UnsupportedTokenScreen.js +23 -0
  66. package/dist/cjs/react/web/ui/Bridge/UnsupportedTokenScreen.js.map +1 -0
  67. package/dist/cjs/react/web/ui/Bridge/common/TokenAndChain.js +101 -0
  68. package/dist/cjs/react/web/ui/Bridge/common/TokenAndChain.js.map +1 -0
  69. package/dist/cjs/react/web/ui/Bridge/common/TokenBalanceRow.js +57 -0
  70. package/dist/cjs/react/web/ui/Bridge/common/TokenBalanceRow.js.map +1 -0
  71. package/dist/cjs/react/web/ui/Bridge/common/WithHeader.js +27 -0
  72. package/dist/cjs/react/web/ui/Bridge/common/WithHeader.js.map +1 -0
  73. package/dist/cjs/react/web/ui/Bridge/payment-details/PaymentDetails.js +121 -0
  74. package/dist/cjs/react/web/ui/Bridge/payment-details/PaymentDetails.js.map +1 -0
  75. package/dist/cjs/react/web/ui/Bridge/payment-details/PaymentOverview.js +80 -0
  76. package/dist/cjs/react/web/ui/Bridge/payment-details/PaymentOverview.js.map +1 -0
  77. package/dist/cjs/react/web/ui/Bridge/payment-selection/FiatProviderSelection.js +83 -0
  78. package/dist/cjs/react/web/ui/Bridge/payment-selection/FiatProviderSelection.js.map +1 -0
  79. package/dist/cjs/react/web/ui/Bridge/payment-selection/PaymentSelection.js +111 -0
  80. package/dist/cjs/react/web/ui/Bridge/payment-selection/PaymentSelection.js.map +1 -0
  81. package/dist/cjs/react/web/ui/Bridge/payment-selection/TokenSelection.js +71 -0
  82. package/dist/cjs/react/web/ui/Bridge/payment-selection/TokenSelection.js.map +1 -0
  83. package/dist/cjs/react/web/ui/Bridge/payment-selection/WalletFiatSelection.js +54 -0
  84. package/dist/cjs/react/web/ui/Bridge/payment-selection/WalletFiatSelection.js.map +1 -0
  85. package/dist/cjs/react/web/ui/Bridge/payment-success/PaymentReceipt.js +140 -0
  86. package/dist/cjs/react/web/ui/Bridge/payment-success/PaymentReceipt.js.map +1 -0
  87. package/dist/cjs/react/web/ui/Bridge/payment-success/SuccessScreen.js +61 -0
  88. package/dist/cjs/react/web/ui/Bridge/payment-success/SuccessScreen.js.map +1 -0
  89. package/dist/cjs/react/web/ui/ConnectWallet/WalletSelector.js +2 -2
  90. package/dist/cjs/react/web/ui/ConnectWallet/constants.js +1 -1
  91. package/dist/cjs/react/web/ui/ConnectWallet/icons/CreditCardIcon.js +12 -0
  92. package/dist/cjs/react/web/ui/ConnectWallet/icons/CreditCardIcon.js.map +1 -0
  93. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
  94. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js +3 -1
  95. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js.map +1 -1
  96. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/currencies.js +4 -0
  97. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/currencies.js.map +1 -1
  98. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.js.map +1 -1
  99. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/FiatValue.js +4 -1
  100. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/FiatValue.js.map +1 -1
  101. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/StepConnector.js +1 -1
  102. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/StepConnector.js.map +1 -1
  103. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/WalletRow.js +1 -1
  104. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/WalletRow.js.map +1 -1
  105. package/dist/cjs/react/web/ui/ConnectWallet/screens/formatTokenBalance.js +11 -0
  106. package/dist/cjs/react/web/ui/ConnectWallet/screens/formatTokenBalance.js.map +1 -1
  107. package/dist/cjs/react/web/ui/PayEmbed.js +2 -1
  108. package/dist/cjs/react/web/ui/PayEmbed.js.map +1 -1
  109. package/dist/cjs/react/web/ui/TransactionButton/DepositScreen.js +6 -5
  110. package/dist/cjs/react/web/ui/TransactionButton/DepositScreen.js.map +1 -1
  111. package/dist/cjs/react/web/ui/TransactionButton/ExecutingScreen.js +43 -4
  112. package/dist/cjs/react/web/ui/TransactionButton/ExecutingScreen.js.map +1 -1
  113. package/dist/cjs/react/web/ui/TransactionButton/TransactionModal.js +8 -4
  114. package/dist/cjs/react/web/ui/TransactionButton/TransactionModal.js.map +1 -1
  115. package/dist/cjs/react/web/ui/components/ChainName.js +2 -1
  116. package/dist/cjs/react/web/ui/components/ChainName.js.map +1 -1
  117. package/dist/cjs/react/web/ui/components/TokenIcon.js +6 -3
  118. package/dist/cjs/react/web/ui/components/TokenIcon.js.map +1 -1
  119. package/dist/cjs/react/web/ui/components/buttons.js +1 -5
  120. package/dist/cjs/react/web/ui/components/buttons.js.map +1 -1
  121. package/dist/cjs/stories/Bridge/BridgeOrchestrator.stories.js +228 -0
  122. package/dist/cjs/stories/Bridge/BridgeOrchestrator.stories.js.map +1 -0
  123. package/dist/cjs/stories/Bridge/DirectPayment.stories.js +194 -0
  124. package/dist/cjs/stories/Bridge/DirectPayment.stories.js.map +1 -0
  125. package/dist/cjs/stories/Bridge/ErrorBanner.stories.js +153 -0
  126. package/dist/cjs/stories/Bridge/ErrorBanner.stories.js.map +1 -0
  127. package/dist/cjs/stories/Bridge/FundWallet.stories.js +173 -0
  128. package/dist/cjs/stories/Bridge/FundWallet.stories.js.map +1 -0
  129. package/dist/cjs/stories/Bridge/PaymentDetails.stories.js +430 -0
  130. package/dist/cjs/stories/Bridge/PaymentDetails.stories.js.map +1 -0
  131. package/dist/cjs/stories/Bridge/PaymentSelection.stories.js +151 -0
  132. package/dist/cjs/stories/Bridge/PaymentSelection.stories.js.map +1 -0
  133. package/dist/cjs/stories/Bridge/StepRunner.stories.js +82 -0
  134. package/dist/cjs/stories/Bridge/StepRunner.stories.js.map +1 -0
  135. package/dist/cjs/stories/Bridge/SuccessScreen.stories.js +180 -0
  136. package/dist/cjs/stories/Bridge/SuccessScreen.stories.js.map +1 -0
  137. package/dist/cjs/stories/Bridge/TransactionPayment.stories.js +139 -0
  138. package/dist/cjs/stories/Bridge/TransactionPayment.stories.js.map +1 -0
  139. package/dist/cjs/stories/Bridge/UnsupportedTokenScreen.stories.js +94 -0
  140. package/dist/cjs/stories/Bridge/UnsupportedTokenScreen.stories.js.map +1 -0
  141. package/dist/cjs/stories/Bridge/fixtures.js +731 -0
  142. package/dist/cjs/stories/Bridge/fixtures.js.map +1 -0
  143. package/dist/cjs/stories/TokenBalanceRow.stories.js +81 -0
  144. package/dist/cjs/stories/TokenBalanceRow.stories.js.map +1 -0
  145. package/dist/cjs/stories/WalletRow.stories.js +120 -0
  146. package/dist/cjs/stories/WalletRow.stories.js.map +1 -0
  147. package/dist/cjs/stories/utils.js +19 -1
  148. package/dist/cjs/stories/utils.js.map +1 -1
  149. package/dist/cjs/version.js +1 -1
  150. package/dist/cjs/version.js.map +1 -1
  151. package/dist/esm/bridge/Routes.js +4 -1
  152. package/dist/esm/bridge/Routes.js.map +1 -1
  153. package/dist/esm/bridge/Token.js +56 -0
  154. package/dist/esm/bridge/Token.js.map +1 -1
  155. package/dist/esm/bridge/types/Errors.js +9 -0
  156. package/dist/esm/bridge/types/Errors.js.map +1 -1
  157. package/dist/esm/exports/react.js +4 -0
  158. package/dist/esm/exports/react.js.map +1 -1
  159. package/dist/esm/pay/buyWithFiat/getQuote.js +2 -2
  160. package/dist/esm/pay/convert/cryptoToFiat.js +4 -4
  161. package/dist/esm/pay/convert/cryptoToFiat.js.map +1 -1
  162. package/dist/esm/pay/convert/fiatToCrypto.js +4 -4
  163. package/dist/esm/pay/convert/fiatToCrypto.js.map +1 -1
  164. package/dist/esm/pay/convert/get-token.js +15 -3
  165. package/dist/esm/pay/convert/get-token.js.map +1 -1
  166. package/dist/esm/pay/utils/commonTypes.js +1 -1
  167. package/dist/esm/react/core/adapters/WindowAdapter.js +2 -0
  168. package/dist/esm/react/core/adapters/WindowAdapter.js.map +1 -0
  169. package/dist/esm/react/core/errors/mapBridgeError.js +23 -0
  170. package/dist/esm/react/core/errors/mapBridgeError.js.map +1 -0
  171. package/dist/esm/react/core/hooks/others/useChainQuery.js +1 -1
  172. package/dist/esm/react/core/hooks/others/useChainQuery.js.map +1 -1
  173. package/dist/esm/react/core/hooks/pay/useBuyWithFiatQuotesForProviders.js +37 -0
  174. package/dist/esm/react/core/hooks/pay/useBuyWithFiatQuotesForProviders.js.map +1 -0
  175. package/dist/esm/react/core/hooks/useBridgeError.js +91 -0
  176. package/dist/esm/react/core/hooks/useBridgeError.js.map +1 -0
  177. package/dist/esm/react/core/hooks/useBridgePrepare.js +87 -0
  178. package/dist/esm/react/core/hooks/useBridgePrepare.js.map +1 -0
  179. package/dist/esm/react/core/hooks/useBridgeQuote.js +47 -0
  180. package/dist/esm/react/core/hooks/useBridgeQuote.js.map +1 -0
  181. package/dist/esm/react/core/hooks/useBridgeRoutes.js +58 -0
  182. package/dist/esm/react/core/hooks/useBridgeRoutes.js.map +1 -0
  183. package/dist/esm/react/core/hooks/usePaymentMethods.js +151 -0
  184. package/dist/esm/react/core/hooks/usePaymentMethods.js.map +1 -0
  185. package/dist/esm/react/core/hooks/useStepExecutor.js +405 -0
  186. package/dist/esm/react/core/hooks/useStepExecutor.js.map +1 -0
  187. package/dist/esm/react/core/hooks/useTransactionDetails.js +123 -0
  188. package/dist/esm/react/core/hooks/useTransactionDetails.js.map +1 -0
  189. package/dist/esm/react/core/machines/paymentMachine.js +186 -0
  190. package/dist/esm/react/core/machines/paymentMachine.js.map +1 -0
  191. package/dist/esm/react/web/adapters/WindowAdapter.js +21 -0
  192. package/dist/esm/react/web/adapters/WindowAdapter.js.map +1 -0
  193. package/dist/esm/react/web/hooks/transaction/useSendTransaction.js +5 -0
  194. package/dist/esm/react/web/hooks/transaction/useSendTransaction.js.map +1 -1
  195. package/dist/esm/react/web/ui/Bridge/BridgeOrchestrator.js +104 -0
  196. package/dist/esm/react/web/ui/Bridge/BridgeOrchestrator.js.map +1 -0
  197. package/dist/esm/react/web/ui/Bridge/BuyWidget.js +174 -0
  198. package/dist/esm/react/web/ui/Bridge/BuyWidget.js.map +1 -0
  199. package/dist/esm/react/web/ui/Bridge/CheckoutWidget.js +151 -0
  200. package/dist/esm/react/web/ui/Bridge/CheckoutWidget.js.map +1 -0
  201. package/dist/esm/react/web/ui/Bridge/DirectPayment.js +59 -0
  202. package/dist/esm/react/web/ui/Bridge/DirectPayment.js.map +1 -0
  203. package/dist/esm/react/web/ui/Bridge/ErrorBanner.js +23 -0
  204. package/dist/esm/react/web/ui/Bridge/ErrorBanner.js.map +1 -0
  205. package/dist/esm/react/web/ui/Bridge/FundWallet.js +119 -0
  206. package/dist/esm/react/web/ui/Bridge/FundWallet.js.map +1 -0
  207. package/dist/esm/react/web/ui/Bridge/QuoteLoader.js +96 -0
  208. package/dist/esm/react/web/ui/Bridge/QuoteLoader.js.map +1 -0
  209. package/dist/esm/react/web/ui/Bridge/StepRunner.js +176 -0
  210. package/dist/esm/react/web/ui/Bridge/StepRunner.js.map +1 -0
  211. package/dist/esm/react/web/ui/Bridge/TransactionPayment.js +114 -0
  212. package/dist/esm/react/web/ui/Bridge/TransactionPayment.js.map +1 -0
  213. package/dist/esm/react/web/ui/Bridge/TransactionWidget.js +176 -0
  214. package/dist/esm/react/web/ui/Bridge/TransactionWidget.js.map +1 -0
  215. package/dist/esm/react/web/ui/Bridge/UnsupportedTokenScreen.js +20 -0
  216. package/dist/esm/react/web/ui/Bridge/UnsupportedTokenScreen.js.map +1 -0
  217. package/dist/esm/react/web/ui/Bridge/common/TokenAndChain.js +96 -0
  218. package/dist/esm/react/web/ui/Bridge/common/TokenAndChain.js.map +1 -0
  219. package/dist/esm/react/web/ui/Bridge/common/TokenBalanceRow.js +54 -0
  220. package/dist/esm/react/web/ui/Bridge/common/TokenBalanceRow.js.map +1 -0
  221. package/dist/esm/react/web/ui/Bridge/common/WithHeader.js +24 -0
  222. package/dist/esm/react/web/ui/Bridge/common/WithHeader.js.map +1 -0
  223. package/dist/esm/react/web/ui/Bridge/payment-details/PaymentDetails.js +119 -0
  224. package/dist/esm/react/web/ui/Bridge/payment-details/PaymentDetails.js.map +1 -0
  225. package/dist/esm/react/web/ui/Bridge/payment-details/PaymentOverview.js +77 -0
  226. package/dist/esm/react/web/ui/Bridge/payment-details/PaymentOverview.js.map +1 -0
  227. package/dist/esm/react/web/ui/Bridge/payment-selection/FiatProviderSelection.js +80 -0
  228. package/dist/esm/react/web/ui/Bridge/payment-selection/FiatProviderSelection.js.map +1 -0
  229. package/dist/esm/react/web/ui/Bridge/payment-selection/PaymentSelection.js +108 -0
  230. package/dist/esm/react/web/ui/Bridge/payment-selection/PaymentSelection.js.map +1 -0
  231. package/dist/esm/react/web/ui/Bridge/payment-selection/TokenSelection.js +68 -0
  232. package/dist/esm/react/web/ui/Bridge/payment-selection/TokenSelection.js.map +1 -0
  233. package/dist/esm/react/web/ui/Bridge/payment-selection/WalletFiatSelection.js +51 -0
  234. package/dist/esm/react/web/ui/Bridge/payment-selection/WalletFiatSelection.js.map +1 -0
  235. package/dist/esm/react/web/ui/Bridge/payment-success/PaymentReceipt.js +137 -0
  236. package/dist/esm/react/web/ui/Bridge/payment-success/PaymentReceipt.js.map +1 -0
  237. package/dist/esm/react/web/ui/Bridge/payment-success/SuccessScreen.js +58 -0
  238. package/dist/esm/react/web/ui/Bridge/payment-success/SuccessScreen.js.map +1 -0
  239. package/dist/esm/react/web/ui/ConnectWallet/WalletSelector.js +2 -2
  240. package/dist/esm/react/web/ui/ConnectWallet/constants.js +1 -1
  241. package/dist/esm/react/web/ui/ConnectWallet/icons/CreditCardIcon.js +8 -0
  242. package/dist/esm/react/web/ui/ConnectWallet/icons/CreditCardIcon.js.map +1 -0
  243. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
  244. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js +3 -1
  245. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.js.map +1 -1
  246. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/currencies.js +3 -0
  247. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/currencies.js.map +1 -1
  248. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.js.map +1 -1
  249. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/FiatValue.js +4 -1
  250. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/FiatValue.js.map +1 -1
  251. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/StepConnector.js +1 -1
  252. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/StepConnector.js.map +1 -1
  253. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/WalletRow.js +1 -1
  254. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/WalletRow.js.map +1 -1
  255. package/dist/esm/react/web/ui/ConnectWallet/screens/formatTokenBalance.js +9 -0
  256. package/dist/esm/react/web/ui/ConnectWallet/screens/formatTokenBalance.js.map +1 -1
  257. package/dist/esm/react/web/ui/PayEmbed.js +2 -1
  258. package/dist/esm/react/web/ui/PayEmbed.js.map +1 -1
  259. package/dist/esm/react/web/ui/TransactionButton/DepositScreen.js +6 -5
  260. package/dist/esm/react/web/ui/TransactionButton/DepositScreen.js.map +1 -1
  261. package/dist/esm/react/web/ui/TransactionButton/ExecutingScreen.js +45 -6
  262. package/dist/esm/react/web/ui/TransactionButton/ExecutingScreen.js.map +1 -1
  263. package/dist/esm/react/web/ui/TransactionButton/TransactionModal.js +8 -4
  264. package/dist/esm/react/web/ui/TransactionButton/TransactionModal.js.map +1 -1
  265. package/dist/esm/react/web/ui/components/ChainName.js +2 -2
  266. package/dist/esm/react/web/ui/components/ChainName.js.map +1 -1
  267. package/dist/esm/react/web/ui/components/TokenIcon.js +7 -4
  268. package/dist/esm/react/web/ui/components/TokenIcon.js.map +1 -1
  269. package/dist/esm/react/web/ui/components/buttons.js +1 -5
  270. package/dist/esm/react/web/ui/components/buttons.js.map +1 -1
  271. package/dist/esm/stories/Bridge/BridgeOrchestrator.stories.js +226 -0
  272. package/dist/esm/stories/Bridge/BridgeOrchestrator.stories.js.map +1 -0
  273. package/dist/esm/stories/Bridge/DirectPayment.stories.js +191 -0
  274. package/dist/esm/stories/Bridge/DirectPayment.stories.js.map +1 -0
  275. package/dist/esm/stories/Bridge/ErrorBanner.stories.js +150 -0
  276. package/dist/esm/stories/Bridge/ErrorBanner.stories.js.map +1 -0
  277. package/dist/esm/stories/Bridge/FundWallet.stories.js +170 -0
  278. package/dist/esm/stories/Bridge/FundWallet.stories.js.map +1 -0
  279. package/dist/esm/stories/Bridge/PaymentDetails.stories.js +427 -0
  280. package/dist/esm/stories/Bridge/PaymentDetails.stories.js.map +1 -0
  281. package/dist/esm/stories/Bridge/PaymentSelection.stories.js +148 -0
  282. package/dist/esm/stories/Bridge/PaymentSelection.stories.js.map +1 -0
  283. package/dist/esm/stories/Bridge/StepRunner.stories.js +79 -0
  284. package/dist/esm/stories/Bridge/StepRunner.stories.js.map +1 -0
  285. package/dist/esm/stories/Bridge/SuccessScreen.stories.js +177 -0
  286. package/dist/esm/stories/Bridge/SuccessScreen.stories.js.map +1 -0
  287. package/dist/esm/stories/Bridge/TransactionPayment.stories.js +136 -0
  288. package/dist/esm/stories/Bridge/TransactionPayment.stories.js.map +1 -0
  289. package/dist/esm/stories/Bridge/UnsupportedTokenScreen.stories.js +91 -0
  290. package/dist/esm/stories/Bridge/UnsupportedTokenScreen.stories.js.map +1 -0
  291. package/dist/esm/stories/Bridge/fixtures.js +728 -0
  292. package/dist/esm/stories/Bridge/fixtures.js.map +1 -0
  293. package/dist/esm/stories/TokenBalanceRow.stories.js +78 -0
  294. package/dist/esm/stories/TokenBalanceRow.stories.js.map +1 -0
  295. package/dist/esm/stories/WalletRow.stories.js +117 -0
  296. package/dist/esm/stories/WalletRow.stories.js.map +1 -0
  297. package/dist/esm/stories/utils.js +17 -0
  298. package/dist/esm/stories/utils.js.map +1 -1
  299. package/dist/esm/version.js +1 -1
  300. package/dist/esm/version.js.map +1 -1
  301. package/dist/types/bridge/Routes.d.ts +1 -0
  302. package/dist/types/bridge/Routes.d.ts.map +1 -1
  303. package/dist/types/bridge/Token.d.ts +48 -1
  304. package/dist/types/bridge/Token.d.ts.map +1 -1
  305. package/dist/types/bridge/types/BridgeAction.d.ts +1 -1
  306. package/dist/types/bridge/types/BridgeAction.d.ts.map +1 -1
  307. package/dist/types/bridge/types/Errors.d.ts +1 -0
  308. package/dist/types/bridge/types/Errors.d.ts.map +1 -1
  309. package/dist/types/exports/react.d.ts +4 -0
  310. package/dist/types/exports/react.d.ts.map +1 -1
  311. package/dist/types/pay/convert/get-token.d.ts +2 -1
  312. package/dist/types/pay/convert/get-token.d.ts.map +1 -1
  313. package/dist/types/pay/utils/commonTypes.d.ts +1 -1
  314. package/dist/types/react/core/adapters/WindowAdapter.d.ts +14 -0
  315. package/dist/types/react/core/adapters/WindowAdapter.d.ts.map +1 -0
  316. package/dist/types/react/core/errors/mapBridgeError.d.ts +17 -0
  317. package/dist/types/react/core/errors/mapBridgeError.d.ts.map +1 -0
  318. package/dist/types/react/core/hooks/connection/ConnectButtonProps.d.ts +14 -6
  319. package/dist/types/react/core/hooks/connection/ConnectButtonProps.d.ts.map +1 -1
  320. package/dist/types/react/core/hooks/pay/useBuyWithFiatQuotesForProviders.d.ts +54 -0
  321. package/dist/types/react/core/hooks/pay/useBuyWithFiatQuotesForProviders.d.ts.map +1 -0
  322. package/dist/types/react/core/hooks/transaction/useSendTransaction.d.ts +1 -1
  323. package/dist/types/react/core/hooks/transaction/useSendTransaction.d.ts.map +1 -1
  324. package/dist/types/react/core/hooks/useBridgeError.d.ts +72 -0
  325. package/dist/types/react/core/hooks/useBridgeError.d.ts.map +1 -0
  326. package/dist/types/react/core/hooks/useBridgePrepare.d.ts +75 -0
  327. package/dist/types/react/core/hooks/useBridgePrepare.d.ts.map +1 -0
  328. package/dist/types/react/core/hooks/useBridgeQuote.d.ts +14 -0
  329. package/dist/types/react/core/hooks/useBridgeQuote.d.ts.map +1 -0
  330. package/dist/types/react/core/hooks/useBridgeRoutes.d.ts +30 -0
  331. package/dist/types/react/core/hooks/useBridgeRoutes.d.ts.map +1 -0
  332. package/dist/types/react/core/hooks/usePaymentMethods.d.ts +36 -0
  333. package/dist/types/react/core/hooks/usePaymentMethods.d.ts.map +1 -0
  334. package/dist/types/react/core/hooks/useStepExecutor.d.ts +67 -0
  335. package/dist/types/react/core/hooks/useStepExecutor.d.ts.map +1 -0
  336. package/dist/types/react/core/hooks/useTransactionDetails.d.ts +31 -0
  337. package/dist/types/react/core/hooks/useTransactionDetails.d.ts.map +1 -0
  338. package/dist/types/react/core/machines/paymentMachine.d.ts +86 -0
  339. package/dist/types/react/core/machines/paymentMachine.d.ts.map +1 -0
  340. package/dist/types/react/web/adapters/WindowAdapter.d.ts +19 -0
  341. package/dist/types/react/web/adapters/WindowAdapter.d.ts.map +1 -0
  342. package/dist/types/react/web/hooks/transaction/useSendTransaction.d.ts +5 -0
  343. package/dist/types/react/web/hooks/transaction/useSendTransaction.d.ts.map +1 -1
  344. package/dist/types/react/web/ui/Bridge/BridgeOrchestrator.d.ts +78 -0
  345. package/dist/types/react/web/ui/Bridge/BridgeOrchestrator.d.ts.map +1 -0
  346. package/dist/types/react/web/ui/Bridge/BuyWidget.d.ts +325 -0
  347. package/dist/types/react/web/ui/Bridge/BuyWidget.d.ts.map +1 -0
  348. package/dist/types/react/web/ui/Bridge/CheckoutWidget.d.ts +328 -0
  349. package/dist/types/react/web/ui/Bridge/CheckoutWidget.d.ts.map +1 -0
  350. package/dist/types/react/web/ui/Bridge/DirectPayment.d.ts +27 -0
  351. package/dist/types/react/web/ui/Bridge/DirectPayment.d.ts.map +1 -0
  352. package/dist/types/react/web/ui/Bridge/ErrorBanner.d.ts +17 -0
  353. package/dist/types/react/web/ui/Bridge/ErrorBanner.d.ts.map +1 -0
  354. package/dist/types/react/web/ui/Bridge/FundWallet.d.ts +35 -0
  355. package/dist/types/react/web/ui/Bridge/FundWallet.d.ts.map +1 -0
  356. package/dist/types/react/web/ui/Bridge/QuoteLoader.d.ts +57 -0
  357. package/dist/types/react/web/ui/Bridge/QuoteLoader.d.ts.map +1 -0
  358. package/dist/types/react/web/ui/Bridge/StepRunner.d.ts +39 -0
  359. package/dist/types/react/web/ui/Bridge/StepRunner.d.ts.map +1 -0
  360. package/dist/types/react/web/ui/Bridge/TransactionPayment.d.ts +27 -0
  361. package/dist/types/react/web/ui/Bridge/TransactionPayment.d.ts.map +1 -0
  362. package/dist/types/react/web/ui/Bridge/TransactionWidget.d.ts +355 -0
  363. package/dist/types/react/web/ui/Bridge/TransactionWidget.d.ts.map +1 -0
  364. package/dist/types/react/web/ui/Bridge/UnsupportedTokenScreen.d.ts +13 -0
  365. package/dist/types/react/web/ui/Bridge/UnsupportedTokenScreen.d.ts.map +1 -0
  366. package/dist/types/react/web/ui/Bridge/common/TokenAndChain.d.ts +16 -0
  367. package/dist/types/react/web/ui/Bridge/common/TokenAndChain.d.ts.map +1 -0
  368. package/dist/types/react/web/ui/Bridge/common/TokenBalanceRow.d.ts +10 -0
  369. package/dist/types/react/web/ui/Bridge/common/TokenBalanceRow.d.ts.map +1 -0
  370. package/dist/types/react/web/ui/Bridge/common/WithHeader.d.ts +9 -0
  371. package/dist/types/react/web/ui/Bridge/common/WithHeader.d.ts.map +1 -0
  372. package/dist/types/react/web/ui/Bridge/payment-details/PaymentDetails.d.ts +36 -0
  373. package/dist/types/react/web/ui/Bridge/payment-details/PaymentDetails.d.ts.map +1 -0
  374. package/dist/types/react/web/ui/Bridge/payment-details/PaymentOverview.d.ts +15 -0
  375. package/dist/types/react/web/ui/Bridge/payment-details/PaymentOverview.d.ts.map +1 -0
  376. package/dist/types/react/web/ui/Bridge/payment-selection/FiatProviderSelection.d.ts +12 -0
  377. package/dist/types/react/web/ui/Bridge/payment-selection/FiatProviderSelection.d.ts.map +1 -0
  378. package/dist/types/react/web/ui/Bridge/payment-selection/PaymentSelection.d.ts +50 -0
  379. package/dist/types/react/web/ui/Bridge/payment-selection/PaymentSelection.d.ts.map +1 -0
  380. package/dist/types/react/web/ui/Bridge/payment-selection/TokenSelection.d.ts +15 -0
  381. package/dist/types/react/web/ui/Bridge/payment-selection/TokenSelection.d.ts.map +1 -0
  382. package/dist/types/react/web/ui/Bridge/payment-selection/WalletFiatSelection.d.ts +12 -0
  383. package/dist/types/react/web/ui/Bridge/payment-selection/WalletFiatSelection.d.ts.map +1 -0
  384. package/dist/types/react/web/ui/Bridge/payment-success/PaymentReceipt.d.ts +24 -0
  385. package/dist/types/react/web/ui/Bridge/payment-success/PaymentReceipt.d.ts.map +1 -0
  386. package/dist/types/react/web/ui/Bridge/payment-success/SuccessScreen.d.ts +28 -0
  387. package/dist/types/react/web/ui/Bridge/payment-success/SuccessScreen.d.ts.map +1 -0
  388. package/dist/types/react/web/ui/ConnectWallet/constants.d.ts +1 -1
  389. package/dist/types/react/web/ui/ConnectWallet/icons/CreditCardIcon.d.ts +6 -0
  390. package/dist/types/react/web/ui/ConnectWallet/icons/CreditCardIcon.d.ts.map +1 -0
  391. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.d.ts.map +1 -1
  392. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.d.ts.map +1 -1
  393. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/currencies.d.ts +4 -0
  394. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/currencies.d.ts.map +1 -1
  395. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.d.ts +4 -1
  396. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.d.ts.map +1 -1
  397. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/FiatValue.d.ts.map +1 -1
  398. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/StepConnector.d.ts.map +1 -1
  399. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/WalletRow.d.ts.map +1 -1
  400. package/dist/types/react/web/ui/ConnectWallet/screens/formatTokenBalance.d.ts +2 -0
  401. package/dist/types/react/web/ui/ConnectWallet/screens/formatTokenBalance.d.ts.map +1 -1
  402. package/dist/types/react/web/ui/PayEmbed.d.ts.map +1 -1
  403. package/dist/types/react/web/ui/TransactionButton/DepositScreen.d.ts.map +1 -1
  404. package/dist/types/react/web/ui/TransactionButton/ExecutingScreen.d.ts +2 -0
  405. package/dist/types/react/web/ui/TransactionButton/ExecutingScreen.d.ts.map +1 -1
  406. package/dist/types/react/web/ui/TransactionButton/TransactionModal.d.ts.map +1 -1
  407. package/dist/types/react/web/ui/components/ChainName.d.ts +3 -0
  408. package/dist/types/react/web/ui/components/ChainName.d.ts.map +1 -1
  409. package/dist/types/react/web/ui/components/TokenIcon.d.ts.map +1 -1
  410. package/dist/types/react/web/ui/components/buttons.d.ts.map +1 -1
  411. package/dist/types/stories/Bridge/BridgeOrchestrator.stories.d.ts +90 -0
  412. package/dist/types/stories/Bridge/BridgeOrchestrator.stories.d.ts.map +1 -0
  413. package/dist/types/stories/Bridge/DirectPayment.stories.d.ts +65 -0
  414. package/dist/types/stories/Bridge/DirectPayment.stories.d.ts.map +1 -0
  415. package/dist/types/stories/Bridge/ErrorBanner.stories.d.ts +55 -0
  416. package/dist/types/stories/Bridge/ErrorBanner.stories.d.ts.map +1 -0
  417. package/dist/types/stories/Bridge/FundWallet.stories.d.ts +63 -0
  418. package/dist/types/stories/Bridge/FundWallet.stories.d.ts.map +1 -0
  419. package/dist/types/stories/Bridge/PaymentDetails.stories.d.ts +70 -0
  420. package/dist/types/stories/Bridge/PaymentDetails.stories.d.ts.map +1 -0
  421. package/dist/types/stories/Bridge/PaymentSelection.stories.d.ts +65 -0
  422. package/dist/types/stories/Bridge/PaymentSelection.stories.d.ts.map +1 -0
  423. package/dist/types/stories/Bridge/StepRunner.stories.d.ts +61 -0
  424. package/dist/types/stories/Bridge/StepRunner.stories.d.ts.map +1 -0
  425. package/dist/types/stories/Bridge/SuccessScreen.stories.d.ts +58 -0
  426. package/dist/types/stories/Bridge/SuccessScreen.stories.d.ts.map +1 -0
  427. package/dist/types/stories/Bridge/TransactionPayment.stories.d.ts +55 -0
  428. package/dist/types/stories/Bridge/TransactionPayment.stories.d.ts.map +1 -0
  429. package/dist/types/stories/Bridge/UnsupportedTokenScreen.stories.d.ts +39 -0
  430. package/dist/types/stories/Bridge/UnsupportedTokenScreen.stories.d.ts.map +1 -0
  431. package/dist/types/stories/Bridge/fixtures.d.ts +37 -0
  432. package/dist/types/stories/Bridge/fixtures.d.ts.map +1 -0
  433. package/dist/types/stories/TokenBalanceRow.stories.d.ts +53 -0
  434. package/dist/types/stories/TokenBalanceRow.stories.d.ts.map +1 -0
  435. package/dist/types/stories/WalletRow.stories.d.ts +63 -0
  436. package/dist/types/stories/WalletRow.stories.d.ts.map +1 -0
  437. package/dist/types/stories/utils.d.ts +5 -0
  438. package/dist/types/stories/utils.d.ts.map +1 -1
  439. package/dist/types/utils/nft/parseNft.d.ts +2 -2
  440. package/dist/types/utils/nft/parseNft.d.ts.map +1 -1
  441. package/dist/types/version.d.ts +1 -1
  442. package/dist/types/version.d.ts.map +1 -1
  443. package/package.json +2 -1
  444. package/src/bridge/Routes.ts +5 -0
  445. package/src/bridge/Token.ts +82 -1
  446. package/src/bridge/types/BridgeAction.ts +1 -1
  447. package/src/bridge/types/Errors.ts +11 -0
  448. package/src/exports/react.ts +16 -0
  449. package/src/pay/buyWithFiat/getQuote.ts +2 -2
  450. package/src/pay/convert/cryptoToFiat.ts +4 -4
  451. package/src/pay/convert/fiatToCrypto.ts +4 -4
  452. package/src/pay/convert/get-token.ts +17 -4
  453. package/src/pay/utils/commonTypes.ts +1 -1
  454. package/src/react/components.md +134 -0
  455. package/src/react/core/adapters/.keep +2 -0
  456. package/src/react/core/adapters/WindowAdapter.ts +13 -0
  457. package/src/react/core/errors/.keep +2 -0
  458. package/src/react/core/errors/mapBridgeError.test.ts +98 -0
  459. package/src/react/core/errors/mapBridgeError.ts +25 -0
  460. package/src/react/core/hooks/connection/ConnectButtonProps.ts +42 -37
  461. package/src/react/core/hooks/others/useChainQuery.ts +1 -1
  462. package/src/react/core/hooks/pay/useBuyWithFiatQuotesForProviders.ts +100 -0
  463. package/src/react/core/hooks/transaction/useSendTransaction.ts +1 -1
  464. package/src/react/core/hooks/useBridgeError.test.ts +172 -0
  465. package/src/react/core/hooks/useBridgeError.ts +149 -0
  466. package/src/react/core/hooks/useBridgePrepare.test.ts +161 -0
  467. package/src/react/core/hooks/useBridgePrepare.ts +133 -0
  468. package/src/react/core/hooks/useBridgeQuote.ts +67 -0
  469. package/src/react/core/hooks/useBridgeRoutes.test.ts +137 -0
  470. package/src/react/core/hooks/useBridgeRoutes.ts +75 -0
  471. package/src/react/core/hooks/usePaymentMethods.test.ts +336 -0
  472. package/src/react/core/hooks/usePaymentMethods.ts +203 -0
  473. package/src/react/core/hooks/useStepExecutor.ts +606 -0
  474. package/src/react/core/hooks/useTransactionDetails.ts +177 -0
  475. package/src/react/core/hooks/wallets/useAutoConnectCore.test.tsx +1 -57
  476. package/src/react/core/machines/.keep +2 -0
  477. package/src/react/core/machines/paymentMachine.test.ts +691 -0
  478. package/src/react/core/machines/paymentMachine.ts +290 -0
  479. package/src/react/core/types/.keep +2 -0
  480. package/src/react/core/utils/wallet.test.ts +77 -0
  481. package/src/react/native/flows/.keep +2 -0
  482. package/src/react/web/adapters/WindowAdapter.ts +23 -0
  483. package/src/react/web/adapters/adapters.test.ts +38 -0
  484. package/src/react/web/flows/.keep +2 -0
  485. package/src/react/web/hooks/transaction/useSendTransaction.tsx +5 -0
  486. package/src/react/web/ui/Bridge/BridgeOrchestrator.tsx +357 -0
  487. package/src/react/web/ui/Bridge/BuyWidget.tsx +494 -0
  488. package/src/react/web/ui/Bridge/CheckoutWidget.tsx +484 -0
  489. package/src/react/web/ui/Bridge/DirectPayment.tsx +234 -0
  490. package/src/react/web/ui/Bridge/ErrorBanner.tsx +86 -0
  491. package/src/react/web/ui/Bridge/FundWallet.tsx +341 -0
  492. package/src/react/web/ui/Bridge/QuoteLoader.tsx +219 -0
  493. package/src/react/web/ui/Bridge/StepRunner.tsx +417 -0
  494. package/src/react/web/ui/Bridge/TransactionPayment.tsx +403 -0
  495. package/src/react/web/ui/Bridge/TransactionWidget.tsx +502 -0
  496. package/src/react/web/ui/Bridge/UnsupportedTokenScreen.tsx +84 -0
  497. package/src/react/web/ui/Bridge/common/TokenAndChain.tsx +203 -0
  498. package/src/react/web/ui/Bridge/common/TokenBalanceRow.tsx +112 -0
  499. package/src/react/web/ui/Bridge/common/WithHeader.tsx +65 -0
  500. package/src/react/web/ui/Bridge/payment-details/PaymentDetails.tsx +318 -0
  501. package/src/react/web/ui/Bridge/payment-details/PaymentOverview.tsx +301 -0
  502. package/src/react/web/ui/Bridge/payment-selection/FiatProviderSelection.tsx +186 -0
  503. package/src/react/web/ui/Bridge/payment-selection/PaymentSelection.tsx +268 -0
  504. package/src/react/web/ui/Bridge/payment-selection/TokenSelection.tsx +282 -0
  505. package/src/react/web/ui/Bridge/payment-selection/WalletFiatSelection.tsx +172 -0
  506. package/src/react/web/ui/Bridge/payment-success/PaymentReceipt.tsx +392 -0
  507. package/src/react/web/ui/Bridge/payment-success/SuccessScreen.tsx +155 -0
  508. package/src/react/web/ui/ConnectWallet/Details.test.tsx +2 -2
  509. package/src/react/web/ui/ConnectWallet/WalletSelector.tsx +2 -2
  510. package/src/react/web/ui/ConnectWallet/constants.ts +1 -1
  511. package/src/react/web/ui/ConnectWallet/icons/CreditCardIcon.tsx +24 -0
  512. package/src/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.tsx +5 -2
  513. package/src/react/web/ui/ConnectWallet/screens/Buy/DirectPaymentModeScreen.tsx +3 -1
  514. package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/currencies.tsx +8 -0
  515. package/src/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.ts +3 -2
  516. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/FiatValue.tsx +7 -1
  517. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/StepConnector.tsx +1 -0
  518. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/WalletRow.tsx +7 -3
  519. package/src/react/web/ui/ConnectWallet/screens/formatTokenBalance.ts +22 -0
  520. package/src/react/web/ui/PayEmbed.tsx +2 -0
  521. package/src/react/web/ui/TransactionButton/DepositScreen.tsx +10 -5
  522. package/src/react/web/ui/TransactionButton/ExecutingScreen.tsx +78 -25
  523. package/src/react/web/ui/TransactionButton/TransactionModal.tsx +15 -9
  524. package/src/react/web/ui/components/ChainName.tsx +4 -2
  525. package/src/react/web/ui/components/TokenIcon.tsx +7 -4
  526. package/src/react/web/ui/components/buttons.tsx +1 -5
  527. package/src/stories/Bridge/BridgeOrchestrator.stories.tsx +267 -0
  528. package/src/stories/Bridge/DirectPayment.stories.tsx +225 -0
  529. package/src/stories/Bridge/ErrorBanner.stories.tsx +184 -0
  530. package/src/stories/Bridge/FundWallet.stories.tsx +196 -0
  531. package/src/stories/Bridge/PaymentDetails.stories.tsx +501 -0
  532. package/src/stories/Bridge/PaymentSelection.stories.tsx +177 -0
  533. package/src/stories/Bridge/StepRunner.stories.tsx +109 -0
  534. package/src/stories/Bridge/SuccessScreen.stories.tsx +217 -0
  535. package/src/stories/Bridge/TransactionPayment.stories.tsx +170 -0
  536. package/src/stories/Bridge/UnsupportedTokenScreen.stories.tsx +119 -0
  537. package/src/stories/Bridge/fixtures.ts +802 -0
  538. package/src/stories/TokenBalanceRow.stories.tsx +169 -0
  539. package/src/stories/WalletRow.stories.tsx +166 -0
  540. package/src/stories/utils.tsx +35 -0
  541. package/src/utils/nft/parseNft.ts +2 -2
  542. package/src/version.ts +1 -1
  543. package/src/wallets/connection/autoConnectCore.test.ts +0 -53
@@ -0,0 +1,155 @@
1
+ "use client";
2
+ import { CheckIcon } from "@radix-ui/react-icons";
3
+ import { useState } from "react";
4
+ import type { WindowAdapter } from "../../../../core/adapters/WindowAdapter.js";
5
+ import { useCustomTheme } from "../../../../core/design-system/CustomThemeProvider.js";
6
+ import { iconSize } from "../../../../core/design-system/index.js";
7
+ import type { BridgePrepareResult } from "../../../../core/hooks/useBridgePrepare.js";
8
+ import type { CompletedStatusResult } from "../../../../core/hooks/useStepExecutor.js";
9
+ import { Spacer } from "../../components/Spacer.js";
10
+ import { Container, ModalHeader } from "../../components/basic.js";
11
+ import { Button } from "../../components/buttons.js";
12
+ import { Text } from "../../components/text.js";
13
+ import type { UIOptions } from "../BridgeOrchestrator.js";
14
+ import { PaymentReceipt } from "./PaymentReceipt.js";
15
+
16
+ export interface SuccessScreenProps {
17
+ /**
18
+ * UI options
19
+ */
20
+ uiOptions: UIOptions;
21
+ /**
22
+ * Prepared quote from Bridge.prepare
23
+ */
24
+ preparedQuote: BridgePrepareResult;
25
+
26
+ /**
27
+ * Completed status results from step execution
28
+ */
29
+ completedStatuses: CompletedStatusResult[];
30
+
31
+ /**
32
+ * Called when user closes the success screen
33
+ */
34
+ onDone: () => void;
35
+
36
+ /**
37
+ * Window adapter for opening URLs
38
+ */
39
+ windowAdapter: WindowAdapter;
40
+ }
41
+
42
+ type ViewState = "success" | "detail";
43
+
44
+ export function SuccessScreen({
45
+ uiOptions,
46
+ preparedQuote,
47
+ completedStatuses,
48
+ onDone,
49
+ windowAdapter,
50
+ }: SuccessScreenProps) {
51
+ const theme = useCustomTheme();
52
+ const [viewState, setViewState] = useState<ViewState>("success");
53
+
54
+ if (viewState === "detail") {
55
+ return (
56
+ <PaymentReceipt
57
+ preparedQuote={preparedQuote}
58
+ completedStatuses={completedStatuses}
59
+ windowAdapter={windowAdapter}
60
+ onBack={() => setViewState("success")}
61
+ />
62
+ );
63
+ }
64
+
65
+ return (
66
+ <Container flex="column" fullHeight p="lg">
67
+ <ModalHeader title="Payment Complete" />
68
+
69
+ <Spacer y="xl" />
70
+
71
+ <Container flex="column" gap="md" center="x">
72
+ {/* Success Icon with Animation */}
73
+ <Container
74
+ center="both"
75
+ flex="row"
76
+ style={{
77
+ width: "64px",
78
+ height: "64px",
79
+ borderRadius: "50%",
80
+ backgroundColor: theme.colors.tertiaryBg,
81
+ marginBottom: "16px",
82
+ border: `2px solid ${theme.colors.success}`,
83
+ animation: "successBounce 0.6s ease-out",
84
+ }}
85
+ >
86
+ <CheckIcon
87
+ width={iconSize.xl}
88
+ height={iconSize.xl}
89
+ color={theme.colors.success}
90
+ style={{
91
+ animation: "checkAppear 0.3s ease-out 0.3s both",
92
+ }}
93
+ />
94
+ </Container>
95
+
96
+ <Text size="xl" color="primaryText" center>
97
+ Payment Successful!
98
+ </Text>
99
+
100
+ <Text size="sm" color="secondaryText" center>
101
+ Your cross-chain payment has been completed successfully.
102
+ </Text>
103
+ </Container>
104
+ <Spacer y="lg" />
105
+
106
+ {/* Action Buttons */}
107
+ <Container flex="column" gap="sm" style={{ width: "100%" }}>
108
+ <Button
109
+ variant="secondary"
110
+ fullWidth
111
+ onClick={() => setViewState("detail")}
112
+ >
113
+ View Payment Receipt
114
+ </Button>
115
+
116
+ <Button variant="accent" fullWidth onClick={onDone}>
117
+ {uiOptions.mode === "transaction" ? "Continue" : "Done"}
118
+ </Button>
119
+ </Container>
120
+
121
+ {/* CSS Animations */}
122
+ <style>
123
+ {`
124
+ @keyframes successBounce {
125
+ 0% {
126
+ transform: scale(0.3);
127
+ opacity: 0;
128
+ }
129
+ 50% {
130
+ transform: scale(1.05);
131
+ }
132
+ 70% {
133
+ transform: scale(0.9);
134
+ }
135
+ 100% {
136
+ transform: scale(1);
137
+ opacity: 1;
138
+ }
139
+ }
140
+
141
+ @keyframes checkAppear {
142
+ 0% {
143
+ transform: scale(0);
144
+ opacity: 0;
145
+ }
146
+ 100% {
147
+ transform: scale(1);
148
+ opacity: 1;
149
+ }
150
+ }
151
+ `}
152
+ </style>
153
+ </Container>
154
+ );
155
+ }
@@ -591,7 +591,7 @@ describe("Details Modal", () => {
591
591
  const { container } = render(
592
592
  <AccountProvider address={VITALIK_WALLET} client={client}>
593
593
  <NetworkSwitcherButton
594
- setScreen={(scr) => console.log(scr)}
594
+ setScreen={(_scr) => {}}
595
595
  disableSwitchChain={false}
596
596
  displayBalanceToken={undefined}
597
597
  client={client}
@@ -616,7 +616,7 @@ describe("Details Modal", () => {
616
616
  const { container } = render(
617
617
  <AccountProvider address={VITALIK_WALLET} client={client}>
618
618
  <NetworkSwitcherButton
619
- setScreen={(scr) => console.log(scr)}
619
+ setScreen={(_scr) => {}}
620
620
  disableSwitchChain={false}
621
621
  displayBalanceToken={undefined}
622
622
  client={client}
@@ -699,8 +699,8 @@ const ButtonContainer = /* @__PURE__ */ StyledDiv(() => {
699
699
  const ShowAllWalletsIcon = /* @__PURE__ */ StyledDiv(() => {
700
700
  const theme = useCustomTheme();
701
701
  return {
702
- width: `${iconSize.xl}px`,
703
- height: `${iconSize.xl}px`,
702
+ width: `${iconSize.lg}px`,
703
+ height: `${iconSize.lg}px`,
704
704
  backgroundColor: theme.colors.tertiaryBg,
705
705
  border: `2px solid ${theme.colors.borderColor}`,
706
706
  borderRadius: radius.md,
@@ -5,7 +5,7 @@ export const reservedScreens = {
5
5
  showAll: "showAll",
6
6
  };
7
7
 
8
- export const modalMaxWidthCompact = "360px";
8
+ export const modalMaxWidthCompact = "400px";
9
9
 
10
10
  const wideModalWidth = 730;
11
11
  export const modalMaxWidthWide = `${wideModalWidth}px`;
@@ -0,0 +1,24 @@
1
+ import type { IconFC } from "./types.js";
2
+
3
+ /**
4
+ * @internal
5
+ */
6
+ export const CreditCardIcon: IconFC = (props) => {
7
+ return (
8
+ <svg
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ width={props.size}
11
+ height={props.size}
12
+ viewBox="0 0 24 24"
13
+ fill="none"
14
+ stroke={props.color ?? "currentColor"}
15
+ strokeWidth="1"
16
+ strokeLinecap="round"
17
+ strokeLinejoin="round"
18
+ role="presentation"
19
+ >
20
+ <rect width="20" height="14" x="2" y="5" rx="2" />
21
+ <line x1="2" x2="22" y1="10" y2="10" />
22
+ </svg>
23
+ );
24
+ };
@@ -24,7 +24,10 @@ import type {
24
24
  } from "../../../../../core/hooks/connection/ConnectButtonProps.js";
25
25
  import { useActiveAccount } from "../../../../../core/hooks/wallets/useActiveAccount.js";
26
26
  import { invalidateWalletBalance } from "../../../../../core/providers/invalidateWalletBalance.js";
27
- import type { SupportedTokens } from "../../../../../core/utils/defaultTokens.js";
27
+ import type {
28
+ SupportedTokens,
29
+ TokenInfo,
30
+ } from "../../../../../core/utils/defaultTokens.js";
28
31
  import { ErrorState } from "../../../../wallets/shared/ErrorState.js";
29
32
  import { LoadingScreen } from "../../../../wallets/shared/LoadingScreen.js";
30
33
  import type { PayEmbedConnectOptions } from "../../../PayEmbed.js";
@@ -539,7 +542,7 @@ function BuyScreenContent(props: BuyScreenContentProps) {
539
542
  toChain={toChain}
540
543
  toToken={toToken}
541
544
  fromChain={fromChain}
542
- fromToken={fromToken}
545
+ fromToken={fromToken as TokenInfo}
543
546
  showFromTokenSelector={() => {
544
547
  setScreen({
545
548
  id: "select-from-token",
@@ -90,7 +90,9 @@ export function DirectPaymentModeScreen(props: {
90
90
 
91
91
  const token: TokenInfo = paymentInfo.token
92
92
  ? {
93
- ...paymentInfo.token,
93
+ name: paymentInfo.token.name || chainData.nativeCurrency.name,
94
+ symbol: paymentInfo.token.symbol || chainData.nativeCurrency.symbol,
95
+ address: paymentInfo.token.address || NATIVE_TOKEN_ADDRESS,
94
96
  icon:
95
97
  paymentInfo.token?.icon ||
96
98
  supportedDestinations
@@ -99,6 +99,14 @@ export function getFiatIcon(
99
99
  />
100
100
  );
101
101
  }
102
+
103
+ export function getFiatCurrencyIcon(props: {
104
+ currency: string;
105
+ size: keyof typeof iconSize;
106
+ }): React.ReactNode {
107
+ return getFiatIcon(getCurrencyMeta(props.currency), props.size);
108
+ }
109
+
102
110
  const UnknownCurrencyIcon: IconFC = (props) => {
103
111
  return <RadiobuttonIcon width={props.size} height={props.size} />;
104
112
  };
@@ -6,6 +6,7 @@ import type {
6
6
  PayUIOptions,
7
7
  } from "../../../../../../core/hooks/connection/ConnectButtonProps.js";
8
8
  import { useActiveWalletChain } from "../../../../../../core/hooks/wallets/useActiveWalletChain.js";
9
+ import type { TokenInfo } from "../../../../../../core/utils/defaultTokens.js";
9
10
  import { useDebouncedValue } from "../../../../hooks/useDebouncedValue.js";
10
11
  import { type ERC20OrNativeToken, NATIVE_TOKEN } from "../../nativeToken.js";
11
12
  import {
@@ -49,7 +50,7 @@ export function useToTokenSelectionStates(options: {
49
50
  setToChain(prefillBuy.chain);
50
51
  }
51
52
  if (prefillBuy?.token) {
52
- setToToken(prefillBuy.token);
53
+ setToToken(prefillBuy.token as TokenInfo);
53
54
  }
54
55
  }, [prefillBuy?.amount, prefillBuy?.chain, prefillBuy?.token]);
55
56
 
@@ -68,7 +69,7 @@ export function useToTokenSelectionStates(options: {
68
69
  );
69
70
 
70
71
  const [toToken, setToToken] = useState<ERC20OrNativeToken>(
71
- prefillBuy?.token ||
72
+ (prefillBuy?.token as TokenInfo) ||
72
73
  (payOptions.mode === "direct_payment" && payOptions.paymentInfo.token) ||
73
74
  NATIVE_TOKEN,
74
75
  );
@@ -43,7 +43,13 @@ export function FiatValue(
43
43
 
44
44
  return cryptoToFiatQuery.data?.result ? (
45
45
  <Text {...props}>
46
- ${formatNumber(cryptoToFiatQuery.data.result, 2).toFixed(2)}
46
+ $
47
+ {Number(
48
+ formatNumber(cryptoToFiatQuery.data.result, 2).toFixed(2),
49
+ ).toLocaleString(undefined, {
50
+ minimumFractionDigits: 2,
51
+ maximumFractionDigits: 2,
52
+ })}
47
53
  </Text>
48
54
  ) : null;
49
55
  }
@@ -19,6 +19,7 @@ export function StepConnectorArrow() {
19
19
  <Container
20
20
  flex="row"
21
21
  center="both"
22
+ color="primaryText"
22
23
  style={{
23
24
  borderRadius: "100%",
24
25
  width: "30px",
@@ -48,7 +48,7 @@ export function WalletRow(props: {
48
48
  : "";
49
49
  return (
50
50
  <Container flex="row" style={{ justifyContent: "space-between" }}>
51
- <Container flex="row" center="y" gap="sm" color="secondaryText">
51
+ <Container flex="row" center="y" gap="md" color="secondaryText">
52
52
  {wallet ? (
53
53
  <WalletImage
54
54
  id={wallet.id}
@@ -58,13 +58,17 @@ export function WalletRow(props: {
58
58
  ) : (
59
59
  <OutlineWalletIcon size={iconSize[props.iconSize || "md"]} />
60
60
  )}
61
- <Container flex="column" gap="4xs">
61
+ <Container flex="column" gap="3xs">
62
62
  {props.label ? (
63
63
  <Text size="xs" color="secondaryText">
64
64
  {props.label}
65
65
  </Text>
66
66
  ) : null}
67
- <Text size={props.textSize || "xs"} color="primaryText">
67
+ <Text
68
+ size={props.textSize || "xs"}
69
+ color="primaryText"
70
+ style={{ fontWeight: 600, fontFamily: "monospace" }}
71
+ >
68
72
  {addressOrENS || shortenAddress(props.address)}
69
73
  </Text>
70
74
  {profile.isLoading ? (
@@ -1,4 +1,6 @@
1
1
  import { formatNumber } from "../../../../../utils/formatNumber.js";
2
+ import { toTokens } from "../../../../../utils/units.js";
3
+ import { getCurrencyMeta } from "./Buy/fiat/currencies.js";
2
4
 
3
5
  /**
4
6
  * @internal
@@ -20,3 +22,23 @@ export function formatTokenBalance(
20
22
  (showSymbol ? ` ${balanceData.symbol}` : "")
21
23
  );
22
24
  }
25
+
26
+ export function formatTokenAmount(
27
+ amount: bigint,
28
+ decimals: number,
29
+ decimalsToShow = 5,
30
+ ) {
31
+ return formatNumber(
32
+ Number.parseFloat(toTokens(amount, decimals)),
33
+ decimalsToShow,
34
+ ).toString();
35
+ }
36
+
37
+ export function formatCurrencyAmount(
38
+ currency: string,
39
+ amount: number,
40
+ decimals = 2,
41
+ ) {
42
+ const symbol = getCurrencyMeta(currency).symbol;
43
+ return `${symbol}${formatNumber(amount, decimals).toFixed(decimals)}`;
44
+ }
@@ -22,6 +22,7 @@ import { useActiveWallet } from "../../core/hooks/wallets/useActiveWallet.js";
22
22
  import { useConnectionManager } from "../../core/providers/connection-manager.js";
23
23
  import type { SupportedTokens } from "../../core/utils/defaultTokens.js";
24
24
  import { AutoConnect } from "../../web/ui/AutoConnect/AutoConnect.js";
25
+ import { webWindowAdapter } from "../adapters/WindowAdapter.js";
25
26
  import { EmbedContainer } from "./ConnectWallet/Modal/ConnectEmbed.js";
26
27
  import { useConnectLocale } from "./ConnectWallet/locale/getConnectLocale.js";
27
28
  import BuyScreen from "./ConnectWallet/screens/Buy/BuyScreen.js";
@@ -404,6 +405,7 @@ export function PayEmbed(props: PayEmbedProps) {
404
405
  transactionHash: data.transactionHash,
405
406
  });
406
407
  }}
408
+ windowAdapter={webWindowAdapter}
407
409
  />
408
410
  )}
409
411
  </>
@@ -168,10 +168,9 @@ export function DepositScreen(props: {
168
168
  style={{
169
169
  justifyContent: "space-between",
170
170
  padding: spacing.sm,
171
- marginBottom: spacing.sm,
172
- borderRadius: spacing.md,
173
- backgroundColor: theme.colors.tertiaryBg,
171
+ borderRadius: `${radius.md} ${radius.md} 0 0`,
174
172
  border: `1px solid ${theme.colors.borderColor}`,
173
+ borderBottom: "none",
175
174
  }}
176
175
  >
177
176
  {activeAccount && (
@@ -223,7 +222,13 @@ export function DepositScreen(props: {
223
222
  />
224
223
  </Container>
225
224
  <Container flex="row" center="x" gap="xs">
226
- <Text color="primaryText" size="md">
225
+ <Text
226
+ color="primaryText"
227
+ size="md"
228
+ style={{
229
+ fontFamily: "monospace",
230
+ }}
231
+ >
227
232
  {address ? shortenAddress(address) : ""}
228
233
  </Text>
229
234
  <CopyIcon
@@ -286,7 +291,7 @@ const WalletAddressContainer = /* @__PURE__ */ StyledButton((_) => {
286
291
  display: "flex",
287
292
  justifyContent: "space-between",
288
293
  border: `1px solid ${theme.colors.borderColor}`,
289
- borderRadius: radius.lg,
294
+ borderRadius: `0 0 ${radius.md} ${radius.md}`,
290
295
  transition: "border-color 200ms ease",
291
296
  "&:hover": {
292
297
  borderColor: theme.colors.accentText,
@@ -1,9 +1,11 @@
1
- import { CheckCircledIcon, ExternalLinkIcon } from "@radix-ui/react-icons";
1
+ import { CheckIcon, ExternalLinkIcon } from "@radix-ui/react-icons";
2
2
  import { useCallback, useEffect, useRef, useState } from "react";
3
3
  import type { Hex } from "viem";
4
4
  import type { WaitForReceiptOptions } from "../../../../transaction/actions/wait-for-tx-receipt.js";
5
5
  import type { PreparedTransaction } from "../../../../transaction/prepare-transaction.js";
6
6
  import { formatExplorerTxUrl } from "../../../../utils/url.js";
7
+ import type { WindowAdapter } from "../../../core/adapters/WindowAdapter.js";
8
+ import { useCustomTheme } from "../../../core/design-system/CustomThemeProvider.js";
7
9
  import { iconSize } from "../../../core/design-system/index.js";
8
10
  import { useChainExplorers } from "../../../core/hooks/others/useChainQuery.js";
9
11
  import { useSendTransaction } from "../../hooks/transaction/useSendTransaction.js";
@@ -11,7 +13,7 @@ import { AccentFailIcon } from "../ConnectWallet/icons/AccentFailIcon.js";
11
13
  import { Spacer } from "../components/Spacer.js";
12
14
  import { Spinner } from "../components/Spinner.js";
13
15
  import { Container, ModalHeader } from "../components/basic.js";
14
- import { Button, ButtonLink } from "../components/buttons.js";
16
+ import { Button } from "../components/buttons.js";
15
17
  import { Text } from "../components/text.js";
16
18
 
17
19
  export function ExecutingTxScreen(props: {
@@ -19,6 +21,7 @@ export function ExecutingTxScreen(props: {
19
21
  closeModal: () => void;
20
22
  onTxSent: (data: WaitForReceiptOptions) => void;
21
23
  onBack?: () => void;
24
+ windowAdapter: WindowAdapter;
22
25
  }) {
23
26
  const sendTxCore = useSendTransaction({
24
27
  payModal: false,
@@ -29,6 +32,7 @@ export function ExecutingTxScreen(props: {
29
32
  const [status, setStatus] = useState<"loading" | "failed" | "sent">(
30
33
  "loading",
31
34
  );
35
+ const theme = useCustomTheme();
32
36
 
33
37
  const sendTx = useCallback(async () => {
34
38
  setStatus("loading");
@@ -67,15 +71,32 @@ export function ExecutingTxScreen(props: {
67
71
  {status === "loading" && <Spinner size="xxl" color="accentText" />}
68
72
  {status === "failed" && <AccentFailIcon size={iconSize["3xl"]} />}
69
73
  {status === "sent" && (
70
- <Container color="success" flex="row" center="both">
71
- <CheckCircledIcon
72
- width={iconSize["3xl"]}
73
- height={iconSize["3xl"]}
74
+ <Container
75
+ center="both"
76
+ flex="row"
77
+ style={{
78
+ width: "64px",
79
+ height: "64px",
80
+ borderRadius: "50%",
81
+ backgroundColor: theme.colors.tertiaryBg,
82
+ marginBottom: "16px",
83
+ border: `2px solid ${theme.colors.success}`,
84
+ animation: "successBounce 0.6s ease-out",
85
+ }}
86
+ >
87
+ <CheckIcon
88
+ width={iconSize.xl}
89
+ height={iconSize.xl}
90
+ color={theme.colors.success}
91
+ style={{
92
+ animation: "checkAppear 0.3s ease-out 0.3s both",
93
+ }}
74
94
  />
75
95
  </Container>
76
96
  )}
77
97
  </Container>
78
- <Spacer y="lg" />
98
+
99
+ <Spacer y="md" />
79
100
 
80
101
  <Text color="primaryText" center size="lg">
81
102
  {status === "loading" && "Sending transaction"}
@@ -87,7 +108,7 @@ export function ExecutingTxScreen(props: {
87
108
  {status === "failed" && txError ? txError.message || "" : ""}
88
109
  </Text>
89
110
 
90
- <Spacer y="xxl" />
111
+ <Spacer y="xl" />
91
112
 
92
113
  {status === "failed" && (
93
114
  <Button variant="accent" fullWidth onClick={sendTx}>
@@ -97,34 +118,66 @@ export function ExecutingTxScreen(props: {
97
118
 
98
119
  {status === "sent" && (
99
120
  <>
100
- <Button variant="accent" fullWidth onClick={props.closeModal}>
101
- Done
102
- </Button>
103
121
  {txHash && (
104
122
  <>
105
- <Spacer y="sm" />
106
- <ButtonLink
123
+ <Button
124
+ variant="secondary"
107
125
  fullWidth
108
- variant="outline"
109
- href={formatExplorerTxUrl(
110
- chainExplorers.explorers[0]?.url ?? "",
111
- txHash,
112
- )}
113
- target="_blank"
114
- as="a"
115
- gap="xs"
116
- style={{
117
- textDecoration: "none",
118
- color: "inherit",
126
+ onClick={() => {
127
+ props.windowAdapter.open(
128
+ formatExplorerTxUrl(
129
+ chainExplorers.explorers[0]?.url ?? "",
130
+ txHash,
131
+ ),
132
+ );
119
133
  }}
134
+ gap="xs"
135
+ color="primaryText"
120
136
  >
121
137
  View on Explorer
122
138
  <ExternalLinkIcon width={iconSize.sm} height={iconSize.sm} />
123
- </ButtonLink>
139
+ </Button>
140
+ <Spacer y="sm" />
124
141
  </>
125
142
  )}
143
+ <Button variant="accent" fullWidth onClick={props.closeModal}>
144
+ Done
145
+ </Button>
126
146
  </>
127
147
  )}
148
+
149
+ {/* CSS Animations */}
150
+ <style>
151
+ {`
152
+ @keyframes successBounce {
153
+ 0% {
154
+ transform: scale(0.3);
155
+ opacity: 0;
156
+ }
157
+ 50% {
158
+ transform: scale(1.05);
159
+ }
160
+ 70% {
161
+ transform: scale(0.9);
162
+ }
163
+ 100% {
164
+ transform: scale(1);
165
+ opacity: 1;
166
+ }
167
+ }
168
+
169
+ @keyframes checkAppear {
170
+ 0% {
171
+ transform: scale(0);
172
+ opacity: 0;
173
+ }
174
+ 100% {
175
+ transform: scale(1);
176
+ opacity: 1;
177
+ }
178
+ }
179
+ `}
180
+ </style>
128
181
  </Container>
129
182
  );
130
183
  }
@@ -11,9 +11,10 @@ import type { PayUIOptions } from "../../../core/hooks/connection/ConnectButtonP
11
11
  import { useActiveAccount } from "../../../core/hooks/wallets/useActiveAccount.js";
12
12
  import { useActiveWallet } from "../../../core/hooks/wallets/useActiveWallet.js";
13
13
  import type { SupportedTokens } from "../../../core/utils/defaultTokens.js";
14
+ import { webWindowAdapter } from "../../adapters/WindowAdapter.js";
14
15
  import { LoadingScreen } from "../../wallets/shared/LoadingScreen.js";
16
+ import { BridgeOrchestrator } from "../Bridge/BridgeOrchestrator.js";
15
17
  import { useConnectLocale } from "../ConnectWallet/locale/getConnectLocale.js";
16
- import { LazyBuyScreen } from "../ConnectWallet/screens/Buy/LazyBuyScreen.js";
17
18
  import { Modal } from "../components/Modal.js";
18
19
  import type { LocaleId } from "../types.js";
19
20
  import { DepositScreen } from "./DepositScreen.js";
@@ -94,6 +95,7 @@ function TransactionModalContent(props: ModalProps & { onBack?: () => void }) {
94
95
  tx={props.tx}
95
96
  closeModal={props.onClose}
96
97
  onTxSent={props.onTxSent}
98
+ windowAdapter={webWindowAdapter}
97
99
  />
98
100
  );
99
101
  }
@@ -113,19 +115,23 @@ function TransactionModalContent(props: ModalProps & { onBack?: () => void }) {
113
115
  }
114
116
 
115
117
  return (
116
- <LazyBuyScreen
117
- title={props.title}
118
- isEmbed={false}
118
+ <BridgeOrchestrator
119
119
  client={props.client}
120
- onBack={props.onBack}
121
- supportedTokens={props.supportedTokens}
120
+ uiOptions={{
121
+ mode: "transaction",
122
+ transaction: props.tx,
123
+ }}
122
124
  connectLocale={localeQuery.data}
123
- theme={typeof props.theme === "string" ? props.theme : props.theme.type}
124
- payOptions={props.payOptions}
125
- onDone={() => {
125
+ onComplete={() => {
126
126
  setScreen("execute-tx");
127
127
  }}
128
+ onError={(_error) => {}}
129
+ onCancel={props.onClose}
128
130
  connectOptions={undefined}
131
+ receiverAddress={undefined}
132
+ purchaseData={undefined}
133
+ paymentLinkId={undefined}
134
+ presetOptions={undefined}
129
135
  />
130
136
  );
131
137
  }