@funkit/connect 6.15.5 → 6.15.6

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,20 @@
1
1
  # @funkit/connect
2
2
 
3
+ ## 6.15.6
4
+
5
+ ### Patch Changes
6
+
7
+ - 2090fa9: feat(connect): add meld min buffer if getMinDepositUSD is present
8
+ - 644a170: feat(connect): add min deposit for bluvo
9
+ - e1d9272: feat(connect,chains): update block explorer and enable custom paths to support lighter
10
+ - ffd6da0: fix(connect): prioritize dynamic target for EOA creation
11
+ - 29d82ce: feat(connect): add `buy_en` language with buy-centered copy
12
+ - aa9b43f: fix(connect): added an empty wallet state for Source Change screen
13
+ - Updated dependencies [e1d9272]
14
+ - @funkit/chains@0.4.7
15
+ - @funkit/core@2.3.64
16
+ - @funkit/wagmi-tools@3.0.87
17
+
3
18
  ## 6.15.5
4
19
 
5
20
  ### Patch Changes
@@ -22,6 +22,7 @@ export declare enum BluvoExchangeStatus {
22
22
  Maintenance = "maintenance",
23
23
  ComingSoon = "coming_soon"
24
24
  }
25
+ export declare const BLUVO_MIN_DEPOSIT_BY_CUSTOMER: Record<string, number>;
25
26
  export declare const SUPPORTED_EXCHANGES: readonly [{
26
27
  readonly exchange: BluvoExchangeType.Coinbase;
27
28
  readonly status: BluvoExchangeStatus.Live;
@@ -1,3 +1,4 @@
1
+ export declare const MELD_MIN_LIMIT_BUFFER = 5;
1
2
  export declare const getMeldProviderIconUrl: (provider: string) => string;
2
3
  /** Utilizes locale formatting to get currency symbol out of a currency code */
3
4
  export declare const getCurrencySymbol: (currencyCode: string) => string;
@@ -1,10 +1,24 @@
1
1
  import { type CheckoutInitTokenTransferAddressParams, type CheckoutInitTokenTransferResponse, type FunAddress } from '@funkit/api-base';
2
+ import { type FunkitCheckoutConfig } from '~/providers/FunkitCheckoutContext';
2
3
  interface UseCheckoutTransferInitResponse {
3
4
  transferInit: CheckoutInitTokenTransferResponse | undefined;
4
5
  recipientAddr: FunAddress;
5
6
  }
6
7
  type CheckoutTokenTransferParams = Omit<CheckoutInitTokenTransferAddressParams, 'logger' | 'clientMetadata'>;
7
8
  export declare function checkoutTransferFetch(params: CheckoutTokenTransferParams): Promise<CheckoutInitTokenTransferResponse>;
9
+ export declare function getCheckoutTokenTransferParams({ checkoutConfig, userId, recipientAddr, apiKey, }: {
10
+ checkoutConfig: FunkitCheckoutConfig | undefined;
11
+ userId: string;
12
+ recipientAddr: FunAddress;
13
+ apiKey: string;
14
+ }): {
15
+ toChainId: string;
16
+ toTokenAddress: `0x${string}`;
17
+ userId: string;
18
+ apiKey: string;
19
+ recipientAddr: FunAddress;
20
+ actionType: string | undefined;
21
+ } | undefined;
8
22
  /**
9
23
  * creates QR code transfer EOA
10
24
  */
@@ -0,0 +1,5 @@
1
+ import { PaymentMethod } from '~/domains/paymentMethods';
2
+ export declare function useMinCheckoutDeposit({ currency, paymentMethod, }: {
3
+ currency?: string;
4
+ paymentMethod?: PaymentMethod;
5
+ }): number;
package/dist/index.css CHANGED
@@ -10114,6 +10114,14 @@
10114
10114
  var(--rk-colors-offBackground) 91.45%);
10115
10115
  }
10116
10116
 
10117
+ /* vanilla-extract-css-ns:src/modals/CheckoutModal/SourceChange/sourceChange.css.ts.vanilla.css?source=Ll8xNGtmNnJiMCB7CiAgZGlzcGxheTogbm9uZTsKfQpbZGF0YS13aXRoLWVtcHR5LXN0YXRlXTplbXB0eSB+IC5fMTRrZjZyYjAgewogIGRpc3BsYXk6IGJsb2NrOwp9 */
10118
+ [data-rk] ._14kf6rb0 {
10119
+ display: none;
10120
+ }
10121
+ [data-rk] [data-with-empty-state]:empty ~ ._14kf6rb0 {
10122
+ display: block;
10123
+ }
10124
+
10117
10125
  /* vanilla-extract-css-ns:src/components/CopyAddress/CopyInputDisplayedAddress.css.ts.vanilla.css?source=#H4sIAAAAAAAAA81WXavbOBB9v79iKFxIwDJyUqe97ktp90e0+7LI8jgRkSUjKfcmXe5/L5LtxLLTNN2FUgKx9TEzZ2aOj/Rxj6fasAYt/JPty28onhD+fQCgj+EB4AxTttamIdqIrVAF5PQR6OOHeLXoXiVz+HVBl2C0Yw6/LGiF2yVYziQusmVnpFvGhTsVkPnx6wNAlg/h5msbOluj6dvOUy2kQ1NAKQ9msWqPy7ND+r8S2NDHSwpkPU4i3UyzoFewbM5YXh8+zmtc9zVORplfx+kTuYWURFDvQerL835e0+zu0v0M0i92//UhHcqyDnH1wUmhkHAttSngmZkFIWbfjS1h3AmtPvvBX8KyUmIVPJfaVGhIqZ3TDZFYO2JYJQ525MJPCMK1Usjdp4NzWl2xNWK7+wXjkLrwoApgUkKW08YCP5SCkxK/CTQLmq4ToAnQlG4S8JUYZf02ZE0I3yHfE8G1IhVKdiogzXL7YbbG7I7ourboCt+L2YZubfBBg4dWDwgNSubEM/rZF1G5XQHZpj364Q594pdxJWwbfGyNqIIXyTgS4bCxBXBUDk2cSVGUWGvTSQjXyqFyBbx5E0NgpdXy4AIEp9sCVl0837PzoMf2FEPrh32/hhathtkjsTtW6ZcChLLogIZflubtEfjBGFQuEGfatjORIV3lNumC9+9d6H4QBQ5zsauh6h1pph2d0IU40Qi1JfVB8Q7HhDSrPFAmECenCWQppctpxVnt0NxfcNMV8lwyz/jfV3QuRUta5oO0Wp62Wnmp9J9GkJ3h6f8S76R/btpj4v9g0NW5Mp3tftbbXn/+gObloWsjER3pdrTNFyzstc7oPQYJGBRgDvaiD6GaAffIkBnjk8xoV+xk0JB+S0+BVZpPCzkLDul6pnM/yPquMo+FKy7B5opEjmVwdUUGI/27IZDpysaxIhEbJHLt6RyJ5Hlm8l2862avnY0Lkr7LPZW753Ia9/Ipz0jRFXF8ko9M319srpJ+dhiNmkRnTZqA/nsxoe3TFOF565fFirbH5Q1bFmyvn0bn40aocP7XEo+RcXnDuEVjW+R+GLg9aQKx7iSxgNagRfOMZF1FrnlwPUVQSs333g9TomGBu4o1OFA3nk1AaYXLeHtE9cl0AtROtx8M63KjgzxdFv+j4Ixd1EJK0ugKC6i1eWGmshGtpjj7hdmVpfohBe65kd6+Vt64J9DLLYHehzvQ7zsc4XsT5QwAAA== */
10118
10126
  @keyframes _1kbzei9e {
10119
10127
  0% {
package/dist/index.js CHANGED
@@ -1266,7 +1266,7 @@ function abortCheckoutQuote() {
1266
1266
  // src/utils/checkout.ts
1267
1267
  import {
1268
1268
  CheckoutState as CheckoutState2,
1269
- ETHEREAL_API_KEY as ETHEREAL_API_KEY3,
1269
+ ETHEREAL_API_KEY as ETHEREAL_API_KEY4,
1270
1270
  HYENA_API_KEY as HYENA_API_KEY3,
1271
1271
  getAssetPriceInfo
1272
1272
  } from "@funkit/api-base";
@@ -1514,7 +1514,7 @@ function setFunkitConnectVersion({ version }) {
1514
1514
  localStorage.setItem(storageKey, version);
1515
1515
  }
1516
1516
  function getCurrentSdkVersion() {
1517
- return "6.15.5";
1517
+ return "6.15.6";
1518
1518
  }
1519
1519
  function useFingerprint() {
1520
1520
  const fingerprint = useCallback2(() => {
@@ -1886,6 +1886,7 @@ var useFunkitSwitchChains = ({
1886
1886
  import { exhaustiveCheck, formatAddress as formatAddress2 } from "@funkit/utils";
1887
1887
 
1888
1888
  // src/consts/bluvo.tsx
1889
+ import { ETHEREAL_API_KEY } from "@funkit/api-base";
1889
1890
  import React15 from "react";
1890
1891
 
1891
1892
  // src/components/Icons/BinanceIcon.tsx
@@ -2027,6 +2028,9 @@ var KrakenIcon = ({ size = 24 }) => {
2027
2028
  };
2028
2029
 
2029
2030
  // src/consts/bluvo.tsx
2031
+ var BLUVO_MIN_DEPOSIT_BY_CUSTOMER = {
2032
+ [ETHEREAL_API_KEY]: 15
2033
+ };
2030
2034
  var SUPPORTED_EXCHANGES = [
2031
2035
  { exchange: "coinbase" /* Coinbase */, status: "live" /* Live */ },
2032
2036
  {
@@ -2405,7 +2409,7 @@ import {
2405
2409
  BANKR_API_KEY,
2406
2410
  BASED_API_KEY,
2407
2411
  BSX_API_KEY,
2408
- ETHEREAL_API_KEY,
2412
+ ETHEREAL_API_KEY as ETHEREAL_API_KEY2,
2409
2413
  HYENA_API_KEY,
2410
2414
  HYPERBEAT_API_KEY,
2411
2415
  HYPERDASH_API_KEY,
@@ -2426,7 +2430,7 @@ function isBankrCustomer(apiKey) {
2426
2430
  return apiKey === BANKR_API_KEY;
2427
2431
  }
2428
2432
  function isEtherealCustomer(apiKey) {
2429
- return apiKey === ETHEREAL_API_KEY;
2433
+ return apiKey === ETHEREAL_API_KEY2;
2430
2434
  }
2431
2435
  function isKatanaCustomer(apiKey) {
2432
2436
  return apiKey === KATANA_API_KEY;
@@ -2455,7 +2459,7 @@ import {
2455
2459
  BASED_API_KEY as BASED_API_KEY2,
2456
2460
  BULLPEN_API_KEY,
2457
2461
  CAMBRIA_API_KEY,
2458
- ETHEREAL_API_KEY as ETHEREAL_API_KEY2,
2462
+ ETHEREAL_API_KEY as ETHEREAL_API_KEY3,
2459
2463
  FELIX_API_KEY,
2460
2464
  HYENA_API_KEY as HYENA_API_KEY2,
2461
2465
  HYPERBEAT_API_KEY as HYPERBEAT_API_KEY2,
@@ -2549,7 +2553,7 @@ var COMMON_SUPPORT_CHAINS_AND_ASSETS = {
2549
2553
  // mainnet
2550
2554
  1: ["USDC", "DAI", "USDT", "ETH", "WETH", "POL", "MATIC", "CBBTC", "USDe"],
2551
2555
  // base
2552
- 8453: ["USDC", "USDT", "DAI", "ETH", "WETH", "CBBTC"],
2556
+ 8453: ["USDC", "USDT", "DAI", "ETH", "WETH", "CBBTC", "USDe"],
2553
2557
  // arbitrum
2554
2558
  42161: ["USDC", "USDT", "DAI", "ETH", "WETH", "ARB", "USDe"],
2555
2559
  // polygon
@@ -2557,7 +2561,7 @@ var COMMON_SUPPORT_CHAINS_AND_ASSETS = {
2557
2561
  // optimism
2558
2562
  10: ["USDC", "USDT", "DAI", "ETH", "WETH", "USDe"],
2559
2563
  // bsc
2560
- 56: ["USDC", "USDT", "BNB", "WBNB", "ETH", "DAI", "BUSD", "BTCB"]
2564
+ 56: ["USDC", "USDT", "BNB", "WBNB", "ETH", "DAI", "BUSD", "BTCB", "USDe"]
2561
2565
  };
2562
2566
  var QR_CODE_EVM = {
2563
2567
  ...COMMON_SUPPORT_CHAINS_AND_ASSETS,
@@ -2685,7 +2689,7 @@ var flagConfig = {
2685
2689
  HYPERDASH_API_KEY2,
2686
2690
  MONKEY_TILT_API_KEY2,
2687
2691
  VENTUALS_API_KEY,
2688
- ETHEREAL_API_KEY2,
2692
+ ETHEREAL_API_KEY3,
2689
2693
  AVANTIS_API_KEY2,
2690
2694
  MONAD_API_KEY,
2691
2695
  BULLPEN_API_KEY,
@@ -2737,7 +2741,7 @@ var flagConfig = {
2737
2741
  {
2738
2742
  key: "apiKey",
2739
2743
  type: "isAnyOf",
2740
- values: [ETHEREAL_API_KEY2]
2744
+ values: [ETHEREAL_API_KEY3]
2741
2745
  }
2742
2746
  ],
2743
2747
  // For Ethereal, sort USDe to the front of the list on Arbitrum so it becomes the default
@@ -2799,7 +2803,7 @@ var flagConfig = {
2799
2803
  {
2800
2804
  key: "apiKey",
2801
2805
  type: "isAnyOf",
2802
- values: [OSTIUM_API_KEY2, ETHEREAL_API_KEY2]
2806
+ values: [OSTIUM_API_KEY2, ETHEREAL_API_KEY3]
2803
2807
  }
2804
2808
  ],
2805
2809
  value: arbitrum2.id.toString()
@@ -3015,7 +3019,8 @@ var flagConfig = {
3015
3019
  POLYMARKET_API_KEY2,
3016
3020
  HYPERDASH_API_KEY2,
3017
3021
  HYENA_API_KEY2,
3018
- ETHEREAL_API_KEY2
3022
+ ETHEREAL_API_KEY3,
3023
+ MONAD_API_KEY
3019
3024
  ]
3020
3025
  }
3021
3026
  ],
@@ -3093,7 +3098,7 @@ var flagConfig = {
3093
3098
  VENTUALS_API_KEY,
3094
3099
  AVANTIS_API_KEY2,
3095
3100
  HYENA_API_KEY2,
3096
- ETHEREAL_API_KEY2,
3101
+ ETHEREAL_API_KEY3,
3097
3102
  MONAD_API_KEY
3098
3103
  ]
3099
3104
  }
@@ -3190,7 +3195,7 @@ var flagConfig = {
3190
3195
  {
3191
3196
  key: "apiKey",
3192
3197
  type: "isAnyOf",
3193
- values: [ETHEREAL_API_KEY2]
3198
+ values: [ETHEREAL_API_KEY3]
3194
3199
  }
3195
3200
  ],
3196
3201
  value: false
@@ -3863,6 +3868,60 @@ async function checkoutTransferFetch(params) {
3863
3868
  clientMetadata: COMMON_CLIENT_METADATA
3864
3869
  });
3865
3870
  }
3871
+ function getCheckoutTokenTransferParams({
3872
+ checkoutConfig,
3873
+ userId,
3874
+ recipientAddr,
3875
+ apiKey
3876
+ }) {
3877
+ if (!checkoutConfig) {
3878
+ return;
3879
+ }
3880
+ if (!checkoutConfig.targetChain) {
3881
+ return;
3882
+ }
3883
+ const commonParams = {
3884
+ userId,
3885
+ apiKey,
3886
+ recipientAddr,
3887
+ actionType: checkoutConfig.qrcodeActionType
3888
+ };
3889
+ const dynamicTargetAssetCandidates = checkoutConfig.dynamicTargetAssetCandidates;
3890
+ 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
+ }
3904
+ return {
3905
+ ...commonParams,
3906
+ toChainId: defaultCandidate.tokenChainId,
3907
+ toTokenAddress: defaultCandidate.tokenAddress
3908
+ };
3909
+ }
3910
+ if (!checkoutConfig.targetAsset) {
3911
+ return;
3912
+ }
3913
+ if (checkoutConfig.targetAsset === "0x") {
3914
+ return;
3915
+ }
3916
+ if (!checkoutConfig.targetChain) {
3917
+ return;
3918
+ }
3919
+ return {
3920
+ ...commonParams,
3921
+ toChainId: checkoutConfig.targetChain,
3922
+ toTokenAddress: checkoutConfig.targetAsset
3923
+ };
3924
+ }
3866
3925
  var useCheckoutTransferInit = () => {
3867
3926
  const { checkoutItem } = useCheckoutContext();
3868
3927
  const checkoutConfig = checkoutItem?.initSettings.config;
@@ -3870,21 +3929,20 @@ var useCheckoutTransferInit = () => {
3870
3929
  const { apiKey } = useFunkitConfig();
3871
3930
  const isQrCodeEnabled = useFlag(FlagKey4.EnableTokenTransfer, false);
3872
3931
  const recipientAddr = checkoutConfig?.customRecipient || walletAddress || "0x";
3873
- const queryKey = checkoutConfig?.targetAsset && checkoutConfig.targetAsset !== "0x" && checkoutConfig.targetChain && {
3874
- userId: userInfo.id || "",
3875
- toChainId: checkoutConfig.targetChain,
3876
- toTokenAddress: checkoutConfig.targetAsset,
3877
- recipientAddr,
3932
+ const userId = userInfo.id || "";
3933
+ const queryKey = getCheckoutTokenTransferParams({
3934
+ checkoutConfig,
3935
+ userId,
3878
3936
  apiKey,
3879
- actionType: checkoutConfig?.qrcodeActionType
3880
- };
3937
+ recipientAddr
3938
+ });
3881
3939
  const postActionOverride = isHyenaCustomer(apiKey);
3882
3940
  const isQRCodeEnabledWithPostAction = !!checkoutConfig && // either no post action required
3883
3941
  (!isCheckoutPostActionRequired(checkoutConfig) || // or action type is set
3884
3942
  !!checkoutConfig?.qrcodeActionType || postActionOverride);
3885
3943
  const { data, isFetching } = useQuery3({
3886
3944
  queryKey: ["initializeCheckoutTokenTransferAddress", queryKey],
3887
- queryFn: () => queryKey ? checkoutTransferFetch(queryKey) : void 0,
3945
+ queryFn: ({ queryKey: [_, queryKey2] }) => queryKey2 ? checkoutTransferFetch(queryKey2) : void 0,
3888
3946
  refetchOnWindowFocus: false,
3889
3947
  refetchOnMount: false,
3890
3948
  enabled: !!queryKey && // Is flag enabled
@@ -4256,16 +4314,27 @@ function FunkitCheckoutProvider({ children }) {
4256
4314
  });
4257
4315
  depositAddressOrHash = txHash;
4258
4316
  } else {
4259
- const newTransferInit = await checkoutTransferFetch({
4317
+ const queryParams = getCheckoutTokenTransferParams({
4318
+ checkoutConfig: checkoutItem.initSettings.config,
4260
4319
  userId: userInfo.id || "",
4261
- toChainId: checkoutItem.initSettings.config.targetChain,
4262
- toTokenAddress: checkoutItem.initSettings.config.targetAsset,
4263
4320
  recipientAddr: getCheckoutRecipient({
4264
4321
  config: checkoutItem.initSettings.config,
4265
4322
  walletAddress
4266
4323
  }),
4267
4324
  apiKey: funkitConfig.apiKey
4268
4325
  });
4326
+ if (!queryParams) {
4327
+ const missingQueryParamsError = new Error(
4328
+ "Unable to get query params"
4329
+ );
4330
+ logger.error(
4331
+ "directExecutionCheckout:missingQueryParams",
4332
+ missingQueryParamsError,
4333
+ { ...directExecutionLogContext, directExecutionType }
4334
+ );
4335
+ throw missingQueryParamsError;
4336
+ }
4337
+ const newTransferInit = await checkoutTransferFetch(queryParams);
4269
4338
  if (!newTransferInit?.depositAddr) {
4270
4339
  const missingDepositAddressError = new Error(
4271
4340
  "Unable to get transfer deposit address"
@@ -4646,12 +4715,17 @@ import { solanaChain as solanaChain2 } from "@funkit/chains";
4646
4715
  import { formatAddressLastFour } from "@funkit/utils";
4647
4716
  import { isAddress as isSolanaAddress } from "@solana/addresses";
4648
4717
  import { isAddress } from "viem";
4649
- var getWalletLabel = (textCustomizations, walletAddress) => {
4718
+ var getWalletLabel = (t, textCustomizations, walletAddress) => {
4650
4719
  if (walletAddress) {
4651
4720
  const formattedAddress = formatAddressLastFour(walletAddress);
4652
- return `${textCustomizations.accountBalance} (${formattedAddress})`;
4721
+ return t("checkout.walletLabelTemplate", {
4722
+ walletLabel: textCustomizations.accountBalance,
4723
+ formattedAddress
4724
+ });
4653
4725
  }
4654
- return `Connect ${textCustomizations.accountBalance}`;
4726
+ return t("checkout.connectWalletLabelTemplate", {
4727
+ walletLabel: textCustomizations.accountBalance
4728
+ });
4655
4729
  };
4656
4730
  function isAddressSupported(address) {
4657
4731
  return isAddress(address) || isSolanaAddress(address);
@@ -4974,7 +5048,7 @@ function computeDisplayDestinationToken(checkoutConfig, displayAssetAmount) {
4974
5048
  stakingTokenIcon
4975
5049
  };
4976
5050
  }
4977
- var LZOFT_CUSTOMERS = [ETHEREAL_API_KEY3, HYENA_API_KEY3];
5051
+ var LZOFT_CUSTOMERS = [ETHEREAL_API_KEY4, HYENA_API_KEY3];
4978
5052
  function isLayerZeroOftCheckout(apiKey, checkoutItem) {
4979
5053
  if (!LZOFT_CUSTOMERS.includes(apiKey)) {
4980
5054
  return false;
@@ -12064,7 +12138,7 @@ var useMaxSlippage = ({
12064
12138
  // src/utils/bluvo.ts
12065
12139
  var ASSETS_LOW_VALUE_THRESHOLD2 = 0.1;
12066
12140
  var isBrokerageAsset = (asset) => "minAmount" in asset && "maxAmount" in asset && asset.usdAmount !== null;
12067
- function getBrokerageMinMax(asset, minTransferLimits) {
12141
+ function getBrokerageMinMax(asset, minTransferLimits, minDeposit = 1) {
12068
12142
  const chainId = Number(asset.pickedChainId);
12069
12143
  const unitPrice = asset.usdAmount / asset.amount;
12070
12144
  const brokerageMin = Number.parseFloat(asset.minAmount);
@@ -12076,7 +12150,7 @@ function getBrokerageMinMax(asset, minTransferLimits) {
12076
12150
  minTransferLimits
12077
12151
  );
12078
12152
  return {
12079
- minUsd: Math.ceil(Math.max(tokenTransferMin, brokerageMinUsd)),
12153
+ minUsd: Math.ceil(Math.max(tokenTransferMin, brokerageMinUsd, minDeposit)),
12080
12154
  maxUsd: brokerageMaxUsd
12081
12155
  };
12082
12156
  }
@@ -12288,6 +12362,7 @@ var FunkitBrokerageContext = createContext12(void 0);
12288
12362
  var FunkitBrokerageProvider = ({
12289
12363
  children
12290
12364
  }) => {
12365
+ const { apiKey } = useFunkitConfig();
12291
12366
  const isSandboxMode = useIsFunkitSandboxMode();
12292
12367
  const minTransferRef = useRef13(useMinTransferLimits());
12293
12368
  const ORG_ID = isSandboxMode ? STAGE_ORG_ID : PROD_ORG_ID;
@@ -12330,8 +12405,12 @@ var FunkitBrokerageProvider = ({
12330
12405
  if (!selectedBrokerageAsset || !isBrokerageAsset(selectedBrokerageAsset)) {
12331
12406
  return null;
12332
12407
  }
12333
- return getBrokerageMinMax(selectedBrokerageAsset, minTransferRef.current);
12334
- }, [selectedBrokerageAsset]);
12408
+ return getBrokerageMinMax(
12409
+ selectedBrokerageAsset,
12410
+ minTransferRef.current,
12411
+ BLUVO_MIN_DEPOSIT_BY_CUSTOMER[apiKey]
12412
+ );
12413
+ }, [selectedBrokerageAsset, apiKey]);
12335
12414
  function getAuthConnectedExchanges() {
12336
12415
  if (typeof localStorage !== "undefined") {
12337
12416
  const connections = localStorage.getItem(LOCAL_STORAGE_KEY) || void 0;
@@ -14238,11 +14317,13 @@ var useWalletLabel = () => {
14238
14317
  const { walletAddress } = useGeneralWallet();
14239
14318
  const { textCustomizations, apiKey } = useFunkitConfig();
14240
14319
  const { checkoutItem } = useCheckoutContext();
14320
+ const { t } = useFunkitTranslation();
14241
14321
  if (isOstiumCustomer(apiKey) && walletAddress && checkoutItem) {
14242
14322
  const { config } = checkoutItem.initSettings;
14243
14323
  return `Swap to ${config.targetAssetTicker}`;
14244
14324
  }
14245
- return getWalletLabel(textCustomizations, walletAddress);
14325
+ const label = getWalletLabel(t, textCustomizations, walletAddress);
14326
+ return t("sourceChange.walletDisplayLabel", { walletLabel: label });
14246
14327
  };
14247
14328
 
14248
14329
  // src/modals/CheckoutModal/useWalletAssetHoldings.ts
@@ -18038,17 +18119,21 @@ var FunRedirectButton = ({
18038
18119
  }
18039
18120
  );
18040
18121
  };
18122
+ var normalizePath = (path) => {
18123
+ return path.startsWith("/") ? path.slice(1) : path;
18124
+ };
18041
18125
  var AddressRedirectButton = ({
18042
18126
  chainId,
18043
18127
  address,
18044
18128
  customRedirectUrl
18045
18129
  }) => {
18046
18130
  const explorerInfo = FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO12[chainId]?.explorerInfo;
18131
+ const addressPath = normalizePath(explorerInfo?.path?.address || "address");
18047
18132
  return /* @__PURE__ */ React109.createElement(
18048
18133
  FunRedirectButton,
18049
18134
  {
18050
18135
  color: "tertiaryText",
18051
- to: customRedirectUrl ?? `${explorerInfo?.url}/address/${address}`
18136
+ to: customRedirectUrl ?? `${explorerInfo?.url}/${addressPath}/${address}`
18052
18137
  }
18053
18138
  );
18054
18139
  };
@@ -18058,11 +18143,12 @@ var TransactionRedirectButton = ({
18058
18143
  customRedirectUrl
18059
18144
  }) => {
18060
18145
  const explorerInfo = FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO12[chainId]?.explorerInfo;
18146
+ const txPath = normalizePath(explorerInfo?.path?.tx || "tx");
18061
18147
  return /* @__PURE__ */ React109.createElement(
18062
18148
  FunRedirectButton,
18063
18149
  {
18064
18150
  color: "tertiaryText",
18065
- to: customRedirectUrl ?? `${explorerInfo?.url}/tx/${txHash}`
18151
+ to: customRedirectUrl ?? `${explorerInfo?.url}/${txPath}/${txHash}`
18066
18152
  }
18067
18153
  );
18068
18154
  };
@@ -22443,13 +22529,86 @@ var useMeldDefaultCurrency = (paymentMethod) => {
22443
22529
  // src/hooks/queries/useMeldLimits.ts
22444
22530
  import { getMeldFiatLimits } from "@funkit/api-base";
22445
22531
  import { formatCurrencyAndStringify as formatCurrencyAndStringify6 } from "@funkit/utils";
22532
+ import { useQuery as useQuery18 } from "@tanstack/react-query";
22533
+
22534
+ // src/consts/meld.ts
22535
+ var MELD_MIN_LIMIT_BUFFER = 5;
22536
+ var getMeldProviderIconUrl = (provider) => `https://sdk-cdn.fun.xyz/images/meld/${provider.toLowerCase()}.svg`;
22537
+ var getCurrencySymbol = (currencyCode) => {
22538
+ const formatter = new Intl.NumberFormat("en-US", {
22539
+ style: "currency",
22540
+ currency: currencyCode,
22541
+ currencyDisplay: "narrowSymbol"
22542
+ });
22543
+ return formatter.formatToParts(1).find(({ type }) => type === "currency")?.value ?? currencyCode;
22544
+ };
22545
+
22546
+ // src/utils/getExchangeRate.ts
22547
+ var DEFAULT_BIPS_MARKUP = 500;
22548
+ var getExchangeRate = (currency, currencyExchangeRates, bipsMarkup = DEFAULT_BIPS_MARKUP) => {
22549
+ if (!currency || !currencyExchangeRates) {
22550
+ return void 0;
22551
+ }
22552
+ if (currency === "USD") {
22553
+ return 1;
22554
+ }
22555
+ const exchangeRate = currency in currencyExchangeRates ? currencyExchangeRates[currency] : void 0;
22556
+ if (!exchangeRate) {
22557
+ return void 0;
22558
+ }
22559
+ return exchangeRate * (1 + bipsMarkup / 1e4);
22560
+ };
22561
+
22562
+ // src/hooks/useFiatExchangeRates.ts
22563
+ import { getFiatExchangeRates } from "@funkit/api-base";
22446
22564
  import { useQuery as useQuery17 } from "@tanstack/react-query";
22565
+ function useFiatExchangeRates(enabled = true) {
22566
+ const { data, isLoading, error } = useQuery17({
22567
+ queryKey: ["fiatExchangeRates"],
22568
+ queryFn: () => getFiatExchangeRates(),
22569
+ refetchOnMount: false,
22570
+ refetchOnReconnect: false,
22571
+ refetchOnWindowFocus: false,
22572
+ gcTime: 1e3 * 60 * 60,
22573
+ // 1 hour
22574
+ enabled
22575
+ });
22576
+ return { data, isLoading, error };
22577
+ }
22578
+
22579
+ // src/hooks/useMinDeposit.ts
22580
+ function useMinCheckoutDeposit({
22581
+ currency = "USD",
22582
+ paymentMethod
22583
+ }) {
22584
+ const { checkoutItem } = useCheckoutContext();
22585
+ const { data: exchangeRates } = useFiatExchangeRates(
22586
+ !!checkoutItem && currency !== "USD"
22587
+ );
22588
+ if (!checkoutItem) {
22589
+ logger.warn("useMinCheckoutDeposit: No checkout item found");
22590
+ return 0;
22591
+ }
22592
+ const { getMinDepositUSD, ...config } = checkoutItem.initSettings.config;
22593
+ const exchangeRate = getExchangeRate(currency, exchangeRates, 0) || 1;
22594
+ const tokenChainId = config.targetChain;
22595
+ const tokenAddress = config.targetAsset;
22596
+ const minDepositUsd = getMinDepositUSD?.({ tokenChainId, tokenAddress }) || 0;
22597
+ const minDeposit = minDepositUsd * exchangeRate;
22598
+ if (paymentMethod === "card" /* CARD */ && minDeposit) {
22599
+ const meldBuffer = MELD_MIN_LIMIT_BUFFER * exchangeRate;
22600
+ return minDeposit + meldBuffer;
22601
+ }
22602
+ return minDeposit;
22603
+ }
22604
+
22605
+ // src/hooks/queries/useMeldLimits.ts
22447
22606
  var useMeldLimits = (isEnabled = true) => {
22448
22607
  const { apiKey } = useFunkitConfig();
22449
22608
  const { userIpInfo } = useFunkitUserIp();
22450
22609
  const cryptoCurrency = useMeldCryptoCurrencyCode();
22451
22610
  const countryCode = userIpInfo?.alpha2;
22452
- const query = useQuery17({
22611
+ const query = useQuery18({
22453
22612
  queryKey: ["meld", "limits", countryCode, cryptoCurrency],
22454
22613
  queryFn: async () => {
22455
22614
  if (!apiKey || !countryCode) {
@@ -22477,9 +22636,18 @@ var useMeldLimits = (isEnabled = true) => {
22477
22636
  };
22478
22637
  var useMeldLimit = (fiatCurrency) => {
22479
22638
  const query = useMeldLimits();
22639
+ const minCheckoutDeposit = useMinCheckoutDeposit({
22640
+ currency: fiatCurrency,
22641
+ paymentMethod: "card" /* CARD */
22642
+ });
22643
+ let limit = query.data?.find((limit2) => limit2.currencyCode === fiatCurrency);
22644
+ if (limit) {
22645
+ const minAmt = Math.ceil(Math.max(minCheckoutDeposit, limit.minimumAmount));
22646
+ limit = { ...limit, minimumAmount: minAmt };
22647
+ }
22480
22648
  return {
22481
22649
  ...query,
22482
- data: query.data?.find((limit) => limit.currencyCode === fiatCurrency)
22650
+ data: limit
22483
22651
  };
22484
22652
  };
22485
22653
  var useMeldLimitError = (amount, fiatCurrency) => {
@@ -22521,23 +22689,6 @@ var useMeldLimitError = (amount, fiatCurrency) => {
22521
22689
  return void 0;
22522
22690
  };
22523
22691
 
22524
- // src/hooks/useFiatExchangeRates.ts
22525
- import { getFiatExchangeRates } from "@funkit/api-base";
22526
- import { useQuery as useQuery18 } from "@tanstack/react-query";
22527
- function useFiatExchangeRates(enabled = true) {
22528
- const { data, isLoading, error } = useQuery18({
22529
- queryKey: ["fiatExchangeRates"],
22530
- queryFn: () => getFiatExchangeRates(),
22531
- refetchOnMount: false,
22532
- refetchOnReconnect: false,
22533
- refetchOnWindowFocus: false,
22534
- gcTime: 1e3 * 60 * 60,
22535
- // 1 hour
22536
- enabled
22537
- });
22538
- return { data, isLoading, error };
22539
- }
22540
-
22541
22692
  // src/modals/CheckoutModal/InputAmount/InputAmountLoaded.tsx
22542
22693
  import {
22543
22694
  FlagKey as FlagKey20,
@@ -23491,22 +23642,6 @@ var YouPayYouReceiveBottomBarLayoutWrapper = ({
23491
23642
  );
23492
23643
  };
23493
23644
 
23494
- // src/utils/getExchangeRate.ts
23495
- var DEFAULT_BIPS_MARKUP = 500;
23496
- var getExchangeRate = (currency, currencyExchangeRates, bipsMarkup = DEFAULT_BIPS_MARKUP) => {
23497
- if (!currency || !currencyExchangeRates) {
23498
- return void 0;
23499
- }
23500
- if (currency === "USD") {
23501
- return 1;
23502
- }
23503
- const exchangeRate = currency in currencyExchangeRates ? currencyExchangeRates[currency] : void 0;
23504
- if (!exchangeRate) {
23505
- return void 0;
23506
- }
23507
- return exchangeRate * (1 + bipsMarkup / 1e4);
23508
- };
23509
-
23510
23645
  // src/components/Icons/SwitchIcon.tsx
23511
23646
  import React156 from "react";
23512
23647
  var SwitchIcon = () => {
@@ -24328,19 +24463,6 @@ import {
24328
24463
  formatCurrencyAndStringify as formatCurrencyAndStringify8
24329
24464
  } from "@funkit/utils";
24330
24465
  import React159 from "react";
24331
-
24332
- // src/consts/meld.ts
24333
- var getMeldProviderIconUrl = (provider) => `https://sdk-cdn.fun.xyz/images/meld/${provider.toLowerCase()}.svg`;
24334
- var getCurrencySymbol = (currencyCode) => {
24335
- const formatter = new Intl.NumberFormat("en-US", {
24336
- style: "currency",
24337
- currency: currencyCode,
24338
- currencyDisplay: "narrowSymbol"
24339
- });
24340
- return formatter.formatToParts(1).find(({ type }) => type === "currency")?.value ?? currencyCode;
24341
- };
24342
-
24343
- // src/components/MeldQuoteItem/MeldQuoteItem.tsx
24344
24466
  var providerLabelMap = {
24345
24467
  COINBASEPAY: "Coinbase Pay",
24346
24468
  MOONPAY: "MoonPay",
@@ -27148,6 +27270,10 @@ var DefiPurchaseSection = ({ config }) => {
27148
27270
  );
27149
27271
  };
27150
27272
 
27273
+ // src/modals/CheckoutModal/SourceChange/sourceChange.css.ts
27274
+ var WITH_EMPTY_STATE_DATA_ATTRIBUTE = "data-with-empty-state";
27275
+ var emptyStateStyles = "_14kf6rb0";
27276
+
27151
27277
  // src/modals/CheckoutModal/SourceChange/SourceChange.tsx
27152
27278
  var SourceChangeInfo = {
27153
27279
  Component: SourceChange,
@@ -27478,15 +27604,36 @@ function SourceChange({
27478
27604
  );
27479
27605
  }
27480
27606
  const bottomSectionRef = useBottomSectionRef();
27481
- return /* @__PURE__ */ React175.createElement(React175.Fragment, null, isDefiMode ? /* @__PURE__ */ React175.createElement(Box, { display: "flex", flexDirection: "column", gap: "28" }, /* @__PURE__ */ React175.createElement(DefiPurchaseSection, { config: checkoutItem.initSettings.config }), /* @__PURE__ */ React175.createElement(Box, { display: "flex", flexDirection: "column", gap: "16" }, /* @__PURE__ */ React175.createElement(Box, { display: "flex", flexDirection: "column", gap: "4" }, /* @__PURE__ */ React175.createElement(Text, { size: "13", color: "secondaryText" }, t("sourceChange.selectPaymentMethod")), preferred.map(renderSource)), /* @__PURE__ */ React175.createElement(Box, { display: "flex", flexDirection: "column", gap: "4" }, /* @__PURE__ */ React175.createElement(Text, { size: "13", color: "secondaryText" }, t("sourceChange.moreOptions")), moreSources.map(renderSource)))) : /* @__PURE__ */ React175.createElement(Box, { display: "flex", flexDirection: "column", gap: "4" }, preferred.map(renderSource), preferred.length > 0 && moreSources.length > 0 && /* @__PURE__ */ React175.createElement(
27482
- FunDivider,
27607
+ return /* @__PURE__ */ React175.createElement(React175.Fragment, null, isDefiMode ? /* @__PURE__ */ React175.createElement(Box, { display: "flex", flexDirection: "column", gap: "28" }, /* @__PURE__ */ React175.createElement(DefiPurchaseSection, { config: checkoutItem.initSettings.config }), /* @__PURE__ */ React175.createElement(Box, { display: "flex", flexDirection: "column", gap: "16" }, /* @__PURE__ */ React175.createElement(Box, { display: "flex", flexDirection: "column", gap: "4" }, /* @__PURE__ */ React175.createElement(Text, { size: "13", color: "secondaryText" }, t("sourceChange.selectPaymentMethod")), preferred.map(renderSource)), /* @__PURE__ */ React175.createElement(Box, { display: "flex", flexDirection: "column", gap: "4" }, /* @__PURE__ */ React175.createElement(Text, { size: "13", color: "secondaryText" }, t("sourceChange.moreOptions")), moreSources.map(renderSource)))) : /* @__PURE__ */ React175.createElement(React175.Fragment, null, /* @__PURE__ */ React175.createElement(
27608
+ Box,
27483
27609
  {
27484
- label: t("sourceChange.more"),
27485
- marginTop: "8",
27486
- marginBottom: "8",
27487
- borderColor: "selectedOptionBorder"
27610
+ display: "flex",
27611
+ flexDirection: "column",
27612
+ gap: "4",
27613
+ ...{
27614
+ [WITH_EMPTY_STATE_DATA_ATTRIBUTE]: true
27615
+ }
27616
+ },
27617
+ preferred.map(renderSource),
27618
+ preferred.length > 0 && moreSources.length > 0 && /* @__PURE__ */ React175.createElement(
27619
+ FunDivider,
27620
+ {
27621
+ label: t("sourceChange.more"),
27622
+ marginTop: "8",
27623
+ marginBottom: "8",
27624
+ borderColor: "selectedOptionBorder"
27625
+ }
27626
+ ),
27627
+ moreSources.map(renderSource),
27628
+ /* @__PURE__ */ React175.createElement(PayPal, null)
27629
+ ), /* @__PURE__ */ React175.createElement(Box, { className: emptyStateStyles }, /* @__PURE__ */ React175.createElement(
27630
+ FunNoResults,
27631
+ {
27632
+ text: t("checkout.noAvailableTokensMessage"),
27633
+ title: t("checkout.noAvailableTokens"),
27634
+ variant: "actionable"
27488
27635
  }
27489
- ), moreSources.map(renderSource), /* @__PURE__ */ React175.createElement(PayPal, null)), bottomSectionRef && createPortal18(
27636
+ ))), bottomSectionRef && createPortal18(
27490
27637
  /* @__PURE__ */ React175.createElement(
27491
27638
  Dialog.BottomBar,
27492
27639
  {
@@ -30483,32 +30630,42 @@ function usePaymentMethodIcon(paymentMethod, iconSize = DEFAULT_PAYMENT_METHOD_I
30483
30630
  }
30484
30631
  var usePaymentMethodInfoLabel = (methodInfo, iconSize = DEFAULT_PAYMENT_METHOD_ICON_SIZE) => {
30485
30632
  const { textCustomizations } = useFunkitConfig();
30633
+ const { t } = useFunkitTranslation();
30486
30634
  const paymentIcon = usePaymentMethodIcon(methodInfo.paymentMethod, iconSize);
30487
30635
  if (methodInfo.paymentMethod === "card" /* CARD */) {
30488
30636
  return { text: "", icon: /* @__PURE__ */ React209.createElement(CombinedCreditCardOptionsIcon, null) };
30489
30637
  }
30490
30638
  if (methodInfo.paymentMethod === "brokerage" /* BROKERAGE */) {
30491
30639
  const icon2 = getExchangeIcon(methodInfo.exchange, iconSize);
30492
- return { text: methodInfo.title, icon: icon2 };
30640
+ const brokerageLabel = methodInfo.title;
30641
+ const text = t("sourceChange.brokerageDisplayLabel", {
30642
+ brokerageLabel
30643
+ });
30644
+ return { text, icon: icon2 };
30493
30645
  }
30494
30646
  if (methodInfo.paymentMethod === "virtual_bank" /* VIRTUAL_BANK */) {
30647
+ const virtualFiatLabel = getFiatAccountLabel(
30648
+ methodInfo.title,
30649
+ methodInfo.matchingFiatAccount
30650
+ );
30651
+ const text = t("sourceChange.virtualFiatDisplayLabel", {
30652
+ virtualFiatLabel
30653
+ });
30654
+ const icon2 = /* @__PURE__ */ React209.createElement(
30655
+ PaymentMethodIcon,
30656
+ {
30657
+ keyIconSize: iconSize,
30658
+ paymentIcon: /* @__PURE__ */ React209.createElement(BankIconActive, { size: iconSize })
30659
+ }
30660
+ );
30495
30661
  return {
30496
- text: getFiatAccountLabel(
30497
- methodInfo.title,
30498
- methodInfo.matchingFiatAccount
30499
- ),
30500
- icon: /* @__PURE__ */ React209.createElement(
30501
- PaymentMethodIcon,
30502
- {
30503
- keyIconSize: iconSize,
30504
- paymentIcon: /* @__PURE__ */ React209.createElement(BankIconActive, { size: iconSize })
30505
- }
30506
- )
30662
+ text,
30663
+ icon: icon2
30507
30664
  };
30508
30665
  }
30509
30666
  const icon = /* @__PURE__ */ React209.createElement(Box, { display: "flex", alignItems: "center", justifyContent: "center" }, paymentIcon);
30510
30667
  if (methodInfo.paymentMethod === "balance" /* ACCOUNT_BALANCE */) {
30511
- const label = getWalletLabel(textCustomizations, methodInfo.description);
30668
+ const label = getWalletLabel(t, textCustomizations, methodInfo.description);
30512
30669
  return { text: label, icon };
30513
30670
  }
30514
30671
  return { text: methodInfo.title, icon };
@@ -35495,6 +35652,87 @@ var useUpdateActiveFunkitCheckout = () => {
35495
35652
  import i18n from "i18next";
35496
35653
  import { initReactI18next } from "react-i18next";
35497
35654
 
35655
+ // src/locales/translations/buy_en.json
35656
+ var buy_en_default = {
35657
+ inputAmount: {
35658
+ depositMaxBalance: "Buy with max balance",
35659
+ maximumDeposit: "{{amount}} maximum purchase",
35660
+ minimumDeposit: "{{amount}} minimum purchase"
35661
+ },
35662
+ checkoutConfirmation: {
35663
+ depositMaxBalance: "Buy with max balance"
35664
+ },
35665
+ payment: {
35666
+ depositWithPayPal: "Buy with PayPal",
35667
+ depositWithCard: "Buy with Card"
35668
+ },
35669
+ common: {
35670
+ depositsLive: "{{tokenName}} purchases are live!",
35671
+ depositsLiveTryNow: "{{tokenName}} purchases are live! <TryNowLink>Try now</TryNowLink>"
35672
+ },
35673
+ disclaimer: {
35674
+ cardDisclaimer: "This transaction occurs in two steps. MoonPay powers only your purchase of {{depositToken}} ({{sourceChainName}}) which {{orgName}} then {{tokenActionDescription}}."
35675
+ },
35676
+ transferToken: {
35677
+ minDepositAmountTooltip: "Minimum purchase amount required for the selected chain.",
35678
+ yourDepositAddress: "Your purchase address",
35679
+ depositAddressOriginalRecipient: "Send any accepted token to this address",
35680
+ depositAddressUniversal: "Send any accepted token to this address and it will auto swap to {{targetToken}} in your account"
35681
+ },
35682
+ transaction: {
35683
+ depositSuccessful: "Purchase successful",
35684
+ depositSuccessfulDescription: "Your funds were successfully received.",
35685
+ depositReceivedPending: "Purchase received and pending...",
35686
+ depositCompleted: "Purchase completed",
35687
+ depositReceivedProcessing: "Purchase is processing...",
35688
+ depositWillBeCredited: "Your purchase will be credited to your account shortly.",
35689
+ depositHasBeenCredited: "Your purchase has been credited to your account.",
35690
+ depositRefundedOrReprocessed: "Your purchase has been refunded or reprocessed. Feel free to reach out for an update.",
35691
+ issueOccurredWithDeposit: "An issue occurred with your purchase. Please try again.",
35692
+ depositDidntCompleteFull: `Your purchase didn't complete. <ContactSupportLink text="Contact us" /> for more info.`,
35693
+ depositDelayedFundsSafeFull: 'Your purchase is delayed but funds are safe. <ContactSupportLink text="Contact us" /> for more info.',
35694
+ depositExpired: "Purchase expired",
35695
+ depositDidntCompleteError: "Your purchase didn't complete due to an error.",
35696
+ depositDidntCompleteFundsSafe: "Your purchase didn't complete. Your funds are safe your order will process shortly. Feel free to reach out for an update.",
35697
+ depositBeingProcessedFull: 'Your purchase is being processed. <ContactSupportLink text="Contact us" /> for more info.',
35698
+ depositingIntoAccount: "Purchasing into your account...",
35699
+ waitingForExchangeToSendFunds: "Waiting for {{exchangeName}} to send funds..."
35700
+ },
35701
+ checkoutHistory: {
35702
+ depositAddress: "Purchase address",
35703
+ newDeposit: "Buy More"
35704
+ },
35705
+ directExecution: {
35706
+ depositTx: "Purchase tx"
35707
+ },
35708
+ directExecutionNotif: {
35709
+ depositTransactionInitiated: "Purchase transaction initiated",
35710
+ depositCompletedNotification: "You will receive a notification here once the purchase is completed."
35711
+ },
35712
+ fees: {
35713
+ yourGasCostsTooltip: "Amount paid to send assets to your purchase address."
35714
+ },
35715
+ virtualFiatAccount: {
35716
+ transferDetails: "You will be provided with the transfer details for SEPA payments. Once processed, the funds you will send to the account will be automatically purchased to your {{appName}} account."
35717
+ },
35718
+ textCustomizations: {
35719
+ virtualFiat: "Buy with SEPA",
35720
+ transferTokens: "Buy with QR Code",
35721
+ debitOrCredit: "Buy with Card",
35722
+ brokerageOrExchange: "Buy with Exchange"
35723
+ },
35724
+ sourceChange: {
35725
+ brokerageDisplayLabel: "Buy with {{brokerageLabel}}",
35726
+ walletDisplayLabel: "Buy with Wallet",
35727
+ virtualFiatDisplayLabel: "Buy with SEPA"
35728
+ },
35729
+ relay: {
35730
+ confirmTransaction: "Confirm transaction",
35731
+ waitingForConfirmation: "Waiting for confirmation",
35732
+ transactionConfirmed: "Transaction confirmed"
35733
+ }
35734
+ };
35735
+
35498
35736
  // src/locales/translations/en.json
35499
35737
  var en_default = {
35500
35738
  checkout: {
@@ -35502,7 +35740,9 @@ var en_default = {
35502
35740
  noAvailableTokensMessage: "You don't have any crypto tokens in your wallet. Top up or transfer crypto to your wallet to continue.",
35503
35741
  topUpWallet: "Top up wallet",
35504
35742
  refundProcessing: "Funds were withdrawn, but the transaction didn't complete. A refund is being processed.",
35505
- orderRefunded: "Your order was refunded."
35743
+ orderRefunded: "Your order was refunded.",
35744
+ walletLabelTemplate: "{{walletLabel}} ({{formattedAddress}})",
35745
+ connectWalletLabelTemplate: "Connect {{walletLabel}}"
35506
35746
  },
35507
35747
  inputAmount: {
35508
35748
  availableBalanceTooltip: "Your available balance after fees",
@@ -35916,7 +36156,10 @@ var en_default = {
35916
36156
  sourceChange: {
35917
36157
  selectPaymentMethod: "Select payment method",
35918
36158
  moreOptions: "More options",
35919
- more: "more"
36159
+ more: "more",
36160
+ walletDisplayLabel: "{{walletLabel}}",
36161
+ brokerageDisplayLabel: "{{brokerageLabel}}",
36162
+ virtualFiatDisplayLabel: "{{virtualFiatLabel}}"
35920
36163
  },
35921
36164
  quote: {
35922
36165
  preparingYourQuote: "Preparing your quote...",
@@ -36006,7 +36249,9 @@ var es_default = {
36006
36249
  noAvailableTokensMessage: "No tienes ning\xFAn token cripto en tu billetera. Recarga o transfiere cripto a tu billetera para continuar.",
36007
36250
  topUpWallet: "Recargar billetera",
36008
36251
  refundProcessing: "Los fondos fueron retirados, pero la transacci\xF3n no se complet\xF3. Se est\xE1 procesando un reembolso.",
36009
- orderRefunded: "Tu pedido fue reembolsado."
36252
+ orderRefunded: "Tu pedido fue reembolsado.",
36253
+ walletLabelTemplate: "{{walletLabel}} ({{formattedAddress}})",
36254
+ connectWalletLabelTemplate: "Conectar {{walletLabel}}"
36010
36255
  },
36011
36256
  inputAmount: {
36012
36257
  availableBalanceTooltip: "Tu saldo disponible despu\xE9s de las comisiones",
@@ -36420,7 +36665,10 @@ var es_default = {
36420
36665
  sourceChange: {
36421
36666
  selectPaymentMethod: "Seleccionar m\xE9todo de pago",
36422
36667
  moreOptions: "M\xE1s opciones",
36423
- more: "m\xE1s"
36668
+ more: "m\xE1s",
36669
+ walletDisplayLabel: "{{walletLabel}}",
36670
+ brokerageDisplayLabel: "{{brokerageLabel}}",
36671
+ virtualFiatDisplayLabel: "{{virtualFiatLabel}}"
36424
36672
  },
36425
36673
  quote: {
36426
36674
  preparingYourQuote: "Preparando tu cotizaci\xF3n...",
@@ -36510,7 +36758,9 @@ var ja_default = {
36510
36758
  noAvailableTokensMessage: "\u30A6\u30A9\u30EC\u30C3\u30C8\u306B\u6697\u53F7\u8CC7\u7523\u30C8\u30FC\u30AF\u30F3\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u7D9A\u884C\u3059\u308B\u306B\u306F\u3001\u30A6\u30A9\u30EC\u30C3\u30C8\u306B\u6697\u53F7\u8CC7\u7523\u3092\u30C1\u30E3\u30FC\u30B8\u307E\u305F\u306F\u9001\u91D1\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
36511
36759
  topUpWallet: "\u30A6\u30A9\u30EC\u30C3\u30C8\u306B\u30C1\u30E3\u30FC\u30B8",
36512
36760
  refundProcessing: "\u8CC7\u91D1\u306F\u5F15\u304D\u51FA\u3055\u308C\u307E\u3057\u305F\u304C\u3001\u53D6\u5F15\u306F\u5B8C\u4E86\u3057\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u8FD4\u91D1\u51E6\u7406\u4E2D\u3067\u3059\u3002",
36513
- orderRefunded: "\u3054\u6CE8\u6587\u306F\u8FD4\u91D1\u3055\u308C\u307E\u3057\u305F\u3002"
36761
+ orderRefunded: "\u3054\u6CE8\u6587\u306F\u8FD4\u91D1\u3055\u308C\u307E\u3057\u305F\u3002",
36762
+ walletLabelTemplate: "{{walletLabel}} ({{formattedAddress}})",
36763
+ connectWalletLabelTemplate: "{{walletLabel}}\u3092\u63A5\u7D9A"
36514
36764
  },
36515
36765
  inputAmount: {
36516
36766
  availableBalanceTooltip: "\u624B\u6570\u6599\u3092\u5DEE\u3057\u5F15\u3044\u305F\u5F8C\u306E\u5229\u7528\u53EF\u80FD\u6B8B\u9AD8",
@@ -36924,7 +37174,10 @@ var ja_default = {
36924
37174
  sourceChange: {
36925
37175
  selectPaymentMethod: "\u652F\u6255\u3044\u65B9\u6CD5\u3092\u9078\u629E",
36926
37176
  moreOptions: "\u305D\u306E\u4ED6\u306E\u30AA\u30D7\u30B7\u30E7\u30F3",
36927
- more: "\u3082\u3063\u3068\u898B\u308B"
37177
+ more: "\u3082\u3063\u3068\u898B\u308B",
37178
+ walletDisplayLabel: "{{walletLabel}}",
37179
+ brokerageDisplayLabel: "{{brokerageLabel}}",
37180
+ virtualFiatDisplayLabel: "{{virtualFiatLabel}}"
36928
37181
  },
36929
37182
  quote: {
36930
37183
  preparingYourQuote: "\u898B\u7A4D\u3082\u308A\u3092\u6E96\u5099\u4E2D...",
@@ -37014,7 +37267,9 @@ var ko_default = {
37014
37267
  noAvailableTokensMessage: "\uC9C0\uAC11\uC5D0 \uC554\uD638\uD654\uD3D0 \uD1A0\uD070\uC774 \uC5C6\uC2B5\uB2C8\uB2E4. \uACC4\uC18D\uD558\uB824\uBA74 \uC9C0\uAC11\uC5D0 \uC554\uD638\uD654\uD3D0\uB97C \uCDA9\uC804\uD558\uAC70\uB098 \uC804\uC1A1\uD558\uC138\uC694.",
37015
37268
  topUpWallet: "\uC9C0\uAC11 \uCDA9\uC804",
37016
37269
  refundProcessing: "\uC790\uAE08\uC774 \uCD9C\uAE08\uB418\uC5C8\uC9C0\uB9CC \uAC70\uB798\uAC00 \uC644\uB8CC\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uD658\uBD88\uC774 \uCC98\uB9AC\uB418\uACE0 \uC788\uC2B5\uB2C8\uB2E4.",
37017
- orderRefunded: "\uC8FC\uBB38\uC774 \uD658\uBD88\uB418\uC5C8\uC2B5\uB2C8\uB2E4."
37270
+ orderRefunded: "\uC8FC\uBB38\uC774 \uD658\uBD88\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",
37271
+ walletLabelTemplate: "{{walletLabel}} ({{formattedAddress}})",
37272
+ connectWalletLabelTemplate: "{{walletLabel}} \uC5F0\uACB0"
37018
37273
  },
37019
37274
  inputAmount: {
37020
37275
  availableBalanceTooltip: "\uC218\uC218\uB8CC\uB97C \uC81C\uC678\uD55C \uC0AC\uC6A9 \uAC00\uB2A5\uD55C \uC794\uC561",
@@ -37428,7 +37683,10 @@ var ko_default = {
37428
37683
  sourceChange: {
37429
37684
  selectPaymentMethod: "\uACB0\uC81C \uBC29\uBC95 \uC120\uD0DD",
37430
37685
  moreOptions: "\uB354 \uB9CE\uC740 \uC635\uC158",
37431
- more: "\uB354 \uBCF4\uAE30"
37686
+ more: "\uB354 \uBCF4\uAE30",
37687
+ walletDisplayLabel: "{{walletLabel}}",
37688
+ brokerageDisplayLabel: "{{brokerageLabel}}",
37689
+ virtualFiatDisplayLabel: "{{virtualFiatLabel}}"
37432
37690
  },
37433
37691
  quote: {
37434
37692
  preparingYourQuote: "\uACAC\uC801 \uC900\uBE44 \uC911...",
@@ -37518,7 +37776,9 @@ var ru_default = {
37518
37776
  noAvailableTokensMessage: "\u0423 \u0432\u0430\u0441 \u043D\u0435\u0442 \u043A\u0440\u0438\u043F\u0442\u043E\u0432\u0430\u043B\u044E\u0442\u043D\u044B\u0445 \u0442\u043E\u043A\u0435\u043D\u043E\u0432 \u0432 \u043A\u043E\u0448\u0435\u043B\u044C\u043A\u0435. \u041F\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435 \u0438\u043B\u0438 \u043F\u0435\u0440\u0435\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u0440\u0438\u043F\u0442\u043E\u0432\u0430\u043B\u044E\u0442\u0443 \u0432 \u043A\u043E\u0448\u0435\u043B\u0451\u043A \u0434\u043B\u044F \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0435\u043D\u0438\u044F.",
37519
37777
  topUpWallet: "\u041F\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u043A\u043E\u0448\u0435\u043B\u0451\u043A",
37520
37778
  refundProcessing: "\u0421\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0431\u044B\u043B\u0438 \u0432\u044B\u0432\u0435\u0434\u0435\u043D\u044B, \u043D\u043E \u0442\u0440\u0430\u043D\u0437\u0430\u043A\u0446\u0438\u044F \u043D\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0430. \u041E\u0431\u0440\u0430\u0431\u0430\u0442\u044B\u0432\u0430\u0435\u0442\u0441\u044F \u0432\u043E\u0437\u0432\u0440\u0430\u0442.",
37521
- orderRefunded: "\u0412\u0430\u0448 \u0437\u0430\u043A\u0430\u0437 \u0431\u044B\u043B \u0432\u043E\u0437\u0432\u0440\u0430\u0449\u0451\u043D."
37779
+ orderRefunded: "\u0412\u0430\u0448 \u0437\u0430\u043A\u0430\u0437 \u0431\u044B\u043B \u0432\u043E\u0437\u0432\u0440\u0430\u0449\u0451\u043D.",
37780
+ walletLabelTemplate: "{{walletLabel}} ({{formattedAddress}})",
37781
+ connectWalletLabelTemplate: "\u041F\u043E\u0434\u043A\u043B\u044E\u0447\u0438\u0442\u044C {{walletLabel}}"
37522
37782
  },
37523
37783
  inputAmount: {
37524
37784
  availableBalanceTooltip: "\u0412\u0430\u0448 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0439 \u0431\u0430\u043B\u0430\u043D\u0441 \u043F\u043E\u0441\u043B\u0435 \u043A\u043E\u043C\u0438\u0441\u0441\u0438\u0439",
@@ -37932,7 +38192,10 @@ var ru_default = {
37932
38192
  sourceChange: {
37933
38193
  selectPaymentMethod: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0441\u043F\u043E\u0441\u043E\u0431 \u043E\u043F\u043B\u0430\u0442\u044B",
37934
38194
  moreOptions: "\u0411\u043E\u043B\u044C\u0448\u0435 \u043E\u043F\u0446\u0438\u0439",
37935
- more: "\u0431\u043E\u043B\u044C\u0448\u0435"
38195
+ more: "\u0431\u043E\u043B\u044C\u0448\u0435",
38196
+ walletDisplayLabel: "{{walletLabel}}",
38197
+ brokerageDisplayLabel: "{{brokerageLabel}}",
38198
+ virtualFiatDisplayLabel: "{{virtualFiatLabel}}"
37936
38199
  },
37937
38200
  quote: {
37938
38201
  preparingYourQuote: "\u041F\u043E\u0434\u0433\u043E\u0442\u043E\u0432\u043A\u0430 \u0432\u0430\u0448\u0435\u0439 \u043A\u043E\u0442\u0438\u0440\u043E\u0432\u043A\u0438...",
@@ -38022,7 +38285,9 @@ var tr_default = {
38022
38285
  noAvailableTokensMessage: "C\xFCzdan\u0131n\u0131zda kripto token bulunmamaktad\u0131r. Devam etmek i\xE7in c\xFCzdan\u0131n\u0131za para yat\u0131r\u0131n veya kripto transfer edin.",
38023
38286
  topUpWallet: "C\xFCzdana para y\xFCkle",
38024
38287
  refundProcessing: "Fonlar \xE7ekildi, ancak i\u015Flem tamamlanmad\u0131. \u0130ade i\u015Flemi yap\u0131l\u0131yor.",
38025
- orderRefunded: "Sipari\u015Finiz iade edildi."
38288
+ orderRefunded: "Sipari\u015Finiz iade edildi.",
38289
+ walletLabelTemplate: "{{walletLabel}} ({{formattedAddress}})",
38290
+ connectWalletLabelTemplate: "{{walletLabel}} Ba\u011Fla"
38026
38291
  },
38027
38292
  inputAmount: {
38028
38293
  availableBalanceTooltip: "\xDCcretler sonras\u0131 kullan\u0131labilir bakiyeniz",
@@ -38436,7 +38701,10 @@ var tr_default = {
38436
38701
  sourceChange: {
38437
38702
  selectPaymentMethod: "\xD6deme y\xF6ntemi se\xE7in",
38438
38703
  moreOptions: "Daha fazla se\xE7enek",
38439
- more: "daha fazla"
38704
+ more: "daha fazla",
38705
+ walletDisplayLabel: "{{walletLabel}}",
38706
+ brokerageDisplayLabel: "{{brokerageLabel}}",
38707
+ virtualFiatDisplayLabel: "{{virtualFiatLabel}}"
38440
38708
  },
38441
38709
  quote: {
38442
38710
  preparingYourQuote: "Teklifiniz haz\u0131rlan\u0131yor...",
@@ -38526,7 +38794,9 @@ var zh_default = {
38526
38794
  noAvailableTokensMessage: "\u60A8\u7684\u94B1\u5305\u4E2D\u6CA1\u6709\u4EFB\u4F55\u52A0\u5BC6\u4EE3\u5E01\u3002\u5145\u503C\u6216\u8F6C\u8D26\u52A0\u5BC6\u8D27\u5E01\u5230\u60A8\u7684\u94B1\u5305\u4EE5\u7EE7\u7EED\u3002",
38527
38795
  topUpWallet: "\u5145\u503C\u94B1\u5305",
38528
38796
  refundProcessing: "\u8D44\u91D1\u5DF2\u63D0\u53D6\uFF0C\u4F46\u4EA4\u6613\u672A\u5B8C\u6210\u3002\u6B63\u5728\u5904\u7406\u9000\u6B3E\u3002",
38529
- orderRefunded: "\u60A8\u7684\u8BA2\u5355\u5DF2\u9000\u6B3E\u3002"
38797
+ orderRefunded: "\u60A8\u7684\u8BA2\u5355\u5DF2\u9000\u6B3E\u3002",
38798
+ walletLabelTemplate: "{{walletLabel}} ({{formattedAddress}})",
38799
+ connectWalletLabelTemplate: "\u8FDE\u63A5 {{walletLabel}}"
38530
38800
  },
38531
38801
  inputAmount: {
38532
38802
  availableBalanceTooltip: "\u6263\u9664\u624B\u7EED\u8D39\u540E\u7684\u53EF\u7528\u4F59\u989D",
@@ -38940,7 +39210,10 @@ var zh_default = {
38940
39210
  sourceChange: {
38941
39211
  selectPaymentMethod: "\u9009\u62E9\u652F\u4ED8\u65B9\u5F0F",
38942
39212
  moreOptions: "\u66F4\u591A\u9009\u9879",
38943
- more: "\u66F4\u591A"
39213
+ more: "\u66F4\u591A",
39214
+ walletDisplayLabel: "{{walletLabel}}",
39215
+ brokerageDisplayLabel: "{{brokerageLabel}}",
39216
+ virtualFiatDisplayLabel: "{{virtualFiatLabel}}"
38944
39217
  },
38945
39218
  quote: {
38946
39219
  preparingYourQuote: "\u6B63\u5728\u51C6\u5907\u60A8\u7684\u62A5\u4EF7...",
@@ -39032,7 +39305,8 @@ var localeMapping = {
39032
39305
  ja: "ja",
39033
39306
  tr: "tr",
39034
39307
  es: "es",
39035
- ru: "ru"
39308
+ ru: "ru",
39309
+ buy_en: "buy_en"
39036
39310
  };
39037
39311
  var resources = {
39038
39312
  en: {
@@ -39043,7 +39317,8 @@ var resources = {
39043
39317
  ja: { translation: ja_default },
39044
39318
  tr: { translation: tr_default },
39045
39319
  es: { translation: es_default },
39046
- ru: { translation: ru_default }
39320
+ ru: { translation: ru_default },
39321
+ buy_en: { translation: buy_en_default }
39047
39322
  };
39048
39323
  i18n.use(initReactI18next).init({
39049
39324
  resources,
@@ -1,2 +1,2 @@
1
- export type Locale = 'en' | 'zh' | 'ko' | 'ja' | 'tr' | 'es' | 'ru';
1
+ export type Locale = 'en' | 'zh' | 'ko' | 'ja' | 'tr' | 'es' | 'ru' | 'buy_en';
2
2
  export { default as i18n, localeMapping } from './i18n';
@@ -0,0 +1,2 @@
1
+ export declare const WITH_EMPTY_STATE_DATA_ATTRIBUTE = "data-with-empty-state";
2
+ export declare const emptyStateStyles: string;
@@ -1,6 +1,6 @@
1
1
  import { type UseBluvoFlowHook } from '@bluvo/react';
2
2
  import React, { type ReactNode } from 'react';
3
- import type { BluvoBrokerageMinMax, BluvoExchangeType } from '~/consts/bluvo';
3
+ import { type BluvoBrokerageMinMax, type BluvoExchangeType } from '~/consts/bluvo';
4
4
  import type { BrokerageAssetHoldingsItem } from '~/domains/wallet';
5
5
  type BluvoLocalStorageData = Partial<Record<BluvoExchangeType, string>>;
6
6
  interface FunkitBrokerageContextProps {
@@ -1,5 +1,6 @@
1
+ import type { TFunction } from 'i18next';
1
2
  import type { FunkitTextCustomizationsConfig } from '../providers/FunkitConfigContext';
2
- export declare const getWalletLabel: (textCustomizations: FunkitTextCustomizationsConfig, walletAddress?: string) => string;
3
+ export declare const getWalletLabel: (t: TFunction, textCustomizations: FunkitTextCustomizationsConfig, walletAddress?: string) => string;
3
4
  export declare function isAddressSupported(address: string): boolean;
4
5
  /**
5
6
  * Check if the recipient address is compatible with selected chain
@@ -18,7 +18,7 @@ export declare function getBrokerageMinMax(asset: BrokerageAssetHoldingsItem & {
18
18
  }, minTransferLimits: {
19
19
  mainnet: number;
20
20
  nonMainnet: number;
21
- }): {
21
+ }, minDeposit?: number): {
22
22
  minUsd: number;
23
23
  maxUsd: number;
24
24
  };
@@ -221,7 +221,7 @@ export declare const flagConfig: {
221
221
  }, {
222
222
  readonly key: "apiKey";
223
223
  readonly type: "isAnyOf";
224
- readonly values: ["Y53dikxXdT4E3afI1l8BMBSWgyhKvf65k6Dut1k6", "di9ZSqn1Ya68Y2XpBPUV1rCtNGXh8Xe5MGWzb1Xe", "pLQBJsA6zS9tg990rbdBD6UdABkWRv5O60vlrVcW", "M3uox3cw0u8YCPV9cIREA6AugUMvPFTk6qOpm4um"];
224
+ readonly values: ["Y53dikxXdT4E3afI1l8BMBSWgyhKvf65k6Dut1k6", "di9ZSqn1Ya68Y2XpBPUV1rCtNGXh8Xe5MGWzb1Xe", "pLQBJsA6zS9tg990rbdBD6UdABkWRv5O60vlrVcW", "M3uox3cw0u8YCPV9cIREA6AugUMvPFTk6qOpm4um", "2hicPxo2vy2NMHcg2cEU9crOeKtDpc14NEfMCthc"];
225
225
  }];
226
226
  readonly if_any: [{
227
227
  readonly pct: 2;
@@ -1,16 +1,16 @@
1
1
  "use client";
2
- import {
3
- zealWallet
4
- } from "./chunk-RNBEDQHF.js";
5
2
  import {
6
3
  xdefiWallet
7
4
  } from "./chunk-BOU4WKRZ.js";
5
+ import {
6
+ zealWallet
7
+ } from "./chunk-RNBEDQHF.js";
8
8
  import {
9
9
  zerionWallet
10
10
  } from "./chunk-SULRQO27.js";
11
11
  import {
12
- safeheronWallet
13
- } from "./chunk-RZIO5TFF.js";
12
+ subWallet
13
+ } from "./chunk-JWFF4AAL.js";
14
14
  import {
15
15
  tahoWallet
16
16
  } from "./chunk-ZZZRUXZE.js";
@@ -38,33 +38,33 @@ import {
38
38
  import {
39
39
  rabbyWallet
40
40
  } from "./chunk-BBOM42DL.js";
41
- import {
42
- ramperWallet
43
- } from "./chunk-BYXPFMI7.js";
44
41
  import {
45
42
  rainbowWallet
46
43
  } from "./chunk-2KUBG3S6.js";
44
+ import {
45
+ ramperWallet
46
+ } from "./chunk-BYXPFMI7.js";
47
47
  import {
48
48
  roninWallet
49
49
  } from "./chunk-NWIQNBJU.js";
50
50
  import {
51
51
  safeWallet
52
52
  } from "./chunk-BQQQL6UD.js";
53
+ import {
54
+ safeheronWallet
55
+ } from "./chunk-RZIO5TFF.js";
53
56
  import {
54
57
  safepalWallet
55
58
  } from "./chunk-NT2HYJKW.js";
56
- import {
57
- subWallet
58
- } from "./chunk-JWFF4AAL.js";
59
59
  import {
60
60
  ledgerWallet
61
61
  } from "./chunk-BRBKM4PW.js";
62
- import {
63
- metaMaskWallet
64
- } from "./chunk-2HYNUNAS.js";
65
62
  import {
66
63
  mewWallet
67
64
  } from "./chunk-OL5ZO7E4.js";
65
+ import {
66
+ metaMaskWallet
67
+ } from "./chunk-2HYNUNAS.js";
68
68
  import {
69
69
  oktoWallet
70
70
  } from "./chunk-ADIXAKUL.js";
@@ -83,12 +83,12 @@ import {
83
83
  import {
84
84
  foxWallet
85
85
  } from "./chunk-7QONTUXT.js";
86
- import {
87
- frontierWallet
88
- } from "./chunk-TCAGNB4B.js";
89
86
  import {
90
87
  frameWallet
91
88
  } from "./chunk-IFON7E6U.js";
89
+ import {
90
+ frontierWallet
91
+ } from "./chunk-TCAGNB4B.js";
92
92
  import {
93
93
  gateWallet
94
94
  } from "./chunk-FKJJQNKX.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@funkit/connect",
3
- "version": "6.15.5",
3
+ "version": "6.15.6",
4
4
  "description": "Funkit Connect SDK elevates DeFi apps via web2 sign-ins and one-click checkouts.",
5
5
  "files": [
6
6
  "dist",
@@ -102,11 +102,11 @@
102
102
  "use-debounce": "^10.0.5",
103
103
  "uuid": "^9.0.1",
104
104
  "@funkit/api-base": "1.12.18",
105
- "@funkit/chains": "0.4.6",
106
- "@funkit/core": "2.3.63",
105
+ "@funkit/chains": "0.4.7",
106
+ "@funkit/core": "2.3.64",
107
107
  "@funkit/fun-relay": "2.1.13",
108
108
  "@funkit/utils": "1.1.19",
109
- "@funkit/wagmi-tools": "3.0.86"
109
+ "@funkit/wagmi-tools": "3.0.87"
110
110
  },
111
111
  "repository": {
112
112
  "type": "git",