@0xsequence/checkout 5.3.7 → 5.3.9

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 (197) hide show
  1. package/dist/cjs/components/NavigationHeaderCheckout.d.ts +8 -0
  2. package/dist/cjs/components/NavigationHeaderCheckout.d.ts.map +1 -0
  3. package/dist/cjs/components/NavigationHeaderCheckout.js +18 -0
  4. package/dist/cjs/components/NavigationHeaderCheckout.js.map +1 -0
  5. package/dist/cjs/components/SequenceCheckoutProvider/SequenceCheckoutProvider.d.ts.map +1 -1
  6. package/dist/cjs/components/SequenceCheckoutProvider/SequenceCheckoutProvider.js +69 -36
  7. package/dist/cjs/components/SequenceCheckoutProvider/SequenceCheckoutProvider.js.map +1 -1
  8. package/dist/cjs/constants/index.d.ts +1 -1
  9. package/dist/cjs/constants/index.js +1 -1
  10. package/dist/cjs/contexts/NavigationCheckout.d.ts +29 -0
  11. package/dist/cjs/contexts/NavigationCheckout.d.ts.map +1 -0
  12. package/dist/cjs/contexts/NavigationCheckout.js +9 -0
  13. package/dist/cjs/contexts/NavigationCheckout.js.map +1 -0
  14. package/dist/cjs/contexts/SelectPaymentModal.d.ts +0 -4
  15. package/dist/cjs/contexts/SelectPaymentModal.d.ts.map +1 -1
  16. package/dist/cjs/contexts/SelectPaymentModal.js.map +1 -1
  17. package/dist/cjs/contexts/index.d.ts +1 -0
  18. package/dist/cjs/contexts/index.d.ts.map +1 -1
  19. package/dist/cjs/contexts/index.js +1 -0
  20. package/dist/cjs/contexts/index.js.map +1 -1
  21. package/dist/cjs/hooks/useERC1155SaleContractCheckout.d.ts.map +1 -1
  22. package/dist/cjs/hooks/useERC1155SaleContractCheckout.js +44 -11
  23. package/dist/cjs/hooks/useERC1155SaleContractCheckout.js.map +1 -1
  24. package/dist/cjs/hooks/useNavigationCheckout.d.ts +11 -0
  25. package/dist/cjs/hooks/useNavigationCheckout.d.ts.map +1 -0
  26. package/dist/cjs/hooks/useNavigationCheckout.js +24 -0
  27. package/dist/cjs/hooks/useNavigationCheckout.js.map +1 -0
  28. package/dist/cjs/views/Checkout/PaymentMethodSelect/OrderSummary/Price.d.ts.map +1 -0
  29. package/dist/cjs/views/{PaymentSelection → Checkout/PaymentMethodSelect}/OrderSummary/Price.js +1 -1
  30. package/dist/cjs/views/Checkout/PaymentMethodSelect/OrderSummary/Price.js.map +1 -0
  31. package/dist/cjs/views/Checkout/PaymentMethodSelect/OrderSummary/index.d.ts.map +1 -0
  32. package/dist/cjs/views/Checkout/PaymentMethodSelect/OrderSummary/index.js +68 -0
  33. package/dist/cjs/views/Checkout/PaymentMethodSelect/OrderSummary/index.js.map +1 -0
  34. package/dist/cjs/views/Checkout/PaymentMethodSelect/PayWithCreditCard/PaymentProviderOption.d.ts.map +1 -0
  35. package/dist/cjs/views/Checkout/PaymentMethodSelect/PayWithCreditCard/PaymentProviderOption.js.map +1 -0
  36. package/dist/cjs/views/Checkout/PaymentMethodSelect/PayWithCreditCard/index.d.ts +6 -0
  37. package/dist/cjs/views/Checkout/PaymentMethodSelect/PayWithCreditCard/index.d.ts.map +1 -0
  38. package/dist/cjs/views/{PaymentSelection → Checkout/PaymentMethodSelect}/PayWithCreditCard/index.js +26 -40
  39. package/dist/cjs/views/Checkout/PaymentMethodSelect/PayWithCreditCard/index.js.map +1 -0
  40. package/dist/cjs/views/Checkout/PaymentMethodSelect/PayWithCreditCard/providers/SardineLogo.d.ts.map +1 -0
  41. package/dist/cjs/views/Checkout/PaymentMethodSelect/PayWithCreditCard/providers/SardineLogo.js.map +1 -0
  42. package/dist/cjs/views/Checkout/PaymentMethodSelect/PayWithCrypto/index.d.ts +6 -0
  43. package/dist/cjs/views/Checkout/PaymentMethodSelect/PayWithCrypto/index.d.ts.map +1 -0
  44. package/dist/cjs/views/Checkout/PaymentMethodSelect/PayWithCrypto/index.js +398 -0
  45. package/dist/cjs/views/Checkout/PaymentMethodSelect/PayWithCrypto/index.js.map +1 -0
  46. package/dist/cjs/views/Checkout/PaymentMethodSelect/index.d.ts.map +1 -0
  47. package/dist/cjs/views/Checkout/PaymentMethodSelect/index.js +64 -0
  48. package/dist/cjs/views/Checkout/PaymentMethodSelect/index.js.map +1 -0
  49. package/dist/cjs/views/Checkout/TokenSelection/index.d.ts +2 -0
  50. package/dist/cjs/views/Checkout/TokenSelection/index.d.ts.map +1 -0
  51. package/dist/cjs/views/Checkout/TokenSelection/index.js +109 -0
  52. package/dist/cjs/views/Checkout/TokenSelection/index.js.map +1 -0
  53. package/dist/cjs/views/Checkout/index.d.ts +3 -0
  54. package/dist/cjs/views/Checkout/index.d.ts.map +1 -0
  55. package/dist/cjs/views/Checkout/index.js +19 -0
  56. package/dist/cjs/views/Checkout/index.js.map +1 -0
  57. package/dist/cjs/views/index.d.ts +1 -1
  58. package/dist/cjs/views/index.d.ts.map +1 -1
  59. package/dist/cjs/views/index.js +1 -1
  60. package/dist/cjs/views/index.js.map +1 -1
  61. package/dist/esm/components/NavigationHeaderCheckout.d.ts +8 -0
  62. package/dist/esm/components/NavigationHeaderCheckout.d.ts.map +1 -0
  63. package/dist/esm/components/NavigationHeaderCheckout.js +14 -0
  64. package/dist/esm/components/NavigationHeaderCheckout.js.map +1 -0
  65. package/dist/esm/components/SequenceCheckoutProvider/SequenceCheckoutProvider.d.ts.map +1 -1
  66. package/dist/esm/components/SequenceCheckoutProvider/SequenceCheckoutProvider.js +71 -38
  67. package/dist/esm/components/SequenceCheckoutProvider/SequenceCheckoutProvider.js.map +1 -1
  68. package/dist/esm/constants/index.d.ts +1 -1
  69. package/dist/esm/constants/index.js +1 -1
  70. package/dist/esm/contexts/NavigationCheckout.d.ts +29 -0
  71. package/dist/esm/contexts/NavigationCheckout.d.ts.map +1 -0
  72. package/dist/esm/contexts/NavigationCheckout.js +5 -0
  73. package/dist/esm/contexts/NavigationCheckout.js.map +1 -0
  74. package/dist/esm/contexts/SelectPaymentModal.d.ts +0 -4
  75. package/dist/esm/contexts/SelectPaymentModal.d.ts.map +1 -1
  76. package/dist/esm/contexts/SelectPaymentModal.js.map +1 -1
  77. package/dist/esm/contexts/index.d.ts +1 -0
  78. package/dist/esm/contexts/index.d.ts.map +1 -1
  79. package/dist/esm/contexts/index.js +1 -0
  80. package/dist/esm/contexts/index.js.map +1 -1
  81. package/dist/esm/hooks/useERC1155SaleContractCheckout.d.ts.map +1 -1
  82. package/dist/esm/hooks/useERC1155SaleContractCheckout.js +46 -13
  83. package/dist/esm/hooks/useERC1155SaleContractCheckout.js.map +1 -1
  84. package/dist/esm/hooks/useNavigationCheckout.d.ts +11 -0
  85. package/dist/esm/hooks/useNavigationCheckout.d.ts.map +1 -0
  86. package/dist/esm/hooks/useNavigationCheckout.js +20 -0
  87. package/dist/esm/hooks/useNavigationCheckout.js.map +1 -0
  88. package/dist/esm/views/Checkout/PaymentMethodSelect/OrderSummary/Price.d.ts.map +1 -0
  89. package/dist/esm/views/{PaymentSelection → Checkout/PaymentMethodSelect}/OrderSummary/Price.js +1 -1
  90. package/dist/esm/views/Checkout/PaymentMethodSelect/OrderSummary/Price.js.map +1 -0
  91. package/dist/esm/views/Checkout/PaymentMethodSelect/OrderSummary/index.d.ts.map +1 -0
  92. package/dist/esm/views/Checkout/PaymentMethodSelect/OrderSummary/index.js +64 -0
  93. package/dist/esm/views/Checkout/PaymentMethodSelect/OrderSummary/index.js.map +1 -0
  94. package/dist/esm/views/Checkout/PaymentMethodSelect/PayWithCreditCard/PaymentProviderOption.d.ts.map +1 -0
  95. package/dist/esm/views/Checkout/PaymentMethodSelect/PayWithCreditCard/PaymentProviderOption.js.map +1 -0
  96. package/dist/esm/views/Checkout/PaymentMethodSelect/PayWithCreditCard/index.d.ts +6 -0
  97. package/dist/esm/views/Checkout/PaymentMethodSelect/PayWithCreditCard/index.d.ts.map +1 -0
  98. package/dist/esm/views/{PaymentSelection → Checkout/PaymentMethodSelect}/PayWithCreditCard/index.js +25 -39
  99. package/dist/esm/views/Checkout/PaymentMethodSelect/PayWithCreditCard/index.js.map +1 -0
  100. package/dist/esm/views/Checkout/PaymentMethodSelect/PayWithCreditCard/providers/SardineLogo.d.ts.map +1 -0
  101. package/dist/esm/views/Checkout/PaymentMethodSelect/PayWithCreditCard/providers/SardineLogo.js.map +1 -0
  102. package/dist/esm/views/Checkout/PaymentMethodSelect/PayWithCrypto/index.d.ts +6 -0
  103. package/dist/esm/views/Checkout/PaymentMethodSelect/PayWithCrypto/index.d.ts.map +1 -0
  104. package/dist/esm/views/Checkout/PaymentMethodSelect/PayWithCrypto/index.js +394 -0
  105. package/dist/esm/views/Checkout/PaymentMethodSelect/PayWithCrypto/index.js.map +1 -0
  106. package/dist/esm/views/Checkout/PaymentMethodSelect/index.d.ts.map +1 -0
  107. package/dist/esm/views/Checkout/PaymentMethodSelect/index.js +58 -0
  108. package/dist/esm/views/Checkout/PaymentMethodSelect/index.js.map +1 -0
  109. package/dist/esm/views/Checkout/TokenSelection/index.d.ts +2 -0
  110. package/dist/esm/views/Checkout/TokenSelection/index.d.ts.map +1 -0
  111. package/dist/esm/views/Checkout/TokenSelection/index.js +102 -0
  112. package/dist/esm/views/Checkout/TokenSelection/index.js.map +1 -0
  113. package/dist/esm/views/Checkout/index.d.ts +3 -0
  114. package/dist/esm/views/Checkout/index.d.ts.map +1 -0
  115. package/dist/esm/views/Checkout/index.js +3 -0
  116. package/dist/esm/views/Checkout/index.js.map +1 -0
  117. package/dist/esm/views/index.d.ts +1 -1
  118. package/dist/esm/views/index.d.ts.map +1 -1
  119. package/dist/esm/views/index.js +1 -1
  120. package/dist/esm/views/index.js.map +1 -1
  121. package/package.json +12 -11
  122. package/dist/cjs/views/PaymentSelection/Footer.d.ts +0 -2
  123. package/dist/cjs/views/PaymentSelection/Footer.d.ts.map +0 -1
  124. package/dist/cjs/views/PaymentSelection/Footer.js +0 -12
  125. package/dist/cjs/views/PaymentSelection/Footer.js.map +0 -1
  126. package/dist/cjs/views/PaymentSelection/FundWithFiat.d.ts +0 -11
  127. package/dist/cjs/views/PaymentSelection/FundWithFiat.d.ts.map +0 -1
  128. package/dist/cjs/views/PaymentSelection/FundWithFiat.js +0 -29
  129. package/dist/cjs/views/PaymentSelection/FundWithFiat.js.map +0 -1
  130. package/dist/cjs/views/PaymentSelection/OrderSummary/Price.d.ts.map +0 -1
  131. package/dist/cjs/views/PaymentSelection/OrderSummary/Price.js.map +0 -1
  132. package/dist/cjs/views/PaymentSelection/OrderSummary/index.d.ts.map +0 -1
  133. package/dist/cjs/views/PaymentSelection/OrderSummary/index.js +0 -68
  134. package/dist/cjs/views/PaymentSelection/OrderSummary/index.js.map +0 -1
  135. package/dist/cjs/views/PaymentSelection/PayWithCreditCard/PaymentProviderOption.d.ts.map +0 -1
  136. package/dist/cjs/views/PaymentSelection/PayWithCreditCard/PaymentProviderOption.js.map +0 -1
  137. package/dist/cjs/views/PaymentSelection/PayWithCreditCard/index.d.ts +0 -9
  138. package/dist/cjs/views/PaymentSelection/PayWithCreditCard/index.d.ts.map +0 -1
  139. package/dist/cjs/views/PaymentSelection/PayWithCreditCard/index.js.map +0 -1
  140. package/dist/cjs/views/PaymentSelection/PayWithCreditCard/providers/SardineLogo.d.ts.map +0 -1
  141. package/dist/cjs/views/PaymentSelection/PayWithCreditCard/providers/SardineLogo.js.map +0 -1
  142. package/dist/cjs/views/PaymentSelection/PayWithCrypto/index.d.ts +0 -15
  143. package/dist/cjs/views/PaymentSelection/PayWithCrypto/index.d.ts.map +0 -1
  144. package/dist/cjs/views/PaymentSelection/PayWithCrypto/index.js +0 -201
  145. package/dist/cjs/views/PaymentSelection/PayWithCrypto/index.js.map +0 -1
  146. package/dist/cjs/views/PaymentSelection/TransferFunds.d.ts +0 -2
  147. package/dist/cjs/views/PaymentSelection/TransferFunds.d.ts.map +0 -1
  148. package/dist/cjs/views/PaymentSelection/TransferFunds.js +0 -39
  149. package/dist/cjs/views/PaymentSelection/TransferFunds.js.map +0 -1
  150. package/dist/cjs/views/PaymentSelection/index.d.ts.map +0 -1
  151. package/dist/cjs/views/PaymentSelection/index.js +0 -345
  152. package/dist/cjs/views/PaymentSelection/index.js.map +0 -1
  153. package/dist/esm/views/PaymentSelection/Footer.d.ts +0 -2
  154. package/dist/esm/views/PaymentSelection/Footer.d.ts.map +0 -1
  155. package/dist/esm/views/PaymentSelection/Footer.js +0 -8
  156. package/dist/esm/views/PaymentSelection/Footer.js.map +0 -1
  157. package/dist/esm/views/PaymentSelection/FundWithFiat.d.ts +0 -11
  158. package/dist/esm/views/PaymentSelection/FundWithFiat.d.ts.map +0 -1
  159. package/dist/esm/views/PaymentSelection/FundWithFiat.js +0 -25
  160. package/dist/esm/views/PaymentSelection/FundWithFiat.js.map +0 -1
  161. package/dist/esm/views/PaymentSelection/OrderSummary/Price.d.ts.map +0 -1
  162. package/dist/esm/views/PaymentSelection/OrderSummary/Price.js.map +0 -1
  163. package/dist/esm/views/PaymentSelection/OrderSummary/index.d.ts.map +0 -1
  164. package/dist/esm/views/PaymentSelection/OrderSummary/index.js +0 -64
  165. package/dist/esm/views/PaymentSelection/OrderSummary/index.js.map +0 -1
  166. package/dist/esm/views/PaymentSelection/PayWithCreditCard/PaymentProviderOption.d.ts.map +0 -1
  167. package/dist/esm/views/PaymentSelection/PayWithCreditCard/PaymentProviderOption.js.map +0 -1
  168. package/dist/esm/views/PaymentSelection/PayWithCreditCard/index.d.ts +0 -9
  169. package/dist/esm/views/PaymentSelection/PayWithCreditCard/index.d.ts.map +0 -1
  170. package/dist/esm/views/PaymentSelection/PayWithCreditCard/index.js.map +0 -1
  171. package/dist/esm/views/PaymentSelection/PayWithCreditCard/providers/SardineLogo.d.ts.map +0 -1
  172. package/dist/esm/views/PaymentSelection/PayWithCreditCard/providers/SardineLogo.js.map +0 -1
  173. package/dist/esm/views/PaymentSelection/PayWithCrypto/index.d.ts +0 -15
  174. package/dist/esm/views/PaymentSelection/PayWithCrypto/index.d.ts.map +0 -1
  175. package/dist/esm/views/PaymentSelection/PayWithCrypto/index.js +0 -197
  176. package/dist/esm/views/PaymentSelection/PayWithCrypto/index.js.map +0 -1
  177. package/dist/esm/views/PaymentSelection/TransferFunds.d.ts +0 -2
  178. package/dist/esm/views/PaymentSelection/TransferFunds.d.ts.map +0 -1
  179. package/dist/esm/views/PaymentSelection/TransferFunds.js +0 -35
  180. package/dist/esm/views/PaymentSelection/TransferFunds.js.map +0 -1
  181. package/dist/esm/views/PaymentSelection/index.d.ts.map +0 -1
  182. package/dist/esm/views/PaymentSelection/index.js +0 -339
  183. package/dist/esm/views/PaymentSelection/index.js.map +0 -1
  184. /package/dist/cjs/views/{PaymentSelection → Checkout/PaymentMethodSelect}/OrderSummary/Price.d.ts +0 -0
  185. /package/dist/cjs/views/{PaymentSelection → Checkout/PaymentMethodSelect}/OrderSummary/index.d.ts +0 -0
  186. /package/dist/cjs/views/{PaymentSelection → Checkout/PaymentMethodSelect}/PayWithCreditCard/PaymentProviderOption.d.ts +0 -0
  187. /package/dist/cjs/views/{PaymentSelection → Checkout/PaymentMethodSelect}/PayWithCreditCard/PaymentProviderOption.js +0 -0
  188. /package/dist/cjs/views/{PaymentSelection → Checkout/PaymentMethodSelect}/PayWithCreditCard/providers/SardineLogo.d.ts +0 -0
  189. /package/dist/cjs/views/{PaymentSelection → Checkout/PaymentMethodSelect}/PayWithCreditCard/providers/SardineLogo.js +0 -0
  190. /package/dist/cjs/views/{PaymentSelection → Checkout/PaymentMethodSelect}/index.d.ts +0 -0
  191. /package/dist/esm/views/{PaymentSelection → Checkout/PaymentMethodSelect}/OrderSummary/Price.d.ts +0 -0
  192. /package/dist/esm/views/{PaymentSelection → Checkout/PaymentMethodSelect}/OrderSummary/index.d.ts +0 -0
  193. /package/dist/esm/views/{PaymentSelection → Checkout/PaymentMethodSelect}/PayWithCreditCard/PaymentProviderOption.d.ts +0 -0
  194. /package/dist/esm/views/{PaymentSelection → Checkout/PaymentMethodSelect}/PayWithCreditCard/PaymentProviderOption.js +0 -0
  195. /package/dist/esm/views/{PaymentSelection → Checkout/PaymentMethodSelect}/PayWithCreditCard/providers/SardineLogo.d.ts +0 -0
  196. /package/dist/esm/views/{PaymentSelection → Checkout/PaymentMethodSelect}/PayWithCreditCard/providers/SardineLogo.js +0 -0
  197. /package/dist/esm/views/{PaymentSelection → Checkout/PaymentMethodSelect}/index.d.ts +0 -0
@@ -1,197 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { compareAddress, ContractVerificationStatus, CryptoOption, formatDisplay } from '@0xsequence/connect';
3
- import { AddIcon, Button, Spinner, SubtractIcon, Text } from '@0xsequence/design-system';
4
- import { useClearCachedBalances, useGetContractInfo, useGetTokenBalancesSummary } from '@0xsequence/hooks';
5
- import { findSupportedNetwork } from '@0xsequence/network';
6
- import { motion } from 'motion/react';
7
- import { Fragment, useEffect, useMemo, useState } from 'react';
8
- import { formatUnits, zeroAddress } from 'viem';
9
- import { useAccount } from 'wagmi';
10
- const MAX_OPTIONS = 3;
11
- export const PayWithCrypto = ({ settings, disableButtons, selectedCurrency, setSelectedCurrency, isLoading, swapRoutes, swapRoutesIsLoading }) => {
12
- const [showMore, setShowMore] = useState(false);
13
- const { enableSwapPayments = true, enableMainCurrencyPayment = true } = settings;
14
- const { chain, currencyAddress, price, skipNativeBalanceCheck, nativeTokenAddress } = settings;
15
- const { address: userAddress } = useAccount();
16
- const { clearCachedBalances } = useClearCachedBalances();
17
- const network = findSupportedNetwork(chain);
18
- const chainId = network?.chainId || 137;
19
- const { data: currencyInfoData, isLoading: isLoadingCurrencyInfo } = useGetContractInfo({
20
- chainID: String(chainId),
21
- contractAddress: currencyAddress
22
- });
23
- const tokenAddressesToFetch = useMemo(() => {
24
- const addresses = new Set();
25
- if (enableMainCurrencyPayment && currencyAddress) {
26
- addresses.add(currencyAddress);
27
- }
28
- swapRoutes
29
- .flatMap(route => route.fromTokens)
30
- .forEach(fromToken => {
31
- if (fromToken.address) {
32
- addresses.add(fromToken.address);
33
- }
34
- });
35
- return Array.from(addresses)
36
- .filter(addr => !!addr)
37
- .map(addr => addr.toLowerCase());
38
- }, [currencyAddress, swapRoutes, enableMainCurrencyPayment]);
39
- const balanceHookOptions = useMemo(() => ({
40
- disabled: !userAddress || tokenAddressesToFetch.length === 0
41
- }), [userAddress, tokenAddressesToFetch.length]);
42
- const { data: tokenBalancesData, isLoading: tokenBalancesIsLoading, fetchNextPage: fetchNextTokenBalances, hasNextPage: hasNextTokenBalances, isFetchingNextPage: isFetchingNextTokenBalances } = useGetTokenBalancesSummary({
43
- chainIds: [chainId],
44
- filter: {
45
- accountAddresses: userAddress ? [userAddress] : [],
46
- contractStatus: ContractVerificationStatus.ALL,
47
- contractWhitelist: tokenAddressesToFetch,
48
- omitNativeBalances: skipNativeBalanceCheck ?? false
49
- },
50
- omitMetadata: true,
51
- page: { pageSize: 40 }
52
- }, balanceHookOptions);
53
- const tokenBalancesMap = useMemo(() => {
54
- const map = new Map();
55
- tokenBalancesData?.pages?.forEach(page => {
56
- page.balances?.forEach(balanceData => {
57
- if (balanceData.contractAddress && balanceData.balance) {
58
- map.set(balanceData.contractAddress.toLowerCase(), BigInt(balanceData.balance));
59
- }
60
- });
61
- });
62
- return map;
63
- }, [tokenBalancesData]);
64
- useEffect(() => {
65
- if (hasNextTokenBalances && !isFetchingNextTokenBalances) {
66
- fetchNextTokenBalances();
67
- }
68
- }, [hasNextTokenBalances, isFetchingNextTokenBalances, fetchNextTokenBalances]);
69
- const isLoadingOptions = (tokenBalancesIsLoading && !balanceHookOptions.disabled) || isLoadingCurrencyInfo || isLoading;
70
- const swapsAreLoading = swapRoutesIsLoading && enableSwapPayments;
71
- const tokenPayOptions = useMemo(() => {
72
- const initialCoins = [
73
- ...(enableMainCurrencyPayment && currencyInfoData && currencyAddress
74
- ? [
75
- {
76
- index: 0,
77
- name: currencyInfoData.name || 'Unknown',
78
- symbol: currencyInfoData.symbol || '',
79
- currencyAddress: currencyAddress,
80
- price: Number(price),
81
- decimals: currencyInfoData.decimals,
82
- logoUri: currencyInfoData.logoURI
83
- }
84
- ]
85
- : []),
86
- ...swapRoutes
87
- .flatMap(route => route.fromTokens)
88
- .map((fromToken, index) => {
89
- return {
90
- index: enableMainCurrencyPayment && currencyAddress ? index + 1 : index,
91
- name: fromToken.name || 'Unknown',
92
- symbol: fromToken.symbol || '',
93
- currencyAddress: fromToken.address || '',
94
- price: Number(fromToken.price || 0),
95
- decimals: fromToken.decimals || 0,
96
- logoUri: fromToken.logoUri
97
- };
98
- })
99
- ];
100
- return initialCoins
101
- .filter(coin => !!coin.currencyAddress)
102
- .map(coin => ({ ...coin, currencyAddress: coin.currencyAddress.toLowerCase() }));
103
- }, [enableMainCurrencyPayment, currencyInfoData, swapRoutes, currencyAddress]);
104
- useEffect(() => {
105
- if (selectedCurrency || tokenPayOptions.length === 0 || (tokenBalancesIsLoading && !balanceHookOptions.disabled)) {
106
- return;
107
- }
108
- // Find the first token option where the balance is sufficient
109
- const firstSufficientToken = tokenPayOptions.find(option => {
110
- const balance = tokenBalancesMap.get(option.currencyAddress.toLowerCase()) ?? 0n;
111
- return option.price && balance >= BigInt(option.price);
112
- });
113
- if (firstSufficientToken) {
114
- setSelectedCurrency(firstSufficientToken.currencyAddress);
115
- }
116
- // If none found, do not select anything
117
- }, [
118
- tokenPayOptions,
119
- selectedCurrency,
120
- enableMainCurrencyPayment,
121
- currencyAddress,
122
- price,
123
- tokenBalancesMap,
124
- setSelectedCurrency,
125
- tokenBalancesIsLoading,
126
- balanceHookOptions.disabled
127
- ]);
128
- const priceDisplay = useMemo(() => {
129
- const priceBigInt = BigInt(price || '0');
130
- const decimals = currencyInfoData?.decimals || 0;
131
- if (decimals <= 0) {
132
- return '0';
133
- }
134
- const priceFormatted = formatUnits(priceBigInt, decimals);
135
- return formatDisplay(priceFormatted, {
136
- disableScientificNotation: true,
137
- disableCompactNotation: true,
138
- significantDigits: 6
139
- });
140
- }, [price, currencyInfoData]);
141
- useEffect(() => {
142
- clearCachedBalances();
143
- }, [clearCachedBalances]);
144
- const Options = () => {
145
- const lowerSelectedCurrency = selectedCurrency?.toLowerCase();
146
- const lowerCurrencyAddress = currencyAddress?.toLowerCase();
147
- return (_jsx("div", { className: "flex flex-col justify-center items-center gap-2 w-full", children: tokenPayOptions.map(swapOption => {
148
- const isMainCurrency = swapOption.currencyAddress === lowerCurrencyAddress;
149
- const currentBalance = tokenBalancesMap.get(swapOption.currencyAddress) ?? 0n;
150
- const isNative = compareAddress(swapOption.currencyAddress, nativeTokenAddress || zeroAddress);
151
- const isNativeBalanceCheckSkipped = isNative && skipNativeBalanceCheck;
152
- if (isMainCurrency) {
153
- const priceBigInt = BigInt(swapOption.price || 0);
154
- const hasInsufficientFunds = priceBigInt > currentBalance;
155
- return (_jsx(Fragment, { children: _jsx(CryptoOption, { currencyName: swapOption.name, chainId: chainId, iconUrl: currencyInfoData?.logoURI, symbol: swapOption.symbol, onClick: () => {
156
- setSelectedCurrency(swapOption.currencyAddress);
157
- }, price: priceDisplay, disabled: disableButtons, isSelected: lowerSelectedCurrency === swapOption.currencyAddress, showInsufficientFundsWarning: isNativeBalanceCheckSkipped ? undefined : hasInsufficientFunds }) }, swapOption.currencyAddress));
158
- }
159
- else {
160
- if (!swapOption || !enableSwapPayments) {
161
- return null;
162
- }
163
- const hasInsufficientFunds = BigInt(swapOption.price || 0) > currentBalance;
164
- const swapQuotePriceDisplay = formatUnits(BigInt(swapOption.price || 0), swapOption.decimals || 18);
165
- const formattedPrice = formatDisplay(swapQuotePriceDisplay, {
166
- disableScientificNotation: true,
167
- disableCompactNotation: true,
168
- significantDigits: 6
169
- });
170
- return (_jsx(CryptoOption, { currencyName: swapOption.name, chainId: chainId, iconUrl: swapOption.logoUri, symbol: swapOption.symbol, onClick: () => {
171
- setSelectedCurrency(swapOption.currencyAddress);
172
- }, price: formattedPrice, disabled: disableButtons, isSelected: lowerSelectedCurrency === swapOption.currencyAddress, showInsufficientFundsWarning: isNativeBalanceCheckSkipped ? undefined : hasInsufficientFunds }, swapOption.currencyAddress));
173
- }
174
- }) }));
175
- };
176
- const gutterHeight = 8;
177
- const optionHeight = 72;
178
- const displayedOptionsAmount = Math.min(tokenPayOptions.length, MAX_OPTIONS);
179
- const displayedGuttersAmount = Math.max(0, displayedOptionsAmount - 1);
180
- const collapsedOptionsHeight = useMemo(() => {
181
- return `${optionHeight * displayedOptionsAmount + gutterHeight * displayedGuttersAmount}px`;
182
- }, [tokenPayOptions.length]);
183
- const ShowMoreButton = () => {
184
- return (_jsx("div", { className: "flex justify-center items-center w-full", children: _jsx(Button, { className: "text-white", rightIcon: () => {
185
- if (showMore) {
186
- return _jsx(SubtractIcon, { style: { marginLeft: '-4px' }, size: "xs" });
187
- }
188
- return _jsx(AddIcon, { style: { marginLeft: '-4px' }, size: "xs" });
189
- }, variant: "ghost", onClick: () => {
190
- setShowMore(!showMore);
191
- }, label: showMore ? 'Show less' : 'Show more' }) }));
192
- };
193
- return (_jsxs("div", { className: "w-full", children: [_jsx("div", { children: _jsx(Text, { variant: "small", fontWeight: "medium", color: "white", children: "Pay with crypto" }) }), _jsx("div", { className: "py-3", style: {
194
- marginBottom: '-12px'
195
- }, children: isLoadingOptions ? (_jsx("div", { className: "flex w-full py-5 justify-center items-center", children: _jsx(Spinner, {}) })) : (_jsxs(_Fragment, { children: [_jsx(motion.div, { className: "overflow-hidden", animate: { height: showMore ? 'auto' : collapsedOptionsHeight }, transition: { ease: 'easeOut', duration: 0.3 }, children: _jsx(Options, {}) }), swapsAreLoading && (_jsx("div", { className: "flex justify-center items-center w-full mt-4", children: _jsx(Spinner, {}) })), !swapsAreLoading && tokenPayOptions.length > MAX_OPTIONS && _jsx(ShowMoreButton, {})] })) })] }));
196
- };
197
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/views/PaymentSelection/PayWithCrypto/index.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare const TransferFunds: () => import("react/jsx-runtime").JSX.Element;
2
- //# sourceMappingURL=TransferFunds.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TransferFunds.d.ts","sourceRoot":"","sources":["../../../../src/views/PaymentSelection/TransferFunds.tsx"],"names":[],"mappings":"AAOA,eAAO,MAAM,aAAa,+CA4EzB,CAAA"}
@@ -1,35 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Card, CheckmarkIcon, CopyIcon, IconButton, Text, truncateAddress } from '@0xsequence/design-system';
3
- import { useClipboard } from '@0xsequence/hooks';
4
- import { QRCodeCanvas } from 'qrcode.react';
5
- import { useAccount } from 'wagmi';
6
- import { useSelectPaymentModal, useTransferFundsModal } from '../../hooks/index.js';
7
- export const TransferFunds = () => {
8
- const { openTransferFundsModal } = useTransferFundsModal();
9
- const { openSelectPaymentModal, closeSelectPaymentModal, selectPaymentSettings } = useSelectPaymentModal();
10
- const { address: userAddress } = useAccount();
11
- const [isCopied, setCopied] = useClipboard({ timeout: 4000 });
12
- const onClickQrCode = (e) => {
13
- e.preventDefault();
14
- e.stopPropagation();
15
- if (!selectPaymentSettings) {
16
- return;
17
- }
18
- closeSelectPaymentModal();
19
- setTimeout(() => {
20
- openTransferFundsModal({
21
- walletAddress: userAddress || '',
22
- onClose: () => {
23
- setTimeout(() => {
24
- openSelectPaymentModal(selectPaymentSettings);
25
- }, 500);
26
- }
27
- });
28
- }, 500);
29
- };
30
- return (_jsxs("div", { className: "w-full", children: [_jsx("div", { className: "mb-3", children: _jsx(Text, { variant: "small", fontWeight: "medium", color: "white", children: "Receive funds to your connected wallet" }) }), _jsxs(Card, { className: "flex cursor-pointer w-full justify-between p-4", onClick: onClickQrCode, children: [_jsxs("div", { className: "flex flex-row gap-3 items-center", children: [_jsx("div", { className: "bg-white p-4 rounded-sm", style: { width: 40, height: 40 }, children: _jsx(QRCodeCanvas, { value: userAddress || '', size: 36, bgColor: "white", fgColor: "black", "data-id": "qr-code", style: { position: 'relative', top: '-14px', left: '-14px' } }) }), _jsxs("div", { className: "flex flex-col justify-center items-start", children: [_jsx("div", { children: _jsx(Text, { variant: "normal", fontWeight: "bold", color: "secondary", children: "Receive Funds" }) }), _jsx("div", { children: _jsx(Text, { className: "text-sm", color: "muted", variant: "normal", children: truncateAddress(userAddress || '', 12, 4) }) })] })] }), _jsx("div", { onClick: e => {
31
- e.stopPropagation();
32
- e.preventDefault();
33
- }, children: _jsx(IconButton, { className: "text-muted", variant: "base", size: "md", icon: isCopied ? () => _jsx(CheckmarkIcon, { size: "lg" }) : () => _jsx(CopyIcon, { size: "lg" }), onClick: () => setCopied(userAddress || '') }) })] })] }));
34
- };
35
- //# sourceMappingURL=TransferFunds.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TransferFunds.js","sourceRoot":"","sources":["../../../../src/views/PaymentSelection/TransferFunds.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/PaymentSelection/index.tsx"],"names":[],"mappings":"AA4BA,eAAO,MAAM,gBAAgB,+CAO5B,CAAA;AAED,eAAO,MAAM,sBAAsB,+CAElC,CAAA;AAED,eAAO,MAAM,uBAAuB,+CAwdnC,CAAA"}
@@ -1,339 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { compareAddress, sendTransactions, TRANSACTION_CONFIRMATIONS_DEFAULT, useAnalyticsContext } from '@0xsequence/connect';
3
- import { Button, Divider, Spinner, Text } from '@0xsequence/design-system';
4
- import { useClearCachedBalances, useGetContractInfo, useGetSwapQuote, useGetSwapRoutes, useIndexerClient } from '@0xsequence/hooks';
5
- import { findSupportedNetwork } from '@0xsequence/network';
6
- import { useEffect, useState } from 'react';
7
- import { encodeFunctionData, formatUnits, zeroAddress } from 'viem';
8
- import { useAccount, usePublicClient, useReadContract, useWalletClient } from 'wagmi';
9
- import { NavigationHeader } from '../../components/NavigationHeader.js';
10
- import { ERC_20_CONTRACT_ABI } from '../../constants/abi.js';
11
- import { EVENT_SOURCE, HEADER_HEIGHT } from '../../constants/index.js';
12
- import { useSelectPaymentModal, useSkipOnCloseCallback, useTransactionStatusModal } from '../../hooks/index.js';
13
- import { Footer } from './Footer.js';
14
- import { FundWithFiat } from './FundWithFiat.js';
15
- import { OrderSummary } from './OrderSummary/index.js';
16
- import { PayWithCreditCard } from './PayWithCreditCard/index.js';
17
- import { PayWithCrypto } from './PayWithCrypto/index.js';
18
- import { TransferFunds } from './TransferFunds.js';
19
- export const PaymentSelection = () => {
20
- return (_jsxs(_Fragment, { children: [_jsx(PaymentSelectionHeader, {}), _jsx(PaymentSelectionContent, {})] }));
21
- };
22
- export const PaymentSelectionHeader = () => {
23
- return _jsx(NavigationHeader, { primaryText: "Checkout" });
24
- };
25
- export const PaymentSelectionContent = () => {
26
- const { openTransactionStatusModal } = useTransactionStatusModal();
27
- const { selectPaymentSettings = {} } = useSelectPaymentModal();
28
- const { analytics } = useAnalyticsContext();
29
- const [disableButtons, setDisableButtons] = useState(false);
30
- const [isError, setIsError] = useState(false);
31
- const [isPurchasing, setIsPurchasing] = useState(false);
32
- const { chain, collectibles, collectionAddress, currencyAddress, targetContractAddress, approvedSpenderAddress, price, txData, enableTransferFunds = true, enableMainCurrencyPayment = true, enableSwapPayments = true, creditCardProviders = [], transactionConfirmations = TRANSACTION_CONFIRMATIONS_DEFAULT, onRampProvider, onSuccess = () => { }, onError = () => { }, onClose = () => { }, supplementaryAnalyticsInfo, slippageBps } = selectPaymentSettings;
33
- const isNativeToken = compareAddress(currencyAddress, zeroAddress);
34
- const [selectedCurrency, setSelectedCurrency] = useState();
35
- const network = findSupportedNetwork(chain);
36
- const chainId = network?.chainId || 137;
37
- const { address: userAddress, connector } = useAccount();
38
- const { data: walletClient } = useWalletClient({
39
- chainId
40
- });
41
- const publicClient = usePublicClient({
42
- chainId
43
- });
44
- const indexerClient = useIndexerClient(chainId);
45
- const { clearCachedBalances } = useClearCachedBalances();
46
- const { closeSelectPaymentModal } = useSelectPaymentModal();
47
- const { skipOnCloseCallback } = useSkipOnCloseCallback(onClose);
48
- const { data: allowanceData, isLoading: allowanceIsLoading } = useReadContract({
49
- abi: ERC_20_CONTRACT_ABI,
50
- functionName: 'allowance',
51
- chainId: chainId,
52
- address: currencyAddress,
53
- args: [userAddress, approvedSpenderAddress || targetContractAddress],
54
- query: {
55
- enabled: !!userAddress && !isNativeToken
56
- }
57
- });
58
- const { data: _currencyInfoData, isLoading: isLoadingCurrencyInfo } = useGetContractInfo({
59
- chainID: String(chainId),
60
- contractAddress: currencyAddress
61
- });
62
- const buyCurrencyAddress = currencyAddress;
63
- const { data: swapRoutes = [], isLoading: swapRoutesIsLoading } = useGetSwapRoutes({
64
- walletAddress: userAddress ?? '',
65
- chainId,
66
- toTokenAmount: price,
67
- toTokenAddress: currencyAddress
68
- }, { disabled: !enableSwapPayments, retry: 3 });
69
- const disableSwapQuote = !selectedCurrency || compareAddress(selectedCurrency, buyCurrencyAddress);
70
- const { data: swapQuote, isLoading: isLoadingSwapQuote } = useGetSwapQuote({
71
- params: {
72
- walletAddress: userAddress ?? '',
73
- toTokenAddress: buyCurrencyAddress,
74
- fromTokenAddress: selectedCurrency || '',
75
- toTokenAmount: price,
76
- chainId: chainId,
77
- includeApprove: true,
78
- slippageBps: slippageBps || 100
79
- }
80
- }, {
81
- disabled: disableSwapQuote
82
- });
83
- const isLoading = (allowanceIsLoading && !isNativeToken) || isLoadingCurrencyInfo;
84
- const isApproved = allowanceData >= BigInt(price) || isNativeToken;
85
- useEffect(() => {
86
- clearCachedBalances();
87
- }, []);
88
- const onPurchaseMainCurrency = async () => {
89
- if (!walletClient || !userAddress || !publicClient || !userAddress || !connector) {
90
- return;
91
- }
92
- setIsPurchasing(true);
93
- setIsError(false);
94
- setDisableButtons(true);
95
- try {
96
- const walletClientChainId = await walletClient.getChainId();
97
- if (walletClientChainId !== chainId) {
98
- await walletClient.switchChain({ id: chainId });
99
- }
100
- const approveTxData = encodeFunctionData({
101
- abi: ERC_20_CONTRACT_ABI,
102
- functionName: 'approve',
103
- args: [approvedSpenderAddress || targetContractAddress, price]
104
- });
105
- const transactions = [
106
- ...(isApproved
107
- ? []
108
- : [
109
- {
110
- to: currencyAddress,
111
- data: approveTxData,
112
- chainId
113
- }
114
- ]),
115
- {
116
- to: targetContractAddress,
117
- data: txData,
118
- chainId,
119
- ...(isNativeToken
120
- ? {
121
- value: BigInt(price)
122
- }
123
- : {})
124
- }
125
- ];
126
- const txHash = await sendTransactions({
127
- chainId,
128
- senderAddress: userAddress,
129
- publicClient,
130
- walletClient,
131
- indexerClient,
132
- connector,
133
- transactions,
134
- transactionConfirmations,
135
- waitConfirmationForLastTransaction: false
136
- });
137
- analytics?.track({
138
- event: 'SEND_TRANSACTION_REQUEST',
139
- props: {
140
- ...supplementaryAnalyticsInfo,
141
- type: 'crypto',
142
- source: EVENT_SOURCE,
143
- chainId: String(chainId),
144
- listedCurrency: currencyAddress,
145
- purchasedCurrency: currencyAddress,
146
- origin: window.location.origin,
147
- from: userAddress,
148
- to: targetContractAddress,
149
- item_ids: JSON.stringify(collectibles.map(c => c.tokenId)),
150
- item_quantities: JSON.stringify(collectibles.map(c => c.quantity)),
151
- currencySymbol: _currencyInfoData?.symbol || '',
152
- collectionAddress,
153
- txHash
154
- },
155
- nums: {
156
- currencyValue: Number(price),
157
- currencyValueDecimal: Number(formatUnits(BigInt(price), _currencyInfoData?.decimals || 18))
158
- }
159
- });
160
- closeSelectPaymentModal();
161
- skipOnCloseCallback();
162
- openTransactionStatusModal({
163
- chainId,
164
- currencyAddress,
165
- collectionAddress,
166
- txHash,
167
- items: collectibles.map(collectible => ({
168
- tokenId: collectible.tokenId,
169
- quantity: collectible.quantity,
170
- decimals: collectible.decimals,
171
- price: collectible.price || price
172
- })),
173
- onSuccess: () => {
174
- clearCachedBalances();
175
- onSuccess(txHash);
176
- },
177
- onClose
178
- });
179
- }
180
- catch (e) {
181
- console.error('Failed to purchase...', e);
182
- onError(e);
183
- setIsError(true);
184
- }
185
- setDisableButtons(false);
186
- setIsPurchasing(false);
187
- };
188
- const onClickPurchaseSwap = async (swapTokenOption) => {
189
- if (!walletClient || !userAddress || !publicClient || !userAddress || !connector || !swapQuote) {
190
- return;
191
- }
192
- setIsPurchasing(true);
193
- setIsError(false);
194
- setDisableButtons(true);
195
- try {
196
- const walletClientChainId = await walletClient.getChainId();
197
- if (walletClientChainId !== chainId) {
198
- await walletClient.switchChain({ id: chainId });
199
- }
200
- const approveTxData = encodeFunctionData({
201
- abi: ERC_20_CONTRACT_ABI,
202
- functionName: 'approve',
203
- args: [approvedSpenderAddress || targetContractAddress, price]
204
- });
205
- const isSwapNativeToken = compareAddress(zeroAddress, swapTokenOption.address);
206
- const transactions = [
207
- // Swap quote optional approve step
208
- ...(swapQuote?.approveData && !isSwapNativeToken
209
- ? [
210
- {
211
- to: swapTokenOption.address,
212
- data: swapQuote.approveData,
213
- chain: chainId
214
- }
215
- ]
216
- : []),
217
- // Swap quote tx
218
- {
219
- to: swapQuote.to,
220
- data: swapQuote.transactionData,
221
- chain: chainId,
222
- ...(isSwapNativeToken
223
- ? {
224
- value: BigInt(swapQuote.transactionValue)
225
- }
226
- : {})
227
- },
228
- // Actual transaction optional approve step
229
- ...(isApproved || isNativeToken
230
- ? []
231
- : [
232
- {
233
- to: currencyAddress,
234
- data: approveTxData,
235
- chainId: chainId
236
- }
237
- ]),
238
- // transaction on the contract
239
- {
240
- to: targetContractAddress,
241
- data: txData,
242
- chainId,
243
- ...(isNativeToken
244
- ? {
245
- value: BigInt(price)
246
- }
247
- : {})
248
- }
249
- ];
250
- const txHash = await sendTransactions({
251
- chainId,
252
- senderAddress: userAddress,
253
- publicClient,
254
- walletClient,
255
- indexerClient,
256
- connector,
257
- transactions,
258
- transactionConfirmations,
259
- waitConfirmationForLastTransaction: false
260
- });
261
- analytics?.track({
262
- event: 'SEND_TRANSACTION_REQUEST',
263
- props: {
264
- ...supplementaryAnalyticsInfo,
265
- type: 'crypto',
266
- source: EVENT_SOURCE,
267
- chainId: String(chainId),
268
- listedCurrency: swapTokenOption.address,
269
- purchasedCurrency: currencyAddress,
270
- origin: window.location.origin,
271
- from: userAddress,
272
- to: targetContractAddress,
273
- item_ids: JSON.stringify(collectibles.map(c => c.tokenId)),
274
- item_quantities: JSON.stringify(collectibles.map(c => c.quantity)),
275
- currencySymbol: _currencyInfoData?.symbol || '',
276
- collectionAddress,
277
- txHash
278
- },
279
- nums: {
280
- currencyValue: Number(price),
281
- currencyValueDecimal: Number(formatUnits(BigInt(price), _currencyInfoData?.decimals || 18))
282
- }
283
- });
284
- closeSelectPaymentModal();
285
- skipOnCloseCallback();
286
- openTransactionStatusModal({
287
- chainId,
288
- currencyAddress,
289
- collectionAddress,
290
- txHash,
291
- items: collectibles.map(collectible => ({
292
- tokenId: collectible.tokenId,
293
- quantity: collectible.quantity,
294
- decimals: collectible.decimals,
295
- price: collectible.price || price
296
- })),
297
- onSuccess: () => {
298
- clearCachedBalances();
299
- onSuccess(txHash);
300
- },
301
- onClose
302
- });
303
- }
304
- catch (e) {
305
- console.error('Failed to purchase...', e);
306
- onError(e);
307
- setIsError(true);
308
- }
309
- setDisableButtons(false);
310
- setIsPurchasing(false);
311
- };
312
- const onClickPurchase = () => {
313
- if (compareAddress(selectedCurrency || '', currencyAddress)) {
314
- onPurchaseMainCurrency();
315
- }
316
- else {
317
- const foundSwap = swapRoutes
318
- .flatMap(route => route.fromTokens)
319
- .find(fromToken => fromToken.address.toLowerCase() === selectedCurrency?.toLowerCase());
320
- if (foundSwap) {
321
- onClickPurchaseSwap(foundSwap);
322
- }
323
- }
324
- };
325
- const cryptoSymbol = isNativeToken ? network?.nativeToken.symbol : _currencyInfoData?.symbol;
326
- const validCreditCardProviders = creditCardProviders.filter(provider => {
327
- if (provider === 'transak') {
328
- return !!selectPaymentSettings?.transakConfig;
329
- }
330
- return true;
331
- });
332
- const isTokenIdUnknown = collectibles.some(collectible => !collectible.tokenId);
333
- return (_jsxs(_Fragment, { children: [_jsxs("div", { className: `flex flex-col gap-2 items-start w-full pb-0 px-6 h-full transition-opacity duration-200 ${isPurchasing ? 'opacity-50 pointer-events-none' : ''}`, style: {
334
- paddingTop: HEADER_HEIGHT
335
- }, children: [_jsx("div", { className: "flex flex-col w-full gap-2", children: _jsx(OrderSummary, {}) }), (enableMainCurrencyPayment || enableSwapPayments) && (_jsxs(_Fragment, { children: [_jsx(Divider, { className: "w-full my-3" }), _jsx(PayWithCrypto, { settings: selectPaymentSettings, disableButtons: disableButtons, selectedCurrency: selectedCurrency, setSelectedCurrency: setSelectedCurrency, isLoading: isLoading, swapRoutes: swapRoutes, swapRoutesIsLoading: swapRoutesIsLoading })] })), validCreditCardProviders.length > 0 && !isTokenIdUnknown && (_jsxs(_Fragment, { children: [_jsx(Divider, { className: "w-full my-3" }), _jsx(PayWithCreditCard, { settings: selectPaymentSettings, disableButtons: disableButtons, skipOnCloseCallback: skipOnCloseCallback })] })), onRampProvider && (_jsxs(_Fragment, { children: [_jsx(Divider, { className: "w-full my-3" }), isLoadingCurrencyInfo && !isNativeToken ? (_jsx("div", { className: "w-full h-full flex justify-center items-center", children: _jsx(Spinner, {}) })) : (_jsx(FundWithFiat, { cryptoSymbol: cryptoSymbol, walletAddress: userAddress || '', provider: onRampProvider, chainId: chainId, onClick: () => {
336
- skipOnCloseCallback();
337
- } }))] })), enableTransferFunds && (_jsxs(_Fragment, { children: [_jsx(Divider, { className: "w-full my-3" }), _jsx(TransferFunds, {})] })), (enableMainCurrencyPayment || enableSwapPayments) && (_jsxs(_Fragment, { children: [isError && (_jsx("div", { className: "w-full", style: { marginBottom: '-18px' }, children: _jsx(Text, { color: "negative", variant: "small", children: "A problem occurred while executing the transaction." }) })), _jsxs("div", { className: "w-full", children: [_jsx(Button, { className: "mt-6 w-full", onClick: onClickPurchase, disabled: isLoading || disableButtons || !selectedCurrency || (!disableSwapQuote && isLoadingSwapQuote), shape: "square", variant: "primary", label: isPurchasing ? _jsx(Spinner, {}) : 'Complete Purchase' }), _jsxs("div", { className: "flex w-full justify-center items-center gap-0.5 my-2", children: [_jsx("svg", { width: "13", height: "12", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 13 12", fill: "none", children: _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M8.82807 5.24497V3.52873C8.82807 2.24258 7.78549 1.19995 6.49934 1.19995C5.21319 1.19995 4.17057 2.24258 4.17057 3.52873L4.17057 5.24497H3.9832C3.32046 5.24497 2.7832 5.78223 2.7832 6.44497V9.49529C2.7832 10.158 3.32046 10.6953 3.9832 10.6953H9.01546C9.6782 10.6953 10.2155 10.158 10.2155 9.49529V6.44497C10.2155 5.78223 9.6782 5.24497 9.01546 5.24497H8.82807ZM6.49934 2.06705C5.69209 2.06705 5.03769 2.72144 5.03766 3.52867L5.03767 5.24497H7.96097V3.52867C7.96094 2.72144 7.30658 2.06705 6.49934 2.06705Z", fill: "#6D6D6D" }) }), _jsx(Text, { className: "mt-0.5", variant: "xsmall", color: "muted", children: "Secure Checkout" })] })] })] }))] }), _jsx(Divider, { className: "my-0" }), _jsx(Footer, {})] }));
338
- };
339
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/views/PaymentSelection/index.tsx"],"names":[],"mappings":"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"}