@funkit/connect 9.27.1 → 9.28.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.
- package/CHANGELOG.md +49 -0
- package/dist/clients/{chunk-UBBBMSKL.js → chunk-4O4YAFYK.js} +65 -6
- package/dist/clients/{chunk-O5CTDT3L.js → chunk-7LKK5QMZ.js} +1 -1
- package/dist/clients/{chunk-VT3ERWXE.js → chunk-CGHPNWIF.js} +1 -1
- package/dist/clients/{chunk-E36JOYL4.js → chunk-TQVRP3Z2.js} +1 -1
- package/dist/clients/lighter.css +7 -1
- package/dist/clients/lighter.js +2 -2
- package/dist/clients/polymarket/PolymarketDepositAccountDropdown.css +7 -1
- package/dist/clients/polymarket/PolymarketDepositAccountDropdown.js +5 -6
- package/dist/clients/polymarket/createPolymarketDepositConfig.js +2 -2
- package/dist/clients/polymarket/index.css +7 -1
- package/dist/clients/polymarket/index.js +5 -6
- package/dist/clients/polymarket/polymarket.js +1 -1
- package/dist/components/BitcoinLightningBanner/BitcoinLightningBanner.d.ts +12 -0
- package/dist/domains/clientMetadata.d.ts +2 -3
- package/dist/domains/quoteMode/types.d.ts +0 -1
- package/dist/hooks/queries/useRecentDeposits.d.ts +1 -1
- package/dist/hooks/usePaymentSources.d.ts +1 -1
- package/dist/hooks/useStartBitcoinLightning.d.ts +11 -0
- package/dist/index.css +7 -1
- package/dist/index.js +603 -721
- package/dist/modals/CheckoutModal/InputAmount/state.d.ts +4 -9
- package/dist/modals/CheckoutModal/TransferToken/DirectExecutionNotification.d.ts +1 -3
- package/dist/modals/CheckoutModal/TransferToken/TransferToken.d.ts +1 -1
- package/dist/modals/WithdrawalModal/LighterWithdrawal.d.ts +6 -0
- package/dist/providers/FunkitCheckoutContext/types.d.ts +0 -2
- package/dist/utils/checkout.d.ts +0 -10
- package/dist/utils/withdrawal.d.ts +12 -0
- package/dist/wallets/walletConnectors/bifrostWallet/bifrostWallet.js +2 -2
- package/dist/wallets/walletConnectors/bitgetWallet/bitgetWallet.js +2 -2
- package/dist/wallets/walletConnectors/bybitWallet/bybitWallet.js +2 -2
- package/dist/wallets/walletConnectors/clvWallet/clvWallet.js +2 -2
- package/dist/wallets/walletConnectors/coin98Wallet/coin98Wallet.js +2 -2
- package/dist/wallets/walletConnectors/coreWallet/coreWallet.js +2 -2
- package/dist/wallets/walletConnectors/foxWallet/foxWallet.js +2 -2
- package/dist/wallets/walletConnectors/frontierWallet/frontierWallet.js +2 -2
- package/dist/wallets/walletConnectors/gateWallet/gateWallet.js +2 -2
- package/dist/wallets/walletConnectors/index.js +65 -65
- package/dist/wallets/walletConnectors/metaMaskWallet/metaMaskWallet.js +2 -2
- package/dist/wallets/walletConnectors/okxWallet/okxWallet.js +2 -2
- package/dist/wallets/walletConnectors/rainbowWallet/rainbowWallet.js +2 -2
- package/dist/wallets/walletConnectors/roninWallet/roninWallet.js +2 -2
- package/dist/wallets/walletConnectors/safepalWallet/safepalWallet.js +2 -2
- package/dist/wallets/walletConnectors/subWallet/subWallet.js +2 -2
- package/dist/wallets/walletConnectors/tokenPocketWallet/tokenPocketWallet.js +2 -2
- package/dist/wallets/walletConnectors/trustWallet/trustWallet.js +2 -2
- package/dist/wallets/walletConnectors/zerionWallet/zerionWallet.js +2 -2
- package/package.json +4 -4
- package/dist/clients/chunk-ZEXZQOAO.js +0 -96
- package/dist/clients/polymarket/usePolymarketAccountBalances.js +0 -12
- package/dist/{clients/polymarket → hooks}/usePolymarketAccountBalances.d.ts +0 -0
- package/dist/wallets/walletConnectors/{chunk-W2LCLDPX.js → chunk-2VP2F6EK.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-IULPZP2Q.js → chunk-4T6ZSRJF.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-WAHGI5L7.js → chunk-6BW3HLBG.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-YO2K4MBH.js → chunk-CCQV2ZET.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-TKB2OY6G.js → chunk-CPI4TD43.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-OX37G4YT.js → chunk-F5XEEVG6.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-JPN6TWIT.js → chunk-HNRB7KJU.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-WKNQMP4A.js → chunk-HTHAK6XB.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-GUQM4QSL.js → chunk-MIQTHJ6X.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-4NV5BYRP.js → chunk-RB3HR4R2.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-SWFF3TWJ.js → chunk-RVOY537T.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-KI5Y2BBF.js → chunk-STVVP43G.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-OEEGYENV.js → chunk-UK7C2JXW.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-YQFGVZGR.js → chunk-VAPGUPHO.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-XCNHV3HS.js → chunk-VTM6EECM.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-NR2OGDHQ.js → chunk-X6CGV36L.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-AVDUNQUW.js → chunk-YEZM4CK4.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-KCRO2AGO.js → chunk-ZNX4EMPB.js} +3 -3
package/dist/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
darkTheme
|
|
4
|
-
} from "./chunk-36KVHK22.js";
|
|
5
2
|
import {
|
|
6
3
|
lightTheme
|
|
7
4
|
} from "./chunk-67BKQQNG.js";
|
|
5
|
+
import {
|
|
6
|
+
darkTheme
|
|
7
|
+
} from "./chunk-36KVHK22.js";
|
|
8
8
|
import {
|
|
9
9
|
systemFontStack
|
|
10
10
|
} from "./chunk-4YEAUICE.js";
|
|
@@ -968,7 +968,7 @@ function useMainnetEnsName(address) {
|
|
|
968
968
|
import {
|
|
969
969
|
getAllWalletTokens
|
|
970
970
|
} from "@funkit/api-base";
|
|
971
|
-
import { keepPreviousData as keepPreviousData4, useQuery as
|
|
971
|
+
import { keepPreviousData as keepPreviousData4, useQuery as useQuery29 } from "@tanstack/react-query";
|
|
972
972
|
import { arbitrum as arbitrum7, polygon as polygon8 } from "viem/chains";
|
|
973
973
|
|
|
974
974
|
// src/domains/asset.ts
|
|
@@ -978,7 +978,7 @@ import {
|
|
|
978
978
|
monadChain as monadChain2,
|
|
979
979
|
solanaChain as solanaChain6
|
|
980
980
|
} from "@funkit/chains";
|
|
981
|
-
import {
|
|
981
|
+
import { isEVMAddressEquivalent as isEVMAddressEquivalent7, isTokenEquivalent as isTokenEquivalent15 } from "@funkit/utils";
|
|
982
982
|
import { arbitrum as arbitrum6, base as base6, bsc as bsc2, mainnet as mainnet13, optimism as optimism2, polygon as polygon7 } from "viem/chains";
|
|
983
983
|
|
|
984
984
|
// src/utils/checkout.ts
|
|
@@ -990,16 +990,15 @@ import {
|
|
|
990
990
|
import {
|
|
991
991
|
FUNKIT_CONNECT_CHECKOUT_NATIVE_CURRENCY_ADDRESS as FUNKIT_CONNECT_CHECKOUT_NATIVE_CURRENCY_ADDRESS5,
|
|
992
992
|
FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO as FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO12,
|
|
993
|
-
lightningChain as
|
|
993
|
+
lightningChain as lightningChain7,
|
|
994
994
|
solanaChain as solanaChain5,
|
|
995
995
|
tronChain as tronChain4
|
|
996
996
|
} from "@funkit/chains";
|
|
997
997
|
import { getRelayAssetInfo } from "@funkit/fun-relay";
|
|
998
998
|
import {
|
|
999
|
-
formatCryptoAndStringify as
|
|
999
|
+
formatCryptoAndStringify as formatCryptoAndStringify9,
|
|
1000
1000
|
isNumericString,
|
|
1001
|
-
|
|
1002
|
-
isTokenEquivalent as isTokenEquivalent14,
|
|
1001
|
+
isEVMAddressEquivalent as isEVMAddressEquivalent6,
|
|
1003
1002
|
round as round3
|
|
1004
1003
|
} from "@funkit/utils";
|
|
1005
1004
|
import * as dnum12 from "dnum";
|
|
@@ -1127,10 +1126,10 @@ import {
|
|
|
1127
1126
|
FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO as FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO11,
|
|
1128
1127
|
SOLANA_MAINNET_CHAIN_ID as SOLANA_MAINNET_CHAIN_ID2
|
|
1129
1128
|
} from "@funkit/chains";
|
|
1130
|
-
import { isNotNullish as isNotNullish8,
|
|
1129
|
+
import { isNotNullish as isNotNullish8, isEVMAddressEquivalent as isEVMAddressEquivalent5 } from "@funkit/utils";
|
|
1131
1130
|
import React300, {
|
|
1132
1131
|
createContext as createContext21,
|
|
1133
|
-
useCallback as
|
|
1132
|
+
useCallback as useCallback59,
|
|
1134
1133
|
useContext as useContext21,
|
|
1135
1134
|
useEffect as useEffect83,
|
|
1136
1135
|
useState as useState87
|
|
@@ -1520,7 +1519,7 @@ function createPaymentMethodInfo(params) {
|
|
|
1520
1519
|
case PaymentMethod.BITCOIN_LIGHTNING:
|
|
1521
1520
|
return {
|
|
1522
1521
|
paymentMethod: PaymentMethod.BITCOIN_LIGHTNING,
|
|
1523
|
-
title: "Bitcoin
|
|
1522
|
+
title: "Bitcoin Lightning",
|
|
1524
1523
|
description: ""
|
|
1525
1524
|
};
|
|
1526
1525
|
case PaymentMethod.VIRTUAL_BANK:
|
|
@@ -1557,7 +1556,6 @@ function createNewCheckoutConfig({
|
|
|
1557
1556
|
// field is re-bound below.
|
|
1558
1557
|
...serializedConfig,
|
|
1559
1558
|
dynamicTargetAssetCandidates: isActiveCheckout && liveConfig ? liveConfig.dynamicTargetAssetCandidates : serializedConfig.dynamicTargetAssetCandidates,
|
|
1560
|
-
finalizedToken: isActiveCheckout && liveConfig ? liveConfig.finalizedToken : serializedConfig.finalizedToken,
|
|
1561
1559
|
modalTitle: liveConfig?.modalTitle ?? serializedConfig.modalTitle,
|
|
1562
1560
|
withdrawalSourceTokenBalance: liveConfig?.withdrawalSourceTokenBalance,
|
|
1563
1561
|
getMinDepositUSD: isActiveCheckout ? liveConfig?.getMinDepositUSD : void 0,
|
|
@@ -1683,7 +1681,7 @@ function setFunkitConnectVersion({ version }) {
|
|
|
1683
1681
|
localStorage.setItem(storageKey, version);
|
|
1684
1682
|
}
|
|
1685
1683
|
function getCurrentSdkVersion() {
|
|
1686
|
-
return "9.
|
|
1684
|
+
return "9.28.0";
|
|
1687
1685
|
}
|
|
1688
1686
|
function useFingerprint() {
|
|
1689
1687
|
const fingerprint = useCallback3(() => {
|
|
@@ -1865,7 +1863,7 @@ var DEFAULT_TEXT_CUSTOMIZATIONS = {
|
|
|
1865
1863
|
sourceMethodTitle: "Your source",
|
|
1866
1864
|
tokensListTitle: "Your tokens",
|
|
1867
1865
|
transferTokens: "Transfer Crypto",
|
|
1868
|
-
bitcoinLightning: "Bitcoin
|
|
1866
|
+
bitcoinLightning: "Bitcoin Lightning",
|
|
1869
1867
|
receiveDropdownTitle: "",
|
|
1870
1868
|
// Default to empty
|
|
1871
1869
|
receiveDropdownLabel: "Asset to Receive",
|
|
@@ -5183,6 +5181,7 @@ import {
|
|
|
5183
5181
|
} from "@funkit/connect-core";
|
|
5184
5182
|
|
|
5185
5183
|
// src/utils/withdrawal.ts
|
|
5184
|
+
import { isEVMAddressEquivalent, isTokenEquivalent as isTokenEquivalent3 } from "@funkit/utils";
|
|
5186
5185
|
import { parseUnits } from "viem";
|
|
5187
5186
|
function safeEvaluateWithdrawalSourceTokenBalance(fn) {
|
|
5188
5187
|
const raw = fn?.();
|
|
@@ -5199,6 +5198,25 @@ function safeEvaluateWithdrawalSourceTokenBalance(fn) {
|
|
|
5199
5198
|
function isWalletWithdrawalConfig(config) {
|
|
5200
5199
|
return "wallet" in config;
|
|
5201
5200
|
}
|
|
5201
|
+
function isNoOpSelfWithdrawal({
|
|
5202
|
+
config,
|
|
5203
|
+
recipientAddress,
|
|
5204
|
+
selectedChainId,
|
|
5205
|
+
destinationTokenAddress
|
|
5206
|
+
}) {
|
|
5207
|
+
if (!isWalletWithdrawalConfig(config) || recipientAddress === "" || !destinationTokenAddress) {
|
|
5208
|
+
return false;
|
|
5209
|
+
}
|
|
5210
|
+
return isEVMAddressEquivalent({
|
|
5211
|
+
firstAddress: recipientAddress,
|
|
5212
|
+
secondAddress: config.wallet.address()
|
|
5213
|
+
}) && isTokenEquivalent3({
|
|
5214
|
+
firstTokenChainId: String(selectedChainId),
|
|
5215
|
+
firstTokenAddress: destinationTokenAddress,
|
|
5216
|
+
secondTokenChainId: config.sourceChainId,
|
|
5217
|
+
secondTokenAddress: config.sourceTokenAddress
|
|
5218
|
+
});
|
|
5219
|
+
}
|
|
5202
5220
|
function isCustomWithdrawalConfig(config) {
|
|
5203
5221
|
return "withdrawCallback" in config;
|
|
5204
5222
|
}
|
|
@@ -6189,7 +6207,7 @@ var useFunkitPostCheckoutInternal = (checkoutId) => {
|
|
|
6189
6207
|
// src/providers/ModalContext.tsx
|
|
6190
6208
|
import React299, {
|
|
6191
6209
|
createContext as createContext20,
|
|
6192
|
-
useCallback as
|
|
6210
|
+
useCallback as useCallback58,
|
|
6193
6211
|
useContext as useContext20,
|
|
6194
6212
|
useEffect as useEffect82,
|
|
6195
6213
|
useMemo as useMemo66,
|
|
@@ -10647,7 +10665,9 @@ var en_default = {
|
|
|
10647
10665
|
groupPopularTokens: "Popular",
|
|
10648
10666
|
groupStablecoins: "Stablecoins",
|
|
10649
10667
|
groupOtherChains: "All",
|
|
10650
|
-
groupOtherTokens: "All supported tokens"
|
|
10668
|
+
groupOtherTokens: "All supported tokens",
|
|
10669
|
+
depositBitcoinLightning: "Deposit Bitcoin instantly with Lightning.",
|
|
10670
|
+
lightningTryItNow: "Try it now"
|
|
10651
10671
|
},
|
|
10652
10672
|
lightningInvoice: {
|
|
10653
10673
|
yourLightningInvoice: "Lightning Invoice"
|
|
@@ -10671,7 +10691,6 @@ var en_default = {
|
|
|
10671
10691
|
depositProcessing: "Deposit processing",
|
|
10672
10692
|
depositWillBeCompletedSoon: "Your deposit will be completed soon.",
|
|
10673
10693
|
depositWillBeCredited: "Your deposit will be credited to your account shortly.",
|
|
10674
|
-
depositWillBeCreditedLighterNative: "Your deposit will be credited to your account in approximately two minutes.",
|
|
10675
10694
|
depositHasBeenCredited: "Your deposit has been credited to your account.",
|
|
10676
10695
|
depositRefundedOrReprocessed: "Your deposit has been refunded or reprocessed. Feel free to <ContactSupportLink>reach out</ContactSupportLink> for an update.",
|
|
10677
10696
|
issueOccurredWithDeposit: "An issue occurred processing your deposit. Please try again.",
|
|
@@ -10770,6 +10789,7 @@ var en_default = {
|
|
|
10770
10789
|
unsupportedExecutionType: "Transaction type not supported. Try different method.",
|
|
10771
10790
|
unsupportedRoute: "Token pair unavailable. Try different tokens.",
|
|
10772
10791
|
userRecipientMismatch: "Sender and recipient must match. Check addresses.",
|
|
10792
|
+
recipientSameAsSource: "Recipient can't be the same as the source address.",
|
|
10773
10793
|
destinationTxFailed: "Transaction failed. Please try again or <ContactSupportLink>contact us</ContactSupportLink>.",
|
|
10774
10794
|
erc20RouterAddressNotFound: "Something went wrong. Please try a different token or <ContactSupportLink>contact us</ContactSupportLink>.",
|
|
10775
10795
|
unknownError: "Something went wrong. Please try again or <ContactSupportLink>contact us</ContactSupportLink>.",
|
|
@@ -11004,7 +11024,7 @@ var en_default = {
|
|
|
11004
11024
|
sourceMethodTitle: "Your source",
|
|
11005
11025
|
tokensListTitle: "Your tokens",
|
|
11006
11026
|
transferTokens: "Transfer Crypto",
|
|
11007
|
-
bitcoinLightning: "Bitcoin
|
|
11027
|
+
bitcoinLightning: "Bitcoin Lightning",
|
|
11008
11028
|
receiveDropdownTitle: "",
|
|
11009
11029
|
receiveDropdownLabel: "Asset to Receive",
|
|
11010
11030
|
payAmountLabel: "You send",
|
|
@@ -11249,7 +11269,9 @@ var es_default = {
|
|
|
11249
11269
|
groupPopularTokens: "Populares",
|
|
11250
11270
|
groupStablecoins: "Stablecoins",
|
|
11251
11271
|
groupOtherChains: "Todas",
|
|
11252
|
-
groupOtherTokens: "Todos los tokens compatibles"
|
|
11272
|
+
groupOtherTokens: "Todos los tokens compatibles",
|
|
11273
|
+
depositBitcoinLightning: "Deposita Bitcoin al instante con Lightning.",
|
|
11274
|
+
lightningTryItNow: "Pru\xE9balo ahora"
|
|
11253
11275
|
},
|
|
11254
11276
|
lightningInvoice: {
|
|
11255
11277
|
yourLightningInvoice: "Factura Lightning"
|
|
@@ -11273,7 +11295,6 @@ var es_default = {
|
|
|
11273
11295
|
depositProcessing: "Dep\xF3sito en proceso",
|
|
11274
11296
|
depositWillBeCompletedSoon: "Tu dep\xF3sito se completar\xE1 pronto.",
|
|
11275
11297
|
depositWillBeCredited: "Tu dep\xF3sito ser\xE1 acreditado a tu cuenta pronto.",
|
|
11276
|
-
depositWillBeCreditedLighterNative: "Tu dep\xF3sito ser\xE1 acreditado a tu cuenta en aproximadamente dos minutos.",
|
|
11277
11298
|
depositHasBeenCredited: "Tu dep\xF3sito ha sido acreditado a tu cuenta.",
|
|
11278
11299
|
depositRefundedOrReprocessed: "Tu dep\xF3sito ha sido reembolsado o reprocesado. No dudes en <ContactSupportLink>contactarnos</ContactSupportLink> para una actualizaci\xF3n.",
|
|
11279
11300
|
issueOccurredWithDeposit: "Ocurri\xF3 un problema al procesar tu dep\xF3sito. Por favor intenta nuevamente.",
|
|
@@ -11372,6 +11393,7 @@ var es_default = {
|
|
|
11372
11393
|
unsupportedExecutionType: "Tipo de transacci\xF3n no soportado. Prueba un m\xE9todo diferente.",
|
|
11373
11394
|
unsupportedRoute: "Par de tokens no disponible. Prueba tokens diferentes.",
|
|
11374
11395
|
userRecipientMismatch: "El remitente y el destinatario deben coincidir. Verifica las direcciones.",
|
|
11396
|
+
recipientSameAsSource: "La direcci\xF3n del destinatario no puede ser la misma que la de origen.",
|
|
11375
11397
|
destinationTxFailed: "Transacci\xF3n fallida. Por favor, intenta nuevamente o <ContactSupportLink>cont\xE1ctanos</ContactSupportLink>.",
|
|
11376
11398
|
erc20RouterAddressNotFound: "Algo sali\xF3 mal. Por favor, prueba un token diferente o <ContactSupportLink>cont\xE1ctanos</ContactSupportLink>.",
|
|
11377
11399
|
unknownError: "Algo sali\xF3 mal. Por favor, intenta nuevamente o <ContactSupportLink>cont\xE1ctanos</ContactSupportLink>.",
|
|
@@ -11603,7 +11625,7 @@ var es_default = {
|
|
|
11603
11625
|
sourceMethodTitle: "Tu origen",
|
|
11604
11626
|
tokensListTitle: "Tus tokens",
|
|
11605
11627
|
transferTokens: "Transferir Cripto",
|
|
11606
|
-
bitcoinLightning: "Bitcoin
|
|
11628
|
+
bitcoinLightning: "Bitcoin Lightning",
|
|
11607
11629
|
receiveDropdownTitle: "",
|
|
11608
11630
|
receiveDropdownLabel: "Activo a Recibir",
|
|
11609
11631
|
payAmountLabel: "Env\xEDas",
|
|
@@ -11848,7 +11870,9 @@ var fr_default = {
|
|
|
11848
11870
|
groupPopularTokens: "Populaires",
|
|
11849
11871
|
groupStablecoins: "Stablecoins",
|
|
11850
11872
|
groupOtherChains: "Toutes",
|
|
11851
|
-
groupOtherTokens: "Tous les jetons pris en charge"
|
|
11873
|
+
groupOtherTokens: "Tous les jetons pris en charge",
|
|
11874
|
+
depositBitcoinLightning: "D\xE9posez des Bitcoin instantan\xE9ment avec Lightning.",
|
|
11875
|
+
lightningTryItNow: "Essayer maintenant"
|
|
11852
11876
|
},
|
|
11853
11877
|
lightningInvoice: {
|
|
11854
11878
|
yourLightningInvoice: "Facture Lightning"
|
|
@@ -11872,7 +11896,6 @@ var fr_default = {
|
|
|
11872
11896
|
depositProcessing: "D\xE9p\xF4t en cours de traitement",
|
|
11873
11897
|
depositWillBeCompletedSoon: "Votre d\xE9p\xF4t sera bient\xF4t termin\xE9.",
|
|
11874
11898
|
depositWillBeCredited: "Votre d\xE9p\xF4t sera cr\xE9dit\xE9 sur votre compte sous peu.",
|
|
11875
|
-
depositWillBeCreditedLighterNative: "Votre d\xE9p\xF4t sera cr\xE9dit\xE9 sur votre compte dans environ deux minutes.",
|
|
11876
11899
|
depositHasBeenCredited: "Votre d\xE9p\xF4t a \xE9t\xE9 cr\xE9dit\xE9 sur votre compte.",
|
|
11877
11900
|
depositRefundedOrReprocessed: "Votre d\xE9p\xF4t a \xE9t\xE9 rembours\xE9 ou trait\xE9 \xE0 nouveau. N'h\xE9sitez pas \xE0 <ContactSupportLink>nous contacter</ContactSupportLink> pour une mise \xE0 jour.",
|
|
11878
11901
|
issueOccurredWithDeposit: "Un probl\xE8me est survenu lors du traitement de votre d\xE9p\xF4t. Veuillez r\xE9essayer.",
|
|
@@ -11971,6 +11994,7 @@ var fr_default = {
|
|
|
11971
11994
|
unsupportedExecutionType: "M\xE9thode de transaction non prise en charge. S\xE9lectionnez une autre m\xE9thode.",
|
|
11972
11995
|
unsupportedRoute: "Paire d'actifs non prises en charge. Essayez des actifs diff\xE9rents.",
|
|
11973
11996
|
userRecipientMismatch: "L'exp\xE9diteur et le destinataire doivent correspondre. V\xE9rifiez les adresses.",
|
|
11997
|
+
recipientSameAsSource: "L'adresse du destinataire ne peut pas \xEAtre identique \xE0 celle de la source.",
|
|
11974
11998
|
destinationTxFailed: "Transaction \xE9chou\xE9e. Veuillez r\xE9essayer ou <ContactSupportLink>contactez-nous</ContactSupportLink>.",
|
|
11975
11999
|
erc20RouterAddressNotFound: "Une erreur s'est produite. Veuillez essayer une devise diff\xE9rente ou <ContactSupportLink>contactez-nous</ContactSupportLink>.",
|
|
11976
12000
|
unknownError: "Une erreur s'est produite. Veuillez r\xE9essayer ou <ContactSupportLink>contactez-nous</ContactSupportLink>.",
|
|
@@ -12202,7 +12226,7 @@ var fr_default = {
|
|
|
12202
12226
|
sourceMethodTitle: "Votre source",
|
|
12203
12227
|
tokensListTitle: "Vos actifs",
|
|
12204
12228
|
transferTokens: "Transf\xE9rer des cryptos",
|
|
12205
|
-
bitcoinLightning: "Bitcoin
|
|
12229
|
+
bitcoinLightning: "Bitcoin Lightning",
|
|
12206
12230
|
receiveDropdownTitle: "",
|
|
12207
12231
|
receiveDropdownLabel: "Actif \xE0 recevoir",
|
|
12208
12232
|
payAmountLabel: "Vous envoyez",
|
|
@@ -12447,7 +12471,9 @@ var ja_default = {
|
|
|
12447
12471
|
groupPopularTokens: "\u4EBA\u6C17",
|
|
12448
12472
|
groupStablecoins: "\u30B9\u30C6\u30FC\u30D6\u30EB\u30B3\u30A4\u30F3",
|
|
12449
12473
|
groupOtherChains: "\u3059\u3079\u3066",
|
|
12450
|
-
groupOtherTokens: "\u3059\u3079\u3066\u306E\u5BFE\u5FDC\u30C8\u30FC\u30AF\u30F3"
|
|
12474
|
+
groupOtherTokens: "\u3059\u3079\u3066\u306E\u5BFE\u5FDC\u30C8\u30FC\u30AF\u30F3",
|
|
12475
|
+
depositBitcoinLightning: "Lightning\u3067\u30D3\u30C3\u30C8\u30B3\u30A4\u30F3\u3092\u5373\u6642\u5165\u91D1\u3002",
|
|
12476
|
+
lightningTryItNow: "\u4ECA\u3059\u3050\u8A66\u3059"
|
|
12451
12477
|
},
|
|
12452
12478
|
lightningInvoice: {
|
|
12453
12479
|
yourLightningInvoice: "\u30E9\u30A4\u30C8\u30CB\u30F3\u30B0\u8ACB\u6C42\u66F8"
|
|
@@ -12471,7 +12497,6 @@ var ja_default = {
|
|
|
12471
12497
|
depositProcessing: "\u5165\u91D1\u51E6\u7406\u4E2D",
|
|
12472
12498
|
depositWillBeCompletedSoon: "\u5165\u91D1\u306F\u307E\u3082\u306A\u304F\u5B8C\u4E86\u3057\u307E\u3059\u3002",
|
|
12473
12499
|
depositWillBeCredited: "\u307E\u3082\u306A\u304F\u30A2\u30AB\u30A6\u30F3\u30C8\u306B\u5165\u91D1\u3055\u308C\u307E\u3059\u3002",
|
|
12474
|
-
depositWillBeCreditedLighterNative: "\u304A\u5BA2\u69D8\u306E\u5165\u91D1\u306F\u7D042\u5206\u3067\u30A2\u30AB\u30A6\u30F3\u30C8\u306B\u5165\u91D1\u3055\u308C\u307E\u3059\u3002",
|
|
12475
12500
|
depositHasBeenCredited: "\u30A2\u30AB\u30A6\u30F3\u30C8\u306B\u5165\u91D1\u3055\u308C\u307E\u3057\u305F\u3002",
|
|
12476
12501
|
depositRefundedOrReprocessed: "\u5165\u91D1\u306F\u8FD4\u91D1\u307E\u305F\u306F\u518D\u51E6\u7406\u3055\u308C\u307E\u3057\u305F\u3002\u6700\u65B0\u60C5\u5831\u306B\u3064\u3044\u3066\u306F<ContactSupportLink>\u304A\u554F\u3044\u5408\u308F\u305B</ContactSupportLink>\u304F\u3060\u3055\u3044\u3002",
|
|
12477
12502
|
issueOccurredWithDeposit: "\u5165\u91D1\u306E\u51E6\u7406\u4E2D\u306B\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\u3082\u3046\u4E00\u5EA6\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002",
|
|
@@ -12570,6 +12595,7 @@ var ja_default = {
|
|
|
12570
12595
|
unsupportedExecutionType: "\u53D6\u5F15\u30BF\u30A4\u30D7\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u5225\u306E\u65B9\u6CD5\u3092\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002",
|
|
12571
12596
|
unsupportedRoute: "\u30C8\u30FC\u30AF\u30F3\u30DA\u30A2\u306F\u5229\u7528\u3067\u304D\u307E\u305B\u3093\u3002\u5225\u306E\u30C8\u30FC\u30AF\u30F3\u3092\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002",
|
|
12572
12597
|
userRecipientMismatch: "\u9001\u4FE1\u8005\u3068\u53D7\u4FE1\u8005\u304C\u4E00\u81F4\u3057\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\u30A2\u30C9\u30EC\u30B9\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
12598
|
+
recipientSameAsSource: "\u53D7\u4FE1\u30A2\u30C9\u30EC\u30B9\u306F\u9001\u91D1\u5143\u30A2\u30C9\u30EC\u30B9\u3068\u540C\u3058\u306B\u3067\u304D\u307E\u305B\u3093\u3002",
|
|
12573
12599
|
destinationTxFailed: "\u53D6\u5F15\u304C\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u3082\u3046\u4E00\u5EA6\u304A\u8A66\u3057\u3044\u305F\u3060\u304F\u304B\u3001<ContactSupportLink>\u304A\u554F\u3044\u5408\u308F\u305B</ContactSupportLink>\u304F\u3060\u3055\u3044\u3002",
|
|
12574
12600
|
erc20RouterAddressNotFound: "\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\u5225\u306E\u30C8\u30FC\u30AF\u30F3\u3092\u304A\u8A66\u3057\u3044\u305F\u3060\u304F\u304B\u3001<ContactSupportLink>\u304A\u554F\u3044\u5408\u308F\u305B</ContactSupportLink>\u304F\u3060\u3055\u3044\u3002",
|
|
12575
12601
|
unknownError: "\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\u3082\u3046\u4E00\u5EA6\u304A\u8A66\u3057\u3044\u305F\u3060\u304F\u304B\u3001<ContactSupportLink>\u304A\u554F\u3044\u5408\u308F\u305B</ContactSupportLink>\u304F\u3060\u3055\u3044\u3002",
|
|
@@ -12801,7 +12827,7 @@ var ja_default = {
|
|
|
12801
12827
|
sourceMethodTitle: "\u9001\u4FE1\u5143",
|
|
12802
12828
|
tokensListTitle: "\u3042\u306A\u305F\u306E\u30C8\u30FC\u30AF\u30F3",
|
|
12803
12829
|
transferTokens: "\u6697\u53F7\u8CC7\u7523\u3092\u9001\u91D1",
|
|
12804
|
-
bitcoinLightning: "
|
|
12830
|
+
bitcoinLightning: "Bitcoin Lightning",
|
|
12805
12831
|
receiveDropdownTitle: "",
|
|
12806
12832
|
receiveDropdownLabel: "\u53D7\u53D6\u8CC7\u7523",
|
|
12807
12833
|
payAmountLabel: "\u9001\u4FE1\u91D1\u984D",
|
|
@@ -13046,7 +13072,9 @@ var ko_default = {
|
|
|
13046
13072
|
groupPopularTokens: "\uC778\uAE30",
|
|
13047
13073
|
groupStablecoins: "\uC2A4\uD14C\uC774\uBE14\uCF54\uC778",
|
|
13048
13074
|
groupOtherChains: "\uC804\uCCB4",
|
|
13049
|
-
groupOtherTokens: "\uC9C0\uC6D0\uB418\uB294 \uBAA8\uB4E0 \uD1A0\uD070"
|
|
13075
|
+
groupOtherTokens: "\uC9C0\uC6D0\uB418\uB294 \uBAA8\uB4E0 \uD1A0\uD070",
|
|
13076
|
+
depositBitcoinLightning: "Lightning\uC73C\uB85C \uBE44\uD2B8\uCF54\uC778 \uC989\uC2DC \uC785\uAE08.",
|
|
13077
|
+
lightningTryItNow: "\uC9C0\uAE08 \uC0AC\uC6A9\uD574 \uBCF4\uAE30"
|
|
13050
13078
|
},
|
|
13051
13079
|
lightningInvoice: {
|
|
13052
13080
|
yourLightningInvoice: "\uB77C\uC774\uD2B8\uB2DD \uC778\uBCF4\uC774\uC2A4"
|
|
@@ -13070,7 +13098,6 @@ var ko_default = {
|
|
|
13070
13098
|
depositProcessing: "\uC785\uAE08 \uCC98\uB9AC \uC911",
|
|
13071
13099
|
depositWillBeCompletedSoon: "\uC785\uAE08\uC774 \uACE7 \uC644\uB8CC\uB429\uB2C8\uB2E4.",
|
|
13072
13100
|
depositWillBeCredited: "\uC785\uAE08\uC774 \uACE7 \uACC4\uC815\uC5D0 \uC785\uAE08\uB429\uB2C8\uB2E4.",
|
|
13073
|
-
depositWillBeCreditedLighterNative: "\uC785\uAE08\uC774 \uC57D 2\uBD84 \uB0B4\uC5D0 \uACC4\uC815\uC5D0 \uC785\uAE08\uB429\uB2C8\uB2E4.",
|
|
13074
13101
|
depositHasBeenCredited: "\uC785\uAE08\uC774 \uACC4\uC815\uC5D0 \uC785\uAE08\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",
|
|
13075
13102
|
depositRefundedOrReprocessed: "\uC785\uAE08\uC774 \uD658\uBD88\uB418\uC5C8\uAC70\uB098 \uC7AC\uCC98\uB9AC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uAD81\uAE08\uD55C \uC810\uC774 \uC788\uC73C\uBA74 <ContactSupportLink>\uBB38\uC758\uD574 \uC8FC\uC138\uC694</ContactSupportLink>.",
|
|
13076
13103
|
issueOccurredWithDeposit: "\uC785\uAE08 \uCC98\uB9AC \uC911 \uBB38\uC81C\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. \uB2E4\uC2DC \uC2DC\uB3C4\uD574 \uC8FC\uC138\uC694.",
|
|
@@ -13169,6 +13196,7 @@ var ko_default = {
|
|
|
13169
13196
|
unsupportedExecutionType: "\uAC70\uB798 \uC720\uD615\uC774 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uB2E4\uB978 \uBC29\uBC95\uC744 \uC2DC\uB3C4\uD558\uC138\uC694.",
|
|
13170
13197
|
unsupportedRoute: "\uD1A0\uD070 \uC30D\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uB2E4\uB978 \uD1A0\uD070\uC744 \uC2DC\uB3C4\uD558\uC138\uC694.",
|
|
13171
13198
|
userRecipientMismatch: "\uBC1C\uC2E0\uC790\uC640 \uC218\uC2E0\uC790\uAC00 \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4. \uC8FC\uC18C\uB97C \uD655\uC778\uD558\uC138\uC694.",
|
|
13199
|
+
recipientSameAsSource: "\uC218\uC2E0 \uC8FC\uC18C\uB294 \uCD9C\uAE08 \uC8FC\uC18C\uC640 \uAC19\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",
|
|
13172
13200
|
destinationTxFailed: "\uAC70\uB798\uAC00 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. \uB2E4\uC2DC \uC2DC\uB3C4\uD574 \uC8FC\uC2DC\uAC70\uB098 <ContactSupportLink>\uBB38\uC758\uD574 \uC8FC\uC138\uC694</ContactSupportLink>.",
|
|
13173
13201
|
erc20RouterAddressNotFound: "\uBB38\uC81C\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. \uB2E4\uB978 \uD1A0\uD070\uC744 \uC2DC\uB3C4\uD574 \uC8FC\uC2DC\uAC70\uB098 <ContactSupportLink>\uBB38\uC758\uD574 \uC8FC\uC138\uC694</ContactSupportLink>.",
|
|
13174
13202
|
unknownError: "\uBB38\uC81C\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. \uB2E4\uC2DC \uC2DC\uB3C4\uD574 \uC8FC\uC2DC\uAC70\uB098 <ContactSupportLink>\uBB38\uC758\uD574 \uC8FC\uC138\uC694</ContactSupportLink>.",
|
|
@@ -13400,7 +13428,7 @@ var ko_default = {
|
|
|
13400
13428
|
sourceMethodTitle: "\uC18C\uC2A4",
|
|
13401
13429
|
tokensListTitle: "\uB0B4 \uD1A0\uD070",
|
|
13402
13430
|
transferTokens: "\uC554\uD638\uD654\uD3D0 \uC804\uC1A1",
|
|
13403
|
-
bitcoinLightning: "
|
|
13431
|
+
bitcoinLightning: "Bitcoin Lightning",
|
|
13404
13432
|
receiveDropdownTitle: "",
|
|
13405
13433
|
receiveDropdownLabel: "\uBC1B\uC744 \uC790\uC0B0",
|
|
13406
13434
|
payAmountLabel: "\uBCF4\uB0BC \uAE08\uC561",
|
|
@@ -13645,7 +13673,9 @@ var ru_default = {
|
|
|
13645
13673
|
groupPopularTokens: "\u041F\u043E\u043F\u0443\u043B\u044F\u0440\u043D\u044B\u0435",
|
|
13646
13674
|
groupStablecoins: "\u0421\u0442\u0435\u0439\u0431\u043B\u043A\u043E\u0438\u043D\u044B",
|
|
13647
13675
|
groupOtherChains: "\u0412\u0441\u0435",
|
|
13648
|
-
groupOtherTokens: "\u0412\u0441\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043C\u044B\u0435 \u0442\u043E\u043A\u0435\u043D\u044B"
|
|
13676
|
+
groupOtherTokens: "\u0412\u0441\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043C\u044B\u0435 \u0442\u043E\u043A\u0435\u043D\u044B",
|
|
13677
|
+
depositBitcoinLightning: "\u041C\u0433\u043D\u043E\u0432\u0435\u043D\u043D\u043E \u0432\u043D\u043E\u0441\u0438\u0442\u0435 Bitcoin \u0447\u0435\u0440\u0435\u0437 Lightning.",
|
|
13678
|
+
lightningTryItNow: "\u041F\u043E\u043F\u0440\u043E\u0431\u043E\u0432\u0430\u0442\u044C"
|
|
13649
13679
|
},
|
|
13650
13680
|
lightningInvoice: {
|
|
13651
13681
|
yourLightningInvoice: "\u0421\u0447\u0451\u0442 Lightning"
|
|
@@ -13669,7 +13699,6 @@ var ru_default = {
|
|
|
13669
13699
|
depositProcessing: "\u0414\u0435\u043F\u043E\u0437\u0438\u0442 \u043E\u0431\u0440\u0430\u0431\u0430\u0442\u044B\u0432\u0430\u0435\u0442\u0441\u044F",
|
|
13670
13700
|
depositWillBeCompletedSoon: "\u0412\u0430\u0448 \u0434\u0435\u043F\u043E\u0437\u0438\u0442 \u0441\u043A\u043E\u0440\u043E \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0432\u0435\u0440\u0448\u0451\u043D.",
|
|
13671
13701
|
depositWillBeCredited: "\u0412\u0430\u0448 \u0434\u0435\u043F\u043E\u0437\u0438\u0442 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0447\u0438\u0441\u043B\u0435\u043D \u043D\u0430 \u0432\u0430\u0448 \u0441\u0447\u0451\u0442 \u0432 \u0431\u043B\u0438\u0436\u0430\u0439\u0448\u0435\u0435 \u0432\u0440\u0435\u043C\u044F.",
|
|
13672
|
-
depositWillBeCreditedLighterNative: "\u0412\u0430\u0448 \u0434\u0435\u043F\u043E\u0437\u0438\u0442 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0447\u0438\u0441\u043B\u0435\u043D \u043D\u0430 \u0432\u0430\u0448 \u0441\u0447\u0451\u0442 \u043F\u0440\u0438\u043C\u0435\u0440\u043D\u043E \u0447\u0435\u0440\u0435\u0437 \u0434\u0432\u0435 \u043C\u0438\u043D\u0443\u0442\u044B.",
|
|
13673
13702
|
depositHasBeenCredited: "\u0412\u0430\u0448 \u0434\u0435\u043F\u043E\u0437\u0438\u0442 \u0437\u0430\u0447\u0438\u0441\u043B\u0435\u043D \u043D\u0430 \u0432\u0430\u0448 \u0441\u0447\u0451\u0442.",
|
|
13674
13703
|
depositRefundedOrReprocessed: "\u0412\u0430\u0448 \u0434\u0435\u043F\u043E\u0437\u0438\u0442 \u0431\u044B\u043B \u0432\u043E\u0437\u0432\u0440\u0430\u0449\u0451\u043D \u0438\u043B\u0438 \u043F\u0435\u0440\u0435\u043E\u0431\u0440\u0430\u0431\u043E\u0442\u0430\u043D. \u041D\u0435 \u0441\u0442\u0435\u0441\u043D\u044F\u0439\u0442\u0435\u0441\u044C <ContactSupportLink>\u043E\u0431\u0440\u0430\u0449\u0430\u0442\u044C\u0441\u044F</ContactSupportLink> \u0437\u0430 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435\u043C.",
|
|
13675
13704
|
issueOccurredWithDeposit: "\u041F\u0440\u043E\u0438\u0437\u043E\u0448\u043B\u0430 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0430 \u043F\u0440\u0438 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0435 \u0432\u0430\u0448\u0435\u0433\u043E \u0434\u0435\u043F\u043E\u0437\u0438\u0442\u0430. \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0441\u043D\u043E\u0432\u0430.",
|
|
@@ -13768,6 +13797,7 @@ var ru_default = {
|
|
|
13768
13797
|
unsupportedExecutionType: "\u0422\u0438\u043F \u0442\u0440\u0430\u043D\u0437\u0430\u043A\u0446\u0438\u0438 \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0434\u0440\u0443\u0433\u043E\u0439 \u043C\u0435\u0442\u043E\u0434.",
|
|
13769
13798
|
unsupportedRoute: "\u041F\u0430\u0440\u0430 \u0442\u043E\u043A\u0435\u043D\u043E\u0432 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0430. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u0442\u043E\u043A\u0435\u043D\u044B.",
|
|
13770
13799
|
userRecipientMismatch: "\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u0435\u043B\u044C \u0438 \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u0435\u043B\u044C \u0434\u043E\u043B\u0436\u043D\u044B \u0441\u043E\u0432\u043F\u0430\u0434\u0430\u0442\u044C. \u041F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u0430\u0434\u0440\u0435\u0441\u0430.",
|
|
13800
|
+
recipientSameAsSource: "\u0410\u0434\u0440\u0435\u0441 \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u0435\u043B\u044F \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0441\u043E\u0432\u043F\u0430\u0434\u0430\u0442\u044C \u0441 \u0430\u0434\u0440\u0435\u0441\u043E\u043C \u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A\u0430.",
|
|
13771
13801
|
destinationTxFailed: "\u0422\u0440\u0430\u043D\u0437\u0430\u043A\u0446\u0438\u044F \u043D\u0435 \u0443\u0434\u0430\u043B\u0430\u0441\u044C. \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0441\u043D\u043E\u0432\u0430 \u0438\u043B\u0438 <ContactSupportLink>\u0441\u0432\u044F\u0436\u0438\u0442\u0435\u0441\u044C \u0441 \u043D\u0430\u043C\u0438</ContactSupportLink>.",
|
|
13772
13802
|
erc20RouterAddressNotFound: "\u0427\u0442\u043E-\u0442\u043E \u043F\u043E\u0448\u043B\u043E \u043D\u0435 \u0442\u0430\u043A. \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0434\u0440\u0443\u0433\u043E\u0439 \u0442\u043E\u043A\u0435\u043D \u0438\u043B\u0438 <ContactSupportLink>\u0441\u0432\u044F\u0436\u0438\u0442\u0435\u0441\u044C \u0441 \u043D\u0430\u043C\u0438</ContactSupportLink>.",
|
|
13773
13803
|
unknownError: "\u0427\u0442\u043E-\u0442\u043E \u043F\u043E\u0448\u043B\u043E \u043D\u0435 \u0442\u0430\u043A. \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0441\u043D\u043E\u0432\u0430 \u0438\u043B\u0438 <ContactSupportLink>\u0441\u0432\u044F\u0436\u0438\u0442\u0435\u0441\u044C \u0441 \u043D\u0430\u043C\u0438</ContactSupportLink>.",
|
|
@@ -13999,7 +14029,7 @@ var ru_default = {
|
|
|
13999
14029
|
sourceMethodTitle: "\u0412\u0430\u0448 \u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A",
|
|
14000
14030
|
tokensListTitle: "\u0412\u0430\u0448\u0438 \u0442\u043E\u043A\u0435\u043D\u044B",
|
|
14001
14031
|
transferTokens: "\u041F\u0435\u0440\u0435\u0432\u0435\u0441\u0442\u0438 \u043A\u0440\u0438\u043F\u0442\u043E\u0432\u0430\u043B\u044E\u0442\u0443",
|
|
14002
|
-
bitcoinLightning: "
|
|
14032
|
+
bitcoinLightning: "Bitcoin Lightning",
|
|
14003
14033
|
receiveDropdownTitle: "",
|
|
14004
14034
|
receiveDropdownLabel: "\u0410\u043A\u0442\u0438\u0432 \u0434\u043B\u044F \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u044F",
|
|
14005
14035
|
payAmountLabel: "\u0412\u044B \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442\u0435",
|
|
@@ -14244,7 +14274,9 @@ var tr_default = {
|
|
|
14244
14274
|
groupPopularTokens: "Pop\xFCler",
|
|
14245
14275
|
groupStablecoins: "Stablecoinler",
|
|
14246
14276
|
groupOtherChains: "T\xFCm\xFC",
|
|
14247
|
-
groupOtherTokens: "Desteklenen t\xFCm tokenlar"
|
|
14277
|
+
groupOtherTokens: "Desteklenen t\xFCm tokenlar",
|
|
14278
|
+
depositBitcoinLightning: "Lightning ile an\u0131nda Bitcoin yat\u0131r\u0131n.",
|
|
14279
|
+
lightningTryItNow: "Hemen deneyin"
|
|
14248
14280
|
},
|
|
14249
14281
|
lightningInvoice: {
|
|
14250
14282
|
yourLightningInvoice: "Lightning Faturas\u0131"
|
|
@@ -14268,7 +14300,6 @@ var tr_default = {
|
|
|
14268
14300
|
depositProcessing: "Yat\u0131r\u0131m i\u015Fleniyor",
|
|
14269
14301
|
depositWillBeCompletedSoon: "Yat\u0131r\u0131m\u0131n\u0131z yak\u0131nda tamamlanacak.",
|
|
14270
14302
|
depositWillBeCredited: "Yat\u0131r\u0131m\u0131n\u0131z k\u0131sa s\xFCre i\xE7inde hesab\u0131n\u0131za aktar\u0131lacak.",
|
|
14271
|
-
depositWillBeCreditedLighterNative: "Yat\u0131r\u0131m\u0131n\u0131z yakla\u015F\u0131k iki dakika i\xE7inde hesab\u0131n\u0131za aktar\u0131lacak.",
|
|
14272
14303
|
depositHasBeenCredited: "Yat\u0131r\u0131m\u0131n\u0131z hesab\u0131n\u0131za aktar\u0131ld\u0131.",
|
|
14273
14304
|
depositRefundedOrReprocessed: "Yat\u0131r\u0131m\u0131n\u0131z iade edildi veya yeniden i\u015Flendi. Bilgi almak i\xE7in <ContactSupportLink>bizimle ileti\u015Fime ge\xE7ebilirsiniz</ContactSupportLink>.",
|
|
14274
14305
|
issueOccurredWithDeposit: "Yat\u0131r\u0131m\u0131n\u0131zda bir sorun olu\u015Ftu. L\xFCtfen tekrar deneyin.",
|
|
@@ -14367,6 +14398,7 @@ var tr_default = {
|
|
|
14367
14398
|
unsupportedExecutionType: "\u0130\u015Flem t\xFCr\xFC desteklenmiyor. Farkl\u0131 y\xF6ntem deneyin.",
|
|
14368
14399
|
unsupportedRoute: "Token \xE7ifti kullan\u0131lam\u0131yor. Farkl\u0131 token'lar deneyin.",
|
|
14369
14400
|
userRecipientMismatch: "G\xF6nderen ve al\u0131c\u0131 e\u015Fle\u015Fmelidir. Adresleri kontrol edin.",
|
|
14401
|
+
recipientSameAsSource: "Al\u0131c\u0131 adresi, kaynak adresle ayn\u0131 olamaz.",
|
|
14370
14402
|
destinationTxFailed: "\u0130\u015Flem ba\u015Far\u0131s\u0131z. L\xFCtfen tekrar deneyin veya <ContactSupportLink>bizimle ileti\u015Fime ge\xE7in</ContactSupportLink>.",
|
|
14371
14403
|
erc20RouterAddressNotFound: "Bir \u015Feyler yanl\u0131\u015F gitti. L\xFCtfen farkl\u0131 bir token deneyin veya <ContactSupportLink>bizimle ileti\u015Fime ge\xE7in</ContactSupportLink>.",
|
|
14372
14404
|
unknownError: "Bir \u015Feyler yanl\u0131\u015F gitti. L\xFCtfen tekrar deneyin veya <ContactSupportLink>bizimle ileti\u015Fime ge\xE7in</ContactSupportLink>.",
|
|
@@ -14598,7 +14630,7 @@ var tr_default = {
|
|
|
14598
14630
|
sourceMethodTitle: "Kayna\u011F\u0131n\u0131z",
|
|
14599
14631
|
tokensListTitle: "Token'lar\u0131n\u0131z",
|
|
14600
14632
|
transferTokens: "Kripto Transfer Et",
|
|
14601
|
-
bitcoinLightning: "
|
|
14633
|
+
bitcoinLightning: "Bitcoin Lightning",
|
|
14602
14634
|
receiveDropdownTitle: "",
|
|
14603
14635
|
receiveDropdownLabel: "Al\u0131nacak Varl\u0131k",
|
|
14604
14636
|
payAmountLabel: "G\xF6nderdi\u011Finiz",
|
|
@@ -14843,7 +14875,9 @@ var zh_default = {
|
|
|
14843
14875
|
groupPopularTokens: "\u70ED\u95E8",
|
|
14844
14876
|
groupStablecoins: "\u7A33\u5B9A\u5E01",
|
|
14845
14877
|
groupOtherChains: "\u5168\u90E8",
|
|
14846
|
-
groupOtherTokens: "\u6240\u6709\u652F\u6301\u7684\u4EE3\u5E01"
|
|
14878
|
+
groupOtherTokens: "\u6240\u6709\u652F\u6301\u7684\u4EE3\u5E01",
|
|
14879
|
+
depositBitcoinLightning: "\u901A\u8FC7\u95EA\u7535\u7F51\u7EDC\u5373\u65F6\u5B58\u5165\u6BD4\u7279\u5E01\u3002",
|
|
14880
|
+
lightningTryItNow: "\u7ACB\u5373\u5C1D\u8BD5"
|
|
14847
14881
|
},
|
|
14848
14882
|
lightningInvoice: {
|
|
14849
14883
|
yourLightningInvoice: "\u95EA\u7535\u7F51\u7EDC\u53D1\u7968"
|
|
@@ -14867,7 +14901,6 @@ var zh_default = {
|
|
|
14867
14901
|
depositProcessing: "\u5B58\u6B3E\u5904\u7406\u4E2D",
|
|
14868
14902
|
depositWillBeCompletedSoon: "\u60A8\u7684\u5B58\u6B3E\u5C06\u5F88\u5FEB\u5B8C\u6210\u3002",
|
|
14869
14903
|
depositWillBeCredited: "\u60A8\u7684\u5B58\u6B3E\u5C06\u5F88\u5FEB\u8BB0\u5165\u60A8\u7684\u8D26\u6237\u3002",
|
|
14870
|
-
depositWillBeCreditedLighterNative: "\u60A8\u7684\u5B58\u6B3E\u5C06\u5728\u5927\u7EA6\u4E24\u5206\u949F\u5185\u8BB0\u5165\u60A8\u7684\u8D26\u6237\u3002",
|
|
14871
14904
|
depositHasBeenCredited: "\u60A8\u7684\u5B58\u6B3E\u5DF2\u8BB0\u5165\u60A8\u7684\u8D26\u6237\u3002",
|
|
14872
14905
|
depositRefundedOrReprocessed: "\u60A8\u7684\u5B58\u6B3E\u5DF2\u9000\u6B3E\u6216\u91CD\u65B0\u5904\u7406\u3002\u5982\u6709\u7591\u95EE\uFF0C\u8BF7\u968F\u65F6<ContactSupportLink>\u8054\u7CFB\u6211\u4EEC</ContactSupportLink>\u3002",
|
|
14873
14906
|
issueOccurredWithDeposit: "\u60A8\u7684\u5B58\u6B3E\u51FA\u73B0\u95EE\u9898\u3002\u8BF7\u91CD\u8BD5\u3002",
|
|
@@ -14966,6 +14999,7 @@ var zh_default = {
|
|
|
14966
14999
|
unsupportedExecutionType: "\u4E0D\u652F\u6301\u7684\u4EA4\u6613\u7C7B\u578B\u3002\u5C1D\u8BD5\u4E0D\u540C\u7684\u65B9\u6CD5\u3002",
|
|
14967
15000
|
unsupportedRoute: "\u4EE3\u5E01\u5BF9\u4E0D\u53EF\u7528\u3002\u5C1D\u8BD5\u4E0D\u540C\u7684\u4EE3\u5E01\u3002",
|
|
14968
15001
|
userRecipientMismatch: "\u53D1\u9001\u8005\u548C\u63A5\u6536\u8005\u5FC5\u987B\u5339\u914D\u3002\u68C0\u67E5\u5730\u5740\u3002",
|
|
15002
|
+
recipientSameAsSource: "\u63A5\u6536\u5730\u5740\u4E0D\u80FD\u4E0E\u6765\u6E90\u5730\u5740\u76F8\u540C\u3002",
|
|
14969
15003
|
destinationTxFailed: "\u4EA4\u6613\u5931\u8D25\u3002\u8BF7\u91CD\u8BD5\u6216<ContactSupportLink>\u8054\u7CFB\u6211\u4EEC</ContactSupportLink>\u3002",
|
|
14970
15004
|
erc20RouterAddressNotFound: "\u51FA\u73B0\u95EE\u9898\u3002\u8BF7\u5C1D\u8BD5\u4E0D\u540C\u7684\u4EE3\u5E01\u6216<ContactSupportLink>\u8054\u7CFB\u6211\u4EEC</ContactSupportLink>\u3002",
|
|
14971
15005
|
unknownError: "\u51FA\u73B0\u95EE\u9898\u3002\u8BF7\u91CD\u8BD5\u6216<ContactSupportLink>\u8054\u7CFB\u6211\u4EEC</ContactSupportLink>\u3002",
|
|
@@ -15197,7 +15231,7 @@ var zh_default = {
|
|
|
15197
15231
|
sourceMethodTitle: "\u60A8\u7684\u6765\u6E90",
|
|
15198
15232
|
tokensListTitle: "\u60A8\u7684\u4EE3\u5E01",
|
|
15199
15233
|
transferTokens: "\u8F6C\u8D26\u52A0\u5BC6\u8D27\u5E01",
|
|
15200
|
-
bitcoinLightning: "
|
|
15234
|
+
bitcoinLightning: "Bitcoin Lightning",
|
|
15201
15235
|
receiveDropdownTitle: "",
|
|
15202
15236
|
receiveDropdownLabel: "\u63A5\u6536\u8D44\u4EA7",
|
|
15203
15237
|
payAmountLabel: "\u60A8\u53D1\u9001",
|
|
@@ -15628,7 +15662,7 @@ function generateQuoteApiErrorForDisplay(err, t) {
|
|
|
15628
15662
|
|
|
15629
15663
|
// src/domains/aave.ts
|
|
15630
15664
|
import { AaveV3Ethereum } from "@aave-dao/aave-address-book";
|
|
15631
|
-
import { isTokenEquivalent as
|
|
15665
|
+
import { isTokenEquivalent as isTokenEquivalent4 } from "@funkit/utils";
|
|
15632
15666
|
var AAVE_MARKET_ADDRESS_BY_CHAIN = {
|
|
15633
15667
|
"1": AaveV3Ethereum.POOL
|
|
15634
15668
|
};
|
|
@@ -15646,7 +15680,7 @@ function isAaveNativeSupplyContext({
|
|
|
15646
15680
|
if (!AAVE_MARKET_ADDRESS_BY_CHAIN[String(checkoutConfig.targetChain)]) {
|
|
15647
15681
|
return false;
|
|
15648
15682
|
}
|
|
15649
|
-
return
|
|
15683
|
+
return isTokenEquivalent4({
|
|
15650
15684
|
firstTokenChainId: String(sourceAsset.chainId),
|
|
15651
15685
|
firstTokenAddress: sourceAsset.address,
|
|
15652
15686
|
secondTokenChainId: checkoutConfig.targetChain,
|
|
@@ -16252,7 +16286,7 @@ function createExactOutBuilder(isStablecoin) {
|
|
|
16252
16286
|
};
|
|
16253
16287
|
},
|
|
16254
16288
|
hasKnownAmountBeforeQuote(config) {
|
|
16255
|
-
return !!config.targetAssetAmount &&
|
|
16289
|
+
return !!config.targetAssetAmount && isStablecoin(config.targetAssetTicker);
|
|
16256
16290
|
},
|
|
16257
16291
|
computeQuickOptionAmount({ percentage, usdAvailableAmount }) {
|
|
16258
16292
|
const fiatAmount = usdAvailableAmount != null ? usdAvailableAmount * (percentage / 100) : percentage;
|
|
@@ -18596,7 +18630,7 @@ Dialog.BottomBar = FunBottomBar;
|
|
|
18596
18630
|
|
|
18597
18631
|
// src/modals/WithdrawalModal/LighterWithdrawal.tsx
|
|
18598
18632
|
import { RELAY_LIGHTER_CHAIN_ID as RELAY_LIGHTER_CHAIN_ID2 } from "@funkit/fun-relay";
|
|
18599
|
-
import { formatAddress as formatAddress3, formatCryptoAndStringify
|
|
18633
|
+
import { formatAddress as formatAddress3, formatCryptoAndStringify } from "@funkit/utils";
|
|
18600
18634
|
import * as dnum6 from "dnum";
|
|
18601
18635
|
import React83, { useEffect as useEffect33, useMemo as useMemo26 } from "react";
|
|
18602
18636
|
import { createPortal as createPortal2 } from "react-dom";
|
|
@@ -19118,7 +19152,6 @@ var DecimalSpan = ({
|
|
|
19118
19152
|
|
|
19119
19153
|
// src/components/FunTransactionSummary/PaymentFeesSummary.tsx
|
|
19120
19154
|
import {
|
|
19121
|
-
formatCryptoAndStringify,
|
|
19122
19155
|
formatCurrencyAndStringify as formatCurrencyAndStringify2,
|
|
19123
19156
|
formatDynamicFeeUsd,
|
|
19124
19157
|
formatPercent,
|
|
@@ -19386,17 +19419,9 @@ function translateAppFeeLabel(appFeeLabel, t) {
|
|
|
19386
19419
|
};
|
|
19387
19420
|
return feeLabelMap[appFeeLabel] ?? t("fees.funxyzFee");
|
|
19388
19421
|
}
|
|
19389
|
-
function computeDigest(relayQuoteMetadata, uiCustomizations, totalPriceImpactPercent, gasUsd
|
|
19422
|
+
function computeDigest(relayQuoteMetadata, uiCustomizations, totalPriceImpactPercent, gasUsd) {
|
|
19390
19423
|
const showTransactionDigest = uiCustomizations.confirmationScreen.showTransactionDigest;
|
|
19391
19424
|
const details = relayQuoteMetadata.relayQuote.details;
|
|
19392
|
-
if (checkoutConfig && hasFinalizedToken) {
|
|
19393
|
-
const { finalizedTokenAmount, finalizedTokenSymbol } = computeDisplayDestinationToken(checkoutConfig, 1);
|
|
19394
|
-
const amount = formatCryptoAndStringify(finalizedTokenAmount);
|
|
19395
|
-
return {
|
|
19396
|
-
isMainnet: false,
|
|
19397
|
-
value: `1 ${checkoutConfig.targetAssetTicker} = ${amount} ${finalizedTokenSymbol}`
|
|
19398
|
-
};
|
|
19399
|
-
}
|
|
19400
19425
|
if (showTransactionDigest === "none") {
|
|
19401
19426
|
return {
|
|
19402
19427
|
isMainnet: false,
|
|
@@ -19434,11 +19459,6 @@ function renderRelayFee({
|
|
|
19434
19459
|
const totalPriceImpact = swapImpactUsd + appFeeUsd;
|
|
19435
19460
|
const totalPriceImpactPercent = swapImpact + appFeePercent;
|
|
19436
19461
|
const details = relayQuoteMetadata.relayQuote.details;
|
|
19437
|
-
const hasFinalizedToken = Boolean(checkoutConfig?.finalizedToken);
|
|
19438
|
-
const isVaultDeposit = checkoutConfig && isVaultDepositCheckout(checkoutConfig, {
|
|
19439
|
-
tokenAddress: details?.currencyIn?.currency?.address || "0x",
|
|
19440
|
-
chainId: String(details?.currencyIn?.currency?.chainId || "")
|
|
19441
|
-
});
|
|
19442
19462
|
const selectedRouteConfig = uiCustomizations.confirmationScreen.selectedRouteConfig;
|
|
19443
19463
|
const passthroughLabel = selectedRouteConfig?.passthroughLabel ?? t("fees.selectedRouteNativeBridge");
|
|
19444
19464
|
const passthroughIcon = selectedRouteConfig ? /* @__PURE__ */ React81.createElement(
|
|
@@ -19477,13 +19497,7 @@ function renderRelayFee({
|
|
|
19477
19497
|
relayQuoteMetadata,
|
|
19478
19498
|
uiCustomizations,
|
|
19479
19499
|
totalPriceImpactPercent,
|
|
19480
|
-
totalNetworkCostUsd
|
|
19481
|
-
checkoutConfig,
|
|
19482
|
-
hasFinalizedToken
|
|
19483
|
-
);
|
|
19484
|
-
const { finalizedTokenAmount } = computeDisplayDestinationToken(
|
|
19485
|
-
checkoutConfig,
|
|
19486
|
-
checkoutConfig?.targetAssetAmount || 0
|
|
19500
|
+
totalNetworkCostUsd
|
|
19487
19501
|
);
|
|
19488
19502
|
const showSelectedRoute = uiCustomizations.confirmationScreen.showSelectedRoute || !!selectedRouteConfig;
|
|
19489
19503
|
return {
|
|
@@ -19501,20 +19515,6 @@ function renderRelayFee({
|
|
|
19501
19515
|
value: selectedRoute.label
|
|
19502
19516
|
}
|
|
19503
19517
|
] : [],
|
|
19504
|
-
...checkoutConfig?.finalizedToken && !isVaultDeposit ? [
|
|
19505
|
-
{
|
|
19506
|
-
label: t("fees.receiveAtLeast"),
|
|
19507
|
-
testId: "receive-at-least",
|
|
19508
|
-
value: `${formatCryptoAndStringify(finalizedTokenAmount)} ${checkoutConfig.finalizedToken.tokenSymbol}`
|
|
19509
|
-
}
|
|
19510
|
-
] : [],
|
|
19511
|
-
...hasFinalizedToken ? [
|
|
19512
|
-
{
|
|
19513
|
-
label: t("fees.exchangeRate"),
|
|
19514
|
-
testId: "exchange-rate",
|
|
19515
|
-
value: collapsedValue ?? ""
|
|
19516
|
-
}
|
|
19517
|
-
] : [],
|
|
19518
19518
|
{
|
|
19519
19519
|
label: t("fees.networkCost"),
|
|
19520
19520
|
testId: "network-cost",
|
|
@@ -19611,7 +19611,7 @@ function renderRelayFee({
|
|
|
19611
19611
|
value: t("fees.autoSlippageValue", {
|
|
19612
19612
|
value: formatPercent(maxSlippage)
|
|
19613
19613
|
}),
|
|
19614
|
-
tooltipText:
|
|
19614
|
+
tooltipText: t("fees.slippageTooltipWithMin", {
|
|
19615
19615
|
minReceived: formatCurrencyAndStringify2(minReceived)
|
|
19616
19616
|
})
|
|
19617
19617
|
},
|
|
@@ -19945,6 +19945,20 @@ var getTokenIconUrl = (symbol, tokens) => {
|
|
|
19945
19945
|
|
|
19946
19946
|
// src/modals/WithdrawalModal/LighterWithdrawal.tsx
|
|
19947
19947
|
var LIGHTER_SECURE_METHOD_ID = "lighter-secure";
|
|
19948
|
+
var LIGHTER_SECURE_MAINNET_ADDRESS = {
|
|
19949
|
+
ETH: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
|
|
19950
|
+
LIT: "0x232CE3bd40fCd6f80f3d55A522d03f25Df784Ee2",
|
|
19951
|
+
USDC: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
|
|
19952
|
+
LINK: "0x514910771AF9Ca656af840dff83E8264EcF986CA",
|
|
19953
|
+
UNI: "0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984",
|
|
19954
|
+
AAVE: "0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9",
|
|
19955
|
+
SKY: "0x56072C95FAA701256059aa122697B133aDEd9279",
|
|
19956
|
+
LDO: "0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32",
|
|
19957
|
+
AZTEC: "0xA27EC0006e59f245217Ff08CD52A7E8b169E62D2"
|
|
19958
|
+
};
|
|
19959
|
+
function getLighterSecureMainnetAddress(symbol) {
|
|
19960
|
+
return LIGHTER_SECURE_MAINNET_ADDRESS[symbol.toUpperCase()];
|
|
19961
|
+
}
|
|
19948
19962
|
var LIGHTER_FAST_MAX_WITHDRAWAL_LABEL = "$3M";
|
|
19949
19963
|
function LighterFastMaxExceededMessage({
|
|
19950
19964
|
onSwitchToSecure
|
|
@@ -20239,7 +20253,7 @@ function LighterSecureReceiveAmountValue({
|
|
|
20239
20253
|
size: "withdrawalYouWillReceive",
|
|
20240
20254
|
weight: "withdrawalYouWillReceiveValueCrypto"
|
|
20241
20255
|
},
|
|
20242
|
-
amount ?
|
|
20256
|
+
amount ? formatCryptoAndStringify(Number(amount), tokenSymbol, true, {
|
|
20243
20257
|
minBeforeUseScientific: 0,
|
|
20244
20258
|
numberFormatOptions: { maximumFractionDigits: 8 }
|
|
20245
20259
|
}) : NO_DATA_VALUE
|
|
@@ -20267,7 +20281,7 @@ function LighterSecureWithdrawalSuccess({
|
|
|
20267
20281
|
height: 15,
|
|
20268
20282
|
borderRadius: "full"
|
|
20269
20283
|
}
|
|
20270
|
-
), /* @__PURE__ */ React83.createElement(Text, { size: "txSummaryValue", weight: "txSummaryValue" },
|
|
20284
|
+
), /* @__PURE__ */ React83.createElement(Text, { size: "txSummaryValue", weight: "txSummaryValue" }, formatCryptoAndStringify(Number(amount), tokenSymbol))));
|
|
20271
20285
|
const transactionItem = hasRealTxHash ? /* @__PURE__ */ React83.createElement(FunTxSummaryLineItem, null, /* @__PURE__ */ React83.createElement(FunTxSummaryLineItemKeyText, { text: t("directExecution.withdrawalTx") }), /* @__PURE__ */ React83.createElement(Box, { display: "flex", alignItems: "center", gap: "4" }, /* @__PURE__ */ React83.createElement(Text, { size: "txSummaryValue", weight: "txSummaryValue" }, formatAddress3(txHash)), /* @__PURE__ */ React83.createElement(
|
|
20272
20286
|
FunRedirectButton,
|
|
20273
20287
|
{
|
|
@@ -20361,10 +20375,8 @@ import {
|
|
|
20361
20375
|
} from "@funkit/connect-core";
|
|
20362
20376
|
import { useMemo as useMemo27 } from "react";
|
|
20363
20377
|
function useRecentDepositsApi(params) {
|
|
20364
|
-
const isFasterNotificationsEnabled = useFeatureGate("faster-notifications");
|
|
20365
20378
|
return useRecentDepositsApiQuery({
|
|
20366
20379
|
...params,
|
|
20367
|
-
isFasterNotificationsEnabled,
|
|
20368
20380
|
logger
|
|
20369
20381
|
});
|
|
20370
20382
|
}
|
|
@@ -20420,7 +20432,7 @@ function useFunkitRecentDepositsImpl(query) {
|
|
|
20420
20432
|
import {
|
|
20421
20433
|
formatAddress as formatAddress6,
|
|
20422
20434
|
formatTimestamp as formatTimestamp2,
|
|
20423
|
-
isTokenEquivalent as
|
|
20435
|
+
isTokenEquivalent as isTokenEquivalent5
|
|
20424
20436
|
} from "@funkit/utils";
|
|
20425
20437
|
import React112, { useCallback as useCallback23, useMemo as useMemo33, useRef as useRef14, useState as useState31 } from "react";
|
|
20426
20438
|
import { createPortal as createPortal3 } from "react-dom";
|
|
@@ -20437,13 +20449,14 @@ import React106 from "react";
|
|
|
20437
20449
|
|
|
20438
20450
|
// src/hooks/usePaymentMethodIcon.tsx
|
|
20439
20451
|
import React105 from "react";
|
|
20452
|
+
import { bitcoinChain as bitcoinChain4 } from "@funkit/chains";
|
|
20440
20453
|
|
|
20441
20454
|
// src/components/FunPayments/FunPaymentMethods.tsx
|
|
20442
20455
|
import {
|
|
20443
20456
|
BridgeCustomerStatus as BridgeCustomerStatus3,
|
|
20444
20457
|
FormOfPaymentType as FormOfPaymentType3
|
|
20445
20458
|
} from "@funkit/api-base";
|
|
20446
|
-
import {
|
|
20459
|
+
import { lightningChain } from "@funkit/chains";
|
|
20447
20460
|
import {
|
|
20448
20461
|
formatCurrencyAndStringify as formatCurrencyAndStringify4
|
|
20449
20462
|
} from "@funkit/utils";
|
|
@@ -20727,7 +20740,8 @@ var EMPTY_RESULT = {
|
|
|
20727
20740
|
chainIdSortOrder: [],
|
|
20728
20741
|
defaultChainId: void 0,
|
|
20729
20742
|
priorityTokenSymbols: [],
|
|
20730
|
-
newBadgeSymbols: /* @__PURE__ */ new Set()
|
|
20743
|
+
newBadgeSymbols: /* @__PURE__ */ new Set(),
|
|
20744
|
+
addressBySymbolByChainId: {}
|
|
20731
20745
|
};
|
|
20732
20746
|
function useTokenTransferConfig(isWithdrawal = false) {
|
|
20733
20747
|
const tokenTransferConfig = useDynamicConfig("tokentransferconfig");
|
|
@@ -21846,12 +21860,7 @@ var BitcoinLightningPaymentMethodItem = ({
|
|
|
21846
21860
|
const { isUserGeoblocked } = useFunkitUserIp();
|
|
21847
21861
|
const { t } = useFunkitTranslation();
|
|
21848
21862
|
const { textCustomizations } = useFunkitConfig();
|
|
21849
|
-
const valueIcon = customValueIcon ?? /* @__PURE__ */ React92.createElement(
|
|
21850
|
-
SupportedChainList,
|
|
21851
|
-
{
|
|
21852
|
-
chainIdList: [bitcoinChain4.id, lightningChain.id].map(String)
|
|
21853
|
-
}
|
|
21854
|
-
);
|
|
21863
|
+
const valueIcon = customValueIcon ?? /* @__PURE__ */ React92.createElement(SupportedChainList, { chainIdList: [lightningChain.id].map(String) });
|
|
21855
21864
|
const limit = formatCurrencyAndStringify4(MAX_BTC_LIGHTNING_AMOUNT_USD, {
|
|
21856
21865
|
maxBeforeUseSuffix: 1e3
|
|
21857
21866
|
});
|
|
@@ -22202,32 +22211,9 @@ var ApplePayIcon = ({ size = 20 }) => /* @__PURE__ */ React93.createElement(
|
|
|
22202
22211
|
)
|
|
22203
22212
|
);
|
|
22204
22213
|
|
|
22205
|
-
// src/components/Icons/CashAppIcon.tsx
|
|
22206
|
-
import React94 from "react";
|
|
22207
|
-
var CashAppIcon = ({ size = 20 }) => /* @__PURE__ */ React94.createElement(
|
|
22208
|
-
"svg",
|
|
22209
|
-
{
|
|
22210
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
22211
|
-
width: size,
|
|
22212
|
-
height: size,
|
|
22213
|
-
viewBox: "0 0 210 210",
|
|
22214
|
-
fill: "none"
|
|
22215
|
-
},
|
|
22216
|
-
/* @__PURE__ */ React94.createElement("rect", { width: "150", height: "150", x: "25", y: "25", rx: "7.81424", fill: "#ffffff" }),
|
|
22217
|
-
/* @__PURE__ */ React94.createElement(
|
|
22218
|
-
"path",
|
|
22219
|
-
{
|
|
22220
|
-
fill: "#00e013",
|
|
22221
|
-
fillRule: "evenodd",
|
|
22222
|
-
clipRule: "evenodd",
|
|
22223
|
-
d: "M206.398,30.286c-4.502-12.394-14.307-22.189-26.713-26.687C168.48,0,158.075,0,136.865,0h-63.63 c-21.11,0-31.615,0-42.92,3.498C17.909,7.996,8.104,17.792,3.602,30.186C0,41.58,0,52.075,0,73.165v63.57 c0,21.19,0,31.585,3.502,42.98c4.502,12.394,14.307,22.189,26.713,26.687C41.62,210,52.125,210,73.135,210h63.63 c21.11,0,31.615,0,42.92-3.598c12.406-4.498,22.211-14.293,26.713-26.687C210,168.32,210,157.825,210,136.735v-63.47 C210,52.175,210,41.68,206.398,30.286z M151.472,71.866l-12.106,9.895c-1.101,0.9-2.601,0.7-3.402-0.4 c-6.203-7.596-15.807-11.894-26.312-11.894c-11.706,0-19.009,5.098-19.009,12.294c-0.2,6.097,5.503,9.196,23.011,12.994 c22.111,4.698,32.215,13.893,32.215,29.386c0,19.391-15.808,33.684-40.519,35.283l-2.401,11.495 c-0.2,1.099-1.201,1.899-2.401,1.899H81.539c-1.601,0-2.701-1.499-2.401-2.999l3.001-12.794 c-12.206-3.498-22.111-10.295-27.813-18.591c-0.7-1.099-0.5-2.499,0.5-3.298l13.206-10.395c1.101-0.9,2.701-0.6,3.502,0.5 c7.003,9.795,17.808,15.593,30.815,15.593c11.706,0,20.51-5.697,20.51-13.893c0-6.297-4.402-9.196-19.309-12.294 c-25.412-5.497-35.517-14.793-35.517-30.286c0-17.991,15.107-31.485,37.918-33.284l2.501-11.894c0.2-1.099,1.201-1.899,2.401-1.899 h18.709c1.501,0,2.701,1.399,2.401,2.899l-2.901,13.294c9.805,2.999,17.808,8.396,22.811,15.093 C152.673,69.567,152.473,71.066,151.472,71.866z"
|
|
22224
|
-
}
|
|
22225
|
-
)
|
|
22226
|
-
);
|
|
22227
|
-
|
|
22228
22214
|
// src/components/Icons/CryptoTransferQRIcon.tsx
|
|
22229
|
-
import
|
|
22230
|
-
var CryptoTransferQRIcon = ({ size = 20 }) => /* @__PURE__ */
|
|
22215
|
+
import React94 from "react";
|
|
22216
|
+
var CryptoTransferQRIcon = ({ size = 20 }) => /* @__PURE__ */ React94.createElement(
|
|
22231
22217
|
"svg",
|
|
22232
22218
|
{
|
|
22233
22219
|
width: size,
|
|
@@ -22236,7 +22222,7 @@ var CryptoTransferQRIcon = ({ size = 20 }) => /* @__PURE__ */ React95.createElem
|
|
|
22236
22222
|
fill: "none",
|
|
22237
22223
|
xmlns: "http://www.w3.org/2000/svg"
|
|
22238
22224
|
},
|
|
22239
|
-
/* @__PURE__ */
|
|
22225
|
+
/* @__PURE__ */ React94.createElement(
|
|
22240
22226
|
"path",
|
|
22241
22227
|
{
|
|
22242
22228
|
d: "M6.18056 9.99924H10V13.8187M3.13264 9.99924H3.125M6.95208 13.8187H6.94444M10.0076 16.8742H10M16.8826 9.99924H16.875M3.125 13.8187H4.27083M12.6736 9.99924H14.2014M3.125 16.8742H6.94444M10 2.36035V6.94369M14.2778 16.8742H15.6528C16.0806 16.8742 16.2945 16.8742 16.4579 16.791C16.6016 16.7177 16.7185 16.6009 16.7917 16.4572C16.875 16.2937 16.875 16.0798 16.875 15.652V14.277C16.875 13.8492 16.875 13.6353 16.7917 13.4719C16.7185 13.3282 16.6016 13.2113 16.4579 13.1381C16.2945 13.0548 16.0806 13.0548 15.6528 13.0548H14.2778C13.85 13.0548 13.6361 13.0548 13.4726 13.1381C13.3289 13.2113 13.2121 13.3282 13.1388 13.4719C13.0556 13.6353 13.0556 13.8492 13.0556 14.277V15.652C13.0556 16.0798 13.0556 16.2937 13.1388 16.4572C13.2121 16.6009 13.3289 16.7177 13.4726 16.791C13.6361 16.8742 13.85 16.8742 14.2778 16.8742ZM14.2778 6.94369H15.6528C16.0806 6.94369 16.2945 6.94369 16.4579 6.86043C16.6016 6.78719 16.7185 6.67033 16.7917 6.52659C16.875 6.36319 16.875 6.14928 16.875 5.72146V4.34646C16.875 3.91864 16.875 3.70474 16.7917 3.54133C16.7185 3.3976 16.6016 3.28074 16.4579 3.2075C16.2945 3.12424 16.0806 3.12424 15.6528 3.12424H14.2778C13.85 3.12424 13.6361 3.12424 13.4726 3.2075C13.3289 3.28074 13.2121 3.3976 13.1388 3.54133C13.0556 3.70474 13.0556 3.91864 13.0556 4.34646V5.72146C13.0556 6.14928 13.0556 6.36319 13.1388 6.52659C13.2121 6.67033 13.3289 6.78719 13.4726 6.86043C13.6361 6.94369 13.85 6.94369 14.2778 6.94369ZM4.34722 6.94369H5.72222C6.15004 6.94369 6.36395 6.94369 6.52735 6.86043C6.67109 6.78719 6.78795 6.67033 6.86119 6.52659C6.94444 6.36319 6.94444 6.14928 6.94444 5.72146V4.34646C6.94444 3.91864 6.94444 3.70474 6.86119 3.54133C6.78795 3.3976 6.67109 3.28074 6.52735 3.2075C6.36395 3.12424 6.15004 3.12424 5.72222 3.12424H4.34722C3.9194 3.12424 3.7055 3.12424 3.54209 3.2075C3.39836 3.28074 3.2815 3.3976 3.20826 3.54133C3.125 3.70474 3.125 3.91864 3.125 4.34646V5.72146C3.125 6.14928 3.125 6.36319 3.20826 6.52659C3.2815 6.67033 3.39836 6.78719 3.54209 6.86043C3.7055 6.94369 3.9194 6.94369 4.34722 6.94369Z",
|
|
@@ -22249,8 +22235,8 @@ var CryptoTransferQRIcon = ({ size = 20 }) => /* @__PURE__ */ React95.createElem
|
|
|
22249
22235
|
);
|
|
22250
22236
|
|
|
22251
22237
|
// src/components/Icons/ExchangeIcon.tsx
|
|
22252
|
-
import
|
|
22253
|
-
var ExchangeIcon = ({ size = 20 }) => /* @__PURE__ */
|
|
22238
|
+
import React95 from "react";
|
|
22239
|
+
var ExchangeIcon = ({ size = 20 }) => /* @__PURE__ */ React95.createElement(
|
|
22254
22240
|
"svg",
|
|
22255
22241
|
{
|
|
22256
22242
|
width: size,
|
|
@@ -22259,7 +22245,7 @@ var ExchangeIcon = ({ size = 20 }) => /* @__PURE__ */ React96.createElement(
|
|
|
22259
22245
|
fill: "none",
|
|
22260
22246
|
xmlns: "http://www.w3.org/2000/svg"
|
|
22261
22247
|
},
|
|
22262
|
-
/* @__PURE__ */
|
|
22248
|
+
/* @__PURE__ */ React95.createElement(
|
|
22263
22249
|
"path",
|
|
22264
22250
|
{
|
|
22265
22251
|
d: "M12.5 17.5V13C12.5 12.5333 12.5 12.2999 12.4092 12.1217C12.3293 11.9649 12.2018 11.8374 12.045 11.7575C11.8667 11.6667 11.6334 11.6667 11.1667 11.6667H8.83333C8.36662 11.6667 8.13327 11.6667 7.95501 11.7575C7.79821 11.8374 7.67072 11.9649 7.59083 12.1217C7.5 12.2999 7.5 12.5333 7.5 13V17.5M2.5 5.83333C2.5 7.21405 3.61929 8.33333 5 8.33333C6.38071 8.33333 7.5 7.21405 7.5 5.83333C7.5 7.21405 8.61929 8.33333 10 8.33333C11.3807 8.33333 12.5 7.21405 12.5 5.83333C12.5 7.21405 13.6193 8.33333 15 8.33333C16.3807 8.33333 17.5 7.21405 17.5 5.83333M5.16667 17.5H14.8333C15.7668 17.5 16.2335 17.5 16.59 17.3183C16.9036 17.1586 17.1586 16.9036 17.3183 16.59C17.5 16.2335 17.5 15.7668 17.5 14.8333V5.16667C17.5 4.23325 17.5 3.76654 17.3183 3.41002C17.1586 3.09641 16.9036 2.84144 16.59 2.68166C16.2335 2.5 15.7668 2.5 14.8333 2.5H5.16667C4.23325 2.5 3.76654 2.5 3.41002 2.68166C3.09641 2.84144 2.84144 3.09641 2.68166 3.41002C2.5 3.76654 2.5 4.23325 2.5 5.16667V14.8333C2.5 15.7668 2.5 16.2335 2.68166 16.59C2.84144 16.9036 3.09641 17.1586 3.41002 17.3183C3.76654 17.5 4.23325 17.5 5.16667 17.5Z",
|
|
@@ -22272,8 +22258,8 @@ var ExchangeIcon = ({ size = 20 }) => /* @__PURE__ */ React96.createElement(
|
|
|
22272
22258
|
);
|
|
22273
22259
|
|
|
22274
22260
|
// src/components/Icons/FanaticsCreditCardIcon.tsx
|
|
22275
|
-
import
|
|
22276
|
-
var FanaticsCreditCardIcon = ({ size = 20 }) => /* @__PURE__ */
|
|
22261
|
+
import React96 from "react";
|
|
22262
|
+
var FanaticsCreditCardIcon = ({ size = 20 }) => /* @__PURE__ */ React96.createElement(
|
|
22277
22263
|
"svg",
|
|
22278
22264
|
{
|
|
22279
22265
|
width: size,
|
|
@@ -22282,7 +22268,7 @@ var FanaticsCreditCardIcon = ({ size = 20 }) => /* @__PURE__ */ React97.createEl
|
|
|
22282
22268
|
fill: "none",
|
|
22283
22269
|
xmlns: "http://www.w3.org/2000/svg"
|
|
22284
22270
|
},
|
|
22285
|
-
/* @__PURE__ */
|
|
22271
|
+
/* @__PURE__ */ React96.createElement(
|
|
22286
22272
|
"path",
|
|
22287
22273
|
{
|
|
22288
22274
|
d: "M17.6667 5.16667H1M8.5 8.5H4.33333M1 3.66667L1 10C1 10.9334 1 11.4001 1.18166 11.7566C1.34144 12.0703 1.59641 12.3252 1.91002 12.485C2.26654 12.6667 2.73325 12.6667 3.66667 12.6667L15 12.6667C15.9334 12.6667 16.4001 12.6667 16.7567 12.485C17.0703 12.3252 17.3252 12.0703 17.485 11.7567C17.6667 11.4001 17.6667 10.9334 17.6667 10V3.66667C17.6667 2.73325 17.6667 2.26654 17.485 1.91002C17.3252 1.59641 17.0703 1.34145 16.7567 1.18166C16.4001 1 15.9334 1 15 1L3.66667 1C2.73325 1 2.26654 1 1.91002 1.18166C1.59641 1.34144 1.34145 1.59641 1.18166 1.91002C1 2.26654 1 2.73325 1 3.66667Z",
|
|
@@ -22295,8 +22281,8 @@ var FanaticsCreditCardIcon = ({ size = 20 }) => /* @__PURE__ */ React97.createEl
|
|
|
22295
22281
|
);
|
|
22296
22282
|
|
|
22297
22283
|
// src/components/Icons/GooglePayIcon.tsx
|
|
22298
|
-
import
|
|
22299
|
-
var GooglePayIcon = ({ size = 20 }) => /* @__PURE__ */
|
|
22284
|
+
import React97 from "react";
|
|
22285
|
+
var GooglePayIcon = ({ size = 20 }) => /* @__PURE__ */ React97.createElement(
|
|
22300
22286
|
"svg",
|
|
22301
22287
|
{
|
|
22302
22288
|
width: size,
|
|
@@ -22305,28 +22291,28 @@ var GooglePayIcon = ({ size = 20 }) => /* @__PURE__ */ React98.createElement(
|
|
|
22305
22291
|
fill: "none",
|
|
22306
22292
|
xmlns: "http://www.w3.org/2000/svg"
|
|
22307
22293
|
},
|
|
22308
|
-
/* @__PURE__ */
|
|
22294
|
+
/* @__PURE__ */ React97.createElement(
|
|
22309
22295
|
"path",
|
|
22310
22296
|
{
|
|
22311
22297
|
d: "M17.2498 10.1839C17.2498 9.63852 17.1906 9.09319 17.1315 8.54785H9.73828V11.6381H13.9376C13.7602 12.6076 13.2279 13.5165 12.3998 14.0618V16.0614H14.9431C16.4217 14.6677 17.2498 12.6076 17.2498 10.1839Z",
|
|
22312
22298
|
fill: "currentColor"
|
|
22313
22299
|
}
|
|
22314
22300
|
),
|
|
22315
|
-
/* @__PURE__ */
|
|
22301
|
+
/* @__PURE__ */ React97.createElement(
|
|
22316
22302
|
"path",
|
|
22317
22303
|
{
|
|
22318
22304
|
d: "M9.73845 18C11.8677 18 13.6421 17.2729 14.9433 16.0611L12.4 14.0615C11.6902 14.5462 10.8031 14.8492 9.73845 14.8492C7.7275 14.8492 5.95313 13.4556 5.36168 11.5166H2.75928V13.5768C4.11962 16.3034 6.78117 18 9.73845 18Z",
|
|
22319
22305
|
fill: "currentColor"
|
|
22320
22306
|
}
|
|
22321
22307
|
),
|
|
22322
|
-
/* @__PURE__ */
|
|
22308
|
+
/* @__PURE__ */ React97.createElement(
|
|
22323
22309
|
"path",
|
|
22324
22310
|
{
|
|
22325
22311
|
d: "M5.36173 11.5156C5.00686 10.5461 5.00686 9.45547 5.36173 8.42539V6.36523H2.75933C1.63556 8.60717 1.63556 11.2733 2.75933 13.5758L5.36173 11.5156Z",
|
|
22326
22312
|
fill: "currentColor"
|
|
22327
22313
|
}
|
|
22328
22314
|
),
|
|
22329
|
-
/* @__PURE__ */
|
|
22315
|
+
/* @__PURE__ */ React97.createElement(
|
|
22330
22316
|
"path",
|
|
22331
22317
|
{
|
|
22332
22318
|
d: "M9.73838 5.15409C10.8621 5.15409 11.9268 5.57824 12.7548 6.36595L15.0023 4.06342C13.5828 2.73037 11.6902 1.94267 9.79753 2.00326C6.84025 2.00326 4.11956 3.69986 2.81836 6.42654L5.42076 8.4867C5.95307 6.54773 7.72744 5.15409 9.73838 5.15409Z",
|
|
@@ -22335,6 +22321,44 @@ var GooglePayIcon = ({ size = 20 }) => /* @__PURE__ */ React98.createElement(
|
|
|
22335
22321
|
)
|
|
22336
22322
|
);
|
|
22337
22323
|
|
|
22324
|
+
// src/components/Icons/New/CircleBitcoinIcon.tsx
|
|
22325
|
+
import React98 from "react";
|
|
22326
|
+
var CircleBitcoinIcon = ({ size = 12 }) => {
|
|
22327
|
+
return /* @__PURE__ */ React98.createElement(
|
|
22328
|
+
"svg",
|
|
22329
|
+
{
|
|
22330
|
+
width: size,
|
|
22331
|
+
height: size,
|
|
22332
|
+
viewBox: "0 0 20 20",
|
|
22333
|
+
fill: "none",
|
|
22334
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
22335
|
+
},
|
|
22336
|
+
/* @__PURE__ */ React98.createElement(
|
|
22337
|
+
"path",
|
|
22338
|
+
{
|
|
22339
|
+
d: "M12.9168 11.8737C12.9168 12.449 12.4505 12.9154 11.8752 12.9154H8.75016V10.832H11.8752C12.4505 10.832 12.9168 11.2984 12.9168 11.8737Z",
|
|
22340
|
+
fill: "currentColor"
|
|
22341
|
+
}
|
|
22342
|
+
),
|
|
22343
|
+
/* @__PURE__ */ React98.createElement(
|
|
22344
|
+
"path",
|
|
22345
|
+
{
|
|
22346
|
+
d: "M11.4585 7.08203H8.75016V9.16536H11.4585C12.0338 9.16536 12.5002 8.69899 12.5002 8.1237C12.5002 7.5484 12.0338 7.08203 11.4585 7.08203Z",
|
|
22347
|
+
fill: "currentColor"
|
|
22348
|
+
}
|
|
22349
|
+
),
|
|
22350
|
+
/* @__PURE__ */ React98.createElement(
|
|
22351
|
+
"path",
|
|
22352
|
+
{
|
|
22353
|
+
fillRule: "evenodd",
|
|
22354
|
+
clipRule: "evenodd",
|
|
22355
|
+
d: "M10.0002 0.832031C4.93755 0.832031 0.833496 4.93609 0.833496 9.9987C0.833496 15.0613 4.93755 19.1654 10.0002 19.1654C15.0628 19.1654 19.1668 15.0613 19.1668 9.9987C19.1668 4.93609 15.0628 0.832031 10.0002 0.832031ZM8.3335 4.16536C8.79373 4.16536 9.16683 4.53846 9.16683 4.9987V5.41536H10.0002V4.9987C10.0002 4.53846 10.3733 4.16536 10.8335 4.16536C11.2937 4.16536 11.6668 4.53846 11.6668 4.9987V5.42326C13.0653 5.52964 14.1668 6.69803 14.1668 8.1237C14.1668 8.74941 13.9546 9.32557 13.5983 9.78413C14.2 10.2809 14.5835 11.0325 14.5835 11.8737C14.5835 13.3695 13.3709 14.582 11.8752 14.582H11.6668V14.9987C11.6668 15.4589 11.2937 15.832 10.8335 15.832C10.3733 15.832 10.0002 15.4589 10.0002 14.9987V14.582H9.16683V14.9987C9.16683 15.4589 8.79373 15.832 8.3335 15.832C7.87326 15.832 7.50016 15.4589 7.50016 14.9987V14.582H6.66683C6.20659 14.582 5.8335 14.2089 5.8335 13.7487C5.8335 13.2885 6.20659 12.9154 6.66683 12.9154H7.0835V7.08203H6.66683C6.20659 7.08203 5.8335 6.70894 5.8335 6.2487C5.8335 5.78846 6.20659 5.41536 6.66683 5.41536H7.50016V4.9987C7.50016 4.53846 7.87326 4.16536 8.3335 4.16536Z",
|
|
22356
|
+
fill: "currentColor"
|
|
22357
|
+
}
|
|
22358
|
+
)
|
|
22359
|
+
);
|
|
22360
|
+
};
|
|
22361
|
+
|
|
22338
22362
|
// src/components/Icons/New/BankIcon.tsx
|
|
22339
22363
|
import React99 from "react";
|
|
22340
22364
|
var BankIcon = ({ size = 20 }) => {
|
|
@@ -22542,7 +22566,20 @@ var PAYMENT_METHOD_ICONS = {
|
|
|
22542
22566
|
[PaymentMethod.GOOGLE_PAY]: (size) => /* @__PURE__ */ React105.createElement(GooglePayIcon, { size }),
|
|
22543
22567
|
[PaymentMethod.REVOLUT_PAY]: (size) => /* @__PURE__ */ React105.createElement(RevolutPayIcon, { size }),
|
|
22544
22568
|
[PaymentMethod.TOKEN_TRANSFER]: (size) => /* @__PURE__ */ React105.createElement(CryptoTransferQRIcon, { size }),
|
|
22545
|
-
[PaymentMethod.BITCOIN_LIGHTNING]: (size) =>
|
|
22569
|
+
[PaymentMethod.BITCOIN_LIGHTNING]: (size) => {
|
|
22570
|
+
const bitcoinIconUrl = chainMetadataById[bitcoinChain4.id]?.iconUrl ?? "";
|
|
22571
|
+
return /* @__PURE__ */ React105.createElement(
|
|
22572
|
+
AsyncImage,
|
|
22573
|
+
{
|
|
22574
|
+
alt: "Bitcoin",
|
|
22575
|
+
borderRadius: "full",
|
|
22576
|
+
fallbackElement: /* @__PURE__ */ React105.createElement(CircleBitcoinIcon, { size }),
|
|
22577
|
+
height: size,
|
|
22578
|
+
width: size,
|
|
22579
|
+
src: bitcoinIconUrl
|
|
22580
|
+
}
|
|
22581
|
+
);
|
|
22582
|
+
},
|
|
22546
22583
|
[PaymentMethod.VIRTUAL_BANK]: (size) => /* @__PURE__ */ React105.createElement(BankIcon, { size })
|
|
22547
22584
|
};
|
|
22548
22585
|
var DEFAULT_PAYMENT_METHOD_ICON_SIZE = 20;
|
|
@@ -22912,7 +22949,7 @@ function getCheckoutCompletionTime(checkout) {
|
|
|
22912
22949
|
// src/components/ReceiveAmount/ReceiveAmount.tsx
|
|
22913
22950
|
import React108 from "react";
|
|
22914
22951
|
var ReceiveAmount = ({ config, icon, quote }) => {
|
|
22915
|
-
const iconSrc = config.
|
|
22952
|
+
const iconSrc = config.iconSrc ?? FALLBACK_ASSET;
|
|
22916
22953
|
return /* @__PURE__ */ React108.createElement(Box, { display: "flex", gap: "5", alignItems: "center" }, icon ?? /* @__PURE__ */ React108.createElement(
|
|
22917
22954
|
AsyncImage,
|
|
22918
22955
|
{
|
|
@@ -23306,7 +23343,7 @@ function DirectExecutionSummaryHistory({
|
|
|
23306
23343
|
});
|
|
23307
23344
|
const receiveAmountLabel = useReceiveAmountLabel({
|
|
23308
23345
|
directExecutionType: directExecution?.type,
|
|
23309
|
-
isSameToken: directExecution ?
|
|
23346
|
+
isSameToken: directExecution ? isTokenEquivalent5({
|
|
23310
23347
|
firstTokenAddress: directExecution.fromTokenAddress,
|
|
23311
23348
|
firstTokenChainId: directExecution.fromChainId,
|
|
23312
23349
|
secondTokenAddress: directExecution.toTokenAddress,
|
|
@@ -23737,7 +23774,7 @@ var WithdrawalCallbackSuccess = ({
|
|
|
23737
23774
|
|
|
23738
23775
|
// src/modals/WithdrawalModal/WithdrawalContent.tsx
|
|
23739
23776
|
import {
|
|
23740
|
-
formatCryptoAndStringify as
|
|
23777
|
+
formatCryptoAndStringify as formatCryptoAndStringify3,
|
|
23741
23778
|
formatCurrencyAndStringify as formatCurrencyAndStringify6
|
|
23742
23779
|
} from "@funkit/utils";
|
|
23743
23780
|
import React133, { useCallback as useCallback27, useEffect as useEffect43, useMemo as useMemo40, useRef as useRef19, useState as useState41 } from "react";
|
|
@@ -25214,11 +25251,11 @@ function FunNotification({
|
|
|
25214
25251
|
}
|
|
25215
25252
|
|
|
25216
25253
|
// src/hooks/queries/useWithdrawalQuote.ts
|
|
25217
|
-
import { isTokenEquivalent as
|
|
25254
|
+
import { isTokenEquivalent as isTokenEquivalent6 } from "@funkit/utils";
|
|
25218
25255
|
import { useQuery as useQuery17 } from "@tanstack/react-query";
|
|
25219
25256
|
|
|
25220
25257
|
// src/hooks/useIsBlacklistedWithdrawalAddress.ts
|
|
25221
|
-
import {
|
|
25258
|
+
import { isEVMAddressEquivalent as isEVMAddressEquivalent2 } from "@funkit/utils";
|
|
25222
25259
|
import { useMemo as useMemo39 } from "react";
|
|
25223
25260
|
function useIsBlacklistedWithdrawalAddress(address) {
|
|
25224
25261
|
const addressBlacklist = useDynamicConfig("blacklistedwithdrawaladdress");
|
|
@@ -25235,9 +25272,9 @@ function useIsBlacklistedWithdrawalAddress(address) {
|
|
|
25235
25272
|
return addresses;
|
|
25236
25273
|
}, [withdrawalConfig.chains]);
|
|
25237
25274
|
return Object.keys(addressBlacklist).concat(withdrawalTokenAddresses).some(
|
|
25238
|
-
(blockedAddress) =>
|
|
25239
|
-
|
|
25240
|
-
|
|
25275
|
+
(blockedAddress) => isEVMAddressEquivalent2({
|
|
25276
|
+
firstAddress: blockedAddress,
|
|
25277
|
+
secondAddress: address
|
|
25241
25278
|
})
|
|
25242
25279
|
);
|
|
25243
25280
|
}
|
|
@@ -25271,7 +25308,7 @@ function useWithdrawalQuote({
|
|
|
25271
25308
|
const enabled = isEnabled && !!apiKey && !!targetAsset && !!targetChain && !!selectedChainId && !!sourceAmountUSD && !!recipientAddress && !!selectedTokenAddress && !!isValidAddress && !!checkoutItem && !isRecipientBlacklisted && // Note: Because we update the checkoutItem with React effects, the checkout item
|
|
25272
25309
|
// may not be matching the props in intermediate renders. This ensures we don't
|
|
25273
25310
|
// fire quotes in such states.
|
|
25274
|
-
|
|
25311
|
+
isTokenEquivalent6({
|
|
25275
25312
|
firstTokenChainId: targetChain,
|
|
25276
25313
|
firstTokenAddress: targetAsset,
|
|
25277
25314
|
secondTokenChainId: selectedChainId,
|
|
@@ -25393,40 +25430,7 @@ import {
|
|
|
25393
25430
|
convertFunToRelayTokenAddress,
|
|
25394
25431
|
getRelayAssetPriceInfo
|
|
25395
25432
|
} from "@funkit/fun-relay";
|
|
25396
|
-
import { skipToken, useQuery as
|
|
25397
|
-
|
|
25398
|
-
// src/hooks/queries/useErc20Asset.ts
|
|
25399
|
-
import { getAssetErc20ByChainAndSymbol } from "@funkit/api-base";
|
|
25400
|
-
import { useQuery as useQuery19 } from "@tanstack/react-query";
|
|
25401
|
-
var useErc20Asset = ({
|
|
25402
|
-
chainId: chainId2,
|
|
25403
|
-
symbol,
|
|
25404
|
-
enabled = true
|
|
25405
|
-
}) => {
|
|
25406
|
-
const { apiKey } = useFunkitConfig();
|
|
25407
|
-
const query = useQuery19({
|
|
25408
|
-
queryKey: ["erc20Asset", chainId2, symbol],
|
|
25409
|
-
queryFn: async () => {
|
|
25410
|
-
if (!apiKey || !chainId2 || !symbol) {
|
|
25411
|
-
return null;
|
|
25412
|
-
}
|
|
25413
|
-
const response = await getAssetErc20ByChainAndSymbol({
|
|
25414
|
-
chainId: chainId2,
|
|
25415
|
-
symbol,
|
|
25416
|
-
apiKey,
|
|
25417
|
-
logger
|
|
25418
|
-
});
|
|
25419
|
-
return response;
|
|
25420
|
-
},
|
|
25421
|
-
enabled: enabled && !!apiKey && !!chainId2 && !!symbol,
|
|
25422
|
-
refetchOnMount: false,
|
|
25423
|
-
refetchOnReconnect: false,
|
|
25424
|
-
refetchOnWindowFocus: false
|
|
25425
|
-
});
|
|
25426
|
-
return query;
|
|
25427
|
-
};
|
|
25428
|
-
|
|
25429
|
-
// src/hooks/useAssetPrice.ts
|
|
25433
|
+
import { skipToken, useQuery as useQuery19 } from "@tanstack/react-query";
|
|
25430
25434
|
async function getFormattedRelayAssetPriceInfo({
|
|
25431
25435
|
chainId: chainId2,
|
|
25432
25436
|
assetTokenAddress
|
|
@@ -25479,7 +25483,7 @@ function useAssetAddressPrice({
|
|
|
25479
25483
|
}) {
|
|
25480
25484
|
const { apiKey } = useFunkitConfig();
|
|
25481
25485
|
const isStablecoin = useIsStablecoin();
|
|
25482
|
-
const { data, error, isLoading } =
|
|
25486
|
+
const { data, error, isLoading } = useQuery19({
|
|
25483
25487
|
queryKey: ["getAssetPriceInfo", chainId2, assetTokenAddress],
|
|
25484
25488
|
queryFn: enabled && chainId2 && assetTokenAddress ? () => getAssetPriceInfoWithFallback({
|
|
25485
25489
|
apiKey,
|
|
@@ -25495,27 +25499,6 @@ function useAssetAddressPrice({
|
|
|
25495
25499
|
price: unitPrice !== void 0 ? unitPrice * amount : void 0
|
|
25496
25500
|
};
|
|
25497
25501
|
}
|
|
25498
|
-
var useAssetSymbolPrice = ({
|
|
25499
|
-
chainId: chainId2,
|
|
25500
|
-
symbol,
|
|
25501
|
-
refetchInterval,
|
|
25502
|
-
enabled = true
|
|
25503
|
-
}) => {
|
|
25504
|
-
const assetQuery = useErc20Asset({ chainId: chainId2, symbol, enabled });
|
|
25505
|
-
const priceQuery = useAssetAddressPrice({
|
|
25506
|
-
chainId: chainId2,
|
|
25507
|
-
assetTokenAddress: assetQuery.data?.address,
|
|
25508
|
-
symbol,
|
|
25509
|
-
refetchInterval,
|
|
25510
|
-
enabled
|
|
25511
|
-
});
|
|
25512
|
-
return {
|
|
25513
|
-
asset: assetQuery.data,
|
|
25514
|
-
error: assetQuery.error || priceQuery.error,
|
|
25515
|
-
isLoading: priceQuery.isLoading || assetQuery.isLoading,
|
|
25516
|
-
price: priceQuery.price
|
|
25517
|
-
};
|
|
25518
|
-
};
|
|
25519
25502
|
|
|
25520
25503
|
// src/hooks/useTokenAndChainDropdown.ts
|
|
25521
25504
|
import { useEffect as useEffect40, useState as useState36 } from "react";
|
|
@@ -25579,7 +25562,7 @@ var useTokenAndChainDropdown = ({
|
|
|
25579
25562
|
const tokenTransferConfig = useTokenTransferConfig(isWithdrawal);
|
|
25580
25563
|
const isLoadingAssets = tokenTransferConfig.isLoading || Object.keys(tokenTransferConfig.symbolsByChainId).length === 0;
|
|
25581
25564
|
const popularTokenSymbols = tokenTransferConfig.popularTokenSymbols ?? [];
|
|
25582
|
-
const preferredChainId = defaultValues?.chainId ?? tokenTransferConfig.defaultChainId;
|
|
25565
|
+
const preferredChainId = isWithdrawal ? tokenTransferConfig.defaultChainId ?? defaultValues?.chainId : defaultValues?.chainId ?? tokenTransferConfig.defaultChainId;
|
|
25583
25566
|
const validDefaultChainId = resolveDefaultChainId(
|
|
25584
25567
|
enabledChainSymbols,
|
|
25585
25568
|
preferredChainId
|
|
@@ -25981,7 +25964,7 @@ function WithdrawRecipientAddress({
|
|
|
25981
25964
|
// src/modals/WithdrawalModal/WithdrawAmountInput.tsx
|
|
25982
25965
|
import { RELAY_LIGHTER_CHAIN_ID as RELAY_LIGHTER_CHAIN_ID3 } from "@funkit/fun-relay";
|
|
25983
25966
|
import {
|
|
25984
|
-
formatCryptoAndStringify as
|
|
25967
|
+
formatCryptoAndStringify as formatCryptoAndStringify2,
|
|
25985
25968
|
formatCurrencyAndStringify as formatCurrencyAndStringify5
|
|
25986
25969
|
} from "@funkit/utils";
|
|
25987
25970
|
import * as DropdownMenu3 from "@radix-ui/react-dropdown-menu";
|
|
@@ -26065,7 +26048,7 @@ function WithdrawAmountInput({
|
|
|
26065
26048
|
Number(withdrawalInputAmount) * sourceTokenUsdPrice,
|
|
26066
26049
|
{ minBeforeUseScientific: 0 }
|
|
26067
26050
|
)), Number(sourceTokenBalance) > 0 && /* @__PURE__ */ React131.createElement(Text, { size: "12", color: "secondaryText" }, t("withdrawal.balance", {
|
|
26068
|
-
amount:
|
|
26051
|
+
amount: formatCryptoAndStringify2(Number(sourceTokenBalance)),
|
|
26069
26052
|
symbol: activeSymbol
|
|
26070
26053
|
})))));
|
|
26071
26054
|
}
|
|
@@ -26720,6 +26703,7 @@ function useWithdrawalAssets(config) {
|
|
|
26720
26703
|
isWithdrawal: true,
|
|
26721
26704
|
noDefaultSelection: enableEmptyWithdrawalSelection
|
|
26722
26705
|
});
|
|
26706
|
+
const { addressBySymbolByChainId } = useTokenTransferConfig(true);
|
|
26723
26707
|
return {
|
|
26724
26708
|
assets,
|
|
26725
26709
|
selectedChainId,
|
|
@@ -26730,7 +26714,8 @@ function useWithdrawalAssets(config) {
|
|
|
26730
26714
|
chainIdSortOrder,
|
|
26731
26715
|
popularTokenSymbols,
|
|
26732
26716
|
priorityTokenSymbols,
|
|
26733
|
-
isLoadingAssets
|
|
26717
|
+
isLoadingAssets,
|
|
26718
|
+
addressBySymbolByChainId
|
|
26734
26719
|
};
|
|
26735
26720
|
}
|
|
26736
26721
|
function toUsdValue(sourceAmount, sourceTokenUsdPrice) {
|
|
@@ -26754,6 +26739,7 @@ function getWithdrawButtonText({
|
|
|
26754
26739
|
isWithdrawing,
|
|
26755
26740
|
isValidAddress,
|
|
26756
26741
|
isRecipientBlacklisted,
|
|
26742
|
+
isRecipientSameAsSource,
|
|
26757
26743
|
withdrawalInputAmount,
|
|
26758
26744
|
isWithdrawAmountValid,
|
|
26759
26745
|
isWithdrawAmountTooHigh,
|
|
@@ -26772,6 +26758,9 @@ function getWithdrawButtonText({
|
|
|
26772
26758
|
if (isRecipientBlacklisted) {
|
|
26773
26759
|
return t("withdrawal.unsupportedRecipientAddress");
|
|
26774
26760
|
}
|
|
26761
|
+
if (isRecipientSameAsSource) {
|
|
26762
|
+
return t("withdrawal.recipientSameAsSource");
|
|
26763
|
+
}
|
|
26775
26764
|
if (isWithdrawAmountTooHigh) {
|
|
26776
26765
|
return t("withdrawal.maxAmountExceeded");
|
|
26777
26766
|
}
|
|
@@ -26872,16 +26861,6 @@ var WithdrawContent = ({
|
|
|
26872
26861
|
} = useLighterWithdrawal(config, setRecipientAddress);
|
|
26873
26862
|
const { address: connectedWalletAddress } = useAccount();
|
|
26874
26863
|
const sourceTokenBalance = lighterBalances[selectedSourceToken.toUpperCase()] ?? fallbackBalance;
|
|
26875
|
-
const {
|
|
26876
|
-
asset: lighterSecureMainnetAsset,
|
|
26877
|
-
price: lighterSecureSourceTokenUsdPrice
|
|
26878
|
-
} = useAssetSymbolPrice({
|
|
26879
|
-
chainId: config.sourceChainId,
|
|
26880
|
-
symbol: selectedSourceToken,
|
|
26881
|
-
refetchInterval: PRICE_REFRESH_INTERVAL,
|
|
26882
|
-
enabled: isLighterSecure
|
|
26883
|
-
});
|
|
26884
|
-
const sourceTokenUsdPrice = isLighterSecure ? lighterSecureSourceTokenUsdPrice : 1;
|
|
26885
26864
|
const [debouncedInputAmount] = useDebounce(withdrawalInputAmount, 300);
|
|
26886
26865
|
const isAmountSettled = withdrawalInputAmount === debouncedInputAmount;
|
|
26887
26866
|
const quoteInputAmount = deductLighterUnstakedFee(
|
|
@@ -26904,14 +26883,22 @@ var WithdrawContent = ({
|
|
|
26904
26883
|
chainIdSortOrder,
|
|
26905
26884
|
popularTokenSymbols,
|
|
26906
26885
|
priorityTokenSymbols,
|
|
26907
|
-
isLoadingAssets
|
|
26886
|
+
isLoadingAssets,
|
|
26887
|
+
addressBySymbolByChainId
|
|
26908
26888
|
} = useWithdrawalAssets(config);
|
|
26909
|
-
const
|
|
26910
|
-
|
|
26911
|
-
|
|
26912
|
-
|
|
26913
|
-
|
|
26889
|
+
const lighterSecureMainnetAddress = isLighterSecure ? getLighterSecureMainnetAddress(selectedSourceToken) : void 0;
|
|
26890
|
+
const { price: lighterSecureSourceTokenUsdPrice } = useAssetAddressPrice({
|
|
26891
|
+
chainId: config.sourceChainId,
|
|
26892
|
+
assetTokenAddress: lighterSecureMainnetAddress,
|
|
26893
|
+
symbol: selectedSourceToken,
|
|
26894
|
+
refetchInterval: PRICE_REFRESH_INTERVAL,
|
|
26895
|
+
enabled: isLighterSecure
|
|
26896
|
+
});
|
|
26897
|
+
const sourceTokenUsdPrice = isLighterSecure ? lighterSecureSourceTokenUsdPrice : 1;
|
|
26898
|
+
const targetAssetAddress = selectedChainId !== void 0 && selectedToken ? addressBySymbolByChainId[selectedChainId]?.[selectedToken] : void 0;
|
|
26899
|
+
const { error: targetAssetFetchError, price: targetUnitPrice } = useAssetAddressPrice({
|
|
26914
26900
|
chainId: selectedChainId?.toString(),
|
|
26901
|
+
assetTokenAddress: targetAssetAddress,
|
|
26915
26902
|
symbol: selectedToken,
|
|
26916
26903
|
refetchInterval: PRICE_REFRESH_INTERVAL
|
|
26917
26904
|
});
|
|
@@ -26929,17 +26916,17 @@ var WithdrawContent = ({
|
|
|
26929
26916
|
}, 0);
|
|
26930
26917
|
}, [targetAssetAmount, updateTargetAssetAmount]);
|
|
26931
26918
|
useEffect43(() => {
|
|
26932
|
-
if (!
|
|
26919
|
+
if (!targetAssetAddress || !selectedChainId || !selectedToken) {
|
|
26933
26920
|
return;
|
|
26934
26921
|
}
|
|
26935
26922
|
updateTargetAsset({
|
|
26936
|
-
targetAsset:
|
|
26923
|
+
targetAsset: targetAssetAddress,
|
|
26937
26924
|
targetChain: selectedChainId.toString(),
|
|
26938
|
-
targetAssetTicker:
|
|
26925
|
+
targetAssetTicker: selectedToken,
|
|
26939
26926
|
targetAssetMinAmount: 0,
|
|
26940
26927
|
iconSrc: getTokenIconUrl(selectedToken)
|
|
26941
26928
|
});
|
|
26942
|
-
}, [
|
|
26929
|
+
}, [targetAssetAddress, updateTargetAsset, selectedChainId, selectedToken]);
|
|
26943
26930
|
const { apiKey } = useFunkitConfig();
|
|
26944
26931
|
const {
|
|
26945
26932
|
data: isRisky,
|
|
@@ -26987,6 +26974,12 @@ var WithdrawContent = ({
|
|
|
26987
26974
|
selectedSourceToken,
|
|
26988
26975
|
selectedChainId
|
|
26989
26976
|
});
|
|
26977
|
+
const isRelaySelfTransfer = isNoOpSelfWithdrawal({
|
|
26978
|
+
config,
|
|
26979
|
+
recipientAddress,
|
|
26980
|
+
selectedChainId,
|
|
26981
|
+
destinationTokenAddress: targetAssetAddress
|
|
26982
|
+
});
|
|
26990
26983
|
const {
|
|
26991
26984
|
isLoading: isQuoteLoading,
|
|
26992
26985
|
data: quote,
|
|
@@ -26996,11 +26989,11 @@ var WithdrawContent = ({
|
|
|
26996
26989
|
config,
|
|
26997
26990
|
recipientAddress: isLighterSecure ? "" : recipientAddress,
|
|
26998
26991
|
selectedChainId: selectedChainId?.toString(),
|
|
26999
|
-
selectedTokenAddress: isLighterSecure ? void 0 :
|
|
26992
|
+
selectedTokenAddress: isLighterSecure ? void 0 : targetAssetAddress,
|
|
27000
26993
|
selectedTokenSymbol: isLighterSecure ? void 0 : selectedToken,
|
|
27001
|
-
// Quote only when risk is clear (fail-closed)
|
|
27002
|
-
// settled
|
|
27003
|
-
isEnabled: isRisky === false && isWithdrawAmountValid && isAmountSettled
|
|
26994
|
+
// Quote only when risk is clear (fail-closed), the amount is valid and
|
|
26995
|
+
// settled, and it isn't a no-op self-transfer Relay would reject.
|
|
26996
|
+
isEnabled: isRisky === false && isWithdrawAmountValid && isAmountSettled && !isRelaySelfTransfer
|
|
27004
26997
|
});
|
|
27005
26998
|
const lighterAssetIndex = isLighterSecure ? resolveLighterAssetIndex(lighterAssets, selectedSourceToken) : void 0;
|
|
27006
26999
|
const submitLighterSecureWithdrawal = () => {
|
|
@@ -27017,7 +27010,7 @@ var WithdrawContent = ({
|
|
|
27017
27010
|
// L1 destination matches the user's L2 source-token selection. Falls
|
|
27018
27011
|
// back to '0x' only if the price/asset hook hasn't resolved — the
|
|
27019
27012
|
// submit button is gated on `lighterAssetIndex` but not on this asset.
|
|
27020
|
-
tokenAddress:
|
|
27013
|
+
tokenAddress: lighterSecureMainnetAddress ?? "0x",
|
|
27021
27014
|
chainId: mainnet8.id,
|
|
27022
27015
|
lighterAssetIndex,
|
|
27023
27016
|
userInputAmount: withdrawalInputAmount
|
|
@@ -27045,7 +27038,7 @@ var WithdrawContent = ({
|
|
|
27045
27038
|
});
|
|
27046
27039
|
throw missingQuoteError;
|
|
27047
27040
|
}
|
|
27048
|
-
if (!
|
|
27041
|
+
if (!targetAssetAddress || !selectedChainId) {
|
|
27049
27042
|
const missingTargetAssetError = new Error(
|
|
27050
27043
|
"Target asset info is not available"
|
|
27051
27044
|
);
|
|
@@ -27072,7 +27065,7 @@ var WithdrawContent = ({
|
|
|
27072
27065
|
destinationAddress: recipientAddress,
|
|
27073
27066
|
withdrawalUSD: usdValue.toString(),
|
|
27074
27067
|
tokenSymbol: token,
|
|
27075
|
-
tokenAddress:
|
|
27068
|
+
tokenAddress: targetAssetAddress,
|
|
27076
27069
|
chainId: selectedChainId,
|
|
27077
27070
|
userInputAmount: withdrawalInputAmount,
|
|
27078
27071
|
quote: quote.finalEstimation
|
|
@@ -27166,7 +27159,7 @@ var WithdrawContent = ({
|
|
|
27166
27159
|
const baseChecks = !!recipientAddress && !!withdrawalInputAmount && !hasAmountError && !hasAddressError && // Fail closed: require a definitive "not risky" result. `undefined`
|
|
27167
27160
|
// (check in flight, query disabled, or API error) must block — a
|
|
27168
27161
|
// Chainalysis outage or a non-screenable address is not a green light.
|
|
27169
|
-
isRisky === false && !isRecipientBlacklisted;
|
|
27162
|
+
isRisky === false && !isRecipientBlacklisted && !isRelaySelfTransfer;
|
|
27170
27163
|
if (!baseChecks) {
|
|
27171
27164
|
return false;
|
|
27172
27165
|
}
|
|
@@ -27260,7 +27253,7 @@ var WithdrawContent = ({
|
|
|
27260
27253
|
size: "withdrawalYouWillReceive",
|
|
27261
27254
|
weight: "withdrawalYouWillReceiveValueCrypto"
|
|
27262
27255
|
},
|
|
27263
|
-
|
|
27256
|
+
formatCryptoAndStringify3(receiveAmountCrypto, selectedToken)
|
|
27264
27257
|
), /* @__PURE__ */ React133.createElement(
|
|
27265
27258
|
Text,
|
|
27266
27259
|
{
|
|
@@ -27282,6 +27275,7 @@ var WithdrawContent = ({
|
|
|
27282
27275
|
isWithdrawing,
|
|
27283
27276
|
isValidAddress,
|
|
27284
27277
|
isRecipientBlacklisted,
|
|
27278
|
+
isRecipientSameAsSource: isRelaySelfTransfer,
|
|
27285
27279
|
withdrawalInputAmount,
|
|
27286
27280
|
isWithdrawAmountValid,
|
|
27287
27281
|
isWithdrawAmountTooHigh,
|
|
@@ -27401,12 +27395,12 @@ import React139 from "react";
|
|
|
27401
27395
|
|
|
27402
27396
|
// src/hooks/queries/useWithdrawFops.ts
|
|
27403
27397
|
import { RailConfigType as RailConfigType2, getFops as getFops3 } from "@funkit/api-base";
|
|
27404
|
-
import { useQuery as
|
|
27398
|
+
import { useQuery as useQuery20 } from "@tanstack/react-query";
|
|
27405
27399
|
import { useMemo as useMemo41 } from "react";
|
|
27406
27400
|
|
|
27407
27401
|
// src/utils/swappedRouteOverride.ts
|
|
27408
27402
|
import { FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO as FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO9 } from "@funkit/chains";
|
|
27409
|
-
import { isTokenEquivalent as
|
|
27403
|
+
import { isTokenEquivalent as isTokenEquivalent7 } from "@funkit/utils";
|
|
27410
27404
|
var isNonEmptyString = (value) => typeof value === "string" && value.length > 0;
|
|
27411
27405
|
var isSupportedChainId = (value) => typeof value === "string" && /^\d+$/.test(value) && Boolean(FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO9[Number(value)]);
|
|
27412
27406
|
var isEvmAddress = (value) => typeof value === "string" && /^0x[a-fA-F0-9]{40}$/.test(value);
|
|
@@ -27415,7 +27409,7 @@ function isWellFormedOverride(override) {
|
|
|
27415
27409
|
}
|
|
27416
27410
|
function findSwappedSourceOverride(overrides, source) {
|
|
27417
27411
|
return overrides?.find(
|
|
27418
|
-
(override) => isWellFormedOverride(override) &&
|
|
27412
|
+
(override) => isWellFormedOverride(override) && isTokenEquivalent7({
|
|
27419
27413
|
firstTokenChainId: override.when.chainId,
|
|
27420
27414
|
firstTokenAddress: override.when.tokenAddress,
|
|
27421
27415
|
secondTokenChainId: source.chainId,
|
|
@@ -27456,7 +27450,7 @@ var useWithdrawFops = (params) => {
|
|
|
27456
27450
|
const userId = userInfo.id;
|
|
27457
27451
|
const countryCode = userIpInfo?.alpha2;
|
|
27458
27452
|
const isEnabled = (params.enabled ?? true) && !!apiKey && !!userId && !!userInfo.address && !!countryCode && !!params.sourceChainId && !!params.sourceTokenAddress && !isSwappedCurrencyCodeLoading;
|
|
27459
|
-
const query =
|
|
27453
|
+
const query = useQuery20({
|
|
27460
27454
|
// `prefillFiatEmail` is intentionally NOT in the queryKey: it's read inside
|
|
27461
27455
|
// `queryFn` and captured at fetch time, so post-mount changes don't trigger a refetch
|
|
27462
27456
|
queryKey: [
|
|
@@ -29126,14 +29120,14 @@ var useActivityTraversal = () => {
|
|
|
29126
29120
|
};
|
|
29127
29121
|
|
|
29128
29122
|
// src/modals/ProfileDetails/ProfileDetails.tsx
|
|
29129
|
-
import React277, { useCallback as
|
|
29123
|
+
import React277, { useCallback as useCallback54, useState as useState80 } from "react";
|
|
29130
29124
|
|
|
29131
29125
|
// src/components/ModalHeightAnimationLayer/FunCheckoutModalHeightAnimationWrapper.tsx
|
|
29132
29126
|
import React264 from "react";
|
|
29133
29127
|
|
|
29134
29128
|
// src/modals/CheckoutModal/stepTransition.ts
|
|
29135
29129
|
import {
|
|
29136
|
-
useCallback as
|
|
29130
|
+
useCallback as useCallback52,
|
|
29137
29131
|
useEffect as useEffect71,
|
|
29138
29132
|
useRef as useRef36,
|
|
29139
29133
|
useState as useState77
|
|
@@ -30597,10 +30591,10 @@ import { useQueryClient as useQueryClient6 } from "@tanstack/react-query";
|
|
|
30597
30591
|
import React176, { useEffect as useEffect51, useRef as useRef24, useState as useState49 } from "react";
|
|
30598
30592
|
import { createPortal as createPortal9 } from "react-dom";
|
|
30599
30593
|
|
|
30600
|
-
// src/
|
|
30594
|
+
// src/hooks/usePolymarketAccountBalances.ts
|
|
30601
30595
|
import {
|
|
30602
30596
|
skipToken as skipToken2,
|
|
30603
|
-
useQuery as
|
|
30597
|
+
useQuery as useQuery21,
|
|
30604
30598
|
useQueryClient as useQueryClient5
|
|
30605
30599
|
} from "@tanstack/react-query";
|
|
30606
30600
|
import * as dnum7 from "dnum";
|
|
@@ -30660,7 +30654,7 @@ function useAccountBalance(account, refetchIntervalMs) {
|
|
|
30660
30654
|
const queryClient = useQueryClient5();
|
|
30661
30655
|
const getBalanceUsd = account?.getBalanceUsd;
|
|
30662
30656
|
const address = account?.address;
|
|
30663
|
-
const query =
|
|
30657
|
+
const query = useQuery21({
|
|
30664
30658
|
queryKey: polymarketAccountBalanceQueryKey(address),
|
|
30665
30659
|
// `skipToken` disables the query when the account isn't configured (the
|
|
30666
30660
|
// perps-transfer config is optional). It is *not* a fallback for a missing
|
|
@@ -31527,6 +31521,7 @@ var FunTwoFaInput = ({
|
|
|
31527
31521
|
wrap: "nowrap",
|
|
31528
31522
|
justifyContent: "center",
|
|
31529
31523
|
padding: "12",
|
|
31524
|
+
fontFamily: "body",
|
|
31530
31525
|
fontWeight: "medium",
|
|
31531
31526
|
borderStyle: "solid",
|
|
31532
31527
|
borderWidth: "1",
|
|
@@ -32567,8 +32562,8 @@ var ChainInfoBanners = ({ chainId: chainId2 }) => {
|
|
|
32567
32562
|
// src/components/FunTransactionSummary/PaymentAmountSummary.tsx
|
|
32568
32563
|
import {
|
|
32569
32564
|
formatCurrencyAndStringify as formatCurrencyAndStringify7,
|
|
32570
|
-
|
|
32571
|
-
isTokenEquivalent as
|
|
32565
|
+
isEVMAddressEquivalent as isEVMAddressEquivalent3,
|
|
32566
|
+
isTokenEquivalent as isTokenEquivalent8
|
|
32572
32567
|
} from "@funkit/utils";
|
|
32573
32568
|
import NumberFlow from "@number-flow/react";
|
|
32574
32569
|
import { motion as motion11 } from "motion/react";
|
|
@@ -32609,7 +32604,7 @@ function PaymentAmountSummary({
|
|
|
32609
32604
|
const isBrokeragePayment = paymentMethod === PaymentMethod.BROKERAGE;
|
|
32610
32605
|
const receiveAmountLabel = useReceiveAmountLabel({
|
|
32611
32606
|
directExecutionType,
|
|
32612
|
-
isSameToken:
|
|
32607
|
+
isSameToken: isTokenEquivalent8({
|
|
32613
32608
|
firstTokenAddress: sourceTokenAddress,
|
|
32614
32609
|
firstTokenChainId: sourceTokenChainId,
|
|
32615
32610
|
secondTokenAddress: targetTokenAddress,
|
|
@@ -32619,21 +32614,17 @@ function PaymentAmountSummary({
|
|
|
32619
32614
|
const sourceTokenAmount = displayAmounts ? floorToDecimals(Number.parseFloat(displayAmounts.sendAmount), 6) : quote?.finalPaymentTokenAmount ? floorToDecimals(Number.parseFloat(quote.finalPaymentTokenAmount), 6) : void 0;
|
|
32620
32615
|
const paymentTokenUsdAmount = quote ? formatCurrencyAndStringify7(quote.baseQuote.estTotalUsd) : void 0;
|
|
32621
32616
|
const targetTokenAmount = displayAmounts?.receiveAmount != null ? floorToDecimals(Number.parseFloat(displayAmounts.receiveAmount), 6) : checkoutConfig?.targetAssetAmount ?? 0;
|
|
32622
|
-
const { finalizedTokenAmount, finalizedTokenSymbol, finalizedTokenIcon } = computeDisplayDestinationToken(checkoutConfig, targetTokenAmount);
|
|
32623
32617
|
const targetItemName = checkoutConfig?.targetAssetTicker || checkoutConfig?.checkoutItemTitle;
|
|
32624
32618
|
const sourceChainId = sourceAssetInfo?.chainId;
|
|
32625
32619
|
const areSameChains = sourceChainId === targetChainId;
|
|
32626
32620
|
const sourceIcon = sourceAssetInfo?.iconSrc ?? void 0;
|
|
32627
|
-
const isSameTokenAddress =
|
|
32628
|
-
|
|
32629
|
-
|
|
32621
|
+
const isSameTokenAddress = isEVMAddressEquivalent3({
|
|
32622
|
+
firstAddress: sourceTokenAddress,
|
|
32623
|
+
secondAddress: targetTokenAddress
|
|
32630
32624
|
});
|
|
32631
32625
|
const isExactSameToken = areSameChains && isSameTokenAddress;
|
|
32632
|
-
const hasFinalizedToken = Boolean(
|
|
32633
|
-
checkoutItem?.initSettings.config.finalizedToken
|
|
32634
|
-
);
|
|
32635
32626
|
const collapsesToReceive = isExactSameToken || isDirectTransfer;
|
|
32636
|
-
const showYouWillPaySummary = !collapsesToReceive && !isCardPayment
|
|
32627
|
+
const showYouWillPaySummary = !collapsesToReceive && !isCardPayment;
|
|
32637
32628
|
const swapImpactPct = (() => {
|
|
32638
32629
|
if (isAcrossRoute(quote?.baseQuote.metadata)) {
|
|
32639
32630
|
return 0;
|
|
@@ -32671,7 +32662,7 @@ function PaymentAmountSummary({
|
|
|
32671
32662
|
isLoading,
|
|
32672
32663
|
testId: "payment-you-send"
|
|
32673
32664
|
}
|
|
32674
|
-
), /* @__PURE__ */ React190.createElement(FunTxSummaryDivider, null)),
|
|
32665
|
+
), /* @__PURE__ */ React190.createElement(FunTxSummaryDivider, null)), /* @__PURE__ */ React190.createElement(
|
|
32675
32666
|
PaymentAmountSummaryItem,
|
|
32676
32667
|
{
|
|
32677
32668
|
labelIcon: uiCustomizations.customIcons.youReceive,
|
|
@@ -32698,27 +32689,6 @@ function PaymentAmountSummary({
|
|
|
32698
32689
|
isLoading,
|
|
32699
32690
|
testId: "payment-you-receive"
|
|
32700
32691
|
}
|
|
32701
|
-
), hasFinalizedToken && /* @__PURE__ */ React190.createElement(
|
|
32702
|
-
PaymentAmountSummaryItem,
|
|
32703
|
-
{
|
|
32704
|
-
label: receiveAmountLabel,
|
|
32705
|
-
paymentTokenAmount: finalizedTokenAmount * (1 + swapImpactPct / 100),
|
|
32706
|
-
valueSymbol: finalizedTokenSymbol ?? "",
|
|
32707
|
-
icon: /* @__PURE__ */ React190.createElement(
|
|
32708
|
-
FunAssetAvatar,
|
|
32709
|
-
{
|
|
32710
|
-
largeChainIcon: true,
|
|
32711
|
-
assetIconSize: "16",
|
|
32712
|
-
assetSrc: finalizedTokenIcon ?? void 0,
|
|
32713
|
-
chainId: areSameChains ? void 0 : targetChainId,
|
|
32714
|
-
prioritizeDefaults: false,
|
|
32715
|
-
assetName: "checkout-asset"
|
|
32716
|
-
}
|
|
32717
|
-
),
|
|
32718
|
-
paymentUsdAmount: uiCustomizations.confirmationScreen.showReceiveAmountUsd && receiveTokenUsdAmount ? receiveTokenUsdAmount : void 0,
|
|
32719
|
-
isLoading,
|
|
32720
|
-
testId: "payment-you-receive"
|
|
32721
|
-
}
|
|
32722
32692
|
));
|
|
32723
32693
|
}
|
|
32724
32694
|
function PaymentAmountSummaryItem({
|
|
@@ -32999,17 +32969,17 @@ import {
|
|
|
32999
32969
|
import { permitTypedData, reserve, supply } from "@aave/client/actions";
|
|
33000
32970
|
import { sendWith, signERC20PermitWith } from "@aave/client/viem";
|
|
33001
32971
|
import { DirectExecutionType as DirectExecutionType4, createDirectExecution } from "@funkit/api-base";
|
|
33002
|
-
import { useQuery as
|
|
32972
|
+
import { useQuery as useQuery22 } from "@tanstack/react-query";
|
|
33003
32973
|
import * as dnum8 from "dnum";
|
|
33004
32974
|
import { useCallback as useCallback36, useState as useState54 } from "react";
|
|
33005
32975
|
import { erc20Abi as erc20Abi6 } from "viem";
|
|
33006
32976
|
|
|
33007
32977
|
// src/utils/isMainnetUsdt.ts
|
|
33008
|
-
import { isTokenEquivalent as
|
|
32978
|
+
import { isTokenEquivalent as isTokenEquivalent9 } from "@funkit/utils";
|
|
33009
32979
|
import { mainnet as mainnet10 } from "viem/chains";
|
|
33010
32980
|
var USDT_MAINNET_ADDRESS = "0xdAC17F958D2ee523a2206206994597C13D831ec7";
|
|
33011
32981
|
function isMainnetUsdt(chainId2, address) {
|
|
33012
|
-
return
|
|
32982
|
+
return isTokenEquivalent9({
|
|
33013
32983
|
firstTokenAddress: address,
|
|
33014
32984
|
firstTokenChainId: chainId2.toString(),
|
|
33015
32985
|
secondTokenAddress: USDT_MAINNET_ADDRESS,
|
|
@@ -33238,7 +33208,7 @@ function useAaveTargetPoolAllowance(checkoutItem, owner) {
|
|
|
33238
33208
|
const targetAsset = config?.targetAsset;
|
|
33239
33209
|
const market = targetChainStr ? AAVE_MARKET_ADDRESS_BY_CHAIN[targetChainStr] : void 0;
|
|
33240
33210
|
const wagmiConfig = useConfig();
|
|
33241
|
-
const { data } =
|
|
33211
|
+
const { data } = useQuery22({
|
|
33242
33212
|
queryKey: [
|
|
33243
33213
|
"aaveTargetPoolAllowance",
|
|
33244
33214
|
targetChainStr,
|
|
@@ -33270,7 +33240,7 @@ function useAaveTargetReservePermit(checkoutItem) {
|
|
|
33270
33240
|
const targetChainStr = config?.targetChain;
|
|
33271
33241
|
const targetAsset = config?.targetAsset;
|
|
33272
33242
|
const market = targetChainStr ? AAVE_MARKET_ADDRESS_BY_CHAIN[targetChainStr] : void 0;
|
|
33273
|
-
const { data } =
|
|
33243
|
+
const { data } = useQuery22({
|
|
33274
33244
|
queryKey: [
|
|
33275
33245
|
"aaveReservePermitSupported",
|
|
33276
33246
|
targetChainStr,
|
|
@@ -33459,7 +33429,7 @@ function useAaveNativeSupply() {
|
|
|
33459
33429
|
// src/modals/CheckoutModal/InputAmount/useNadoDirectTransfer.ts
|
|
33460
33430
|
import { DirectExecutionType as DirectExecutionType5, createDirectExecution as createDirectExecution2 } from "@funkit/api-base";
|
|
33461
33431
|
import {
|
|
33462
|
-
isTokenEquivalent as
|
|
33432
|
+
isTokenEquivalent as isTokenEquivalent10
|
|
33463
33433
|
} from "@funkit/utils";
|
|
33464
33434
|
import { useCallback as useCallback37, useRef as useRef26, useState as useState55 } from "react";
|
|
33465
33435
|
import { erc20Abi as erc20Abi7 } from "viem";
|
|
@@ -33553,7 +33523,7 @@ function isNadoDirectTransferContext({
|
|
|
33553
33523
|
if (!isNadoCustomer(apiKey) || !checkoutConfig.customRecipient || !isXstockTarget) {
|
|
33554
33524
|
return false;
|
|
33555
33525
|
}
|
|
33556
|
-
const matchesTarget =
|
|
33526
|
+
const matchesTarget = isTokenEquivalent10({
|
|
33557
33527
|
firstTokenChainId: String(sourceAsset.chainId),
|
|
33558
33528
|
firstTokenAddress: sourceAsset.address,
|
|
33559
33529
|
secondTokenChainId: checkoutConfig.targetChain,
|
|
@@ -33565,7 +33535,7 @@ function isNadoDirectTransferContext({
|
|
|
33565
33535
|
if (!wrappedTokenAddress) {
|
|
33566
33536
|
return false;
|
|
33567
33537
|
}
|
|
33568
|
-
return
|
|
33538
|
+
return isTokenEquivalent10({
|
|
33569
33539
|
firstTokenChainId: String(sourceAsset.chainId),
|
|
33570
33540
|
firstTokenAddress: sourceAsset.address,
|
|
33571
33541
|
secondTokenChainId: checkoutConfig.targetChain,
|
|
@@ -33777,9 +33747,6 @@ var AnimatedDollarValue = forwardRef5((props, ref) => {
|
|
|
33777
33747
|
return /* @__PURE__ */ React195.createElement(NumberFlow2, { ...restProps, ref, value, format: formatOptions });
|
|
33778
33748
|
});
|
|
33779
33749
|
|
|
33780
|
-
// src/modals/CheckoutModal/ConfirmationStep/CheckoutPrimaryInfo.tsx
|
|
33781
|
-
import { formatCryptoAndStringify as formatCryptoAndStringify5 } from "@funkit/utils";
|
|
33782
|
-
|
|
33783
33750
|
// src/modals/CheckoutModal/ConfirmationStep/ConfirmationStepLoading.tsx
|
|
33784
33751
|
import React196 from "react";
|
|
33785
33752
|
import { createPortal as createPortal13 } from "react-dom";
|
|
@@ -33872,10 +33839,6 @@ function CheckoutPrimaryInfo({
|
|
|
33872
33839
|
const isStablecoin = useIsStablecoin();
|
|
33873
33840
|
const checkoutValueRaw = inputFiatAmount != null ? inputFiatAmount : displayAmounts?.confirmationScreenDisplayAmount ? Number.parseFloat(displayAmounts.confirmationScreenDisplayAmount) : isStablecoin(config.targetAssetTicker) ? config.targetAssetAmount : usdAmount;
|
|
33874
33841
|
const checkoutValue = checkoutValueRaw != null ? floorToDecimals(checkoutValueRaw, 2) : void 0;
|
|
33875
|
-
const { finalizedTokenAmount } = computeDisplayDestinationToken(
|
|
33876
|
-
config,
|
|
33877
|
-
config.targetAssetAmount || 0
|
|
33878
|
-
);
|
|
33879
33842
|
const doShowTokenAmount = showTokenAmount && !config.generateActionsParams;
|
|
33880
33843
|
return /* @__PURE__ */ React197.createElement(
|
|
33881
33844
|
Box,
|
|
@@ -33885,19 +33848,7 @@ function CheckoutPrimaryInfo({
|
|
|
33885
33848
|
alignItems: showLeftAlignedDollarValueWithLabel ? "flex-start" : "center",
|
|
33886
33849
|
justifyContent: "center"
|
|
33887
33850
|
},
|
|
33888
|
-
isLoading ? /* @__PURE__ */ React197.createElement(DollarValueSkeleton, null) :
|
|
33889
|
-
Text,
|
|
33890
|
-
{
|
|
33891
|
-
font: "inputAmount",
|
|
33892
|
-
size: "dollarValue",
|
|
33893
|
-
weight: "inputAmount",
|
|
33894
|
-
textAlign: showLeftAlignedDollarValueWithLabel ? "left" : "center"
|
|
33895
|
-
},
|
|
33896
|
-
showLeftAlignedDollarValueWithLabel && /* @__PURE__ */ React197.createElement("span", { style: { textTransform: "uppercase", whiteSpace: "pre" } }, t("common.deposit"), " "),
|
|
33897
|
-
formatCryptoAndStringify5(config.targetAssetAmount || 0),
|
|
33898
|
-
" ",
|
|
33899
|
-
config.targetAssetTicker
|
|
33900
|
-
) : checkoutValue ? /* @__PURE__ */ React197.createElement(
|
|
33851
|
+
isLoading ? /* @__PURE__ */ React197.createElement(DollarValueSkeleton, null) : checkoutValue ? /* @__PURE__ */ React197.createElement(
|
|
33901
33852
|
Box,
|
|
33902
33853
|
{
|
|
33903
33854
|
fontFamily: "inputAmount",
|
|
@@ -33928,10 +33879,7 @@ function CheckoutPrimaryInfo({
|
|
|
33928
33879
|
largeChainIcon: true,
|
|
33929
33880
|
prioritizeDefaults: false
|
|
33930
33881
|
}
|
|
33931
|
-
) : null, /* @__PURE__ */ React197.createElement(Text, { color: "tertiaryText", size: "14", weight: "medium" }, getCheckoutItemDisplay({
|
|
33932
|
-
checkoutConfig: config,
|
|
33933
|
-
overrideAmount: finalizedTokenAmount
|
|
33934
|
-
})))
|
|
33882
|
+
) : null, /* @__PURE__ */ React197.createElement(Text, { color: "tertiaryText", size: "14", weight: "medium" }, getCheckoutItemDisplay({ checkoutConfig: config })))
|
|
33935
33883
|
);
|
|
33936
33884
|
}
|
|
33937
33885
|
|
|
@@ -35055,12 +35003,6 @@ function ConfirmationStep({
|
|
|
35055
35003
|
const isQuoteLoading = isInitialQuoting || isQuoting;
|
|
35056
35004
|
const isStepLoading = isInitialQuoting || isContinuing || isRefreshing || aaveSupply.isPending || nadoDirectTransfer.isPending;
|
|
35057
35005
|
const customRecipient = checkoutItem?.initSettings.config.customRecipient;
|
|
35058
|
-
const hasFinalizedToken = Boolean(checkoutConfig?.finalizedToken);
|
|
35059
|
-
const isVaultDeposit = checkoutConfig && isVaultDepositCheckout(checkoutConfig, {
|
|
35060
|
-
chainId: checkoutItem.selectedSourceAssetInfo.chainId,
|
|
35061
|
-
tokenAddress: checkoutItem.selectedSourceAssetInfo.address || "0x"
|
|
35062
|
-
});
|
|
35063
|
-
const hidePrimaryInfo = hasFinalizedToken && !isVaultDeposit;
|
|
35064
35006
|
const displayAmounts = useMemo50(() => {
|
|
35065
35007
|
if (!latestQuote || !checkoutConfig?.targetAssetAmount) {
|
|
35066
35008
|
return null;
|
|
@@ -35088,7 +35030,7 @@ function ConfirmationStep({
|
|
|
35088
35030
|
isLoading: !resolvedHealthFactor && isQuoteLoading
|
|
35089
35031
|
} : void 0;
|
|
35090
35032
|
const isExactIn = quoteBuilder.isExactIn();
|
|
35091
|
-
const hasStaticPrimaryInfoValue = isExactIn && checkoutItem?.inputFiatAmount != null || !isExactIn && !!checkoutConfig?.targetAssetAmount &&
|
|
35033
|
+
const hasStaticPrimaryInfoValue = isExactIn && checkoutItem?.inputFiatAmount != null || !isExactIn && !!checkoutConfig?.targetAssetAmount && isStablecoin(checkoutConfig.targetAssetTicker);
|
|
35092
35034
|
const checkoutId = checkoutItem?.id;
|
|
35093
35035
|
const isReady = !!checkoutItem?.finalDollarValue && !isQuoteLoading;
|
|
35094
35036
|
useEffect57(() => {
|
|
@@ -35145,7 +35087,7 @@ function ConfirmationStep({
|
|
|
35145
35087
|
gap: "confirmationStepVerticalGap",
|
|
35146
35088
|
paddingTop: "confirmationStepMarginTop"
|
|
35147
35089
|
},
|
|
35148
|
-
checkoutItem &&
|
|
35090
|
+
checkoutItem && /* @__PURE__ */ React202.createElement(
|
|
35149
35091
|
CheckoutPrimaryInfo,
|
|
35150
35092
|
{
|
|
35151
35093
|
showLeftAlignedDollarValueWithLabel,
|
|
@@ -35228,7 +35170,7 @@ import React217, { useEffect as useEffect60 } from "react";
|
|
|
35228
35170
|
|
|
35229
35171
|
// src/hooks/queries/useMeldCurrencies.ts
|
|
35230
35172
|
import { getMeldSupportedFiat } from "@funkit/api-base";
|
|
35231
|
-
import { useQuery as
|
|
35173
|
+
import { useQuery as useQuery23 } from "@tanstack/react-query";
|
|
35232
35174
|
var getPriority = (currencyCode) => {
|
|
35233
35175
|
if (currencyCode === "USD") {
|
|
35234
35176
|
return 0;
|
|
@@ -35240,7 +35182,7 @@ var getPriority = (currencyCode) => {
|
|
|
35240
35182
|
};
|
|
35241
35183
|
var useMeldCurrencies = (isEnabled = true) => {
|
|
35242
35184
|
const { apiKey } = useFunkitConfig();
|
|
35243
|
-
const query =
|
|
35185
|
+
const query = useQuery23({
|
|
35244
35186
|
queryKey: ["meld", "currencies"],
|
|
35245
35187
|
queryFn: async () => {
|
|
35246
35188
|
if (!apiKey) {
|
|
@@ -35266,12 +35208,12 @@ var useMeldCurrencies = (isEnabled = true) => {
|
|
|
35266
35208
|
|
|
35267
35209
|
// src/hooks/queries/useMeldDefaultCurrency.ts
|
|
35268
35210
|
import { getMeldDefaultFiat } from "@funkit/api-base";
|
|
35269
|
-
import { useQuery as
|
|
35211
|
+
import { useQuery as useQuery24 } from "@tanstack/react-query";
|
|
35270
35212
|
var useMeldDefaultCurrency = (paymentMethod) => {
|
|
35271
35213
|
const { apiKey } = useFunkitConfig();
|
|
35272
35214
|
const { userIpInfo } = useFunkitUserIp();
|
|
35273
35215
|
const enableMeld = useIsMeldEnabled();
|
|
35274
|
-
const query =
|
|
35216
|
+
const query = useQuery24({
|
|
35275
35217
|
queryKey: ["meld", "defaultCurrency", paymentMethod],
|
|
35276
35218
|
queryFn: async () => {
|
|
35277
35219
|
if (!apiKey) {
|
|
@@ -35297,7 +35239,7 @@ var useMeldDefaultCurrency = (paymentMethod) => {
|
|
|
35297
35239
|
// src/hooks/queries/useMeldLimits.ts
|
|
35298
35240
|
import { getMeldFiatLimits } from "@funkit/api-base";
|
|
35299
35241
|
import { formatCurrencyAndStringify as formatCurrencyAndStringify8 } from "@funkit/utils";
|
|
35300
|
-
import { useQuery as
|
|
35242
|
+
import { useQuery as useQuery25 } from "@tanstack/react-query";
|
|
35301
35243
|
|
|
35302
35244
|
// src/consts/meld.ts
|
|
35303
35245
|
var MELD_MIN_LIMIT_BUFFER = 5;
|
|
@@ -35347,7 +35289,7 @@ var useMeldLimits = (isEnabled = true) => {
|
|
|
35347
35289
|
const { userIpInfo } = useFunkitUserIp();
|
|
35348
35290
|
const cryptoCurrency = useMeldCryptoCurrencyCode();
|
|
35349
35291
|
const countryCode = userIpInfo?.alpha2;
|
|
35350
|
-
const query =
|
|
35292
|
+
const query = useQuery25({
|
|
35351
35293
|
queryKey: ["meld", "limits", countryCode, cryptoCurrency],
|
|
35352
35294
|
queryFn: async () => {
|
|
35353
35295
|
if (!apiKey || !countryCode) {
|
|
@@ -35435,8 +35377,8 @@ var useMeldLimitError = (amount, fiatCurrency) => {
|
|
|
35435
35377
|
// src/modals/CheckoutModal/InputAmount/InputAmountLoaded.tsx
|
|
35436
35378
|
import { defaultDynamicConfigs as fallbackDynamicConfigs } from "@funkit/connect-core";
|
|
35437
35379
|
import {
|
|
35438
|
-
formatCryptoAndStringify as
|
|
35439
|
-
isTokenEquivalent as
|
|
35380
|
+
formatCryptoAndStringify as formatCryptoAndStringify5,
|
|
35381
|
+
isTokenEquivalent as isTokenEquivalent12,
|
|
35440
35382
|
round as round2
|
|
35441
35383
|
} from "@funkit/utils";
|
|
35442
35384
|
import * as dnum11 from "dnum";
|
|
@@ -36788,11 +36730,7 @@ function useTextMeasurer(inputRef) {
|
|
|
36788
36730
|
}
|
|
36789
36731
|
|
|
36790
36732
|
// src/modals/CheckoutModal/InputAmount/state.ts
|
|
36791
|
-
import {
|
|
36792
|
-
isTokenAddressEquivalent as isTokenAddressEquivalent3,
|
|
36793
|
-
isTokenEquivalent as isTokenEquivalent10,
|
|
36794
|
-
round
|
|
36795
|
-
} from "@funkit/utils";
|
|
36733
|
+
import { isEVMAddressEquivalent as isEVMAddressEquivalent4, isTokenEquivalent as isTokenEquivalent11, round } from "@funkit/utils";
|
|
36796
36734
|
import * as dnum10 from "dnum";
|
|
36797
36735
|
import { mainnet as mainnet11 } from "viem/chains";
|
|
36798
36736
|
function resolveUnitPrice(isExactIn, sourceHolding, targetUnitPrice) {
|
|
@@ -36965,7 +36903,7 @@ function isEffectivelySameAsset(checkoutConfig, sourceToken, apiKey) {
|
|
|
36965
36903
|
if (!sourceToken) {
|
|
36966
36904
|
return false;
|
|
36967
36905
|
}
|
|
36968
|
-
if (
|
|
36906
|
+
if (isTokenEquivalent11({
|
|
36969
36907
|
firstTokenChainId: sourceToken.chainId,
|
|
36970
36908
|
firstTokenAddress: sourceToken.address,
|
|
36971
36909
|
secondTokenChainId: checkoutConfig.targetChain,
|
|
@@ -36974,9 +36912,9 @@ function isEffectivelySameAsset(checkoutConfig, sourceToken, apiKey) {
|
|
|
36974
36912
|
return true;
|
|
36975
36913
|
}
|
|
36976
36914
|
const mainnetChainId = mainnet11.id.toString();
|
|
36977
|
-
return isLighterxyzCustomer(apiKey) && sourceToken.chainId === mainnetChainId && isNativeTokenAddress(sourceToken.address) && checkoutConfig.targetChain === mainnetChainId &&
|
|
36978
|
-
|
|
36979
|
-
|
|
36915
|
+
return isLighterxyzCustomer(apiKey) && sourceToken.chainId === mainnetChainId && isNativeTokenAddress(sourceToken.address) && checkoutConfig.targetChain === mainnetChainId && isEVMAddressEquivalent4({
|
|
36916
|
+
firstAddress: checkoutConfig.targetAsset,
|
|
36917
|
+
secondAddress: WETH_MAINNET_ADDRESS
|
|
36980
36918
|
});
|
|
36981
36919
|
}
|
|
36982
36920
|
function resolveDefaultIsInputInFiat({
|
|
@@ -36991,7 +36929,7 @@ function resolveDefaultIsInputInFiat({
|
|
|
36991
36929
|
if (isLighterSpot(apiKey, checkoutConfig) && isEffectivelySameAsset(checkoutConfig, sourceToken, apiKey)) {
|
|
36992
36930
|
return false;
|
|
36993
36931
|
}
|
|
36994
|
-
return
|
|
36932
|
+
return true;
|
|
36995
36933
|
}
|
|
36996
36934
|
function initializeState({
|
|
36997
36935
|
checkoutConfig,
|
|
@@ -37015,7 +36953,6 @@ function initializeState({
|
|
|
37015
36953
|
}) {
|
|
37016
36954
|
const isExactIn = quoteBuilder.isExactIn();
|
|
37017
36955
|
const { targetAssetAmount, targetChain } = checkoutConfig;
|
|
37018
|
-
const hasFinalizedToken = !!checkoutConfig.finalizedToken;
|
|
37019
36956
|
const isInputInFiat = defaultIsInputInFiat ?? resolveDefaultIsInputInFiat({
|
|
37020
36957
|
checkoutConfig,
|
|
37021
36958
|
paymentMethodInfo,
|
|
@@ -37028,7 +36965,6 @@ function initializeState({
|
|
|
37028
36965
|
logger.info("initializeState:isInputInFiat", {
|
|
37029
36966
|
input: {
|
|
37030
36967
|
dynamicRoutingId: checkoutConfig.dynamicRoutingId,
|
|
37031
|
-
hasFinalizedToken,
|
|
37032
36968
|
hasPreservedValue: defaultIsInputInFiat !== void 0,
|
|
37033
36969
|
paymentMethod: paymentMethodInfo.paymentMethod
|
|
37034
36970
|
},
|
|
@@ -37158,8 +37094,7 @@ function initializeState({
|
|
|
37158
37094
|
usdAvailableAmount,
|
|
37159
37095
|
usdMaxAmount,
|
|
37160
37096
|
usdMinAmount,
|
|
37161
|
-
meldEnabled
|
|
37162
|
-
isVaultDeposit: !!hasFinalizedToken
|
|
37097
|
+
meldEnabled
|
|
37163
37098
|
};
|
|
37164
37099
|
logger.info("initializeState:result", { output: initialState2 });
|
|
37165
37100
|
return initialState2;
|
|
@@ -37329,13 +37264,11 @@ function getAmountInputError(state) {
|
|
|
37329
37264
|
};
|
|
37330
37265
|
}
|
|
37331
37266
|
}
|
|
37332
|
-
function getDerivedState(state,
|
|
37267
|
+
function getDerivedState(state, _targetAssetTicker) {
|
|
37333
37268
|
const { fiatCurrency, isInputInFiat, locale } = state;
|
|
37334
37269
|
const inputError = getAmountInputError(state);
|
|
37335
37270
|
const { decimalSeparator } = getNumberSeparators(locale);
|
|
37336
|
-
const currencyOptions = isInputInFiat ? getCurrencyFormattingOptions(fiatCurrency, locale) : {
|
|
37337
|
-
currencySymbolWithSpacing: state.isVaultDeposit ? ` ${targetAssetTicker}` : ""
|
|
37338
|
-
};
|
|
37271
|
+
const currencyOptions = isInputInFiat ? getCurrencyFormattingOptions(fiatCurrency, locale) : { currencySymbolWithSpacing: "" };
|
|
37339
37272
|
return {
|
|
37340
37273
|
...state,
|
|
37341
37274
|
// Latest request is to NOT limit the input to the currency's decimals - rather we reuse the maximum from assets
|
|
@@ -37344,8 +37277,8 @@ function getDerivedState(state, targetAssetTicker) {
|
|
|
37344
37277
|
inputError: inputError ?? null,
|
|
37345
37278
|
inputAffix: {
|
|
37346
37279
|
content: currencyOptions.currencySymbolWithSpacing,
|
|
37347
|
-
//
|
|
37348
|
-
type:
|
|
37280
|
+
// Fiat mode renders the currency symbol as a prefix.
|
|
37281
|
+
type: "prefix"
|
|
37349
37282
|
},
|
|
37350
37283
|
isValid: !inputError,
|
|
37351
37284
|
placeholder: "0",
|
|
@@ -37704,7 +37637,7 @@ import React214, { useCallback as useCallback45 } from "react";
|
|
|
37704
37637
|
import React213 from "react";
|
|
37705
37638
|
|
|
37706
37639
|
// src/components/MeldQuoteItem/MeldQuoteItem.tsx
|
|
37707
|
-
import { formatCryptoAndStringify as
|
|
37640
|
+
import { formatCryptoAndStringify as formatCryptoAndStringify4 } from "@funkit/utils";
|
|
37708
37641
|
import React212 from "react";
|
|
37709
37642
|
var providerLabelMap = {
|
|
37710
37643
|
COINBASEPAY: "Coinbase Pay",
|
|
@@ -37756,7 +37689,7 @@ var MeldQuoteItem = ({
|
|
|
37756
37689
|
}
|
|
37757
37690
|
const destinationCurrencyCode = quote.destinationCurrencyCode.split("_")[0] ?? quote.destinationCurrencyCode;
|
|
37758
37691
|
const cryptoDecimals = isStablecoin(destinationCurrencyCode) ? 2 : 5;
|
|
37759
|
-
const cryptoAmount =
|
|
37692
|
+
const cryptoAmount = formatCryptoAndStringify4(
|
|
37760
37693
|
quote.destinationAmount,
|
|
37761
37694
|
destinationCurrencyCode,
|
|
37762
37695
|
true,
|
|
@@ -37954,7 +37887,7 @@ var useMeldLink = (sourceAmount, sourceCurrencyCode = "USD") => {
|
|
|
37954
37887
|
|
|
37955
37888
|
// src/modals/CheckoutModal/MeldQuotes/useMeldQuotes.tsx
|
|
37956
37889
|
import { getMeldQuotes } from "@funkit/api-base";
|
|
37957
|
-
import { useQuery as
|
|
37890
|
+
import { useQuery as useQuery26 } from "@tanstack/react-query";
|
|
37958
37891
|
import { useDebounce as useDebounce2 } from "use-debounce";
|
|
37959
37892
|
var DEBOUNCE_DELAY = 500;
|
|
37960
37893
|
var COUNTDOWN_INTERVAL_SEC = 60;
|
|
@@ -37966,7 +37899,7 @@ var useMeldQuotes = (sourceAmount, fiatCurrency, meldEnabled = true) => {
|
|
|
37966
37899
|
const { isAway } = useUserPresence();
|
|
37967
37900
|
const destinationCurrencyCode = useMeldCryptoCurrencyCode();
|
|
37968
37901
|
const sourceCurrencyCode = fiatCurrency || "USD";
|
|
37969
|
-
const query =
|
|
37902
|
+
const query = useQuery26({
|
|
37970
37903
|
queryKey: [
|
|
37971
37904
|
"meld",
|
|
37972
37905
|
"quotes",
|
|
@@ -38423,8 +38356,7 @@ function useAmountInputUI({
|
|
|
38423
38356
|
onChange,
|
|
38424
38357
|
placeholder,
|
|
38425
38358
|
ref,
|
|
38426
|
-
toggleInputInFiat
|
|
38427
|
-
isVaultDeposit
|
|
38359
|
+
toggleInputInFiat
|
|
38428
38360
|
}, {
|
|
38429
38361
|
checkoutConfig,
|
|
38430
38362
|
meldEnabled,
|
|
@@ -38446,15 +38378,13 @@ function useAmountInputUI({
|
|
|
38446
38378
|
});
|
|
38447
38379
|
return () => cancelAnimationFrame(id);
|
|
38448
38380
|
}, []);
|
|
38449
|
-
const { targetAssetTicker
|
|
38381
|
+
const { targetAssetTicker } = checkoutConfig;
|
|
38450
38382
|
const handleIsAmountInAbsoluteToggle = () => {
|
|
38451
38383
|
if (isInputDisabled) {
|
|
38452
38384
|
return;
|
|
38453
38385
|
}
|
|
38454
38386
|
setIsLayoutAnimating(true);
|
|
38455
|
-
|
|
38456
|
-
toggleInputInFiat();
|
|
38457
|
-
}
|
|
38387
|
+
toggleInputInFiat();
|
|
38458
38388
|
};
|
|
38459
38389
|
const handleKeyDown = (event) => {
|
|
38460
38390
|
if (isInputDisabled) {
|
|
@@ -38631,18 +38561,7 @@ function useAmountInputUI({
|
|
|
38631
38561
|
fiatCurrency: fiatCurrency ?? "USD",
|
|
38632
38562
|
locale
|
|
38633
38563
|
});
|
|
38634
|
-
const
|
|
38635
|
-
let innerText = "";
|
|
38636
|
-
if (finalizedToken) {
|
|
38637
|
-
innerText = `${formatCryptoAndStringify7(switchAmount, switchSymbol)} \u2022 ${fiatDisplay}`;
|
|
38638
|
-
} else if (isInputInFiat) {
|
|
38639
|
-
innerText = formatCryptoAndStringify7(switchAmount, switchSymbol);
|
|
38640
|
-
} else {
|
|
38641
|
-
innerText = fiatDisplay;
|
|
38642
|
-
}
|
|
38643
|
-
return /* @__PURE__ */ React215.createElement(Text, { color: "secondaryText", size: "14" }, innerText);
|
|
38644
|
-
})();
|
|
38645
|
-
const amountInputSwitch = (isVaultDeposit || isConvertedAmountShown) && /* @__PURE__ */ React215.createElement(
|
|
38564
|
+
const amountInputSwitch = isConvertedAmountShown && /* @__PURE__ */ React215.createElement(
|
|
38646
38565
|
Box,
|
|
38647
38566
|
{
|
|
38648
38567
|
display: "flex",
|
|
@@ -38650,7 +38569,7 @@ function useAmountInputUI({
|
|
|
38650
38569
|
alignItems: "center",
|
|
38651
38570
|
paddingX: "8"
|
|
38652
38571
|
},
|
|
38653
|
-
|
|
38572
|
+
/* @__PURE__ */ React215.createElement(
|
|
38654
38573
|
FunIconButton,
|
|
38655
38574
|
{
|
|
38656
38575
|
icon: !meldEnabled && /* @__PURE__ */ React215.createElement(
|
|
@@ -38673,16 +38592,7 @@ function useAmountInputUI({
|
|
|
38673
38592
|
borderRadius: "inputAmountSwitcher",
|
|
38674
38593
|
isDisabled: meldEnabled || isInputDisabled
|
|
38675
38594
|
},
|
|
38676
|
-
/* @__PURE__ */ React215.createElement(AnimatedWidthWrapper, null, /* @__PURE__ */ React215.createElement(Box, { display: "flex", alignItems: "center", gap: "0" }, !isInputInFiat ? /* @__PURE__ */ React215.createElement(motion13.div, { key: "fiat", layoutId: "fiat", ...motionProps.switch }, fiatDisplay, /* @__PURE__ */ React215.createElement(Backdrop, null)) : /* @__PURE__ */ React215.createElement(
|
|
38677
|
-
motion13.div,
|
|
38678
|
-
{
|
|
38679
|
-
key: "asset",
|
|
38680
|
-
layoutId: "asset",
|
|
38681
|
-
...motionProps.switch
|
|
38682
|
-
},
|
|
38683
|
-
formatCryptoAndStringify7(switchAmount),
|
|
38684
|
-
/* @__PURE__ */ React215.createElement(Backdrop, null)
|
|
38685
|
-
), isInputInFiat && /* @__PURE__ */ React215.createElement(motion13.div, { key: "symbol", ...motionProps.symbol }, "\xA0", switchSymbol)))
|
|
38595
|
+
/* @__PURE__ */ React215.createElement(AnimatedWidthWrapper, null, /* @__PURE__ */ React215.createElement(Box, { display: "flex", alignItems: "center", gap: "0" }, !isInputInFiat ? /* @__PURE__ */ React215.createElement(motion13.div, { key: "fiat", layoutId: "fiat", ...motionProps.switch }, fiatDisplay, /* @__PURE__ */ React215.createElement(Backdrop, null)) : /* @__PURE__ */ React215.createElement(motion13.div, { key: "asset", layoutId: "asset", ...motionProps.switch }, formatCryptoAndStringify5(switchAmount), /* @__PURE__ */ React215.createElement(Backdrop, null)), isInputInFiat && /* @__PURE__ */ React215.createElement(motion13.div, { key: "symbol", ...motionProps.symbol }, "\xA0", switchSymbol)))
|
|
38686
38596
|
)
|
|
38687
38597
|
);
|
|
38688
38598
|
return {
|
|
@@ -38701,8 +38611,7 @@ function YouPayYouReceiveWrapper({
|
|
|
38701
38611
|
const {
|
|
38702
38612
|
targetAssetTicker,
|
|
38703
38613
|
targetAsset: targetAssetAddress,
|
|
38704
|
-
iconSrc: targetIconSrc
|
|
38705
|
-
finalizedToken
|
|
38614
|
+
iconSrc: targetIconSrc
|
|
38706
38615
|
} = checkoutConfig;
|
|
38707
38616
|
const { checkoutItem } = useCheckoutContext();
|
|
38708
38617
|
const sourceAssetInfo = checkoutItem?.selectedSourceAssetInfo;
|
|
@@ -38714,7 +38623,7 @@ function YouPayYouReceiveWrapper({
|
|
|
38714
38623
|
const showYouPayYouReceive = Boolean(
|
|
38715
38624
|
sourceAssetSymbol && sourceAssetIconSrc && targetAssetTicker && targetIconSrc
|
|
38716
38625
|
);
|
|
38717
|
-
const youPayYouReceiveShowYouPaySection = forceShowYouPaySection || !
|
|
38626
|
+
const youPayYouReceiveShowYouPaySection = forceShowYouPaySection || !isTokenEquivalent12({
|
|
38718
38627
|
firstTokenChainId: sourceAssetChainId?.toString() || "",
|
|
38719
38628
|
firstTokenAddress: sourceAssetAddress?.toString() || "",
|
|
38720
38629
|
secondTokenChainId: targetChainId,
|
|
@@ -38729,9 +38638,9 @@ function YouPayYouReceiveWrapper({
|
|
|
38729
38638
|
payTokenSymbol: sourceAssetSymbol ?? "",
|
|
38730
38639
|
payTokenIconSrc: sourceAssetIconSrc ?? "",
|
|
38731
38640
|
payTokenChainId: sourceAssetChainId,
|
|
38732
|
-
receiveTokenSymbol:
|
|
38733
|
-
receiveTokenIconSrc:
|
|
38734
|
-
receiveTokenChainId:
|
|
38641
|
+
receiveTokenSymbol: targetAssetTicker,
|
|
38642
|
+
receiveTokenIconSrc: targetIconSrc ?? "",
|
|
38643
|
+
receiveTokenChainId: targetChainId,
|
|
38735
38644
|
prioritizeDefaults: false,
|
|
38736
38645
|
isYouPayChainIconHidden: isChainIconHidden
|
|
38737
38646
|
}
|
|
@@ -38739,7 +38648,7 @@ function YouPayYouReceiveWrapper({
|
|
|
38739
38648
|
}
|
|
38740
38649
|
|
|
38741
38650
|
// src/modals/CheckoutModal/InputAmount/InputAmountLoading.tsx
|
|
38742
|
-
import { formatCryptoAndStringify as
|
|
38651
|
+
import { formatCryptoAndStringify as formatCryptoAndStringify6 } from "@funkit/utils";
|
|
38743
38652
|
import React216, { useMemo as useMemo54 } from "react";
|
|
38744
38653
|
function InputAmountLoading({
|
|
38745
38654
|
modalState,
|
|
@@ -38826,7 +38735,7 @@ function InputAmountLoading({
|
|
|
38826
38735
|
paddingX: "6",
|
|
38827
38736
|
color: { base: "secondaryText" }
|
|
38828
38737
|
},
|
|
38829
|
-
!isExactIn && targetAssetAmount !== void 0 ? /* @__PURE__ */ React216.createElement(Text, { color: "secondaryText", size: "14" },
|
|
38738
|
+
!isExactIn && targetAssetAmount !== void 0 ? /* @__PURE__ */ React216.createElement(Text, { color: "secondaryText", size: "14" }, formatCryptoAndStringify6(switchAmount, switchSymbol)) : /* @__PURE__ */ React216.createElement(Box, { alignItems: "center", display: "flex", gap: "8" }, /* @__PURE__ */ React216.createElement(FunSkeletonBlock, { height: "14", width: "60" }), /* @__PURE__ */ React216.createElement(Text, { color: "secondaryText", size: "14" }, switchSymbol))
|
|
38830
38739
|
)
|
|
38831
38740
|
)
|
|
38832
38741
|
),
|
|
@@ -39180,7 +39089,7 @@ import {
|
|
|
39180
39089
|
getLightningQuote
|
|
39181
39090
|
} from "@funkit/api-base";
|
|
39182
39091
|
import { LIGHTNING_MAINNET_CHAIN_ID, bitcoinChain as bitcoinChain5 } from "@funkit/chains";
|
|
39183
|
-
import { keepPreviousData as keepPreviousData3, useQuery as
|
|
39092
|
+
import { keepPreviousData as keepPreviousData3, useQuery as useQuery27 } from "@tanstack/react-query";
|
|
39184
39093
|
import { useEffect as useEffect62, useRef as useRef31, useState as useState69 } from "react";
|
|
39185
39094
|
import { parseUnits as parseUnits3 } from "viem";
|
|
39186
39095
|
var QUOTE_REFRESH_LEAD_MS = 3e3;
|
|
@@ -39224,7 +39133,7 @@ var useLightningQuote = ({
|
|
|
39224
39133
|
}) => {
|
|
39225
39134
|
const { apiKey } = useFunkitConfig();
|
|
39226
39135
|
const enabled = !!depositAddr && !!targetChain && !!targetAsset && !!walletAddress && !!fiatAmount;
|
|
39227
|
-
const query =
|
|
39136
|
+
const query = useQuery27({
|
|
39228
39137
|
queryKey: [
|
|
39229
39138
|
"lightning-quote",
|
|
39230
39139
|
depositAddr,
|
|
@@ -39634,14 +39543,14 @@ function LightningInvoice(_props) {
|
|
|
39634
39543
|
}
|
|
39635
39544
|
|
|
39636
39545
|
// src/modals/CheckoutModal/LoadingAccount.tsx
|
|
39637
|
-
import
|
|
39546
|
+
import React231, { useEffect as useEffect64 } from "react";
|
|
39638
39547
|
|
|
39639
39548
|
// src/components/FunAsset/FunAssetLoading.tsx
|
|
39640
39549
|
import React224 from "react";
|
|
39641
39550
|
|
|
39642
39551
|
// src/components/FunAsset/FunAssetItem.tsx
|
|
39643
39552
|
import {
|
|
39644
|
-
formatCryptoAndStringify as
|
|
39553
|
+
formatCryptoAndStringify as formatCryptoAndStringify7,
|
|
39645
39554
|
formatCurrencyAndStringify as formatCurrencyAndStringify10,
|
|
39646
39555
|
isNotNullish as isNotNullish6
|
|
39647
39556
|
} from "@funkit/utils";
|
|
@@ -39738,7 +39647,7 @@ var FunAssetItem = ({
|
|
|
39738
39647
|
size: "selectAssetItemSubtitle",
|
|
39739
39648
|
weight: "selectAssetItemSubtitle"
|
|
39740
39649
|
},
|
|
39741
|
-
isNotNullish6(asset.amount) ? /* @__PURE__ */ React223.createElement("div", null,
|
|
39650
|
+
isNotNullish6(asset.amount) ? /* @__PURE__ */ React223.createElement("div", null, formatCryptoAndStringify7(asset.amount), isSecondaryTokenSymbolVisible && ` ${asset.symbol}`) : null
|
|
39742
39651
|
)
|
|
39743
39652
|
)
|
|
39744
39653
|
),
|
|
@@ -39824,7 +39733,7 @@ function FunAssetLoading({ count = 3 }) {
|
|
|
39824
39733
|
}
|
|
39825
39734
|
|
|
39826
39735
|
// src/modals/CheckoutModal/SourceChange/SourceChangeLoading.tsx
|
|
39827
|
-
import
|
|
39736
|
+
import React230 from "react";
|
|
39828
39737
|
import { createPortal as createPortal17 } from "react-dom";
|
|
39829
39738
|
|
|
39830
39739
|
// src/components/CheckoutTopAnnouncementBanner/CheckoutTopAnnouncementBanner.tsx
|
|
@@ -39898,7 +39807,7 @@ function usePaymentMethodTabs() {
|
|
|
39898
39807
|
}
|
|
39899
39808
|
|
|
39900
39809
|
// src/modals/CheckoutModal/SourceChange/CryptoCashToggle.tsx
|
|
39901
|
-
import
|
|
39810
|
+
import React229 from "react";
|
|
39902
39811
|
|
|
39903
39812
|
// src/components/Icons/New/ArrowCircleUpRightIcon.tsx
|
|
39904
39813
|
import React226 from "react";
|
|
@@ -39924,48 +39833,10 @@ var ArrowCircleUpRightIcon = ({ size = 16 }) => {
|
|
|
39924
39833
|
);
|
|
39925
39834
|
};
|
|
39926
39835
|
|
|
39927
|
-
// src/components/Icons/New/CircleBitcoinIcon.tsx
|
|
39928
|
-
import React227 from "react";
|
|
39929
|
-
var CircleBitcoinIcon = ({ size = 12 }) => {
|
|
39930
|
-
return /* @__PURE__ */ React227.createElement(
|
|
39931
|
-
"svg",
|
|
39932
|
-
{
|
|
39933
|
-
width: size,
|
|
39934
|
-
height: size,
|
|
39935
|
-
viewBox: "0 0 20 20",
|
|
39936
|
-
fill: "none",
|
|
39937
|
-
xmlns: "http://www.w3.org/2000/svg"
|
|
39938
|
-
},
|
|
39939
|
-
/* @__PURE__ */ React227.createElement(
|
|
39940
|
-
"path",
|
|
39941
|
-
{
|
|
39942
|
-
d: "M12.9168 11.8737C12.9168 12.449 12.4505 12.9154 11.8752 12.9154H8.75016V10.832H11.8752C12.4505 10.832 12.9168 11.2984 12.9168 11.8737Z",
|
|
39943
|
-
fill: "currentColor"
|
|
39944
|
-
}
|
|
39945
|
-
),
|
|
39946
|
-
/* @__PURE__ */ React227.createElement(
|
|
39947
|
-
"path",
|
|
39948
|
-
{
|
|
39949
|
-
d: "M11.4585 7.08203H8.75016V9.16536H11.4585C12.0338 9.16536 12.5002 8.69899 12.5002 8.1237C12.5002 7.5484 12.0338 7.08203 11.4585 7.08203Z",
|
|
39950
|
-
fill: "currentColor"
|
|
39951
|
-
}
|
|
39952
|
-
),
|
|
39953
|
-
/* @__PURE__ */ React227.createElement(
|
|
39954
|
-
"path",
|
|
39955
|
-
{
|
|
39956
|
-
fillRule: "evenodd",
|
|
39957
|
-
clipRule: "evenodd",
|
|
39958
|
-
d: "M10.0002 0.832031C4.93755 0.832031 0.833496 4.93609 0.833496 9.9987C0.833496 15.0613 4.93755 19.1654 10.0002 19.1654C15.0628 19.1654 19.1668 15.0613 19.1668 9.9987C19.1668 4.93609 15.0628 0.832031 10.0002 0.832031ZM8.3335 4.16536C8.79373 4.16536 9.16683 4.53846 9.16683 4.9987V5.41536H10.0002V4.9987C10.0002 4.53846 10.3733 4.16536 10.8335 4.16536C11.2937 4.16536 11.6668 4.53846 11.6668 4.9987V5.42326C13.0653 5.52964 14.1668 6.69803 14.1668 8.1237C14.1668 8.74941 13.9546 9.32557 13.5983 9.78413C14.2 10.2809 14.5835 11.0325 14.5835 11.8737C14.5835 13.3695 13.3709 14.582 11.8752 14.582H11.6668V14.9987C11.6668 15.4589 11.2937 15.832 10.8335 15.832C10.3733 15.832 10.0002 15.4589 10.0002 14.9987V14.582H9.16683V14.9987C9.16683 15.4589 8.79373 15.832 8.3335 15.832C7.87326 15.832 7.50016 15.4589 7.50016 14.9987V14.582H6.66683C6.20659 14.582 5.8335 14.2089 5.8335 13.7487C5.8335 13.2885 6.20659 12.9154 6.66683 12.9154H7.0835V7.08203H6.66683C6.20659 7.08203 5.8335 6.70894 5.8335 6.2487C5.8335 5.78846 6.20659 5.41536 6.66683 5.41536H7.50016V4.9987C7.50016 4.53846 7.87326 4.16536 8.3335 4.16536Z",
|
|
39959
|
-
fill: "currentColor"
|
|
39960
|
-
}
|
|
39961
|
-
)
|
|
39962
|
-
);
|
|
39963
|
-
};
|
|
39964
|
-
|
|
39965
39836
|
// src/components/Icons/New/DollarIcon.tsx
|
|
39966
|
-
import
|
|
39837
|
+
import React227 from "react";
|
|
39967
39838
|
var DollarIcon = ({ size = 12 }) => {
|
|
39968
|
-
return /* @__PURE__ */
|
|
39839
|
+
return /* @__PURE__ */ React227.createElement(
|
|
39969
39840
|
"svg",
|
|
39970
39841
|
{
|
|
39971
39842
|
width: size,
|
|
@@ -39974,7 +39845,7 @@ var DollarIcon = ({ size = 12 }) => {
|
|
|
39974
39845
|
fill: "none",
|
|
39975
39846
|
xmlns: "http://www.w3.org/2000/svg"
|
|
39976
39847
|
},
|
|
39977
|
-
/* @__PURE__ */
|
|
39848
|
+
/* @__PURE__ */ React227.createElement(
|
|
39978
39849
|
"path",
|
|
39979
39850
|
{
|
|
39980
39851
|
fillRule: "evenodd",
|
|
@@ -39988,7 +39859,7 @@ var DollarIcon = ({ size = 12 }) => {
|
|
|
39988
39859
|
|
|
39989
39860
|
// src/components/Tabs/Tabs.tsx
|
|
39990
39861
|
import { motion as motion15 } from "motion/react";
|
|
39991
|
-
import
|
|
39862
|
+
import React228 from "react";
|
|
39992
39863
|
|
|
39993
39864
|
// src/components/Tabs/tabs.css.ts
|
|
39994
39865
|
var baseTabStyle = "eghi2t9 _1rsrm2f11a _1rsrm2ft";
|
|
@@ -40011,7 +39882,7 @@ var Tabs = ({
|
|
|
40011
39882
|
inactiveTabProps,
|
|
40012
39883
|
containerStyles
|
|
40013
39884
|
}) => {
|
|
40014
|
-
return /* @__PURE__ */
|
|
39885
|
+
return /* @__PURE__ */ React228.createElement(
|
|
40015
39886
|
Box,
|
|
40016
39887
|
{
|
|
40017
39888
|
display: "flex",
|
|
@@ -40023,7 +39894,7 @@ var Tabs = ({
|
|
|
40023
39894
|
},
|
|
40024
39895
|
tabs2.map((tab, index) => {
|
|
40025
39896
|
const isSelected = index === activeTab;
|
|
40026
|
-
return /* @__PURE__ */
|
|
39897
|
+
return /* @__PURE__ */ React228.createElement(
|
|
40027
39898
|
Box,
|
|
40028
39899
|
{
|
|
40029
39900
|
key: tab.value,
|
|
@@ -40045,7 +39916,7 @@ var Tabs = ({
|
|
|
40045
39916
|
focusedVisible: "inactiveTabHover"
|
|
40046
39917
|
}
|
|
40047
39918
|
},
|
|
40048
|
-
isSelected ? /* @__PURE__ */
|
|
39919
|
+
isSelected ? /* @__PURE__ */ React228.createElement(
|
|
40049
39920
|
motion15.div,
|
|
40050
39921
|
{
|
|
40051
39922
|
layoutId: disabled ? void 0 : "highlight",
|
|
@@ -40053,7 +39924,7 @@ var Tabs = ({
|
|
|
40053
39924
|
style: { ...activeTabStyles, zIndex: 1 },
|
|
40054
39925
|
transition: { duration: 0.15, ease: [0.25, 0.1, 0.25, 1] }
|
|
40055
39926
|
}
|
|
40056
|
-
) : /* @__PURE__ */
|
|
39927
|
+
) : /* @__PURE__ */ React228.createElement(
|
|
40057
39928
|
Box,
|
|
40058
39929
|
{
|
|
40059
39930
|
className: baseTabStyle,
|
|
@@ -40064,7 +39935,7 @@ var Tabs = ({
|
|
|
40064
39935
|
...inactiveTabProps
|
|
40065
39936
|
}
|
|
40066
39937
|
),
|
|
40067
|
-
/* @__PURE__ */
|
|
39938
|
+
/* @__PURE__ */ React228.createElement(
|
|
40068
39939
|
Box,
|
|
40069
39940
|
{
|
|
40070
39941
|
display: "flex",
|
|
@@ -40075,7 +39946,7 @@ var Tabs = ({
|
|
|
40075
39946
|
style: { zIndex: 1, pointerEvents: "none" }
|
|
40076
39947
|
},
|
|
40077
39948
|
tab.icon,
|
|
40078
|
-
/* @__PURE__ */
|
|
39949
|
+
/* @__PURE__ */ React228.createElement(Text, { color: "inherit", weight: fontWeight, size: fontSize }, tab.label)
|
|
40079
39950
|
)
|
|
40080
39951
|
);
|
|
40081
39952
|
})
|
|
@@ -40102,17 +39973,17 @@ var CryptoCashToggle = ({
|
|
|
40102
39973
|
crypto: {
|
|
40103
39974
|
label: t("sourceChange.useCrypto"),
|
|
40104
39975
|
value: "crypto",
|
|
40105
|
-
icon: /* @__PURE__ */
|
|
39976
|
+
icon: /* @__PURE__ */ React229.createElement(CryptoTabIcon, { size: tabIconSize })
|
|
40106
39977
|
},
|
|
40107
39978
|
fiat: {
|
|
40108
39979
|
label: t("sourceChange.useCash"),
|
|
40109
39980
|
value: "fiat",
|
|
40110
|
-
icon: /* @__PURE__ */
|
|
39981
|
+
icon: /* @__PURE__ */ React229.createElement(FiatTabIcon, { size: tabIconSize })
|
|
40111
39982
|
},
|
|
40112
39983
|
withdraw: {
|
|
40113
39984
|
label: t("withdrawal.withdraw"),
|
|
40114
39985
|
value: "withdraw",
|
|
40115
|
-
icon: /* @__PURE__ */
|
|
39986
|
+
icon: /* @__PURE__ */ React229.createElement(ArrowCircleUpRightIcon, { size: tabIconSize })
|
|
40116
39987
|
}
|
|
40117
39988
|
};
|
|
40118
39989
|
const tabs2 = tabTypes?.map((type) => tabDefinitions[type]);
|
|
@@ -40123,7 +39994,7 @@ var CryptoCashToggle = ({
|
|
|
40123
39994
|
onTabChange(tab.value);
|
|
40124
39995
|
}
|
|
40125
39996
|
};
|
|
40126
|
-
return /* @__PURE__ */
|
|
39997
|
+
return /* @__PURE__ */ React229.createElement(Box, { marginTop, marginBottom, style }, /* @__PURE__ */ React229.createElement(
|
|
40127
39998
|
Tabs,
|
|
40128
39999
|
{
|
|
40129
40000
|
tabs: tabs2,
|
|
@@ -40203,16 +40074,16 @@ function SourceChangeLoading({ onClose }) {
|
|
|
40203
40074
|
const bottomSectionRef = useBottomSectionRef();
|
|
40204
40075
|
const showTagline = useDynamicConfig("showpoweredtagline");
|
|
40205
40076
|
const hasBottomBar = bottomBarCloseButtonConfig.enabled || showTagline;
|
|
40206
|
-
return /* @__PURE__ */
|
|
40077
|
+
return /* @__PURE__ */ React230.createElement(Box, { id: "source-change-page" }, /* @__PURE__ */ React230.createElement(
|
|
40207
40078
|
Box,
|
|
40208
40079
|
{
|
|
40209
40080
|
className: paymentMethodStaticArea,
|
|
40210
40081
|
display: "flex",
|
|
40211
40082
|
flexDirection: "column"
|
|
40212
40083
|
},
|
|
40213
|
-
/* @__PURE__ */
|
|
40084
|
+
/* @__PURE__ */ React230.createElement(CheckoutTopAnnouncementBanner, null),
|
|
40214
40085
|
customTopComponent?.(),
|
|
40215
|
-
isTargetAssetSelectable && /* @__PURE__ */
|
|
40086
|
+
isTargetAssetSelectable && /* @__PURE__ */ React230.createElement(
|
|
40216
40087
|
Box,
|
|
40217
40088
|
{
|
|
40218
40089
|
paddingY: "dropdownActiveItemRegularSizePaddingY",
|
|
@@ -40225,10 +40096,10 @@ function SourceChangeLoading({ onClose }) {
|
|
|
40225
40096
|
borderColor: "dropdownActiveItemBorderBase",
|
|
40226
40097
|
borderRadius: "dropdown"
|
|
40227
40098
|
},
|
|
40228
|
-
/* @__PURE__ */
|
|
40229
|
-
/* @__PURE__ */
|
|
40099
|
+
/* @__PURE__ */ React230.createElement(FunSkeletonBlock, { fontSize: "14", width: "96" }),
|
|
40100
|
+
/* @__PURE__ */ React230.createElement(FunSkeletonBlock, { fontSize: "14", width: "72" })
|
|
40230
40101
|
)
|
|
40231
|
-
), showContentDivider && /* @__PURE__ */
|
|
40102
|
+
), showContentDivider && /* @__PURE__ */ React230.createElement(
|
|
40232
40103
|
FunDivider,
|
|
40233
40104
|
{
|
|
40234
40105
|
marginTop: "16",
|
|
@@ -40236,7 +40107,7 @@ function SourceChangeLoading({ onClose }) {
|
|
|
40236
40107
|
borderColor: "lightStroke",
|
|
40237
40108
|
className: fullWidthContentDivider
|
|
40238
40109
|
}
|
|
40239
|
-
), isSwappedEnabled ? /* @__PURE__ */
|
|
40110
|
+
), isSwappedEnabled ? /* @__PURE__ */ React230.createElement(
|
|
40240
40111
|
Box,
|
|
40241
40112
|
{
|
|
40242
40113
|
display: "flex",
|
|
@@ -40244,7 +40115,7 @@ function SourceChangeLoading({ onClose }) {
|
|
|
40244
40115
|
className: paymentMethodStaticArea,
|
|
40245
40116
|
paddingBottom: hasBottomBar ? void 0 : "modalPaddingBottomLower"
|
|
40246
40117
|
},
|
|
40247
|
-
/* @__PURE__ */
|
|
40118
|
+
/* @__PURE__ */ React230.createElement(
|
|
40248
40119
|
CryptoCashToggle,
|
|
40249
40120
|
{
|
|
40250
40121
|
disabled: true,
|
|
@@ -40255,8 +40126,8 @@ function SourceChangeLoading({ onClose }) {
|
|
|
40255
40126
|
tabs: tabOrder
|
|
40256
40127
|
}
|
|
40257
40128
|
),
|
|
40258
|
-
enableSourceGroupLabels ? /* @__PURE__ */
|
|
40259
|
-
) : /* @__PURE__ */
|
|
40129
|
+
enableSourceGroupLabels ? /* @__PURE__ */ React230.createElement(Box, { gap: "24", display: "flex", flexDirection: "column" }, /* @__PURE__ */ React230.createElement(Box, { display: "flex", flexDirection: "column", gap: "8" }, /* @__PURE__ */ React230.createElement(FunSkeletonBlock, { fontSize: "14", width: "72" }), /* @__PURE__ */ React230.createElement(Box, { className: sourceListBoxClassName }, /* @__PURE__ */ React230.createElement(LoadingFunPaymentMethodItems, { count: 1 }))), /* @__PURE__ */ React230.createElement(Box, { display: "flex", flexDirection: "column", gap: "8" }, /* @__PURE__ */ React230.createElement(FunSkeletonBlock, { fontSize: "14", width: "72" }), /* @__PURE__ */ React230.createElement(Box, { className: sourceListBoxClassName }, /* @__PURE__ */ React230.createElement(LoadingFunPaymentMethodItems, { count: numPaymentMethods - 1 })))) : /* @__PURE__ */ React230.createElement(Box, { className: sourceListBoxClassName }, /* @__PURE__ */ React230.createElement(LoadingFunPaymentMethodItems, { count: numPaymentMethods }))
|
|
40130
|
+
) : /* @__PURE__ */ React230.createElement(
|
|
40260
40131
|
Box,
|
|
40261
40132
|
{
|
|
40262
40133
|
display: "flex",
|
|
@@ -40265,8 +40136,8 @@ function SourceChangeLoading({ onClose }) {
|
|
|
40265
40136
|
paddingBottom: hasBottomBar ? void 0 : "modalPaddingBottomLower",
|
|
40266
40137
|
gap: "4"
|
|
40267
40138
|
},
|
|
40268
|
-
/* @__PURE__ */
|
|
40269
|
-
/* @__PURE__ */
|
|
40139
|
+
/* @__PURE__ */ React230.createElement(LoadingFunPaymentMethodItems, { count: 1 }),
|
|
40140
|
+
/* @__PURE__ */ React230.createElement(
|
|
40270
40141
|
FunDivider,
|
|
40271
40142
|
{
|
|
40272
40143
|
marginTop: "8",
|
|
@@ -40274,9 +40145,9 @@ function SourceChangeLoading({ onClose }) {
|
|
|
40274
40145
|
borderColor: "selectedOptionBorder"
|
|
40275
40146
|
}
|
|
40276
40147
|
),
|
|
40277
|
-
/* @__PURE__ */
|
|
40148
|
+
/* @__PURE__ */ React230.createElement(LoadingFunPaymentMethodItems, { count: numPaymentMethods - 1 })
|
|
40278
40149
|
), bottomSectionRef && createPortal17(
|
|
40279
|
-
/* @__PURE__ */
|
|
40150
|
+
/* @__PURE__ */ React230.createElement(
|
|
40280
40151
|
Dialog.BottomBar,
|
|
40281
40152
|
{
|
|
40282
40153
|
onCloseLabel: t(bottomBarCloseButtonConfig.labelKey),
|
|
@@ -40287,7 +40158,7 @@ function SourceChangeLoading({ onClose }) {
|
|
|
40287
40158
|
));
|
|
40288
40159
|
}
|
|
40289
40160
|
function LoadingFunPaymentMethodItems({ count }) {
|
|
40290
|
-
return /* @__PURE__ */
|
|
40161
|
+
return /* @__PURE__ */ React230.createElement(React230.Fragment, null, Array.from({ length: count }).map((_, index) => /* @__PURE__ */ React230.createElement(LoadingFunPaymentMethodItem, { key: index })));
|
|
40291
40162
|
}
|
|
40292
40163
|
|
|
40293
40164
|
// src/modals/CheckoutModal/LoadingAccount.tsx
|
|
@@ -40468,12 +40339,12 @@ function LoadingAccount({
|
|
|
40468
40339
|
checkoutConfig,
|
|
40469
40340
|
userInfo.isConnected
|
|
40470
40341
|
]);
|
|
40471
|
-
return startsOnConfirmationStep ? /* @__PURE__ */
|
|
40342
|
+
return startsOnConfirmationStep ? /* @__PURE__ */ React231.createElement(ConfirmationStepLoading, null) : startsOnSelectAssetStep ? /* @__PURE__ */ React231.createElement(FunAssetLoading, { count: 5 }) : /* @__PURE__ */ React231.createElement(SourceChangeLoading, { onClose });
|
|
40472
40343
|
}
|
|
40473
40344
|
|
|
40474
40345
|
// src/modals/CheckoutModal/MeldCurrencySelect/MeldCurrencySelect.tsx
|
|
40475
40346
|
import clsx21 from "clsx";
|
|
40476
|
-
import
|
|
40347
|
+
import React232, { useMemo as useMemo58, useState as useState70 } from "react";
|
|
40477
40348
|
|
|
40478
40349
|
// src/modals/CheckoutModal/MeldCurrencySelect/currenciesWithMultipleCountries.ts
|
|
40479
40350
|
var currenciesWithMultipleCountries = {
|
|
@@ -40553,7 +40424,7 @@ function MeldCurrencySelect({
|
|
|
40553
40424
|
navigateToHistoryStep: true
|
|
40554
40425
|
});
|
|
40555
40426
|
};
|
|
40556
|
-
return /* @__PURE__ */
|
|
40427
|
+
return /* @__PURE__ */ React232.createElement(Box, { display: "flex", flexDirection: "column", gap: "8" }, /* @__PURE__ */ React232.createElement(
|
|
40557
40428
|
FunInput,
|
|
40558
40429
|
{
|
|
40559
40430
|
placeholder: t("meldCurrencySelect.searchCurrency"),
|
|
@@ -40561,7 +40432,7 @@ function MeldCurrencySelect({
|
|
|
40561
40432
|
onChange: handleSearch,
|
|
40562
40433
|
prefixIcon: "SearchIcon"
|
|
40563
40434
|
}
|
|
40564
|
-
), /* @__PURE__ */
|
|
40435
|
+
), /* @__PURE__ */ React232.createElement(Box, { display: "flex", flexDirection: "column", style: { minHeight: 360 } }, isPending ? Array.from({ length: 9 }).map((_, index) => /* @__PURE__ */ React232.createElement(Box, { key: index, padding: "12" }, /* @__PURE__ */ React232.createElement(FunSkeletonBlock, { height: "16", width: "full" }))) : filteredOptions.length === 0 ? /* @__PURE__ */ React232.createElement(FunNoResults, { text: t("meldCurrencySelect.noResultsFound") }) : /* @__PURE__ */ React232.createElement(
|
|
40565
40436
|
Box,
|
|
40566
40437
|
{
|
|
40567
40438
|
className: clsx21(hideScrollBar, selectWrapperStyle),
|
|
@@ -40573,7 +40444,7 @@ function MeldCurrencySelect({
|
|
|
40573
40444
|
},
|
|
40574
40445
|
filteredOptions.map((optionItem) => {
|
|
40575
40446
|
const isActive = selectedCurrency === optionItem.currencyCode;
|
|
40576
|
-
return /* @__PURE__ */
|
|
40447
|
+
return /* @__PURE__ */ React232.createElement(
|
|
40577
40448
|
FunOptionBox,
|
|
40578
40449
|
{
|
|
40579
40450
|
key: optionItem.currencyCode,
|
|
@@ -40582,15 +40453,15 @@ function MeldCurrencySelect({
|
|
|
40582
40453
|
paddingY: "10",
|
|
40583
40454
|
boxShadow: isActive ? "selectedDropdownItem" : void 0
|
|
40584
40455
|
},
|
|
40585
|
-
/* @__PURE__ */
|
|
40586
|
-
isActive && /* @__PURE__ */
|
|
40456
|
+
/* @__PURE__ */ React232.createElement(Box, { display: "flex", alignItems: "center", gap: "8" }, /* @__PURE__ */ React232.createElement(Text, null, getFlagEmoji(optionItem.currencyCode)), /* @__PURE__ */ React232.createElement(Text, null, `${optionItem.name} (${getCurrencySymbol(optionItem.currencyCode)})`)),
|
|
40457
|
+
isActive && /* @__PURE__ */ React232.createElement(CheckIcon, null)
|
|
40587
40458
|
);
|
|
40588
40459
|
})
|
|
40589
40460
|
)));
|
|
40590
40461
|
}
|
|
40591
40462
|
|
|
40592
40463
|
// src/modals/CheckoutModal/MeldQuotes/MeldQuotes.tsx
|
|
40593
|
-
import
|
|
40464
|
+
import React233 from "react";
|
|
40594
40465
|
import { createPortal as createPortal18 } from "react-dom";
|
|
40595
40466
|
var MeldQuotesInfo = {
|
|
40596
40467
|
Component: MeldQuotes,
|
|
@@ -40625,10 +40496,10 @@ function MeldQuotes({
|
|
|
40625
40496
|
const { query, countdown } = useMeldQuotes(fiatAmount, fiatCurrency, true);
|
|
40626
40497
|
const titleCountdownRef = useTitleCountdownRef();
|
|
40627
40498
|
if (query.isPending) {
|
|
40628
|
-
return /* @__PURE__ */
|
|
40499
|
+
return /* @__PURE__ */ React233.createElement(Box, { display: "flex", gap: "8", flexDirection: "column" }, Array.from({ length: 6 }).map((_, index) => /* @__PURE__ */ React233.createElement(MeldQuoteItem, { quote: void 0, key: index })));
|
|
40629
40500
|
}
|
|
40630
|
-
return /* @__PURE__ */
|
|
40631
|
-
return /* @__PURE__ */
|
|
40501
|
+
return /* @__PURE__ */ React233.createElement(Box, { display: "flex", gap: "8", flexDirection: "column" }, query.data?.map((quote) => {
|
|
40502
|
+
return /* @__PURE__ */ React233.createElement(
|
|
40632
40503
|
MeldQuoteItem,
|
|
40633
40504
|
{
|
|
40634
40505
|
key: quote.serviceProvider,
|
|
@@ -40643,7 +40514,7 @@ function MeldQuotes({
|
|
|
40643
40514
|
|
|
40644
40515
|
// src/modals/CheckoutModal/MeldRedirect/MeldRedirect.tsx
|
|
40645
40516
|
import { FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO as FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO10 } from "@funkit/chains";
|
|
40646
|
-
import
|
|
40517
|
+
import React234 from "react";
|
|
40647
40518
|
var MeldRedirectInfo = {
|
|
40648
40519
|
Component: MeldRedirect,
|
|
40649
40520
|
onNext: () => {
|
|
@@ -40677,7 +40548,7 @@ function MeldRedirect({
|
|
|
40677
40548
|
);
|
|
40678
40549
|
return entry?.[0];
|
|
40679
40550
|
};
|
|
40680
|
-
return /* @__PURE__ */
|
|
40551
|
+
return /* @__PURE__ */ React234.createElement(
|
|
40681
40552
|
Box,
|
|
40682
40553
|
{
|
|
40683
40554
|
display: "flex",
|
|
@@ -40686,7 +40557,7 @@ function MeldRedirect({
|
|
|
40686
40557
|
gap: "24",
|
|
40687
40558
|
marginTop: "8"
|
|
40688
40559
|
},
|
|
40689
|
-
quote?.serviceProvider && /* @__PURE__ */
|
|
40560
|
+
quote?.serviceProvider && /* @__PURE__ */ React234.createElement(
|
|
40690
40561
|
AsyncImage,
|
|
40691
40562
|
{
|
|
40692
40563
|
width: "48",
|
|
@@ -40697,7 +40568,7 @@ function MeldRedirect({
|
|
|
40697
40568
|
borderRadius: "full"
|
|
40698
40569
|
}
|
|
40699
40570
|
),
|
|
40700
|
-
/* @__PURE__ */
|
|
40571
|
+
/* @__PURE__ */ React234.createElement(
|
|
40701
40572
|
Box,
|
|
40702
40573
|
{
|
|
40703
40574
|
display: "flex",
|
|
@@ -40706,10 +40577,10 @@ function MeldRedirect({
|
|
|
40706
40577
|
textAlign: "center",
|
|
40707
40578
|
gap: "8"
|
|
40708
40579
|
},
|
|
40709
|
-
/* @__PURE__ */
|
|
40710
|
-
/* @__PURE__ */
|
|
40580
|
+
/* @__PURE__ */ React234.createElement(Text, { size: "16" }, t("meldRedirect.completeTransactionWith", { providerLabel })),
|
|
40581
|
+
/* @__PURE__ */ React234.createElement(Text, { size: "12" }, t("meldRedirect.canCloseModal"))
|
|
40711
40582
|
),
|
|
40712
|
-
/* @__PURE__ */
|
|
40583
|
+
/* @__PURE__ */ React234.createElement(
|
|
40713
40584
|
YouPayYouReceive,
|
|
40714
40585
|
{
|
|
40715
40586
|
payLabel: t("meldRedirect.youBuy"),
|
|
@@ -40723,14 +40594,14 @@ function MeldRedirect({
|
|
|
40723
40594
|
showFiatCurrencySection: true
|
|
40724
40595
|
}
|
|
40725
40596
|
),
|
|
40726
|
-
/* @__PURE__ */
|
|
40597
|
+
/* @__PURE__ */ React234.createElement(FunAlert, { description: t("meldRedirect.intentAddressWarning") })
|
|
40727
40598
|
);
|
|
40728
40599
|
}
|
|
40729
40600
|
|
|
40730
40601
|
// src/modals/CheckoutModal/SelectAsset/SelectAsset.tsx
|
|
40731
40602
|
import { etherealChain, hyperEvmChain as hyperEvmChain3 } from "@funkit/chains";
|
|
40732
|
-
import { isTokenEquivalent as
|
|
40733
|
-
import
|
|
40603
|
+
import { isTokenEquivalent as isTokenEquivalent13 } from "@funkit/utils";
|
|
40604
|
+
import React238, {
|
|
40734
40605
|
useEffect as useEffect65,
|
|
40735
40606
|
useLayoutEffect as useLayoutEffect2,
|
|
40736
40607
|
useMemo as useMemo60,
|
|
@@ -40767,17 +40638,17 @@ var useDynamicRoutes = (_dynamicRoutingId) => {
|
|
|
40767
40638
|
|
|
40768
40639
|
// src/modals/CheckoutModal/SelectAsset/SelectAssetInfoSection.tsx
|
|
40769
40640
|
import { formatCurrencyAndStringify as formatCurrencyAndStringify11 } from "@funkit/utils";
|
|
40770
|
-
import
|
|
40641
|
+
import React236 from "react";
|
|
40771
40642
|
|
|
40772
40643
|
// src/components/NewTokenDepositAlert/NewTokenDepositAlert.tsx
|
|
40773
|
-
import
|
|
40644
|
+
import React235 from "react";
|
|
40774
40645
|
import { Trans as Trans17 } from "react-i18next";
|
|
40775
40646
|
var FunLinkButtonComponent2 = ({
|
|
40776
40647
|
children,
|
|
40777
40648
|
onClick,
|
|
40778
40649
|
weight
|
|
40779
40650
|
}) => {
|
|
40780
|
-
return /* @__PURE__ */
|
|
40651
|
+
return /* @__PURE__ */ React235.createElement(
|
|
40781
40652
|
FunLinkButton,
|
|
40782
40653
|
{
|
|
40783
40654
|
inline: true,
|
|
@@ -40796,19 +40667,19 @@ var NewTokenDepositAlert = ({
|
|
|
40796
40667
|
if (!alertData || !isTokenTransferEnabled) {
|
|
40797
40668
|
return null;
|
|
40798
40669
|
}
|
|
40799
|
-
return /* @__PURE__ */
|
|
40670
|
+
return /* @__PURE__ */ React235.createElement(
|
|
40800
40671
|
FunAlert,
|
|
40801
40672
|
{
|
|
40802
|
-
icon: /* @__PURE__ */
|
|
40673
|
+
icon: /* @__PURE__ */ React235.createElement(NewTokenBadge, { iconSymbol: alertData.symbol }),
|
|
40803
40674
|
paddingX: "8",
|
|
40804
|
-
description: /* @__PURE__ */
|
|
40675
|
+
description: /* @__PURE__ */ React235.createElement(
|
|
40805
40676
|
Trans17,
|
|
40806
40677
|
{
|
|
40807
40678
|
t,
|
|
40808
40679
|
i18nKey: "common.depositsLiveTryNow",
|
|
40809
40680
|
values: { tokenName: alertData.name },
|
|
40810
40681
|
components: {
|
|
40811
|
-
TryNowLink: /* @__PURE__ */
|
|
40682
|
+
TryNowLink: /* @__PURE__ */ React235.createElement(
|
|
40812
40683
|
FunLinkButtonComponent2,
|
|
40813
40684
|
{
|
|
40814
40685
|
weight: "regular",
|
|
@@ -40835,9 +40706,9 @@ var SelectAssetInfoSection = ({
|
|
|
40835
40706
|
}) => {
|
|
40836
40707
|
const label = usePaymentMethodInfoLabel(paymentMethodInfo, 16);
|
|
40837
40708
|
if (!isSourceNavWidgetEnabled) {
|
|
40838
|
-
return /* @__PURE__ */
|
|
40709
|
+
return /* @__PURE__ */ React236.createElement(NewTokenDepositAlert, { onClick: onTokenTransfer });
|
|
40839
40710
|
}
|
|
40840
|
-
return /* @__PURE__ */
|
|
40711
|
+
return /* @__PURE__ */ React236.createElement(Box, { display: "flex", gap: "8", flexDirection: "column" }, /* @__PURE__ */ React236.createElement(
|
|
40841
40712
|
SourcePaymentMethodItem,
|
|
40842
40713
|
{
|
|
40843
40714
|
type: paymentMethodInfo.paymentMethod,
|
|
@@ -40847,12 +40718,12 @@ var SelectAssetInfoSection = ({
|
|
|
40847
40718
|
onClick: onSelectSource,
|
|
40848
40719
|
testId: "checkout-source-wallet-button"
|
|
40849
40720
|
}
|
|
40850
|
-
), /* @__PURE__ */
|
|
40721
|
+
), /* @__PURE__ */ React236.createElement(NewTokenDepositAlert, { onClick: onTokenTransfer }));
|
|
40851
40722
|
};
|
|
40852
40723
|
|
|
40853
40724
|
// src/modals/CheckoutModal/SelectAsset/SelectAssetList.tsx
|
|
40854
40725
|
import { formatCurrencyAndStringify as formatCurrencyAndStringify12 } from "@funkit/utils";
|
|
40855
|
-
import
|
|
40726
|
+
import React237 from "react";
|
|
40856
40727
|
import { flushSync } from "react-dom";
|
|
40857
40728
|
var SelectAssetList = ({
|
|
40858
40729
|
isLoading,
|
|
@@ -40884,16 +40755,16 @@ var SelectAssetList = ({
|
|
|
40884
40755
|
return void 0;
|
|
40885
40756
|
}
|
|
40886
40757
|
if (isLoading) {
|
|
40887
|
-
return /* @__PURE__ */
|
|
40758
|
+
return /* @__PURE__ */ React237.createElement(FunAssetLoading, { count: 5 });
|
|
40888
40759
|
}
|
|
40889
40760
|
if (isAssetsEmpty) {
|
|
40890
|
-
return /* @__PURE__ */
|
|
40761
|
+
return /* @__PURE__ */ React237.createElement(
|
|
40891
40762
|
FunNoResults,
|
|
40892
40763
|
{
|
|
40893
40764
|
title: t("checkout.noAvailableTokens"),
|
|
40894
40765
|
text: t("checkout.noAvailableTokensMessage"),
|
|
40895
40766
|
variant: "actionable",
|
|
40896
|
-
actionButton: onBalanceTopUpSwitch ? /* @__PURE__ */
|
|
40767
|
+
actionButton: onBalanceTopUpSwitch ? /* @__PURE__ */ React237.createElement(
|
|
40897
40768
|
FunButton,
|
|
40898
40769
|
{
|
|
40899
40770
|
type: "tertiary",
|
|
@@ -40907,7 +40778,7 @@ var SelectAssetList = ({
|
|
|
40907
40778
|
}
|
|
40908
40779
|
);
|
|
40909
40780
|
}
|
|
40910
|
-
return /* @__PURE__ */
|
|
40781
|
+
return /* @__PURE__ */ React237.createElement(
|
|
40911
40782
|
Box,
|
|
40912
40783
|
{
|
|
40913
40784
|
display: "flex",
|
|
@@ -40916,7 +40787,7 @@ var SelectAssetList = ({
|
|
|
40916
40787
|
},
|
|
40917
40788
|
assetOptions.map(({ asset, isDisabled, badgeText, minUsdWithFees }) => {
|
|
40918
40789
|
const isAssetItemActive = !navigateOnAssetClick && selectedChainTokenSymbol === asset.chainSymbolKey;
|
|
40919
|
-
return /* @__PURE__ */
|
|
40790
|
+
return /* @__PURE__ */ React237.createElement(
|
|
40920
40791
|
FunAssetItem,
|
|
40921
40792
|
{
|
|
40922
40793
|
key: asset.chainSymbolKey,
|
|
@@ -41063,7 +40934,7 @@ function useAssetOptions({
|
|
|
41063
40934
|
const { isUsable, reason } = usableForCheckout;
|
|
41064
40935
|
const isKnown = isKnownAsset(asset);
|
|
41065
40936
|
const isDisabled = !isUsable || !isKnown;
|
|
41066
|
-
const isUserSelected =
|
|
40937
|
+
const isUserSelected = isTokenEquivalent13({
|
|
41067
40938
|
firstTokenChainId: asset.pickedChainId,
|
|
41068
40939
|
firstTokenAddress: asset.tokenAddress,
|
|
41069
40940
|
secondTokenChainId: userSelectedTargetAsset?.tokenChainId || "",
|
|
@@ -41224,7 +41095,7 @@ function AccountSelectAsset({
|
|
|
41224
41095
|
return;
|
|
41225
41096
|
}
|
|
41226
41097
|
const currentSourceAsset = checkoutItem?.selectedSourceAssetInfo;
|
|
41227
|
-
const sourceAssetChanged = !
|
|
41098
|
+
const sourceAssetChanged = !isTokenEquivalent13({
|
|
41228
41099
|
firstTokenChainId: currentSourceAsset?.chainId || "",
|
|
41229
41100
|
firstTokenAddress: currentSourceAsset?.address || "",
|
|
41230
41101
|
secondTokenChainId: tokenItem.pickedChainId,
|
|
@@ -41298,7 +41169,7 @@ function AccountSelectAsset({
|
|
|
41298
41169
|
});
|
|
41299
41170
|
}
|
|
41300
41171
|
}, [checkoutId, isLoading, logMeasuredEvent]);
|
|
41301
|
-
const assetList = /* @__PURE__ */
|
|
41172
|
+
const assetList = /* @__PURE__ */ React238.createElement(
|
|
41302
41173
|
SelectAssetList,
|
|
41303
41174
|
{
|
|
41304
41175
|
isLoading,
|
|
@@ -41312,7 +41183,7 @@ function AccountSelectAsset({
|
|
|
41312
41183
|
onContinueWithToken
|
|
41313
41184
|
}
|
|
41314
41185
|
);
|
|
41315
|
-
return /* @__PURE__ */
|
|
41186
|
+
return /* @__PURE__ */ React238.createElement(React238.Fragment, null, uiCustomizations.selectAssetScreen.customTopComponent?.(), /* @__PURE__ */ React238.createElement(
|
|
41316
41187
|
Box,
|
|
41317
41188
|
{
|
|
41318
41189
|
width: "full",
|
|
@@ -41325,11 +41196,11 @@ function AccountSelectAsset({
|
|
|
41325
41196
|
},
|
|
41326
41197
|
assetList
|
|
41327
41198
|
), bottomSectionRef && createPortal19(
|
|
41328
|
-
/* @__PURE__ */
|
|
41199
|
+
/* @__PURE__ */ React238.createElement(
|
|
41329
41200
|
Dialog.BottomBar,
|
|
41330
41201
|
{
|
|
41331
41202
|
topSectionVisible: !!fetchHoldingsError,
|
|
41332
|
-
topSection: navigateOnAssetClick && !fetchHoldingsError ? null : /* @__PURE__ */
|
|
41203
|
+
topSection: navigateOnAssetClick && !fetchHoldingsError ? null : /* @__PURE__ */ React238.createElement(
|
|
41333
41204
|
FunNotification,
|
|
41334
41205
|
{
|
|
41335
41206
|
isVisible: !!fetchHoldingsError,
|
|
@@ -41368,7 +41239,7 @@ function SelectAsset({
|
|
|
41368
41239
|
const handleFinish = useEffectEvent(() => {
|
|
41369
41240
|
onNext({});
|
|
41370
41241
|
});
|
|
41371
|
-
return /* @__PURE__ */
|
|
41242
|
+
return /* @__PURE__ */ React238.createElement(Box, { display: "flex", flexDirection: "column", gap: "12", style: { flex: 1 } }, moreSources.length > 0 && /* @__PURE__ */ React238.createElement(
|
|
41372
41243
|
SelectAssetInfoSection,
|
|
41373
41244
|
{
|
|
41374
41245
|
paymentMethodInfo,
|
|
@@ -41377,7 +41248,7 @@ function SelectAsset({
|
|
|
41377
41248
|
onSelectSource: handleSelectSource,
|
|
41378
41249
|
isSourceNavWidgetEnabled: modalState.startingStep === "select_asset" /* SELECT_ASSET */
|
|
41379
41250
|
}
|
|
41380
|
-
), /* @__PURE__ */
|
|
41251
|
+
), /* @__PURE__ */ React238.createElement(
|
|
41381
41252
|
AccountSelectAsset,
|
|
41382
41253
|
{
|
|
41383
41254
|
paymentMethodInfo,
|
|
@@ -41401,7 +41272,7 @@ function isTreatedAsNativeToken(apiKey, asset, dynamicTargetAssetCandidates, fin
|
|
|
41401
41272
|
return dynamicPath.badge === "NATIVE";
|
|
41402
41273
|
}
|
|
41403
41274
|
if (isEtherealCustomer(apiKey)) {
|
|
41404
|
-
if (
|
|
41275
|
+
if (isTokenEquivalent13({
|
|
41405
41276
|
firstTokenChainId: mainnet12.id.toString(),
|
|
41406
41277
|
firstTokenAddress: "0x90d2af7d622ca3141efa4d8f1f24d86e5974cc8f",
|
|
41407
41278
|
// eUSDe (Ethereum)
|
|
@@ -41410,7 +41281,7 @@ function isTreatedAsNativeToken(apiKey, asset, dynamicTargetAssetCandidates, fin
|
|
|
41410
41281
|
})) {
|
|
41411
41282
|
return true;
|
|
41412
41283
|
}
|
|
41413
|
-
if (
|
|
41284
|
+
if (isTokenEquivalent13({
|
|
41414
41285
|
firstTokenChainId: etherealChain.id.toString(),
|
|
41415
41286
|
firstTokenAddress: NATIVE_TOKEN,
|
|
41416
41287
|
// USDe (Ethereal) uses 0xeeee... address
|
|
@@ -41421,7 +41292,7 @@ function isTreatedAsNativeToken(apiKey, asset, dynamicTargetAssetCandidates, fin
|
|
|
41421
41292
|
}
|
|
41422
41293
|
}
|
|
41423
41294
|
if (isHyenaCustomer(apiKey)) {
|
|
41424
|
-
if (
|
|
41295
|
+
if (isTokenEquivalent13({
|
|
41425
41296
|
firstTokenChainId: hyperEvmChain3.id.toString(),
|
|
41426
41297
|
firstTokenAddress: "0x5d3a1ff2b6bab83b63cd9ad0787074081a52ef34",
|
|
41427
41298
|
secondTokenChainId: asset.pickedChainId,
|
|
@@ -41431,7 +41302,7 @@ function isTreatedAsNativeToken(apiKey, asset, dynamicTargetAssetCandidates, fin
|
|
|
41431
41302
|
}
|
|
41432
41303
|
}
|
|
41433
41304
|
return dynamicTargetAssetCandidates.some(
|
|
41434
|
-
(token) =>
|
|
41305
|
+
(token) => isTokenEquivalent13({
|
|
41435
41306
|
firstTokenChainId: token.tokenChainId,
|
|
41436
41307
|
firstTokenAddress: token.tokenAddress,
|
|
41437
41308
|
secondTokenChainId: asset.pickedChainId,
|
|
@@ -41447,15 +41318,15 @@ function showsNativeTokensOnTop(apiKey) {
|
|
|
41447
41318
|
import {
|
|
41448
41319
|
BridgeCustomerStatus as BridgeCustomerStatus6
|
|
41449
41320
|
} from "@funkit/api-base";
|
|
41450
|
-
import { LIGHTER_CHAIN_ID as LIGHTER_CHAIN_ID3
|
|
41451
|
-
import { isTokenEquivalent as
|
|
41452
|
-
import
|
|
41321
|
+
import { LIGHTER_CHAIN_ID as LIGHTER_CHAIN_ID3 } from "@funkit/chains";
|
|
41322
|
+
import { isTokenEquivalent as isTokenEquivalent14, noop as noop6 } from "@funkit/utils";
|
|
41323
|
+
import React247, { useEffect as useEffect67, useMemo as useMemo61, useRef as useRef32, useState as useState72 } from "react";
|
|
41453
41324
|
import { createPortal as createPortal20 } from "react-dom";
|
|
41454
41325
|
|
|
41455
41326
|
// src/components/Dropdown/ReceiveTokenDropdown.tsx
|
|
41456
|
-
import
|
|
41327
|
+
import React239 from "react";
|
|
41457
41328
|
var TOKEN_ICON_SIZE2 = "16";
|
|
41458
|
-
var aprTag = (badgeText) => /* @__PURE__ */
|
|
41329
|
+
var aprTag = (badgeText) => /* @__PURE__ */ React239.createElement(
|
|
41459
41330
|
FunBadge,
|
|
41460
41331
|
{
|
|
41461
41332
|
background: "badgeBackgroundSuccess",
|
|
@@ -41487,7 +41358,7 @@ var ReceiveTokenDropdown = ({
|
|
|
41487
41358
|
onTokenSelected(matchingToken);
|
|
41488
41359
|
}
|
|
41489
41360
|
};
|
|
41490
|
-
return /* @__PURE__ */
|
|
41361
|
+
return /* @__PURE__ */ React239.createElement(
|
|
41491
41362
|
BaseDropdown_default,
|
|
41492
41363
|
{
|
|
41493
41364
|
maxDropdownHeight,
|
|
@@ -41496,7 +41367,7 @@ var ReceiveTokenDropdown = ({
|
|
|
41496
41367
|
size,
|
|
41497
41368
|
openToTopOnMobile: false,
|
|
41498
41369
|
activeItemProps: {
|
|
41499
|
-
iconComponent: selectedToken && /* @__PURE__ */
|
|
41370
|
+
iconComponent: selectedToken && /* @__PURE__ */ React239.createElement(
|
|
41500
41371
|
FunAssetAvatar,
|
|
41501
41372
|
{
|
|
41502
41373
|
assetIconSize: TOKEN_ICON_SIZE2,
|
|
@@ -41522,11 +41393,11 @@ var ReceiveTokenDropdown = ({
|
|
|
41522
41393
|
(token) => token.tokenSymbol === symbol
|
|
41523
41394
|
)?.badgeText;
|
|
41524
41395
|
const tagComponent = tokenBadgeText2 ? aprTag(tokenBadgeText2) : void 0;
|
|
41525
|
-
return /* @__PURE__ */
|
|
41396
|
+
return /* @__PURE__ */ React239.createElement(
|
|
41526
41397
|
BaseDropdownItem_default,
|
|
41527
41398
|
{
|
|
41528
41399
|
horizontalIconGap: "8",
|
|
41529
|
-
iconComponent: /* @__PURE__ */
|
|
41400
|
+
iconComponent: /* @__PURE__ */ React239.createElement(
|
|
41530
41401
|
FunAssetAvatar,
|
|
41531
41402
|
{
|
|
41532
41403
|
assetIconSize: TOKEN_ICON_SIZE2,
|
|
@@ -41557,7 +41428,7 @@ function useIsUserUnderComplianceReview() {
|
|
|
41557
41428
|
}
|
|
41558
41429
|
|
|
41559
41430
|
// src/modals/CheckoutModal/SourceChange/ComplianceReviewBanner.tsx
|
|
41560
|
-
import
|
|
41431
|
+
import React240, { useEffect as useEffect66 } from "react";
|
|
41561
41432
|
import { Trans as Trans18 } from "react-i18next";
|
|
41562
41433
|
function ComplianceReviewBanner({
|
|
41563
41434
|
checkoutId
|
|
@@ -41576,17 +41447,17 @@ function ComplianceReviewBanner({
|
|
|
41576
41447
|
metadata: { checkoutId }
|
|
41577
41448
|
});
|
|
41578
41449
|
};
|
|
41579
|
-
return /* @__PURE__ */
|
|
41450
|
+
return /* @__PURE__ */ React240.createElement(Box, { marginBottom: "8" }, /* @__PURE__ */ React240.createElement(
|
|
41580
41451
|
InfoBanner,
|
|
41581
41452
|
{
|
|
41582
41453
|
type: "warning",
|
|
41583
|
-
message: /* @__PURE__ */
|
|
41454
|
+
message: /* @__PURE__ */ React240.createElement(
|
|
41584
41455
|
Trans18,
|
|
41585
41456
|
{
|
|
41586
41457
|
t,
|
|
41587
41458
|
i18nKey: "sourceChange.complianceReviewMessage",
|
|
41588
41459
|
components: {
|
|
41589
|
-
GetHelpLink: /* @__PURE__ */
|
|
41460
|
+
GetHelpLink: /* @__PURE__ */ React240.createElement(ContactSupportLink, { size: "10", onClick: trackGetHelpClick })
|
|
41590
41461
|
}
|
|
41591
41462
|
}
|
|
41592
41463
|
)
|
|
@@ -41595,7 +41466,7 @@ function ComplianceReviewBanner({
|
|
|
41595
41466
|
}
|
|
41596
41467
|
|
|
41597
41468
|
// src/modals/CheckoutModal/SourceChange/ConnectedSource.tsx
|
|
41598
|
-
import
|
|
41469
|
+
import React241 from "react";
|
|
41599
41470
|
var ConnectedSource = ({
|
|
41600
41471
|
paymentInfo,
|
|
41601
41472
|
targetChainId,
|
|
@@ -41607,7 +41478,7 @@ var ConnectedSource = ({
|
|
|
41607
41478
|
const isSelected = selectedPaymentInfo?.paymentMethod === paymentInfo.paymentMethod;
|
|
41608
41479
|
switch (paymentInfo.paymentMethod) {
|
|
41609
41480
|
case PaymentMethod.ACCOUNT_BALANCE:
|
|
41610
|
-
return /* @__PURE__ */
|
|
41481
|
+
return /* @__PURE__ */ React241.createElement(
|
|
41611
41482
|
AccountBalancePaymentMethodItem,
|
|
41612
41483
|
{
|
|
41613
41484
|
showSelectedCheckmark,
|
|
@@ -41619,7 +41490,7 @@ var ConnectedSource = ({
|
|
|
41619
41490
|
}
|
|
41620
41491
|
);
|
|
41621
41492
|
case PaymentMethod.BROKERAGE:
|
|
41622
|
-
return /* @__PURE__ */
|
|
41493
|
+
return /* @__PURE__ */ React241.createElement(
|
|
41623
41494
|
ConnectedBluvoPaymentMethodItem,
|
|
41624
41495
|
{
|
|
41625
41496
|
paymentMethodInfo: paymentInfo,
|
|
@@ -41630,7 +41501,7 @@ var ConnectedSource = ({
|
|
|
41630
41501
|
}
|
|
41631
41502
|
);
|
|
41632
41503
|
case PaymentMethod.VIRTUAL_BANK:
|
|
41633
|
-
return /* @__PURE__ */
|
|
41504
|
+
return /* @__PURE__ */ React241.createElement(
|
|
41634
41505
|
ActiveFiatAccountPaymentMethodItem,
|
|
41635
41506
|
{
|
|
41636
41507
|
isActive: isSelected,
|
|
@@ -41646,10 +41517,10 @@ var ConnectedSource = ({
|
|
|
41646
41517
|
};
|
|
41647
41518
|
|
|
41648
41519
|
// src/modals/CheckoutModal/SourceChange/SourceList.tsx
|
|
41649
|
-
import
|
|
41520
|
+
import React246 from "react";
|
|
41650
41521
|
|
|
41651
41522
|
// src/modals/CheckoutModal/SourceChange/FlatList.tsx
|
|
41652
|
-
import
|
|
41523
|
+
import React242, { Fragment as Fragment2 } from "react";
|
|
41653
41524
|
function FlatList({
|
|
41654
41525
|
groups,
|
|
41655
41526
|
boxClassName,
|
|
@@ -41657,7 +41528,7 @@ function FlatList({
|
|
|
41657
41528
|
footer,
|
|
41658
41529
|
testId
|
|
41659
41530
|
}) {
|
|
41660
|
-
return /* @__PURE__ */
|
|
41531
|
+
return /* @__PURE__ */ React242.createElement(
|
|
41661
41532
|
Box,
|
|
41662
41533
|
{
|
|
41663
41534
|
display: "flex",
|
|
@@ -41666,7 +41537,7 @@ function FlatList({
|
|
|
41666
41537
|
testId,
|
|
41667
41538
|
...{ [WITH_EMPTY_STATE_DATA_ATTRIBUTE]: true }
|
|
41668
41539
|
},
|
|
41669
|
-
groups.map((group, index) => /* @__PURE__ */
|
|
41540
|
+
groups.map((group, index) => /* @__PURE__ */ React242.createElement(Fragment2, { key: index }, index > 0 && /* @__PURE__ */ React242.createElement(
|
|
41670
41541
|
FunDivider,
|
|
41671
41542
|
{
|
|
41672
41543
|
label: dividerLabel,
|
|
@@ -41680,7 +41551,7 @@ function FlatList({
|
|
|
41680
41551
|
}
|
|
41681
41552
|
|
|
41682
41553
|
// src/modals/CheckoutModal/SourceChange/GroupedList.tsx
|
|
41683
|
-
import
|
|
41554
|
+
import React243 from "react";
|
|
41684
41555
|
function GroupedList({
|
|
41685
41556
|
groups,
|
|
41686
41557
|
showLabels,
|
|
@@ -41688,7 +41559,7 @@ function GroupedList({
|
|
|
41688
41559
|
testId
|
|
41689
41560
|
}) {
|
|
41690
41561
|
const containerClass = showLabels ? sourceListGroupContainerStyles : sourceListGroupContainerNoLabelsStyles;
|
|
41691
|
-
return /* @__PURE__ */
|
|
41562
|
+
return /* @__PURE__ */ React243.createElement(
|
|
41692
41563
|
Box,
|
|
41693
41564
|
{
|
|
41694
41565
|
display: "flex",
|
|
@@ -41696,7 +41567,7 @@ function GroupedList({
|
|
|
41696
41567
|
testId,
|
|
41697
41568
|
...{ [WITH_EMPTY_STATE_DATA_ATTRIBUTE]: true }
|
|
41698
41569
|
},
|
|
41699
|
-
/* @__PURE__ */
|
|
41570
|
+
/* @__PURE__ */ React243.createElement(Box, { display: "flex", flexDirection: "column", className: containerClass }, groups.map((group, index) => /* @__PURE__ */ React243.createElement(Box, { key: index, display: "flex", flexDirection: "column", gap: "8" }, showLabels && group.label && (group.labelTooltip ? /* @__PURE__ */ React243.createElement(Box, { display: "flex", alignItems: "center", gap: "4" }, /* @__PURE__ */ React243.createElement(
|
|
41700
41571
|
Text,
|
|
41701
41572
|
{
|
|
41702
41573
|
color: "secondaryText",
|
|
@@ -41704,7 +41575,7 @@ function GroupedList({
|
|
|
41704
41575
|
weight: "sourceListSectionLabelFontWeight"
|
|
41705
41576
|
},
|
|
41706
41577
|
group.label
|
|
41707
|
-
), /* @__PURE__ */
|
|
41578
|
+
), /* @__PURE__ */ React243.createElement(FunTooltip, { content: group.labelTooltip }, /* @__PURE__ */ React243.createElement(
|
|
41708
41579
|
Box,
|
|
41709
41580
|
{
|
|
41710
41581
|
color: { base: "tertiaryText", hover: "primaryText" },
|
|
@@ -41712,8 +41583,8 @@ function GroupedList({
|
|
|
41712
41583
|
alignItems: "center",
|
|
41713
41584
|
justifyContent: "center"
|
|
41714
41585
|
},
|
|
41715
|
-
/* @__PURE__ */
|
|
41716
|
-
))) : /* @__PURE__ */
|
|
41586
|
+
/* @__PURE__ */ React243.createElement(FunInfoIcon, { size: 12 })
|
|
41587
|
+
))) : /* @__PURE__ */ React243.createElement(
|
|
41717
41588
|
Text,
|
|
41718
41589
|
{
|
|
41719
41590
|
color: "secondaryText",
|
|
@@ -41721,13 +41592,13 @@ function GroupedList({
|
|
|
41721
41592
|
weight: "sourceListSectionLabelFontWeight"
|
|
41722
41593
|
},
|
|
41723
41594
|
group.label
|
|
41724
|
-
)), /* @__PURE__ */
|
|
41595
|
+
)), /* @__PURE__ */ React243.createElement(Box, { className: boxClassName }, group.children))))
|
|
41725
41596
|
);
|
|
41726
41597
|
}
|
|
41727
41598
|
|
|
41728
41599
|
// src/modals/CheckoutModal/SourceChange/PayPal.tsx
|
|
41729
41600
|
import { MeldServiceProvider as MeldServiceProvider2 } from "@funkit/api-base";
|
|
41730
|
-
import
|
|
41601
|
+
import React244, { useCallback as useCallback48 } from "react";
|
|
41731
41602
|
function PayPal() {
|
|
41732
41603
|
const { apiKey } = useFunkitConfig();
|
|
41733
41604
|
const { data: defaultCurrency } = useMeldDefaultCurrency(PaymentMethod.CARD);
|
|
@@ -41754,7 +41625,7 @@ function PayPal() {
|
|
|
41754
41625
|
return null;
|
|
41755
41626
|
}
|
|
41756
41627
|
const isLoading = isPaypalReady && (!defaultCurrency || !amounts[1] || isPending);
|
|
41757
|
-
return /* @__PURE__ */
|
|
41628
|
+
return /* @__PURE__ */ React244.createElement(
|
|
41758
41629
|
PayPalPaymentMethodItem,
|
|
41759
41630
|
{
|
|
41760
41631
|
isClickable: !isLoading,
|
|
@@ -41766,7 +41637,7 @@ function PayPal() {
|
|
|
41766
41637
|
}
|
|
41767
41638
|
|
|
41768
41639
|
// src/modals/CheckoutModal/SourceChange/buildSourceGroups.tsx
|
|
41769
|
-
import
|
|
41640
|
+
import React245 from "react";
|
|
41770
41641
|
function buildSourceGroups(args) {
|
|
41771
41642
|
if (isAaveCustomer(args.apiKey)) {
|
|
41772
41643
|
return buildAaveSourceGroups(args);
|
|
@@ -41786,7 +41657,7 @@ function buildDefaultSourceGroups({
|
|
|
41786
41657
|
if (preferred.length > 0) {
|
|
41787
41658
|
groups.push({
|
|
41788
41659
|
label: isFallback ? t("sourceChange.mostPopular") : t("sourceChange.connected"),
|
|
41789
|
-
children: /* @__PURE__ */
|
|
41660
|
+
children: /* @__PURE__ */ React245.createElement(React245.Fragment, null, preferred)
|
|
41790
41661
|
});
|
|
41791
41662
|
}
|
|
41792
41663
|
const moreChildren = [...moreSources, ...unavailable];
|
|
@@ -41796,7 +41667,7 @@ function buildDefaultSourceGroups({
|
|
|
41796
41667
|
// when there's no preceding preferred group. Labeled mode skips
|
|
41797
41668
|
// groups with no label.
|
|
41798
41669
|
label: preferred.length > 0 ? t("sourceChange.moreOptions") : void 0,
|
|
41799
|
-
children: /* @__PURE__ */
|
|
41670
|
+
children: /* @__PURE__ */ React245.createElement(React245.Fragment, null, moreChildren)
|
|
41800
41671
|
});
|
|
41801
41672
|
}
|
|
41802
41673
|
if (!isSwappedEnabled) {
|
|
@@ -41827,7 +41698,7 @@ function buildAaveSourceGroups({
|
|
|
41827
41698
|
groups.push({
|
|
41828
41699
|
label: nativeRow ? t("sourceChange.useOtherAssets") : t("sourceChange.useAnyAsset"),
|
|
41829
41700
|
labelTooltip: nativeRow ? t("sourceChange.useOtherAssetsTooltip") : void 0,
|
|
41830
|
-
children: /* @__PURE__ */
|
|
41701
|
+
children: /* @__PURE__ */ React245.createElement(React245.Fragment, null, otherAssetsChildren)
|
|
41831
41702
|
});
|
|
41832
41703
|
}
|
|
41833
41704
|
return { layout: "grouped", groups, showLabels: true };
|
|
@@ -41859,18 +41730,18 @@ function SourceList({
|
|
|
41859
41730
|
nativeRow
|
|
41860
41731
|
});
|
|
41861
41732
|
if (result.layout === "flat") {
|
|
41862
|
-
return /* @__PURE__ */
|
|
41733
|
+
return /* @__PURE__ */ React246.createElement(
|
|
41863
41734
|
FlatList,
|
|
41864
41735
|
{
|
|
41865
41736
|
groups: result.groups,
|
|
41866
41737
|
boxClassName,
|
|
41867
41738
|
dividerLabel: t("sourceChange.more"),
|
|
41868
|
-
footer: /* @__PURE__ */
|
|
41739
|
+
footer: /* @__PURE__ */ React246.createElement(PayPal, null),
|
|
41869
41740
|
testId
|
|
41870
41741
|
}
|
|
41871
41742
|
);
|
|
41872
41743
|
}
|
|
41873
|
-
return /* @__PURE__ */
|
|
41744
|
+
return /* @__PURE__ */ React246.createElement(
|
|
41874
41745
|
GroupedList,
|
|
41875
41746
|
{
|
|
41876
41747
|
groups: result.groups,
|
|
@@ -41881,6 +41752,26 @@ function SourceList({
|
|
|
41881
41752
|
);
|
|
41882
41753
|
}
|
|
41883
41754
|
|
|
41755
|
+
// src/hooks/useStartBitcoinLightning.ts
|
|
41756
|
+
import { lightningChain as lightningChain3 } from "@funkit/chains";
|
|
41757
|
+
import { useCallback as useCallback49 } from "react";
|
|
41758
|
+
function useStartBitcoinLightning() {
|
|
41759
|
+
const { updateSelectedPaymentMethodInfo, updateSourceAsset } = useCheckoutContext();
|
|
41760
|
+
return useCallback49(() => {
|
|
41761
|
+
const paymentMethodInfo = createPaymentMethodInfo({
|
|
41762
|
+
paymentMethod: PaymentMethod.BITCOIN_LIGHTNING
|
|
41763
|
+
});
|
|
41764
|
+
updateSelectedPaymentMethodInfo(paymentMethodInfo);
|
|
41765
|
+
updateSourceAsset({
|
|
41766
|
+
iconSrc: chainMetadataById[String(lightningChain3.id)]?.iconUrl ?? "",
|
|
41767
|
+
symbol: "BTC",
|
|
41768
|
+
tokenAddress: NATIVE_TOKEN,
|
|
41769
|
+
pickedChainId: String(lightningChain3.id)
|
|
41770
|
+
});
|
|
41771
|
+
return paymentMethodInfo;
|
|
41772
|
+
}, [updateSelectedPaymentMethodInfo, updateSourceAsset]);
|
|
41773
|
+
}
|
|
41774
|
+
|
|
41884
41775
|
// src/modals/CheckoutModal/SourceChange/SourceChange.tsx
|
|
41885
41776
|
var SourceChangeInfo = {
|
|
41886
41777
|
Component: SourceChange,
|
|
@@ -41990,6 +41881,7 @@ function SourceChange({
|
|
|
41990
41881
|
const { logEvent } = useTrack();
|
|
41991
41882
|
const bottomSectionRef = useBottomSectionRef();
|
|
41992
41883
|
const { t } = useFunkitTranslation();
|
|
41884
|
+
const startBitcoinLightning = useStartBitcoinLightning();
|
|
41993
41885
|
const {
|
|
41994
41886
|
checkoutItem,
|
|
41995
41887
|
updateSelectedPaymentMethodInfo,
|
|
@@ -42046,7 +41938,7 @@ function SourceChange({
|
|
|
42046
41938
|
return void 0;
|
|
42047
41939
|
}
|
|
42048
41940
|
const holding = Object.values(walletHoldings).find(
|
|
42049
|
-
(h) =>
|
|
41941
|
+
(h) => isTokenEquivalent14({
|
|
42050
41942
|
firstTokenChainId: h.pickedChainId,
|
|
42051
41943
|
firstTokenAddress: h.tokenAddress,
|
|
42052
41944
|
secondTokenChainId: checkoutConfig.targetChain,
|
|
@@ -42164,16 +42056,7 @@ function SourceChange({
|
|
|
42164
42056
|
brokerageFailed: false
|
|
42165
42057
|
});
|
|
42166
42058
|
} else if (newSource2 === PaymentMethod.BITCOIN_LIGHTNING) {
|
|
42167
|
-
const paymentMethodInfo2 =
|
|
42168
|
-
paymentMethod: PaymentMethod.BITCOIN_LIGHTNING
|
|
42169
|
-
});
|
|
42170
|
-
updateSelectedPaymentMethodInfo(paymentMethodInfo2);
|
|
42171
|
-
updateSourceAsset({
|
|
42172
|
-
iconSrc: chainMetadataById[String(lightningChain3.id)]?.iconUrl ?? "",
|
|
42173
|
-
symbol: "BTC",
|
|
42174
|
-
tokenAddress: NATIVE_TOKEN,
|
|
42175
|
-
pickedChainId: String(lightningChain3.id)
|
|
42176
|
-
});
|
|
42059
|
+
const paymentMethodInfo2 = startBitcoinLightning();
|
|
42177
42060
|
onNext({
|
|
42178
42061
|
connectNew: true,
|
|
42179
42062
|
reverseAnimation: true,
|
|
@@ -42252,7 +42135,7 @@ function SourceChange({
|
|
|
42252
42135
|
};
|
|
42253
42136
|
function renderSource(source) {
|
|
42254
42137
|
if (isConnectablePaymentMethodInfo(source)) {
|
|
42255
|
-
return /* @__PURE__ */
|
|
42138
|
+
return /* @__PURE__ */ React247.createElement(
|
|
42256
42139
|
ConnectedSource,
|
|
42257
42140
|
{
|
|
42258
42141
|
key: source.title,
|
|
@@ -42265,7 +42148,7 @@ function SourceChange({
|
|
|
42265
42148
|
}
|
|
42266
42149
|
);
|
|
42267
42150
|
}
|
|
42268
|
-
return /* @__PURE__ */
|
|
42151
|
+
return /* @__PURE__ */ React247.createElement(
|
|
42269
42152
|
AddPaymentMethodItem,
|
|
42270
42153
|
{
|
|
42271
42154
|
key: source,
|
|
@@ -42277,7 +42160,7 @@ function SourceChange({
|
|
|
42277
42160
|
);
|
|
42278
42161
|
}
|
|
42279
42162
|
function renderUnavailable({ method, reason }) {
|
|
42280
|
-
return /* @__PURE__ */
|
|
42163
|
+
return /* @__PURE__ */ React247.createElement(
|
|
42281
42164
|
AddPaymentMethodItem,
|
|
42282
42165
|
{
|
|
42283
42166
|
key: method,
|
|
@@ -42285,7 +42168,7 @@ function SourceChange({
|
|
|
42285
42168
|
isActive: false,
|
|
42286
42169
|
isClickable: false,
|
|
42287
42170
|
onClick: noop6,
|
|
42288
|
-
customValueIcon: /* @__PURE__ */
|
|
42171
|
+
customValueIcon: /* @__PURE__ */ React247.createElement(PaymentMethodDisabledBadge, { reason })
|
|
42289
42172
|
}
|
|
42290
42173
|
);
|
|
42291
42174
|
}
|
|
@@ -42293,7 +42176,7 @@ function SourceChange({
|
|
|
42293
42176
|
if (tab === "withdraw") {
|
|
42294
42177
|
return (
|
|
42295
42178
|
// TODO: Integrate the full withdrawal flow
|
|
42296
|
-
/* @__PURE__ */
|
|
42179
|
+
/* @__PURE__ */ React247.createElement(
|
|
42297
42180
|
WithdrawalMethodSelect,
|
|
42298
42181
|
{
|
|
42299
42182
|
sourceChainId: targetChainId,
|
|
@@ -42305,7 +42188,7 @@ function SourceChange({
|
|
|
42305
42188
|
);
|
|
42306
42189
|
}
|
|
42307
42190
|
if (isSwappedEnabled && tab === "fiat") {
|
|
42308
|
-
return /* @__PURE__ */
|
|
42191
|
+
return /* @__PURE__ */ React247.createElement(
|
|
42309
42192
|
FormOfPaymentsList,
|
|
42310
42193
|
{
|
|
42311
42194
|
fopsData: fopsData.data,
|
|
@@ -42318,7 +42201,7 @@ function SourceChange({
|
|
|
42318
42201
|
}
|
|
42319
42202
|
);
|
|
42320
42203
|
}
|
|
42321
|
-
const nativeRow = nativeHolding && connectedWallet ? /* @__PURE__ */
|
|
42204
|
+
const nativeRow = nativeHolding && connectedWallet ? /* @__PURE__ */ React247.createElement(
|
|
42322
42205
|
NativeAssetItem,
|
|
42323
42206
|
{
|
|
42324
42207
|
asset: nativeHolding,
|
|
@@ -42328,7 +42211,7 @@ function SourceChange({
|
|
|
42328
42211
|
onClick: handleNativeAssetClick
|
|
42329
42212
|
}
|
|
42330
42213
|
) : void 0;
|
|
42331
|
-
return /* @__PURE__ */
|
|
42214
|
+
return /* @__PURE__ */ React247.createElement(
|
|
42332
42215
|
SourceList,
|
|
42333
42216
|
{
|
|
42334
42217
|
preferred: preferred.map(renderSource),
|
|
@@ -42340,21 +42223,21 @@ function SourceChange({
|
|
|
42340
42223
|
}
|
|
42341
42224
|
);
|
|
42342
42225
|
}
|
|
42343
|
-
return /* @__PURE__ */
|
|
42226
|
+
return /* @__PURE__ */ React247.createElement(Box, { id: "source-change-page", style: { display: "contents" } }, /* @__PURE__ */ React247.createElement(
|
|
42344
42227
|
Box,
|
|
42345
42228
|
{
|
|
42346
42229
|
className: paymentMethodStaticArea,
|
|
42347
42230
|
display: "flex",
|
|
42348
42231
|
flexDirection: "column"
|
|
42349
42232
|
},
|
|
42350
|
-
/* @__PURE__ */
|
|
42233
|
+
/* @__PURE__ */ React247.createElement(CheckoutTopAnnouncementBanner, null),
|
|
42351
42234
|
customTopComponent?.({
|
|
42352
42235
|
onStepChange,
|
|
42353
42236
|
modalState,
|
|
42354
42237
|
dynamicRoutingId: checkoutConfig?.dynamicRoutingId,
|
|
42355
42238
|
applyDynamicTargetAssetCandidate
|
|
42356
42239
|
}),
|
|
42357
|
-
isTargetAssetSelectable && dynamicTargetAssets && /* @__PURE__ */
|
|
42240
|
+
isTargetAssetSelectable && dynamicTargetAssets && /* @__PURE__ */ React247.createElement(Box, { marginBottom: "8" }, /* @__PURE__ */ React247.createElement(
|
|
42358
42241
|
ReceiveTokenDropdown,
|
|
42359
42242
|
{
|
|
42360
42243
|
activeItemLabel: t("sourceChange.selectDestinationTokenLabel"),
|
|
@@ -42367,7 +42250,7 @@ function SourceChange({
|
|
|
42367
42250
|
tokens: dynamicTargetAssets
|
|
42368
42251
|
}
|
|
42369
42252
|
))
|
|
42370
|
-
), showContentDivider && /* @__PURE__ */
|
|
42253
|
+
), showContentDivider && /* @__PURE__ */ React247.createElement(
|
|
42371
42254
|
FunDivider,
|
|
42372
42255
|
{
|
|
42373
42256
|
marginTop: "16",
|
|
@@ -42375,14 +42258,14 @@ function SourceChange({
|
|
|
42375
42258
|
borderColor: "lightStroke",
|
|
42376
42259
|
className: fullWidthContentDivider
|
|
42377
42260
|
}
|
|
42378
|
-
), /* @__PURE__ */
|
|
42261
|
+
), /* @__PURE__ */ React247.createElement(
|
|
42379
42262
|
Box,
|
|
42380
42263
|
{
|
|
42381
42264
|
className: paymentMethodStaticArea,
|
|
42382
42265
|
display: "flex",
|
|
42383
42266
|
flexDirection: "column"
|
|
42384
42267
|
},
|
|
42385
|
-
isSwappedEnabled && /* @__PURE__ */
|
|
42268
|
+
isSwappedEnabled && /* @__PURE__ */ React247.createElement(
|
|
42386
42269
|
CryptoCashToggle,
|
|
42387
42270
|
{
|
|
42388
42271
|
marginTop: cryptoCashToggleMarginTop,
|
|
@@ -42391,16 +42274,16 @@ function SourceChange({
|
|
|
42391
42274
|
tabs: tabOrder
|
|
42392
42275
|
}
|
|
42393
42276
|
),
|
|
42394
|
-
isFreeUsdcBannerEnabled && (paymentMethodTab === "crypto" || !isSwappedEnabled) && /* @__PURE__ */
|
|
42395
|
-
isUnderComplianceReview && /* @__PURE__ */
|
|
42396
|
-
), isSwappedEnabled && paymentMethodTab === "fiat" && /* @__PURE__ */
|
|
42277
|
+
isFreeUsdcBannerEnabled && (paymentMethodTab === "crypto" || !isSwappedEnabled) && /* @__PURE__ */ React247.createElement(FreeUsdcBanner, { type: "deposit" }),
|
|
42278
|
+
isUnderComplianceReview && /* @__PURE__ */ React247.createElement(ComplianceReviewBanner, { checkoutId: modalState.checkoutId })
|
|
42279
|
+
), isSwappedEnabled && paymentMethodTab === "fiat" && /* @__PURE__ */ React247.createElement(
|
|
42397
42280
|
FunDivider,
|
|
42398
42281
|
{
|
|
42399
42282
|
borderColor: "lightStroke",
|
|
42400
42283
|
className: fullWidthContentDivider,
|
|
42401
42284
|
visible: paymentListScroll.hasTopDivider
|
|
42402
42285
|
}
|
|
42403
|
-
), /* @__PURE__ */
|
|
42286
|
+
), /* @__PURE__ */ React247.createElement(
|
|
42404
42287
|
PaddedScrollableArea,
|
|
42405
42288
|
{
|
|
42406
42289
|
ref: paymentListScroll.ref,
|
|
@@ -42408,7 +42291,7 @@ function SourceChange({
|
|
|
42408
42291
|
isScrolling: paymentListScroll.isScrolling,
|
|
42409
42292
|
paddingBottom: hasBottomBar ? void 0 : "modalPaddingBottomLower"
|
|
42410
42293
|
},
|
|
42411
|
-
leavingTab !== null && /* @__PURE__ */
|
|
42294
|
+
leavingTab !== null && /* @__PURE__ */ React247.createElement(
|
|
42412
42295
|
Box,
|
|
42413
42296
|
{
|
|
42414
42297
|
key: leavingTab,
|
|
@@ -42422,15 +42305,15 @@ function SourceChange({
|
|
|
42422
42305
|
},
|
|
42423
42306
|
renderPaymentMethodContent(leavingTab)
|
|
42424
42307
|
),
|
|
42425
|
-
/* @__PURE__ */
|
|
42426
|
-
), /* @__PURE__ */
|
|
42308
|
+
/* @__PURE__ */ React247.createElement(Box, { className: leavingTab !== null ? enteringClass : void 0 }, renderPaymentMethodContent(paymentMethodTab))
|
|
42309
|
+
), /* @__PURE__ */ React247.createElement(Box, { className: emptyStateStyles }, /* @__PURE__ */ React247.createElement(
|
|
42427
42310
|
FunNoResults,
|
|
42428
42311
|
{
|
|
42429
42312
|
text: t("checkout.noAvailableTokensMessage"),
|
|
42430
42313
|
title: t("checkout.noAvailableTokens"),
|
|
42431
42314
|
variant: "actionable"
|
|
42432
42315
|
}
|
|
42433
|
-
)), isSwappedEnabled && paymentMethodTab === "fiat" && hasBottomBar && /* @__PURE__ */
|
|
42316
|
+
)), isSwappedEnabled && paymentMethodTab === "fiat" && hasBottomBar && /* @__PURE__ */ React247.createElement(
|
|
42434
42317
|
FunDivider,
|
|
42435
42318
|
{
|
|
42436
42319
|
borderColor: "lightStroke",
|
|
@@ -42438,7 +42321,7 @@ function SourceChange({
|
|
|
42438
42321
|
visible: paymentListScroll.isScrollable && !paymentListScroll.isAtBottom
|
|
42439
42322
|
}
|
|
42440
42323
|
), bottomSectionRef && createPortal20(
|
|
42441
|
-
/* @__PURE__ */
|
|
42324
|
+
/* @__PURE__ */ React247.createElement(
|
|
42442
42325
|
Dialog.BottomBar,
|
|
42443
42326
|
{
|
|
42444
42327
|
actionButtonProps: isAutoContinue ? void 0 : {
|
|
@@ -42467,7 +42350,7 @@ function trackEventForTabChange(checkoutItem, tab) {
|
|
|
42467
42350
|
|
|
42468
42351
|
// src/modals/CheckoutModal/SwappedIframe/SwappedIframeController.tsx
|
|
42469
42352
|
import { useQueryClient as useQueryClient7 } from "@tanstack/react-query";
|
|
42470
|
-
import
|
|
42353
|
+
import React248, { useEffect as useEffect68, useRef as useRef33 } from "react";
|
|
42471
42354
|
import { createPortal as createPortal21 } from "react-dom";
|
|
42472
42355
|
import { Trans as Trans19 } from "react-i18next";
|
|
42473
42356
|
var SwappedIframeInfo = {
|
|
@@ -42698,16 +42581,16 @@ function SwappedIframeController({
|
|
|
42698
42581
|
onTimeout: () => setModalState((s) => ({ ...s, error: true }))
|
|
42699
42582
|
});
|
|
42700
42583
|
if (modalState.error) {
|
|
42701
|
-
return /* @__PURE__ */
|
|
42584
|
+
return /* @__PURE__ */ React248.createElement(React248.Fragment, null, /* @__PURE__ */ React248.createElement(ModalErrorState, { minHeight: 268 }, /* @__PURE__ */ React248.createElement(
|
|
42702
42585
|
Trans19,
|
|
42703
42586
|
{
|
|
42704
42587
|
i18nKey: "sourceChange.noFormsOfPayments",
|
|
42705
42588
|
components: {
|
|
42706
|
-
ContactSupportLink: /* @__PURE__ */
|
|
42589
|
+
ContactSupportLink: /* @__PURE__ */ React248.createElement(ContactSupportLink, { size: "inherit" })
|
|
42707
42590
|
}
|
|
42708
42591
|
}
|
|
42709
42592
|
)), bottomSectionRef && createPortal21(
|
|
42710
|
-
/* @__PURE__ */
|
|
42593
|
+
/* @__PURE__ */ React248.createElement(
|
|
42711
42594
|
Dialog.BottomBar,
|
|
42712
42595
|
{
|
|
42713
42596
|
actionButtonProps: {
|
|
@@ -42724,9 +42607,9 @@ function SwappedIframeController({
|
|
|
42724
42607
|
));
|
|
42725
42608
|
}
|
|
42726
42609
|
if (!isSwappedReady) {
|
|
42727
|
-
return /* @__PURE__ */
|
|
42610
|
+
return /* @__PURE__ */ React248.createElement(SwappedIframeSkeleton, { id: "swapped-iframe-loading", onBack });
|
|
42728
42611
|
}
|
|
42729
|
-
return /* @__PURE__ */
|
|
42612
|
+
return /* @__PURE__ */ React248.createElement(Box, { id: "swapped-iframe" });
|
|
42730
42613
|
}
|
|
42731
42614
|
function trackEventForFormOfPayment(fop, checkoutItem, eventName, extras) {
|
|
42732
42615
|
return {
|
|
@@ -42750,6 +42633,52 @@ import { motion as motion17, useAnimationControls as useAnimationControls4 } fro
|
|
|
42750
42633
|
import React257, { useRef as useRef35, useState as useState74 } from "react";
|
|
42751
42634
|
import { createPortal as createPortal22 } from "react-dom";
|
|
42752
42635
|
|
|
42636
|
+
// src/components/BitcoinLightningBanner/BitcoinLightningBanner.tsx
|
|
42637
|
+
import { lightningChain as lightningChain5 } from "@funkit/chains";
|
|
42638
|
+
import React249 from "react";
|
|
42639
|
+
var BitcoinLightningBanner = ({
|
|
42640
|
+
onClick
|
|
42641
|
+
}) => {
|
|
42642
|
+
const { t } = useFunkitTranslation();
|
|
42643
|
+
return /* @__PURE__ */ React249.createElement(
|
|
42644
|
+
Box,
|
|
42645
|
+
{
|
|
42646
|
+
testId: "bitcoin-lightning-banner",
|
|
42647
|
+
width: "full",
|
|
42648
|
+
borderRadius: "connectButton",
|
|
42649
|
+
background: "offBackground",
|
|
42650
|
+
display: "flex",
|
|
42651
|
+
flexDirection: "row",
|
|
42652
|
+
alignItems: "center",
|
|
42653
|
+
gap: "8",
|
|
42654
|
+
paddingX: "10",
|
|
42655
|
+
paddingY: "8"
|
|
42656
|
+
},
|
|
42657
|
+
/* @__PURE__ */ React249.createElement(Box, { display: "flex", alignItems: "center", style: { flexShrink: 0 } }, /* @__PURE__ */ React249.createElement(
|
|
42658
|
+
AsyncImage,
|
|
42659
|
+
{
|
|
42660
|
+
alt: "Lightning",
|
|
42661
|
+
src: chainMetadataById[String(lightningChain5.id)]?.iconUrl ?? "",
|
|
42662
|
+
width: 16,
|
|
42663
|
+
height: 16,
|
|
42664
|
+
borderRadius: "full",
|
|
42665
|
+
borderColor: { custom: "rgba(0, 0, 0, 0.1)" }
|
|
42666
|
+
}
|
|
42667
|
+
)),
|
|
42668
|
+
/* @__PURE__ */ React249.createElement(Text, { as: "div", size: "12", color: "primaryText" }, t("transferToken.depositBitcoinLightning"), " ", /* @__PURE__ */ React249.createElement(
|
|
42669
|
+
FunLinkButton,
|
|
42670
|
+
{
|
|
42671
|
+
text: t("transferToken.lightningTryItNow"),
|
|
42672
|
+
onClick,
|
|
42673
|
+
variant: "accent",
|
|
42674
|
+
size: "12",
|
|
42675
|
+
weight: "medium",
|
|
42676
|
+
inline: true
|
|
42677
|
+
}
|
|
42678
|
+
))
|
|
42679
|
+
);
|
|
42680
|
+
};
|
|
42681
|
+
|
|
42753
42682
|
// src/components/BottomLinks/BottomLinks.tsx
|
|
42754
42683
|
import React250 from "react";
|
|
42755
42684
|
|
|
@@ -43182,7 +43111,7 @@ var TransferTokenDetails = ({
|
|
|
43182
43111
|
};
|
|
43183
43112
|
|
|
43184
43113
|
// src/modals/CheckoutModal/TransferToken/useTransferTokenTracking.ts
|
|
43185
|
-
import { useCallback as
|
|
43114
|
+
import { useCallback as useCallback50, useEffect as useEffect69, useRef as useRef34 } from "react";
|
|
43186
43115
|
|
|
43187
43116
|
// src/modals/CheckoutModal/TransferToken/CheckoutNotifications.track.ts
|
|
43188
43117
|
function getNotificationId(item) {
|
|
@@ -43288,7 +43217,7 @@ function useTransferTokenTracking({
|
|
|
43288
43217
|
});
|
|
43289
43218
|
}
|
|
43290
43219
|
}, [depositAddress, fromChainId, toChainId, toTokenAddress]);
|
|
43291
|
-
const trackAddressCopied =
|
|
43220
|
+
const trackAddressCopied = useCallback50(() => {
|
|
43292
43221
|
logEvent({
|
|
43293
43222
|
eventName: "fc::deposit::transfer::address::copied" /* DEPOSIT_TRANSFER_ADDRESS_COPIED */,
|
|
43294
43223
|
metadata: {
|
|
@@ -43297,7 +43226,7 @@ function useTransferTokenTracking({
|
|
|
43297
43226
|
}
|
|
43298
43227
|
});
|
|
43299
43228
|
}, [fromChainId, fromTokenSymbol, logEvent]);
|
|
43300
|
-
const trackImpactExpanded =
|
|
43229
|
+
const trackImpactExpanded = useCallback50(
|
|
43301
43230
|
(estPriceImpactPct) => {
|
|
43302
43231
|
logEvent({
|
|
43303
43232
|
eventName: "fc::deposit::transfer::impact::viewed" /* DEPOSIT_TRANSFER_IMPACT_VIEWED */,
|
|
@@ -43310,7 +43239,7 @@ function useTransferTokenTracking({
|
|
|
43310
43239
|
},
|
|
43311
43240
|
[fromChainId, fromTokenSymbol, logEvent]
|
|
43312
43241
|
);
|
|
43313
|
-
const trackSourceChainChange =
|
|
43242
|
+
const trackSourceChainChange = useCallback50(
|
|
43314
43243
|
(newChainId) => {
|
|
43315
43244
|
if (newChainId === fromChainId) {
|
|
43316
43245
|
return;
|
|
@@ -43326,7 +43255,7 @@ function useTransferTokenTracking({
|
|
|
43326
43255
|
},
|
|
43327
43256
|
[fromChainId, fromTokenSymbol, logEvent]
|
|
43328
43257
|
);
|
|
43329
|
-
const trackSourceTokenChange =
|
|
43258
|
+
const trackSourceTokenChange = useCallback50(
|
|
43330
43259
|
(newTokenSymbol) => {
|
|
43331
43260
|
if (newTokenSymbol === fromTokenSymbol) {
|
|
43332
43261
|
return;
|
|
@@ -43418,7 +43347,7 @@ function useNotificationTracking({
|
|
|
43418
43347
|
}
|
|
43419
43348
|
}
|
|
43420
43349
|
}, [logEvent, status]);
|
|
43421
|
-
const trackDismissal =
|
|
43350
|
+
const trackDismissal = useCallback50(() => {
|
|
43422
43351
|
if (!itemRef.current || !notificationDisplayedAtRef.current) {
|
|
43423
43352
|
return;
|
|
43424
43353
|
}
|
|
@@ -43431,7 +43360,7 @@ function useNotificationTracking({
|
|
|
43431
43360
|
);
|
|
43432
43361
|
reasonRef.current = "dismissed";
|
|
43433
43362
|
}, [logEvent]);
|
|
43434
|
-
const trackShowMore =
|
|
43363
|
+
const trackShowMore = useCallback50(() => {
|
|
43435
43364
|
if (!itemRef.current || !notificationDisplayedAtRef.current) {
|
|
43436
43365
|
return;
|
|
43437
43366
|
}
|
|
@@ -43510,6 +43439,7 @@ function getDepositCreditedEventData(item, addressDisplayedAtMs, notificationDis
|
|
|
43510
43439
|
}
|
|
43511
43440
|
|
|
43512
43441
|
// src/modals/CheckoutModal/TransferToken/TransferToken.tsx
|
|
43442
|
+
import { lightningChain as lightningChain6 } from "@funkit/chains";
|
|
43513
43443
|
var TransferTokenInfo = {
|
|
43514
43444
|
Component: TransferToken,
|
|
43515
43445
|
disableBack: ({ isSourceNavWidgetEnabled }) => isSourceNavWidgetEnabled,
|
|
@@ -43526,11 +43456,28 @@ var TransferTokenInfo = {
|
|
|
43526
43456
|
var TRANSFER_TOKEN_LOG_PREFIX = "transferToken";
|
|
43527
43457
|
function TransferToken({
|
|
43528
43458
|
onNext,
|
|
43459
|
+
onStepChange,
|
|
43529
43460
|
modalState
|
|
43530
43461
|
}) {
|
|
43531
43462
|
const { t } = useFunkitTranslation();
|
|
43532
43463
|
const controls = useAnimationControls4();
|
|
43533
43464
|
const udaParams = useUDAParams();
|
|
43465
|
+
const startBitcoinLightning = useStartBitcoinLightning();
|
|
43466
|
+
const { isLightningEnabled } = usePaymentMethodEnablement();
|
|
43467
|
+
const isBtcLightningBannerEnabled = useFeatureGate(
|
|
43468
|
+
"enable-btc-lightning-banner"
|
|
43469
|
+
);
|
|
43470
|
+
const handleBitcoinLightningClick = () => {
|
|
43471
|
+
logger.info("transferToken_startBitcoinLightning", {
|
|
43472
|
+
chainId: lightningChain6.id
|
|
43473
|
+
});
|
|
43474
|
+
const paymentMethodInfo = startBitcoinLightning();
|
|
43475
|
+
onStepChange({
|
|
43476
|
+
...extractCommonState(modalState),
|
|
43477
|
+
step: "input_amount" /* INPUT_AMOUNT */,
|
|
43478
|
+
paymentMethodInfo
|
|
43479
|
+
});
|
|
43480
|
+
};
|
|
43534
43481
|
const [qrCodeHover, setQrCodeHover] = useState74(false);
|
|
43535
43482
|
const isSourceNavWidgetEnabled = modalState.startingStep === "select_asset" /* SELECT_ASSET */;
|
|
43536
43483
|
const { textCustomizations, uiCustomizations } = useFunkitConfig();
|
|
@@ -43554,6 +43501,7 @@ function TransferToken({
|
|
|
43554
43501
|
transferInit
|
|
43555
43502
|
});
|
|
43556
43503
|
const chainIds = Object.keys(assets).map(Number);
|
|
43504
|
+
const showBitcoinLightningBanner = isBtcLightningBannerEnabled && isLightningEnabled && selectedToken === "BTC";
|
|
43557
43505
|
const {
|
|
43558
43506
|
depositAddress,
|
|
43559
43507
|
depositAddressTooltip,
|
|
@@ -43717,6 +43665,7 @@ function TransferToken({
|
|
|
43717
43665
|
chainIdSortOrder
|
|
43718
43666
|
}
|
|
43719
43667
|
),
|
|
43668
|
+
showBitcoinLightningBanner && /* @__PURE__ */ React257.createElement(BitcoinLightningBanner, { onClick: handleBitcoinLightningClick }),
|
|
43720
43669
|
/* @__PURE__ */ React257.createElement(
|
|
43721
43670
|
Box,
|
|
43722
43671
|
{
|
|
@@ -44177,9 +44126,9 @@ var FiatAccountDetail = {
|
|
|
44177
44126
|
|
|
44178
44127
|
// src/modals/CheckoutModal/VirtualFiatAccount/KycIframe.tsx
|
|
44179
44128
|
import { BridgeCustomerStatus as BridgeCustomerStatus7 } from "@funkit/api-base";
|
|
44180
|
-
import React263, { useCallback as
|
|
44129
|
+
import React263, { useCallback as useCallback51, useEffect as useEffect70, useMemo as useMemo62, useState as useState76 } from "react";
|
|
44181
44130
|
function useIframeListener(listeners, expectedOrigin) {
|
|
44182
|
-
const handleMessage =
|
|
44131
|
+
const handleMessage = useCallback51(
|
|
44183
44132
|
(event) => {
|
|
44184
44133
|
if (!expectedOrigin || event.origin !== expectedOrigin) {
|
|
44185
44134
|
return;
|
|
@@ -44446,7 +44395,7 @@ function useCheckoutModalTransition(checkoutItem, onClose) {
|
|
|
44446
44395
|
useEffect71(() => {
|
|
44447
44396
|
ensureLoadingAccountScreen();
|
|
44448
44397
|
}, [ensureLoadingAccountScreen]);
|
|
44449
|
-
const trackNextState =
|
|
44398
|
+
const trackNextState = useCallback52(
|
|
44450
44399
|
(nextState) => {
|
|
44451
44400
|
const trackEvent = trackEventFromNextState(nextState);
|
|
44452
44401
|
if (trackEvent) {
|
|
@@ -44462,7 +44411,7 @@ function useCheckoutModalTransition(checkoutItem, onClose) {
|
|
|
44462
44411
|
const { clearCheckoutQuoteMessages } = useCheckoutQuoteNotification();
|
|
44463
44412
|
const { getCheckoutProgress } = useCheckoutContext();
|
|
44464
44413
|
const { softHide } = useSoftHiddenCheckout();
|
|
44465
|
-
const onCloseWrapper =
|
|
44414
|
+
const onCloseWrapper = useCallback52(
|
|
44466
44415
|
(options) => {
|
|
44467
44416
|
const normalizedIsNewDeposit = !!options?.isNewDeposit;
|
|
44468
44417
|
const metadata = {
|
|
@@ -44506,7 +44455,7 @@ function useCheckoutModalTransition(checkoutItem, onClose) {
|
|
|
44506
44455
|
const [stateHistory, setHistory] = useState77([]);
|
|
44507
44456
|
const prevStep = useRef36(null);
|
|
44508
44457
|
const hasHistoryEntry = stateHistory.length > 1;
|
|
44509
|
-
const onNext =
|
|
44458
|
+
const onNext = useCallback52(
|
|
44510
44459
|
(payload) => {
|
|
44511
44460
|
if (prevStep.current === modalState.step) {
|
|
44512
44461
|
return;
|
|
@@ -44550,7 +44499,7 @@ function useCheckoutModalTransition(checkoutItem, onClose) {
|
|
|
44550
44499
|
ensureStepQueries
|
|
44551
44500
|
]
|
|
44552
44501
|
);
|
|
44553
|
-
const onStepChange =
|
|
44502
|
+
const onStepChange = useCallback52(
|
|
44554
44503
|
(nextState) => {
|
|
44555
44504
|
if (prevStep.current === modalState.step) {
|
|
44556
44505
|
return;
|
|
@@ -44565,7 +44514,7 @@ function useCheckoutModalTransition(checkoutItem, onClose) {
|
|
|
44565
44514
|
},
|
|
44566
44515
|
[modalState, animate, trackNextState, ensureStepQueries]
|
|
44567
44516
|
);
|
|
44568
|
-
const onBack =
|
|
44517
|
+
const onBack = useCallback52(() => {
|
|
44569
44518
|
clearCheckoutQuoteMessages();
|
|
44570
44519
|
const backStepOverride = checkoutBackMap[modalState.step];
|
|
44571
44520
|
const prevState = [...stateHistory].reverse().find((s) => s.step === backStepOverride) ?? stateHistory[stateHistory.length - 1];
|
|
@@ -44928,7 +44877,7 @@ var HomeCheckoutDisplayRowSkeleton = () => {
|
|
|
44928
44877
|
|
|
44929
44878
|
// src/modals/ProfileDetails/FunProfileViews/Home/HomeTokenDisplayRow.tsx
|
|
44930
44879
|
import {
|
|
44931
|
-
formatCryptoAndStringify as
|
|
44880
|
+
formatCryptoAndStringify as formatCryptoAndStringify8,
|
|
44932
44881
|
formatCurrencyAndStringify as formatCurrencyAndStringify15,
|
|
44933
44882
|
isMobile as isMobile9
|
|
44934
44883
|
} from "@funkit/utils";
|
|
@@ -44988,7 +44937,7 @@ var HomeTokenBalanceDisplayRow = ({
|
|
|
44988
44937
|
justifyContent: "space-between"
|
|
44989
44938
|
},
|
|
44990
44939
|
/* @__PURE__ */ React268.createElement(Text, { color: "primaryText", size: TEXT_SIZE, weight: "regular" }, asset.name),
|
|
44991
|
-
/* @__PURE__ */ React268.createElement(Text, { color: "secondaryText", size: TEXT_SIZE, weight: "regular" },
|
|
44940
|
+
/* @__PURE__ */ React268.createElement(Text, { color: "secondaryText", size: TEXT_SIZE, weight: "regular" }, formatCryptoAndStringify8(normalizedAmount, asset.symbol))
|
|
44992
44941
|
)
|
|
44993
44942
|
),
|
|
44994
44943
|
/* @__PURE__ */ React268.createElement(Text, { color: "primaryText", size: TEXT_SIZE, weight: "regular" }, formatCurrencyAndStringify15(asset.totalUsdValue || 0))
|
|
@@ -45037,7 +44986,7 @@ var HomeTokenBalanceDisplayRowSkeleton = () => {
|
|
|
45037
44986
|
|
|
45038
44987
|
// src/modals/ProfileDetails/FunProfileViews/Home/ProfileTitleSection.tsx
|
|
45039
44988
|
import React272 from "react";
|
|
45040
|
-
import { useCallback as
|
|
44989
|
+
import { useCallback as useCallback53, useState as useState78 } from "react";
|
|
45041
44990
|
|
|
45042
44991
|
// src/components/FunSelect/FunClickOutside.tsx
|
|
45043
44992
|
import React269 from "react";
|
|
@@ -45130,7 +45079,7 @@ var ProfileTitleSection = ({
|
|
|
45130
45079
|
}) => {
|
|
45131
45080
|
const { t } = useFunkitTranslation();
|
|
45132
45081
|
const [isDisconnectExpanded, setIsDisconnectExpanded] = useState78(false);
|
|
45133
|
-
const collapseDisconnect =
|
|
45082
|
+
const collapseDisconnect = useCallback53(
|
|
45134
45083
|
() => setIsDisconnectExpanded(false),
|
|
45135
45084
|
[]
|
|
45136
45085
|
);
|
|
@@ -45524,13 +45473,13 @@ function ProfileDetails({ onClose, defaultTab }) {
|
|
|
45524
45473
|
DEFAULT_CHECKOUT_HISTORY_DETAIL_TITLE
|
|
45525
45474
|
);
|
|
45526
45475
|
const singleActivityPage = "detail" /* DETAIL */;
|
|
45527
|
-
const resetView =
|
|
45476
|
+
const resetView = useCallback54(() => {
|
|
45528
45477
|
setView(returnView ?? 0 /* HOME */);
|
|
45529
45478
|
setSelectedHomeTab("checkouts" /* CHECKOUTS */);
|
|
45530
45479
|
resetActivityTraversal();
|
|
45531
45480
|
}, [resetActivityTraversal, returnView]);
|
|
45532
45481
|
const { animation, animate } = useAnimatedNavigation(void 0);
|
|
45533
|
-
const onSelectActivityWrapper =
|
|
45482
|
+
const onSelectActivityWrapper = useCallback54(
|
|
45534
45483
|
(activity) => {
|
|
45535
45484
|
onSelectActivity({
|
|
45536
45485
|
...activity,
|
|
@@ -45560,7 +45509,7 @@ function ProfileDetails({ onClose, defaultTab }) {
|
|
|
45560
45509
|
const isSingleActivityView = view === 3 /* SINGLE_ACTIVITY */;
|
|
45561
45510
|
const isCheckoutDetailView = isSingleActivityView && singleActivityPage === "detail" /* DETAIL */;
|
|
45562
45511
|
const withDivider = isSingleActivityView ? "always" : void 0;
|
|
45563
|
-
const handleHelp =
|
|
45512
|
+
const handleHelp = useCallback54(() => {
|
|
45564
45513
|
window.open(CONTACT_US_LINK, "_blank", "noopener");
|
|
45565
45514
|
}, []);
|
|
45566
45515
|
const { onScroll, topbar, withTopDivider } = useCustomStatusAnimationAboveTopbar({
|
|
@@ -45967,7 +45916,7 @@ function ChainModal({ onClose, open }) {
|
|
|
45967
45916
|
import React297, { useEffect as useEffect81, useRef as useRef41 } from "react";
|
|
45968
45917
|
|
|
45969
45918
|
// src/components/FunConnectOptions/FunConnectOptions.tsx
|
|
45970
|
-
import React289, { useCallback as
|
|
45919
|
+
import React289, { useCallback as useCallback55, useMemo as useMemo64, useState as useState83 } from "react";
|
|
45971
45920
|
|
|
45972
45921
|
// src/components/FunConnectOptions/FunConnectResultStep.tsx
|
|
45973
45922
|
import React284, { useEffect as useEffect74 } from "react";
|
|
@@ -46335,7 +46284,7 @@ function FunConnectOptions({
|
|
|
46335
46284
|
const [step, setStep] = useState83(INITIAL_STEP);
|
|
46336
46285
|
const [selectedWallet, setSelectedWallet] = useState83();
|
|
46337
46286
|
const [qrCodeUri, setQrCodeUri] = useState83("");
|
|
46338
|
-
const changeStep =
|
|
46287
|
+
const changeStep = useCallback55((newStep) => {
|
|
46339
46288
|
setStep(newStep);
|
|
46340
46289
|
if (isSignIn(newStep)) {
|
|
46341
46290
|
setSelectedWallet(void 0);
|
|
@@ -46346,7 +46295,7 @@ function FunConnectOptions({
|
|
|
46346
46295
|
navigateTo(0 /* SIGNIN_PRIMARY */, { reverse: true });
|
|
46347
46296
|
};
|
|
46348
46297
|
const walletConnectors = usePreparedWalletConnectors();
|
|
46349
|
-
const onRegenerateQrCode =
|
|
46298
|
+
const onRegenerateQrCode = useCallback55(
|
|
46350
46299
|
async (wallet) => {
|
|
46351
46300
|
const sWallet = walletConnectors.find((w) => wallet.id === w.id);
|
|
46352
46301
|
const uri = await sWallet?.getQrCodeUri?.();
|
|
@@ -46354,7 +46303,7 @@ function FunConnectOptions({
|
|
|
46354
46303
|
},
|
|
46355
46304
|
[walletConnectors]
|
|
46356
46305
|
);
|
|
46357
|
-
const connectToWallet =
|
|
46306
|
+
const connectToWallet = useCallback55(
|
|
46358
46307
|
async (wallet) => {
|
|
46359
46308
|
if (!wallet.ready) {
|
|
46360
46309
|
return;
|
|
@@ -46373,7 +46322,7 @@ function FunConnectOptions({
|
|
|
46373
46322
|
},
|
|
46374
46323
|
[changeStep, onRegenerateQrCode]
|
|
46375
46324
|
);
|
|
46376
|
-
const handleRetry =
|
|
46325
|
+
const handleRetry = useCallback55(() => {
|
|
46377
46326
|
if (selectedWallet) {
|
|
46378
46327
|
changeStep(1 /* PENDING_WALLET */);
|
|
46379
46328
|
connectToWallet(selectedWallet);
|
|
@@ -46546,7 +46495,7 @@ function CheckoutModalPrefetchedHooks() {
|
|
|
46546
46495
|
|
|
46547
46496
|
// src/modals/CheckoutModal/TransferToken/CheckoutNotifications.tsx
|
|
46548
46497
|
import clsx26 from "clsx";
|
|
46549
|
-
import React296, { useCallback as
|
|
46498
|
+
import React296, { useCallback as useCallback57, useEffect as useEffect79, useMemo as useMemo65, useState as useState85 } from "react";
|
|
46550
46499
|
|
|
46551
46500
|
// src/components/FunNotificationBanner/FunNotificationShowMoreButton.tsx
|
|
46552
46501
|
import React291 from "react";
|
|
@@ -46675,7 +46624,7 @@ var showMoreButtonStyle = "_4yitd93 _1rsrm2f1r4 _1rsrm2f1i _1rsrm2f1f _1rsrm2f11
|
|
|
46675
46624
|
// src/components/FunNotificationBanner/FunNotificationBannerIcon.tsx
|
|
46676
46625
|
import clsx24 from "clsx";
|
|
46677
46626
|
import { motion as motion18, useAnimate as useAnimate3 } from "motion/react";
|
|
46678
|
-
import React292, { useCallback as
|
|
46627
|
+
import React292, { useCallback as useCallback56, useEffect as useEffect77, useRef as useRef39 } from "react";
|
|
46679
46628
|
|
|
46680
46629
|
// src/components/FunNotificationBanner/FunNotificationBannerIcon.css.ts
|
|
46681
46630
|
var STATUS_SPINNER_BOTTOM_POSITION = -5;
|
|
@@ -46924,7 +46873,7 @@ var FunNotificationBannerIcon = ({
|
|
|
46924
46873
|
fallbackIconUrl = FALLBACK_ASSET
|
|
46925
46874
|
}) => {
|
|
46926
46875
|
const [animationScope, animate] = useAnimate3();
|
|
46927
|
-
const triggerAnimationProcessingToCompleted =
|
|
46876
|
+
const triggerAnimationProcessingToCompleted = useCallback56(async () => {
|
|
46928
46877
|
const completedIconPath = document.querySelector(
|
|
46929
46878
|
`.${generateAnimationPrefixClassName("icon-wrapper-completed")} path`
|
|
46930
46879
|
);
|
|
@@ -47031,7 +46980,7 @@ var FunNotificationBannerIcon = ({
|
|
|
47031
46980
|
)
|
|
47032
46981
|
]);
|
|
47033
46982
|
}, [animate]);
|
|
47034
|
-
const triggerAnimationDelayedToFailed =
|
|
46983
|
+
const triggerAnimationDelayedToFailed = useCallback56(async () => {
|
|
47035
46984
|
await Promise.all([
|
|
47036
46985
|
animate(
|
|
47037
46986
|
`.${generateAnimationPrefixClassName("icon-wrapper")}`,
|
|
@@ -47413,13 +47362,13 @@ var FunNotificationBanner = ({
|
|
|
47413
47362
|
import {
|
|
47414
47363
|
getCheckoutByDepositAddress as getCheckoutByDepositAddress2
|
|
47415
47364
|
} from "@funkit/api-base";
|
|
47416
|
-
import { useQuery as
|
|
47365
|
+
import { useQuery as useQuery28 } from "@tanstack/react-query";
|
|
47417
47366
|
var useCheckout = (depositAddress, initial) => {
|
|
47418
47367
|
const { apiKey } = useFunkitConfig();
|
|
47419
47368
|
const { itemRefresh } = useDynamicConfig(
|
|
47420
47369
|
"checkoutnotificationsrefreshinterval"
|
|
47421
47370
|
);
|
|
47422
|
-
const query =
|
|
47371
|
+
const query = useQuery28({
|
|
47423
47372
|
queryKey: ["checkouts", "checkout", depositAddress],
|
|
47424
47373
|
queryFn: () => getCheckoutByDepositAddress2({
|
|
47425
47374
|
// biome-ignore lint/style/noNonNullAssertion: already checked for null
|
|
@@ -47612,8 +47561,6 @@ function getNotificationContent(message, status, defaultMessage) {
|
|
|
47612
47561
|
}
|
|
47613
47562
|
var getNotificationProcessingConfig = ({
|
|
47614
47563
|
t,
|
|
47615
|
-
isFasterNotificationsEnabled,
|
|
47616
|
-
isLighter,
|
|
47617
47564
|
isSyntheticDE
|
|
47618
47565
|
}) => {
|
|
47619
47566
|
if (isSyntheticDE) {
|
|
@@ -47622,21 +47569,9 @@ var getNotificationProcessingConfig = ({
|
|
|
47622
47569
|
description: t("transaction.depositWillBeginProcessing")
|
|
47623
47570
|
};
|
|
47624
47571
|
}
|
|
47625
|
-
if (isFasterNotificationsEnabled) {
|
|
47626
|
-
return {
|
|
47627
|
-
title: t("transaction.depositProcessing"),
|
|
47628
|
-
description: t("transaction.depositWillBeCompletedSoon")
|
|
47629
|
-
};
|
|
47630
|
-
}
|
|
47631
|
-
if (isLighter) {
|
|
47632
|
-
return {
|
|
47633
|
-
title: t("transaction.depositReceivedProcessing"),
|
|
47634
|
-
description: t("transaction.depositWillBeCreditedLighterNative")
|
|
47635
|
-
};
|
|
47636
|
-
}
|
|
47637
47572
|
return {
|
|
47638
|
-
title: t("transaction.
|
|
47639
|
-
description: t("transaction.
|
|
47573
|
+
title: t("transaction.depositProcessing"),
|
|
47574
|
+
description: t("transaction.depositWillBeCompletedSoon")
|
|
47640
47575
|
};
|
|
47641
47576
|
};
|
|
47642
47577
|
var DirectExecutionNotification = ({
|
|
@@ -47647,15 +47582,8 @@ var DirectExecutionNotification = ({
|
|
|
47647
47582
|
const { t } = useFunkitTranslation();
|
|
47648
47583
|
const { initSettings } = directExecution.clientMetadata;
|
|
47649
47584
|
const { isCompleted, isDelayed: isDelayed2, isFailed, isProcessing, isRefunded } = useMultiStepDirectExecutionStatus(directExecution);
|
|
47650
|
-
const { apiKey } = useFunkitConfig();
|
|
47651
|
-
const isFasterNotificationsEnabled = useFeatureGate("faster-notifications");
|
|
47652
|
-
const isLighter = isLighterSlowDeposit(apiKey, {
|
|
47653
|
-
targetChain: directExecution.toChainId
|
|
47654
|
-
});
|
|
47655
47585
|
const notificationProcessingConfig = getNotificationProcessingConfig({
|
|
47656
47586
|
t,
|
|
47657
|
-
isFasterNotificationsEnabled,
|
|
47658
|
-
isLighter,
|
|
47659
47587
|
isSyntheticDE: !!directExecution.isDepositDetectionDE
|
|
47660
47588
|
});
|
|
47661
47589
|
const titleConfig = {
|
|
@@ -47839,7 +47767,7 @@ var CheckoutNotifications = ({
|
|
|
47839
47767
|
}, [isExpanded, combinedNotifications]);
|
|
47840
47768
|
const handleNotificationClose = (id) => setClosedNotifications((prev) => [...prev, id]);
|
|
47841
47769
|
const { logEvent } = useTrack();
|
|
47842
|
-
const handleNewNotification =
|
|
47770
|
+
const handleNewNotification = useCallback57(
|
|
47843
47771
|
(item) => {
|
|
47844
47772
|
const trackEvent = trackEventFromNotification(item);
|
|
47845
47773
|
logEvent(trackEvent);
|
|
@@ -48227,16 +48155,16 @@ function ConnectModal({ onClose, open }) {
|
|
|
48227
48155
|
function useModalStateValue() {
|
|
48228
48156
|
const [isModalOpen, setModalOpen] = useState86(false);
|
|
48229
48157
|
return {
|
|
48230
|
-
closeModal:
|
|
48158
|
+
closeModal: useCallback58(() => setModalOpen(false), []),
|
|
48231
48159
|
isModalOpen,
|
|
48232
|
-
openModal:
|
|
48160
|
+
openModal: useCallback58(() => setModalOpen(true), [])
|
|
48233
48161
|
};
|
|
48234
48162
|
}
|
|
48235
48163
|
function useModalStateValueWithProp() {
|
|
48236
48164
|
const [isModalOpen, setModalOpen] = useState86(false);
|
|
48237
48165
|
const [prop, setProp] = useState86(null);
|
|
48238
48166
|
return {
|
|
48239
|
-
closeModal:
|
|
48167
|
+
closeModal: useCallback58(() => {
|
|
48240
48168
|
setTimeout(
|
|
48241
48169
|
() => {
|
|
48242
48170
|
setProp(null);
|
|
@@ -48247,7 +48175,7 @@ function useModalStateValueWithProp() {
|
|
|
48247
48175
|
}, []),
|
|
48248
48176
|
isModalOpen,
|
|
48249
48177
|
prop,
|
|
48250
|
-
openModal:
|
|
48178
|
+
openModal: useCallback58((prop2) => {
|
|
48251
48179
|
if (prop2 != null) {
|
|
48252
48180
|
setProp(prop2);
|
|
48253
48181
|
}
|
|
@@ -48292,19 +48220,19 @@ function ModalProvider({ children }) {
|
|
|
48292
48220
|
prop: funCheckoutModalId
|
|
48293
48221
|
} = useModalStateValueWithProp();
|
|
48294
48222
|
const [softHiddenCheckoutId, setSoftHiddenCheckoutId] = useState86(null);
|
|
48295
|
-
const softHideFunCheckoutModal =
|
|
48223
|
+
const softHideFunCheckoutModal = useCallback58(() => {
|
|
48296
48224
|
if (funCheckoutModalId) {
|
|
48297
48225
|
setSoftHiddenCheckoutId(funCheckoutModalId);
|
|
48298
48226
|
}
|
|
48299
48227
|
closeFunCheckoutModal();
|
|
48300
48228
|
}, [funCheckoutModalId, closeFunCheckoutModal]);
|
|
48301
|
-
const resumeSoftHiddenCheckout =
|
|
48229
|
+
const resumeSoftHiddenCheckout = useCallback58(() => {
|
|
48302
48230
|
if (softHiddenCheckoutId) {
|
|
48303
48231
|
openFunCheckoutModal(softHiddenCheckoutId);
|
|
48304
48232
|
setSoftHiddenCheckoutId(null);
|
|
48305
48233
|
}
|
|
48306
48234
|
}, [softHiddenCheckoutId, openFunCheckoutModal]);
|
|
48307
|
-
const discardSoftHiddenCheckout =
|
|
48235
|
+
const discardSoftHiddenCheckout = useCallback58(() => {
|
|
48308
48236
|
setSoftHiddenCheckoutId(null);
|
|
48309
48237
|
}, []);
|
|
48310
48238
|
const {
|
|
@@ -48522,13 +48450,13 @@ function FunkitCheckoutProvider({ children }) {
|
|
|
48522
48450
|
activeCheckout?.initSettings.config?.dynamicRoutingId
|
|
48523
48451
|
);
|
|
48524
48452
|
const [checkoutsProgress, setCheckoutsProgress] = useState87({});
|
|
48525
|
-
const getCheckoutProgress =
|
|
48453
|
+
const getCheckoutProgress = useCallback59(
|
|
48526
48454
|
(checkoutId) => {
|
|
48527
48455
|
return checkoutsProgress[checkoutId];
|
|
48528
48456
|
},
|
|
48529
48457
|
[checkoutsProgress]
|
|
48530
48458
|
);
|
|
48531
|
-
const setCheckoutProgress =
|
|
48459
|
+
const setCheckoutProgress = useCallback59(
|
|
48532
48460
|
(checkoutId, progress) => {
|
|
48533
48461
|
setCheckoutsProgress((data) => ({ ...data, [checkoutId]: progress }));
|
|
48534
48462
|
},
|
|
@@ -48550,7 +48478,7 @@ function FunkitCheckoutProvider({ children }) {
|
|
|
48550
48478
|
});
|
|
48551
48479
|
}
|
|
48552
48480
|
);
|
|
48553
|
-
const initNewWithdrawal =
|
|
48481
|
+
const initNewWithdrawal = useCallback59(
|
|
48554
48482
|
(props, checkoutConfig) => {
|
|
48555
48483
|
const { onWithdrawalConfirmation, onWithdrawalError, config } = props;
|
|
48556
48484
|
const newWithdrawalId = uuid2();
|
|
@@ -48600,7 +48528,7 @@ function FunkitCheckoutProvider({ children }) {
|
|
|
48600
48528
|
},
|
|
48601
48529
|
[logEvent, startMeasuredEvent]
|
|
48602
48530
|
);
|
|
48603
|
-
const initNewCheckout =
|
|
48531
|
+
const initNewCheckout = useCallback59(
|
|
48604
48532
|
({ config, ...initSettings }) => {
|
|
48605
48533
|
const newCheckoutId = uuid2();
|
|
48606
48534
|
const newActiveCheckoutItem = {
|
|
@@ -48622,9 +48550,9 @@ function FunkitCheckoutProvider({ children }) {
|
|
|
48622
48550
|
config: {
|
|
48623
48551
|
...config,
|
|
48624
48552
|
// Solana is case-sensitive for SPL token addresses, so we should not lowercase the target asset address here
|
|
48625
|
-
targetAsset: config.targetChain.toString() === SOLANA_MAINNET_CHAIN_ID2.toString() && !
|
|
48626
|
-
|
|
48627
|
-
|
|
48553
|
+
targetAsset: config.targetChain.toString() === SOLANA_MAINNET_CHAIN_ID2.toString() && !isEVMAddressEquivalent5({
|
|
48554
|
+
firstAddress: NATIVE_TOKEN,
|
|
48555
|
+
secondAddress: config.targetAsset
|
|
48628
48556
|
}) ? config.targetAsset : config.targetAsset.toLowerCase(),
|
|
48629
48557
|
targetChain: config.targetChain.toString(),
|
|
48630
48558
|
targetAssetAmount: config.targetAssetAmount === void 0 ? config.targetAssetAmount : Number.parseFloat(config.targetAssetAmount.toString()) || 0
|
|
@@ -48690,7 +48618,7 @@ function FunkitCheckoutProvider({ children }) {
|
|
|
48690
48618
|
});
|
|
48691
48619
|
}
|
|
48692
48620
|
);
|
|
48693
|
-
const startDirectExecutionCheckout =
|
|
48621
|
+
const startDirectExecutionCheckout = useCallback59(
|
|
48694
48622
|
async ({
|
|
48695
48623
|
stepMessageSetter,
|
|
48696
48624
|
latestQuote,
|
|
@@ -48841,7 +48769,7 @@ function FunkitCheckoutProvider({ children }) {
|
|
|
48841
48769
|
udaParams
|
|
48842
48770
|
]
|
|
48843
48771
|
);
|
|
48844
|
-
const startRegularCheckout =
|
|
48772
|
+
const startRegularCheckout = useCallback59(
|
|
48845
48773
|
async ({
|
|
48846
48774
|
stepMessageSetter,
|
|
48847
48775
|
latestQuote,
|
|
@@ -49132,14 +49060,14 @@ function useFunkitCheckout(props) {
|
|
|
49132
49060
|
resume: resumeSoftHiddenCheckout,
|
|
49133
49061
|
discard: discardSoftHiddenCheckout
|
|
49134
49062
|
} = useSoftHiddenCheckout();
|
|
49135
|
-
const onErrorWrapper =
|
|
49063
|
+
const onErrorWrapper = useCallback59(
|
|
49136
49064
|
(payload) => {
|
|
49137
49065
|
logger.warn(payload.message, payload);
|
|
49138
49066
|
onError?.(payload);
|
|
49139
49067
|
},
|
|
49140
49068
|
[onError]
|
|
49141
49069
|
);
|
|
49142
|
-
const onOpenWrapper =
|
|
49070
|
+
const onOpenWrapper = useCallback59(
|
|
49143
49071
|
(newId) => {
|
|
49144
49072
|
props?.onOpen?.();
|
|
49145
49073
|
openFunCheckoutModal?.(newId);
|
|
@@ -49378,9 +49306,9 @@ async function validateCheckoutConfig(config, apiKey) {
|
|
|
49378
49306
|
};
|
|
49379
49307
|
}
|
|
49380
49308
|
var hasSufficientBalance = async (wagmiConfig, walletAddress, tokenAddress, tokenChainId, requiredAssetAmount) => {
|
|
49381
|
-
const finalTokenAddress =
|
|
49382
|
-
|
|
49383
|
-
|
|
49309
|
+
const finalTokenAddress = isEVMAddressEquivalent6({
|
|
49310
|
+
firstAddress: tokenAddress,
|
|
49311
|
+
secondAddress: FUNKIT_CONNECT_CHECKOUT_NATIVE_CURRENCY_ADDRESS5
|
|
49384
49312
|
}) ? void 0 : tokenAddress;
|
|
49385
49313
|
const data = await getBalance(wagmiConfig, {
|
|
49386
49314
|
address: walletAddress,
|
|
@@ -49419,16 +49347,10 @@ function getCheckoutReceivedAmountFormatted({
|
|
|
49419
49347
|
quote
|
|
49420
49348
|
}) {
|
|
49421
49349
|
const targetTokenAmount = getCheckoutReceivedAmount({ config, quote });
|
|
49422
|
-
const { finalizedTokenAmount } = computeDisplayDestinationToken(
|
|
49423
|
-
config,
|
|
49424
|
-
targetTokenAmount
|
|
49425
|
-
);
|
|
49426
49350
|
const feeBreakdown = quote?.baseQuote.metadata?.feeBreakdown;
|
|
49427
49351
|
const isAcross = isAcrossRoute(quote?.baseQuote.metadata);
|
|
49428
|
-
const swapImpactPct =
|
|
49429
|
-
return
|
|
49430
|
-
finalizedTokenAmount * (1 + swapImpactPct / 100)
|
|
49431
|
-
);
|
|
49352
|
+
const swapImpactPct = config?.generateActionsParams && !isAcross ? feeBreakdown?.swapImpact || 0 : 0;
|
|
49353
|
+
return formatCryptoAndStringify9(targetTokenAmount * (1 + swapImpactPct / 100));
|
|
49432
49354
|
}
|
|
49433
49355
|
function getCheckoutSentAmount({
|
|
49434
49356
|
quote
|
|
@@ -49442,7 +49364,7 @@ function getCheckoutSentAmountFormatted({
|
|
|
49442
49364
|
quote
|
|
49443
49365
|
}) {
|
|
49444
49366
|
const sourceTokenAmount = getCheckoutSentAmount({ quote });
|
|
49445
|
-
return
|
|
49367
|
+
return formatCryptoAndStringify9(sourceTokenAmount);
|
|
49446
49368
|
}
|
|
49447
49369
|
function getCheckoutItemDisplay({
|
|
49448
49370
|
checkoutConfig,
|
|
@@ -49457,9 +49379,9 @@ function getCheckoutItemDisplay({
|
|
|
49457
49379
|
const displayAmount = overrideAmount ?? targetAssetAmount;
|
|
49458
49380
|
const itemName = targetAssetTicker || checkoutItemTitle;
|
|
49459
49381
|
if (isCheckoutPostActionRequired(checkoutConfig)) {
|
|
49460
|
-
return !hideAmount && displayAmount > 0 ?
|
|
49382
|
+
return !hideAmount && displayAmount > 0 ? formatCryptoAndStringify9(round3(displayAmount, 5), itemName) : itemName;
|
|
49461
49383
|
}
|
|
49462
|
-
return hideAmount ? itemName :
|
|
49384
|
+
return hideAmount ? itemName : formatCryptoAndStringify9(displayAmount, itemName);
|
|
49463
49385
|
}
|
|
49464
49386
|
function getBaseQuoteTotalFeesFromAmount(baseQuote) {
|
|
49465
49387
|
const sourceAssetBaseAmount = Number(baseQuote.estSubtotalFromAmount);
|
|
@@ -49498,8 +49420,8 @@ async function getTokenDecimals(wagmiConfig, chainId2, tokenAddress) {
|
|
|
49498
49420
|
if (chainId2 === tronChain4.id.toString()) {
|
|
49499
49421
|
return tronChain4.nativeCurrency.decimals;
|
|
49500
49422
|
}
|
|
49501
|
-
if (chainId2 ===
|
|
49502
|
-
return
|
|
49423
|
+
if (chainId2 === lightningChain7.id.toString()) {
|
|
49424
|
+
return lightningChain7.nativeCurrency.decimals;
|
|
49503
49425
|
}
|
|
49504
49426
|
const decimals = await readContract(wagmiConfig, {
|
|
49505
49427
|
address: tokenAddress,
|
|
@@ -49544,42 +49466,6 @@ function isCheckoutPostActionRequired(config) {
|
|
|
49544
49466
|
}
|
|
49545
49467
|
return typeof actionCallback === "function";
|
|
49546
49468
|
}
|
|
49547
|
-
function isVaultDepositCheckout(checkoutConfig, sourceHolding) {
|
|
49548
|
-
return Boolean(
|
|
49549
|
-
checkoutConfig.finalizedToken && sourceHolding && checkoutConfig.generateActionsParams && isTokenEquivalent14({
|
|
49550
|
-
firstTokenChainId: checkoutConfig.targetChain,
|
|
49551
|
-
firstTokenAddress: checkoutConfig.targetAsset,
|
|
49552
|
-
secondTokenChainId: sourceHolding.chainId,
|
|
49553
|
-
secondTokenAddress: sourceHolding.tokenAddress
|
|
49554
|
-
})
|
|
49555
|
-
);
|
|
49556
|
-
}
|
|
49557
|
-
function computeDisplayDestinationToken(checkoutConfig, displayAssetAmount) {
|
|
49558
|
-
if (!checkoutConfig) {
|
|
49559
|
-
return {
|
|
49560
|
-
finalizedTokenAmount: displayAssetAmount,
|
|
49561
|
-
finalizedTokenSymbol: "",
|
|
49562
|
-
finalizedTokenIcon: ""
|
|
49563
|
-
};
|
|
49564
|
-
}
|
|
49565
|
-
const { finalizedToken, targetAssetTicker } = checkoutConfig;
|
|
49566
|
-
const targetToken = checkoutConfig.dynamicTargetAssetCandidates?.find(
|
|
49567
|
-
(cand) => isTokenEquivalent14({
|
|
49568
|
-
firstTokenChainId: cand.tokenChainId,
|
|
49569
|
-
firstTokenAddress: cand.tokenAddress,
|
|
49570
|
-
secondTokenChainId: checkoutConfig.targetChain,
|
|
49571
|
-
secondTokenAddress: checkoutConfig.targetAsset
|
|
49572
|
-
})
|
|
49573
|
-
);
|
|
49574
|
-
const finalizedTokenAmount = (targetToken?.finalizedTokenRate ?? 1) * displayAssetAmount;
|
|
49575
|
-
const finalizedTokenSymbol = finalizedToken?.tokenSymbol ?? targetAssetTicker;
|
|
49576
|
-
const finalizedTokenIcon = finalizedToken?.iconSrc ?? targetToken?.iconSrc ?? checkoutConfig.iconSrc ?? "";
|
|
49577
|
-
return {
|
|
49578
|
-
finalizedTokenAmount,
|
|
49579
|
-
finalizedTokenSymbol,
|
|
49580
|
-
finalizedTokenIcon
|
|
49581
|
-
};
|
|
49582
|
-
}
|
|
49583
49469
|
function computeSwitcherDisplayToken({
|
|
49584
49470
|
checkoutConfig,
|
|
49585
49471
|
displayAssetAmount,
|
|
@@ -49589,8 +49475,10 @@ function computeSwitcherDisplayToken({
|
|
|
49589
49475
|
if (isExactIn) {
|
|
49590
49476
|
return { amount: displayAssetAmount, symbol: sourceTokenSymbol ?? "" };
|
|
49591
49477
|
}
|
|
49592
|
-
|
|
49593
|
-
|
|
49478
|
+
return {
|
|
49479
|
+
amount: displayAssetAmount,
|
|
49480
|
+
symbol: checkoutConfig?.targetAssetTicker ?? ""
|
|
49481
|
+
};
|
|
49594
49482
|
}
|
|
49595
49483
|
|
|
49596
49484
|
// src/domains/asset.ts
|
|
@@ -49622,9 +49510,9 @@ function isPreferredChain(chainId2, additionalChains = []) {
|
|
|
49622
49510
|
return chains.has(chainId2);
|
|
49623
49511
|
}
|
|
49624
49512
|
function isNativeTokenAddress(address) {
|
|
49625
|
-
return
|
|
49626
|
-
|
|
49627
|
-
|
|
49513
|
+
return isEVMAddressEquivalent7({
|
|
49514
|
+
firstAddress: address,
|
|
49515
|
+
secondAddress: NATIVE_TOKEN
|
|
49628
49516
|
});
|
|
49629
49517
|
}
|
|
49630
49518
|
var isPolygonEcosystemToken = (chainId2, tokenAddress) => chainId2 === polygon7.id.toString() && tokenAddress === "0x0000000000000000000000000000000000001010";
|
|
@@ -49651,13 +49539,7 @@ var isAssetUsableToPayForCheckout = ({
|
|
|
49651
49539
|
return false;
|
|
49652
49540
|
}
|
|
49653
49541
|
if (isCheckoutPostActionRequired(config)) {
|
|
49654
|
-
|
|
49655
|
-
return finalizedToken && isTokenEquivalent15({
|
|
49656
|
-
firstTokenChainId: targetChainId,
|
|
49657
|
-
firstTokenAddress: targetTokenAddress,
|
|
49658
|
-
secondTokenChainId: finalizedToken.tokenChainId,
|
|
49659
|
-
secondTokenAddress: finalizedToken.tokenAddress
|
|
49660
|
-
});
|
|
49542
|
+
return false;
|
|
49661
49543
|
}
|
|
49662
49544
|
return paymentMethod === PaymentMethod.ACCOUNT_BALANCE && finalCheckoutRecipient.toLowerCase() === payerAddress.toLowerCase() && isTokenEquivalent15({
|
|
49663
49545
|
firstTokenChainId: targetChainId,
|
|
@@ -49782,7 +49664,7 @@ var useWalletAssets = ({
|
|
|
49782
49664
|
} = {}) => {
|
|
49783
49665
|
const { address, isConnected } = useAccount();
|
|
49784
49666
|
const { apiKey } = useFunkitConfig();
|
|
49785
|
-
const { data, isLoading, isFetching } =
|
|
49667
|
+
const { data, isLoading, isFetching } = useQuery29({
|
|
49786
49668
|
queryKey: ["getWalletAssets", address, apiKey],
|
|
49787
49669
|
meta: stepQueryMeta({
|
|
49788
49670
|
name: "walletAssets",
|