thirdweb 5.88.7 → 5.88.8-nightly-1fa36c1d56758788a8f9053f8929497bacb2b115-20250224233959

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 (191) hide show
  1. package/dist/cjs/contract/deployment/utils/create-2-factory.js +4 -0
  2. package/dist/cjs/contract/deployment/utils/create-2-factory.js.map +1 -1
  3. package/dist/cjs/pay/buyWithFiat/getQuote.js +1 -0
  4. package/dist/cjs/pay/buyWithFiat/getQuote.js.map +1 -1
  5. package/dist/cjs/pay/buyWithFiat/isSwapRequiredPostOnramp.js +44 -0
  6. package/dist/cjs/pay/buyWithFiat/isSwapRequiredPostOnramp.js.map +1 -1
  7. package/dist/cjs/pay/convert/type.js +30 -1
  8. package/dist/cjs/pay/convert/type.js.map +1 -1
  9. package/dist/cjs/react/core/hooks/pay/useBuyWithFiatStatus.js +1 -0
  10. package/dist/cjs/react/core/hooks/pay/useBuyWithFiatStatus.js.map +1 -1
  11. package/dist/cjs/react/core/hooks/wallets/useSendToken.js +18 -2
  12. package/dist/cjs/react/core/hooks/wallets/useSendToken.js.map +1 -1
  13. package/dist/cjs/react/core/providers/invalidateWalletBalance.js +6 -1
  14. package/dist/cjs/react/core/providers/invalidateWalletBalance.js.map +1 -1
  15. package/dist/cjs/react/core/utils/account.js +2 -7
  16. package/dist/cjs/react/core/utils/account.js.map +1 -1
  17. package/dist/cjs/react/web/ui/ConnectWallet/NetworkSelector.js +1 -1
  18. package/dist/cjs/react/web/ui/ConnectWallet/NetworkSelector.js.map +1 -1
  19. package/dist/cjs/react/web/ui/ConnectWallet/icons/currencies/JPYIcon.js +1 -1
  20. package/dist/cjs/react/web/ui/ConnectWallet/icons/currencies/JPYIcon.js.map +1 -1
  21. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +5 -3
  22. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
  23. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/PayWIthCreditCard.js +2 -1
  24. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/PayWIthCreditCard.js.map +1 -1
  25. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/CurrencySelection.js +1 -1
  26. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/CurrencySelection.js.map +1 -1
  27. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatScreenContent.js +0 -13
  28. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatScreenContent.js.map +1 -1
  29. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.js +6 -26
  30. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.js.map +1 -1
  31. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatTxDetailsTable.js +1 -1
  32. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatTxDetailsTable.js.map +1 -1
  33. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/OnRampScreen.js +541 -0
  34. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/OnRampScreen.js.map +1 -0
  35. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/currencies.js +23 -0
  36. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/currencies.js.map +1 -1
  37. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.js +8 -0
  38. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.js.map +1 -1
  39. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/StepConnector.js +21 -0
  40. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/StepConnector.js.map +1 -0
  41. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/SwapSummary.js +4 -9
  42. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/SwapSummary.js.map +1 -1
  43. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/WalletRow.js +2 -1
  44. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/WalletRow.js.map +1 -1
  45. package/dist/cjs/rpc/rpc.js +1 -1
  46. package/dist/cjs/storage/upload/mobile.js +1 -1
  47. package/dist/cjs/storage/upload/mobile.js.map +1 -1
  48. package/dist/cjs/storage/upload/web-node.js +1 -0
  49. package/dist/cjs/storage/upload/web-node.js.map +1 -1
  50. package/dist/cjs/version.js +1 -1
  51. package/dist/cjs/version.js.map +1 -1
  52. package/dist/cjs/wallets/in-app/web/ecosystem.js +1 -1
  53. package/dist/cjs/wallets/in-app/web/lib/iframe-wallet.js +1 -1
  54. package/dist/cjs/wallets/in-app/web/lib/iframe-wallet.js.map +1 -1
  55. package/dist/esm/contract/deployment/utils/create-2-factory.js +4 -0
  56. package/dist/esm/contract/deployment/utils/create-2-factory.js.map +1 -1
  57. package/dist/esm/pay/buyWithFiat/getQuote.js +1 -0
  58. package/dist/esm/pay/buyWithFiat/getQuote.js.map +1 -1
  59. package/dist/esm/pay/buyWithFiat/isSwapRequiredPostOnramp.js +43 -0
  60. package/dist/esm/pay/buyWithFiat/isSwapRequiredPostOnramp.js.map +1 -1
  61. package/dist/esm/pay/convert/type.js +29 -2
  62. package/dist/esm/pay/convert/type.js.map +1 -1
  63. package/dist/esm/react/core/hooks/pay/useBuyWithFiatStatus.js +1 -0
  64. package/dist/esm/react/core/hooks/pay/useBuyWithFiatStatus.js.map +1 -1
  65. package/dist/esm/react/core/hooks/wallets/useSendToken.js +19 -3
  66. package/dist/esm/react/core/hooks/wallets/useSendToken.js.map +1 -1
  67. package/dist/esm/react/core/providers/invalidateWalletBalance.js +6 -1
  68. package/dist/esm/react/core/providers/invalidateWalletBalance.js.map +1 -1
  69. package/dist/esm/react/core/utils/account.js +1 -6
  70. package/dist/esm/react/core/utils/account.js.map +1 -1
  71. package/dist/esm/react/web/ui/ConnectWallet/NetworkSelector.js +1 -1
  72. package/dist/esm/react/web/ui/ConnectWallet/NetworkSelector.js.map +1 -1
  73. package/dist/esm/react/web/ui/ConnectWallet/icons/currencies/JPYIcon.js +1 -1
  74. package/dist/esm/react/web/ui/ConnectWallet/icons/currencies/JPYIcon.js.map +1 -1
  75. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +5 -3
  76. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
  77. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/PayWIthCreditCard.js +2 -1
  78. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/PayWIthCreditCard.js.map +1 -1
  79. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/CurrencySelection.js +3 -3
  80. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/CurrencySelection.js.map +1 -1
  81. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatScreenContent.js +0 -13
  82. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatScreenContent.js.map +1 -1
  83. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.js +7 -27
  84. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.js.map +1 -1
  85. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatTxDetailsTable.js +2 -2
  86. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatTxDetailsTable.js.map +1 -1
  87. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/OnRampScreen.js +538 -0
  88. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/OnRampScreen.js.map +1 -0
  89. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/currencies.js +22 -0
  90. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/currencies.js.map +1 -1
  91. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.js +8 -0
  92. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.js.map +1 -1
  93. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/StepConnector.js +18 -0
  94. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/StepConnector.js.map +1 -0
  95. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/SwapSummary.js +5 -10
  96. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/SwapSummary.js.map +1 -1
  97. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/WalletRow.js +2 -1
  98. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/WalletRow.js.map +1 -1
  99. package/dist/esm/rpc/rpc.js +1 -1
  100. package/dist/esm/storage/upload/mobile.js +1 -1
  101. package/dist/esm/storage/upload/mobile.js.map +1 -1
  102. package/dist/esm/storage/upload/web-node.js +1 -0
  103. package/dist/esm/storage/upload/web-node.js.map +1 -1
  104. package/dist/esm/version.js +1 -1
  105. package/dist/esm/version.js.map +1 -1
  106. package/dist/esm/wallets/in-app/web/ecosystem.js +1 -1
  107. package/dist/esm/wallets/in-app/web/lib/iframe-wallet.js +1 -1
  108. package/dist/esm/wallets/in-app/web/lib/iframe-wallet.js.map +1 -1
  109. package/dist/types/pay/buyWithFiat/getQuote.d.ts +8 -32
  110. package/dist/types/pay/buyWithFiat/getQuote.d.ts.map +1 -1
  111. package/dist/types/pay/buyWithFiat/isSwapRequiredPostOnramp.d.ts +7 -0
  112. package/dist/types/pay/buyWithFiat/isSwapRequiredPostOnramp.d.ts.map +1 -1
  113. package/dist/types/pay/convert/type.d.ts +2 -1
  114. package/dist/types/pay/convert/type.d.ts.map +1 -1
  115. package/dist/types/react/core/hooks/connection/ConnectButtonProps.d.ts +2 -1
  116. package/dist/types/react/core/hooks/connection/ConnectButtonProps.d.ts.map +1 -1
  117. package/dist/types/react/core/hooks/pay/useBuyWithFiatStatus.d.ts +2 -1
  118. package/dist/types/react/core/hooks/pay/useBuyWithFiatStatus.d.ts.map +1 -1
  119. package/dist/types/react/core/hooks/wallets/useSendToken.d.ts +6 -1
  120. package/dist/types/react/core/hooks/wallets/useSendToken.d.ts.map +1 -1
  121. package/dist/types/react/core/providers/invalidateWalletBalance.d.ts +1 -1
  122. package/dist/types/react/core/providers/invalidateWalletBalance.d.ts.map +1 -1
  123. package/dist/types/react/core/utils/account.d.ts +1 -1
  124. package/dist/types/react/core/utils/account.d.ts.map +1 -1
  125. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/PayWIthCreditCard.d.ts +1 -1
  126. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/PayWIthCreditCard.d.ts.map +1 -1
  127. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/CurrencySelection.d.ts.map +1 -1
  128. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatScreenContent.d.ts.map +1 -1
  129. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.d.ts +7 -2
  130. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.d.ts.map +1 -1
  131. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/{FiatFlow.d.ts → OnRampScreen.d.ts} +4 -4
  132. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/OnRampScreen.d.ts.map +1 -0
  133. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/currencies.d.ts +6 -2
  134. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/currencies.d.ts.map +1 -1
  135. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/types.d.ts +0 -1
  136. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/types.d.ts.map +1 -1
  137. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/StepConnector.d.ts +4 -0
  138. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/StepConnector.d.ts.map +1 -0
  139. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/SwapSummary.d.ts.map +1 -1
  140. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/WalletRow.d.ts +1 -0
  141. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/WalletRow.d.ts.map +1 -1
  142. package/dist/types/react/web/ui/MediaRenderer/MediaRenderer.d.ts +2 -2
  143. package/dist/types/react/web/ui/MediaRenderer/ModelViewer.d.ts +1 -1
  144. package/dist/types/storage/upload/web-node.d.ts.map +1 -1
  145. package/dist/types/version.d.ts +1 -1
  146. package/dist/types/version.d.ts.map +1 -1
  147. package/dist/types/wallets/in-app/web/ecosystem.d.ts +1 -1
  148. package/package.json +1 -1
  149. package/src/contract/deployment/utils/create-2-factory.ts +4 -0
  150. package/src/pay/buyWithFiat/getQuote.ts +9 -33
  151. package/src/pay/buyWithFiat/isSwapRequiredPostOnramp.ts +56 -0
  152. package/src/pay/convert/type.ts +30 -1
  153. package/src/react/core/hooks/connection/ConnectButtonProps.ts +2 -1
  154. package/src/react/core/hooks/pay/useBuyWithFiatStatus.ts +3 -1
  155. package/src/react/core/hooks/wallets/useSendToken.ts +19 -3
  156. package/src/react/core/providers/invalidateWalletBalance.ts +6 -1
  157. package/src/react/core/utils/account.ts +4 -8
  158. package/src/react/web/ui/ConnectWallet/NetworkSelector.tsx +1 -1
  159. package/src/react/web/ui/ConnectWallet/icons/currencies/JPYIcon.tsx +1 -1
  160. package/src/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.tsx +7 -3
  161. package/src/react/web/ui/ConnectWallet/screens/Buy/PayWIthCreditCard.tsx +2 -2
  162. package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/CurrencySelection.tsx +3 -6
  163. package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatScreenContent.tsx +0 -19
  164. package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.tsx +9 -32
  165. package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatTxDetailsTable.tsx +2 -2
  166. package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/OnRampScreen.tsx +790 -0
  167. package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/currencies.tsx +38 -2
  168. package/src/react/web/ui/ConnectWallet/screens/Buy/main/types.ts +0 -1
  169. package/src/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.ts +10 -0
  170. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/StepConnector.tsx +55 -0
  171. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/SwapSummary.tsx +18 -41
  172. package/src/react/web/ui/ConnectWallet/screens/Buy/swap/WalletRow.tsx +10 -1
  173. package/src/rpc/rpc.ts +1 -1
  174. package/src/storage/upload/mobile.ts +1 -1
  175. package/src/storage/upload/web-node.ts +1 -0
  176. package/src/version.ts +1 -1
  177. package/src/wallets/in-app/web/ecosystem.ts +1 -1
  178. package/src/wallets/in-app/web/lib/iframe-wallet.ts +1 -1
  179. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.js +0 -63
  180. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.js.map +0 -1
  181. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatStatusScreen.js +0 -116
  182. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatStatusScreen.js.map +0 -1
  183. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.js +0 -60
  184. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.js.map +0 -1
  185. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatStatusScreen.js +0 -113
  186. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatStatusScreen.js.map +0 -1
  187. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.d.ts.map +0 -1
  188. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatStatusScreen.d.ts +0 -24
  189. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatStatusScreen.d.ts.map +0 -1
  190. package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatFlow.tsx +0 -152
  191. package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatStatusScreen.tsx +0 -258
@@ -0,0 +1,541 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OnRampScreen = OnRampScreen;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_query_1 = require("@tanstack/react-query");
6
+ const react_1 = require("react");
7
+ const pay_js_1 = require("../../../../../../../analytics/track/pay.js");
8
+ const utils_js_1 = require("../../../../../../../chains/utils.js");
9
+ const contract_js_1 = require("../../../../../../../contract/contract.js");
10
+ const allowance_js_1 = require("../../../../../../../extensions/erc20/__generated__/IERC20/read/allowance.js");
11
+ const approve_js_1 = require("../../../../../../../extensions/erc20/write/approve.js");
12
+ const getStatus_js_1 = require("../../../../../../../pay/buyWithFiat/getStatus.js");
13
+ const isSwapRequiredPostOnramp_js_1 = require("../../../../../../../pay/buyWithFiat/isSwapRequiredPostOnramp.js");
14
+ const send_batch_transaction_js_1 = require("../../../../../../../transaction/actions/send-batch-transaction.js");
15
+ const send_transaction_js_1 = require("../../../../../../../transaction/actions/send-transaction.js");
16
+ const wait_for_tx_receipt_js_1 = require("../../../../../../../transaction/actions/wait-for-tx-receipt.js");
17
+ const formatNumber_js_1 = require("../../../../../../../utils/formatNumber.js");
18
+ const is_ecosystem_wallet_js_1 = require("../../../../../../../wallets/ecosystem/is-ecosystem-wallet.js");
19
+ const index_js_1 = require("../../../../../../../wallets/in-app/core/wallet/index.js");
20
+ const is_smart_wallet_js_1 = require("../../../../../../../wallets/smart/is-smart-wallet.js");
21
+ const index_js_2 = require("../../../../../../core/design-system/index.js");
22
+ const useChainQuery_js_1 = require("../../../../../../core/hooks/others/useChainQuery.js");
23
+ const useBuyWithCryptoQuote_js_1 = require("../../../../../../core/hooks/pay/useBuyWithCryptoQuote.js");
24
+ const useBuyWithCryptoStatus_js_1 = require("../../../../../../core/hooks/pay/useBuyWithCryptoStatus.js");
25
+ const useBuyWithFiatStatus_js_1 = require("../../../../../../core/hooks/pay/useBuyWithFiatStatus.js");
26
+ const useConnectedWallets_js_1 = require("../../../../../../core/hooks/wallets/useConnectedWallets.js");
27
+ const invalidateWalletBalance_js_1 = require("../../../../../../core/providers/invalidateWalletBalance.js");
28
+ const Spacer_js_1 = require("../../../../components/Spacer.js");
29
+ const Spinner_js_1 = require("../../../../components/Spinner.js");
30
+ const SwitchNetwork_js_1 = require("../../../../components/SwitchNetwork.js");
31
+ const basic_js_1 = require("../../../../components/basic.js");
32
+ const buttons_js_1 = require("../../../../components/buttons.js");
33
+ const text_js_1 = require("../../../../components/text.js");
34
+ const TokenSymbol_js_1 = require("../../../../components/token/TokenSymbol.js");
35
+ const PayTokenIcon_js_1 = require("../PayTokenIcon.js");
36
+ const openOnRamppopup_js_1 = require("../openOnRamppopup.js");
37
+ const StepConnector_js_1 = require("../swap/StepConnector.js");
38
+ const WalletRow_js_1 = require("../swap/WalletRow.js");
39
+ const pendingSwapTx_js_1 = require("../swap/pendingSwapTx.js");
40
+ const FiatSteps_js_1 = require("./FiatSteps.js");
41
+ function OnRampScreen(props) {
42
+ const connectedWallets = (0, useConnectedWallets_js_1.useConnectedWallets)();
43
+ const isAutoMode = isInAppSigner({
44
+ wallet: props.payer.wallet,
45
+ connectedWallets,
46
+ });
47
+ const state = useOnRampScreenState({
48
+ quote: props.quote,
49
+ client: props.client,
50
+ onSuccess: props.onSuccess,
51
+ onDone: props.onDone,
52
+ payer: props.payer,
53
+ theme: props.theme,
54
+ isAutoMode,
55
+ });
56
+ const firstStepChainId = state.steps[0]?.step.token.chainId;
57
+ const currentStepIndex = state.steps.findIndex((step) => step.status === "pending" || step.status === "actionRequired");
58
+ return ((0, jsx_runtime_1.jsxs)(basic_js_1.Container, { p: "lg", children: [(0, jsx_runtime_1.jsx)(basic_js_1.ModalHeader, { title: props.title, onBack: props.onBack }), (0, jsx_runtime_1.jsx)(Spacer_js_1.Spacer, { y: "xl" }), (0, jsx_runtime_1.jsx)(basic_js_1.Container, { flex: "column", gap: "xs", center: "y", style: {
59
+ paddingLeft: index_js_2.spacing.md,
60
+ }, children: (0, jsx_runtime_1.jsx)(WalletRow_js_1.WalletRow, { client: props.client, address: props.receiverAddress, iconSize: "md", textSize: "sm", label: "Recipient wallet" }) }), (0, jsx_runtime_1.jsx)(Spacer_js_1.Spacer, { y: "md" }), (0, jsx_runtime_1.jsx)(basic_js_1.Container, { flex: "column", children: state.steps.map(({ step, status }, index) => ((0, jsx_runtime_1.jsxs)(basic_js_1.Container, { flex: "column", children: [(0, jsx_runtime_1.jsx)(FiatSteps_js_1.StepContainer, { state: status, index: index, style: {
61
+ flex: "1",
62
+ }, children: (0, jsx_runtime_1.jsx)(StepUI, { step: step, client: props.client, payer: props.payer, index: index }) }), index < state.steps.length - 1 && ((0, jsx_runtime_1.jsx)(StepConnector_js_1.StepConnectorArrow, { active: index === currentStepIndex }))] }, step.action))) }), (0, jsx_runtime_1.jsx)(Spacer_js_1.Spacer, { y: "md" }), (0, jsx_runtime_1.jsx)(text_js_1.Text, { size: "xs", color: "secondaryText", center: true, style: { padding: `0 ${index_js_2.spacing.xl}` }, children: "Keep this window open until all transactions are complete." }), (0, jsx_runtime_1.jsx)(Spacer_js_1.Spacer, { y: "lg" }), (0, jsx_runtime_1.jsx)(basic_js_1.Container, { flex: "column", gap: "md", children: !state.isDone &&
63
+ firstStepChainId &&
64
+ firstStepChainId !== props.payer.chain.id ? ((0, jsx_runtime_1.jsx)(SwitchNetwork_js_1.SwitchNetworkButton, { fullWidth: true, variant: "accent", switchChain: async () => {
65
+ await props.payer.wallet.switchChain((0, utils_js_1.getCachedChain)(firstStepChainId));
66
+ } })) : ((0, jsx_runtime_1.jsxs)(buttons_js_1.Button, { variant: "accent", gap: "sm", fullWidth: true, onClick: state.handleContinue, disabled: state.isLoading, children: [state.isLoading
67
+ ? "Processing"
68
+ : state.isDone
69
+ ? props.transactionMode
70
+ ? "Continue Transaction"
71
+ : "Done"
72
+ : state.isFailed
73
+ ? "Retry"
74
+ : "Continue", state.isLoading && (0, jsx_runtime_1.jsx)(Spinner_js_1.Spinner, { size: "sm", color: "primaryText" })] })) })] }));
75
+ }
76
+ function StepUI(props) {
77
+ const { step, client } = props;
78
+ const chain = (0, useChainQuery_js_1.useChainName)((0, utils_js_1.getCachedChain)(step.token.chainId));
79
+ return ((0, jsx_runtime_1.jsx)(basic_js_1.Container, { flex: "column", gap: "xs", py: "3xs", children: (0, jsx_runtime_1.jsxs)(basic_js_1.Container, { flex: "row", center: "y", gap: "sm", style: {
80
+ display: "flex",
81
+ justifyContent: "space-between",
82
+ flexWrap: "nowrap",
83
+ }, children: [(0, jsx_runtime_1.jsx)(PayTokenIcon_js_1.PayTokenIcon, { chain: (0, utils_js_1.getCachedChain)(step.token.chainId), client: client, size: "md", token: {
84
+ address: step.token.tokenAddress,
85
+ } }), (0, jsx_runtime_1.jsxs)(basic_js_1.Container, { flex: "column", gap: "3xs", center: "y", style: { flex: "1" }, children: [(0, jsx_runtime_1.jsx)(text_js_1.Text, { size: "sm", color: "primaryText", children: step.action.charAt(0).toUpperCase() + step.action.slice(1) }), (0, jsx_runtime_1.jsxs)(basic_js_1.Container, { flex: "row", gap: "xs", center: "y", style: {
86
+ display: "flex",
87
+ justifyContent: "space-between",
88
+ flexWrap: "nowrap",
89
+ }, children: [(0, jsx_runtime_1.jsxs)(basic_js_1.Container, { flex: "row", gap: "xxs", center: "y", style: {
90
+ flex: "1 1 60%",
91
+ minWidth: 0,
92
+ maxWidth: "60%",
93
+ overflow: "hidden",
94
+ flexWrap: "nowrap",
95
+ }, children: [(0, jsx_runtime_1.jsx)(text_js_1.Text, { size: "sm", color: "primaryText", children: (0, formatNumber_js_1.formatNumber)(Number(step.amount), 5) }), (0, jsx_runtime_1.jsx)(TokenSymbol_js_1.TokenSymbol, { token: {
96
+ address: step.token.tokenAddress,
97
+ name: step.token.name || "",
98
+ symbol: step.token.symbol || "",
99
+ }, chain: (0, utils_js_1.getCachedChain)(step.token.chainId), size: "sm", color: "secondaryText" })] }), (0, jsx_runtime_1.jsx)(basic_js_1.Container, { flex: "row", gap: "xs", center: "y", style: {
100
+ flex: "1 1 40%",
101
+ maxWidth: "40%",
102
+ minWidth: 0,
103
+ justifyContent: "flex-end",
104
+ flexWrap: "nowrap",
105
+ }, children: (0, jsx_runtime_1.jsx)(text_js_1.Text, { size: "xs", style: {
106
+ overflow: "hidden",
107
+ textOverflow: "ellipsis",
108
+ whiteSpace: "nowrap",
109
+ }, children: chain.name }) })] })] })] }) }));
110
+ }
111
+ function useOnRampScreenState(props) {
112
+ const onRampSteps = (0, isSwapRequiredPostOnramp_js_1.getOnRampSteps)(props.quote);
113
+ const [currentStepIndex, setCurrentStepIndex] = (0, react_1.useState)(0);
114
+ const [swapTxHash, setSwapTxHash] = (0, react_1.useState)();
115
+ const [popupWindow, setPopupWindow] = (0, react_1.useState)(null);
116
+ // Track onramp status
117
+ const { uiStatus: fiatOnrampStatus } = useOnRampStatus({
118
+ intentId: props.quote.intentId,
119
+ client: props.client,
120
+ onSuccess: (status) => {
121
+ if (onRampSteps.length === 1) {
122
+ // If only one step, this is the final success
123
+ props.onSuccess(status);
124
+ }
125
+ else {
126
+ // Move to next step (swap)
127
+ setCurrentStepIndex((prev) => prev + 1);
128
+ }
129
+ },
130
+ openedWindow: popupWindow,
131
+ });
132
+ // Get quote for current swap/bridge step if needed
133
+ const previousStep = onRampSteps[currentStepIndex - 1];
134
+ const currentStep = onRampSteps[currentStepIndex];
135
+ const swapQuoteQuery = (0, useBuyWithCryptoQuote_js_1.useBuyWithCryptoQuote)(previousStep && currentStep
136
+ ? {
137
+ fromChainId: previousStep.token.chainId,
138
+ fromTokenAddress: previousStep.token.tokenAddress,
139
+ toAmount: currentStep.amount,
140
+ toChainId: currentStep.token.chainId,
141
+ toTokenAddress: currentStep.token.tokenAddress,
142
+ fromAddress: props.payer.account.address,
143
+ toAddress: props.payer.account.address,
144
+ client: props.client,
145
+ }
146
+ : undefined);
147
+ // Handle swap execution
148
+ const swapMutation = useSwapMutation({
149
+ client: props.client,
150
+ payer: props.payer,
151
+ isFiatFlow: true,
152
+ });
153
+ // Track swap status
154
+ const { uiStatus: swapStatus } = useSwapStatus({
155
+ client: props.client,
156
+ transactionHash: swapTxHash?.hash,
157
+ chainId: swapTxHash?.chainId,
158
+ onSuccess: () => {
159
+ if (currentStepIndex === onRampSteps.length - 1) {
160
+ // Last step completed - call final success
161
+ (0, getStatus_js_1.getBuyWithFiatStatus)({
162
+ intentId: props.quote.intentId,
163
+ client: props.client,
164
+ }).then(props.onSuccess);
165
+ }
166
+ else {
167
+ // Reset swap state before moving to next step
168
+ setSwapTxHash(undefined);
169
+ swapMutation.reset();
170
+ // Move to next step
171
+ setCurrentStepIndex((prev) => prev + 1);
172
+ }
173
+ },
174
+ });
175
+ // Map steps to their current status
176
+ const steps = onRampSteps.map((step, index) => {
177
+ let status = "unknown";
178
+ if (index === 0) {
179
+ // First step (onramp) status
180
+ status = fiatOnrampStatus;
181
+ }
182
+ else if (index < currentStepIndex) {
183
+ // Previous steps are completed
184
+ status = "completed";
185
+ }
186
+ else if (index === currentStepIndex) {
187
+ // Current step - could be swap or bridge
188
+ if (swapQuoteQuery.isLoading || swapMutation.isPending) {
189
+ status = "pending";
190
+ }
191
+ else if (swapQuoteQuery.error || swapMutation.error) {
192
+ status = "failed";
193
+ }
194
+ else if (swapTxHash) {
195
+ status = swapStatus;
196
+ }
197
+ else {
198
+ status = "actionRequired";
199
+ }
200
+ }
201
+ return {
202
+ index,
203
+ step,
204
+ status,
205
+ };
206
+ });
207
+ const isLoading = steps.some((step) => step.status === "pending");
208
+ const isDone = steps.every((step) => step.status === "completed");
209
+ const isFailed = steps.some((step) => step.status === "failed");
210
+ // Update handleContinue to handle done state
211
+ const handleContinue = (0, react_1.useCallback)(async () => {
212
+ if (isDone) {
213
+ props.onDone();
214
+ return;
215
+ }
216
+ if (currentStepIndex === 0) {
217
+ // First step - open onramp popup
218
+ const popup = (0, openOnRamppopup_js_1.openOnrampPopup)(props.quote.onRampLink, props.theme);
219
+ (0, pay_js_1.trackPayEvent)({
220
+ event: "open_onramp_popup",
221
+ client: props.client,
222
+ walletAddress: props.payer.account.address,
223
+ walletType: props.payer.wallet.id,
224
+ });
225
+ setPopupWindow(popup);
226
+ (0, pendingSwapTx_js_1.addPendingTx)({
227
+ type: "fiat",
228
+ intentId: props.quote.intentId,
229
+ });
230
+ }
231
+ else if (swapQuoteQuery.data && !swapTxHash) {
232
+ // Execute swap/bridge
233
+ try {
234
+ const result = await swapMutation.mutateAsync({
235
+ quote: swapQuoteQuery.data,
236
+ });
237
+ setSwapTxHash({
238
+ hash: result.transactionHash,
239
+ chainId: result.chainId,
240
+ });
241
+ }
242
+ catch (e) {
243
+ console.error("Failed to execute swap:", e);
244
+ }
245
+ }
246
+ else if (isFailed) {
247
+ // retry the quote step
248
+ setSwapTxHash(undefined);
249
+ swapMutation.reset();
250
+ swapQuoteQuery.refetch();
251
+ }
252
+ }, [
253
+ isDone,
254
+ currentStepIndex,
255
+ swapQuoteQuery.data,
256
+ swapTxHash,
257
+ props.quote,
258
+ props.onDone,
259
+ swapMutation,
260
+ props.theme,
261
+ isFailed,
262
+ swapQuoteQuery.refetch,
263
+ swapMutation.reset,
264
+ props.client,
265
+ props.payer.account.address,
266
+ props.payer.wallet.id,
267
+ ]);
268
+ // Auto-progress effect
269
+ (0, react_1.useEffect)(() => {
270
+ if (!props.isAutoMode) {
271
+ return;
272
+ }
273
+ // Auto-start next swap step when previous step completes
274
+ if (!isLoading &&
275
+ !isDone &&
276
+ !isFailed &&
277
+ currentStepIndex > 0 &&
278
+ currentStepIndex < onRampSteps.length &&
279
+ swapQuoteQuery.data &&
280
+ !swapTxHash) {
281
+ handleContinue();
282
+ }
283
+ }, [
284
+ props.isAutoMode,
285
+ currentStepIndex,
286
+ swapQuoteQuery.data,
287
+ swapTxHash,
288
+ onRampSteps.length,
289
+ handleContinue,
290
+ isDone,
291
+ isFailed,
292
+ isLoading,
293
+ ]);
294
+ return {
295
+ steps,
296
+ handleContinue,
297
+ isLoading,
298
+ isDone,
299
+ isFailed,
300
+ };
301
+ }
302
+ function useOnRampStatus(props) {
303
+ const queryClient = (0, react_query_1.useQueryClient)();
304
+ const statusQuery = (0, useBuyWithFiatStatus_js_1.useBuyWithFiatStatus)({
305
+ intentId: props.intentId,
306
+ client: props.client,
307
+ queryOptions: {
308
+ enabled: !!props.openedWindow,
309
+ },
310
+ });
311
+ let uiStatus = "actionRequired";
312
+ switch (statusQuery.data?.status) {
313
+ case "ON_RAMP_TRANSFER_COMPLETED":
314
+ case "CRYPTO_SWAP_COMPLETED":
315
+ case "CRYPTO_SWAP_REQUIRED":
316
+ uiStatus = "completed";
317
+ break;
318
+ case "CRYPTO_SWAP_FALLBACK":
319
+ uiStatus = "partialSuccess";
320
+ break;
321
+ case "ON_RAMP_TRANSFER_FAILED":
322
+ case "PAYMENT_FAILED":
323
+ uiStatus = "failed";
324
+ break;
325
+ case "PENDING_PAYMENT":
326
+ case "ON_RAMP_TRANSFER_IN_PROGRESS":
327
+ uiStatus = "pending";
328
+ break;
329
+ default:
330
+ uiStatus = "actionRequired";
331
+ break;
332
+ }
333
+ const purchaseCbCalled = (0, react_1.useRef)(false);
334
+ (0, react_1.useEffect)(() => {
335
+ if (purchaseCbCalled.current || !props.onSuccess) {
336
+ return;
337
+ }
338
+ if (statusQuery.data &&
339
+ (uiStatus === "completed" || uiStatus === "partialSuccess")) {
340
+ purchaseCbCalled.current = true;
341
+ props.onSuccess(statusQuery.data);
342
+ }
343
+ }, [props.onSuccess, statusQuery.data, uiStatus]);
344
+ // close the onramp popup if onramp is completed
345
+ (0, react_1.useEffect)(() => {
346
+ if (!props.openedWindow) {
347
+ return;
348
+ }
349
+ if (uiStatus === "completed" || uiStatus === "partialSuccess") {
350
+ try {
351
+ if (props.openedWindow && !props.openedWindow.closed) {
352
+ props.openedWindow.close();
353
+ }
354
+ }
355
+ catch (e) {
356
+ console.warn("Failed to close payment window:", e);
357
+ }
358
+ }
359
+ }, [props.openedWindow, uiStatus]);
360
+ // invalidate wallet balance when onramp is completed
361
+ const invalidatedBalance = (0, react_1.useRef)(false);
362
+ (0, react_1.useEffect)(() => {
363
+ if (!invalidatedBalance.current && uiStatus === "completed") {
364
+ invalidatedBalance.current = true;
365
+ (0, invalidateWalletBalance_js_1.invalidateWalletBalance)(queryClient);
366
+ }
367
+ }, [uiStatus, queryClient]);
368
+ return { uiStatus };
369
+ }
370
+ function useSwapStatus(props) {
371
+ const swapStatus = (0, useBuyWithCryptoStatus_js_1.useBuyWithCryptoStatus)(props.transactionHash && props.chainId
372
+ ? {
373
+ client: props.client,
374
+ transactionHash: props.transactionHash,
375
+ chainId: props.chainId,
376
+ }
377
+ : undefined);
378
+ let uiStatus = "unknown";
379
+ switch (swapStatus.data?.status) {
380
+ case "COMPLETED":
381
+ uiStatus = "completed";
382
+ break;
383
+ case "FAILED":
384
+ case "NOT_FOUND":
385
+ uiStatus = "failed";
386
+ break;
387
+ case "PENDING":
388
+ uiStatus = "pending";
389
+ break;
390
+ case "NONE":
391
+ uiStatus = "unknown";
392
+ break;
393
+ default:
394
+ uiStatus = "unknown";
395
+ break;
396
+ }
397
+ const purchaseCbCalled = (0, react_1.useRef)(false);
398
+ (0, react_1.useEffect)(() => {
399
+ if (purchaseCbCalled.current || !props.onSuccess) {
400
+ return;
401
+ }
402
+ if (swapStatus.data?.status === "COMPLETED") {
403
+ purchaseCbCalled.current = true;
404
+ props.onSuccess(swapStatus.data);
405
+ }
406
+ }, [props.onSuccess, swapStatus]);
407
+ const queryClient = (0, react_query_1.useQueryClient)();
408
+ const balanceInvalidated = (0, react_1.useRef)(false);
409
+ (0, react_1.useEffect)(() => {
410
+ if (uiStatus === "completed" && !balanceInvalidated.current) {
411
+ balanceInvalidated.current = true;
412
+ (0, invalidateWalletBalance_js_1.invalidateWalletBalance)(queryClient);
413
+ }
414
+ }, [queryClient, uiStatus]);
415
+ return { uiStatus };
416
+ }
417
+ function useSwapMutation(props) {
418
+ const queryClient = (0, react_query_1.useQueryClient)();
419
+ return (0, react_query_1.useMutation)({
420
+ mutationFn: async (input) => {
421
+ const { quote } = input;
422
+ const canBatch = props.payer.account.sendBatchTransaction;
423
+ const tokenContract = (0, contract_js_1.getContract)({
424
+ client: props.client,
425
+ address: quote.swapDetails.fromToken.tokenAddress,
426
+ chain: (0, utils_js_1.getCachedChain)(quote.swapDetails.fromToken.chainId),
427
+ });
428
+ const approveTxRequired = quote.approvalData &&
429
+ (await (0, allowance_js_1.allowance)({
430
+ contract: tokenContract,
431
+ owner: props.payer.account.address,
432
+ spender: quote.approvalData.spenderAddress,
433
+ })) < BigInt(quote.approvalData.amountWei);
434
+ if (approveTxRequired && quote.approvalData && !canBatch) {
435
+ (0, pay_js_1.trackPayEvent)({
436
+ event: "prompt_swap_approval",
437
+ client: props.client,
438
+ walletAddress: props.payer.account.address,
439
+ walletType: props.payer.wallet.id,
440
+ fromToken: quote.swapDetails.fromToken.tokenAddress,
441
+ fromAmount: quote.swapDetails.fromAmountWei,
442
+ toToken: quote.swapDetails.toToken.tokenAddress,
443
+ toAmount: quote.swapDetails.toAmountWei,
444
+ chainId: quote.swapDetails.fromToken.chainId,
445
+ dstChainId: quote.swapDetails.toToken.chainId,
446
+ });
447
+ const transaction = (0, approve_js_1.approve)({
448
+ contract: tokenContract,
449
+ spender: quote.approvalData.spenderAddress,
450
+ amountWei: BigInt(quote.approvalData.amountWei),
451
+ });
452
+ const tx = await (0, send_transaction_js_1.sendTransaction)({
453
+ account: props.payer.account,
454
+ transaction,
455
+ });
456
+ await (0, wait_for_tx_receipt_js_1.waitForReceipt)({ ...tx, maxBlocksWaitTime: 50 });
457
+ (0, pay_js_1.trackPayEvent)({
458
+ event: "swap_approval_success",
459
+ client: props.client,
460
+ walletAddress: props.payer.account.address,
461
+ walletType: props.payer.wallet.id,
462
+ fromToken: quote.swapDetails.fromToken.tokenAddress,
463
+ fromAmount: quote.swapDetails.fromAmountWei,
464
+ toToken: quote.swapDetails.toToken.tokenAddress,
465
+ toAmount: quote.swapDetails.toAmountWei,
466
+ chainId: quote.swapDetails.fromToken.chainId,
467
+ dstChainId: quote.swapDetails.toToken.chainId,
468
+ });
469
+ }
470
+ (0, pay_js_1.trackPayEvent)({
471
+ event: "prompt_swap_execution",
472
+ client: props.client,
473
+ walletAddress: props.payer.account.address,
474
+ walletType: props.payer.wallet.id,
475
+ fromToken: quote.swapDetails.fromToken.tokenAddress,
476
+ fromAmount: quote.swapDetails.fromAmountWei,
477
+ toToken: quote.swapDetails.toToken.tokenAddress,
478
+ toAmount: quote.swapDetails.toAmountWei,
479
+ chainId: quote.swapDetails.fromToken.chainId,
480
+ dstChainId: quote.swapDetails.toToken.chainId,
481
+ });
482
+ const tx = quote.transactionRequest;
483
+ let _swapTx;
484
+ // check if we can batch approval and swap
485
+ if (canBatch && quote.approvalData && approveTxRequired) {
486
+ const approveTx = (0, approve_js_1.approve)({
487
+ contract: tokenContract,
488
+ spender: quote.approvalData.spenderAddress,
489
+ amountWei: BigInt(quote.approvalData.amountWei),
490
+ });
491
+ _swapTx = await (0, send_batch_transaction_js_1.sendBatchTransaction)({
492
+ account: props.payer.account,
493
+ transactions: [approveTx, tx],
494
+ });
495
+ }
496
+ else {
497
+ _swapTx = await (0, send_transaction_js_1.sendTransaction)({
498
+ account: props.payer.account,
499
+ transaction: tx,
500
+ });
501
+ }
502
+ await (0, wait_for_tx_receipt_js_1.waitForReceipt)({ ..._swapTx, maxBlocksWaitTime: 50 });
503
+ (0, pay_js_1.trackPayEvent)({
504
+ event: "swap_execution_success",
505
+ client: props.client,
506
+ walletAddress: props.payer.account.address,
507
+ walletType: props.payer.wallet.id,
508
+ fromToken: quote.swapDetails.fromToken.tokenAddress,
509
+ fromAmount: quote.swapDetails.fromAmountWei,
510
+ toToken: quote.swapDetails.toToken.tokenAddress,
511
+ toAmount: quote.swapDetails.toAmountWei,
512
+ chainId: quote.swapDetails.fromToken.chainId,
513
+ dstChainId: quote.swapDetails.toToken.chainId,
514
+ });
515
+ // do not add pending tx if the swap is part of fiat flow
516
+ if (!props.isFiatFlow) {
517
+ (0, pendingSwapTx_js_1.addPendingTx)({
518
+ type: "swap",
519
+ txHash: _swapTx.transactionHash,
520
+ chainId: _swapTx.chain.id,
521
+ });
522
+ }
523
+ return {
524
+ transactionHash: _swapTx.transactionHash,
525
+ chainId: _swapTx.chain.id,
526
+ };
527
+ },
528
+ onSuccess: () => {
529
+ (0, invalidateWalletBalance_js_1.invalidateWalletBalance)(queryClient);
530
+ },
531
+ });
532
+ }
533
+ function isInAppSigner(options) {
534
+ const isInAppOrEcosystem = (w) => (0, index_js_1.isInAppWallet)(w) || (0, is_ecosystem_wallet_js_1.isEcosystemWallet)(w);
535
+ const isSmartWalletWithAdmin = (0, is_smart_wallet_js_1.isSmartWallet)(options.wallet) &&
536
+ options.connectedWallets.some((w) => isInAppOrEcosystem(w) &&
537
+ w.getAccount()?.address?.toLowerCase() ===
538
+ options.wallet.getAdminAccount?.()?.address?.toLowerCase());
539
+ return isInAppOrEcosystem(options.wallet) || isSmartWalletWithAdmin;
540
+ }
541
+ //# sourceMappingURL=OnRampScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OnRampScreen.js","sourceRoot":"","sources":["../../../../../../../../../src/react/web/ui/ConnectWallet/screens/Buy/fiat/OnRampScreen.tsx"],"names":[],"mappings":"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"}
@@ -2,8 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.currencies = exports.usdCurrency = void 0;
4
4
  exports.getCurrencyMeta = getCurrencyMeta;
5
+ exports.getFiatIcon = getFiatIcon;
5
6
  const jsx_runtime_1 = require("react/jsx-runtime");
6
7
  const react_icons_1 = require("@radix-ui/react-icons");
8
+ const index_js_1 = require("../../../../../../core/design-system/index.js");
7
9
  const CADIcon_js_1 = require("../../../icons/currencies/CADIcon.js");
8
10
  const EURIcon_js_1 = require("../../../icons/currencies/EURIcon.js");
9
11
  const GBPIcon_js_1 = require("../../../icons/currencies/GBPIcon.js");
@@ -11,6 +13,7 @@ const JPYIcon_js_1 = require("../../../icons/currencies/JPYIcon.js");
11
13
  const USDIcon_js_1 = require("../../../icons/currencies/USDIcon.js");
12
14
  exports.usdCurrency = {
13
15
  shorthand: "USD",
16
+ countryCode: "US",
14
17
  name: "US Dollar",
15
18
  symbol: "$",
16
19
  icon: USDIcon_js_1.USDIcon,
@@ -19,38 +22,58 @@ exports.currencies = [
19
22
  exports.usdCurrency,
20
23
  {
21
24
  shorthand: "CAD",
25
+ countryCode: "CA",
22
26
  name: "Canadian Dollar",
23
27
  symbol: "$",
24
28
  icon: CADIcon_js_1.CADIcon,
25
29
  },
26
30
  {
27
31
  shorthand: "GBP",
32
+ countryCode: "GB",
28
33
  name: "British Pound",
29
34
  symbol: "£",
30
35
  icon: GBPIcon_js_1.GBPIcon,
31
36
  },
32
37
  {
33
38
  shorthand: "EUR",
39
+ countryCode: "EU",
34
40
  name: "Euro",
35
41
  symbol: "€",
36
42
  icon: EURIcon_js_1.EURIcon,
37
43
  },
38
44
  {
39
45
  shorthand: "JPY",
46
+ countryCode: "JP",
40
47
  name: "Japanese Yen",
41
48
  symbol: "¥",
42
49
  icon: JPYIcon_js_1.JPYIcon,
43
50
  },
51
+ {
52
+ shorthand: "AUD",
53
+ countryCode: "AU",
54
+ name: "Australian Dollar",
55
+ symbol: "$",
56
+ },
57
+ {
58
+ shorthand: "NZD",
59
+ countryCode: "NZ",
60
+ name: "New Zealand Dollar",
61
+ symbol: "$",
62
+ },
44
63
  ];
45
64
  function getCurrencyMeta(shorthand) {
46
65
  return (exports.currencies.find((currency) => currency.shorthand.toLowerCase() === shorthand.toLowerCase()) ?? {
47
66
  // This should never happen
48
67
  icon: UnknownCurrencyIcon,
68
+ countryCode: "US",
49
69
  name: shorthand,
50
70
  symbol: "$",
51
71
  shorthand: shorthand,
52
72
  });
53
73
  }
74
+ function getFiatIcon(currency, size) {
75
+ return currency.icon ? ((0, jsx_runtime_1.jsx)(currency.icon, { size: index_js_1.iconSize[size] })) : ((0, jsx_runtime_1.jsx)("img", { src: `https://flagsapi.com/${currency.countryCode.toUpperCase()}/flat/64.png`, alt: currency.shorthand, width: index_js_1.iconSize[size], height: index_js_1.iconSize[size] }));
76
+ }
54
77
  const UnknownCurrencyIcon = (props) => {
55
78
  return (0, jsx_runtime_1.jsx)(react_icons_1.RadiobuttonIcon, { width: props.size, height: props.size });
56
79
  };