@funkit/connect 6.14.15 → 6.14.17
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 +20 -0
- package/dist/domains/feeEstimate.d.ts +2 -4
- package/dist/hooks/useCheckoutTransferInit.d.ts +1 -1
- package/dist/index.css +5 -5
- package/dist/index.js +221 -234
- package/dist/providers/GeneralWalletProvider.d.ts +1 -1
- package/dist/wallets/walletConnectors/index.js +37 -37
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -522,7 +522,7 @@ import PrivyJS, {
|
|
|
522
522
|
} from "@privy-io/js-sdk-core";
|
|
523
523
|
import React245, {
|
|
524
524
|
createContext as createContext18,
|
|
525
|
-
useCallback as
|
|
525
|
+
useCallback as useCallback56,
|
|
526
526
|
useContext as useContext18,
|
|
527
527
|
useEffect as useEffect60,
|
|
528
528
|
useMemo as useMemo48,
|
|
@@ -1090,7 +1090,7 @@ var useInitialChainId = () => useContext4(FunkitConnectChainContext).initialChai
|
|
|
1090
1090
|
// src/providers/ModalContext.tsx
|
|
1091
1091
|
import React244, {
|
|
1092
1092
|
createContext as createContext17,
|
|
1093
|
-
useCallback as
|
|
1093
|
+
useCallback as useCallback55,
|
|
1094
1094
|
useContext as useContext17,
|
|
1095
1095
|
useEffect as useEffect59,
|
|
1096
1096
|
useMemo as useMemo47,
|
|
@@ -1112,7 +1112,7 @@ var topbarFadeWrapper = "_1r8f577";
|
|
|
1112
1112
|
var topbarOverflowContent = "_1r8f576 _1rsrm2fes _1rsrm2ffp";
|
|
1113
1113
|
|
|
1114
1114
|
// src/modals/WithdrwalModal/WithdrawalModal.tsx
|
|
1115
|
-
import React222, { useCallback as
|
|
1115
|
+
import React222, { useCallback as useCallback51, useState as useState69 } from "react";
|
|
1116
1116
|
|
|
1117
1117
|
// src/components/FunCheckoutHistory/useCustomStatusAnimationAboveTopbar.tsx
|
|
1118
1118
|
import { clamp } from "@funkit/utils";
|
|
@@ -1182,7 +1182,7 @@ import {
|
|
|
1182
1182
|
import { isNotNullish as isNotNullish3 } from "@funkit/utils";
|
|
1183
1183
|
import React19, {
|
|
1184
1184
|
createContext as createContext10,
|
|
1185
|
-
useCallback as
|
|
1185
|
+
useCallback as useCallback10,
|
|
1186
1186
|
useContext as useContext10,
|
|
1187
1187
|
useEffect as useEffect9,
|
|
1188
1188
|
useRef as useRef2,
|
|
@@ -1567,7 +1567,7 @@ import { FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO as FUNKIT_CONNECT_SUPPORTED_CHAINS
|
|
|
1567
1567
|
import { FlagKey as FlagKey6, isNotNullish as isNotNullish2 } from "@funkit/utils";
|
|
1568
1568
|
import React18, {
|
|
1569
1569
|
createContext as createContext9,
|
|
1570
|
-
useCallback as
|
|
1570
|
+
useCallback as useCallback9,
|
|
1571
1571
|
useContext as useContext9,
|
|
1572
1572
|
useEffect as useEffect8,
|
|
1573
1573
|
useState as useState6
|
|
@@ -1599,7 +1599,7 @@ function setFunkitConnectVersion({ version }) {
|
|
|
1599
1599
|
localStorage.setItem(storageKey, version);
|
|
1600
1600
|
}
|
|
1601
1601
|
function getCurrentSdkVersion() {
|
|
1602
|
-
return "6.14.
|
|
1602
|
+
return "6.14.17";
|
|
1603
1603
|
}
|
|
1604
1604
|
function useFingerprint() {
|
|
1605
1605
|
const fingerprint = useCallback2(() => {
|
|
@@ -1700,7 +1700,6 @@ var WEB3_ACCOUNT_BALANCE_MESSAGE = {
|
|
|
1700
1700
|
|
|
1701
1701
|
// src/providers/GeneralWalletProvider.tsx
|
|
1702
1702
|
import { FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO } from "@funkit/chains";
|
|
1703
|
-
import { Auth, Chain, FunWallet, configureEnvironment as configureEnvironment2 } from "@funkit/core";
|
|
1704
1703
|
import { formatAddress as formatAddress2 } from "@funkit/utils";
|
|
1705
1704
|
import React15, {
|
|
1706
1705
|
createContext as createContext5,
|
|
@@ -1867,7 +1866,7 @@ var GeneralWalletContext = createContext5({
|
|
|
1867
1866
|
logoutSymbol: void 0
|
|
1868
1867
|
});
|
|
1869
1868
|
function GeneralWalletProvider({ children }) {
|
|
1870
|
-
const { address, connector
|
|
1869
|
+
const { address, connector } = useAccount2();
|
|
1871
1870
|
const { connectors, disconnectAsync } = useDisconnect();
|
|
1872
1871
|
const ensName = useMainnetEnsName(address);
|
|
1873
1872
|
const ensAvatar = useMainnetEnsAvatar(ensName);
|
|
@@ -1943,16 +1942,6 @@ function GeneralWalletProvider({ children }) {
|
|
|
1943
1942
|
if (!provider) {
|
|
1944
1943
|
return;
|
|
1945
1944
|
}
|
|
1946
|
-
await configureEnvironment2({
|
|
1947
|
-
chain: await Chain.getChain({ chainIdentifier: activeChain?.id })
|
|
1948
|
-
});
|
|
1949
|
-
newFunWalletAuth = new Auth({ provider });
|
|
1950
|
-
newFunWallet = new FunWallet({
|
|
1951
|
-
users: [{ userId: await newFunWalletAuth.getAddress() }],
|
|
1952
|
-
uniqueId: await newFunWalletAuth.getWalletUniqueId(
|
|
1953
|
-
DEFAULT_FUNWALLET_INDEX
|
|
1954
|
-
)
|
|
1955
|
-
});
|
|
1956
1945
|
}
|
|
1957
1946
|
logger.log("setupFunWallet_result", {
|
|
1958
1947
|
newFunWallet,
|
|
@@ -1968,7 +1957,7 @@ function GeneralWalletProvider({ children }) {
|
|
|
1968
1957
|
setupFunWallet().catch(
|
|
1969
1958
|
(reason) => logger.error("setupFunWallet:error", reason)
|
|
1970
1959
|
);
|
|
1971
|
-
}, [connector, loginType
|
|
1960
|
+
}, [connector, loginType]);
|
|
1972
1961
|
const [logoutSymbol, triggerLogoutSymbol] = useSymbolRefresh_default();
|
|
1973
1962
|
const handleLogout = useCallback4(async () => {
|
|
1974
1963
|
logger.log("handleLogout_called");
|
|
@@ -3335,7 +3324,10 @@ function useRelayBypass() {
|
|
|
3335
3324
|
"brokerage" /* BROKERAGE */,
|
|
3336
3325
|
"card" /* CARD */
|
|
3337
3326
|
],
|
|
3338
|
-
relayWithAAPaymentMethods: [
|
|
3327
|
+
relayWithAAPaymentMethods: [
|
|
3328
|
+
"balance" /* ACCOUNT_BALANCE */,
|
|
3329
|
+
"brokerage" /* BROKERAGE */
|
|
3330
|
+
]
|
|
3339
3331
|
};
|
|
3340
3332
|
}
|
|
3341
3333
|
return {
|
|
@@ -3344,7 +3336,10 @@ function useRelayBypass() {
|
|
|
3344
3336
|
"balance" /* ACCOUNT_BALANCE */,
|
|
3345
3337
|
"brokerage" /* BROKERAGE */
|
|
3346
3338
|
],
|
|
3347
|
-
relayWithAAPaymentMethods: [
|
|
3339
|
+
relayWithAAPaymentMethods: [
|
|
3340
|
+
"balance" /* ACCOUNT_BALANCE */,
|
|
3341
|
+
"brokerage" /* BROKERAGE */
|
|
3342
|
+
]
|
|
3348
3343
|
};
|
|
3349
3344
|
}, [apiKey]);
|
|
3350
3345
|
return {
|
|
@@ -3605,7 +3600,6 @@ import {
|
|
|
3605
3600
|
} from "@funkit/api-base";
|
|
3606
3601
|
import { FlagKey as FlagKey5 } from "@funkit/utils";
|
|
3607
3602
|
import { useQuery as useQuery3 } from "@tanstack/react-query";
|
|
3608
|
-
import { useCallback as useCallback8 } from "react";
|
|
3609
3603
|
|
|
3610
3604
|
// src/domains/clientMetadata.ts
|
|
3611
3605
|
function generateClientMetadataForBackend({
|
|
@@ -3673,6 +3667,13 @@ function toApiSelectedPaymentMethodInfo(paymentMethodInfo) {
|
|
|
3673
3667
|
|
|
3674
3668
|
// src/hooks/useCheckoutTransferInit.ts
|
|
3675
3669
|
var COMMON_CLIENT_METADATA = generateClientMetadataForTokenTransfer();
|
|
3670
|
+
async function checkoutTransferFetch(params) {
|
|
3671
|
+
return await initializeCheckoutTokenTransferAddress({
|
|
3672
|
+
...params,
|
|
3673
|
+
logger,
|
|
3674
|
+
clientMetadata: COMMON_CLIENT_METADATA
|
|
3675
|
+
});
|
|
3676
|
+
}
|
|
3676
3677
|
var useCheckoutTransferInit = () => {
|
|
3677
3678
|
const { checkoutItem } = useCheckoutContext();
|
|
3678
3679
|
const checkoutConfig = checkoutItem?.initSettings.config;
|
|
@@ -3680,53 +3681,40 @@ var useCheckoutTransferInit = () => {
|
|
|
3680
3681
|
const { apiKey } = useFunkitConfig();
|
|
3681
3682
|
const isQrCodeEnabled = useFlag(FlagKey5.EnableTokenTransfer, false);
|
|
3682
3683
|
const recipientAddr = checkoutConfig?.customRecipient || walletAddress || "0x";
|
|
3683
|
-
const queryKey = {
|
|
3684
|
+
const queryKey = checkoutConfig?.targetAsset && checkoutConfig.targetAsset !== "0x" && checkoutConfig.targetChain && {
|
|
3684
3685
|
userId: userInfo.id || "",
|
|
3685
|
-
toChainId: checkoutConfig
|
|
3686
|
-
toTokenAddress: checkoutConfig
|
|
3686
|
+
toChainId: checkoutConfig.targetChain,
|
|
3687
|
+
toTokenAddress: checkoutConfig.targetAsset,
|
|
3687
3688
|
recipientAddr,
|
|
3688
3689
|
apiKey,
|
|
3689
3690
|
actionType: checkoutConfig?.qrcodeActionType
|
|
3690
3691
|
};
|
|
3691
|
-
const queryFunction = useCallback8(
|
|
3692
|
-
async (params) => {
|
|
3693
|
-
return await initializeCheckoutTokenTransferAddress({
|
|
3694
|
-
...params,
|
|
3695
|
-
logger,
|
|
3696
|
-
clientMetadata: COMMON_CLIENT_METADATA
|
|
3697
|
-
});
|
|
3698
|
-
},
|
|
3699
|
-
[]
|
|
3700
|
-
);
|
|
3701
3692
|
const isQRCodeEnabledWithPostAction = !!checkoutConfig && // either no post action required
|
|
3702
3693
|
(!isCheckoutPostActionRequired(checkoutConfig) || // or action type is set
|
|
3703
3694
|
!!checkoutConfig?.qrcodeActionType);
|
|
3704
3695
|
const { data, isFetching } = useQuery3({
|
|
3705
3696
|
queryKey: ["initializeCheckoutTokenTransferAddress", queryKey],
|
|
3706
|
-
queryFn: () =>
|
|
3697
|
+
queryFn: () => queryKey ? checkoutTransferFetch(queryKey) : void 0,
|
|
3707
3698
|
refetchOnWindowFocus: false,
|
|
3708
3699
|
refetchOnMount: false,
|
|
3709
|
-
enabled:
|
|
3710
|
-
|
|
3711
|
-
|
|
3712
|
-
isQRCodeEnabledWithPostAction
|
|
3713
|
-
)
|
|
3700
|
+
enabled: !!queryKey && // Is flag enabled
|
|
3701
|
+
isQrCodeEnabled && // QR Code is only supported for post action checkouts with action type
|
|
3702
|
+
isQRCodeEnabledWithPostAction
|
|
3714
3703
|
});
|
|
3715
3704
|
return {
|
|
3716
3705
|
transferInit: isFetching ? void 0 : data,
|
|
3717
|
-
recipientAddr
|
|
3718
|
-
manualFetch: queryFunction
|
|
3706
|
+
recipientAddr
|
|
3719
3707
|
};
|
|
3720
3708
|
};
|
|
3721
3709
|
|
|
3722
3710
|
// src/hooks/useEffectEvent.ts
|
|
3723
|
-
import { useCallback as
|
|
3711
|
+
import { useCallback as useCallback8, useInsertionEffect, useRef } from "react";
|
|
3724
3712
|
function useEffectEvent(fn) {
|
|
3725
3713
|
const savedCallback = useRef(fn);
|
|
3726
3714
|
useInsertionEffect(() => {
|
|
3727
3715
|
savedCallback.current = fn;
|
|
3728
3716
|
}, [fn]);
|
|
3729
|
-
return
|
|
3717
|
+
return useCallback8(
|
|
3730
3718
|
(...args) => {
|
|
3731
3719
|
const f = savedCallback.current;
|
|
3732
3720
|
return f(...args);
|
|
@@ -3833,18 +3821,17 @@ function FunkitCheckoutProvider({ children }) {
|
|
|
3833
3821
|
const { walletAddress, logoutSymbol, loginType, userInfo } = useGeneralWallet();
|
|
3834
3822
|
const { refreshCheckoutHistory } = useCheckoutHistoryContext();
|
|
3835
3823
|
const { getDirectExecutionInfo, getWithdrawalDirectExecution } = useCheckoutDirectExecution();
|
|
3836
|
-
const { manualFetch } = useCheckoutTransferInit();
|
|
3837
3824
|
const { logEvent } = useTrack();
|
|
3838
3825
|
const [activeCheckout, setActiveCheckout] = useState6(null);
|
|
3839
3826
|
const [activeWithdrawal, setActiveWithdrawal] = useState6(null);
|
|
3840
3827
|
const [checkoutsProgress, setCheckoutsProgress] = useState6({});
|
|
3841
|
-
const getCheckoutProgress =
|
|
3828
|
+
const getCheckoutProgress = useCallback9(
|
|
3842
3829
|
(checkoutId) => {
|
|
3843
3830
|
return checkoutsProgress[checkoutId];
|
|
3844
3831
|
},
|
|
3845
3832
|
[checkoutsProgress]
|
|
3846
3833
|
);
|
|
3847
|
-
const setCheckoutProgress =
|
|
3834
|
+
const setCheckoutProgress = useCallback9(
|
|
3848
3835
|
(checkoutId, progress) => {
|
|
3849
3836
|
setCheckoutsProgress((data) => ({ ...data, [checkoutId]: progress }));
|
|
3850
3837
|
},
|
|
@@ -3866,7 +3853,7 @@ function FunkitCheckoutProvider({ children }) {
|
|
|
3866
3853
|
});
|
|
3867
3854
|
}
|
|
3868
3855
|
);
|
|
3869
|
-
const initNewWithdrawal =
|
|
3856
|
+
const initNewWithdrawal = useCallback9(
|
|
3870
3857
|
(props, checkoutConfig) => {
|
|
3871
3858
|
const { onWithdrawalConfirmation, onWithdrawalError, config } = props;
|
|
3872
3859
|
const newWithdrawalId = uuid();
|
|
@@ -3912,7 +3899,7 @@ function FunkitCheckoutProvider({ children }) {
|
|
|
3912
3899
|
},
|
|
3913
3900
|
[logEvent]
|
|
3914
3901
|
);
|
|
3915
|
-
const initNewCheckout =
|
|
3902
|
+
const initNewCheckout = useCallback9(
|
|
3916
3903
|
({ config, ...initSettings }) => {
|
|
3917
3904
|
const newCheckoutId = uuid();
|
|
3918
3905
|
const newActiveCheckoutItem = {
|
|
@@ -3992,7 +3979,7 @@ function FunkitCheckoutProvider({ children }) {
|
|
|
3992
3979
|
});
|
|
3993
3980
|
}
|
|
3994
3981
|
);
|
|
3995
|
-
const startDirectExecutionCheckout =
|
|
3982
|
+
const startDirectExecutionCheckout = useCallback9(
|
|
3996
3983
|
async ({
|
|
3997
3984
|
stepMessageSetter,
|
|
3998
3985
|
latestQuote,
|
|
@@ -4076,7 +4063,7 @@ function FunkitCheckoutProvider({ children }) {
|
|
|
4076
4063
|
});
|
|
4077
4064
|
depositAddressOrHash = txHash;
|
|
4078
4065
|
} else {
|
|
4079
|
-
const newTransferInit = await
|
|
4066
|
+
const newTransferInit = await checkoutTransferFetch({
|
|
4080
4067
|
userId: userInfo.id || "",
|
|
4081
4068
|
toChainId: checkoutItem.initSettings.config.targetChain,
|
|
4082
4069
|
toTokenAddress: checkoutItem.initSettings.config.targetAsset,
|
|
@@ -4118,11 +4105,10 @@ function FunkitCheckoutProvider({ children }) {
|
|
|
4118
4105
|
updateActiveCheckout,
|
|
4119
4106
|
walletAddress,
|
|
4120
4107
|
getWithdrawalDirectExecution,
|
|
4121
|
-
manualFetch,
|
|
4122
4108
|
logEvent
|
|
4123
4109
|
]
|
|
4124
4110
|
);
|
|
4125
|
-
const startRegularCheckout =
|
|
4111
|
+
const startRegularCheckout = useCallback9(
|
|
4126
4112
|
async ({
|
|
4127
4113
|
stepMessageSetter,
|
|
4128
4114
|
latestQuote,
|
|
@@ -4339,14 +4325,14 @@ function useFunkitCheckout(props) {
|
|
|
4339
4325
|
const { connectModalOpen, openConnectModal } = useConnectModal();
|
|
4340
4326
|
const { isUserLoggedIn } = useGeneralWallet();
|
|
4341
4327
|
const isCheckoutActivated = useFlag(FlagKey6.IsCheckoutActivated);
|
|
4342
|
-
const onErrorWrapper =
|
|
4328
|
+
const onErrorWrapper = useCallback9(
|
|
4343
4329
|
(payload) => {
|
|
4344
4330
|
logger.warn(payload.message, payload);
|
|
4345
4331
|
onError?.(payload);
|
|
4346
4332
|
},
|
|
4347
4333
|
[onError]
|
|
4348
4334
|
);
|
|
4349
|
-
const onOpenWrapper =
|
|
4335
|
+
const onOpenWrapper = useCallback9(
|
|
4350
4336
|
(newId) => {
|
|
4351
4337
|
props?.onOpen?.();
|
|
4352
4338
|
openFunCheckoutModal?.(newId);
|
|
@@ -4710,14 +4696,14 @@ var getInputErrorNotification = (error) => {
|
|
|
4710
4696
|
return {
|
|
4711
4697
|
message: `${formatCurrencyAndStringify(
|
|
4712
4698
|
error.usdMaxAmount
|
|
4713
|
-
)} maximum
|
|
4699
|
+
)} maximum deposit`,
|
|
4714
4700
|
type: "hint"
|
|
4715
4701
|
};
|
|
4716
4702
|
case "belowMin":
|
|
4717
4703
|
return {
|
|
4718
4704
|
message: `${formatCurrencyAndStringify(
|
|
4719
4705
|
error.usdMinAmount
|
|
4720
|
-
)} minimum
|
|
4706
|
+
)} minimum deposit`,
|
|
4721
4707
|
type: "hint"
|
|
4722
4708
|
};
|
|
4723
4709
|
}
|
|
@@ -4825,29 +4811,18 @@ function reformatIntegerPart(integerPart, locale, preserveLeadingZeroes) {
|
|
|
4825
4811
|
import { mainnet as mainnet5 } from "viem/chains";
|
|
4826
4812
|
var L1_FEES_ESTIMATE = 5;
|
|
4827
4813
|
var L2_FEES_ESTIMATE = 1;
|
|
4828
|
-
var
|
|
4829
|
-
var MESH_L2_FEES_ESTIMATE = 2;
|
|
4830
|
-
var MESH_CUSTOM_CLIENT_FEE_PERCENT = 0.055;
|
|
4831
|
-
var getMeshFeesUsdEstimate = (assetChainId, assetUsdAmount) => {
|
|
4832
|
-
let meshFeeEstimate = (assetUsdAmount || 0) * MESH_CUSTOM_CLIENT_FEE_PERCENT;
|
|
4833
|
-
if (assetChainId === mainnet5.id.toString()) {
|
|
4834
|
-
meshFeeEstimate += MESH_L1_FEES_ESTIMATE;
|
|
4835
|
-
} else {
|
|
4836
|
-
meshFeeEstimate += MESH_L2_FEES_ESTIMATE;
|
|
4837
|
-
}
|
|
4838
|
-
return meshFeeEstimate;
|
|
4839
|
-
};
|
|
4814
|
+
var BROKERAGE_FEES_ESTIMATE = 0;
|
|
4840
4815
|
var getBaseFeeUsdEstimate = (targetChainId, assetChainId) => {
|
|
4841
4816
|
if (targetChainId !== mainnet5.id.toString() && assetChainId !== mainnet5.id.toString()) {
|
|
4842
4817
|
return L2_FEES_ESTIMATE;
|
|
4843
4818
|
}
|
|
4844
4819
|
return L1_FEES_ESTIMATE;
|
|
4845
4820
|
};
|
|
4846
|
-
var getFeesUsdEstimate = (targetChainId, assetChainId,
|
|
4821
|
+
var getFeesUsdEstimate = (targetChainId, assetChainId, paymentMethod) => {
|
|
4847
4822
|
const baseFeeEstimate = getBaseFeeUsdEstimate(targetChainId, assetChainId);
|
|
4848
4823
|
const isBrokerage = paymentMethod === "brokerage" /* BROKERAGE */;
|
|
4849
|
-
const
|
|
4850
|
-
return baseFeeEstimate +
|
|
4824
|
+
const brokerageFeeEstimate = isBrokerage ? BROKERAGE_FEES_ESTIMATE : 0;
|
|
4825
|
+
return baseFeeEstimate + brokerageFeeEstimate;
|
|
4851
4826
|
};
|
|
4852
4827
|
|
|
4853
4828
|
// src/domains/asset.ts
|
|
@@ -4951,12 +4926,7 @@ function getUsdAvailableAmount(targetChainId, assetChainId, assetUsdAmount, paym
|
|
|
4951
4926
|
if (!assetChainId || !assetUsdAmount) {
|
|
4952
4927
|
return null;
|
|
4953
4928
|
}
|
|
4954
|
-
const fees = getFeesUsdEstimate(
|
|
4955
|
-
targetChainId,
|
|
4956
|
-
assetChainId,
|
|
4957
|
-
assetUsdAmount,
|
|
4958
|
-
paymentMethod
|
|
4959
|
-
);
|
|
4929
|
+
const fees = getFeesUsdEstimate(targetChainId, assetChainId, paymentMethod);
|
|
4960
4930
|
return Math.max(round(assetUsdAmount - fees, USD_DECIMALS, "floor"), 0);
|
|
4961
4931
|
}
|
|
4962
4932
|
var WITHDRAW_BLACK_LIST = {
|
|
@@ -5611,7 +5581,7 @@ function FunkitCheckoutHistoryProvider({
|
|
|
5611
5581
|
const [isInited, setIsInited] = useState7(false);
|
|
5612
5582
|
const [isRefreshing, setIsRefreshing] = useState7(true);
|
|
5613
5583
|
const isGuestUserOnCheckoutHistory = !isUserLoggedIn && !!historyDepositAddress;
|
|
5614
|
-
const _refreshCheckoutHistory =
|
|
5584
|
+
const _refreshCheckoutHistory = useCallback10(async () => {
|
|
5615
5585
|
if (!funkitConfig.apiKey) {
|
|
5616
5586
|
return;
|
|
5617
5587
|
}
|
|
@@ -5679,7 +5649,7 @@ function FunkitCheckoutHistoryProvider({
|
|
|
5679
5649
|
clearInterval(intervalRef.current);
|
|
5680
5650
|
}
|
|
5681
5651
|
}, [logoutSymbol]);
|
|
5682
|
-
const startCheckoutHistoryListener =
|
|
5652
|
+
const startCheckoutHistoryListener = useCallback10(
|
|
5683
5653
|
(singleDepositAddr, expedited = false) => {
|
|
5684
5654
|
setHistoryDepositAddress(singleDepositAddr);
|
|
5685
5655
|
clearInterval(intervalRef.current);
|
|
@@ -5695,7 +5665,7 @@ function FunkitCheckoutHistoryProvider({
|
|
|
5695
5665
|
},
|
|
5696
5666
|
[triggerRefreshSymbol]
|
|
5697
5667
|
);
|
|
5698
|
-
const stopCheckoutHistoryListener =
|
|
5668
|
+
const stopCheckoutHistoryListener = useCallback10(
|
|
5699
5669
|
(cancelIntervalId) => {
|
|
5700
5670
|
clearInterval(cancelIntervalId);
|
|
5701
5671
|
if (cancelIntervalId === intervalRef.current) {
|
|
@@ -5856,7 +5826,7 @@ import {
|
|
|
5856
5826
|
useAnimate
|
|
5857
5827
|
} from "motion/react";
|
|
5858
5828
|
import React26, {
|
|
5859
|
-
useCallback as
|
|
5829
|
+
useCallback as useCallback11,
|
|
5860
5830
|
useEffect as useEffect11,
|
|
5861
5831
|
useRef as useRef3,
|
|
5862
5832
|
useState as useState9
|
|
@@ -6584,11 +6554,11 @@ function TransactionStatus({
|
|
|
6584
6554
|
const [transitioningToStatus, setTransitioningToStatus] = useState9(status);
|
|
6585
6555
|
const [transitioningToStep, setTransitioningToStep] = useState9(step);
|
|
6586
6556
|
const spinAnimationRef = useRef3();
|
|
6587
|
-
const stopSpinning =
|
|
6557
|
+
const stopSpinning = useCallback11(() => {
|
|
6588
6558
|
spinAnimationRef.current?.cancel();
|
|
6589
6559
|
spinAnimationRef.current = void 0;
|
|
6590
6560
|
}, []);
|
|
6591
|
-
const startSpinning =
|
|
6561
|
+
const startSpinning = useCallback11(
|
|
6592
6562
|
(step2) => {
|
|
6593
6563
|
stopSpinning();
|
|
6594
6564
|
spinAnimationRef.current = animate(
|
|
@@ -6606,7 +6576,7 @@ function TransactionStatus({
|
|
|
6606
6576
|
},
|
|
6607
6577
|
[animate, stopSpinning]
|
|
6608
6578
|
);
|
|
6609
|
-
const animateCircleToSuccess =
|
|
6579
|
+
const animateCircleToSuccess = useCallback11(
|
|
6610
6580
|
async (step2) => {
|
|
6611
6581
|
const durationMs = 300;
|
|
6612
6582
|
const checkmarkDelayMs = 50;
|
|
@@ -7260,7 +7230,7 @@ function isCustomWithdrawalConfig(config) {
|
|
|
7260
7230
|
import { isMobile as isMobile3, isSafari } from "@funkit/utils";
|
|
7261
7231
|
import clsx8 from "clsx";
|
|
7262
7232
|
import React48, {
|
|
7263
|
-
useCallback as
|
|
7233
|
+
useCallback as useCallback14,
|
|
7264
7234
|
useContext as useContext12,
|
|
7265
7235
|
useEffect as useEffect19,
|
|
7266
7236
|
useRef as useRef8
|
|
@@ -8022,7 +7992,7 @@ function FunDivider({
|
|
|
8022
7992
|
|
|
8023
7993
|
// src/components/FunTooltip/FunTooltip.tsx
|
|
8024
7994
|
import React45, {
|
|
8025
|
-
useCallback as
|
|
7995
|
+
useCallback as useCallback12,
|
|
8026
7996
|
useEffect as useEffect15,
|
|
8027
7997
|
useRef as useRef6,
|
|
8028
7998
|
useState as useState14
|
|
@@ -8113,7 +8083,7 @@ var FunTooltip = ({
|
|
|
8113
8083
|
const startDelayRef = useRef6();
|
|
8114
8084
|
const delayRef = useRef6();
|
|
8115
8085
|
const tooltipRef = useRef6(null);
|
|
8116
|
-
const show =
|
|
8086
|
+
const show = useCallback12(
|
|
8117
8087
|
(startHiding) => {
|
|
8118
8088
|
startDelayRef.current = setTimeout(() => {
|
|
8119
8089
|
setIsDisplayed(true);
|
|
@@ -8123,7 +8093,7 @@ var FunTooltip = ({
|
|
|
8123
8093
|
},
|
|
8124
8094
|
[startDelay]
|
|
8125
8095
|
);
|
|
8126
|
-
const hide =
|
|
8096
|
+
const hide = useCallback12(() => {
|
|
8127
8097
|
clearTimeout(startDelayRef.current);
|
|
8128
8098
|
delayRef.current = setTimeout(() => {
|
|
8129
8099
|
setIsDisplayed(false);
|
|
@@ -8236,7 +8206,7 @@ var HelpIcon = () => {
|
|
|
8236
8206
|
};
|
|
8237
8207
|
|
|
8238
8208
|
// src/components/Dialog/FocusTrap.tsx
|
|
8239
|
-
import React47, { useCallback as
|
|
8209
|
+
import React47, { useCallback as useCallback13, useEffect as useEffect16, useRef as useRef7 } from "react";
|
|
8240
8210
|
var moveFocusWithin = (element2, position) => {
|
|
8241
8211
|
const focusableElements = element2.querySelectorAll(
|
|
8242
8212
|
"button:not(:disabled), a[href]"
|
|
@@ -8269,7 +8239,7 @@ function FocusTrap(props) {
|
|
|
8269
8239
|
return /* @__PURE__ */ React47.createElement(React47.Fragment, null, /* @__PURE__ */ React47.createElement(
|
|
8270
8240
|
"div",
|
|
8271
8241
|
{
|
|
8272
|
-
onFocus:
|
|
8242
|
+
onFocus: useCallback13(
|
|
8273
8243
|
() => contentRef.current && moveFocusWithin(contentRef.current, "end"),
|
|
8274
8244
|
[]
|
|
8275
8245
|
),
|
|
@@ -8286,7 +8256,7 @@ function FocusTrap(props) {
|
|
|
8286
8256
|
), /* @__PURE__ */ React47.createElement(
|
|
8287
8257
|
"div",
|
|
8288
8258
|
{
|
|
8289
|
-
onFocus:
|
|
8259
|
+
onFocus: useCallback13(
|
|
8290
8260
|
() => contentRef.current && moveFocusWithin(contentRef.current, "start"),
|
|
8291
8261
|
[]
|
|
8292
8262
|
),
|
|
@@ -8422,7 +8392,7 @@ function Dialog({
|
|
|
8422
8392
|
}
|
|
8423
8393
|
return () => document.removeEventListener("keydown", handleEscape);
|
|
8424
8394
|
}, [open, onClose, isSmartCloseable]);
|
|
8425
|
-
const handleBackdropClick =
|
|
8395
|
+
const handleBackdropClick = useCallback14(
|
|
8426
8396
|
() => isSmartCloseable ? onClose() : () => void 0,
|
|
8427
8397
|
[isSmartCloseable, onClose]
|
|
8428
8398
|
);
|
|
@@ -8972,7 +8942,7 @@ import React61 from "react";
|
|
|
8972
8942
|
// src/components/Dropdown/BaseDropdown.tsx
|
|
8973
8943
|
import { isMobile as isMobile4, noop as noop2 } from "@funkit/utils";
|
|
8974
8944
|
import { AnimatePresence as AnimatePresence4, motion as motion5 } from "motion/react";
|
|
8975
|
-
import React58, { useCallback as
|
|
8945
|
+
import React58, { useCallback as useCallback15, useEffect as useEffect23, useMemo as useMemo14, useRef as useRef10, useState as useState18 } from "react";
|
|
8976
8946
|
|
|
8977
8947
|
// src/consts/layout.ts
|
|
8978
8948
|
var VERTICAL_SECTION_GAP = "18";
|
|
@@ -9605,7 +9575,7 @@ function BaseDropdown({
|
|
|
9605
9575
|
),
|
|
9606
9576
|
[options, searchInput]
|
|
9607
9577
|
);
|
|
9608
|
-
const closeDropdown =
|
|
9578
|
+
const closeDropdown = useCallback15(() => {
|
|
9609
9579
|
setIsOpened(false);
|
|
9610
9580
|
resetSearchOnClose && setSearchInput("");
|
|
9611
9581
|
}, [resetSearchOnClose]);
|
|
@@ -12071,7 +12041,7 @@ var useTokenAndChainSelection = (transferInit, defaultValues, isWithdrawal) => {
|
|
|
12071
12041
|
import { useState as useState26 } from "react";
|
|
12072
12042
|
|
|
12073
12043
|
// src/hooks/useAutoClearState.ts
|
|
12074
|
-
import { useCallback as
|
|
12044
|
+
import { useCallback as useCallback16, useEffect as useEffect27, useRef as useRef12, useState as useState22 } from "react";
|
|
12075
12045
|
function useAutoClearState(initialValue = null) {
|
|
12076
12046
|
const [state, setState] = useState22(initialValue);
|
|
12077
12047
|
const timeoutRef = useRef12();
|
|
@@ -12084,7 +12054,7 @@ function useAutoClearState(initialValue = null) {
|
|
|
12084
12054
|
}, []);
|
|
12085
12055
|
return [
|
|
12086
12056
|
state,
|
|
12087
|
-
|
|
12057
|
+
useCallback16((newState, durationMs) => {
|
|
12088
12058
|
if (timeoutRef.current) {
|
|
12089
12059
|
clearTimeout(timeoutRef.current);
|
|
12090
12060
|
timeoutRef.current = void 0;
|
|
@@ -12120,7 +12090,7 @@ var useIsBlacklisted = (walletAddress, customRecipient) => {
|
|
|
12120
12090
|
import { FlagKey as FlagKey14, isNotNullish as isNotNullish5 } from "@funkit/utils";
|
|
12121
12091
|
import React72, {
|
|
12122
12092
|
createContext as createContext14,
|
|
12123
|
-
useCallback as
|
|
12093
|
+
useCallback as useCallback18,
|
|
12124
12094
|
useContext as useContext14,
|
|
12125
12095
|
useEffect as useEffect29,
|
|
12126
12096
|
useState as useState24
|
|
@@ -12131,7 +12101,7 @@ import { useConfig as useConfig4 } from "wagmi";
|
|
|
12131
12101
|
import { bluvoGetWithdrawableBalanceById as bluvoGetWithdrawableBalanceById2 } from "@funkit/api-base";
|
|
12132
12102
|
import { FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO as FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO9 } from "@funkit/chains";
|
|
12133
12103
|
import { keepPreviousData, useQuery as useQuery10 } from "@tanstack/react-query";
|
|
12134
|
-
import { useCallback as
|
|
12104
|
+
import { useCallback as useCallback17, useMemo as useMemo18 } from "react";
|
|
12135
12105
|
|
|
12136
12106
|
// src/domains/wallet.ts
|
|
12137
12107
|
import { FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO as FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO7 } from "@funkit/chains";
|
|
@@ -12505,7 +12475,7 @@ var useBluvo = () => {
|
|
|
12505
12475
|
const exchangeType = exchange ? exchange : void 0;
|
|
12506
12476
|
const walletId = bluvoClient.context?.walletId;
|
|
12507
12477
|
const quoteExpiresAt = bluvoClient.context?.quote?.expiresAt;
|
|
12508
|
-
const handleStartWithdrawal =
|
|
12478
|
+
const handleStartWithdrawal = useCallback17(
|
|
12509
12479
|
async (brokerType) => {
|
|
12510
12480
|
try {
|
|
12511
12481
|
if (!bluvoClient) {
|
|
@@ -12642,7 +12612,7 @@ function FunkitQuoteProvider({ children }) {
|
|
|
12642
12612
|
});
|
|
12643
12613
|
}
|
|
12644
12614
|
}, [logoutSymbol]);
|
|
12645
|
-
const setQuoteProgress =
|
|
12615
|
+
const setQuoteProgress = useCallback18(
|
|
12646
12616
|
(state) => {
|
|
12647
12617
|
setQuoteErrorMessage(state.quoteErrorMessage);
|
|
12648
12618
|
setQuoteStepMessage(state.quoteStepMessage);
|
|
@@ -12650,7 +12620,7 @@ function FunkitQuoteProvider({ children }) {
|
|
|
12650
12620
|
},
|
|
12651
12621
|
[]
|
|
12652
12622
|
);
|
|
12653
|
-
const clearCheckoutQuoteMessages =
|
|
12623
|
+
const clearCheckoutQuoteMessages = useCallback18(() => {
|
|
12654
12624
|
setQuoteStepMessage("");
|
|
12655
12625
|
setQuoteErrorMessage("");
|
|
12656
12626
|
}, []);
|
|
@@ -13985,7 +13955,7 @@ import {
|
|
|
13985
13955
|
} from "@funkit/api-base";
|
|
13986
13956
|
import { FlagKey as FlagKey17 } from "@funkit/utils";
|
|
13987
13957
|
import { useQuery as useQuery11, useQueryClient } from "@tanstack/react-query";
|
|
13988
|
-
import { useCallback as
|
|
13958
|
+
import { useCallback as useCallback19 } from "react";
|
|
13989
13959
|
var sepaCountryCode = [
|
|
13990
13960
|
// EU countries that are part of SEPA
|
|
13991
13961
|
"AT",
|
|
@@ -14084,13 +14054,13 @@ function useFrogAccounts() {
|
|
|
14084
14054
|
function useClearFrogAccountsCache() {
|
|
14085
14055
|
const { walletAddress } = useGeneralWallet();
|
|
14086
14056
|
const queryClient = useQueryClient();
|
|
14087
|
-
const clearFrogAccounts =
|
|
14057
|
+
const clearFrogAccounts = useCallback19(() => {
|
|
14088
14058
|
queryClient.removeQueries({
|
|
14089
14059
|
queryKey: ["frogSubAccounts", walletAddress],
|
|
14090
14060
|
exact: true
|
|
14091
14061
|
});
|
|
14092
14062
|
}, [queryClient, walletAddress]);
|
|
14093
|
-
const clearVirtualFiatAccounts =
|
|
14063
|
+
const clearVirtualFiatAccounts = useCallback19(() => {
|
|
14094
14064
|
queryClient.removeQueries({
|
|
14095
14065
|
queryKey: ["useVirtualFiatAccounts"]
|
|
14096
14066
|
});
|
|
@@ -14164,7 +14134,7 @@ function useCreateVirtualBankAccount() {
|
|
|
14164
14134
|
const destinationAddress = transferInit?.depositAddr || recipientAddr;
|
|
14165
14135
|
const subAccountId = allFiatAccounts?.bridgeCustomer?.id;
|
|
14166
14136
|
const { clearVirtualFiatAccounts } = useClearFrogAccountsCache();
|
|
14167
|
-
const handleCreateVirtualFiatAccount =
|
|
14137
|
+
const handleCreateVirtualFiatAccount = useCallback19(async () => {
|
|
14168
14138
|
try {
|
|
14169
14139
|
if (!subAccountId || !targetChainId) {
|
|
14170
14140
|
return {
|
|
@@ -15935,7 +15905,7 @@ var BankIconActive = ({ size = 20 }) => {
|
|
|
15935
15905
|
|
|
15936
15906
|
// src/components/FunConnectOptions/FunSignInStep.tsx
|
|
15937
15907
|
import { groupBy, isMobile as isMobile9, isSafari as isSafari3, redirectInMobile as redirectInMobile2 } from "@funkit/utils";
|
|
15938
|
-
import React209, { Fragment as Fragment2, useCallback as
|
|
15908
|
+
import React209, { Fragment as Fragment2, useCallback as useCallback48, useMemo as useMemo43, useState as useState66 } from "react";
|
|
15939
15909
|
|
|
15940
15910
|
// src/providers/walletConnectDeepLink.ts
|
|
15941
15911
|
var storageKey2 = "WALLETCONNECT_DEEPLINK_CHOICE";
|
|
@@ -16353,10 +16323,10 @@ var SocialsIcon = () => {
|
|
|
16353
16323
|
};
|
|
16354
16324
|
|
|
16355
16325
|
// src/components/FunConnectOptions/FunConnectOptions.tsx
|
|
16356
|
-
import React208, { useCallback as
|
|
16326
|
+
import React208, { useCallback as useCallback47, useMemo as useMemo42, useState as useState65 } from "react";
|
|
16357
16327
|
|
|
16358
16328
|
// src/hooks/useAnimatedNavigation.ts
|
|
16359
|
-
import { useCallback as
|
|
16329
|
+
import { useCallback as useCallback20, useState as useState29 } from "react";
|
|
16360
16330
|
|
|
16361
16331
|
// src/css/modalTransitionStyles.css.ts
|
|
16362
16332
|
var animateContentInClass = "stgjxl2";
|
|
@@ -16384,7 +16354,7 @@ function useAnimatedNavigation(callback) {
|
|
|
16384
16354
|
const [animateOut, setAnimateOut] = useState29(false);
|
|
16385
16355
|
const [isSkipped, setIsSkipped] = useState29(false);
|
|
16386
16356
|
const [isReversed, setIsReversed] = useState29(false);
|
|
16387
|
-
const navigateTo =
|
|
16357
|
+
const navigateTo = useCallback20(
|
|
16388
16358
|
(page, params = {}) => {
|
|
16389
16359
|
setIsSkipped(!!params.skip);
|
|
16390
16360
|
if (params.skip) {
|
|
@@ -16399,7 +16369,7 @@ function useAnimatedNavigation(callback) {
|
|
|
16399
16369
|
},
|
|
16400
16370
|
[callback]
|
|
16401
16371
|
);
|
|
16402
|
-
const animate =
|
|
16372
|
+
const animate = useCallback20(
|
|
16403
16373
|
(callback2, params = {}) => {
|
|
16404
16374
|
setIsSkipped(!!params.skip);
|
|
16405
16375
|
if (params.skip) {
|
|
@@ -16427,7 +16397,7 @@ import React198, { useEffect as useEffect50, useRef as useRef25, useState as use
|
|
|
16427
16397
|
|
|
16428
16398
|
// src/modals/CheckoutModal/stepTransition.ts
|
|
16429
16399
|
import {
|
|
16430
|
-
useCallback as
|
|
16400
|
+
useCallback as useCallback43,
|
|
16431
16401
|
useRef as useRef24,
|
|
16432
16402
|
useState as useState61
|
|
16433
16403
|
} from "react";
|
|
@@ -16721,7 +16691,7 @@ import {
|
|
|
16721
16691
|
BridgeCustomerStatus as BridgeCustomerStatus4
|
|
16722
16692
|
} from "@funkit/api-base";
|
|
16723
16693
|
import { exhaustiveCheck as exhaustiveCheck4 } from "@funkit/utils";
|
|
16724
|
-
import React98, { useCallback as
|
|
16694
|
+
import React98, { useCallback as useCallback21, useState as useState31 } from "react";
|
|
16725
16695
|
import { createPortal as createPortal4 } from "react-dom";
|
|
16726
16696
|
|
|
16727
16697
|
// src/components/Icons/HomeIcon.tsx
|
|
@@ -17323,7 +17293,7 @@ var VerifyAccountScreen = ({
|
|
|
17323
17293
|
const kycUninitialized = !isSoftRejected2 && customerStatus && isKycUninitialized(customerStatus);
|
|
17324
17294
|
const canStartKyc = kycUninitialized || isSoftRejected2;
|
|
17325
17295
|
const handleCreateVirtualFiatAccount = useCreateVirtualBankAccount();
|
|
17326
|
-
const onClick =
|
|
17296
|
+
const onClick = useCallback21(async () => {
|
|
17327
17297
|
if (customerStatus === BridgeCustomerStatus4.ACTIVE) {
|
|
17328
17298
|
setCreating(true);
|
|
17329
17299
|
const result = await handleCreateVirtualFiatAccount();
|
|
@@ -17831,7 +17801,7 @@ function VirtualFiatAccount({
|
|
|
17831
17801
|
}
|
|
17832
17802
|
|
|
17833
17803
|
// src/modals/CheckoutModal/Brokerage/SelectBrokerage.tsx
|
|
17834
|
-
import React111, { useState as useState32, useCallback as
|
|
17804
|
+
import React111, { useState as useState32, useCallback as useCallback22 } from "react";
|
|
17835
17805
|
import { createPortal as createPortal6 } from "react-dom";
|
|
17836
17806
|
|
|
17837
17807
|
// src/components/FunSelectBrokerage/FunSelectBrokerage.tsx
|
|
@@ -17937,7 +17907,7 @@ function SelectBrokerage({
|
|
|
17937
17907
|
const { updateSelectedPaymentMethodInfo } = useCheckoutContext();
|
|
17938
17908
|
const [selectedExchange, setSelectedExchange] = useState32();
|
|
17939
17909
|
const bottomSectionRef = useBottomSectionRef();
|
|
17940
|
-
const handleSelect =
|
|
17910
|
+
const handleSelect = useCallback22(
|
|
17941
17911
|
async (brokerType) => {
|
|
17942
17912
|
try {
|
|
17943
17913
|
setSelectedExchange(brokerType);
|
|
@@ -18006,7 +17976,7 @@ function getCheckoutCompletionTime(checkout) {
|
|
|
18006
17976
|
}
|
|
18007
17977
|
|
|
18008
17978
|
// src/components/FunCheckoutHistory/FunCheckoutHistoryDetail.tsx
|
|
18009
|
-
import React117, { useCallback as
|
|
17979
|
+
import React117, { useCallback as useCallback24, useMemo as useMemo22, useState as useState34 } from "react";
|
|
18010
17980
|
import { createPortal as createPortal7 } from "react-dom";
|
|
18011
17981
|
|
|
18012
17982
|
// src/components/HelpAlert/HelpAlert.tsx
|
|
@@ -18022,7 +17992,7 @@ var HelpAlert = ({ onHelp: onHelp2 }) => {
|
|
|
18022
17992
|
};
|
|
18023
17993
|
|
|
18024
17994
|
// src/hooks/useFunListeners.ts
|
|
18025
|
-
import { useCallback as
|
|
17995
|
+
import { useCallback as useCallback23, useEffect as useEffect32, useRef as useRef15 } from "react";
|
|
18026
17996
|
function useCheckoutHistoryListener(activate = true, singleDepositAddr) {
|
|
18027
17997
|
const activeIntervalRef = useRef15();
|
|
18028
17998
|
const { startCheckoutHistoryListener, stopCheckoutHistoryListener } = useCheckoutHistoryContext();
|
|
@@ -18045,21 +18015,21 @@ function useSIWFarcasterListener(channelToken) {
|
|
|
18045
18015
|
const { getFcConnectionStatus, handleFunkitWeb2Login } = useFunkitWeb2Login();
|
|
18046
18016
|
const intervalRef = useRef15();
|
|
18047
18017
|
const [refreshSymbol, triggerRefreshSymbol] = useSymbolRefresh_default();
|
|
18048
|
-
const startStatusListener =
|
|
18018
|
+
const startStatusListener = useCallback23(() => {
|
|
18049
18019
|
clearInterval(intervalRef.current);
|
|
18050
18020
|
triggerRefreshSymbol();
|
|
18051
18021
|
intervalRef.current = setInterval(() => {
|
|
18052
18022
|
triggerRefreshSymbol();
|
|
18053
18023
|
}, FARCASTER_STATUS_INTERVAL);
|
|
18054
18024
|
}, [triggerRefreshSymbol]);
|
|
18055
|
-
const stopStatusListener =
|
|
18025
|
+
const stopStatusListener = useCallback23(() => {
|
|
18056
18026
|
clearInterval(intervalRef.current);
|
|
18057
18027
|
}, []);
|
|
18058
18028
|
useEffect32(() => {
|
|
18059
18029
|
startStatusListener();
|
|
18060
18030
|
return () => stopStatusListener();
|
|
18061
18031
|
}, []);
|
|
18062
|
-
const check =
|
|
18032
|
+
const check = useCallback23(async () => {
|
|
18063
18033
|
if (!channelToken || !initalChainid) {
|
|
18064
18034
|
return;
|
|
18065
18035
|
}
|
|
@@ -18374,7 +18344,7 @@ function FunCheckoutHistoryDetail({
|
|
|
18374
18344
|
useCheckoutHistoryListener(isProcessing, checkoutHistoryInfo?.depositAddr);
|
|
18375
18345
|
useWalletAssets({ enableRefetchInterval: isProcessing || isCompleted });
|
|
18376
18346
|
const { beginCheckout } = useFunkitCheckout({});
|
|
18377
|
-
const handleNewCheckout =
|
|
18347
|
+
const handleNewCheckout = useCallback24(
|
|
18378
18348
|
(fromCheckout) => {
|
|
18379
18349
|
onClose({ isNewDeposit: true });
|
|
18380
18350
|
const historicalCheckout = fromCheckout.clientMetadata;
|
|
@@ -18851,7 +18821,7 @@ import {
|
|
|
18851
18821
|
formatTimestamp as formatTimestamp2,
|
|
18852
18822
|
isTokenEquivalent as isTokenEquivalent4
|
|
18853
18823
|
} from "@funkit/utils";
|
|
18854
|
-
import React122, { useCallback as
|
|
18824
|
+
import React122, { useCallback as useCallback25, useMemo as useMemo24, useRef as useRef18, useState as useState36 } from "react";
|
|
18855
18825
|
import { createPortal as createPortal9 } from "react-dom";
|
|
18856
18826
|
|
|
18857
18827
|
// src/hooks/useReceiveAmountLabel.ts
|
|
@@ -18881,7 +18851,7 @@ function FunDirectExecutionHistoryDetail({
|
|
|
18881
18851
|
const { checkoutItem } = useCheckoutContext();
|
|
18882
18852
|
const { beginCheckout } = useFunkitCheckout({});
|
|
18883
18853
|
const oldCheckoutConfig = checkoutItem?.initSettings.config;
|
|
18884
|
-
const handleNewCheckout =
|
|
18854
|
+
const handleNewCheckout = useCallback25(
|
|
18885
18855
|
(fromCheckout) => {
|
|
18886
18856
|
onClose({ isNewDeposit: true });
|
|
18887
18857
|
const historicalCheckout = fromCheckout.clientMetadata;
|
|
@@ -19142,11 +19112,11 @@ function FunCheckoutHistoryContent({
|
|
|
19142
19112
|
}
|
|
19143
19113
|
|
|
19144
19114
|
// src/modals/CheckoutModal/CheckoutComplete/useLogCheckoutCompletion.ts
|
|
19145
|
-
import { useCallback as
|
|
19115
|
+
import { useCallback as useCallback26 } from "react";
|
|
19146
19116
|
function useLogCheckoutCompletion() {
|
|
19147
19117
|
const { latestQuote } = useQuoteContext();
|
|
19148
19118
|
const { checkoutItem } = useCheckoutContext();
|
|
19149
|
-
const logCheckoutCompletion =
|
|
19119
|
+
const logCheckoutCompletion = useCallback26(
|
|
19150
19120
|
(depositAddress) => {
|
|
19151
19121
|
if (depositAddress) {
|
|
19152
19122
|
logger.log("checkoutFundingCompleted", {
|
|
@@ -19871,11 +19841,11 @@ import { useState as useState40 } from "react";
|
|
|
19871
19841
|
import { useEffect as useEffect37, useState as useState39 } from "react";
|
|
19872
19842
|
|
|
19873
19843
|
// src/hooks/useCheckoutAccountBalanceTransfer.ts
|
|
19874
|
-
import { useCallback as
|
|
19844
|
+
import { useCallback as useCallback27 } from "react";
|
|
19875
19845
|
function useCheckoutAccountBalanceTransfer() {
|
|
19876
19846
|
const { checkoutItem } = useCheckoutContext();
|
|
19877
19847
|
const { funWallet, funWalletAuth } = useGeneralWallet();
|
|
19878
|
-
const generateCheckoutTransferOpItems =
|
|
19848
|
+
const generateCheckoutTransferOpItems = useCallback27(
|
|
19879
19849
|
async (toAddress, tokenAmount) => {
|
|
19880
19850
|
if (checkoutItem?.selectedSourceAssetInfo?.chainId) {
|
|
19881
19851
|
const newConfig = getFunkitEnvForCheckoutEstimation({
|
|
@@ -20085,7 +20055,7 @@ import React136, { useState as useState41 } from "react";
|
|
|
20085
20055
|
// src/modals/CheckoutModal/ConfirmationStep/useAccountBalanceTransfer.ts
|
|
20086
20056
|
import { getPaymasterDataForCheckoutSponsoredTransfer } from "@funkit/api-base";
|
|
20087
20057
|
import { ERC20_ABI, USDT_ABI } from "@funkit/core";
|
|
20088
|
-
import { useCallback as
|
|
20058
|
+
import { useCallback as useCallback28 } from "react";
|
|
20089
20059
|
import { useAccount as useAccount5, useSendTransaction, useWriteContract } from "wagmi";
|
|
20090
20060
|
|
|
20091
20061
|
// src/utils/isMainnetUsdt.ts
|
|
@@ -20109,7 +20079,7 @@ function useWeb3AccountBalancePostCheckout(setPostCheckoutStepMessage) {
|
|
|
20109
20079
|
const { sendTransactionAsync } = useSendTransaction();
|
|
20110
20080
|
const { cancelCheckout, checkoutItem } = useCheckoutContext();
|
|
20111
20081
|
const { latestQuote } = useQuoteContext();
|
|
20112
|
-
const handleWeb3AccountBalancePostCheckout =
|
|
20082
|
+
const handleWeb3AccountBalancePostCheckout = useCallback28(
|
|
20113
20083
|
async (depositAddress) => {
|
|
20114
20084
|
if (!latestQuote?.baseQuote.estTotalFromAmountBaseUnit) {
|
|
20115
20085
|
return;
|
|
@@ -20215,7 +20185,7 @@ function useWeb3AccountBalancePostCheckout(setPostCheckoutStepMessage) {
|
|
|
20215
20185
|
function useWeb2AccountBalancePostCheckout(apiKey) {
|
|
20216
20186
|
const { latestQuote } = useQuoteContext();
|
|
20217
20187
|
const { generateCheckoutTransferOpItems } = useCheckoutAccountBalanceTransfer();
|
|
20218
|
-
const handleWeb2AccountBalancePostCheckout =
|
|
20188
|
+
const handleWeb2AccountBalancePostCheckout = useCallback28(
|
|
20219
20189
|
async (depositAddress) => {
|
|
20220
20190
|
const { rFunWallet, rFunWalletAuth, transferOp, envConfig } = await generateCheckoutTransferOpItems(
|
|
20221
20191
|
depositAddress,
|
|
@@ -20264,7 +20234,7 @@ function useAccountBalancePostCheckout(setPostCheckoutStepMessage, apiKey) {
|
|
|
20264
20234
|
const { loginType } = useGeneralWallet();
|
|
20265
20235
|
const handleWeb2AccountBalancePostCheckout = useWeb2AccountBalancePostCheckout(apiKey);
|
|
20266
20236
|
const handleWeb3AccountBalancePostCheckout = useWeb3AccountBalancePostCheckout(setPostCheckoutStepMessage);
|
|
20267
|
-
const handleAccountBalancePostCheckout =
|
|
20237
|
+
const handleAccountBalancePostCheckout = useCallback28(
|
|
20268
20238
|
async (depositAddress) => {
|
|
20269
20239
|
if (loginType === "web2" /* Web2 */) {
|
|
20270
20240
|
await handleWeb2AccountBalancePostCheckout(depositAddress);
|
|
@@ -20415,15 +20385,15 @@ function usePostCheckout({
|
|
|
20415
20385
|
}
|
|
20416
20386
|
|
|
20417
20387
|
// src/modals/CheckoutModal/ConfirmationStep/useQuoteRefresh.ts
|
|
20418
|
-
import { useCallback as
|
|
20388
|
+
import { useCallback as useCallback31, useEffect as useEffect39, useMemo as useMemo29, useRef as useRef20, useState as useState44 } from "react";
|
|
20419
20389
|
|
|
20420
20390
|
// src/hooks/useCountdown.tsx
|
|
20421
20391
|
import React138 from "react";
|
|
20422
|
-
import { useCallback as
|
|
20392
|
+
import { useCallback as useCallback30, useState as useState43 } from "react";
|
|
20423
20393
|
|
|
20424
20394
|
// src/components/FunCountdown/FunCountdown.tsx
|
|
20425
20395
|
import { noop as noop7 } from "@funkit/utils";
|
|
20426
|
-
import React137, { useCallback as
|
|
20396
|
+
import React137, { useCallback as useCallback29, useEffect as useEffect38, useState as useState42 } from "react";
|
|
20427
20397
|
|
|
20428
20398
|
// src/components/FunCountdown/FunCountdown.css.ts
|
|
20429
20399
|
var backgroundRing = "_1t0bc111 _1rsrm2f1mm";
|
|
@@ -20459,7 +20429,7 @@ var FunCountdown = ({
|
|
|
20459
20429
|
const onCountdownEndedOnce = useEffectEvent(onCountdownEnded);
|
|
20460
20430
|
const onBeforeCountdownEndsOnce = useEffectEvent(onBeforeCountdownEnds);
|
|
20461
20431
|
const onCountdownLastSecondOnce = useEffectEvent(onCountdownLastSecond);
|
|
20462
|
-
const handleInterval =
|
|
20432
|
+
const handleInterval = useCallback29(() => {
|
|
20463
20433
|
if (isPaused) {
|
|
20464
20434
|
return;
|
|
20465
20435
|
}
|
|
@@ -20577,7 +20547,7 @@ function useCountdown({
|
|
|
20577
20547
|
}) {
|
|
20578
20548
|
const [countdownKey, setCountdownKey] = useState43(0);
|
|
20579
20549
|
const [isLastSecond, setIsLastSecond] = useState43(false);
|
|
20580
|
-
const restartCountdown =
|
|
20550
|
+
const restartCountdown = useCallback30(() => {
|
|
20581
20551
|
setIsLastSecond(false);
|
|
20582
20552
|
setCountdownKey((key) => key + 1);
|
|
20583
20553
|
}, []);
|
|
@@ -20632,7 +20602,7 @@ function useQuoteRefresh({
|
|
|
20632
20602
|
preloadedQuoteRef.current = data;
|
|
20633
20603
|
}
|
|
20634
20604
|
);
|
|
20635
|
-
const preloadQuote =
|
|
20605
|
+
const preloadQuote = useCallback31(() => {
|
|
20636
20606
|
if (!isSourceAssetConfirming) {
|
|
20637
20607
|
onSourceAssetConfirmed(true);
|
|
20638
20608
|
}
|
|
@@ -20646,7 +20616,7 @@ function useQuoteRefresh({
|
|
|
20646
20616
|
onBeforeCountdownEnds: preloadQuote,
|
|
20647
20617
|
onCountdownEnded: () => refreshQuote()
|
|
20648
20618
|
});
|
|
20649
|
-
const refreshQuote =
|
|
20619
|
+
const refreshQuote = useCallback31(
|
|
20650
20620
|
async (forceHardRefresh = false) => {
|
|
20651
20621
|
if (isOnHold) {
|
|
20652
20622
|
setIsPendingRefresh(true);
|
|
@@ -21010,7 +20980,7 @@ function ConfirmationStep({
|
|
|
21010
20980
|
}
|
|
21011
20981
|
|
|
21012
20982
|
// src/modals/CheckoutModal/ConnectExchange.tsx
|
|
21013
|
-
import React144, { useCallback as
|
|
20983
|
+
import React144, { useCallback as useCallback32, useEffect as useEffect41, useState as useState46 } from "react";
|
|
21014
20984
|
import { createPortal as createPortal12 } from "react-dom";
|
|
21015
20985
|
|
|
21016
20986
|
// src/components/Icons/HandIcon.tsx
|
|
@@ -21165,7 +21135,7 @@ function ConnectExchange({
|
|
|
21165
21135
|
navigateToBrokerage();
|
|
21166
21136
|
}
|
|
21167
21137
|
}, [isConnected]);
|
|
21168
|
-
const onClickContinue =
|
|
21138
|
+
const onClickContinue = useCallback32(async () => {
|
|
21169
21139
|
try {
|
|
21170
21140
|
setIsLoadingMeshModal(true);
|
|
21171
21141
|
setAuthError("");
|
|
@@ -22675,7 +22645,7 @@ var QuickOptions = ({
|
|
|
22675
22645
|
|
|
22676
22646
|
// src/modals/CheckoutModal/InputAmount/useAmountInput.ts
|
|
22677
22647
|
import {
|
|
22678
|
-
useCallback as
|
|
22648
|
+
useCallback as useCallback34,
|
|
22679
22649
|
useMemo as useMemo31,
|
|
22680
22650
|
useReducer as useReducer3,
|
|
22681
22651
|
useRef as useRef22,
|
|
@@ -22683,10 +22653,10 @@ import {
|
|
|
22683
22653
|
} from "react";
|
|
22684
22654
|
|
|
22685
22655
|
// src/hooks/useTextMeasurer.ts
|
|
22686
|
-
import { useCallback as
|
|
22656
|
+
import { useCallback as useCallback33, useRef as useRef21 } from "react";
|
|
22687
22657
|
function useTextMeasurer(inputRef) {
|
|
22688
22658
|
const canvasRef = useRef21(document.createElement("canvas"));
|
|
22689
|
-
const measureText =
|
|
22659
|
+
const measureText = useCallback33(
|
|
22690
22660
|
(text, fontSize) => {
|
|
22691
22661
|
if (!inputRef.current) {
|
|
22692
22662
|
return void 0;
|
|
@@ -22990,7 +22960,7 @@ function useAmountInput(options) {
|
|
|
22990
22960
|
const isCardCheckout = paymentMethodInfo.paymentMethod === "card" /* CARD */;
|
|
22991
22961
|
const isMeldFlow = isCardCheckout && isMeldEnabled;
|
|
22992
22962
|
const unitPrice = isStablecoin(checkoutConfig.targetAssetTicker) ? 1 : realUnitPrice;
|
|
22993
|
-
const dispatchAndGetNewState =
|
|
22963
|
+
const dispatchAndGetNewState = useCallback34(
|
|
22994
22964
|
(action) => {
|
|
22995
22965
|
dispatch(action);
|
|
22996
22966
|
return getDerivedState(
|
|
@@ -23181,7 +23151,7 @@ function useAmountInput(options) {
|
|
|
23181
23151
|
return () => element2.removeEventListener("beforeinput", onBeforeInput2);
|
|
23182
23152
|
}
|
|
23183
23153
|
}, [inputDecimals, locale]);
|
|
23184
|
-
const onChange =
|
|
23154
|
+
const onChange = useCallback34(
|
|
23185
23155
|
(event) => {
|
|
23186
23156
|
dispatch({
|
|
23187
23157
|
type: "setInputValue",
|
|
@@ -23216,7 +23186,7 @@ function useAmountInput(options) {
|
|
|
23216
23186
|
});
|
|
23217
23187
|
}
|
|
23218
23188
|
}, [defaultAmount]);
|
|
23219
|
-
const setFiatAmount =
|
|
23189
|
+
const setFiatAmount = useCallback34(
|
|
23220
23190
|
(fiatAmount) => {
|
|
23221
23191
|
const newState = dispatchAndGetNewState({
|
|
23222
23192
|
type: "setFiatAmount",
|
|
@@ -23228,7 +23198,7 @@ function useAmountInput(options) {
|
|
|
23228
23198
|
},
|
|
23229
23199
|
[dispatchAndGetNewState, unitPrice]
|
|
23230
23200
|
);
|
|
23231
|
-
const toggleInputInFiat =
|
|
23201
|
+
const toggleInputInFiat = useCallback34(() => {
|
|
23232
23202
|
dispatch({ type: "toggleInputInFiat" });
|
|
23233
23203
|
inputRef.current?.focus();
|
|
23234
23204
|
}, []);
|
|
@@ -23247,7 +23217,7 @@ function useAmountInput(options) {
|
|
|
23247
23217
|
|
|
23248
23218
|
// src/modals/CheckoutModal/InputAmount/useMeld.tsx
|
|
23249
23219
|
import { MeldServiceProvider as MeldServiceProvider2 } from "@funkit/api-base";
|
|
23250
|
-
import React158, { useCallback as
|
|
23220
|
+
import React158, { useCallback as useCallback36 } from "react";
|
|
23251
23221
|
|
|
23252
23222
|
// src/components/SourceMeldQuoteItem/SourceMeldQuoteItem.tsx
|
|
23253
23223
|
import React157 from "react";
|
|
@@ -23640,7 +23610,7 @@ import {
|
|
|
23640
23610
|
katanaChain
|
|
23641
23611
|
} from "@funkit/chains";
|
|
23642
23612
|
import { getTokenAddressBySymbolAndChainId as getTokenAddressBySymbolAndChainId2 } from "@funkit/core";
|
|
23643
|
-
import { useCallback as
|
|
23613
|
+
import { useCallback as useCallback35, useState as useState48 } from "react";
|
|
23644
23614
|
import { mainnet as mainnet10, mantle, zksync as zksync2 } from "viem/chains";
|
|
23645
23615
|
var pickSourceAssetForCard = async (checkoutItem, userIpInfo) => {
|
|
23646
23616
|
if (!checkoutItem?.initSettings.config.targetChain) {
|
|
@@ -23701,7 +23671,7 @@ function useUpdateCardSourceAsset() {
|
|
|
23701
23671
|
const { checkoutItem, updateSourceAsset } = useCheckoutContext();
|
|
23702
23672
|
const { userIpInfo } = useFunkitUserIp();
|
|
23703
23673
|
const [isUpdating, setIsUpdating] = useState48(false);
|
|
23704
|
-
const onSelectCard =
|
|
23674
|
+
const onSelectCard = useCallback35(async () => {
|
|
23705
23675
|
setIsUpdating(true);
|
|
23706
23676
|
try {
|
|
23707
23677
|
const source = await pickSourceAssetForCard(checkoutItem, userIpInfo);
|
|
@@ -23806,7 +23776,7 @@ function useMeld(meldEnabled, manuallySelectedQuote, usdAmount, fiatCurrency) {
|
|
|
23806
23776
|
);
|
|
23807
23777
|
const isMeldMoonpaySelected = selectedQuote?.serviceProvider === MeldServiceProvider2.MOONPAY;
|
|
23808
23778
|
const isMeldContinueDisabled = meldEnabled && (!!meldLimitError || isMeldLinkPending || !!meldQuotesQuery.error || meldQuotesQuery.isFetching || isSelectedQuoteUnavailable);
|
|
23809
|
-
const getMeldError =
|
|
23779
|
+
const getMeldError = useCallback36(
|
|
23810
23780
|
function getMeldError2() {
|
|
23811
23781
|
if (isSelectedQuoteUnavailable) {
|
|
23812
23782
|
return {
|
|
@@ -25577,7 +25547,7 @@ var TwoFactorInput = ({
|
|
|
25577
25547
|
};
|
|
25578
25548
|
|
|
25579
25549
|
// src/modals/CheckoutModal/MoonpaySetup.tsx
|
|
25580
|
-
import React172, { useCallback as
|
|
25550
|
+
import React172, { useCallback as useCallback37, useMemo as useMemo37, useState as useState52 } from "react";
|
|
25581
25551
|
|
|
25582
25552
|
// src/components/FunPayments/FunPaymentMoonpayType.css.ts
|
|
25583
25553
|
var mpClass = "_1kmpeyf0";
|
|
@@ -25698,7 +25668,7 @@ function MoonpaySetup({
|
|
|
25698
25668
|
const { paymentAddress, token, tokenChainId, depositAmount } = modalState;
|
|
25699
25669
|
const [isSupportedRegion, setIsSupportedRegion] = useState52(true);
|
|
25700
25670
|
const [isContinueEnabled, setIsContinueEnabled] = useState52(false);
|
|
25701
|
-
const handleOnCompleted =
|
|
25671
|
+
const handleOnCompleted = useCallback37(() => {
|
|
25702
25672
|
onNext({
|
|
25703
25673
|
depositAddress: paymentAddress
|
|
25704
25674
|
});
|
|
@@ -25736,6 +25706,7 @@ import { FUNKIT_CONNECT_SUPPORTED_CHECKOUT_CHAINS_INFO_LIST as FUNKIT_CONNECT_SU
|
|
|
25736
25706
|
import { formatCurrencyAndStringify as formatCurrencyAndStringify11, isTokenEquivalent as isTokenEquivalent8 } from "@funkit/utils";
|
|
25737
25707
|
import React175, { useEffect as useEffect46, useMemo as useMemo39, useState as useState53 } from "react";
|
|
25738
25708
|
import { createPortal as createPortal17 } from "react-dom";
|
|
25709
|
+
import { mainnet as mainnet11 } from "viem/chains";
|
|
25739
25710
|
|
|
25740
25711
|
// src/components/Dropdown/ReceiveTokenDropdown.tsx
|
|
25741
25712
|
import React173 from "react";
|
|
@@ -25864,7 +25835,7 @@ var NewTokenDepositAlert = ({
|
|
|
25864
25835
|
// src/hooks/useAllowedAssets.ts
|
|
25865
25836
|
import { getAllowedAssets } from "@funkit/api-base";
|
|
25866
25837
|
import { useQuery as useQuery18 } from "@tanstack/react-query";
|
|
25867
|
-
import { useCallback as
|
|
25838
|
+
import { useCallback as useCallback38, useMemo as useMemo38 } from "react";
|
|
25868
25839
|
function useAllowedAssets() {
|
|
25869
25840
|
const { apiKey } = useFunkitConfig();
|
|
25870
25841
|
const { checkoutItem } = useCheckoutContext();
|
|
@@ -25889,7 +25860,7 @@ function useAllowedAssets() {
|
|
|
25889
25860
|
}
|
|
25890
25861
|
return ret;
|
|
25891
25862
|
}, [allowedAssets]);
|
|
25892
|
-
const isAllowed =
|
|
25863
|
+
const isAllowed = useCallback38(
|
|
25893
25864
|
(chainId, tokenAddress) => {
|
|
25894
25865
|
const disabledByCustomerList = checkoutItem?.initSettings.config.disabledSourceTokens?.some(
|
|
25895
25866
|
(token) => {
|
|
@@ -26019,6 +25990,7 @@ function useAssetOptions({
|
|
|
26019
25990
|
chainId,
|
|
26020
25991
|
dynamicTargetAssetCandidates
|
|
26021
25992
|
}) {
|
|
25993
|
+
const { apiKey } = useFunkitConfig();
|
|
26022
25994
|
const assetOptions = useMemo39(() => {
|
|
26023
25995
|
return enrichedAccountHoldings.filter(
|
|
26024
25996
|
({ asset }) => chainId !== void 0 ? asset.pickedChainId === chainId.toString() : true
|
|
@@ -26033,11 +26005,24 @@ function useAssetOptions({
|
|
|
26033
26005
|
secondTokenChainId: userSelectedTargetAsset?.tokenChainId || "",
|
|
26034
26006
|
secondTokenAddress: userSelectedTargetAsset?.tokenAddress || ""
|
|
26035
26007
|
});
|
|
26008
|
+
let priority = 0;
|
|
26009
|
+
if (isDisabled) {
|
|
26010
|
+
priority = -1e3;
|
|
26011
|
+
}
|
|
26036
26012
|
let badgeText = "";
|
|
26037
26013
|
if (!isUsable) {
|
|
26038
26014
|
badgeText = reason;
|
|
26039
26015
|
} else if (!isKnown) {
|
|
26040
26016
|
badgeText = "Unknown";
|
|
26017
|
+
} else if (isEtherealCustomer(apiKey) && isTokenEquivalent8({
|
|
26018
|
+
firstTokenChainId: mainnet11.id.toString(),
|
|
26019
|
+
firstTokenAddress: "0x90d2af7d622ca3141efa4d8f1f24d86e5974cc8f",
|
|
26020
|
+
// eUSDe (ethereum)
|
|
26021
|
+
secondTokenChainId: asset.pickedChainId,
|
|
26022
|
+
secondTokenAddress: asset.tokenAddress
|
|
26023
|
+
})) {
|
|
26024
|
+
badgeText = "Native";
|
|
26025
|
+
priority = 1e3;
|
|
26041
26026
|
} else if (dynamicTargetAssetCandidates.some(
|
|
26042
26027
|
(token) => isTokenEquivalent8({
|
|
26043
26028
|
firstTokenChainId: token.tokenChainId,
|
|
@@ -26052,19 +26037,21 @@ function useAssetOptions({
|
|
|
26052
26037
|
}
|
|
26053
26038
|
return {
|
|
26054
26039
|
asset,
|
|
26040
|
+
badgeText,
|
|
26055
26041
|
isDefault,
|
|
26056
26042
|
isDisabled,
|
|
26057
26043
|
isUserSelected,
|
|
26058
|
-
|
|
26044
|
+
priority
|
|
26059
26045
|
};
|
|
26060
26046
|
}).sort(
|
|
26061
26047
|
(a, b) => (
|
|
26062
|
-
// Place
|
|
26063
|
-
|
|
26048
|
+
// Place higher priority assets first
|
|
26049
|
+
b.priority - a.priority || // Place higher usdAmount assets first
|
|
26064
26050
|
(b.asset.usdAmount || 0) - (a.asset.usdAmount || 0)
|
|
26065
26051
|
)
|
|
26066
26052
|
);
|
|
26067
26053
|
}, [
|
|
26054
|
+
apiKey,
|
|
26068
26055
|
defaultTokenSymbols,
|
|
26069
26056
|
enrichedAccountHoldings,
|
|
26070
26057
|
chainId,
|
|
@@ -26170,7 +26157,7 @@ function AccountSelectAsset({
|
|
|
26170
26157
|
});
|
|
26171
26158
|
return;
|
|
26172
26159
|
}
|
|
26173
|
-
|
|
26160
|
+
let candidate = candidates.find(
|
|
26174
26161
|
(cand) => isTokenEquivalent8({
|
|
26175
26162
|
firstTokenChainId: cand.tokenChainId,
|
|
26176
26163
|
firstTokenAddress: cand.tokenAddress,
|
|
@@ -26178,15 +26165,15 @@ function AccountSelectAsset({
|
|
|
26178
26165
|
secondTokenAddress: tokenItem.tokenAddress
|
|
26179
26166
|
})
|
|
26180
26167
|
);
|
|
26181
|
-
|
|
26168
|
+
candidate = candidate || candidates.find((token) => token.isDefault) || candidates[0];
|
|
26169
|
+
if (candidate) {
|
|
26182
26170
|
updateTargetAsset({
|
|
26183
|
-
targetAsset:
|
|
26184
|
-
targetChain:
|
|
26185
|
-
targetAssetMinAmount:
|
|
26186
|
-
targetAssetTicker:
|
|
26187
|
-
iconSrc:
|
|
26171
|
+
targetAsset: candidate.tokenAddress,
|
|
26172
|
+
targetChain: candidate.tokenChainId,
|
|
26173
|
+
targetAssetMinAmount: candidate.targetAssetMinAmount,
|
|
26174
|
+
targetAssetTicker: candidate.tokenSymbol,
|
|
26175
|
+
iconSrc: candidate.iconSrc
|
|
26188
26176
|
});
|
|
26189
|
-
return;
|
|
26190
26177
|
}
|
|
26191
26178
|
};
|
|
26192
26179
|
const onClickContinue = useEffectEvent(() => {
|
|
@@ -26472,7 +26459,7 @@ function SelectAsset({
|
|
|
26472
26459
|
|
|
26473
26460
|
// src/modals/CheckoutModal/SourceChange/SourceChange.tsx
|
|
26474
26461
|
import { BridgeCustomerStatus as BridgeCustomerStatus6, MeldServiceProvider as MeldServiceProvider4 } from "@funkit/api-base";
|
|
26475
|
-
import React177, { useCallback as
|
|
26462
|
+
import React177, { useCallback as useCallback39, useEffect as useEffect47, useState as useState54 } from "react";
|
|
26476
26463
|
import { createPortal as createPortal18 } from "react-dom";
|
|
26477
26464
|
|
|
26478
26465
|
// src/modals/CheckoutModal/SourceChange/DefiPurchaseSection.tsx
|
|
@@ -26627,7 +26614,7 @@ function PayPal() {
|
|
|
26627
26614
|
const isMeldEnabled = useIsMeldEnabled();
|
|
26628
26615
|
const { checkoutItem } = useCheckoutContext();
|
|
26629
26616
|
const isPaypalReady = false;
|
|
26630
|
-
const onClick =
|
|
26617
|
+
const onClick = useCallback39(() => {
|
|
26631
26618
|
if (isMeldEnabled && isPaypalReady) {
|
|
26632
26619
|
openMeldPopup(() => mutateAsync(MeldServiceProvider4.PAYPAL));
|
|
26633
26620
|
} else {
|
|
@@ -26694,7 +26681,7 @@ function SourceChange({
|
|
|
26694
26681
|
brokerageFailed: false
|
|
26695
26682
|
});
|
|
26696
26683
|
};
|
|
26697
|
-
const onCloseConnectModal =
|
|
26684
|
+
const onCloseConnectModal = useCallback39(() => {
|
|
26698
26685
|
if (modalState.isSoftHidden) {
|
|
26699
26686
|
setModalState((state) => ({ ...state, isSoftHidden: false }));
|
|
26700
26687
|
}
|
|
@@ -26860,13 +26847,13 @@ import { createPortal as createPortal19 } from "react-dom";
|
|
|
26860
26847
|
|
|
26861
26848
|
// src/components/CopyAddress/CopyInputDisplayedAddress.tsx
|
|
26862
26849
|
import { truncateMiddleOfAddress } from "@funkit/utils";
|
|
26863
|
-
import React178, { useCallback as
|
|
26850
|
+
import React178, { useCallback as useCallback41, useState as useState56 } from "react";
|
|
26864
26851
|
|
|
26865
26852
|
// src/hooks/useCopyToClipboard.ts
|
|
26866
|
-
import { useCallback as
|
|
26853
|
+
import { useCallback as useCallback40, useEffect as useEffect48, useState as useState55 } from "react";
|
|
26867
26854
|
var useCopyToClipboard = (text, delay = 1500) => {
|
|
26868
26855
|
const [isCopied, setCopied] = useState55(false);
|
|
26869
|
-
const handleCopy =
|
|
26856
|
+
const handleCopy = useCallback40(() => {
|
|
26870
26857
|
if (!text) {
|
|
26871
26858
|
return;
|
|
26872
26859
|
}
|
|
@@ -26906,7 +26893,7 @@ function CopyInputDisplayedAddress({
|
|
|
26906
26893
|
const { handleCopy } = useCopyToClipboard(address);
|
|
26907
26894
|
const [isActive, setIsActive] = useState56(null);
|
|
26908
26895
|
const displayAddress = truncateAddress ? truncateMiddleOfAddress(address, 40, 24, 8) : address;
|
|
26909
|
-
const handleClick =
|
|
26896
|
+
const handleClick = useCallback41(() => {
|
|
26910
26897
|
if (isActive) {
|
|
26911
26898
|
return;
|
|
26912
26899
|
}
|
|
@@ -28222,9 +28209,9 @@ var FiatAccountDetail = {
|
|
|
28222
28209
|
|
|
28223
28210
|
// src/modals/CheckoutModal/VirtualFiatAccount/KycIframe.tsx
|
|
28224
28211
|
import { BridgeCustomerStatus as BridgeCustomerStatus7 } from "@funkit/api-base";
|
|
28225
|
-
import React197, { useCallback as
|
|
28212
|
+
import React197, { useCallback as useCallback42, useEffect as useEffect49, useMemo as useMemo41, useState as useState60 } from "react";
|
|
28226
28213
|
function useIframeListener(listeners) {
|
|
28227
|
-
const handleMessage =
|
|
28214
|
+
const handleMessage = useCallback42(
|
|
28228
28215
|
(event) => {
|
|
28229
28216
|
switch (event.data.name) {
|
|
28230
28217
|
case "load": {
|
|
@@ -28453,7 +28440,7 @@ function initialState(checkoutItem) {
|
|
|
28453
28440
|
function useCheckoutModalTransition(checkoutItem, onClose) {
|
|
28454
28441
|
const { logEvent } = useTrack();
|
|
28455
28442
|
const [modalState, setModalState] = useState61(() => initialState(checkoutItem));
|
|
28456
|
-
const trackNextState =
|
|
28443
|
+
const trackNextState = useCallback43(
|
|
28457
28444
|
(nextState) => {
|
|
28458
28445
|
const trackEvent = trackEventFromNextState(nextState);
|
|
28459
28446
|
logEvent(trackEvent);
|
|
@@ -28461,7 +28448,7 @@ function useCheckoutModalTransition(checkoutItem, onClose) {
|
|
|
28461
28448
|
[logEvent]
|
|
28462
28449
|
);
|
|
28463
28450
|
const { clearCheckoutQuoteMessages } = useCheckoutQuoteNotification();
|
|
28464
|
-
const onCloseWrapper =
|
|
28451
|
+
const onCloseWrapper = useCallback43(
|
|
28465
28452
|
(options) => {
|
|
28466
28453
|
const normalizedIsNewDeposit = !!options?.isNewDeposit;
|
|
28467
28454
|
checkoutItem.initSettings.onClose?.({
|
|
@@ -28486,7 +28473,7 @@ function useCheckoutModalTransition(checkoutItem, onClose) {
|
|
|
28486
28473
|
const [stateHistory, setHistory] = useState61([]);
|
|
28487
28474
|
const prevStep = useRef24(null);
|
|
28488
28475
|
const hasHistoryEntry = stateHistory.length > 1;
|
|
28489
|
-
const onNext =
|
|
28476
|
+
const onNext = useCallback43(
|
|
28490
28477
|
(payload) => {
|
|
28491
28478
|
if (prevStep.current === modalState.step) {
|
|
28492
28479
|
return;
|
|
@@ -28527,7 +28514,7 @@ function useCheckoutModalTransition(checkoutItem, onClose) {
|
|
|
28527
28514
|
trackNextState
|
|
28528
28515
|
]
|
|
28529
28516
|
);
|
|
28530
|
-
const onStepChange =
|
|
28517
|
+
const onStepChange = useCallback43(
|
|
28531
28518
|
(nextState) => {
|
|
28532
28519
|
if (prevStep.current === modalState.step) {
|
|
28533
28520
|
return;
|
|
@@ -28541,7 +28528,7 @@ function useCheckoutModalTransition(checkoutItem, onClose) {
|
|
|
28541
28528
|
},
|
|
28542
28529
|
[modalState, animate, trackNextState]
|
|
28543
28530
|
);
|
|
28544
|
-
const onBack =
|
|
28531
|
+
const onBack = useCallback43(() => {
|
|
28545
28532
|
clearCheckoutQuoteMessages();
|
|
28546
28533
|
const backStepOverride = checkoutBackMap[modalState.step];
|
|
28547
28534
|
const prevState = [...stateHistory].reverse().find((s) => s.step === backStepOverride) ?? stateHistory[stateHistory.length - 1];
|
|
@@ -28744,7 +28731,7 @@ var FunConnectResultStep = ({
|
|
|
28744
28731
|
|
|
28745
28732
|
// src/components/FunConnectOptions/FunFarcasterConnectingStep.tsx
|
|
28746
28733
|
import { isMobile as isMobile8, isSafari as isSafari2, redirectInMobile } from "@funkit/utils";
|
|
28747
|
-
import React202, { useCallback as
|
|
28734
|
+
import React202, { useCallback as useCallback44, useEffect as useEffect52 } from "react";
|
|
28748
28735
|
|
|
28749
28736
|
// src/components/CopyAddress/OldCopyAddressButton.tsx
|
|
28750
28737
|
import React201 from "react";
|
|
@@ -28797,7 +28784,7 @@ function FunFarcasterConnectingStep({
|
|
|
28797
28784
|
}
|
|
28798
28785
|
}, [farcasterUri, mobile, safari]);
|
|
28799
28786
|
useSIWFarcasterListener(farcasterToken);
|
|
28800
|
-
const svgUrl =
|
|
28787
|
+
const svgUrl = useCallback44(async () => {
|
|
28801
28788
|
return (await import("./farcaster-MF6WINBA.js")).default;
|
|
28802
28789
|
}, []);
|
|
28803
28790
|
const promptText = mobile ? "To sign in with Farcaster, please open the Warpcast app." : "Scan this QR code or open the link with your mobile phone.";
|
|
@@ -28845,11 +28832,11 @@ function FunFarcasterConnectingStep({
|
|
|
28845
28832
|
|
|
28846
28833
|
// src/components/FunConnectOptions/FunWeb2ConnectingStep.tsx
|
|
28847
28834
|
import { isNotNullish as isNotNullish9 } from "@funkit/utils";
|
|
28848
|
-
import React205, { useCallback as
|
|
28835
|
+
import React205, { useCallback as useCallback46, useEffect as useEffect54, useState as useState64 } from "react";
|
|
28849
28836
|
|
|
28850
28837
|
// src/components/FunInput/FunTwoFaInput.tsx
|
|
28851
28838
|
import React203, {
|
|
28852
|
-
useCallback as
|
|
28839
|
+
useCallback as useCallback45,
|
|
28853
28840
|
useEffect as useEffect53,
|
|
28854
28841
|
useRef as useRef26,
|
|
28855
28842
|
useState as useState63
|
|
@@ -28876,12 +28863,12 @@ var FunTwoFaInput = ({
|
|
|
28876
28863
|
setFocusIndex(0);
|
|
28877
28864
|
}
|
|
28878
28865
|
}, [value]);
|
|
28879
|
-
const ensureFocus =
|
|
28866
|
+
const ensureFocus = useCallback45((nextIndex) => {
|
|
28880
28867
|
setTimeout(() => {
|
|
28881
28868
|
inputRefs.current[nextIndex]?.focus();
|
|
28882
28869
|
}, 10);
|
|
28883
28870
|
}, []);
|
|
28884
|
-
const handleBackspace =
|
|
28871
|
+
const handleBackspace = useCallback45(
|
|
28885
28872
|
(index) => {
|
|
28886
28873
|
if (index === maxInputLength - 1 && value.length === maxInputLength) {
|
|
28887
28874
|
onChange(value.slice(0, index));
|
|
@@ -28905,7 +28892,7 @@ var FunTwoFaInput = ({
|
|
|
28905
28892
|
},
|
|
28906
28893
|
[currentLength, initialInputLength, maxInputLength, onChange, value]
|
|
28907
28894
|
);
|
|
28908
|
-
const handleChange =
|
|
28895
|
+
const handleChange = useCallback45(
|
|
28909
28896
|
(changeEvent) => {
|
|
28910
28897
|
changeEvent.stopPropagation();
|
|
28911
28898
|
const nativeEvent = changeEvent.nativeEvent;
|
|
@@ -29074,7 +29061,7 @@ var FunWeb2ConnectingStep = ({
|
|
|
29074
29061
|
useEffect54(() => {
|
|
29075
29062
|
clearLoginError();
|
|
29076
29063
|
}, []);
|
|
29077
|
-
const handleOtpComplete =
|
|
29064
|
+
const handleOtpComplete = useCallback46(
|
|
29078
29065
|
async (finalOtpInput) => {
|
|
29079
29066
|
if (isNotNullish9(initialChainId)) {
|
|
29080
29067
|
await handleFunkitWeb2Login({
|
|
@@ -29221,7 +29208,7 @@ function FunConnectOptions({
|
|
|
29221
29208
|
const { loginConfig } = useFunkitConfig();
|
|
29222
29209
|
const prioritizedLoginType = loginConfig.prioritizedLogin;
|
|
29223
29210
|
const hasSecondarySignIn = prioritizedLoginType !== "none" && loginConfig.web2 && loginConfig.web3;
|
|
29224
|
-
const changeStep =
|
|
29211
|
+
const changeStep = useCallback47((newStep) => {
|
|
29225
29212
|
setStep(newStep);
|
|
29226
29213
|
if (isSignIn(newStep)) {
|
|
29227
29214
|
setSelectedWallet(void 0);
|
|
@@ -29229,7 +29216,7 @@ function FunConnectOptions({
|
|
|
29229
29216
|
}
|
|
29230
29217
|
}, []);
|
|
29231
29218
|
const { animation, navigateTo } = useAnimatedNavigation(changeStep);
|
|
29232
|
-
const handleBackToSignIn =
|
|
29219
|
+
const handleBackToSignIn = useCallback47(
|
|
29233
29220
|
(type) => {
|
|
29234
29221
|
const isPrimary = !hasSecondarySignIn || type === prioritizedLoginType;
|
|
29235
29222
|
navigateTo(
|
|
@@ -29240,7 +29227,7 @@ function FunConnectOptions({
|
|
|
29240
29227
|
[navigateTo, hasSecondarySignIn, prioritizedLoginType]
|
|
29241
29228
|
);
|
|
29242
29229
|
const walletConnectors = usePreparedWalletConnectors();
|
|
29243
|
-
const onRegenerateQrCode =
|
|
29230
|
+
const onRegenerateQrCode = useCallback47(
|
|
29244
29231
|
async (wallet) => {
|
|
29245
29232
|
const sWallet = walletConnectors.find((w) => wallet.id === w.id);
|
|
29246
29233
|
const uri = await sWallet?.getQrCodeUri?.();
|
|
@@ -29248,7 +29235,7 @@ function FunConnectOptions({
|
|
|
29248
29235
|
},
|
|
29249
29236
|
[walletConnectors]
|
|
29250
29237
|
);
|
|
29251
|
-
const connectToWallet =
|
|
29238
|
+
const connectToWallet = useCallback47(
|
|
29252
29239
|
async (wallet) => {
|
|
29253
29240
|
if (!wallet.ready) {
|
|
29254
29241
|
return;
|
|
@@ -29267,7 +29254,7 @@ function FunConnectOptions({
|
|
|
29267
29254
|
},
|
|
29268
29255
|
[changeStep, onRegenerateQrCode]
|
|
29269
29256
|
);
|
|
29270
|
-
const handleRetry =
|
|
29257
|
+
const handleRetry = useCallback47(() => {
|
|
29271
29258
|
if (!selectedWallet || selectedWallet.id === FUNKIT_CONNECT_WALLET_ID) {
|
|
29272
29259
|
handleBackToSignIn("web2");
|
|
29273
29260
|
} else {
|
|
@@ -29526,7 +29513,7 @@ function FunSignInStep({
|
|
|
29526
29513
|
changeStep(3 /* PENDING_WALLET */);
|
|
29527
29514
|
}
|
|
29528
29515
|
};
|
|
29529
|
-
const handleEmailSubmit =
|
|
29516
|
+
const handleEmailSubmit = useCallback48(async () => {
|
|
29530
29517
|
if (!isEmailInputValid) {
|
|
29531
29518
|
return;
|
|
29532
29519
|
}
|
|
@@ -29866,7 +29853,7 @@ function PaymentMethodSummary({
|
|
|
29866
29853
|
|
|
29867
29854
|
// src/modals/CheckoutModal/TransferToken/CheckoutNotifications.tsx
|
|
29868
29855
|
import clsx22 from "clsx";
|
|
29869
|
-
import React219, { useCallback as
|
|
29856
|
+
import React219, { useCallback as useCallback50, useEffect as useEffect57, useMemo as useMemo44, useState as useState68 } from "react";
|
|
29870
29857
|
|
|
29871
29858
|
// src/components/FunNotificationBanner/FunNotificationShowMoreButton.tsx
|
|
29872
29859
|
import React214 from "react";
|
|
@@ -30080,7 +30067,7 @@ var showMoreButtonStyle = "_4yitd93 _1rsrm2f12a _1rsrm2f1f _1rsrm2f1c _1rsrm2fls
|
|
|
30080
30067
|
// src/components/FunNotificationBanner/FunNotificationBannerIcon.tsx
|
|
30081
30068
|
import clsx20 from "clsx";
|
|
30082
30069
|
import { motion as motion12, useAnimate as useAnimate3 } from "motion/react";
|
|
30083
|
-
import React215, { useCallback as
|
|
30070
|
+
import React215, { useCallback as useCallback49, useEffect as useEffect56, useRef as useRef27 } from "react";
|
|
30084
30071
|
|
|
30085
30072
|
// src/components/FunNotificationBanner/FunNotificationBannerIcon.css.ts
|
|
30086
30073
|
var STATUS_SPINNER_BOTTOM_POSITION = -5;
|
|
@@ -30329,7 +30316,7 @@ var FunNotificationBannerIcon = ({
|
|
|
30329
30316
|
fallbackIconUrl = FALLBACK_ASSET
|
|
30330
30317
|
}) => {
|
|
30331
30318
|
const [animationScope, animate] = useAnimate3();
|
|
30332
|
-
const triggerAnimationProcessingToCompleted =
|
|
30319
|
+
const triggerAnimationProcessingToCompleted = useCallback49(async () => {
|
|
30333
30320
|
const completedIconPath = document.querySelector(
|
|
30334
30321
|
`.${generateAnimationPrefixClassName("icon-wrapper-completed")} path`
|
|
30335
30322
|
);
|
|
@@ -30436,7 +30423,7 @@ var FunNotificationBannerIcon = ({
|
|
|
30436
30423
|
)
|
|
30437
30424
|
]);
|
|
30438
30425
|
}, [animate]);
|
|
30439
|
-
const triggerAnimationDelayedToFailed =
|
|
30426
|
+
const triggerAnimationDelayedToFailed = useCallback49(async () => {
|
|
30440
30427
|
await Promise.all([
|
|
30441
30428
|
animate(
|
|
30442
30429
|
`.${generateAnimationPrefixClassName("icon-wrapper")}`,
|
|
@@ -31115,7 +31102,7 @@ var CheckoutNotifications = ({
|
|
|
31115
31102
|
}, [isExpanded, combinedNotifications]);
|
|
31116
31103
|
const handleNotificationClose = (id) => setClosedNotifications((prev) => [...prev, id]);
|
|
31117
31104
|
const { logEvent } = useTrack();
|
|
31118
|
-
const handleNewNotification =
|
|
31105
|
+
const handleNewNotification = useCallback50(
|
|
31119
31106
|
(item) => {
|
|
31120
31107
|
const trackEvent = trackEventFromNotification(item);
|
|
31121
31108
|
logEvent(trackEvent);
|
|
@@ -31308,7 +31295,7 @@ function WithdrawalModal({
|
|
|
31308
31295
|
const [withdrawnAmount, setWithdrawnAmount] = useState69("");
|
|
31309
31296
|
const [quote, setQuote] = useState69();
|
|
31310
31297
|
const { logEvent } = useTrack();
|
|
31311
|
-
const onCloseWrapper =
|
|
31298
|
+
const onCloseWrapper = useCallback51(() => {
|
|
31312
31299
|
const metadata = {
|
|
31313
31300
|
checkoutStep: step,
|
|
31314
31301
|
checkoutId: withdrawalItem?.id,
|
|
@@ -31419,7 +31406,7 @@ import React235 from "react";
|
|
|
31419
31406
|
// src/modals/ProfileDetails/ActivityTraversalContext.tsx
|
|
31420
31407
|
import React223, {
|
|
31421
31408
|
createContext as createContext16,
|
|
31422
|
-
useCallback as
|
|
31409
|
+
useCallback as useCallback52,
|
|
31423
31410
|
useContext as useContext16,
|
|
31424
31411
|
useMemo as useMemo45,
|
|
31425
31412
|
useState as useState70
|
|
@@ -31441,7 +31428,7 @@ var ActivityTraversalProvider = ({
|
|
|
31441
31428
|
const [returnViewPresets, setReturnViewPresets] = useState70(
|
|
31442
31429
|
{}
|
|
31443
31430
|
);
|
|
31444
|
-
const onSelectActivity =
|
|
31431
|
+
const onSelectActivity = useCallback52(
|
|
31445
31432
|
({
|
|
31446
31433
|
checkoutId,
|
|
31447
31434
|
initialPage,
|
|
@@ -31459,7 +31446,7 @@ var ActivityTraversalProvider = ({
|
|
|
31459
31446
|
},
|
|
31460
31447
|
[]
|
|
31461
31448
|
);
|
|
31462
|
-
const resetActivityTraversal =
|
|
31449
|
+
const resetActivityTraversal = useCallback52(() => {
|
|
31463
31450
|
setSelectedPurchaseId(void 0);
|
|
31464
31451
|
setSelectedPurchaseInitView(void 0);
|
|
31465
31452
|
setReturnView(void 0);
|
|
@@ -31489,7 +31476,7 @@ var useActivityTraversal = () => {
|
|
|
31489
31476
|
};
|
|
31490
31477
|
|
|
31491
31478
|
// src/modals/ProfileDetails/ProfileDetails.tsx
|
|
31492
|
-
import React234, { useCallback as
|
|
31479
|
+
import React234, { useCallback as useCallback54, useState as useState73 } from "react";
|
|
31493
31480
|
|
|
31494
31481
|
// src/hooks/useCheckoutModalTitle.ts
|
|
31495
31482
|
function useCheckoutModalTitle(depositAddress, defaultTitle) {
|
|
@@ -31877,7 +31864,7 @@ var HomeTokenBalanceDisplayRowSkeleton = () => {
|
|
|
31877
31864
|
|
|
31878
31865
|
// src/modals/ProfileDetails/FunProfileViews/Home/ProfileTitleSection.tsx
|
|
31879
31866
|
import React231 from "react";
|
|
31880
|
-
import { useCallback as
|
|
31867
|
+
import { useCallback as useCallback53, useState as useState71 } from "react";
|
|
31881
31868
|
|
|
31882
31869
|
// src/components/Icons/LogoutIcon.tsx
|
|
31883
31870
|
import React229 from "react";
|
|
@@ -31944,7 +31931,7 @@ var ProfileTitleSection = ({
|
|
|
31944
31931
|
onClose
|
|
31945
31932
|
}) => {
|
|
31946
31933
|
const [isDisconnectExpanded, setIsDisconnectExpanded] = useState71(false);
|
|
31947
|
-
const collapseDisconnect =
|
|
31934
|
+
const collapseDisconnect = useCallback53(
|
|
31948
31935
|
() => setIsDisconnectExpanded(false),
|
|
31949
31936
|
[]
|
|
31950
31937
|
);
|
|
@@ -32300,13 +32287,13 @@ function ProfileDetails({ onClose, defaultTab }) {
|
|
|
32300
32287
|
const [singleActivityPage, setSingleActivityPage] = useState73(
|
|
32301
32288
|
selectedPurchaseInitView ?? "detail" /* DETAIL */
|
|
32302
32289
|
);
|
|
32303
|
-
const resetView =
|
|
32290
|
+
const resetView = useCallback54(() => {
|
|
32304
32291
|
setView(returnView ?? 0 /* HOME */);
|
|
32305
32292
|
setSelectedHomeTab("checkouts" /* CHECKOUTS */);
|
|
32306
32293
|
resetActivityTraversal();
|
|
32307
32294
|
}, [resetActivityTraversal, returnView]);
|
|
32308
32295
|
const { animation, animate } = useAnimatedNavigation(void 0);
|
|
32309
|
-
const onSelectActivityWrapper =
|
|
32296
|
+
const onSelectActivityWrapper = useCallback54(
|
|
32310
32297
|
(activity) => {
|
|
32311
32298
|
onSelectActivity({
|
|
32312
32299
|
...activity,
|
|
@@ -32343,7 +32330,7 @@ function ProfileDetails({ onClose, defaultTab }) {
|
|
|
32343
32330
|
const isHelpPage = singleActivityPage === "help" /* HELP */;
|
|
32344
32331
|
const isCheckoutDetailView = isSingleActivityView && singleActivityPage === "detail" /* DETAIL */;
|
|
32345
32332
|
const withDivider = isSingleActivityView ? isHelpPage ? "scroll" : "always" : void 0;
|
|
32346
|
-
const handleHelp =
|
|
32333
|
+
const handleHelp = useCallback54(() => {
|
|
32347
32334
|
animate(() => setSingleActivityPage("help" /* HELP */));
|
|
32348
32335
|
}, [animate]);
|
|
32349
32336
|
const { onScroll, topbar, withTopDivider } = useCustomStatusAnimationAboveTopbar({
|
|
@@ -32560,7 +32547,7 @@ function ChainLineItem({
|
|
|
32560
32547
|
!hideChainName ? /* @__PURE__ */ React239.createElement("div", null, chainItem.name) : null
|
|
32561
32548
|
);
|
|
32562
32549
|
}
|
|
32563
|
-
var
|
|
32550
|
+
var Chain = ({
|
|
32564
32551
|
chainId,
|
|
32565
32552
|
currentChainId,
|
|
32566
32553
|
switchChain,
|
|
@@ -32622,7 +32609,7 @@ var Chain2 = ({
|
|
|
32622
32609
|
))
|
|
32623
32610
|
), mobile && idx < funkitConnectChains.length - 1 && /* @__PURE__ */ React239.createElement(Box, { background: "generalBorderDim", height: "1", marginX: "8" }));
|
|
32624
32611
|
};
|
|
32625
|
-
var Chain_default =
|
|
32612
|
+
var Chain_default = Chain;
|
|
32626
32613
|
|
|
32627
32614
|
// src/modals/ChainModal/ChainModal.css.ts
|
|
32628
32615
|
var DesktopScrollClassName = "_1d2b1vf0";
|
|
@@ -32981,16 +32968,16 @@ function ConnectModal({
|
|
|
32981
32968
|
function useModalStateValue() {
|
|
32982
32969
|
const [isModalOpen, setModalOpen] = useState74(false);
|
|
32983
32970
|
return {
|
|
32984
|
-
closeModal:
|
|
32971
|
+
closeModal: useCallback55(() => setModalOpen(false), []),
|
|
32985
32972
|
isModalOpen,
|
|
32986
|
-
openModal:
|
|
32973
|
+
openModal: useCallback55(() => setModalOpen(true), [])
|
|
32987
32974
|
};
|
|
32988
32975
|
}
|
|
32989
32976
|
function useModalStateValueWithProp() {
|
|
32990
32977
|
const [isModalOpen, setModalOpen] = useState74(false);
|
|
32991
32978
|
const [prop, setProp] = useState74(null);
|
|
32992
32979
|
return {
|
|
32993
|
-
closeModal:
|
|
32980
|
+
closeModal: useCallback55(() => {
|
|
32994
32981
|
setTimeout(
|
|
32995
32982
|
() => {
|
|
32996
32983
|
setProp(null);
|
|
@@ -33001,7 +32988,7 @@ function useModalStateValueWithProp() {
|
|
|
33001
32988
|
}, []),
|
|
33002
32989
|
isModalOpen,
|
|
33003
32990
|
prop,
|
|
33004
|
-
openModal:
|
|
32991
|
+
openModal: useCallback55((prop2) => {
|
|
33005
32992
|
if (prop2 != null) {
|
|
33006
32993
|
setProp(prop2);
|
|
33007
32994
|
}
|
|
@@ -33489,7 +33476,7 @@ var FunkitWeb2Provider = ({
|
|
|
33489
33476
|
const [isLoggingIn, setIsLoggingIn] = useState75(false);
|
|
33490
33477
|
const [loginErrorMessage, setLoginErrorMessage] = useState75("");
|
|
33491
33478
|
const [loggedInUser, setLoggedInUser] = useState75(null);
|
|
33492
|
-
const setLoginMethodAndCache =
|
|
33479
|
+
const setLoginMethodAndCache = useCallback56(
|
|
33493
33480
|
(method) => {
|
|
33494
33481
|
try {
|
|
33495
33482
|
setLoginMethod(method);
|
|
@@ -33513,7 +33500,7 @@ var FunkitWeb2Provider = ({
|
|
|
33513
33500
|
setPrivyIframeUrl(newPrivy.embeddedWallet.getURL());
|
|
33514
33501
|
setPrivy(newPrivy);
|
|
33515
33502
|
}, [chains]);
|
|
33516
|
-
const handleIframeMessage =
|
|
33503
|
+
const handleIframeMessage = useCallback56(
|
|
33517
33504
|
(e) => {
|
|
33518
33505
|
if (e.origin === PRIVY_AUTH_URL && privy) {
|
|
33519
33506
|
const iframeHandler = privy.embeddedWallet.getMessageHandler();
|
|
@@ -33522,7 +33509,7 @@ var FunkitWeb2Provider = ({
|
|
|
33522
33509
|
},
|
|
33523
33510
|
[privy]
|
|
33524
33511
|
);
|
|
33525
|
-
const handleFunkitWeb2Logout =
|
|
33512
|
+
const handleFunkitWeb2Logout = useCallback56(async () => {
|
|
33526
33513
|
if (privy) {
|
|
33527
33514
|
logger.log("handleFunkitWeb2Logout_disconnecting_connectors", {
|
|
33528
33515
|
numConnectors: connectors.length
|
|
@@ -33535,7 +33522,7 @@ var FunkitWeb2Provider = ({
|
|
|
33535
33522
|
setLoginMethodAndCache(null);
|
|
33536
33523
|
}
|
|
33537
33524
|
}, [connectors, disconnectAsync, privy, setLoginMethodAndCache]);
|
|
33538
|
-
const handleFreshPrivyLogin =
|
|
33525
|
+
const handleFreshPrivyLogin = useCallback56(
|
|
33539
33526
|
async ({
|
|
33540
33527
|
firstLoginCode,
|
|
33541
33528
|
secondLoginCode,
|
|
@@ -33587,7 +33574,7 @@ var FunkitWeb2Provider = ({
|
|
|
33587
33574
|
},
|
|
33588
33575
|
[handleFunkitWeb2Logout, privy]
|
|
33589
33576
|
);
|
|
33590
|
-
const getPrivyUserEmbeddedWallet =
|
|
33577
|
+
const getPrivyUserEmbeddedWallet = useCallback56(
|
|
33591
33578
|
async (inputPrivyUser) => {
|
|
33592
33579
|
try {
|
|
33593
33580
|
if (!privy || !inputPrivyUser) {
|
|
@@ -33606,7 +33593,7 @@ var FunkitWeb2Provider = ({
|
|
|
33606
33593
|
},
|
|
33607
33594
|
[privy]
|
|
33608
33595
|
);
|
|
33609
|
-
const getExistingPrivySession =
|
|
33596
|
+
const getExistingPrivySession = useCallback56(async () => {
|
|
33610
33597
|
try {
|
|
33611
33598
|
if (!privy) {
|
|
33612
33599
|
throw new Error(ERROR_MESSAGES2.PRIVY_NOT_INITIALIZED);
|
|
@@ -33617,7 +33604,7 @@ var FunkitWeb2Provider = ({
|
|
|
33617
33604
|
return null;
|
|
33618
33605
|
}
|
|
33619
33606
|
}, [privy]);
|
|
33620
|
-
const handleFunkitWeb2Login =
|
|
33607
|
+
const handleFunkitWeb2Login = useCallback56(
|
|
33621
33608
|
async ({
|
|
33622
33609
|
chainId,
|
|
33623
33610
|
firstLoginCode,
|
|
@@ -33694,9 +33681,9 @@ var FunkitWeb2Provider = ({
|
|
|
33694
33681
|
wallets
|
|
33695
33682
|
]
|
|
33696
33683
|
);
|
|
33697
|
-
const clearLoginError =
|
|
33684
|
+
const clearLoginError = useCallback56(() => setLoginErrorMessage(""), []);
|
|
33698
33685
|
const initChainId = useInitialChainId();
|
|
33699
|
-
const handleAutoLoginFlows =
|
|
33686
|
+
const handleAutoLoginFlows = useCallback56(async () => {
|
|
33700
33687
|
if (isNotNullish11(loginMethod) && isNotNullish11(initChainId)) {
|
|
33701
33688
|
const queryParams = new URLSearchParams(window.location.search);
|
|
33702
33689
|
const oauthCode = queryParams.get(PRIVY_OAUTH_CODE_URL_PARAM);
|
|
@@ -33740,7 +33727,7 @@ var FunkitWeb2Provider = ({
|
|
|
33740
33727
|
initChainId
|
|
33741
33728
|
// Do not include `handleAutoLoginFlows`,
|
|
33742
33729
|
]);
|
|
33743
|
-
const handleOauthRedirect =
|
|
33730
|
+
const handleOauthRedirect = useCallback56(
|
|
33744
33731
|
async (authProvider) => {
|
|
33745
33732
|
if (!privy) {
|
|
33746
33733
|
throw new Error(ERROR_MESSAGES2.PRIVY_NOT_INITIALIZED);
|
|
@@ -33766,7 +33753,7 @@ var FunkitWeb2Provider = ({
|
|
|
33766
33753
|
[privy, setLoginMethodAndCache]
|
|
33767
33754
|
);
|
|
33768
33755
|
const [isSendingOtpEmail, setIsSendingOtpEmail] = useState75(false);
|
|
33769
|
-
const handleSendOtpEmail =
|
|
33756
|
+
const handleSendOtpEmail = useCallback56(
|
|
33770
33757
|
async (emailAddress) => {
|
|
33771
33758
|
try {
|
|
33772
33759
|
if (!privy) {
|
|
@@ -33794,7 +33781,7 @@ var FunkitWeb2Provider = ({
|
|
|
33794
33781
|
[privy, setLoginMethodAndCache]
|
|
33795
33782
|
);
|
|
33796
33783
|
const [isGeneratingFcUri, setIsGeneratingFcUri] = useState75(false);
|
|
33797
|
-
const handleGenerateFcUri =
|
|
33784
|
+
const handleGenerateFcUri = useCallback56(async () => {
|
|
33798
33785
|
try {
|
|
33799
33786
|
if (!privy) {
|
|
33800
33787
|
throw new Error(ERROR_MESSAGES2.PRIVY_NOT_INITIALIZED);
|
|
@@ -33821,7 +33808,7 @@ var FunkitWeb2Provider = ({
|
|
|
33821
33808
|
setIsGeneratingFcUri(false);
|
|
33822
33809
|
}
|
|
33823
33810
|
}, [privy]);
|
|
33824
|
-
const getFcConnectionStatus =
|
|
33811
|
+
const getFcConnectionStatus = useCallback56(
|
|
33825
33812
|
async (channelToken) => {
|
|
33826
33813
|
try {
|
|
33827
33814
|
if (!privy) {
|
|
@@ -33968,7 +33955,7 @@ import React247 from "react";
|
|
|
33968
33955
|
import { useAccount as useAccount12, useBalance, useConfig as useConfig8 } from "wagmi";
|
|
33969
33956
|
|
|
33970
33957
|
// src/hooks/useIsMounted.ts
|
|
33971
|
-
import { useCallback as
|
|
33958
|
+
import { useCallback as useCallback57, useEffect as useEffect61, useState as useState77 } from "react";
|
|
33972
33959
|
function useIsMounted() {
|
|
33973
33960
|
const [isMounted, setIsMounted] = useState77(false);
|
|
33974
33961
|
useEffect61(() => {
|
|
@@ -33977,7 +33964,7 @@ function useIsMounted() {
|
|
|
33977
33964
|
setIsMounted(false);
|
|
33978
33965
|
};
|
|
33979
33966
|
}, []);
|
|
33980
|
-
return
|
|
33967
|
+
return useCallback57(() => isMounted, [isMounted]);
|
|
33981
33968
|
}
|
|
33982
33969
|
|
|
33983
33970
|
// src/components/ConnectButton/abbreviateETHBalance.ts
|
|
@@ -34838,11 +34825,11 @@ function FunkitStatsigProvider({
|
|
|
34838
34825
|
|
|
34839
34826
|
// src/providers/usePreloadImages.ts
|
|
34840
34827
|
import { isNotNullish as isNotNullish12 } from "@funkit/utils";
|
|
34841
|
-
import { useCallback as
|
|
34828
|
+
import { useCallback as useCallback58, useEffect as useEffect63 } from "react";
|
|
34842
34829
|
function usePreloadImages() {
|
|
34843
34830
|
const funkitConnectChains = useFunkitConnectChains();
|
|
34844
34831
|
const walletConnectors = useWalletConnectors();
|
|
34845
|
-
const preloadImages =
|
|
34832
|
+
const preloadImages = useCallback58(() => {
|
|
34846
34833
|
loadImages(
|
|
34847
34834
|
...walletConnectors.map((wallet) => wallet.iconUrl),
|
|
34848
34835
|
...funkitConnectChains.map((chain) => chain.iconUrl).filter(isNotNullish12)
|