@funkit/connect 6.15.6 → 6.15.8

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 CHANGED
@@ -1,5 +1,25 @@
1
1
  # @funkit/connect
2
2
 
3
+ ## 6.15.8
4
+
5
+ ### Patch Changes
6
+
7
+ - 4d90219: feat(connect): display min amount required in badge tooltip
8
+ - da63888: fix check of isSameDestination
9
+ - 284c405: add ethereal to layerZero dest chain mapping
10
+ - d3ed26d: always show funxyz bottom line if enabled
11
+ - adc84ec: add first dynamic target asset as default
12
+ - 9769dd5: feat(connect): added contact support to security banner
13
+
14
+ ## 6.15.7
15
+
16
+ ### Patch Changes
17
+
18
+ - d0ab683: fix(connect): fix copy animation in buy_eng mode
19
+ - 0c3f602: fix(connect): fix "Buy with" label on confirmation screen
20
+ - 940011e: fix(connect): hide "you receive" on brokerage processing screen and redirect to destination instead of source for same assets checkouts
21
+ - 62753c3: fix(connect): fix MON token symbol
22
+
3
23
  ## 6.15.6
4
24
 
5
25
  ### Patch Changes
@@ -1,6 +1,6 @@
1
1
  declare const _default: {
2
2
  readonly addressblacklist: {
3
- readonly value: readonly ["0x7b97b46D35a28B561d47F50CFB9a2735E506e59d", "0x409ad08cc6CA757f69Fb80250a424B9eFeB99807", "0x02A86f51aA7B8b1c17c30364748d5Ae4a0727E23", "0x64131b60502C01362639CC5cfE1a1efB6Be1165A"];
3
+ readonly value: readonly ["0x7b97b46D35a28B561d47F50CFB9a2735E506e59d", "0x409ad08cc6CA757f69Fb80250a424B9eFeB99807", "0x02A86f51aA7B8b1c17c30364748d5Ae4a0727E23", "0x64131b60502C01362639CC5cfE1a1efB6Be1165A", "0xb84440Ee8BAD69c14755bBb7093f861c3512E3D1"];
4
4
  };
5
5
  readonly array_of_strings: {
6
6
  readonly value: readonly [];
@@ -11,6 +11,9 @@ declare const _default: {
11
11
  readonly boolean: {
12
12
  readonly value: false;
13
13
  };
14
+ readonly brokerage_hide_you_receive: {
15
+ readonly value: false;
16
+ };
14
17
  readonly showinfobanner: {
15
18
  readonly value: {
16
19
  readonly message: "";
@@ -28,7 +28,7 @@ export declare namespace Dialog {
28
28
  var Title: ({ title, titleMeta, hasCloseButton: hasCloseButtonProp, isCloseDisabled, onClose, hasBackButton: hasBackButtonProp, isBackDisabled, onBack, className, }: DialogTitleProps) => React.JSX.Element;
29
29
  var Content: ({ children, fullHeight, paddingLeft, paddingBottom, paddingTop, className, withTopDivider, withBottomDivider, id, withoutInternalPadding, ...boxProps }: DialogContentProps) => React.JSX.Element;
30
30
  var BottomSection: ({ paddingX, children, ...boxProps }: BoxProps) => React.JSX.Element;
31
- var BottomBar: ({ topSection, actionButtonProps, bottomSection, onClose, }: import("../FunBottomBar/FunBottomBar").FunBottomBarProps) => React.JSX.Element | null;
31
+ var BottomBar: ({ topSection, actionButtonProps, onClose, }: import("../FunBottomBar/FunBottomBar").FunBottomBarProps) => React.JSX.Element | null;
32
32
  }
33
33
  interface DialogContentProps extends BoxProps {
34
34
  children: ReactNode;
@@ -5,10 +5,11 @@ interface FunAssetItemProps {
5
5
  isActive?: boolean;
6
6
  isDisabled?: boolean;
7
7
  badgeText: string | null;
8
+ badgeTooltip?: string;
8
9
  onClick: () => void;
9
10
  testId?: string;
10
11
  isChainIconHidden?: boolean;
11
12
  }
12
- export declare const FunAssetItem: ({ asset, isActive, isDisabled, isChainIconHidden, badgeText, onClick, testId, }: FunAssetItemProps) => React.JSX.Element;
13
+ export declare const FunAssetItem: ({ asset, isActive, isDisabled, isChainIconHidden, badgeText, badgeTooltip, onClick, testId, }: FunAssetItemProps) => React.JSX.Element;
13
14
  export declare function FunAssetItemSkeleton(): React.JSX.Element;
14
15
  export {};
@@ -3,7 +3,6 @@ import { type FunButtonProps } from '../FunButton/FunButton';
3
3
  export interface FunBottomBarProps {
4
4
  topSection?: React.ReactNode;
5
5
  actionButtonProps?: FunButtonProps;
6
- bottomSection?: React.ReactNode;
7
6
  onClose?: () => void;
8
7
  }
9
- export declare const FunBottomBar: ({ topSection, actionButtonProps, bottomSection, onClose, }: FunBottomBarProps) => React.JSX.Element | null;
8
+ export declare const FunBottomBar: ({ topSection, actionButtonProps, onClose, }: FunBottomBarProps) => React.JSX.Element | null;
@@ -3,7 +3,7 @@ import React from 'react';
3
3
  import type { MergedMultiStepDirectExecution } from '~/hooks/queries/useRecentDirectExecutions';
4
4
  import type { TextConfigStatus, TextConfigSteps } from '../TransactionStatus/TransactionStatus';
5
5
  import type { FunDirectExecutionStatusProps } from './FunDirectExecutionStatus';
6
- export declare function FunDirectExecutionHistoryDetail({ bottomBarId, directExecution, isActiveCheckout, onClose, onAnimationComplete, showCheckoutStatus, customTextConfigStatus, customTextConfigSteps, dangerousCustomDelayedAutoTriggerCutoff, disableAutoUpdate, }: {
6
+ export declare function FunDirectExecutionHistoryDetail({ bottomBarId, directExecution, isActiveCheckout, onClose, onAnimationComplete, showCheckoutStatus, customTextConfigStatus, customTextConfigSteps, dangerousCustomDelayedAutoTriggerCutoff, disableAutoUpdate, hideYouReceive, }: {
7
7
  bottomBarId: string;
8
8
  directExecution: DirectExecution;
9
9
  isActiveCheckout: boolean;
@@ -25,6 +25,7 @@ export declare function FunDirectExecutionHistoryDetail({ bottomBarId, directExe
25
25
  * If you want to disable this, set this to true.
26
26
  */
27
27
  disableAutoUpdate?: boolean;
28
+ hideYouReceive?: boolean;
28
29
  }): React.JSX.Element;
29
30
  export declare function DirectExecutionOrderDetailSection({ directExecution, disabled, }: {
30
31
  directExecution: MergedMultiStepDirectExecution;
@@ -26,6 +26,7 @@ interface AssetUsableToPayParms {
26
26
  export declare const isAssetUsableToPayForCheckout: ({ config, payerAddress, paymentMethod, targetChainId, targetTokenAddress, assetChainId, assetTokenAddress, assetUsdAmount, loginType, isAllowedForCheckout, minUsdRequired, t, }: AssetUsableToPayParms) => {
27
27
  isUsable: boolean;
28
28
  reason: string;
29
+ minUsdRequired?: number;
29
30
  };
30
31
  export declare function getUsdAvailableAmount(targetChainId: string, assetChainId: string | undefined, assetUsdAmount: number | null | undefined, paymentMethod: PaymentMethod | undefined): number | null;
31
32
  /**
package/dist/index.js CHANGED
@@ -1514,7 +1514,7 @@ function setFunkitConnectVersion({ version }) {
1514
1514
  localStorage.setItem(storageKey, version);
1515
1515
  }
1516
1516
  function getCurrentSdkVersion() {
1517
- return "6.15.6";
1517
+ return "6.15.8";
1518
1518
  }
1519
1519
  function useFingerprint() {
1520
1520
  const fingerprint = useCallback2(() => {
@@ -2245,8 +2245,18 @@ var isAssetUsableToPayForCheckout = ({
2245
2245
  assetUsdAmount,
2246
2246
  paymentMethod
2247
2247
  );
2248
+ const feeEstimate = getFeesUsdEstimate(
2249
+ targetChainId,
2250
+ assetChainId,
2251
+ paymentMethod
2252
+ );
2248
2253
  if (usableAmountEstimation !== null && usableAmountEstimation < minValueThreshold) {
2249
- return { isUsable: false, reason: t("payment.lowBalance") };
2254
+ return {
2255
+ isUsable: false,
2256
+ reason: t("payment.lowBalance"),
2257
+ // surface minimum requirement for low balance tooltip
2258
+ minUsdRequired: minValueThreshold + feeEstimate
2259
+ };
2250
2260
  }
2251
2261
  const isConnectedAccountSupported = loginType !== "web2" /* Web2 */ || FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO[assetChainId]?.isFunWalletSupported;
2252
2262
  const isSupported = isAllowedForCheckout && isConnectedAccountSupported && FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO[assetChainId]?.isCheckoutSupported;
@@ -2476,7 +2486,7 @@ import {
2476
2486
  SUSHI_API_KEY,
2477
2487
  VENTUALS_API_KEY
2478
2488
  } from "@funkit/api-base";
2479
- import { bitcoinChain } from "@funkit/chains";
2489
+ import { MONAD_CHAIN_ID as MONAD_CHAIN_ID2, bitcoinChain } from "@funkit/chains";
2480
2490
  import { FlagKey } from "@funkit/utils";
2481
2491
  import { arbitrum as arbitrum2, base as base4, polygon as polygon2 } from "viem/chains";
2482
2492
  var FUN_INTERNAL_USERS = [
@@ -2577,6 +2587,14 @@ var QR_CODE_WITH_SOLANA = {
2577
2587
  // solana - only enable once customers are on v5.0.11, anything prior will break
2578
2588
  1151111081099710: ["SOL", "USDC", "USDT", "TRUMP", "USDe"]
2579
2589
  };
2590
+ var QR_CODE_WITH_BITCOIN = {
2591
+ ...QR_CODE_WITH_SOLANA,
2592
+ [bitcoinChain.id]: ["BTC"]
2593
+ };
2594
+ var QR_CODE_WITH_MONAD = {
2595
+ ...QR_CODE_WITH_BITCOIN,
2596
+ [MONAD_CHAIN_ID2]: ["MON", "USDC"]
2597
+ };
2580
2598
  var WITHDRAWAL_CHAINS_AND_ASSETS = {
2581
2599
  ...COMMON_SUPPORT_CHAINS_AND_ASSETS,
2582
2600
  // solana
@@ -2639,7 +2657,7 @@ var flagConfig = {
2639
2657
  {
2640
2658
  key: "apiKey",
2641
2659
  type: "isAnyOf",
2642
- values: [KATANA_API_KEY2]
2660
+ values: [KATANA_API_KEY2, MONAD_API_KEY]
2643
2661
  }
2644
2662
  ],
2645
2663
  value: true
@@ -2752,6 +2770,37 @@ var flagConfig = {
2752
2770
  ...QR_CODE_WITH_SOLANA[42161].filter((token) => token !== "USDe")
2753
2771
  ]
2754
2772
  })
2773
+ },
2774
+ // Omit MON as a source asset for Monad
2775
+ {
2776
+ if_any: [
2777
+ {
2778
+ key: "apiKey",
2779
+ type: "isAnyOf",
2780
+ values: [MONAD_API_KEY]
2781
+ }
2782
+ ],
2783
+ value: JSON.stringify({
2784
+ ...QR_CODE_WITH_MONAD,
2785
+ [MONAD_CHAIN_ID2]: [
2786
+ ...QR_CODE_WITH_MONAD[MONAD_CHAIN_ID2].filter(
2787
+ (token) => token !== "MON"
2788
+ )
2789
+ ]
2790
+ })
2791
+ },
2792
+ {
2793
+ if_any: [
2794
+ {
2795
+ key: "apiKey",
2796
+ type: "isAnyOf",
2797
+ values: [POLYMARKET_API_KEY2]
2798
+ }
2799
+ ],
2800
+ value: JSON.stringify(QR_CODE_WITH_BITCOIN)
2801
+ // TODO: uncomment when Polymarket will bump their package version
2802
+ // Otherwise it will break their modal!!
2803
+ // value: JSON.stringify(QR_CODE_WITH_MONAD),
2755
2804
  }
2756
2805
  ]
2757
2806
  },
@@ -2867,7 +2916,34 @@ var flagConfig = {
2867
2916
  },
2868
2917
  [FlagKey.TokenTransferNewTokens]: {
2869
2918
  type: "string",
2870
- default_value: ""
2919
+ default_value: "",
2920
+ overrides: [
2921
+ // To make sure we will not display new token badges for Monad
2922
+ {
2923
+ if_any: [
2924
+ {
2925
+ key: "apiKey",
2926
+ type: "isAnyOf",
2927
+ values: [MONAD_API_KEY]
2928
+ }
2929
+ ],
2930
+ value: ""
2931
+ }
2932
+ // TODO: uncomment when Polymarket will bump their package version
2933
+ // otherwise it will break their modal!!
2934
+ // {
2935
+ // if_any: [
2936
+ // {
2937
+ // key: 'apiKey',
2938
+ // type: 'isAnyOf',
2939
+ // values: [POLYMARKET_API_KEY],
2940
+ // },
2941
+ // ],
2942
+ // value: JSON.stringify({
2943
+ // [MONAD_CHAIN_ID]: ['MON'],
2944
+ // }),
2945
+ // },
2946
+ ]
2871
2947
  },
2872
2948
  [FlagKey.NewTokenAssetSelectionBanner]: {
2873
2949
  type: "string",
@@ -3190,6 +3266,7 @@ var flagConfig = {
3190
3266
  type: "boolean",
3191
3267
  default_value: true,
3192
3268
  overrides: [
3269
+ // Actually disable bitcoin for Ethereal
3193
3270
  {
3194
3271
  if_any: [
3195
3272
  {
@@ -3199,6 +3276,17 @@ var flagConfig = {
3199
3276
  }
3200
3277
  ],
3201
3278
  value: false
3279
+ },
3280
+ // Disable bitcoin for Monad and Polymarket to explicitly enable it.
3281
+ {
3282
+ if_any: [
3283
+ {
3284
+ key: "apiKey",
3285
+ type: "isAnyOf",
3286
+ values: [MONAD_API_KEY, POLYMARKET_API_KEY2]
3287
+ }
3288
+ ],
3289
+ value: false
3202
3290
  }
3203
3291
  ]
3204
3292
  },
@@ -3888,19 +3976,7 @@ function getCheckoutTokenTransferParams({
3888
3976
  };
3889
3977
  const dynamicTargetAssetCandidates = checkoutConfig.dynamicTargetAssetCandidates;
3890
3978
  if (dynamicTargetAssetCandidates?.[0]) {
3891
- const defaultCandidate = dynamicTargetAssetCandidates.find(
3892
- (candidate) => candidate.isDefault
3893
- );
3894
- if (!defaultCandidate) {
3895
- logger.error(
3896
- "No default candidate found for dynamic target asset candidates",
3897
- void 0,
3898
- {
3899
- checkoutConfig
3900
- }
3901
- );
3902
- return;
3903
- }
3979
+ const defaultCandidate = dynamicTargetAssetCandidates.find((candidate) => candidate.isDefault) || dynamicTargetAssetCandidates[0];
3904
3980
  return {
3905
3981
  ...commonParams,
3906
3982
  toChainId: defaultCandidate.tokenChainId,
@@ -7039,7 +7115,8 @@ var ASSET_LOGO_SRCS = {
7039
7115
  WVLP: "https://sdk-cdn.fun.xyz/images/wvlp.svg",
7040
7116
  LIQUIDHYPE: "https://sdk-cdn.fun.xyz/images/liquidhype.svg",
7041
7117
  VHYPE: "https://sdk-cdn.fun.xyz/images/vhype.png",
7042
- HBHYPE: "https://sdk-cdn.fun.xyz/images/hbhype.svg"
7118
+ HBHYPE: "https://sdk-cdn.fun.xyz/images/hbhype.svg",
7119
+ MON: "https://sdk-cdn.fun.xyz/images/monad.svg"
7043
7120
  };
7044
7121
  var FALLBACK_ASSET = "https://sdk-cdn.fun.xyz/images/dollar_circle.png";
7045
7122
  function getAssetLogoSrc(symbol) {
@@ -7705,20 +7782,18 @@ var topSectionDynamicPadding = "n5qwi1 _1rsrm2fgz";
7705
7782
  var FunBottomBar = ({
7706
7783
  topSection = null,
7707
7784
  actionButtonProps,
7708
- bottomSection,
7709
7785
  onClose
7710
7786
  }) => {
7711
7787
  const { t } = useFunkitTranslation();
7712
7788
  const { uiCustomizations } = useFunkitConfig();
7713
7789
  const showTagline = useFlag(FlagKey7.ShowPoweredTagline);
7714
- const defaultBottomSection = showTagline ? /* @__PURE__ */ React39.createElement(FunPoweredTagline, null) : void 0;
7715
- const bottomSectionComponent = bottomSection ?? defaultBottomSection;
7790
+ const powerTagline = showTagline ? /* @__PURE__ */ React39.createElement(FunPoweredTagline, null) : void 0;
7716
7791
  const hasMultipleButtons = !!onClose;
7717
7792
  const customButtonRadius = showTagline || hasMultipleButtons ? void 0 : isMobile2() ? "modalActionButtonMobile" : "modalActionButton";
7718
- if (!topSection && !bottomSection && !actionButtonProps && !onClose) {
7793
+ if (!topSection && !actionButtonProps && !onClose && !powerTagline) {
7719
7794
  return null;
7720
7795
  }
7721
- return /* @__PURE__ */ React39.createElement(Box, null, /* @__PURE__ */ React39.createElement(Box, { className: topSectionDynamicPadding }, topSection), /* @__PURE__ */ React39.createElement(Box, { display: "flex", gap: "8" }, onClose && /* @__PURE__ */ React39.createElement(
7796
+ return /* @__PURE__ */ React39.createElement(Box, null, (topSection || !powerTagline) && /* @__PURE__ */ React39.createElement(Box, { className: topSectionDynamicPadding }, topSection), /* @__PURE__ */ React39.createElement(Box, { display: "flex", gap: "8" }, onClose && /* @__PURE__ */ React39.createElement(
7722
7797
  FunButton,
7723
7798
  {
7724
7799
  onClick: onClose,
@@ -7742,7 +7817,7 @@ var FunBottomBar = ({
7742
7817
  uppercase: uiCustomizations?.callToActionsUppercase,
7743
7818
  testId: "bottom-bar-action-button"
7744
7819
  }
7745
- )), bottomSectionComponent && /* @__PURE__ */ React39.createElement(Box, { paddingTop: "10" }, bottomSectionComponent));
7820
+ )), powerTagline && /* @__PURE__ */ React39.createElement(Box, { paddingTop: "10" }, powerTagline));
7746
7821
  };
7747
7822
 
7748
7823
  // src/components/FunButton/FunBackButton.tsx
@@ -8707,7 +8782,7 @@ var FunTooltip = ({
8707
8782
  ref: tooltipRef,
8708
8783
  width
8709
8784
  },
8710
- /* @__PURE__ */ React47.createElement(AnimatePresence3, null, isDisplayed && /* @__PURE__ */ React47.createElement(
8785
+ /* @__PURE__ */ React47.createElement(AnimatePresence3, null, isDisplayed && content2 && /* @__PURE__ */ React47.createElement(
8711
8786
  motion4.div,
8712
8787
  {
8713
8788
  initial: { opacity: 0 },
@@ -11837,7 +11912,8 @@ var default_configs_default = {
11837
11912
  "0x7b97b46D35a28B561d47F50CFB9a2735E506e59d",
11838
11913
  "0x409ad08cc6CA757f69Fb80250a424B9eFeB99807",
11839
11914
  "0x02A86f51aA7B8b1c17c30364748d5Ae4a0727E23",
11840
- "0x64131b60502C01362639CC5cfE1a1efB6Be1165A"
11915
+ "0x64131b60502C01362639CC5cfE1a1efB6Be1165A",
11916
+ "0xb84440Ee8BAD69c14755bBb7093f861c3512E3D1"
11841
11917
  ]
11842
11918
  },
11843
11919
  array_of_strings: {
@@ -11866,6 +11942,9 @@ var default_configs_default = {
11866
11942
  boolean: {
11867
11943
  value: false
11868
11944
  },
11945
+ brokerage_hide_you_receive: {
11946
+ value: false
11947
+ },
11869
11948
  showinfobanner: {
11870
11949
  value: {
11871
11950
  message: "",
@@ -15715,6 +15794,9 @@ var ConnectedMeshPaymentMethodItem = ({
15715
15794
  } = useBluvoExchangeBalance({ exchange: paymentMethodInfo.exchange });
15716
15795
  const sourceBalance = assetHoldings ? getTotalAssetBalance(assetHoldings) : 0;
15717
15796
  const label = usePaymentMethodInfoLabel(paymentMethodInfo);
15797
+ const keyText = t("sourceChange.brokerageDisplayLabel", {
15798
+ brokerageLabel: label.text
15799
+ });
15718
15800
  const { estimatedTimeText } = useCheckoutTimeEstimate(
15719
15801
  apiKey,
15720
15802
  null,
@@ -15745,7 +15827,7 @@ var ConnectedMeshPaymentMethodItem = ({
15745
15827
  isError: !!isBalanceError,
15746
15828
  isActive: isSelected,
15747
15829
  keyIcon: icon,
15748
- keyText: label.text,
15830
+ keyText,
15749
15831
  valueIcon: isSelected && showSelectedCheckmark && /* @__PURE__ */ React79.createElement(CheckIcon, null),
15750
15832
  onClick: onSelect,
15751
15833
  disclaimerText
@@ -15912,13 +15994,16 @@ var ActiveFiatAccountPaymentMethodItem = ({
15912
15994
  const { t } = useFunkitTranslation();
15913
15995
  const label = usePaymentMethodInfoLabel(paymentMethodInfo);
15914
15996
  const customerStatus = paymentMethodInfo.bridgeCustomer?.status;
15997
+ const keyText = t("sourceChange.virtualFiatDisplayLabel", {
15998
+ virtualFiatLabel: label.text
15999
+ });
15915
16000
  return /* @__PURE__ */ React79.createElement(
15916
16001
  FunPaymentMethodItem,
15917
16002
  {
15918
16003
  isActive,
15919
16004
  keyIcon: label.icon,
15920
16005
  valueIcon: customValueIcon ?? (customerStatus === BridgeCustomerStatus3.OFFBOARDED && /* @__PURE__ */ React79.createElement(BridgeCustomerStatusBadge, { status: customerStatus })),
15921
- keyText: label.text,
16006
+ keyText,
15922
16007
  onClick,
15923
16008
  disclaimerText: t("payment.disclaimerText", {
15924
16009
  limit: t("payment.noLimit"),
@@ -18048,7 +18133,7 @@ import {
18048
18133
  import React114, { useCallback as useCallback22, useEffect as useEffect32, useMemo as useMemo24, useState as useState33 } from "react";
18049
18134
 
18050
18135
  // src/components/FunCheckoutHistory/FunDirectExecutionHistoryDetail.tsx
18051
- import { hyperEvmChain as hyperEvmChain2 } from "@funkit/chains";
18136
+ import { ETHEREAL_CHAIN_ID as ETHEREAL_CHAIN_ID2, hyperEvmChain as hyperEvmChain2 } from "@funkit/chains";
18052
18137
  import {
18053
18138
  formatAddress as formatAddress4,
18054
18139
  formatTimestamp as formatTimestamp2,
@@ -18405,7 +18490,8 @@ function FunDirectExecutionHistoryDetail({
18405
18490
  customTextConfigStatus,
18406
18491
  customTextConfigSteps,
18407
18492
  dangerousCustomDelayedAutoTriggerCutoff,
18408
- disableAutoUpdate = false
18493
+ disableAutoUpdate = false,
18494
+ hideYouReceive = false
18409
18495
  }) {
18410
18496
  const { t } = useFunkitTranslation();
18411
18497
  const isLoaded = !!directExecution;
@@ -18470,7 +18556,8 @@ function FunDirectExecutionHistoryDetail({
18470
18556
  {
18471
18557
  directExecution,
18472
18558
  isLoaded,
18473
- disableAutoUpdate
18559
+ disableAutoUpdate,
18560
+ hideYouReceive
18474
18561
  }
18475
18562
  ), /* @__PURE__ */ React113.createElement(
18476
18563
  DirectExecutionOrderDetail,
@@ -18498,7 +18585,8 @@ function FunDirectExecutionHistoryDetail({
18498
18585
  function DirectExecutionSummaryHistory({
18499
18586
  directExecution,
18500
18587
  isLoaded,
18501
- disableAutoUpdate = false
18588
+ disableAutoUpdate = false,
18589
+ hideYouReceive = false
18502
18590
  }) {
18503
18591
  const { t } = useFunkitTranslation();
18504
18592
  const { uiCustomizations } = useFunkitConfig();
@@ -18557,7 +18645,7 @@ function DirectExecutionSummaryHistory({
18557
18645
  }
18558
18646
  )
18559
18647
  }
18560
- ) : /* @__PURE__ */ React113.createElement(PaymentRouteSummarySkeletonLoader, null)), /* @__PURE__ */ React113.createElement(FunTxSummaryBox, null, /* @__PURE__ */ React113.createElement(FunTxSummaryLineItem, null, /* @__PURE__ */ React113.createElement(FunTxSummaryLineItemKeyText, { text: receiveAmountLabel }), isLoaded && clientMetadata ? /* @__PURE__ */ React113.createElement(Box, { display: "flex", gap: "5", alignItems: "center" }, /* @__PURE__ */ React113.createElement(
18648
+ ) : /* @__PURE__ */ React113.createElement(PaymentRouteSummarySkeletonLoader, null)), hideYouReceive ? null : /* @__PURE__ */ React113.createElement(FunTxSummaryBox, null, /* @__PURE__ */ React113.createElement(FunTxSummaryLineItem, null, /* @__PURE__ */ React113.createElement(FunTxSummaryLineItemKeyText, { text: receiveAmountLabel }), isLoaded && clientMetadata ? /* @__PURE__ */ React113.createElement(Box, { display: "flex", gap: "5", alignItems: "center" }, /* @__PURE__ */ React113.createElement(
18561
18649
  AsyncImage,
18562
18650
  {
18563
18651
  src: clientMetadata.initSettings.config.iconSrc || "",
@@ -18655,7 +18743,8 @@ function DirectExecutionOrderDetailSection({
18655
18743
  })), /* @__PURE__ */ React113.createElement(Text, { color: "tertiaryText", size: "12" }, getTimestamp2(updatedTime))));
18656
18744
  }
18657
18745
  var lzOftChainEnumToChainId = {
18658
- hyperliquid: hyperEvmChain2.id
18746
+ hyperliquid: hyperEvmChain2.id,
18747
+ ethereal: ETHEREAL_CHAIN_ID2
18659
18748
  };
18660
18749
  function getLzOftDestinationChain(de) {
18661
18750
  const lzData = de.listenerInfo?.layerzeroExecutionStatusResponse?.data?.[0];
@@ -18813,14 +18902,14 @@ var overrideStatus = (de, status) => {
18813
18902
  } : void 0
18814
18903
  };
18815
18904
  };
18816
- var getFakeDirectExecution = (checkoutItem) => {
18905
+ var getFakeDirectExecution = (checkoutItem, walletAddress) => {
18817
18906
  return {
18818
18907
  // It must be empty as empty string disables auto refresh of data
18819
18908
  txHash: "",
18820
18909
  // version: 1,
18821
18910
  customerId: "",
18822
18911
  userId: "",
18823
- recipientAddr: checkoutItem.initSettings.config.customRecipient,
18912
+ recipientAddr: checkoutItem.initSettings.config.customRecipient ?? walletAddress,
18824
18913
  type: DirectExecutionType2.RELAY,
18825
18914
  fromChainId: checkoutItem.selectedSourceAssetInfo.chainId,
18826
18915
  fromTokenAddress: checkoutItem.selectedSourceAssetInfo.address,
@@ -18867,6 +18956,7 @@ var BrokerageSuccess = ({
18867
18956
  });
18868
18957
  const { checkoutItem, setCheckoutProgress } = useCheckoutContext();
18869
18958
  const { exchangeType } = useBluvo();
18959
+ const { walletAddress } = useGeneralWallet();
18870
18960
  const [directExecution, setDirectExecution] = useState33(null);
18871
18961
  useIsomorphicLayoutEffect(() => {
18872
18962
  if (!checkoutItem) {
@@ -18874,7 +18964,7 @@ var BrokerageSuccess = ({
18874
18964
  }
18875
18965
  if (!directExecution) {
18876
18966
  setCheckoutProgress(checkoutItem.id, { step: 1 });
18877
- setDirectExecution(getFakeDirectExecution(checkoutItem));
18967
+ setDirectExecution(getFakeDirectExecution(checkoutItem, walletAddress));
18878
18968
  }
18879
18969
  }, [directExecution, checkoutItem, setCheckoutProgress]);
18880
18970
  const latestDirectExecution = useMemo24(() => {
@@ -18969,7 +19059,8 @@ var BrokerageSuccess = ({
18969
19059
  isActiveCheckout: true,
18970
19060
  showCheckoutStatus: true,
18971
19061
  onClose: handleClose,
18972
- onAnimationComplete: handleNewDeposit
19062
+ onAnimationComplete: handleNewDeposit,
19063
+ hideYouReceive: true
18973
19064
  }
18974
19065
  );
18975
19066
  };
@@ -25873,6 +25964,7 @@ var FunAssetItem = ({
25873
25964
  isDisabled = false,
25874
25965
  isChainIconHidden = false,
25875
25966
  badgeText,
25967
+ badgeTooltip,
25876
25968
  onClick,
25877
25969
  testId
25878
25970
  }) => {
@@ -25950,7 +26042,7 @@ var FunAssetItem = ({
25950
26042
  justifyContent: "flex-end",
25951
26043
  gap: "12"
25952
26044
  },
25953
- badgeText && /* @__PURE__ */ React165.createElement(FunBadge, { borderColor: "generalBorder" }, badgeText),
26045
+ badgeText && /* @__PURE__ */ React165.createElement(FunTooltip, { content: badgeTooltip, startDelay: 150 }, /* @__PURE__ */ React165.createElement(FunBadge, { borderColor: "generalBorder" }, badgeText)),
25954
26046
  /* @__PURE__ */ React165.createElement(Box, { fontSize: TEXT_SIZE_MEDIUM, fontWeight: "medium" }, formatCurrencyAndStringify10(asset.usdAmount || 0))
25955
26047
  )
25956
26048
  )
@@ -26790,7 +26882,8 @@ function useAssetOptions({
26790
26882
  isDefault,
26791
26883
  isDisabled,
26792
26884
  isUserSelected,
26793
- priority
26885
+ priority,
26886
+ minUsdRequired: usableForCheckout.minUsdRequired
26794
26887
  };
26795
26888
  }).sort(
26796
26889
  (a, b) => (
@@ -26996,7 +27089,7 @@ function AccountSelectAsset({
26996
27089
  }
26997
27090
  ) : void 0
26998
27091
  }
26999
- ) : /* @__PURE__ */ React173.createElement(Box, { display: "flex", flexDirection: "column", gap: "4" }, assetOptions.map(({ asset, isDisabled: isDisabled2, badgeText }) => /* @__PURE__ */ React173.createElement(
27092
+ ) : /* @__PURE__ */ React173.createElement(Box, { display: "flex", flexDirection: "column", gap: "4" }, assetOptions.map(({ asset, isDisabled: isDisabled2, badgeText, minUsdRequired }) => /* @__PURE__ */ React173.createElement(
27000
27093
  FunAssetItem,
27001
27094
  {
27002
27095
  key: asset.chainSymbolKey,
@@ -27005,6 +27098,9 @@ function AccountSelectAsset({
27005
27098
  isDisabled: isDisabled2,
27006
27099
  isChainIconHidden: paymentMethodInfo.paymentMethod === "brokerage" /* BROKERAGE */,
27007
27100
  badgeText: isPolymarketCustomer(apiKey) && badgeText === t("badge.sameAsset") ? "" : badgeText,
27101
+ badgeTooltip: minUsdRequired ? t("selectAsset.lowBalanceTooltip", {
27102
+ amount: formatCurrencyAndStringify11(minUsdRequired)
27103
+ }) : void 0,
27008
27104
  onClick: () => setSelectedChainTokenSymbol(asset.chainSymbolKey)
27009
27105
  }
27010
27106
  )));
@@ -27768,7 +27864,7 @@ function CopyInputDisplayedAddressI18n({
27768
27864
  }
27769
27865
  function CopyInputDisplayedAddress(props) {
27770
27866
  const { i18n: i18n2 } = useFunkitTranslation();
27771
- const isEnglish = i18n2.language === "en";
27867
+ const isEnglish = i18n2.language === "en" || i18n2.language === "buy_en";
27772
27868
  return isEnglish ? /* @__PURE__ */ React176.createElement(CopyInputDisplayedAddressEN, { ...props }) : /* @__PURE__ */ React176.createElement(CopyInputDisplayedAddressI18n, { ...props });
27773
27869
  }
27774
27870
 
@@ -30638,9 +30734,7 @@ var usePaymentMethodInfoLabel = (methodInfo, iconSize = DEFAULT_PAYMENT_METHOD_I
30638
30734
  if (methodInfo.paymentMethod === "brokerage" /* BROKERAGE */) {
30639
30735
  const icon2 = getExchangeIcon(methodInfo.exchange, iconSize);
30640
30736
  const brokerageLabel = methodInfo.title;
30641
- const text = t("sourceChange.brokerageDisplayLabel", {
30642
- brokerageLabel
30643
- });
30737
+ const text = brokerageLabel;
30644
30738
  return { text, icon: icon2 };
30645
30739
  }
30646
30740
  if (methodInfo.paymentMethod === "virtual_bank" /* VIRTUAL_BANK */) {
@@ -30648,9 +30742,7 @@ var usePaymentMethodInfoLabel = (methodInfo, iconSize = DEFAULT_PAYMENT_METHOD_I
30648
30742
  methodInfo.title,
30649
30743
  methodInfo.matchingFiatAccount
30650
30744
  );
30651
- const text = t("sourceChange.virtualFiatDisplayLabel", {
30652
- virtualFiatLabel
30653
- });
30745
+ const text = virtualFiatLabel;
30654
30746
  const icon2 = /* @__PURE__ */ React209.createElement(
30655
30747
  PaymentMethodIcon,
30656
30748
  {
@@ -30715,17 +30807,17 @@ var PaymentRouteSummary = ({
30715
30807
  const { uiCustomizations } = useFunkitConfig();
30716
30808
  const customDestinationConfig = uiCustomizations?.confirmationScreen?.destinationConfig;
30717
30809
  const isAccountPayment = paymentMethodInfo?.paymentMethod === "balance" /* ACCOUNT_BALANCE */;
30718
- const isSameDestination = isAccountPayment && !customRecipient;
30810
+ const isSameDestination = isAccountPayment && !customRecipient && !customDestinationConfig;
30719
30811
  const sourceComponent = paymentMethodInfo && /* @__PURE__ */ React210.createElement(
30720
30812
  PaymentSource,
30721
30813
  {
30722
30814
  isSameDestination,
30723
30815
  paymentMethodInfo,
30724
- redirect: sourceRedirect,
30816
+ redirect: isSameDestination ? destinationRedirect : sourceRedirect,
30725
30817
  isWithdrawal
30726
30818
  }
30727
30819
  );
30728
- const destinationComponent = (!isSameDestination || customDestinationConfig) && /* @__PURE__ */ React210.createElement(
30820
+ const destinationComponent = !isSameDestination && /* @__PURE__ */ React210.createElement(
30729
30821
  PaymentDestination,
30730
30822
  {
30731
30823
  destinationConfig: customDestinationConfig,
@@ -33616,6 +33708,7 @@ import React240, { useRef as useRef30 } from "react";
33616
33708
 
33617
33709
  // src/components/FunCheckoutBlocked/FunCheckoutBlocked.tsx
33618
33710
  import React239 from "react";
33711
+ import { Trans as Trans13 } from "react-i18next";
33619
33712
 
33620
33713
  // src/components/FunCheckoutBlocked/FunCheckoutBlocked.css.ts
33621
33714
  var funCheckoutBlockedStyle = "hkjz5k0";
@@ -33625,10 +33718,29 @@ var FunCheckoutBlocked = ({ reason }) => {
33625
33718
  const { t } = useFunkitTranslation();
33626
33719
  const blockedReasonToDescription = {
33627
33720
  geoblock: t("funCheckoutBlocked.geoblock", { orgName: FUN_ORG_NAME }),
33628
- security: t("funCheckoutBlocked.security", { orgName: FUN_ORG_NAME })
33721
+ security: /* @__PURE__ */ React239.createElement(
33722
+ Trans13,
33723
+ {
33724
+ t,
33725
+ i18nKey: "funCheckoutBlocked.security",
33726
+ components: {
33727
+ ContactSupportLink: /* @__PURE__ */ React239.createElement(ContactSupportLink, { size: "10" })
33728
+ },
33729
+ values: {
33730
+ orgName: FUN_ORG_NAME
33731
+ }
33732
+ }
33733
+ )
33629
33734
  };
33630
33735
  const description = blockedReasonToDescription[reason];
33631
- return /* @__PURE__ */ React239.createElement(Box, { className: funCheckoutBlockedStyle }, /* @__PURE__ */ React239.createElement(FunAlert, { icon: /* @__PURE__ */ React239.createElement(FunInfoIcon, null), description }));
33736
+ return /* @__PURE__ */ React239.createElement(Box, { className: funCheckoutBlockedStyle }, /* @__PURE__ */ React239.createElement(
33737
+ FunAlert,
33738
+ {
33739
+ icon: /* @__PURE__ */ React239.createElement(FunInfoIcon, null),
33740
+ description,
33741
+ verticalAlignment: "top"
33742
+ }
33743
+ ));
33632
33744
  };
33633
33745
 
33634
33746
  // src/modals/CheckoutModal/FunCheckoutModal.tsx
@@ -35793,7 +35905,7 @@ var en_default = {
35793
35905
  },
35794
35906
  funCheckoutBlocked: {
35795
35907
  geoblock: "Sorry, {{orgName}} Checkout is not available in your region.",
35796
- security: "Sorry, {{orgName}} Checkout is unable to proceed for security reasons."
35908
+ security: `Sorry, {{orgName}} Checkout is unable to proceed for security reasons. If you feel you've received this message in error, please <ContactSupportLink text="contact support" />.`
35797
35909
  },
35798
35910
  payment: {
35799
35911
  depositWithPayPal: "Deposit with PayPal",
@@ -35873,7 +35985,8 @@ var en_default = {
35873
35985
  warpcastLink: "Warpcast Link"
35874
35986
  },
35875
35987
  selectAsset: {
35876
- yourTokens: "Your tokens"
35988
+ yourTokens: "Your tokens",
35989
+ lowBalanceTooltip: "Minimum required: {{amount}}"
35877
35990
  },
35878
35991
  transferToken: {
35879
35992
  noLimit: "No limit",
@@ -36302,7 +36415,7 @@ var es_default = {
36302
36415
  },
36303
36416
  funCheckoutBlocked: {
36304
36417
  geoblock: "Lo sentimos, {{orgName}} Checkout no est\xE1 disponible en tu regi\xF3n.",
36305
- security: "Lo sentimos, {{orgName}} Checkout no puede continuar por razones de seguridad."
36418
+ security: 'Lo sentimos, {{orgName}} Checkout no puede continuar por razones de seguridad. Si crees que has recibido este mensaje por error, por favor <ContactSupportLink text="contacta a soporte" />.'
36306
36419
  },
36307
36420
  payment: {
36308
36421
  depositWithPayPal: "Depositar con PayPal",
@@ -36382,7 +36495,8 @@ var es_default = {
36382
36495
  warpcastLink: "Enlace de Warpcast"
36383
36496
  },
36384
36497
  selectAsset: {
36385
- yourTokens: "Tus tokens"
36498
+ yourTokens: "Tus tokens",
36499
+ lowBalanceTooltip: "M\xEDnimo requerido: {{amount}}"
36386
36500
  },
36387
36501
  transferToken: {
36388
36502
  noLimit: "Sin l\xEDmite",
@@ -36811,7 +36925,7 @@ var ja_default = {
36811
36925
  },
36812
36926
  funCheckoutBlocked: {
36813
36927
  geoblock: "\u7533\u3057\u8A33\u3054\u3056\u3044\u307E\u305B\u3093\u3002\u304A\u4F4F\u307E\u3044\u306E\u5730\u57DF\u3067\u306F{{orgName}}\u306E\u30C1\u30A7\u30C3\u30AF\u30A2\u30A6\u30C8\u3092\u3054\u5229\u7528\u3044\u305F\u3060\u3051\u307E\u305B\u3093\u3002",
36814
- security: "\u7533\u3057\u8A33\u3054\u3056\u3044\u307E\u305B\u3093\u3002\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u4E0A\u306E\u7406\u7531\u306B\u3088\u308A\u3001{{orgName}}\u306E\u30C1\u30A7\u30C3\u30AF\u30A2\u30A6\u30C8\u3092\u7D9A\u884C\u3067\u304D\u307E\u305B\u3093\u3002"
36928
+ security: '\u7533\u3057\u8A33\u3054\u3056\u3044\u307E\u305B\u3093\u3002\u30BB\u30AD\u30E5\u30EA\u30C6\u30A3\u4E0A\u306E\u7406\u7531\u306B\u3088\u308A\u3001{{orgName}}\u306E\u30C1\u30A7\u30C3\u30AF\u30A2\u30A6\u30C8\u3092\u7D9A\u884C\u3067\u304D\u307E\u305B\u3093\u3002\u8AA4\u3063\u3066\u3053\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u53D7\u3051\u53D6\u3063\u305F\u3068\u601D\u308F\u308C\u308B\u5834\u5408\u306F\u3001<ContactSupportLink text="\u30B5\u30DD\u30FC\u30C8\u306B\u304A\u554F\u3044\u5408\u308F\u305B\u304F\u3060\u3055\u3044" />\u3002'
36815
36929
  },
36816
36930
  payment: {
36817
36931
  depositWithPayPal: "PayPal\u3067\u5165\u91D1",
@@ -36891,7 +37005,8 @@ var ja_default = {
36891
37005
  warpcastLink: "Warpcast\u30EA\u30F3\u30AF"
36892
37006
  },
36893
37007
  selectAsset: {
36894
- yourTokens: "\u3042\u306A\u305F\u306E\u30C8\u30FC\u30AF\u30F3"
37008
+ yourTokens: "\u3042\u306A\u305F\u306E\u30C8\u30FC\u30AF\u30F3",
37009
+ lowBalanceTooltip: "\u6700\u4F4E\u5FC5\u8981\u984D: {{amount}}"
36895
37010
  },
36896
37011
  transferToken: {
36897
37012
  noLimit: "\u5236\u9650\u306A\u3057",
@@ -37320,7 +37435,7 @@ var ko_default = {
37320
37435
  },
37321
37436
  funCheckoutBlocked: {
37322
37437
  geoblock: "\uC8C4\uC1A1\uD569\uB2C8\uB2E4. {{orgName}} \uACB0\uC81C\uB294 \uADC0\uD558\uC758 \uC9C0\uC5ED\uC5D0\uC11C \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",
37323
- security: "\uC8C4\uC1A1\uD569\uB2C8\uB2E4. {{orgName}} \uACB0\uC81C\uB294 \uBCF4\uC548\uC0C1\uC758 \uC774\uC720\uB85C \uC9C4\uD589\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."
37438
+ security: '\uC8C4\uC1A1\uD569\uB2C8\uB2E4. {{orgName}} \uACB0\uC81C\uB294 \uBCF4\uC548\uC0C1\uC758 \uC774\uC720\uB85C \uC9C4\uD589\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uC774 \uBA54\uC2DC\uC9C0\uB97C \uC798\uBABB \uBC1B\uC73C\uC168\uB2E4\uACE0 \uC0DD\uAC01\uB418\uBA74 <ContactSupportLink text="\uACE0\uAC1D \uC9C0\uC6D0\uD300\uC5D0 \uBB38\uC758" />\uD558\uC138\uC694.'
37324
37439
  },
37325
37440
  payment: {
37326
37441
  depositWithPayPal: "PayPal\uB85C \uC785\uAE08",
@@ -37400,7 +37515,8 @@ var ko_default = {
37400
37515
  warpcastLink: "Warpcast \uB9C1\uD06C"
37401
37516
  },
37402
37517
  selectAsset: {
37403
- yourTokens: "\uB0B4 \uD1A0\uD070"
37518
+ yourTokens: "\uB0B4 \uD1A0\uD070",
37519
+ lowBalanceTooltip: "\uCD5C\uC18C \uD544\uC694 \uAE08\uC561: {{amount}}"
37404
37520
  },
37405
37521
  transferToken: {
37406
37522
  noLimit: "\uC81C\uD55C \uC5C6\uC74C",
@@ -37829,7 +37945,7 @@ var ru_default = {
37829
37945
  },
37830
37946
  funCheckoutBlocked: {
37831
37947
  geoblock: "\u041A \u0441\u043E\u0436\u0430\u043B\u0435\u043D\u0438\u044E, \u043E\u043F\u043B\u0430\u0442\u0430 \u0447\u0435\u0440\u0435\u0437 {{orgName}} \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0430 \u0432 \u0432\u0430\u0448\u0435\u043C \u0440\u0435\u0433\u0438\u043E\u043D\u0435.",
37832
- security: "\u041A \u0441\u043E\u0436\u0430\u043B\u0435\u043D\u0438\u044E, \u043E\u043F\u043B\u0430\u0442\u0430 \u0447\u0435\u0440\u0435\u0437 {{orgName}} \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0435\u043D\u0430 \u043F\u043E \u0441\u043E\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F\u043C \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u0438."
37948
+ security: '\u041A \u0441\u043E\u0436\u0430\u043B\u0435\u043D\u0438\u044E, \u043E\u043F\u043B\u0430\u0442\u0430 \u0447\u0435\u0440\u0435\u0437 {{orgName}} \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0435\u043D\u0430 \u043F\u043E \u0441\u043E\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F\u043C \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u043E\u0441\u0442\u0438. \u0415\u0441\u043B\u0438 \u0432\u044B \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0435, \u0447\u0442\u043E \u043F\u043E\u043B\u0443\u0447\u0438\u043B\u0438 \u044D\u0442\u043E \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u043F\u043E \u043E\u0448\u0438\u0431\u043A\u0435, \u043F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, <ContactSupportLink text="\u0441\u0432\u044F\u0436\u0438\u0442\u0435\u0441\u044C \u0441\u043E \u0441\u043B\u0443\u0436\u0431\u043E\u0439 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0438" />.'
37833
37949
  },
37834
37950
  payment: {
37835
37951
  depositWithPayPal: "\u0414\u0435\u043F\u043E\u0437\u0438\u0442 \u0447\u0435\u0440\u0435\u0437 PayPal",
@@ -37909,7 +38025,8 @@ var ru_default = {
37909
38025
  warpcastLink: "\u0421\u0441\u044B\u043B\u043A\u0430 Warpcast"
37910
38026
  },
37911
38027
  selectAsset: {
37912
- yourTokens: "\u0412\u0430\u0448\u0438 \u0442\u043E\u043A\u0435\u043D\u044B"
38028
+ yourTokens: "\u0412\u0430\u0448\u0438 \u0442\u043E\u043A\u0435\u043D\u044B",
38029
+ lowBalanceTooltip: "\u041C\u0438\u043D\u0438\u043C\u0443\u043C \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F: {{amount}}"
37913
38030
  },
37914
38031
  transferToken: {
37915
38032
  noLimit: "\u0411\u0435\u0437 \u043B\u0438\u043C\u0438\u0442\u0430",
@@ -38338,7 +38455,7 @@ var tr_default = {
38338
38455
  },
38339
38456
  funCheckoutBlocked: {
38340
38457
  geoblock: "\xDCzg\xFCn\xFCz, {{orgName}} Checkout b\xF6lgenizde kullan\u0131lam\u0131yor.",
38341
- security: "\xDCzg\xFCn\xFCz, {{orgName}} Checkout g\xFCvenlik nedenleriyle devam edemiyor."
38458
+ security: '\xDCzg\xFCn\xFCz, {{orgName}} Checkout g\xFCvenlik nedenleriyle devam edemiyor. Bu mesaj\u0131 yanl\u0131\u015Fl\u0131kla ald\u0131\u011F\u0131n\u0131z\u0131 d\xFC\u015F\xFCn\xFCyorsan\u0131z, l\xFCtfen <ContactSupportLink text="destek ile ileti\u015Fime ge\xE7in" />.'
38342
38459
  },
38343
38460
  payment: {
38344
38461
  depositWithPayPal: "PayPal ile Yat\u0131r",
@@ -38418,7 +38535,8 @@ var tr_default = {
38418
38535
  warpcastLink: "Warpcast Ba\u011Flant\u0131s\u0131"
38419
38536
  },
38420
38537
  selectAsset: {
38421
- yourTokens: "Token'lar\u0131n\u0131z"
38538
+ yourTokens: "Token'lar\u0131n\u0131z",
38539
+ lowBalanceTooltip: "Minimum gerekli: {{amount}}"
38422
38540
  },
38423
38541
  transferToken: {
38424
38542
  noLimit: "Limit yok",
@@ -38847,7 +38965,7 @@ var zh_default = {
38847
38965
  },
38848
38966
  funCheckoutBlocked: {
38849
38967
  geoblock: "\u62B1\u6B49\uFF0C{{orgName}} \u7ED3\u8D26\u5728\u60A8\u6240\u5728\u7684\u5730\u533A\u4E0D\u53EF\u7528\u3002",
38850
- security: "\u62B1\u6B49\uFF0C\u51FA\u4E8E\u5B89\u5168\u539F\u56E0\uFF0C{{orgName}} \u7ED3\u8D26\u65E0\u6CD5\u7EE7\u7EED\u3002"
38968
+ security: '\u62B1\u6B49\uFF0C\u51FA\u4E8E\u5B89\u5168\u539F\u56E0\uFF0C{{orgName}} \u7ED3\u8D26\u65E0\u6CD5\u7EE7\u7EED\u3002\u5982\u679C\u60A8\u8BA4\u4E3A\u6536\u5230\u6B64\u6D88\u606F\u6709\u8BEF\uFF0C\u8BF7<ContactSupportLink text="\u8054\u7CFB\u652F\u6301" />\u3002'
38851
38969
  },
38852
38970
  payment: {
38853
38971
  depositWithPayPal: "\u901A\u8FC7PayPal\u5B58\u6B3E",
@@ -38927,7 +39045,8 @@ var zh_default = {
38927
39045
  warpcastLink: "Warpcast \u94FE\u63A5"
38928
39046
  },
38929
39047
  selectAsset: {
38930
- yourTokens: "\u60A8\u7684\u4EE3\u5E01"
39048
+ yourTokens: "\u60A8\u7684\u4EE3\u5E01",
39049
+ lowBalanceTooltip: "\u6700\u4F4E\u8981\u6C42\uFF1A{{amount}}"
38931
39050
  },
38932
39051
  transferToken: {
38933
39052
  noLimit: "\u65E0\u9650\u989D",
@@ -23,7 +23,7 @@ export declare const flagConfig: {
23
23
  readonly if_any: [{
24
24
  readonly key: "apiKey";
25
25
  readonly type: "isAnyOf";
26
- readonly values: ["OXLUmejkh9PlNDS4gSvi9gcEWacOpTz2KUVepVf4"];
26
+ readonly values: ["OXLUmejkh9PlNDS4gSvi9gcEWacOpTz2KUVepVf4", "2hicPxo2vy2NMHcg2cEU9crOeKtDpc14NEfMCthc"];
27
27
  }];
28
28
  readonly value: true;
29
29
  }];
@@ -83,6 +83,20 @@ export declare const flagConfig: {
83
83
  readonly values: ["M3uox3cw0u8YCPV9cIREA6AugUMvPFTk6qOpm4um"];
84
84
  }];
85
85
  readonly value: string;
86
+ }, {
87
+ readonly if_any: [{
88
+ readonly key: "apiKey";
89
+ readonly type: "isAnyOf";
90
+ readonly values: ["2hicPxo2vy2NMHcg2cEU9crOeKtDpc14NEfMCthc"];
91
+ }];
92
+ readonly value: string;
93
+ }, {
94
+ readonly if_any: [{
95
+ readonly key: "apiKey";
96
+ readonly type: "isAnyOf";
97
+ readonly values: ["Y53dikxXdT4E3afI1l8BMBSWgyhKvf65k6Dut1k6"];
98
+ }];
99
+ readonly value: string;
86
100
  }];
87
101
  };
88
102
  readonly withdrawal_chains_and_assets: {
@@ -158,6 +172,14 @@ export declare const flagConfig: {
158
172
  readonly token_transfer_new_tokens: {
159
173
  readonly type: "string";
160
174
  readonly default_value: string;
175
+ readonly overrides: [{
176
+ readonly if_any: [{
177
+ readonly key: "apiKey";
178
+ readonly type: "isAnyOf";
179
+ readonly values: ["2hicPxo2vy2NMHcg2cEU9crOeKtDpc14NEfMCthc"];
180
+ }];
181
+ readonly value: "";
182
+ }];
161
183
  };
162
184
  readonly new_token_asset_selection_banner: {
163
185
  readonly type: "string";
@@ -302,6 +324,13 @@ export declare const flagConfig: {
302
324
  readonly values: ["M3uox3cw0u8YCPV9cIREA6AugUMvPFTk6qOpm4um"];
303
325
  }];
304
326
  readonly value: false;
327
+ }, {
328
+ readonly if_any: [{
329
+ readonly key: "apiKey";
330
+ readonly type: "isAnyOf";
331
+ readonly values: ["2hicPxo2vy2NMHcg2cEU9crOeKtDpc14NEfMCthc", "Y53dikxXdT4E3afI1l8BMBSWgyhKvf65k6Dut1k6"];
332
+ }];
333
+ readonly value: false;
305
334
  }];
306
335
  };
307
336
  readonly chain_info_banners: {
@@ -38,12 +38,12 @@ import {
38
38
  import {
39
39
  rabbyWallet
40
40
  } from "./chunk-BBOM42DL.js";
41
- import {
42
- rainbowWallet
43
- } from "./chunk-2KUBG3S6.js";
44
41
  import {
45
42
  ramperWallet
46
43
  } from "./chunk-BYXPFMI7.js";
44
+ import {
45
+ rainbowWallet
46
+ } from "./chunk-2KUBG3S6.js";
47
47
  import {
48
48
  roninWallet
49
49
  } from "./chunk-NWIQNBJU.js";
@@ -57,14 +57,14 @@ import {
57
57
  safepalWallet
58
58
  } from "./chunk-NT2HYJKW.js";
59
59
  import {
60
- ledgerWallet
61
- } from "./chunk-BRBKM4PW.js";
62
- import {
63
- mewWallet
64
- } from "./chunk-OL5ZO7E4.js";
60
+ injectedWallet
61
+ } from "./chunk-XWUJE7MW.js";
65
62
  import {
66
63
  metaMaskWallet
67
64
  } from "./chunk-2HYNUNAS.js";
65
+ import {
66
+ mewWallet
67
+ } from "./chunk-OL5ZO7E4.js";
68
68
  import {
69
69
  oktoWallet
70
70
  } from "./chunk-ADIXAKUL.js";
@@ -86,21 +86,21 @@ import {
86
86
  import {
87
87
  frameWallet
88
88
  } from "./chunk-IFON7E6U.js";
89
- import {
90
- frontierWallet
91
- } from "./chunk-TCAGNB4B.js";
92
89
  import {
93
90
  gateWallet
94
91
  } from "./chunk-FKJJQNKX.js";
92
+ import {
93
+ frontierWallet
94
+ } from "./chunk-TCAGNB4B.js";
95
95
  import {
96
96
  imTokenWallet
97
97
  } from "./chunk-COZ7MIQS.js";
98
- import {
99
- injectedWallet
100
- } from "./chunk-XWUJE7MW.js";
101
98
  import {
102
99
  kresusWallet
103
100
  } from "./chunk-MJXPRJZT.js";
101
+ import {
102
+ ledgerWallet
103
+ } from "./chunk-BRBKM4PW.js";
104
104
  import {
105
105
  bybitWallet
106
106
  } from "./chunk-2STUC6QL.js";
@@ -125,12 +125,12 @@ import {
125
125
  import {
126
126
  enkryptWallet
127
127
  } from "./chunk-OLOIXTYS.js";
128
- import {
129
- argentWallet
130
- } from "./chunk-WSQ2YJO2.js";
131
128
  import {
132
129
  bifrostWallet
133
130
  } from "./chunk-A5N6B5UW.js";
131
+ import {
132
+ argentWallet
133
+ } from "./chunk-WSQ2YJO2.js";
134
134
  import {
135
135
  bitgetWallet
136
136
  } from "./chunk-TDAVGY5F.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@funkit/connect",
3
- "version": "6.15.6",
3
+ "version": "6.15.8",
4
4
  "description": "Funkit Connect SDK elevates DeFi apps via web2 sign-ins and one-click checkouts.",
5
5
  "files": [
6
6
  "dist",