@bze/bze-ui-kit 0.6.1 → 1.0.1
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 +2 -5
- package/dist/index.d.ts +2 -5
- package/dist/index.js +74 -112
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +123 -165
- package/dist/index.mjs.map +1 -1
- package/package.json +15 -19
package/dist/index.mjs
CHANGED
|
@@ -3036,103 +3036,17 @@ function useConnectionType() {
|
|
|
3036
3036
|
}
|
|
3037
3037
|
|
|
3038
3038
|
// src/hooks/useSigningClient.ts
|
|
3039
|
-
import {
|
|
3040
|
-
getSigningBzeClient,
|
|
3041
|
-
getSigningCosmosClient,
|
|
3042
|
-
getSigningIbcClient
|
|
3043
|
-
} from "@bze/bzejs";
|
|
3044
|
-
import { useCallback as useCallback3, useEffect as useEffect2, useMemo as useMemo3, useRef, useState as useState2 } from "react";
|
|
3039
|
+
import { useCallback as useCallback2, useEffect, useRef, useState } from "react";
|
|
3045
3040
|
import { useChain } from "@interchain-kit/react";
|
|
3046
|
-
|
|
3047
|
-
// src/hooks/useSettings.ts
|
|
3048
|
-
import { useState, useEffect, useCallback as useCallback2, useMemo as useMemo2 } from "react";
|
|
3049
|
-
function useSettings() {
|
|
3050
|
-
const [settings, setSettingsState] = useState(DEFAULT_SETTINGS);
|
|
3051
|
-
const [isLoaded, setIsLoaded] = useState(false);
|
|
3052
|
-
useEffect(() => {
|
|
3053
|
-
setSettingsState(getSettings());
|
|
3054
|
-
setIsLoaded(true);
|
|
3055
|
-
}, []);
|
|
3056
|
-
const saveSettings = useCallback2((newSettings) => {
|
|
3057
|
-
setSettings(newSettings);
|
|
3058
|
-
setSettingsState(newSettings);
|
|
3059
|
-
return true;
|
|
3060
|
-
}, []);
|
|
3061
|
-
const updateEndpoints = useCallback2((endpoints) => {
|
|
3062
|
-
const newSettings = __spreadProps(__spreadValues({}, settings), { endpoints });
|
|
3063
|
-
return saveSettings(newSettings);
|
|
3064
|
-
}, [settings, saveSettings]);
|
|
3065
|
-
const updatePreferredFeeDenom = useCallback2((preferredFeeDenom) => {
|
|
3066
|
-
const newSettings = __spreadProps(__spreadValues({}, settings), { preferredFeeDenom });
|
|
3067
|
-
return saveSettings(newSettings);
|
|
3068
|
-
}, [settings, saveSettings]);
|
|
3069
|
-
const resetToDefaults = useCallback2(() => {
|
|
3070
|
-
saveSettings(DEFAULT_SETTINGS);
|
|
3071
|
-
return true;
|
|
3072
|
-
}, [saveSettings]);
|
|
3073
|
-
const getEndpoints = useCallback2(() => {
|
|
3074
|
-
return settings.endpoints;
|
|
3075
|
-
}, [settings.endpoints]);
|
|
3076
|
-
const defaultSettings = useMemo2(() => DEFAULT_SETTINGS, []);
|
|
3077
|
-
const feeDenom = useMemo2(() => settings.preferredFeeDenom || getChainNativeAssetDenom(), [settings.preferredFeeDenom]);
|
|
3078
|
-
return {
|
|
3079
|
-
settings,
|
|
3080
|
-
isLoaded,
|
|
3081
|
-
saveSettings,
|
|
3082
|
-
updateEndpoints,
|
|
3083
|
-
updatePreferredFeeDenom,
|
|
3084
|
-
resetToDefaults,
|
|
3085
|
-
getEndpoints,
|
|
3086
|
-
defaultSettings,
|
|
3087
|
-
feeDenom
|
|
3088
|
-
};
|
|
3089
|
-
}
|
|
3090
|
-
|
|
3091
|
-
// src/hooks/useSigningClient.ts
|
|
3092
|
-
var useSigningClient = ({ chainName, isIbc, isCosmos }) => {
|
|
3041
|
+
var useSigningClient = ({ chainName }) => {
|
|
3093
3042
|
const { getSigningClient, signingClientError, wallet, chain } = useChain(chainName != null ? chainName : getChainName());
|
|
3094
|
-
const [signingClient, setSigningClient] =
|
|
3095
|
-
const [isSigningClientReady, setIsSigningClientReady] =
|
|
3096
|
-
const { settings } = useSettings();
|
|
3043
|
+
const [signingClient, setSigningClient] = useState(null);
|
|
3044
|
+
const [isSigningClientReady, setIsSigningClientReady] = useState(false);
|
|
3097
3045
|
const hasInitialized = useRef(false);
|
|
3098
|
-
const
|
|
3099
|
-
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
const offlineSigner = signingResult == null ? void 0 : signingResult.offlineSigner;
|
|
3103
|
-
const rpcEndpoint = settings.endpoints.rpcEndpoint.replace("wss://", "https://").replace("ws://", "http://");
|
|
3104
|
-
if (!offlineSigner) {
|
|
3105
|
-
return;
|
|
3106
|
-
}
|
|
3107
|
-
let clientFn = getSigningBzeClient;
|
|
3108
|
-
if (isIbc) {
|
|
3109
|
-
clientFn = getSigningIbcClient;
|
|
3110
|
-
} else if (isCosmos) {
|
|
3111
|
-
clientFn = getSigningCosmosClient;
|
|
3112
|
-
}
|
|
3113
|
-
const signer = (_a2 = offlineSigner == null ? void 0 : offlineSigner.offlineSigner) != null ? _a2 : offlineSigner;
|
|
3114
|
-
const getRpcForChain = (name) => {
|
|
3115
|
-
switch (name) {
|
|
3116
|
-
case "archway":
|
|
3117
|
-
return getArchwayRpcURL();
|
|
3118
|
-
case "osmosis":
|
|
3119
|
-
return getOsmosisRpcUrl();
|
|
3120
|
-
case "noble":
|
|
3121
|
-
return getNobleRpcUrl();
|
|
3122
|
-
case "jackal":
|
|
3123
|
-
return getJackalRpcUrl();
|
|
3124
|
-
case "omniflixhub":
|
|
3125
|
-
return getOmniFlixRpcUrl();
|
|
3126
|
-
case "atomone":
|
|
3127
|
-
return getAtomOneRpcUrl();
|
|
3128
|
-
default:
|
|
3129
|
-
return rpcEndpoint;
|
|
3130
|
-
}
|
|
3131
|
-
};
|
|
3132
|
-
const endpoint = chainName && chainName !== defaultChainName ? getRpcForChain(chainName) : rpcEndpoint;
|
|
3133
|
-
return clientFn({ rpcEndpoint: endpoint, signer });
|
|
3134
|
-
}, [getSigningClient, settings.endpoints.rpcEndpoint, isIbc, isCosmos, chainName, defaultChainName]);
|
|
3135
|
-
useEffect2(() => {
|
|
3046
|
+
const createSigningClient = useCallback2(async () => {
|
|
3047
|
+
return getSigningClient();
|
|
3048
|
+
}, [getSigningClient]);
|
|
3049
|
+
useEffect(() => {
|
|
3136
3050
|
if (!wallet || !chain || hasInitialized.current) {
|
|
3137
3051
|
return;
|
|
3138
3052
|
}
|
|
@@ -3154,12 +3068,12 @@ var useSigningClient = ({ chainName, isIbc, isCosmos }) => {
|
|
|
3154
3068
|
};
|
|
3155
3069
|
|
|
3156
3070
|
// src/hooks/usePrices.ts
|
|
3157
|
-
import { useCallback as
|
|
3071
|
+
import { useCallback as useCallback3, useMemo as useMemo2 } from "react";
|
|
3158
3072
|
function useAssetPrice(denom) {
|
|
3159
3073
|
const { usdPricesMap, marketsDataMap, isLoadingPrices } = useAssetsContext();
|
|
3160
|
-
const usdDenom =
|
|
3161
|
-
const bzeDenom =
|
|
3162
|
-
const change =
|
|
3074
|
+
const usdDenom = useMemo2(() => getUSDCDenom(), []);
|
|
3075
|
+
const bzeDenom = useMemo2(() => getChainNativeAssetDenom(), []);
|
|
3076
|
+
const change = useMemo2(() => {
|
|
3163
3077
|
const marketData = marketsDataMap.get(createMarketId(denom, usdDenom));
|
|
3164
3078
|
if (marketData) {
|
|
3165
3079
|
return marketData.change;
|
|
@@ -3170,20 +3084,20 @@ function useAssetPrice(denom) {
|
|
|
3170
3084
|
}
|
|
3171
3085
|
return 0;
|
|
3172
3086
|
}, [marketsDataMap, denom, usdDenom, bzeDenom]);
|
|
3173
|
-
const price =
|
|
3087
|
+
const price = useMemo2(() => {
|
|
3174
3088
|
const zeroBN = toBigNumber(0);
|
|
3175
3089
|
if (denom === "") return zeroBN;
|
|
3176
3090
|
if (denom === usdDenom) return toBigNumber(1);
|
|
3177
3091
|
return usdPricesMap.get(denom) || zeroBN;
|
|
3178
3092
|
}, [usdPricesMap, denom, usdDenom]);
|
|
3179
|
-
const totalUsdValue =
|
|
3093
|
+
const totalUsdValue = useCallback3((amount) => {
|
|
3180
3094
|
return price.multipliedBy(amount);
|
|
3181
3095
|
}, [price]);
|
|
3182
|
-
const uAmountUsdValue =
|
|
3096
|
+
const uAmountUsdValue = useCallback3((amount, decimals) => {
|
|
3183
3097
|
return totalUsdValue(uAmountToBigNumberAmount(amount, decimals));
|
|
3184
3098
|
}, [totalUsdValue]);
|
|
3185
|
-
const isUSDC =
|
|
3186
|
-
const hasPrice =
|
|
3099
|
+
const isUSDC = useMemo2(() => denom === usdDenom, [denom, usdDenom]);
|
|
3100
|
+
const hasPrice = useMemo2(() => price.gt(0), [price]);
|
|
3187
3101
|
return {
|
|
3188
3102
|
price,
|
|
3189
3103
|
change,
|
|
@@ -3195,16 +3109,60 @@ function useAssetPrice(denom) {
|
|
|
3195
3109
|
};
|
|
3196
3110
|
}
|
|
3197
3111
|
|
|
3112
|
+
// src/hooks/useSettings.ts
|
|
3113
|
+
import { useState as useState2, useEffect as useEffect2, useCallback as useCallback4, useMemo as useMemo3 } from "react";
|
|
3114
|
+
function useSettings() {
|
|
3115
|
+
const [settings, setSettingsState] = useState2(DEFAULT_SETTINGS);
|
|
3116
|
+
const [isLoaded, setIsLoaded] = useState2(false);
|
|
3117
|
+
useEffect2(() => {
|
|
3118
|
+
setSettingsState(getSettings());
|
|
3119
|
+
setIsLoaded(true);
|
|
3120
|
+
}, []);
|
|
3121
|
+
const saveSettings = useCallback4((newSettings) => {
|
|
3122
|
+
setSettings(newSettings);
|
|
3123
|
+
setSettingsState(newSettings);
|
|
3124
|
+
return true;
|
|
3125
|
+
}, []);
|
|
3126
|
+
const updateEndpoints = useCallback4((endpoints) => {
|
|
3127
|
+
const newSettings = __spreadProps(__spreadValues({}, settings), { endpoints });
|
|
3128
|
+
return saveSettings(newSettings);
|
|
3129
|
+
}, [settings, saveSettings]);
|
|
3130
|
+
const updatePreferredFeeDenom = useCallback4((preferredFeeDenom) => {
|
|
3131
|
+
const newSettings = __spreadProps(__spreadValues({}, settings), { preferredFeeDenom });
|
|
3132
|
+
return saveSettings(newSettings);
|
|
3133
|
+
}, [settings, saveSettings]);
|
|
3134
|
+
const resetToDefaults = useCallback4(() => {
|
|
3135
|
+
saveSettings(DEFAULT_SETTINGS);
|
|
3136
|
+
return true;
|
|
3137
|
+
}, [saveSettings]);
|
|
3138
|
+
const getEndpoints = useCallback4(() => {
|
|
3139
|
+
return settings.endpoints;
|
|
3140
|
+
}, [settings.endpoints]);
|
|
3141
|
+
const defaultSettings = useMemo3(() => DEFAULT_SETTINGS, []);
|
|
3142
|
+
const feeDenom = useMemo3(() => settings.preferredFeeDenom || getChainNativeAssetDenom(), [settings.preferredFeeDenom]);
|
|
3143
|
+
return {
|
|
3144
|
+
settings,
|
|
3145
|
+
isLoaded,
|
|
3146
|
+
saveSettings,
|
|
3147
|
+
updateEndpoints,
|
|
3148
|
+
updatePreferredFeeDenom,
|
|
3149
|
+
resetToDefaults,
|
|
3150
|
+
getEndpoints,
|
|
3151
|
+
defaultSettings,
|
|
3152
|
+
feeDenom
|
|
3153
|
+
};
|
|
3154
|
+
}
|
|
3155
|
+
|
|
3198
3156
|
// src/hooks/useBalances.ts
|
|
3199
3157
|
import BigNumber8 from "bignumber.js";
|
|
3200
|
-
import { useMemo as
|
|
3158
|
+
import { useMemo as useMemo4, useCallback as useCallback5 } from "react";
|
|
3201
3159
|
function useBalances() {
|
|
3202
3160
|
const { balancesMap, isLoading, assetsMap, usdPricesMap } = useAssetsContext();
|
|
3203
|
-
const balances =
|
|
3161
|
+
const balances = useMemo4(() => Array.from(balancesMap.values()), [balancesMap]);
|
|
3204
3162
|
const getBalanceByDenom = useCallback5((denom) => {
|
|
3205
3163
|
return balancesMap.get(denom) || { denom, amount: BigNumber8(0) };
|
|
3206
3164
|
}, [balancesMap]);
|
|
3207
|
-
const assetsBalances =
|
|
3165
|
+
const assetsBalances = useMemo4(() => {
|
|
3208
3166
|
const result = [];
|
|
3209
3167
|
balances.map((bal) => {
|
|
3210
3168
|
const asset = assetsMap.get(bal.denom);
|
|
@@ -3234,7 +3192,7 @@ function useBalances() {
|
|
|
3234
3192
|
}
|
|
3235
3193
|
function useBalance(denom) {
|
|
3236
3194
|
const { balancesMap, isLoading } = useAssetsContext();
|
|
3237
|
-
const balance =
|
|
3195
|
+
const balance = useMemo4(
|
|
3238
3196
|
() => balancesMap.get(denom) || {
|
|
3239
3197
|
denom,
|
|
3240
3198
|
amount: BigNumber8(0)
|
|
@@ -3252,7 +3210,7 @@ function useBalance(denom) {
|
|
|
3252
3210
|
}
|
|
3253
3211
|
|
|
3254
3212
|
// src/hooks/useEpochs.ts
|
|
3255
|
-
import { useCallback as useCallback6, useMemo as
|
|
3213
|
+
import { useCallback as useCallback6, useMemo as useMemo5 } from "react";
|
|
3256
3214
|
import BigNumber9 from "bignumber.js";
|
|
3257
3215
|
var EPOCH_HOUR2 = "hour";
|
|
3258
3216
|
var EPOCH_DAY2 = "day";
|
|
@@ -3275,13 +3233,13 @@ function useEpochs() {
|
|
|
3275
3233
|
const getCurrentEpoch2 = useCallback6((identifier) => {
|
|
3276
3234
|
return epochs.get(identifier);
|
|
3277
3235
|
}, [epochs]);
|
|
3278
|
-
const hourEpochInfo =
|
|
3236
|
+
const hourEpochInfo = useMemo5(() => {
|
|
3279
3237
|
return epochs.get(EPOCH_HOUR2);
|
|
3280
3238
|
}, [epochs]);
|
|
3281
|
-
const dayEpochInfo =
|
|
3239
|
+
const dayEpochInfo = useMemo5(() => {
|
|
3282
3240
|
return epochs.get(EPOCH_DAY2);
|
|
3283
3241
|
}, [epochs]);
|
|
3284
|
-
const weekEpochInfo =
|
|
3242
|
+
const weekEpochInfo = useMemo5(() => {
|
|
3285
3243
|
return epochs.get(EPOCH_WEEK2);
|
|
3286
3244
|
}, [epochs]);
|
|
3287
3245
|
const getHourEpochInfo2 = useCallback6(() => {
|
|
@@ -3314,7 +3272,7 @@ function useEpochs() {
|
|
|
3314
3272
|
const getPeriodicWeekEpochEndTime2 = useCallback6((modWeek = 1) => {
|
|
3315
3273
|
return getPeriodicEpochEndTime2(EPOCH_WEEK2, modWeek);
|
|
3316
3274
|
}, [getPeriodicEpochEndTime2]);
|
|
3317
|
-
const epochsList =
|
|
3275
|
+
const epochsList = useMemo5(() => Array.from(epochs.values()), [epochs]);
|
|
3318
3276
|
return {
|
|
3319
3277
|
epochs: epochsList,
|
|
3320
3278
|
epochsMap: epochs,
|
|
@@ -3341,11 +3299,11 @@ function useEpochsManager() {
|
|
|
3341
3299
|
}
|
|
3342
3300
|
|
|
3343
3301
|
// src/hooks/useLiquidityPools.ts
|
|
3344
|
-
import { useCallback as useCallback7, useMemo as
|
|
3302
|
+
import { useCallback as useCallback7, useMemo as useMemo6 } from "react";
|
|
3345
3303
|
import BigNumber10 from "bignumber.js";
|
|
3346
3304
|
function useLiquidityPools() {
|
|
3347
3305
|
const { poolsMap, poolsDataMap, updateLiquidityPools, isLoading, assetsMap } = useAssetsContext();
|
|
3348
|
-
const pools =
|
|
3306
|
+
const pools = useMemo6(() => {
|
|
3349
3307
|
return Array.from(poolsMap.values());
|
|
3350
3308
|
}, [poolsMap]);
|
|
3351
3309
|
const getPoolByLpDenom = (lpDenom) => {
|
|
@@ -3356,7 +3314,7 @@ function useLiquidityPools() {
|
|
|
3356
3314
|
const poolId = createPoolId(denomA, denomB);
|
|
3357
3315
|
return poolsMap.get(poolId);
|
|
3358
3316
|
}, [poolsMap]);
|
|
3359
|
-
const liquidAssets =
|
|
3317
|
+
const liquidAssets = useMemo6(() => {
|
|
3360
3318
|
if (!assetsMap || assetsMap.size === 0) return [];
|
|
3361
3319
|
const result = /* @__PURE__ */ new Map();
|
|
3362
3320
|
pools.forEach((pool) => {
|
|
@@ -3379,12 +3337,12 @@ function useLiquidityPools() {
|
|
|
3379
3337
|
}
|
|
3380
3338
|
function useAssetLiquidityPools(denom) {
|
|
3381
3339
|
const { poolsMap, poolsDataMap, isLoading } = useAssetsContext();
|
|
3382
|
-
const assetPools =
|
|
3340
|
+
const assetPools = useMemo6(() => {
|
|
3383
3341
|
return Array.from(poolsMap.values()).filter(
|
|
3384
3342
|
(pool) => pool.base === denom || pool.quote === denom
|
|
3385
3343
|
);
|
|
3386
3344
|
}, [poolsMap, denom]);
|
|
3387
|
-
const assetPoolsData =
|
|
3345
|
+
const assetPoolsData = useMemo6(() => {
|
|
3388
3346
|
const newMap = /* @__PURE__ */ new Map();
|
|
3389
3347
|
if (isLoading || denom === "") return newMap;
|
|
3390
3348
|
assetPools.forEach((pool) => {
|
|
@@ -3395,7 +3353,7 @@ function useAssetLiquidityPools(denom) {
|
|
|
3395
3353
|
});
|
|
3396
3354
|
return newMap;
|
|
3397
3355
|
}, [assetPools, poolsDataMap, isLoading, denom]);
|
|
3398
|
-
const asset24HoursVolume =
|
|
3356
|
+
const asset24HoursVolume = useMemo6(() => {
|
|
3399
3357
|
let volume = BigNumber10(0);
|
|
3400
3358
|
if (isLoading || denom === "") return volume;
|
|
3401
3359
|
assetPoolsData.forEach((poolData) => {
|
|
@@ -3417,34 +3375,34 @@ function useAssetLiquidityPools(denom) {
|
|
|
3417
3375
|
}
|
|
3418
3376
|
function useLiquidityPool(poolId) {
|
|
3419
3377
|
const { balancesMap, assetsMap, poolsMap, poolsDataMap, isLoading } = useAssetsContext();
|
|
3420
|
-
const pool =
|
|
3421
|
-
const poolData =
|
|
3422
|
-
const userShares =
|
|
3378
|
+
const pool = useMemo6(() => poolsMap.get(poolId), [poolsMap, poolId]);
|
|
3379
|
+
const poolData = useMemo6(() => poolsDataMap.get(poolId), [poolsDataMap, poolId]);
|
|
3380
|
+
const userShares = useMemo6(() => {
|
|
3423
3381
|
if (!pool) return toBigNumber(0);
|
|
3424
3382
|
const balance = balancesMap.get(pool.lp_denom);
|
|
3425
3383
|
if (!balance) return toBigNumber(0);
|
|
3426
3384
|
return toBigNumber(balance.amount);
|
|
3427
3385
|
}, [balancesMap, pool]);
|
|
3428
|
-
const totalShares =
|
|
3386
|
+
const totalShares = useMemo6(() => {
|
|
3429
3387
|
if (!assetsMap || !pool) return toBigNumber(0);
|
|
3430
3388
|
const sharesAsset = assetsMap.get(pool.lp_denom);
|
|
3431
3389
|
if (!sharesAsset) return toBigNumber(0);
|
|
3432
3390
|
return toBigNumber((sharesAsset == null ? void 0 : sharesAsset.supply) || 0);
|
|
3433
3391
|
}, [assetsMap, pool]);
|
|
3434
|
-
const userSharesPercentage =
|
|
3392
|
+
const userSharesPercentage = useMemo6(() => {
|
|
3435
3393
|
if (!userShares || !totalShares || totalShares.isZero()) {
|
|
3436
3394
|
return toBigNumber(0);
|
|
3437
3395
|
}
|
|
3438
3396
|
return userShares.dividedBy(totalShares).multipliedBy(100).toFixed(2);
|
|
3439
3397
|
}, [userShares, totalShares]);
|
|
3440
|
-
const userReserveBase =
|
|
3398
|
+
const userReserveBase = useMemo6(() => {
|
|
3441
3399
|
if (!pool || !userShares || !totalShares || totalShares.isZero()) {
|
|
3442
3400
|
return toBigNumber(0);
|
|
3443
3401
|
}
|
|
3444
3402
|
const reserveBase = toBigNumber(pool.reserve_base);
|
|
3445
3403
|
return userShares.dividedBy(totalShares).multipliedBy(reserveBase);
|
|
3446
3404
|
}, [pool, userShares, totalShares]);
|
|
3447
|
-
const userReserveQuote =
|
|
3405
|
+
const userReserveQuote = useMemo6(() => {
|
|
3448
3406
|
if (!pool || !userShares || !totalShares || totalShares.isZero()) {
|
|
3449
3407
|
return toBigNumber(0);
|
|
3450
3408
|
}
|
|
@@ -3492,7 +3450,7 @@ function useLiquidityPool(poolId) {
|
|
|
3492
3450
|
}
|
|
3493
3451
|
|
|
3494
3452
|
// src/hooks/useAssetsValue.ts
|
|
3495
|
-
import { useCallback as useCallback8, useMemo as
|
|
3453
|
+
import { useCallback as useCallback8, useMemo as useMemo7 } from "react";
|
|
3496
3454
|
import BigNumber11 from "bignumber.js";
|
|
3497
3455
|
function useAssetsValue() {
|
|
3498
3456
|
const { assetsMap, usdPricesMap, balancesMap, isLoading: isLoadingPrices } = useAssetsContext();
|
|
@@ -3506,7 +3464,7 @@ function useAssetsValue() {
|
|
|
3506
3464
|
});
|
|
3507
3465
|
return usdValue;
|
|
3508
3466
|
}, [usdPricesMap]);
|
|
3509
|
-
const walletTotalUsdValue =
|
|
3467
|
+
const walletTotalUsdValue = useMemo7(() => {
|
|
3510
3468
|
let total = toBigNumber(0);
|
|
3511
3469
|
balancesMap.forEach((balance, denom) => {
|
|
3512
3470
|
const price = usdPricesMap.get(denom);
|
|
@@ -3548,13 +3506,13 @@ function useAssetsValue() {
|
|
|
3548
3506
|
}
|
|
3549
3507
|
|
|
3550
3508
|
// src/hooks/useFeeTokens.ts
|
|
3551
|
-
import { useMemo as
|
|
3509
|
+
import { useMemo as useMemo8 } from "react";
|
|
3552
3510
|
var MIN_LIQUIDITY_FOR_FEE_TOKEN = 5e10;
|
|
3553
3511
|
function useFeeTokens() {
|
|
3554
3512
|
const { pools, isLoading: poolsLoading } = useLiquidityPools();
|
|
3555
3513
|
const { assetsMap, isLoading: assetsLoading } = useAssetsContext();
|
|
3556
3514
|
const nativeDenom = getChainNativeAssetDenom();
|
|
3557
|
-
const feeTokens =
|
|
3515
|
+
const feeTokens = useMemo8(() => {
|
|
3558
3516
|
if (poolsLoading || assetsLoading) {
|
|
3559
3517
|
return [];
|
|
3560
3518
|
}
|
|
@@ -3584,14 +3542,14 @@ function useFeeTokens() {
|
|
|
3584
3542
|
}
|
|
3585
3543
|
|
|
3586
3544
|
// src/hooks/useMarkets.ts
|
|
3587
|
-
import { useCallback as useCallback9, useMemo as
|
|
3545
|
+
import { useCallback as useCallback9, useMemo as useMemo9 } from "react";
|
|
3588
3546
|
import BigNumber12 from "bignumber.js";
|
|
3589
3547
|
function useMarkets() {
|
|
3590
3548
|
const { marketsMap, marketsDataMap, updateMarkets, isLoading } = useAssetsContext();
|
|
3591
|
-
const markets =
|
|
3549
|
+
const markets = useMemo9(() => {
|
|
3592
3550
|
return Array.from(marketsMap.values());
|
|
3593
3551
|
}, [marketsMap]);
|
|
3594
|
-
const marketsData =
|
|
3552
|
+
const marketsData = useMemo9(() => Array.from(marketsDataMap.values()), [marketsDataMap]);
|
|
3595
3553
|
const marketExists = useCallback9((marketId) => marketsMap.has(marketId), [marketsMap]);
|
|
3596
3554
|
const getMarketData = useCallback9((marketId) => marketsDataMap.get(marketId), [marketsDataMap]);
|
|
3597
3555
|
const getMarket = useCallback9((marketId) => marketsMap.get(marketId), [marketsMap]);
|
|
@@ -3609,9 +3567,9 @@ function useMarkets() {
|
|
|
3609
3567
|
}
|
|
3610
3568
|
function useAssetMarkets(denom) {
|
|
3611
3569
|
const { isLoading, marketsMap, marketsDataMap } = useAssetsContext();
|
|
3612
|
-
const markets =
|
|
3613
|
-
const marketsData =
|
|
3614
|
-
const assetMarkets =
|
|
3570
|
+
const markets = useMemo9(() => Array.from(marketsMap.values()), [marketsMap]);
|
|
3571
|
+
const marketsData = useMemo9(() => Array.from(marketsDataMap.values()), [marketsDataMap]);
|
|
3572
|
+
const assetMarkets = useMemo9(() => {
|
|
3615
3573
|
const baseMatches = [];
|
|
3616
3574
|
const quoteMatches = [];
|
|
3617
3575
|
for (const market of markets) {
|
|
@@ -3620,7 +3578,7 @@ function useAssetMarkets(denom) {
|
|
|
3620
3578
|
}
|
|
3621
3579
|
return [...baseMatches, ...quoteMatches];
|
|
3622
3580
|
}, [markets, denom]);
|
|
3623
|
-
const assetMarketsData =
|
|
3581
|
+
const assetMarketsData = useMemo9(() => {
|
|
3624
3582
|
const baseMatches = [];
|
|
3625
3583
|
const quoteMatches = [];
|
|
3626
3584
|
for (const market of marketsData) {
|
|
@@ -3629,7 +3587,7 @@ function useAssetMarkets(denom) {
|
|
|
3629
3587
|
}
|
|
3630
3588
|
return [...baseMatches, ...quoteMatches];
|
|
3631
3589
|
}, [marketsData, denom]);
|
|
3632
|
-
const asset24hTradedVolume =
|
|
3590
|
+
const asset24hTradedVolume = useMemo9(() => {
|
|
3633
3591
|
return assetMarketsData.reduce((acc, market) => {
|
|
3634
3592
|
if (denom === market.base) {
|
|
3635
3593
|
return acc.plus(market.base_volume || 0);
|
|
@@ -3648,8 +3606,8 @@ function useAssetMarkets(denom) {
|
|
|
3648
3606
|
}
|
|
3649
3607
|
function useMarket(marketId) {
|
|
3650
3608
|
const { marketsMap, marketsDataMap, isLoading, assetsMap } = useAssetsContext();
|
|
3651
|
-
const market =
|
|
3652
|
-
const marketSymbol =
|
|
3609
|
+
const market = useMemo9(() => marketsMap.get(marketId), [marketsMap, marketId]);
|
|
3610
|
+
const marketSymbol = useMemo9(() => {
|
|
3653
3611
|
var _a2, _b2;
|
|
3654
3612
|
if (isLoading) return "";
|
|
3655
3613
|
if (!market) return "";
|
|
@@ -3663,9 +3621,9 @@ function useMarket(marketId) {
|
|
|
3663
3621
|
}
|
|
3664
3622
|
return `${base}/${quote}`;
|
|
3665
3623
|
}, [market, isLoading, assetsMap]);
|
|
3666
|
-
const marketData =
|
|
3667
|
-
const marketExists =
|
|
3668
|
-
const volume24h =
|
|
3624
|
+
const marketData = useMemo9(() => marketsDataMap.get(marketId), [marketsDataMap, marketId]);
|
|
3625
|
+
const marketExists = useMemo9(() => !!market, [market]);
|
|
3626
|
+
const volume24h = useMemo9(() => {
|
|
3669
3627
|
if (!marketData || !market) return toBigNumber(0);
|
|
3670
3628
|
const quoteAsset = assetsMap.get(market.quote);
|
|
3671
3629
|
if (!quoteAsset) return toBigNumber(0);
|
|
@@ -3690,7 +3648,7 @@ function useMarketsManager() {
|
|
|
3690
3648
|
}
|
|
3691
3649
|
|
|
3692
3650
|
// src/hooks/useToast.tsx
|
|
3693
|
-
import { useCallback as useCallback10, useMemo as
|
|
3651
|
+
import { useCallback as useCallback10, useMemo as useMemo10 } from "react";
|
|
3694
3652
|
|
|
3695
3653
|
// src/components/toaster.tsx
|
|
3696
3654
|
import {
|
|
@@ -3780,7 +3738,7 @@ var useToast = () => {
|
|
|
3780
3738
|
const dismiss = useCallback10((id) => {
|
|
3781
3739
|
toaster.dismiss(id);
|
|
3782
3740
|
}, []);
|
|
3783
|
-
const toast =
|
|
3741
|
+
const toast = useMemo10(() => ({
|
|
3784
3742
|
clickableSuccess,
|
|
3785
3743
|
success,
|
|
3786
3744
|
error,
|
|
@@ -3793,10 +3751,10 @@ var useToast = () => {
|
|
|
3793
3751
|
};
|
|
3794
3752
|
|
|
3795
3753
|
// src/hooks/useTx.tsx
|
|
3796
|
-
import { coins, isDeliverTxSuccess } from "@cosmjs/stargate";
|
|
3797
3754
|
import { useChain as useChain2 } from "@interchain-kit/react";
|
|
3798
3755
|
import BigNumber13 from "bignumber.js";
|
|
3799
|
-
import { useCallback as useCallback11, useMemo as
|
|
3756
|
+
import { useCallback as useCallback11, useMemo as useMemo11, useState as useState3 } from "react";
|
|
3757
|
+
var coins = (amount, denom) => [{ amount: String(amount), denom }];
|
|
3800
3758
|
var TxStatus = /* @__PURE__ */ ((TxStatus2) => {
|
|
3801
3759
|
TxStatus2["Failed"] = "Transaction Failed";
|
|
3802
3760
|
TxStatus2["Successful"] = "Transaction Successful";
|
|
@@ -3808,34 +3766,34 @@ var defaultFee = {
|
|
|
3808
3766
|
gas: "500000"
|
|
3809
3767
|
};
|
|
3810
3768
|
var useSDKTx = (chainName) => {
|
|
3811
|
-
const { tx, progressTrack } = useTx(chainName != null ? chainName : getChainName()
|
|
3769
|
+
const { tx, progressTrack } = useTx(chainName != null ? chainName : getChainName());
|
|
3812
3770
|
return {
|
|
3813
3771
|
tx,
|
|
3814
3772
|
progressTrack
|
|
3815
3773
|
};
|
|
3816
3774
|
};
|
|
3817
3775
|
var useBZETx = () => {
|
|
3818
|
-
const { tx, progressTrack } = useTx(getChainName()
|
|
3776
|
+
const { tx, progressTrack } = useTx(getChainName());
|
|
3819
3777
|
return {
|
|
3820
3778
|
tx,
|
|
3821
3779
|
progressTrack
|
|
3822
3780
|
};
|
|
3823
3781
|
};
|
|
3824
3782
|
var useIBCTx = (chainName) => {
|
|
3825
|
-
const { tx, progressTrack } = useTx(chainName != null ? chainName : getChainName()
|
|
3783
|
+
const { tx, progressTrack } = useTx(chainName != null ? chainName : getChainName());
|
|
3826
3784
|
return {
|
|
3827
3785
|
tx,
|
|
3828
3786
|
progressTrack
|
|
3829
3787
|
};
|
|
3830
3788
|
};
|
|
3831
|
-
var useTx = (chainName
|
|
3789
|
+
var useTx = (chainName) => {
|
|
3832
3790
|
const { address, disconnect } = useChain2(chainName);
|
|
3833
3791
|
const { toast } = useToast();
|
|
3834
|
-
const { signingClient, isSigningClientReady, signingClientError } = useSigningClient({ chainName
|
|
3792
|
+
const { signingClient, isSigningClientReady, signingClientError } = useSigningClient({ chainName });
|
|
3835
3793
|
const [progressTrack, setProgressTrack] = useState3("");
|
|
3836
3794
|
const { getDenomsPool } = useLiquidityPools();
|
|
3837
3795
|
const { feeDenom } = useSettings();
|
|
3838
|
-
const defaultChainName =
|
|
3796
|
+
const defaultChainName = useMemo11(() => getChainName(), []);
|
|
3839
3797
|
const canUseClient = useCallback11(async () => {
|
|
3840
3798
|
if (!isSigningClientReady) {
|
|
3841
3799
|
console.error("waiting for signing client to be ready", signingClientError);
|
|
@@ -3908,7 +3866,7 @@ var useTx = (chainName, isCosmos, isIBC) => {
|
|
|
3908
3866
|
const fee = await getFee(msgs, options);
|
|
3909
3867
|
setProgressTrack("Signing transaction");
|
|
3910
3868
|
const resp = await signingClient.signAndBroadcast(address, msgs, fee, (_a2 = options == null ? void 0 : options.memo) != null ? _a2 : DEFAULT_TX_MEMO);
|
|
3911
|
-
if (
|
|
3869
|
+
if (resp.code === 0) {
|
|
3912
3870
|
setProgressTrack("Transaction sent");
|
|
3913
3871
|
toast.clickableSuccess("Transaction Successful" /* Successful */, () => {
|
|
3914
3872
|
openExternalLink(`${getChainExplorerURL(chainName != null ? chainName : defaultChainName)}/tx/${resp.transactionHash}`);
|
|
@@ -4238,7 +4196,7 @@ import {
|
|
|
4238
4196
|
} from "@chakra-ui/react";
|
|
4239
4197
|
import { Select, Portal as Portal3 } from "@chakra-ui/react";
|
|
4240
4198
|
import { useTheme } from "next-themes";
|
|
4241
|
-
import { useState as useState7, useEffect as useEffect5, useMemo as
|
|
4199
|
+
import { useState as useState7, useEffect as useEffect5, useMemo as useMemo12, useCallback as useCallback13 } from "react";
|
|
4242
4200
|
import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
4243
4201
|
var SettingsSidebarContent = ({ accentColor = "blue" }) => {
|
|
4244
4202
|
const { setTheme, resolvedTheme } = useTheme();
|
|
@@ -4304,7 +4262,7 @@ var SettingsSidebarContent = ({ accentColor = "blue" }) => {
|
|
|
4304
4262
|
setPreferredFeeDenom(defaultSettings.preferredFeeDenom);
|
|
4305
4263
|
setValidationResults({});
|
|
4306
4264
|
}, []);
|
|
4307
|
-
const connectionStatusText =
|
|
4265
|
+
const connectionStatusText = useMemo12(() => {
|
|
4308
4266
|
switch (connectionType) {
|
|
4309
4267
|
case CONNECTION_TYPE_NONE:
|
|
4310
4268
|
return "Failed";
|
|
@@ -4314,7 +4272,7 @@ var SettingsSidebarContent = ({ accentColor = "blue" }) => {
|
|
|
4314
4272
|
return "Connected";
|
|
4315
4273
|
}
|
|
4316
4274
|
}, [connectionType]);
|
|
4317
|
-
const connectionStatusBadgeColor =
|
|
4275
|
+
const connectionStatusBadgeColor = useMemo12(() => {
|
|
4318
4276
|
switch (connectionType) {
|
|
4319
4277
|
case CONNECTION_TYPE_NONE:
|
|
4320
4278
|
return "red";
|
|
@@ -4324,7 +4282,7 @@ var SettingsSidebarContent = ({ accentColor = "blue" }) => {
|
|
|
4324
4282
|
return "green";
|
|
4325
4283
|
}
|
|
4326
4284
|
}, [connectionType]);
|
|
4327
|
-
const feeTokensCollection =
|
|
4285
|
+
const feeTokensCollection = useMemo12(() => createListCollection({
|
|
4328
4286
|
items: feeTokens.map((token) => ({
|
|
4329
4287
|
label: token.ticker || token.name,
|
|
4330
4288
|
value: token.denom,
|
|
@@ -4507,7 +4465,7 @@ import {
|
|
|
4507
4465
|
VStack as VStack2
|
|
4508
4466
|
} from "@chakra-ui/react";
|
|
4509
4467
|
import { LuCopy, LuExternalLink, LuX as LuX2 } from "react-icons/lu";
|
|
4510
|
-
import { useCallback as useCallback14, useEffect as useEffect6, useMemo as
|
|
4468
|
+
import { useCallback as useCallback14, useEffect as useEffect6, useMemo as useMemo13, useRef as useRef4, useState as useState8 } from "react";
|
|
4511
4469
|
import { WalletState } from "@interchain-kit/core";
|
|
4512
4470
|
import BigNumber14 from "bignumber.js";
|
|
4513
4471
|
import { cosmos } from "@bze/bzejs";
|
|
@@ -4529,11 +4487,11 @@ var validateAmount = (amount, coin, onError) => {
|
|
|
4529
4487
|
};
|
|
4530
4488
|
var BalanceItem = ({ asset, onClick, accentColor }) => {
|
|
4531
4489
|
const [showSendButton, setShowSendButton] = useState8(false);
|
|
4532
|
-
const formattedBalanceAmount =
|
|
4490
|
+
const formattedBalanceAmount = useMemo13(() => {
|
|
4533
4491
|
var _a2;
|
|
4534
4492
|
return prettyAmount(uAmountToBigNumberAmount(asset.amount, (_a2 = asset.decimals) != null ? _a2 : 0));
|
|
4535
4493
|
}, [asset.amount, asset.decimals]);
|
|
4536
|
-
const formattedBalanceUSDValue =
|
|
4494
|
+
const formattedBalanceUSDValue = useMemo13(() => {
|
|
4537
4495
|
return shortNumberFormat(asset.USDValue);
|
|
4538
4496
|
}, [asset.USDValue]);
|
|
4539
4497
|
return /* @__PURE__ */ jsxs4(
|
|
@@ -4606,7 +4564,7 @@ var SendForm = ({ balances, onClose, selectedTicker, accentColor }) => {
|
|
|
4606
4564
|
};
|
|
4607
4565
|
})
|
|
4608
4566
|
});
|
|
4609
|
-
const isValidForm =
|
|
4567
|
+
const isValidForm = useMemo13(() => {
|
|
4610
4568
|
return selectedCoin && memoError === "" && recipientError === "" && sendAmountError === "" && sendAmount !== "" && recipient !== "";
|
|
4611
4569
|
}, [selectedCoin, memoError, recipientError, sendAmountError, sendAmount, recipient]);
|
|
4612
4570
|
const resetSendForm = useCallback14(() => {
|
|
@@ -4859,12 +4817,12 @@ var WalletSidebarContent = ({ accentColor = "blue" }) => {
|
|
|
4859
4817
|
connect
|
|
4860
4818
|
} = useChain3(getChainName());
|
|
4861
4819
|
const { assetsBalances, isLoading: assetsLoading } = useBalances();
|
|
4862
|
-
const balancesWithoutLps =
|
|
4820
|
+
const balancesWithoutLps = useMemo13(() => {
|
|
4863
4821
|
if (assetsLoading) return [];
|
|
4864
4822
|
return assetsBalances.filter((asset) => !isLpDenom(asset.denom));
|
|
4865
4823
|
}, [assetsLoading, assetsBalances]);
|
|
4866
4824
|
const nativeDenom = getChainNativeAssetDenom();
|
|
4867
|
-
const sortedBalances =
|
|
4825
|
+
const sortedBalances = useMemo13(() => {
|
|
4868
4826
|
return balancesWithoutLps.sort((a, b) => {
|
|
4869
4827
|
if (a.denom === nativeDenom) return -1;
|
|
4870
4828
|
if (b.denom === nativeDenom) return 1;
|
|
@@ -4880,7 +4838,7 @@ var WalletSidebarContent = ({ accentColor = "blue" }) => {
|
|
|
4880
4838
|
return 0;
|
|
4881
4839
|
});
|
|
4882
4840
|
}, [balancesWithoutLps]);
|
|
4883
|
-
const walletAddress =
|
|
4841
|
+
const walletAddress = useMemo13(() => stringTruncateFromCenter(address != null ? address : "", 16), [address]);
|
|
4884
4842
|
const handleCopyAddress = () => {
|
|
4885
4843
|
navigator.clipboard.writeText(address);
|
|
4886
4844
|
setShowCopiedTooltip(true);
|
|
@@ -4966,7 +4924,7 @@ var WalletSidebarContent = ({ accentColor = "blue" }) => {
|
|
|
4966
4924
|
}
|
|
4967
4925
|
) })
|
|
4968
4926
|
] });
|
|
4969
|
-
const statusColor =
|
|
4927
|
+
const statusColor = useMemo13(() => {
|
|
4970
4928
|
switch (status) {
|
|
4971
4929
|
case WalletState.Connected:
|
|
4972
4930
|
return "green";
|