@bze/bze-ui-kit 1.0.9 → 1.0.10

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/dist/index.mjs CHANGED
@@ -3381,6 +3381,34 @@ var useSigningClient = ({ chainName }) => {
3381
3381
  };
3382
3382
  };
3383
3383
 
3384
+ // src/hooks/useWalletHealthCheck.ts
3385
+ import { useEffect as useEffect2 } from "react";
3386
+ import { useChain as useChain2 } from "@interchain-kit/react";
3387
+ import { WalletState } from "@interchain-kit/core";
3388
+ var SIGNING_CLIENT_TIMEOUT_MS = 5e3;
3389
+ var useWalletHealthCheck = (chainName) => {
3390
+ const { status, getSigningClient, disconnect } = useChain2(chainName != null ? chainName : getChainName());
3391
+ useEffect2(() => {
3392
+ if (status !== WalletState.Connected) return;
3393
+ const validate = async () => {
3394
+ try {
3395
+ const client = await Promise.race([
3396
+ getSigningClient(),
3397
+ new Promise(
3398
+ (resolve) => setTimeout(() => resolve(null), SIGNING_CLIENT_TIMEOUT_MS)
3399
+ )
3400
+ ]);
3401
+ if (!client) {
3402
+ disconnect();
3403
+ }
3404
+ } catch (e) {
3405
+ disconnect();
3406
+ }
3407
+ };
3408
+ validate();
3409
+ }, []);
3410
+ };
3411
+
3384
3412
  // src/hooks/usePrices.ts
3385
3413
  import { useCallback as useCallback3, useMemo as useMemo2 } from "react";
3386
3414
  function useAssetPrice(denom) {
@@ -3424,11 +3452,11 @@ function useAssetPrice(denom) {
3424
3452
  }
3425
3453
 
3426
3454
  // src/hooks/useSettings.ts
3427
- import { useState as useState2, useEffect as useEffect2, useCallback as useCallback4, useMemo as useMemo3 } from "react";
3455
+ import { useState as useState2, useEffect as useEffect3, useCallback as useCallback4, useMemo as useMemo3 } from "react";
3428
3456
  function useSettings() {
3429
3457
  const [settings, setSettingsState] = useState2(DEFAULT_SETTINGS);
3430
3458
  const [isLoaded, setIsLoaded] = useState2(false);
3431
- useEffect2(() => {
3459
+ useEffect3(() => {
3432
3460
  setSettingsState(getSettings());
3433
3461
  setIsLoaded(true);
3434
3462
  }, []);
@@ -4066,7 +4094,7 @@ var useToast = () => {
4066
4094
 
4067
4095
  // src/hooks/useTx.tsx
4068
4096
  import { TxBody, SignerInfo } from "@bze/bzejs/cosmos/tx/v1beta1/tx";
4069
- import { useChain as useChain2 } from "@interchain-kit/react";
4097
+ import { useChain as useChain3 } from "@interchain-kit/react";
4070
4098
  import BigNumber13 from "bignumber.js";
4071
4099
  import { useCallback as useCallback11, useMemo as useMemo11, useState as useState3 } from "react";
4072
4100
  var TxStatus = /* @__PURE__ */ ((TxStatus2) => {
@@ -4101,7 +4129,7 @@ var useIBCTx = (chainName) => {
4101
4129
  };
4102
4130
  };
4103
4131
  var useTx = (chainName) => {
4104
- const { address, disconnect } = useChain2(chainName);
4132
+ const { address, disconnect } = useChain3(chainName);
4105
4133
  const { toast } = useToast();
4106
4134
  const { signingClient, isSigningClientReady, signingClientError } = useSigningClient({ chainName });
4107
4135
  const [progressTrack, setProgressTrack] = useState3("");
@@ -4232,7 +4260,7 @@ var useTx = (chainName) => {
4232
4260
  };
4233
4261
 
4234
4262
  // src/hooks/useValidatorLogos.ts
4235
- import { useCallback as useCallback12, useEffect as useEffect3, useRef as useRef2, useState as useState4 } from "react";
4263
+ import { useCallback as useCallback12, useEffect as useEffect4, useRef as useRef2, useState as useState4 } from "react";
4236
4264
  var KEYBASE_API_URL = "https://keybase.io/_/api/1.0/user/lookup.json";
4237
4265
  var LOGOS_STORAGE_KEY = "validator_logos";
4238
4266
  var LOGOS_TTL = 24 * 60 * 60 * 1e3;
@@ -4304,7 +4332,7 @@ var useValidatorLogos = (validators) => {
4304
4332
  }
4305
4333
  return result;
4306
4334
  }, []);
4307
- useEffect3(() => {
4335
+ useEffect4(() => {
4308
4336
  if (!validators || validators.length === 0) return;
4309
4337
  if (fetchedRef.current && validatorCountRef.current === validators.length) return;
4310
4338
  const identities = validators.map((v) => {
@@ -4328,7 +4356,7 @@ var useValidatorLogos = (validators) => {
4328
4356
 
4329
4357
  // src/components/highlight.tsx
4330
4358
  import { Text } from "@chakra-ui/react";
4331
- import { useEffect as useEffect4, useRef as useRef3, useState as useState5 } from "react";
4359
+ import { useEffect as useEffect5, useRef as useRef3, useState as useState5 } from "react";
4332
4360
  import { jsx as jsx2 } from "react/jsx-runtime";
4333
4361
  var HighlightText = (_a2) => {
4334
4362
  var _b2 = _a2, {
@@ -4351,7 +4379,7 @@ var HighlightText = (_a2) => {
4351
4379
  const previousValueRef = useRef3(childrenString);
4352
4380
  const highlightOpacity = highlightIntensity === "subtle" ? "15" : "50";
4353
4381
  const boxShadowStrength = highlightIntensity === "subtle" ? "10" : "25";
4354
- useEffect4(() => {
4382
+ useEffect5(() => {
4355
4383
  if (!isMountedRef.current) {
4356
4384
  isMountedRef.current = true;
4357
4385
  if (highlightOnMount) {
@@ -4524,7 +4552,7 @@ import {
4524
4552
  } from "@chakra-ui/react";
4525
4553
  import { Select, Portal as Portal3 } from "@chakra-ui/react";
4526
4554
  import { useTheme } from "next-themes";
4527
- import { useState as useState7, useEffect as useEffect5, useMemo as useMemo12, useCallback as useCallback13 } from "react";
4555
+ import { useState as useState7, useEffect as useEffect6, useMemo as useMemo12, useCallback as useCallback13 } from "react";
4528
4556
  import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
4529
4557
  var SettingsSidebarContent = ({ accentColor = "blue" }) => {
4530
4558
  const { setTheme, resolvedTheme } = useTheme();
@@ -4537,7 +4565,7 @@ var SettingsSidebarContent = ({ accentColor = "blue" }) => {
4537
4565
  const [isValidating, setIsValidating] = useState7(false);
4538
4566
  const [validationResults, setValidationResults] = useState7({});
4539
4567
  const [preferredFeeDenom, setPreferredFeeDenom] = useState7(void 0);
4540
- useEffect5(() => {
4568
+ useEffect6(() => {
4541
4569
  if (isLoaded) {
4542
4570
  setRestEndpoint(settings.endpoints.restEndpoint);
4543
4571
  setRpcEndpoint(settings.endpoints.rpcEndpoint);
@@ -4774,7 +4802,7 @@ var SettingsSidebarContent = ({ accentColor = "blue" }) => {
4774
4802
 
4775
4803
  // src/components/sidebar/wallet-sidebar.tsx
4776
4804
  import "@interchain-kit/react/styles.css";
4777
- import { InterchainWalletModal, useChain as useChain3 } from "@interchain-kit/react";
4805
+ import { InterchainWalletModal, useChain as useChain4 } from "@interchain-kit/react";
4778
4806
  import {
4779
4807
  Badge as Badge2,
4780
4808
  Box as Box2,
@@ -4793,8 +4821,8 @@ import {
4793
4821
  VStack as VStack2
4794
4822
  } from "@chakra-ui/react";
4795
4823
  import { LuCopy, LuExternalLink, LuX as LuX2 } from "react-icons/lu";
4796
- import { useCallback as useCallback14, useEffect as useEffect6, useMemo as useMemo13, useRef as useRef4, useState as useState8 } from "react";
4797
- import { WalletState } from "@interchain-kit/core";
4824
+ import { useCallback as useCallback14, useEffect as useEffect7, useMemo as useMemo13, useRef as useRef4, useState as useState8 } from "react";
4825
+ import { WalletState as WalletState2 } from "@interchain-kit/core";
4798
4826
  import BigNumber14 from "bignumber.js";
4799
4827
  import { cosmos } from "@bze/bzejs";
4800
4828
  import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
@@ -4880,7 +4908,7 @@ var SendForm = ({ balances, onClose, selectedTicker, accentColor }) => {
4880
4908
  const [memo, setMemo] = useState8("");
4881
4909
  const [memoError, setMemoError] = useState8("");
4882
4910
  const { toast } = useToast();
4883
- const { status, address } = useChain3(getChainName());
4911
+ const { status, address } = useChain4(getChainName());
4884
4912
  const { tx } = useSDKTx(getChainName());
4885
4913
  const coinsCollection = createListCollection2({
4886
4914
  items: balances.map((item) => {
@@ -4907,7 +4935,7 @@ var SendForm = ({ balances, onClose, selectedTicker, accentColor }) => {
4907
4935
  toast.error("Can not send coins!", "Please check the input data.");
4908
4936
  return;
4909
4937
  }
4910
- if (status !== WalletState.Connected) {
4938
+ if (status !== WalletState2.Connected) {
4911
4939
  toast.error("Wallet not connected!", "Please connect your wallet first.");
4912
4940
  return;
4913
4941
  }
@@ -4969,7 +4997,7 @@ var SendForm = ({ balances, onClose, selectedTicker, accentColor }) => {
4969
4997
  setMemoError("");
4970
4998
  }
4971
4999
  }, []);
4972
- useEffect6(() => {
5000
+ useEffect7(() => {
4973
5001
  if (selectedTicker !== "") {
4974
5002
  onCoinSelectChange(selectedTicker);
4975
5003
  }
@@ -5143,7 +5171,7 @@ var WalletSidebarContent = ({ accentColor = "blue" }) => {
5143
5171
  address,
5144
5172
  disconnect,
5145
5173
  connect
5146
- } = useChain3(getChainName());
5174
+ } = useChain4(getChainName());
5147
5175
  const { assetsBalances, isLoading: assetsLoading } = useBalances();
5148
5176
  const balancesWithoutLps = useMemo13(() => {
5149
5177
  if (assetsLoading) return [];
@@ -5254,11 +5282,11 @@ var WalletSidebarContent = ({ accentColor = "blue" }) => {
5254
5282
  ] });
5255
5283
  const statusColor = useMemo13(() => {
5256
5284
  switch (status) {
5257
- case WalletState.Connected:
5285
+ case WalletState2.Connected:
5258
5286
  return "green";
5259
- case WalletState.Connecting:
5287
+ case WalletState2.Connecting:
5260
5288
  return "yellow";
5261
- case WalletState.Disconnected:
5289
+ case WalletState2.Disconnected:
5262
5290
  return "red";
5263
5291
  default:
5264
5292
  return "gray";
@@ -5271,7 +5299,7 @@ var WalletSidebarContent = ({ accentColor = "blue" }) => {
5271
5299
  /* @__PURE__ */ jsx5(Text3, { fontSize: "sm", fontWeight: "medium", children: "Wallet Status" }),
5272
5300
  /* @__PURE__ */ jsx5(Badge2, { colorPalette: statusColor, size: "sm", children: status })
5273
5301
  ] }),
5274
- status === WalletState.Connected && /* @__PURE__ */ jsxs4(
5302
+ status === WalletState2.Connected && /* @__PURE__ */ jsxs4(
5275
5303
  Box2,
5276
5304
  {
5277
5305
  p: "3",
@@ -5322,7 +5350,7 @@ var WalletSidebarContent = ({ accentColor = "blue" }) => {
5322
5350
  ]
5323
5351
  }
5324
5352
  ),
5325
- status !== WalletState.Connected && /* @__PURE__ */ jsx5(
5353
+ status !== WalletState2.Connected && /* @__PURE__ */ jsx5(
5326
5354
  Button2,
5327
5355
  {
5328
5356
  size: "sm",
@@ -5334,8 +5362,8 @@ var WalletSidebarContent = ({ accentColor = "blue" }) => {
5334
5362
  )
5335
5363
  ] }),
5336
5364
  /* @__PURE__ */ jsx5(Separator2, {}),
5337
- status === WalletState.Connected && viewState === "balances" && renderBalancesView(),
5338
- status === WalletState.Connected && viewState === "send" && /* @__PURE__ */ jsx5(SendForm, { balances: sortedBalances, onClose: handleCancel, selectedTicker: clickedBalance, accentColor })
5365
+ status === WalletState2.Connected && viewState === "balances" && renderBalancesView(),
5366
+ status === WalletState2.Connected && viewState === "send" && /* @__PURE__ */ jsx5(SendForm, { balances: sortedBalances, onClose: handleCancel, selectedTicker: clickedBalance, accentColor })
5339
5367
  ] });
5340
5368
  };
5341
5369
 
@@ -5646,6 +5674,7 @@ export {
5646
5674
  useSigningClient,
5647
5675
  useToast,
5648
5676
  useValidatorLogos,
5677
+ useWalletHealthCheck,
5649
5678
  validateBZEBech32Address,
5650
5679
  validateBech32Address,
5651
5680
  validateEndpoints,