@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.
Files changed (26) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/__generated__/default_configs.d.ts +1 -6
  3. package/dist/hooks/queries/useRecentDirectExecutions.d.ts +1 -1
  4. package/dist/index.css +5 -5
  5. package/dist/index.js +162 -145
  6. package/dist/utils/flags/config.d.ts +2 -6
  7. package/dist/wallets/walletConnectors/bifrostWallet/bifrostWallet.js +2 -2
  8. package/dist/wallets/walletConnectors/bitgetWallet/bitgetWallet.js +2 -2
  9. package/dist/wallets/walletConnectors/bybitWallet/bybitWallet.js +2 -2
  10. package/dist/wallets/walletConnectors/clvWallet/clvWallet.js +2 -2
  11. package/dist/wallets/walletConnectors/coin98Wallet/coin98Wallet.js +2 -2
  12. package/dist/wallets/walletConnectors/coreWallet/coreWallet.js +2 -2
  13. package/dist/wallets/walletConnectors/foxWallet/foxWallet.js +2 -2
  14. package/dist/wallets/walletConnectors/frontierWallet/frontierWallet.js +2 -2
  15. package/dist/wallets/walletConnectors/gateWallet/gateWallet.js +2 -2
  16. package/dist/wallets/walletConnectors/index.js +71 -71
  17. package/dist/wallets/walletConnectors/metaMaskWallet/metaMaskWallet.js +2 -2
  18. package/dist/wallets/walletConnectors/okxWallet/okxWallet.js +2 -2
  19. package/dist/wallets/walletConnectors/rainbowWallet/rainbowWallet.js +2 -2
  20. package/dist/wallets/walletConnectors/roninWallet/roninWallet.js +2 -2
  21. package/dist/wallets/walletConnectors/safepalWallet/safepalWallet.js +2 -2
  22. package/dist/wallets/walletConnectors/subWallet/subWallet.js +2 -2
  23. package/dist/wallets/walletConnectors/tokenPocketWallet/tokenPocketWallet.js +2 -2
  24. package/dist/wallets/walletConnectors/trustWallet/trustWallet.js +2 -2
  25. package/dist/wallets/walletConnectors/zerionWallet/zerionWallet.js +2 -2
  26. 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 useEffect61, useState as useState76 } from "react";
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 useEffect59,
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 useEffect58,
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.19";
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 { asset, amount, amountInFiat, networks } = balance;
12070
+ const { amount, amountInFiat, networks } = balance;
12073
12071
  const preferredNetwork = getPreferredNetwork(networks, preferredChainId);
12074
- if (!preferredNetwork?.chainId) {
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 useEffect49, useRef as useRef26, useState as useState60 } from "react";
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 !== RelayExecutionStatus3.FAILURE;
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.PENDING || status === RelayExecutionStatus3.WAITING) {
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: checkoutItem?.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 useEffect34, useState as useState35 } from "react";
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
- useEffect34(() => {
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 useEffect35, useRef as useRef18 } from "react";
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
- useEffect35(() => {
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
- useEffect35(() => {
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
- useEffect35(() => {
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 useEffect36, useMemo as useMemo26, useRef as useRef19, useState as useState38 } from "react";
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
- useEffect36(() => wrapperRef.current?.scrollIntoView(), []);
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 useEffect42, useMemo as useMemo32, useState as useState47 } from "react";
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 useEffect37 } from "react";
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
- useEffect37(() => {
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 useEffect38, useRef as useRef20 } from "react";
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
- useEffect38(() => {
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 useEffect39, useState as useState41 } from "react";
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
- useEffect39(() => {
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 useEffect41, useMemo as useMemo31, useRef as useRef21, useState as useState46 } from "react";
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 useEffect40, useState as useState44 } from "react";
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
- useEffect40(() => {
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
- useEffect41(() => {
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
- useEffect42(() => {
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 useEffect43 } from "react";
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
- useEffect43(() => setCheckoutQuote(null), []);
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 useEffect44 } from "react";
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
- useEffect44(() => {
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 useEffect45, useMemo as useMemo39, useState as useState51 } from "react";
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
- useEffect45(() => {
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 useEffect46, useState as useState52 } from "react";
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
- useEffect46(() => {
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 useEffect47, useState as useState53 } from "react";
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
- useEffect47(() => {
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 useEffect48, useMemo as useMemo41, useState as useState58 } from "react";
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
- useEffect48(() => {
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
- useEffect49(() => {
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 useEffect50 } from "react";
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
- useEffect50(() => {
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 useEffect51 } from "react";
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
- useEffect51(() => {
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 useEffect53, useState as useState62 } from "react";
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 useEffect52,
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
- useEffect52(() => {
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
- useEffect53(() => {
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 useEffect56, useMemo as useMemo44, useState as useState66 } from "react";
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 useEffect54 } from "react";
30132
+ import { useEffect as useEffect53 } from "react";
30116
30133
  var storageKey5 = "fkc-processed-notifications";
30117
30134
  var useOnNewNotification = (combinedNotifications, cb) => {
30118
- useEffect54(() => {
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 useEffect55, useRef as useRef28 } from "react";
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
- useEffect55(() => {
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
- useEffect56(() => {
31191
+ useEffect55(() => {
31175
31192
  if (initialCheckouts || !checkouts) {
31176
31193
  return;
31177
31194
  }
31178
31195
  setInitialCheckouts(checkouts);
31179
31196
  }, [initialCheckouts, checkouts]);
31180
- useEffect56(() => {
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 useEffect57, useMemo as useMemo46, useRef as useRef29, useState as useState70 } from "react";
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
- useEffect57(() => {
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
- useEffect58(() => {
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
- useEffect58(() => {
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
- useEffect59(() => {
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
- useEffect59(() => {
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 useEffect60, useState as useState75 } from "react";
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
- useEffect60(() => {
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
- useEffect61(() => {
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 useEffect63,
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
- // 1.5s should be plenty granted on average statsig responds in <200ms
34919
- networkTimeoutMs: 1500
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 useEffect62 } from "react";
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
- useEffect62(() => {
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
- useEffect63(() => {
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(