@bze/bze-ui-kit 1.0.8 → 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.d.mts +18 -1
- package/dist/index.d.ts +18 -1
- package/dist/index.js +348 -318
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +55 -26
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -397,7 +397,7 @@ var prefixedKey = (key) => {
|
|
|
397
397
|
// src/constants/placeholders.ts
|
|
398
398
|
var TOKEN_LOGO_PLACEHOLDER = "/images/token.svg";
|
|
399
399
|
var BZE_CIRCLE_LOGO = "/images/bze_alternative_512x512.png";
|
|
400
|
-
var _defaultTxMemo = "getbze.com";
|
|
400
|
+
var _defaultTxMemo = process.env.NEXT_PUBLIC_APP_NAME || "getbze.com";
|
|
401
401
|
var DEFAULT_TX_MEMO = _defaultTxMemo;
|
|
402
402
|
var setDefaultTxMemo = (memo) => {
|
|
403
403
|
_defaultTxMemo = memo;
|
|
@@ -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
|
|
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
|
-
|
|
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
|
|
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 } =
|
|
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("");
|
|
@@ -4190,7 +4218,7 @@ var useTx = (chainName) => {
|
|
|
4190
4218
|
try {
|
|
4191
4219
|
const fee = await getFee(msgs, options);
|
|
4192
4220
|
setProgressTrack("Signing transaction");
|
|
4193
|
-
const broadcastResult = await signingClient.signAndBroadcast(address, msgs, fee, (_a2 = options == null ? void 0 : options.memo) != null ? _a2 :
|
|
4221
|
+
const broadcastResult = await signingClient.signAndBroadcast(address, msgs, fee, (_a2 = options == null ? void 0 : options.memo) != null ? _a2 : getDefaultTxMemo());
|
|
4194
4222
|
setProgressTrack("Waiting for confirmation");
|
|
4195
4223
|
const resp = await broadcastResult.wait();
|
|
4196
4224
|
const txHash = (resp == null ? void 0 : resp.txhash) || broadcastResult.transactionHash;
|
|
@@ -4232,7 +4260,7 @@ var useTx = (chainName) => {
|
|
|
4232
4260
|
};
|
|
4233
4261
|
|
|
4234
4262
|
// src/hooks/useValidatorLogos.ts
|
|
4235
|
-
import { useCallback as useCallback12, useEffect as
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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 } =
|
|
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 !==
|
|
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
|
-
|
|
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
|
-
} =
|
|
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
|
|
5285
|
+
case WalletState2.Connected:
|
|
5258
5286
|
return "green";
|
|
5259
|
-
case
|
|
5287
|
+
case WalletState2.Connecting:
|
|
5260
5288
|
return "yellow";
|
|
5261
|
-
case
|
|
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 ===
|
|
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 !==
|
|
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 ===
|
|
5338
|
-
status ===
|
|
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,
|