@funkit/connect 6.14.19 → 6.14.21
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 +25 -0
- package/dist/__generated__/default_configs.d.ts +1 -6
- package/dist/hooks/queries/useRecentDirectExecutions.d.ts +1 -1
- package/dist/index.css +5 -5
- package/dist/index.js +162 -145
- package/dist/utils/flags/config.d.ts +2 -6
- 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 +71 -71
- 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 +6 -6
package/dist/index.js
CHANGED
|
@@ -416,7 +416,7 @@ function Avatar({ address, imageUrl, loading, size }) {
|
|
|
416
416
|
}
|
|
417
417
|
|
|
418
418
|
// src/components/ConnectButton/ConnectButton.tsx
|
|
419
|
-
import React245, { useEffect as
|
|
419
|
+
import React245, { useEffect as useEffect60, useState as useState76 } from "react";
|
|
420
420
|
|
|
421
421
|
// src/css/touchableStyles.css.ts
|
|
422
422
|
var active = { shrink: "_7rkubb8", shrinkSm: "_7rkubb9" };
|
|
@@ -524,7 +524,7 @@ import React242, {
|
|
|
524
524
|
createContext as createContext17,
|
|
525
525
|
useCallback as useCallback56,
|
|
526
526
|
useContext as useContext17,
|
|
527
|
-
useEffect as
|
|
527
|
+
useEffect as useEffect58,
|
|
528
528
|
useMemo as useMemo48,
|
|
529
529
|
useState as useState73
|
|
530
530
|
} from "react";
|
|
@@ -1092,7 +1092,7 @@ import React241, {
|
|
|
1092
1092
|
createContext as createContext16,
|
|
1093
1093
|
useCallback as useCallback55,
|
|
1094
1094
|
useContext as useContext16,
|
|
1095
|
-
useEffect as
|
|
1095
|
+
useEffect as useEffect57,
|
|
1096
1096
|
useMemo as useMemo47,
|
|
1097
1097
|
useState as useState72
|
|
1098
1098
|
} from "react";
|
|
@@ -1471,7 +1471,7 @@ function setFunkitConnectVersion({ version }) {
|
|
|
1471
1471
|
localStorage.setItem(storageKey, version);
|
|
1472
1472
|
}
|
|
1473
1473
|
function getCurrentSdkVersion() {
|
|
1474
|
-
return "6.14.
|
|
1474
|
+
return "6.14.21";
|
|
1475
1475
|
}
|
|
1476
1476
|
function useFingerprint() {
|
|
1477
1477
|
const fingerprint = useCallback2(() => {
|
|
@@ -2393,6 +2393,7 @@ import {
|
|
|
2393
2393
|
HYPERDASH_API_KEY,
|
|
2394
2394
|
HYPERSWAP_API_KEY,
|
|
2395
2395
|
KATANA_API_KEY,
|
|
2396
|
+
MONAD_API_KEY,
|
|
2396
2397
|
MONKEY_TILT_API_KEY,
|
|
2397
2398
|
OSTIUM_API_KEY,
|
|
2398
2399
|
POLYMARKET_API_KEY,
|
|
@@ -2514,10 +2515,6 @@ var disableFlagForCountries = (countries) => ({
|
|
|
2514
2515
|
});
|
|
2515
2516
|
var US_COUNTRY_CODES = ["US"];
|
|
2516
2517
|
var flagConfig = {
|
|
2517
|
-
[FlagKey.SupportedExchangesV2]: {
|
|
2518
|
-
type: "string",
|
|
2519
|
-
default_value: [].join(",")
|
|
2520
|
-
},
|
|
2521
2518
|
[FlagKey.BlockedCountries]: {
|
|
2522
2519
|
type: "string",
|
|
2523
2520
|
// Full list of blocked countries
|
|
@@ -2614,7 +2611,8 @@ var flagConfig = {
|
|
|
2614
2611
|
MONKEY_TILT_API_KEY,
|
|
2615
2612
|
VENTUALS_API_KEY,
|
|
2616
2613
|
ETHEREAL_API_KEY,
|
|
2617
|
-
AVANTIS_API_KEY
|
|
2614
|
+
AVANTIS_API_KEY,
|
|
2615
|
+
MONAD_API_KEY
|
|
2618
2616
|
]
|
|
2619
2617
|
}
|
|
2620
2618
|
],
|
|
@@ -3003,7 +3001,9 @@ var flagConfig = {
|
|
|
3003
3001
|
POLYMARKET_API_KEY,
|
|
3004
3002
|
VENTUALS_API_KEY,
|
|
3005
3003
|
AVANTIS_API_KEY,
|
|
3006
|
-
HYENA_API_KEY
|
|
3004
|
+
HYENA_API_KEY,
|
|
3005
|
+
ETHEREAL_API_KEY,
|
|
3006
|
+
MONAD_API_KEY
|
|
3007
3007
|
]
|
|
3008
3008
|
}
|
|
3009
3009
|
],
|
|
@@ -6891,6 +6891,7 @@ var ASSET_LOGO_SRCS = {
|
|
|
6891
6891
|
"USD\u20AE0": "https://sdk-cdn.fun.xyz/images/usdt0.svg",
|
|
6892
6892
|
USDT0: "https://sdk-cdn.fun.xyz/images/usdt0.svg",
|
|
6893
6893
|
USDS: "https://sdk-cdn.fun.xyz/images/usds.svg",
|
|
6894
|
+
USDH: "https://sdk-cdn.fun.xyz/images/usdh.svg",
|
|
6894
6895
|
VRTX: "https://sdk-cdn.fun.xyz/images/vrtx.svg",
|
|
6895
6896
|
WBTC: "https://sdk-cdn.fun.xyz/images/wbtc.svg",
|
|
6896
6897
|
WEETH: "https://sdk-cdn.fun.xyz/images/weeth.png",
|
|
@@ -11717,7 +11718,9 @@ var default_configs_default = {
|
|
|
11717
11718
|
addressblacklist: {
|
|
11718
11719
|
value: [
|
|
11719
11720
|
"0x7b97b46D35a28B561d47F50CFB9a2735E506e59d",
|
|
11720
|
-
"0x409ad08cc6CA757f69Fb80250a424B9eFeB99807"
|
|
11721
|
+
"0x409ad08cc6CA757f69Fb80250a424B9eFeB99807",
|
|
11722
|
+
"0x02A86f51aA7B8b1c17c30364748d5Ae4a0727E23",
|
|
11723
|
+
"0x64131b60502C01362639CC5cfE1a1efB6Be1165A"
|
|
11721
11724
|
]
|
|
11722
11725
|
},
|
|
11723
11726
|
array_of_strings: {
|
|
@@ -11751,11 +11754,6 @@ var default_configs_default = {
|
|
|
11751
11754
|
},
|
|
11752
11755
|
supportedexchangesv2: {
|
|
11753
11756
|
value: []
|
|
11754
|
-
},
|
|
11755
|
-
"test-supported-tokens": {
|
|
11756
|
-
value: {
|
|
11757
|
-
supportedTokens: ["USDC", "USDT"]
|
|
11758
|
-
}
|
|
11759
11757
|
}
|
|
11760
11758
|
};
|
|
11761
11759
|
|
|
@@ -12069,13 +12067,19 @@ function transformBluvoBalancesToAssetHoldings(balances, preferredChainId) {
|
|
|
12069
12067
|
preferredChainId
|
|
12070
12068
|
});
|
|
12071
12069
|
for (const balance of balances) {
|
|
12072
|
-
const {
|
|
12070
|
+
const { amount, amountInFiat, networks } = balance;
|
|
12073
12071
|
const preferredNetwork = getPreferredNetwork(networks, preferredChainId);
|
|
12074
|
-
|
|
12072
|
+
const asset = preferredNetwork?.assetName;
|
|
12073
|
+
const tokenAddress = preferredNetwork?.contractAddress;
|
|
12074
|
+
const chainId = preferredNetwork?.chainId;
|
|
12075
|
+
if (!chainId || !tokenAddress || !asset) {
|
|
12076
|
+
logger.warn(`${LOG_PREFIX}:invalidNetwork`, {
|
|
12077
|
+
message: `Invalid network for checkout ${balance.asset}`,
|
|
12078
|
+
balance,
|
|
12079
|
+
preferredNetwork
|
|
12080
|
+
});
|
|
12075
12081
|
continue;
|
|
12076
12082
|
}
|
|
12077
|
-
const tokenAddress = preferredNetwork.contractAddress || preferredNetwork.tokenAddress;
|
|
12078
|
-
const chainId = preferredNetwork.chainId;
|
|
12079
12083
|
const chainInfo = FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO7[chainId];
|
|
12080
12084
|
if (!chainInfo?.isCheckoutSupported || !chainInfo?.isMainnet) {
|
|
12081
12085
|
logger.warn(`${LOG_PREFIX}:unsupportedAsset`, {
|
|
@@ -16366,7 +16370,7 @@ function useAnimatedNavigation(callback) {
|
|
|
16366
16370
|
|
|
16367
16371
|
// src/components/FunCheckoutModalHeightAnimationWrapper/FunCheckoutModalHeightAnimationWrapper.tsx
|
|
16368
16372
|
import { motion as motion11 } from "motion/react";
|
|
16369
|
-
import React195, { useEffect as
|
|
16373
|
+
import React195, { useEffect as useEffect48, useRef as useRef26, useState as useState60 } from "react";
|
|
16370
16374
|
|
|
16371
16375
|
// src/modals/CheckoutModal/stepTransition.ts
|
|
16372
16376
|
import {
|
|
@@ -18455,7 +18459,7 @@ var useRecentDirectExecutions = ({
|
|
|
18455
18459
|
});
|
|
18456
18460
|
const data = useMemo23(() => {
|
|
18457
18461
|
if (!directExecutions) {
|
|
18458
|
-
return
|
|
18462
|
+
return directExecutions;
|
|
18459
18463
|
}
|
|
18460
18464
|
const defaultTimestampCutoff = Date.now() - DEFAULT_NOTIF_CUTOFF;
|
|
18461
18465
|
return mergeMultiStepDirectExecutions(
|
|
@@ -18545,7 +18549,7 @@ var BrokerageSuccess = ({
|
|
|
18545
18549
|
}) => {
|
|
18546
18550
|
const [startTime] = useState33(() => Date.now());
|
|
18547
18551
|
const filterFunc = useMemo24(() => {
|
|
18548
|
-
return (execution) => execution.createdTimeMs > startTime && execution.listenerInfo?.status
|
|
18552
|
+
return (execution) => execution.createdTimeMs > startTime && execution.listenerInfo?.status === RelayExecutionStatus3.SUCCESS;
|
|
18549
18553
|
}, [startTime]);
|
|
18550
18554
|
const { data: directExecutions } = useRecentDirectExecutions({
|
|
18551
18555
|
isVisible: true,
|
|
@@ -18589,10 +18593,7 @@ var BrokerageSuccess = ({
|
|
|
18589
18593
|
);
|
|
18590
18594
|
let timeoutId = null;
|
|
18591
18595
|
const status = finalDirectExecution?.listenerInfo?.status ?? RelayExecutionStatus3.PENDING;
|
|
18592
|
-
if (status === RelayExecutionStatus3.
|
|
18593
|
-
setCheckoutProgress(checkoutItem.id, { step: 1 });
|
|
18594
|
-
setDirectExecution(finalDirectExecution);
|
|
18595
|
-
} else if (status === RelayExecutionStatus3.SUCCESS) {
|
|
18596
|
+
if (status === RelayExecutionStatus3.SUCCESS) {
|
|
18596
18597
|
finalDirectExecution = overrideStatus(
|
|
18597
18598
|
finalDirectExecution,
|
|
18598
18599
|
RelayExecutionStatus3.WAITING
|
|
@@ -18709,7 +18710,6 @@ function BrokerageSuccessModal({
|
|
|
18709
18710
|
// src/modals/CheckoutModal/Brokerage/BrokerageTwoFA.tsx
|
|
18710
18711
|
import { ClientError as ClientError3, FlagKey as FlagKey19 } from "@funkit/utils";
|
|
18711
18712
|
import React118, {
|
|
18712
|
-
useEffect as useEffect33,
|
|
18713
18713
|
useState as useState34
|
|
18714
18714
|
} from "react";
|
|
18715
18715
|
import { createPortal as createPortal7 } from "react-dom";
|
|
@@ -18803,7 +18803,6 @@ function BrokerageTwoFA({
|
|
|
18803
18803
|
const [kycRequired, setKycRequired] = useState34(false);
|
|
18804
18804
|
const exchange = bluvoClient?.context?.exchange;
|
|
18805
18805
|
const brokerName = capitalize2(exchange || "Brokerage");
|
|
18806
|
-
const bluvoWithdrawalComplete = bluvoClient?.isWithdrawalComplete;
|
|
18807
18806
|
const executionStatus = /* @__PURE__ */ (() => {
|
|
18808
18807
|
return "mfaRequired" /* mfaRequired */;
|
|
18809
18808
|
})();
|
|
@@ -18850,29 +18849,6 @@ function BrokerageTwoFA({
|
|
|
18850
18849
|
kycRequired
|
|
18851
18850
|
]);
|
|
18852
18851
|
const { logEvent } = useTrack();
|
|
18853
|
-
const logToStatsigEffect = useEffectEvent((eoaAddress) => {
|
|
18854
|
-
logEvent({
|
|
18855
|
-
eventName: "fc::success::bluvo_withdrawal_completed" /* BLUVO_WITHDRAWAL_COMPLETED */,
|
|
18856
|
-
metadata: {
|
|
18857
|
-
eoaAddress,
|
|
18858
|
-
exchangeType,
|
|
18859
|
-
quote: bluvoClient.context?.quote
|
|
18860
|
-
}
|
|
18861
|
-
});
|
|
18862
|
-
});
|
|
18863
|
-
useEffect33(() => {
|
|
18864
|
-
if (bluvoWithdrawalComplete) {
|
|
18865
|
-
const payload = {
|
|
18866
|
-
depositAddress: checkoutItem?.depositAddress
|
|
18867
|
-
};
|
|
18868
|
-
logger.log(`${logPrefix2}withdrawalComplete`, {
|
|
18869
|
-
bluvoWithdrawalComplete,
|
|
18870
|
-
payload
|
|
18871
|
-
});
|
|
18872
|
-
logToStatsigEffect(payload.depositAddress);
|
|
18873
|
-
onNext(payload);
|
|
18874
|
-
}
|
|
18875
|
-
}, [bluvoWithdrawalComplete, onNext, logToStatsigEffect]);
|
|
18876
18852
|
const { checkoutItem } = useCheckoutContext();
|
|
18877
18853
|
const bottomSectionRef = useBottomSectionRef();
|
|
18878
18854
|
const enableFrogProxyServer = useFlag(FlagKey19.EnableFrogProxyServer);
|
|
@@ -18944,8 +18920,23 @@ function BrokerageTwoFA({
|
|
|
18944
18920
|
logger.info(`${logPrefix2}handleEnterTwoFactor:submit2FAResponseData`, {
|
|
18945
18921
|
data
|
|
18946
18922
|
});
|
|
18923
|
+
const depositAddress = checkoutItem?.depositAddress;
|
|
18924
|
+
const metadata = {
|
|
18925
|
+
data,
|
|
18926
|
+
exchangeType,
|
|
18927
|
+
quote: bluvoClient.context?.quote,
|
|
18928
|
+
quoteId,
|
|
18929
|
+
idempotencyKey,
|
|
18930
|
+
walletId,
|
|
18931
|
+
depositAddress
|
|
18932
|
+
};
|
|
18933
|
+
logger.log(`${logPrefix2}withdrawalComplete`, metadata);
|
|
18934
|
+
logEvent({
|
|
18935
|
+
eventName: "fc::success::bluvo_withdrawal_completed" /* BLUVO_WITHDRAWAL_COMPLETED */,
|
|
18936
|
+
metadata
|
|
18937
|
+
});
|
|
18947
18938
|
onNext({
|
|
18948
|
-
depositAddress
|
|
18939
|
+
depositAddress
|
|
18949
18940
|
});
|
|
18950
18941
|
} catch (error) {
|
|
18951
18942
|
if (isBluvoWithdrawalError(error)) {
|
|
@@ -19245,7 +19236,7 @@ var TwoFactorInput = ({
|
|
|
19245
19236
|
};
|
|
19246
19237
|
|
|
19247
19238
|
// src/modals/CheckoutModal/Brokerage/ConnectExchange.tsx
|
|
19248
|
-
import React122, { useCallback as useCallback24, useEffect as
|
|
19239
|
+
import React122, { useCallback as useCallback24, useEffect as useEffect33, useState as useState35 } from "react";
|
|
19249
19240
|
import { createPortal as createPortal8 } from "react-dom";
|
|
19250
19241
|
|
|
19251
19242
|
// src/components/FunMessage/FunMessage.tsx
|
|
@@ -19370,7 +19361,7 @@ function ConnectExchange({
|
|
|
19370
19361
|
setAuthError(errorMessage);
|
|
19371
19362
|
setIsLoadingMeshModal(false);
|
|
19372
19363
|
});
|
|
19373
|
-
|
|
19364
|
+
useEffect33(() => {
|
|
19374
19365
|
if (isConnected) {
|
|
19375
19366
|
navigateToBrokerage();
|
|
19376
19367
|
}
|
|
@@ -19610,11 +19601,11 @@ import React126, { useCallback as useCallback27, useMemo as useMemo25, useState
|
|
|
19610
19601
|
import { createPortal as createPortal10 } from "react-dom";
|
|
19611
19602
|
|
|
19612
19603
|
// src/hooks/useFunListeners.ts
|
|
19613
|
-
import { useCallback as useCallback26, useEffect as
|
|
19604
|
+
import { useCallback as useCallback26, useEffect as useEffect34, useRef as useRef18 } from "react";
|
|
19614
19605
|
function useCheckoutHistoryListener(activate = true, singleDepositAddr) {
|
|
19615
19606
|
const activeIntervalRef = useRef18();
|
|
19616
19607
|
const { startCheckoutHistoryListener, stopCheckoutHistoryListener } = useCheckoutHistoryContext();
|
|
19617
|
-
|
|
19608
|
+
useEffect34(() => {
|
|
19618
19609
|
if (activate) {
|
|
19619
19610
|
const createdIntervalId = startCheckoutHistoryListener(
|
|
19620
19611
|
/* singleDepositAddr */
|
|
@@ -19643,7 +19634,7 @@ function useSIWFarcasterListener(channelToken) {
|
|
|
19643
19634
|
const stopStatusListener = useCallback26(() => {
|
|
19644
19635
|
clearInterval(intervalRef.current);
|
|
19645
19636
|
}, []);
|
|
19646
|
-
|
|
19637
|
+
useEffect34(() => {
|
|
19647
19638
|
startStatusListener();
|
|
19648
19639
|
return () => stopStatusListener();
|
|
19649
19640
|
}, []);
|
|
@@ -19673,7 +19664,7 @@ function useSIWFarcasterListener(channelToken) {
|
|
|
19673
19664
|
initalChainid,
|
|
19674
19665
|
stopStatusListener
|
|
19675
19666
|
]);
|
|
19676
|
-
|
|
19667
|
+
useEffect34(() => {
|
|
19677
19668
|
check();
|
|
19678
19669
|
}, [refreshSymbol]);
|
|
19679
19670
|
}
|
|
@@ -19807,7 +19798,7 @@ var CheckoutAlert = ({ state, refundState, onHelp: onHelp2 }) => {
|
|
|
19807
19798
|
|
|
19808
19799
|
// src/components/FunCheckoutHistory/FunCheckoutHistoryHelp.tsx
|
|
19809
19800
|
import { sendSupportMessage } from "@funkit/api-base";
|
|
19810
|
-
import React129, { useEffect as
|
|
19801
|
+
import React129, { useEffect as useEffect35, useMemo as useMemo26, useRef as useRef19, useState as useState38 } from "react";
|
|
19811
19802
|
import { createPortal as createPortal11 } from "react-dom";
|
|
19812
19803
|
|
|
19813
19804
|
// src/components/FunInput/FunTextAreaInput.tsx
|
|
@@ -19967,7 +19958,7 @@ function FunCheckoutHistoryHelp({
|
|
|
19967
19958
|
0 /* INPUT */
|
|
19968
19959
|
);
|
|
19969
19960
|
const wrapperRef = useRef19(null);
|
|
19970
|
-
|
|
19961
|
+
useEffect35(() => wrapperRef.current?.scrollIntoView(), []);
|
|
19971
19962
|
const handleShowErrorMessage = (message, timeMs = FIVE_SECONDS_MS) => {
|
|
19972
19963
|
setErrorMessage(message);
|
|
19973
19964
|
if (timeMs !== void 0) {
|
|
@@ -20294,11 +20285,11 @@ function CheckoutHelp({
|
|
|
20294
20285
|
}
|
|
20295
20286
|
|
|
20296
20287
|
// src/modals/CheckoutModal/ConfirmationStep/ConfirmationStep.tsx
|
|
20297
|
-
import React146, { useEffect as
|
|
20288
|
+
import React146, { useEffect as useEffect41, useMemo as useMemo32, useState as useState47 } from "react";
|
|
20298
20289
|
import { createPortal as createPortal13 } from "react-dom";
|
|
20299
20290
|
|
|
20300
20291
|
// src/providers/UserPresenceContext.tsx
|
|
20301
|
-
import React133, { useEffect as
|
|
20292
|
+
import React133, { useEffect as useEffect36 } from "react";
|
|
20302
20293
|
import {
|
|
20303
20294
|
createContext as createContext14,
|
|
20304
20295
|
useContext as useContext14,
|
|
@@ -20310,7 +20301,7 @@ var UserPresenceContext = createContext14({
|
|
|
20310
20301
|
});
|
|
20311
20302
|
var UserPresenceProvider = ({ children }) => {
|
|
20312
20303
|
const [isAway, setIsAway] = useState39(false);
|
|
20313
|
-
|
|
20304
|
+
useEffect36(() => {
|
|
20314
20305
|
let timeoutId;
|
|
20315
20306
|
const handleVisibilityChange = () => {
|
|
20316
20307
|
if (document.visibilityState === "visible") {
|
|
@@ -20341,13 +20332,13 @@ import { FlagKey as FlagKey20 } from "@funkit/utils";
|
|
|
20341
20332
|
import React134, { useState as useState40 } from "react";
|
|
20342
20333
|
|
|
20343
20334
|
// src/hooks/useInterval.ts
|
|
20344
|
-
import { useEffect as
|
|
20335
|
+
import { useEffect as useEffect37, useRef as useRef20 } from "react";
|
|
20345
20336
|
function useInterval(callback, delay) {
|
|
20346
20337
|
const savedCallback = useRef20(callback);
|
|
20347
20338
|
useIsomorphicLayoutEffect(() => {
|
|
20348
20339
|
savedCallback.current = callback;
|
|
20349
20340
|
}, [callback]);
|
|
20350
|
-
|
|
20341
|
+
useEffect37(() => {
|
|
20351
20342
|
const id = setInterval(() => {
|
|
20352
20343
|
savedCallback.current();
|
|
20353
20344
|
}, delay);
|
|
@@ -20920,7 +20911,7 @@ function KatanaBridgeAlert() {
|
|
|
20920
20911
|
import { useState as useState42 } from "react";
|
|
20921
20912
|
|
|
20922
20913
|
// src/modals/CheckoutModal/useSourceAssetConfirm.tsx
|
|
20923
|
-
import { useEffect as
|
|
20914
|
+
import { useEffect as useEffect38, useState as useState41 } from "react";
|
|
20924
20915
|
|
|
20925
20916
|
// src/hooks/useCheckoutAccountBalanceTransfer.ts
|
|
20926
20917
|
import { useCallback as useCallback29 } from "react";
|
|
@@ -21058,7 +21049,7 @@ function useHackyTriggerWorkaroundReactDevBrainExplode() {
|
|
|
21058
21049
|
function useTriggerQuoteAndOtherStuffsWithExtremeCaution(onResult, setPreloadedQuoteData) {
|
|
21059
21050
|
const [assetRefresh, triggerAssetConfirm] = useHackyTriggerWorkaroundReactDevBrainExplode();
|
|
21060
21051
|
const { isSourceAssetConfirming, onSourceAssetConfirmed } = useSourceAssetConfirm(setPreloadedQuoteData);
|
|
21061
|
-
|
|
21052
|
+
useEffect38(() => {
|
|
21062
21053
|
if (assetRefresh === 0) {
|
|
21063
21054
|
return;
|
|
21064
21055
|
}
|
|
@@ -21464,7 +21455,7 @@ function usePostCheckout({
|
|
|
21464
21455
|
}
|
|
21465
21456
|
|
|
21466
21457
|
// src/modals/CheckoutModal/ConfirmationStep/useQuoteRefresh.ts
|
|
21467
|
-
import { useCallback as useCallback33, useEffect as
|
|
21458
|
+
import { useCallback as useCallback33, useEffect as useEffect40, useMemo as useMemo31, useRef as useRef21, useState as useState46 } from "react";
|
|
21468
21459
|
|
|
21469
21460
|
// src/hooks/useCountdown.tsx
|
|
21470
21461
|
import React145 from "react";
|
|
@@ -21472,7 +21463,7 @@ import { useCallback as useCallback32, useState as useState45 } from "react";
|
|
|
21472
21463
|
|
|
21473
21464
|
// src/components/FunCountdown/FunCountdown.tsx
|
|
21474
21465
|
import { noop as noop7 } from "@funkit/utils";
|
|
21475
|
-
import React144, { useCallback as useCallback31, useEffect as
|
|
21466
|
+
import React144, { useCallback as useCallback31, useEffect as useEffect39, useState as useState44 } from "react";
|
|
21476
21467
|
|
|
21477
21468
|
// src/components/FunCountdown/FunCountdown.css.ts
|
|
21478
21469
|
var backgroundRing = "_1t0bc111 _1rsrm2f1mm";
|
|
@@ -21515,7 +21506,7 @@ var FunCountdown = ({
|
|
|
21515
21506
|
setRemainingSeconds((prev) => prev > 0 ? prev - 1 : prev);
|
|
21516
21507
|
}, [isPaused]);
|
|
21517
21508
|
useInterval(handleInterval, 1e3);
|
|
21518
|
-
|
|
21509
|
+
useEffect39(() => {
|
|
21519
21510
|
if (remainingSeconds === onBeforeCountdownEndsSeconds) {
|
|
21520
21511
|
onBeforeCountdownEndsOnce();
|
|
21521
21512
|
}
|
|
@@ -21736,7 +21727,7 @@ function useQuoteRefresh({
|
|
|
21736
21727
|
}
|
|
21737
21728
|
return null;
|
|
21738
21729
|
}, [isQuoting, quoteErrorMessage]);
|
|
21739
|
-
|
|
21730
|
+
useEffect40(() => {
|
|
21740
21731
|
if (isPendingRefresh && !isOnHold) {
|
|
21741
21732
|
setIsPendingRefresh(false);
|
|
21742
21733
|
refreshQuote();
|
|
@@ -21852,7 +21843,7 @@ function ConfirmationStep({
|
|
|
21852
21843
|
}
|
|
21853
21844
|
}
|
|
21854
21845
|
});
|
|
21855
|
-
|
|
21846
|
+
useEffect41(() => {
|
|
21856
21847
|
triggerNewQuote({ maxRetries: 1 });
|
|
21857
21848
|
}, []);
|
|
21858
21849
|
const isContinuing = isConfirming || isPostCheckoutLoading;
|
|
@@ -22146,7 +22137,7 @@ function DirectExecutionNotifCenter({
|
|
|
22146
22137
|
|
|
22147
22138
|
// src/modals/CheckoutModal/InputAmount/InputAmount.tsx
|
|
22148
22139
|
import { isMobile as isMobile7 } from "@funkit/utils";
|
|
22149
|
-
import React163, { useEffect as
|
|
22140
|
+
import React163, { useEffect as useEffect42 } from "react";
|
|
22150
22141
|
|
|
22151
22142
|
// src/hooks/queries/useMeldCurrencies.ts
|
|
22152
22143
|
import { getMeldSupportedFiat } from "@funkit/api-base";
|
|
@@ -23540,6 +23531,48 @@ function calcInitialFiatAmount(balance) {
|
|
|
23540
23531
|
const ceilResult = Math.ceil(halfBalance / roundingFactor);
|
|
23541
23532
|
return ceilResult * roundingFactor;
|
|
23542
23533
|
}
|
|
23534
|
+
function getInitialFiatAmount({
|
|
23535
|
+
defaultAmount,
|
|
23536
|
+
fiatCurrencyExchangeRate,
|
|
23537
|
+
isDefiMode,
|
|
23538
|
+
isMeldEnabled,
|
|
23539
|
+
paymentMethod,
|
|
23540
|
+
quickOptions,
|
|
23541
|
+
targetAssetAmount,
|
|
23542
|
+
targetUnitPrice,
|
|
23543
|
+
usdAvailableAmount,
|
|
23544
|
+
usdMaxAmount,
|
|
23545
|
+
usdMinAmount
|
|
23546
|
+
}) {
|
|
23547
|
+
if (defaultAmount !== void 0) {
|
|
23548
|
+
return defaultAmount;
|
|
23549
|
+
}
|
|
23550
|
+
const targetAssetFiat = targetAssetAmount !== void 0 ? targetAssetAmount * targetUnitPrice : void 0;
|
|
23551
|
+
if (paymentMethod === "balance" /* ACCOUNT_BALANCE */) {
|
|
23552
|
+
if (targetAssetFiat !== void 0 && usdAvailableAmount !== null && usdAvailableAmount >= targetAssetFiat && (isDefiMode || targetAssetFiat >= usdMinAmount && targetAssetFiat <= (usdMaxAmount ?? Number.MAX_VALUE))) {
|
|
23553
|
+
return targetAssetFiat;
|
|
23554
|
+
}
|
|
23555
|
+
return calcInitialFiatAmount(usdAvailableAmount ?? 0);
|
|
23556
|
+
}
|
|
23557
|
+
if (isDefiMode && targetAssetFiat !== void 0) {
|
|
23558
|
+
if (!isMeldEnabled) {
|
|
23559
|
+
return targetAssetFiat;
|
|
23560
|
+
}
|
|
23561
|
+
if (fiatCurrencyExchangeRate !== void 0) {
|
|
23562
|
+
return targetAssetFiat * fiatCurrencyExchangeRate;
|
|
23563
|
+
}
|
|
23564
|
+
}
|
|
23565
|
+
if (paymentMethod === "card" /* CARD */) {
|
|
23566
|
+
return getDefaultAmountFromQuickOptions(quickOptions);
|
|
23567
|
+
}
|
|
23568
|
+
if (paymentMethod === "brokerage" /* BROKERAGE */ && usdAvailableAmount !== null) {
|
|
23569
|
+
return calcInitialFiatAmount(usdAvailableAmount);
|
|
23570
|
+
}
|
|
23571
|
+
if (targetAssetFiat !== void 0) {
|
|
23572
|
+
return targetAssetFiat;
|
|
23573
|
+
}
|
|
23574
|
+
return USD_INITIAL_AMOUNT;
|
|
23575
|
+
}
|
|
23543
23576
|
function initializeState({
|
|
23544
23577
|
checkoutConfig,
|
|
23545
23578
|
defaultAmount,
|
|
@@ -23566,7 +23599,19 @@ function initializeState({
|
|
|
23566
23599
|
);
|
|
23567
23600
|
const usdMaxAmount = getUsdMaxAmount(maxUsd);
|
|
23568
23601
|
const usdMinAmount = getUsdMinAmount(minUsd);
|
|
23569
|
-
const initialFiatAmount = getInitialFiatAmount(
|
|
23602
|
+
const initialFiatAmount = getInitialFiatAmount({
|
|
23603
|
+
defaultAmount,
|
|
23604
|
+
fiatCurrencyExchangeRate,
|
|
23605
|
+
isDefiMode,
|
|
23606
|
+
isMeldEnabled: meldEnabled,
|
|
23607
|
+
paymentMethod: paymentMethodInfo.paymentMethod,
|
|
23608
|
+
quickOptions,
|
|
23609
|
+
targetAssetAmount,
|
|
23610
|
+
targetUnitPrice: unitPrice,
|
|
23611
|
+
usdAvailableAmount,
|
|
23612
|
+
usdMinAmount,
|
|
23613
|
+
usdMaxAmount
|
|
23614
|
+
});
|
|
23570
23615
|
const { decimals } = getCurrencyFormattingOptions(fiatCurrency, locale);
|
|
23571
23616
|
const finalFiatAmount = initialFiatAmount === void 0 ? void 0 : Math.min(
|
|
23572
23617
|
Math.max(initialFiatAmount, usdMinAmount, 0),
|
|
@@ -23583,34 +23628,6 @@ function initializeState({
|
|
|
23583
23628
|
fiatAmount,
|
|
23584
23629
|
locale
|
|
23585
23630
|
});
|
|
23586
|
-
function getInitialFiatAmount() {
|
|
23587
|
-
if (defaultAmount !== void 0) {
|
|
23588
|
-
return defaultAmount;
|
|
23589
|
-
}
|
|
23590
|
-
const targetAssetFiat = typeof targetAssetAmount !== "undefined" ? targetAssetAmount * unitPrice : void 0;
|
|
23591
|
-
if (paymentMethodInfo.paymentMethod === "balance" /* ACCOUNT_BALANCE */) {
|
|
23592
|
-
if (isDefiMode && typeof targetAssetFiat !== "undefined" && usdAvailableAmount !== null && usdAvailableAmount >= targetAssetFiat) {
|
|
23593
|
-
return targetAssetFiat;
|
|
23594
|
-
}
|
|
23595
|
-
return calcInitialFiatAmount(usdAvailableAmount ?? 0);
|
|
23596
|
-
}
|
|
23597
|
-
if (isDefiMode && !meldEnabled && typeof targetAssetFiat !== "undefined") {
|
|
23598
|
-
return targetAssetFiat;
|
|
23599
|
-
}
|
|
23600
|
-
if (typeof targetAssetFiat !== "undefined" && typeof fiatCurrencyExchangeRate !== "undefined" && isDefiMode) {
|
|
23601
|
-
return targetAssetFiat * fiatCurrencyExchangeRate;
|
|
23602
|
-
}
|
|
23603
|
-
if (paymentMethodInfo.paymentMethod === "card" /* CARD */) {
|
|
23604
|
-
return getDefaultAmountFromQuickOptions(quickOptions);
|
|
23605
|
-
}
|
|
23606
|
-
if (paymentMethodInfo.paymentMethod === "brokerage" /* BROKERAGE */ && usdAvailableAmount !== null) {
|
|
23607
|
-
return calcInitialFiatAmount(usdAvailableAmount);
|
|
23608
|
-
}
|
|
23609
|
-
if (typeof targetAssetFiat !== "undefined") {
|
|
23610
|
-
return targetAssetFiat;
|
|
23611
|
-
}
|
|
23612
|
-
return USD_INITIAL_AMOUNT;
|
|
23613
|
-
}
|
|
23614
23631
|
return {
|
|
23615
23632
|
assetAmount,
|
|
23616
23633
|
fiatAmount,
|
|
@@ -25234,7 +25251,7 @@ function InputAmount(props) {
|
|
|
25234
25251
|
const skipExchangeRates = paymentMethodInfo.paymentMethod !== "card" /* CARD */ || !isDefiMode;
|
|
25235
25252
|
const exchangeRatesLoaded = !isCurrencyExchangeRatesLoading && !!currencyExchangeRates;
|
|
25236
25253
|
const isLoaded = !!(checkoutItem && unitPrice && !sourceHoldingError && !isLoadingSourceHolding && !isMeldDefaultCurrencyLoading && (skipExchangeRates || exchangeRatesLoaded));
|
|
25237
|
-
|
|
25254
|
+
useEffect42(() => setCheckoutQuote(null), []);
|
|
25238
25255
|
if (isLoaded) {
|
|
25239
25256
|
return /* @__PURE__ */ React163.createElement(
|
|
25240
25257
|
InputAmountLoaded,
|
|
@@ -25260,7 +25277,7 @@ function InputAmount(props) {
|
|
|
25260
25277
|
}
|
|
25261
25278
|
|
|
25262
25279
|
// src/modals/CheckoutModal/LoadingAccount.tsx
|
|
25263
|
-
import React166, { useEffect as
|
|
25280
|
+
import React166, { useEffect as useEffect43 } from "react";
|
|
25264
25281
|
|
|
25265
25282
|
// src/hooks/usePaymentSources.ts
|
|
25266
25283
|
import { FlagKey as FlagKey25, isNotNullish as isNotNullish7 } from "@funkit/utils";
|
|
@@ -25601,7 +25618,7 @@ function LoadingAccount({
|
|
|
25601
25618
|
const hasCustomStartingStep = !!checkoutConfig?.startingStep;
|
|
25602
25619
|
const startsOnConfirmationStep = checkoutConfig?.startingStep === "confirmation" /* CONFIRMATION */;
|
|
25603
25620
|
const startsOnSelectAssetStep = checkoutConfig?.startingStep === "select_asset" /* SELECT_ASSET */;
|
|
25604
|
-
|
|
25621
|
+
useEffect43(() => {
|
|
25605
25622
|
if (isLoadingFlags || isLoadingFiat || !checkoutConfig) {
|
|
25606
25623
|
return;
|
|
25607
25624
|
}
|
|
@@ -25936,7 +25953,7 @@ function MeldRedirect({
|
|
|
25936
25953
|
// src/modals/CheckoutModal/SelectAsset.tsx
|
|
25937
25954
|
import { FUNKIT_CONNECT_SUPPORTED_CHECKOUT_CHAINS_INFO_LIST as FUNKIT_CONNECT_SUPPORTED_CHECKOUT_CHAINS_INFO_LIST2 } from "@funkit/chains";
|
|
25938
25955
|
import { formatCurrencyAndStringify as formatCurrencyAndStringify11, isTokenEquivalent as isTokenEquivalent8 } from "@funkit/utils";
|
|
25939
|
-
import React172, { useEffect as
|
|
25956
|
+
import React172, { useEffect as useEffect44, useMemo as useMemo39, useState as useState51 } from "react";
|
|
25940
25957
|
import { createPortal as createPortal17 } from "react-dom";
|
|
25941
25958
|
import { mainnet as mainnet11 } from "viem/chains";
|
|
25942
25959
|
|
|
@@ -26278,7 +26295,7 @@ function useAssetOptions({
|
|
|
26278
26295
|
return assetOptions;
|
|
26279
26296
|
}
|
|
26280
26297
|
function useScrollToSelectedAsset(selectedChainTokenSymbol) {
|
|
26281
|
-
|
|
26298
|
+
useEffect44(() => {
|
|
26282
26299
|
const optionEl = document.getElementById(
|
|
26283
26300
|
`option-${selectedChainTokenSymbol}`
|
|
26284
26301
|
);
|
|
@@ -26672,7 +26689,7 @@ function SelectAsset({
|
|
|
26672
26689
|
|
|
26673
26690
|
// src/modals/CheckoutModal/SourceChange/SourceChange.tsx
|
|
26674
26691
|
import { BridgeCustomerStatus as BridgeCustomerStatus6, MeldServiceProvider as MeldServiceProvider4 } from "@funkit/api-base";
|
|
26675
|
-
import React174, { useCallback as useCallback39, useEffect as
|
|
26692
|
+
import React174, { useCallback as useCallback39, useEffect as useEffect45, useState as useState52 } from "react";
|
|
26676
26693
|
import { createPortal as createPortal18 } from "react-dom";
|
|
26677
26694
|
|
|
26678
26695
|
// src/modals/CheckoutModal/SourceChange/DefiPurchaseSection.tsx
|
|
@@ -26869,7 +26886,7 @@ function SourceChange({
|
|
|
26869
26886
|
const userInfo = useFunkitUserInfo();
|
|
26870
26887
|
const isDefiMode = checkoutItem?.initSettings.config.isDefiMode;
|
|
26871
26888
|
const hasAutoContinue = !isOstiumCustomer(apiKey) && !isDefiMode;
|
|
26872
|
-
|
|
26889
|
+
useEffect45(() => {
|
|
26873
26890
|
if (!paymentMethodInfo) {
|
|
26874
26891
|
return;
|
|
26875
26892
|
}
|
|
@@ -27063,7 +27080,7 @@ import { truncateMiddleOfAddress } from "@funkit/utils";
|
|
|
27063
27080
|
import React175, { useCallback as useCallback41, useState as useState54 } from "react";
|
|
27064
27081
|
|
|
27065
27082
|
// src/hooks/useCopyToClipboard.ts
|
|
27066
|
-
import { useCallback as useCallback40, useEffect as
|
|
27083
|
+
import { useCallback as useCallback40, useEffect as useEffect46, useState as useState53 } from "react";
|
|
27067
27084
|
var useCopyToClipboard = (text, delay = 1500) => {
|
|
27068
27085
|
const [isCopied, setCopied] = useState53(false);
|
|
27069
27086
|
const handleCopy = useCallback40(() => {
|
|
@@ -27073,7 +27090,7 @@ var useCopyToClipboard = (text, delay = 1500) => {
|
|
|
27073
27090
|
navigator.clipboard.writeText(text);
|
|
27074
27091
|
setCopied(true);
|
|
27075
27092
|
}, [text]);
|
|
27076
|
-
|
|
27093
|
+
useEffect46(() => {
|
|
27077
27094
|
if (!isCopied) {
|
|
27078
27095
|
return;
|
|
27079
27096
|
}
|
|
@@ -28422,7 +28439,7 @@ var FiatAccountDetail = {
|
|
|
28422
28439
|
|
|
28423
28440
|
// src/modals/CheckoutModal/VirtualFiatAccount/KycIframe.tsx
|
|
28424
28441
|
import { BridgeCustomerStatus as BridgeCustomerStatus7 } from "@funkit/api-base";
|
|
28425
|
-
import React194, { useCallback as useCallback42, useEffect as
|
|
28442
|
+
import React194, { useCallback as useCallback42, useEffect as useEffect47, useMemo as useMemo41, useState as useState58 } from "react";
|
|
28426
28443
|
function useIframeListener(listeners) {
|
|
28427
28444
|
const handleMessage = useCallback42(
|
|
28428
28445
|
(event) => {
|
|
@@ -28446,7 +28463,7 @@ function useIframeListener(listeners) {
|
|
|
28446
28463
|
},
|
|
28447
28464
|
[listeners]
|
|
28448
28465
|
);
|
|
28449
|
-
|
|
28466
|
+
useEffect47(() => {
|
|
28450
28467
|
window.addEventListener("message", handleMessage);
|
|
28451
28468
|
return () => {
|
|
28452
28469
|
window.removeEventListener("message", handleMessage);
|
|
@@ -28826,7 +28843,7 @@ function FunCheckoutModalHeightAnimationWrapper({
|
|
|
28826
28843
|
const animationFrameRef = useRef26(null);
|
|
28827
28844
|
const resizeObserverRef = useRef26(null);
|
|
28828
28845
|
const [height, setHeight] = useState60("auto");
|
|
28829
|
-
|
|
28846
|
+
useEffect48(() => {
|
|
28830
28847
|
if (containerRef.current) {
|
|
28831
28848
|
resizeObserverRef.current = new ResizeObserver((entries) => {
|
|
28832
28849
|
animationFrameRef.current = requestAnimationFrame(() => {
|
|
@@ -28873,7 +28890,7 @@ function FunCheckoutModalHeightAnimationWrapper({
|
|
|
28873
28890
|
}
|
|
28874
28891
|
|
|
28875
28892
|
// src/components/FunConnectOptions/FunConnectResultStep.tsx
|
|
28876
|
-
import React196, { useEffect as
|
|
28893
|
+
import React196, { useEffect as useEffect49 } from "react";
|
|
28877
28894
|
var AUTO_CLOSE = 2e3;
|
|
28878
28895
|
var messageMap = (hasQrCode) => ({
|
|
28879
28896
|
error: {
|
|
@@ -28892,7 +28909,7 @@ var FunConnectResultStep = ({
|
|
|
28892
28909
|
qrCodeUri
|
|
28893
28910
|
}) => {
|
|
28894
28911
|
const hasAutoclose = type === "success";
|
|
28895
|
-
|
|
28912
|
+
useEffect49(() => {
|
|
28896
28913
|
if (!hasAutoclose) {
|
|
28897
28914
|
return;
|
|
28898
28915
|
}
|
|
@@ -28944,7 +28961,7 @@ var FunConnectResultStep = ({
|
|
|
28944
28961
|
|
|
28945
28962
|
// src/components/FunConnectOptions/FunFarcasterConnectingStep.tsx
|
|
28946
28963
|
import { isMobile as isMobile8, isSafari as isSafari2, redirectInMobile } from "@funkit/utils";
|
|
28947
|
-
import React199, { useCallback as useCallback44, useEffect as
|
|
28964
|
+
import React199, { useCallback as useCallback44, useEffect as useEffect50 } from "react";
|
|
28948
28965
|
|
|
28949
28966
|
// src/components/CopyAddress/OldCopyAddressButton.tsx
|
|
28950
28967
|
import React198 from "react";
|
|
@@ -28991,7 +29008,7 @@ function FunFarcasterConnectingStep({
|
|
|
28991
29008
|
}) {
|
|
28992
29009
|
const mobile = isMobile8();
|
|
28993
29010
|
const safari = isSafari2();
|
|
28994
|
-
|
|
29011
|
+
useEffect50(() => {
|
|
28995
29012
|
if (farcasterUri && mobile && !safari) {
|
|
28996
29013
|
redirectInMobile(farcasterUri);
|
|
28997
29014
|
}
|
|
@@ -29045,12 +29062,12 @@ function FunFarcasterConnectingStep({
|
|
|
29045
29062
|
|
|
29046
29063
|
// src/components/FunConnectOptions/FunWeb2ConnectingStep.tsx
|
|
29047
29064
|
import { isNotNullish as isNotNullish9 } from "@funkit/utils";
|
|
29048
|
-
import React202, { useCallback as useCallback46, useEffect as
|
|
29065
|
+
import React202, { useCallback as useCallback46, useEffect as useEffect52, useState as useState62 } from "react";
|
|
29049
29066
|
|
|
29050
29067
|
// src/components/FunInput/FunTwoFaInput.tsx
|
|
29051
29068
|
import React200, {
|
|
29052
29069
|
useCallback as useCallback45,
|
|
29053
|
-
useEffect as
|
|
29070
|
+
useEffect as useEffect51,
|
|
29054
29071
|
useRef as useRef27,
|
|
29055
29072
|
useState as useState61
|
|
29056
29073
|
} from "react";
|
|
@@ -29071,7 +29088,7 @@ var FunTwoFaInput = ({
|
|
|
29071
29088
|
const [currentLength, setCurrentLength] = useState61(initialInputLength);
|
|
29072
29089
|
const [focusIndex, setFocusIndex] = useState61(0);
|
|
29073
29090
|
const [isFocused, setIsFocused] = useState61(false);
|
|
29074
|
-
|
|
29091
|
+
useEffect51(() => {
|
|
29075
29092
|
if (!value) {
|
|
29076
29093
|
setFocusIndex(0);
|
|
29077
29094
|
}
|
|
@@ -29271,7 +29288,7 @@ var FunWeb2ConnectingStep = ({
|
|
|
29271
29288
|
loginErrorMessage,
|
|
29272
29289
|
clearLoginError
|
|
29273
29290
|
} = useFunkitWeb2Login();
|
|
29274
|
-
|
|
29291
|
+
useEffect52(() => {
|
|
29275
29292
|
clearLoginError();
|
|
29276
29293
|
}, []);
|
|
29277
29294
|
const handleOtpComplete = useCallback46(
|
|
@@ -30066,7 +30083,7 @@ function PaymentMethodSummary({
|
|
|
30066
30083
|
|
|
30067
30084
|
// src/modals/CheckoutModal/TransferToken/CheckoutNotifications.tsx
|
|
30068
30085
|
import clsx22 from "clsx";
|
|
30069
|
-
import React216, { useCallback as useCallback50, useEffect as
|
|
30086
|
+
import React216, { useCallback as useCallback50, useEffect as useEffect55, useMemo as useMemo44, useState as useState66 } from "react";
|
|
30070
30087
|
|
|
30071
30088
|
// src/components/FunNotificationBanner/FunNotificationShowMoreButton.tsx
|
|
30072
30089
|
import React211 from "react";
|
|
@@ -30112,10 +30129,10 @@ var FunNotificationShowMoreButton = ({
|
|
|
30112
30129
|
|
|
30113
30130
|
// src/hooks/useOnNewNotification.ts
|
|
30114
30131
|
import { safeParseJson as safeParseJson4 } from "@funkit/utils";
|
|
30115
|
-
import { useEffect as
|
|
30132
|
+
import { useEffect as useEffect53 } from "react";
|
|
30116
30133
|
var storageKey5 = "fkc-processed-notifications";
|
|
30117
30134
|
var useOnNewNotification = (combinedNotifications, cb) => {
|
|
30118
|
-
|
|
30135
|
+
useEffect53(() => {
|
|
30119
30136
|
const alreadyProcessed = safeParseJsonObject(
|
|
30120
30137
|
sessionStorage.getItem(storageKey5)
|
|
30121
30138
|
);
|
|
@@ -30172,7 +30189,7 @@ var showMoreButtonStyle = "_4yitd93 _1rsrm2f12a _1rsrm2f1f _1rsrm2f1c _1rsrm2fls
|
|
|
30172
30189
|
// src/components/FunNotificationBanner/FunNotificationBannerIcon.tsx
|
|
30173
30190
|
import clsx20 from "clsx";
|
|
30174
30191
|
import { motion as motion12, useAnimate as useAnimate3 } from "motion/react";
|
|
30175
|
-
import React212, { useCallback as useCallback49, useEffect as
|
|
30192
|
+
import React212, { useCallback as useCallback49, useEffect as useEffect54, useRef as useRef28 } from "react";
|
|
30176
30193
|
|
|
30177
30194
|
// src/components/FunNotificationBanner/FunNotificationBannerIcon.css.ts
|
|
30178
30195
|
var STATUS_SPINNER_BOTTOM_POSITION = -5;
|
|
@@ -30622,7 +30639,7 @@ var FunNotificationBannerIcon = ({
|
|
|
30622
30639
|
]);
|
|
30623
30640
|
}, [animate]);
|
|
30624
30641
|
const statusRef = useRef28(status);
|
|
30625
|
-
|
|
30642
|
+
useEffect54(() => {
|
|
30626
30643
|
if (statusRef.current !== status) {
|
|
30627
30644
|
if (statusRef.current === "processing" && status === "completed") {
|
|
30628
30645
|
triggerAnimationProcessingToCompleted();
|
|
@@ -31171,13 +31188,13 @@ var CheckoutNotifications = ({
|
|
|
31171
31188
|
isVisible,
|
|
31172
31189
|
memoizedFilterFunc: filterFunc
|
|
31173
31190
|
});
|
|
31174
|
-
|
|
31191
|
+
useEffect55(() => {
|
|
31175
31192
|
if (initialCheckouts || !checkouts) {
|
|
31176
31193
|
return;
|
|
31177
31194
|
}
|
|
31178
31195
|
setInitialCheckouts(checkouts);
|
|
31179
31196
|
}, [initialCheckouts, checkouts]);
|
|
31180
|
-
|
|
31197
|
+
useEffect55(() => {
|
|
31181
31198
|
if (initialDirectExecutions || !directExecutions) {
|
|
31182
31199
|
return;
|
|
31183
31200
|
}
|
|
@@ -31598,7 +31615,7 @@ function useCheckoutModalTitle(depositAddress, defaultTitle) {
|
|
|
31598
31615
|
import { IN_PROGRESS_CHECKOUT_STATES as IN_PROGRESS_CHECKOUT_STATES2 } from "@funkit/api-base";
|
|
31599
31616
|
import { formatTimestampToDate, fullMonthNames } from "@funkit/utils";
|
|
31600
31617
|
import clsx24 from "clsx";
|
|
31601
|
-
import React229, { useEffect as
|
|
31618
|
+
import React229, { useEffect as useEffect56, useMemo as useMemo46, useRef as useRef29, useState as useState70 } from "react";
|
|
31602
31619
|
import { Virtuoso } from "react-virtuoso";
|
|
31603
31620
|
import { useAccount as useAccount7 } from "wagmi";
|
|
31604
31621
|
|
|
@@ -32141,7 +32158,7 @@ function Home({
|
|
|
32141
32158
|
const { checkoutHistoryList, isCheckoutHistoryInited } = useCheckoutHistoryContext();
|
|
32142
32159
|
const { returnViewPresets } = useActivityTraversal();
|
|
32143
32160
|
const { animation: tabAnimation, navigateTo } = useAnimatedNavigation(setSelectedView);
|
|
32144
|
-
|
|
32161
|
+
useEffect56(() => {
|
|
32145
32162
|
const virtuosoDiv = virtuosoParentRef.current?.firstChild;
|
|
32146
32163
|
virtuosoDiv?.classList.add(animateVirtuosoInClass);
|
|
32147
32164
|
}, []);
|
|
@@ -33159,7 +33176,7 @@ function ModalProvider({ children }) {
|
|
|
33159
33176
|
onConnect: () => closeModals(isUnauthenticated),
|
|
33160
33177
|
onDisconnect: closeModals
|
|
33161
33178
|
});
|
|
33162
|
-
|
|
33179
|
+
useEffect57(() => {
|
|
33163
33180
|
if (isUnauthenticated) {
|
|
33164
33181
|
closeModals();
|
|
33165
33182
|
}
|
|
@@ -33264,7 +33281,7 @@ function useConnectModal(onClose) {
|
|
|
33264
33281
|
const { connectModalOpen, openConnectModal } = useContext16(ModalContext);
|
|
33265
33282
|
const { isWalletConnectModalOpen } = useWalletConnectOpenState();
|
|
33266
33283
|
const effectiveConnectModalOpen = connectModalOpen || isWalletConnectModalOpen;
|
|
33267
|
-
|
|
33284
|
+
useEffect57(() => {
|
|
33268
33285
|
if (!effectiveConnectModalOpen && onClose) {
|
|
33269
33286
|
onClose();
|
|
33270
33287
|
}
|
|
@@ -33599,7 +33616,7 @@ var FunkitWeb2Provider = ({
|
|
|
33599
33616
|
},
|
|
33600
33617
|
[]
|
|
33601
33618
|
);
|
|
33602
|
-
|
|
33619
|
+
useEffect58(() => {
|
|
33603
33620
|
const newPrivy = new PrivyJS({
|
|
33604
33621
|
appId: DEFAULT_PRIVY_APP_ID,
|
|
33605
33622
|
storage: new LocalStorage(),
|
|
@@ -33814,7 +33831,7 @@ var FunkitWeb2Provider = ({
|
|
|
33814
33831
|
}
|
|
33815
33832
|
}
|
|
33816
33833
|
}, [handleFunkitWeb2Login, initChainId, loginMethod]);
|
|
33817
|
-
|
|
33834
|
+
useEffect58(() => {
|
|
33818
33835
|
if (privy && privyIframeUrl && isNotNullish11(initChainId)) {
|
|
33819
33836
|
const iframe = document.getElementById(
|
|
33820
33837
|
PRIVY_IFRAME_ID
|
|
@@ -34063,10 +34080,10 @@ import React244 from "react";
|
|
|
34063
34080
|
import { useAccount as useAccount12, useBalance, useConfig as useConfig8 } from "wagmi";
|
|
34064
34081
|
|
|
34065
34082
|
// src/hooks/useIsMounted.ts
|
|
34066
|
-
import { useCallback as useCallback57, useEffect as
|
|
34083
|
+
import { useCallback as useCallback57, useEffect as useEffect59, useState as useState75 } from "react";
|
|
34067
34084
|
function useIsMounted() {
|
|
34068
34085
|
const [isMounted, setIsMounted] = useState75(false);
|
|
34069
|
-
|
|
34086
|
+
useEffect59(() => {
|
|
34070
34087
|
setIsMounted(true);
|
|
34071
34088
|
return () => {
|
|
34072
34089
|
setIsMounted(false);
|
|
@@ -34353,7 +34370,7 @@ function ConnectButton({
|
|
|
34353
34370
|
const connectionStatus = useConnectionStatus();
|
|
34354
34371
|
const { setShowBalance } = useShowBalance();
|
|
34355
34372
|
const [ready, setReady] = useState76(false);
|
|
34356
|
-
|
|
34373
|
+
useEffect60(() => {
|
|
34357
34374
|
setShowBalance(showBalance);
|
|
34358
34375
|
if (!ready) {
|
|
34359
34376
|
setReady(true);
|
|
@@ -34890,7 +34907,7 @@ import { QueryClientProvider } from "@tanstack/react-query";
|
|
|
34890
34907
|
import React248, {
|
|
34891
34908
|
createContext as createContext19,
|
|
34892
34909
|
useContext as useContext19,
|
|
34893
|
-
useEffect as
|
|
34910
|
+
useEffect as useEffect62,
|
|
34894
34911
|
useMemo as useMemo49
|
|
34895
34912
|
} from "react";
|
|
34896
34913
|
import { WagmiProvider, useAccountEffect as useAccountEffect3 } from "wagmi";
|
|
@@ -34915,8 +34932,8 @@ function FunkitStatsigProvider({
|
|
|
34915
34932
|
networkConfig: {
|
|
34916
34933
|
api: STATSIG_API,
|
|
34917
34934
|
// default timeout is 10s which is too large imo
|
|
34918
|
-
//
|
|
34919
|
-
networkTimeoutMs:
|
|
34935
|
+
// 5s should be plenty granted on average statsig responds in <200ms
|
|
34936
|
+
networkTimeoutMs: 5e3
|
|
34920
34937
|
// uncomment to test offline mode
|
|
34921
34938
|
// preventAllNetworkTraffic: true,
|
|
34922
34939
|
},
|
|
@@ -34933,7 +34950,7 @@ function FunkitStatsigProvider({
|
|
|
34933
34950
|
|
|
34934
34951
|
// src/providers/usePreloadImages.ts
|
|
34935
34952
|
import { isNotNullish as isNotNullish12 } from "@funkit/utils";
|
|
34936
|
-
import { useCallback as useCallback58, useEffect as
|
|
34953
|
+
import { useCallback as useCallback58, useEffect as useEffect61 } from "react";
|
|
34937
34954
|
function usePreloadImages() {
|
|
34938
34955
|
const funkitConnectChains = useFunkitConnectChains();
|
|
34939
34956
|
const walletConnectors = useWalletConnectors();
|
|
@@ -34943,7 +34960,7 @@ function usePreloadImages() {
|
|
|
34943
34960
|
...funkitConnectChains.map((chain) => chain.iconUrl).filter(isNotNullish12)
|
|
34944
34961
|
);
|
|
34945
34962
|
}, [walletConnectors, funkitConnectChains]);
|
|
34946
|
-
|
|
34963
|
+
useEffect61(() => {
|
|
34947
34964
|
preloadImages();
|
|
34948
34965
|
}, [preloadImages]);
|
|
34949
34966
|
}
|
|
@@ -34972,7 +34989,7 @@ function FunkitProvider(props) {
|
|
|
34972
34989
|
}, [initialChainId, props.wagmiConfig, props.funkitConfig.appName]);
|
|
34973
34990
|
const finalQueryClient = props.queryClient;
|
|
34974
34991
|
const sdkVersion = useMemo49(() => getCurrentSdkVersion(), []);
|
|
34975
|
-
|
|
34992
|
+
useEffect62(() => {
|
|
34976
34993
|
logger.configure(props.funkitConfig.apiKey, !!props.debug, sdkVersion);
|
|
34977
34994
|
}, [props.funkitConfig.apiKey, props.debug, sdkVersion]);
|
|
34978
34995
|
const MainChild = /* @__PURE__ */ React248.createElement(FunkitThemeProvider, { theme: props.theme }, /* @__PURE__ */ React248.createElement(
|