@bze/bze-ui-kit 0.2.0 → 0.2.2
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 +19 -7
- package/dist/index.d.ts +19 -7
- package/dist/index.js +94 -18
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +135 -60
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -2949,12 +2949,29 @@ function useBalance(denom) {
|
|
|
2949
2949
|
}
|
|
2950
2950
|
|
|
2951
2951
|
// src/hooks/useEpochs.ts
|
|
2952
|
-
import { useMemo as useMemo6 } from "react";
|
|
2952
|
+
import { useCallback as useCallback6, useMemo as useMemo6 } from "react";
|
|
2953
|
+
import BigNumber9 from "bignumber.js";
|
|
2953
2954
|
var EPOCH_HOUR2 = "hour";
|
|
2954
2955
|
var EPOCH_DAY2 = "day";
|
|
2955
2956
|
var EPOCH_WEEK2 = "week";
|
|
2957
|
+
function getEpochDurationByIdentifier2(identifier) {
|
|
2958
|
+
const hourMs = 60 * 60 * 1e3;
|
|
2959
|
+
switch (identifier) {
|
|
2960
|
+
case EPOCH_HOUR2:
|
|
2961
|
+
return hourMs;
|
|
2962
|
+
case EPOCH_DAY2:
|
|
2963
|
+
return hourMs * 24;
|
|
2964
|
+
case EPOCH_WEEK2:
|
|
2965
|
+
return hourMs * 24 * 7;
|
|
2966
|
+
default:
|
|
2967
|
+
return hourMs;
|
|
2968
|
+
}
|
|
2969
|
+
}
|
|
2956
2970
|
function useEpochs() {
|
|
2957
2971
|
const { epochs, isLoading, updateEpochs } = useAssetsContext();
|
|
2972
|
+
const getCurrentEpoch2 = useCallback6((identifier) => {
|
|
2973
|
+
return epochs.get(identifier);
|
|
2974
|
+
}, [epochs]);
|
|
2958
2975
|
const hourEpochInfo = useMemo6(() => {
|
|
2959
2976
|
return epochs.get(EPOCH_HOUR2);
|
|
2960
2977
|
}, [epochs]);
|
|
@@ -2964,19 +2981,65 @@ function useEpochs() {
|
|
|
2964
2981
|
const weekEpochInfo = useMemo6(() => {
|
|
2965
2982
|
return epochs.get(EPOCH_WEEK2);
|
|
2966
2983
|
}, [epochs]);
|
|
2984
|
+
const getHourEpochInfo2 = useCallback6(() => {
|
|
2985
|
+
return epochs.get(EPOCH_HOUR2);
|
|
2986
|
+
}, [epochs]);
|
|
2987
|
+
const getDayEpochInfo = useCallback6(() => {
|
|
2988
|
+
return epochs.get(EPOCH_DAY2);
|
|
2989
|
+
}, [epochs]);
|
|
2990
|
+
const getWeekEpochInfo2 = useCallback6(() => {
|
|
2991
|
+
return epochs.get(EPOCH_WEEK2);
|
|
2992
|
+
}, [epochs]);
|
|
2993
|
+
const getPeriodicEpochEndTime2 = useCallback6((identifier, modWeek = 1) => {
|
|
2994
|
+
const epoch = epochs.get(identifier);
|
|
2995
|
+
if (!epoch || !epoch.current_epoch_start_time) {
|
|
2996
|
+
return void 0;
|
|
2997
|
+
}
|
|
2998
|
+
const current = new BigNumber9(epoch.current_epoch);
|
|
2999
|
+
let remainingEpochs = modWeek - current.toNumber() % modWeek;
|
|
3000
|
+
if (remainingEpochs === modWeek) {
|
|
3001
|
+
remainingEpochs = 0;
|
|
3002
|
+
}
|
|
3003
|
+
const startAt = new Date(epoch.current_epoch_start_time);
|
|
3004
|
+
const duration = getEpochDurationByIdentifier2(identifier);
|
|
3005
|
+
startAt.setTime(startAt.getTime() + duration + duration * remainingEpochs);
|
|
3006
|
+
return startAt;
|
|
3007
|
+
}, [epochs]);
|
|
3008
|
+
const getCurrentWeekEpochEndTime2 = useCallback6(() => {
|
|
3009
|
+
return getPeriodicEpochEndTime2(EPOCH_WEEK2);
|
|
3010
|
+
}, [getPeriodicEpochEndTime2]);
|
|
3011
|
+
const getPeriodicWeekEpochEndTime2 = useCallback6((modWeek = 1) => {
|
|
3012
|
+
return getPeriodicEpochEndTime2(EPOCH_WEEK2, modWeek);
|
|
3013
|
+
}, [getPeriodicEpochEndTime2]);
|
|
3014
|
+
const epochsList = useMemo6(() => Array.from(epochs.values()), [epochs]);
|
|
2967
3015
|
return {
|
|
2968
|
-
epochs,
|
|
3016
|
+
epochs: epochsList,
|
|
3017
|
+
epochsMap: epochs,
|
|
2969
3018
|
hourEpochInfo,
|
|
2970
3019
|
dayEpochInfo,
|
|
2971
3020
|
weekEpochInfo,
|
|
2972
3021
|
isLoading,
|
|
2973
|
-
updateEpochs
|
|
3022
|
+
updateEpochs,
|
|
3023
|
+
getCurrentEpoch: getCurrentEpoch2,
|
|
3024
|
+
getHourEpochInfo: getHourEpochInfo2,
|
|
3025
|
+
getDayEpochInfo,
|
|
3026
|
+
getWeekEpochInfo: getWeekEpochInfo2,
|
|
3027
|
+
getCurrentWeekEpochEndTime: getCurrentWeekEpochEndTime2,
|
|
3028
|
+
getPeriodicWeekEpochEndTime: getPeriodicWeekEpochEndTime2,
|
|
3029
|
+
getPeriodicEpochEndTime: getPeriodicEpochEndTime2
|
|
3030
|
+
};
|
|
3031
|
+
}
|
|
3032
|
+
function useEpochsManager() {
|
|
3033
|
+
const { updateEpochs, isLoading } = useAssetsContext();
|
|
3034
|
+
return {
|
|
3035
|
+
updateEpochs,
|
|
3036
|
+
isLoading
|
|
2974
3037
|
};
|
|
2975
3038
|
}
|
|
2976
3039
|
|
|
2977
3040
|
// src/hooks/useLiquidityPools.ts
|
|
2978
|
-
import { useCallback as
|
|
2979
|
-
import
|
|
3041
|
+
import { useCallback as useCallback7, useMemo as useMemo7 } from "react";
|
|
3042
|
+
import BigNumber10 from "bignumber.js";
|
|
2980
3043
|
function useLiquidityPools() {
|
|
2981
3044
|
const { poolsMap, poolsDataMap, updateLiquidityPools, isLoading, assetsMap } = useAssetsContext();
|
|
2982
3045
|
const pools = useMemo7(() => {
|
|
@@ -2986,7 +3049,7 @@ function useLiquidityPools() {
|
|
|
2986
3049
|
const poolId = poolIdFromPoolDenom(lpDenom);
|
|
2987
3050
|
return poolsMap.get(poolId);
|
|
2988
3051
|
};
|
|
2989
|
-
const getDenomsPool =
|
|
3052
|
+
const getDenomsPool = useCallback7((denomA, denomB) => {
|
|
2990
3053
|
const poolId = createPoolId(denomA, denomB);
|
|
2991
3054
|
return poolsMap.get(poolId);
|
|
2992
3055
|
}, [poolsMap]);
|
|
@@ -3030,7 +3093,7 @@ function useAssetLiquidityPools(denom) {
|
|
|
3030
3093
|
return newMap;
|
|
3031
3094
|
}, [assetPools, poolsDataMap, isLoading, denom]);
|
|
3032
3095
|
const asset24HoursVolume = useMemo7(() => {
|
|
3033
|
-
let volume =
|
|
3096
|
+
let volume = BigNumber10(0);
|
|
3034
3097
|
if (isLoading || denom === "") return volume;
|
|
3035
3098
|
assetPoolsData.forEach((poolData) => {
|
|
3036
3099
|
if (poolData.base === denom) {
|
|
@@ -3085,13 +3148,13 @@ function useLiquidityPool(poolId) {
|
|
|
3085
3148
|
const reserveQuote = toBigNumber(pool.reserve_quote);
|
|
3086
3149
|
return userShares.dividedBy(totalShares).multipliedBy(reserveQuote);
|
|
3087
3150
|
}, [pool, userShares, totalShares]);
|
|
3088
|
-
const calculateOppositeAmount =
|
|
3151
|
+
const calculateOppositeAmount = useCallback7((amount, isBase) => {
|
|
3089
3152
|
if (!pool) {
|
|
3090
3153
|
return toBigNumber(0);
|
|
3091
3154
|
}
|
|
3092
3155
|
return calculatePoolOppositeAmount(pool, amount, isBase);
|
|
3093
3156
|
}, [pool]);
|
|
3094
|
-
const calculateSharesFromAmounts =
|
|
3157
|
+
const calculateSharesFromAmounts = useCallback7((baseAmount, quoteAmount) => {
|
|
3095
3158
|
if (!pool || !totalShares) {
|
|
3096
3159
|
return toBigNumber(0);
|
|
3097
3160
|
}
|
|
@@ -3107,9 +3170,9 @@ function useLiquidityPool(poolId) {
|
|
|
3107
3170
|
}
|
|
3108
3171
|
const baseRatio = baseAmountBN.dividedBy(reserveBase);
|
|
3109
3172
|
const quoteRatio = quoteAmountBN.dividedBy(reserveQuote);
|
|
3110
|
-
const mintRatio =
|
|
3173
|
+
const mintRatio = BigNumber10.minimum(baseRatio, quoteRatio);
|
|
3111
3174
|
const tokensToMint = mintRatio.multipliedBy(totalShares);
|
|
3112
|
-
return tokensToMint.integerValue(
|
|
3175
|
+
return tokensToMint.integerValue(BigNumber10.ROUND_DOWN);
|
|
3113
3176
|
}, [pool, totalShares]);
|
|
3114
3177
|
return {
|
|
3115
3178
|
isLoading,
|
|
@@ -3126,11 +3189,21 @@ function useLiquidityPool(poolId) {
|
|
|
3126
3189
|
}
|
|
3127
3190
|
|
|
3128
3191
|
// src/hooks/useAssetsValue.ts
|
|
3129
|
-
import { useCallback as
|
|
3130
|
-
import
|
|
3192
|
+
import { useCallback as useCallback8, useMemo as useMemo8 } from "react";
|
|
3193
|
+
import BigNumber11 from "bignumber.js";
|
|
3131
3194
|
function useAssetsValue() {
|
|
3132
3195
|
const { assetsMap, usdPricesMap, balancesMap, isLoading: isLoadingPrices } = useAssetsContext();
|
|
3133
|
-
const totalUsdValue =
|
|
3196
|
+
const totalUsdValue = useCallback8((prettyBalances) => {
|
|
3197
|
+
let usdValue = BigNumber11(0);
|
|
3198
|
+
prettyBalances.map((denomBalance) => {
|
|
3199
|
+
const assetPrice = usdPricesMap.get(denomBalance.denom);
|
|
3200
|
+
if (assetPrice && assetPrice.gt(0)) {
|
|
3201
|
+
usdValue = usdValue.plus(assetPrice.multipliedBy(denomBalance.amount));
|
|
3202
|
+
}
|
|
3203
|
+
});
|
|
3204
|
+
return usdValue;
|
|
3205
|
+
}, [usdPricesMap]);
|
|
3206
|
+
const walletTotalUsdValue = useMemo8(() => {
|
|
3134
3207
|
let total = toBigNumber(0);
|
|
3135
3208
|
balancesMap.forEach((balance, denom) => {
|
|
3136
3209
|
const price = usdPricesMap.get(denom);
|
|
@@ -3141,21 +3214,21 @@ function useAssetsValue() {
|
|
|
3141
3214
|
});
|
|
3142
3215
|
return total;
|
|
3143
3216
|
}, [balancesMap, usdPricesMap, assetsMap]);
|
|
3144
|
-
const denomUsdValue =
|
|
3217
|
+
const denomUsdValue = useCallback8((denom, uAmount) => {
|
|
3145
3218
|
const price = usdPricesMap.get(denom);
|
|
3146
3219
|
if (!price || !price.gt(0)) return toBigNumber(0);
|
|
3147
3220
|
const asset = assetsMap.get(denom);
|
|
3148
3221
|
if (!asset) return toBigNumber(0);
|
|
3149
3222
|
return price.multipliedBy(uAmountToBigNumberAmount(uAmount, asset.decimals));
|
|
3150
3223
|
}, [usdPricesMap, assetsMap]);
|
|
3151
|
-
const compareValues =
|
|
3224
|
+
const compareValues = useCallback8((a, b) => {
|
|
3152
3225
|
var _a2;
|
|
3153
|
-
let aValue =
|
|
3226
|
+
let aValue = BigNumber11(0);
|
|
3154
3227
|
const aPrice = usdPricesMap.get(a.denom);
|
|
3155
3228
|
if (aPrice) {
|
|
3156
3229
|
aValue = aPrice.multipliedBy(a.amount);
|
|
3157
3230
|
}
|
|
3158
|
-
let bValue =
|
|
3231
|
+
let bValue = BigNumber11(0);
|
|
3159
3232
|
const bPrice = usdPricesMap.get(b.denom);
|
|
3160
3233
|
if (bPrice) {
|
|
3161
3234
|
bValue = bPrice.multipliedBy(b.amount);
|
|
@@ -3164,6 +3237,7 @@ function useAssetsValue() {
|
|
|
3164
3237
|
}, [usdPricesMap]);
|
|
3165
3238
|
return {
|
|
3166
3239
|
totalUsdValue,
|
|
3240
|
+
walletTotalUsdValue,
|
|
3167
3241
|
denomUsdValue,
|
|
3168
3242
|
compareValues,
|
|
3169
3243
|
isLoading: isLoadingPrices
|
|
@@ -3207,17 +3281,17 @@ function useFeeTokens() {
|
|
|
3207
3281
|
}
|
|
3208
3282
|
|
|
3209
3283
|
// src/hooks/useMarkets.ts
|
|
3210
|
-
import { useCallback as
|
|
3211
|
-
import
|
|
3284
|
+
import { useCallback as useCallback9, useMemo as useMemo10 } from "react";
|
|
3285
|
+
import BigNumber12 from "bignumber.js";
|
|
3212
3286
|
function useMarkets() {
|
|
3213
3287
|
const { marketsMap, marketsDataMap, updateMarkets, isLoading } = useAssetsContext();
|
|
3214
3288
|
const markets = useMemo10(() => {
|
|
3215
3289
|
return Array.from(marketsMap.values());
|
|
3216
3290
|
}, [marketsMap]);
|
|
3217
3291
|
const marketsData = useMemo10(() => Array.from(marketsDataMap.values()), [marketsDataMap]);
|
|
3218
|
-
const marketExists =
|
|
3219
|
-
const getMarketData =
|
|
3220
|
-
const getMarket =
|
|
3292
|
+
const marketExists = useCallback9((marketId) => marketsMap.has(marketId), [marketsMap]);
|
|
3293
|
+
const getMarketData = useCallback9((marketId) => marketsDataMap.get(marketId), [marketsDataMap]);
|
|
3294
|
+
const getMarket = useCallback9((marketId) => marketsMap.get(marketId), [marketsMap]);
|
|
3221
3295
|
return {
|
|
3222
3296
|
markets,
|
|
3223
3297
|
marketsData,
|
|
@@ -3260,7 +3334,7 @@ function useAssetMarkets(denom) {
|
|
|
3260
3334
|
return acc.plus(market.quote_volume || 0);
|
|
3261
3335
|
}
|
|
3262
3336
|
return acc;
|
|
3263
|
-
}, new
|
|
3337
|
+
}, new BigNumber12(0));
|
|
3264
3338
|
}, [assetMarketsData, denom]);
|
|
3265
3339
|
return {
|
|
3266
3340
|
isLoading,
|
|
@@ -3313,7 +3387,7 @@ function useMarketsManager() {
|
|
|
3313
3387
|
}
|
|
3314
3388
|
|
|
3315
3389
|
// src/hooks/useToast.tsx
|
|
3316
|
-
import { useCallback as
|
|
3390
|
+
import { useCallback as useCallback10, useMemo as useMemo11 } from "react";
|
|
3317
3391
|
|
|
3318
3392
|
// src/components/toaster.tsx
|
|
3319
3393
|
import {
|
|
@@ -3343,7 +3417,7 @@ var Toaster = () => {
|
|
|
3343
3417
|
|
|
3344
3418
|
// src/hooks/useToast.tsx
|
|
3345
3419
|
var useToast = () => {
|
|
3346
|
-
const clickableSuccess =
|
|
3420
|
+
const clickableSuccess = useCallback10((title, actionFn, actionLabel, description, duration = 5e3) => {
|
|
3347
3421
|
toaster.create({
|
|
3348
3422
|
title,
|
|
3349
3423
|
description,
|
|
@@ -3356,7 +3430,7 @@ var useToast = () => {
|
|
|
3356
3430
|
}
|
|
3357
3431
|
});
|
|
3358
3432
|
}, []);
|
|
3359
|
-
const success =
|
|
3433
|
+
const success = useCallback10((title, description, duration = 5e3) => {
|
|
3360
3434
|
toaster.create({
|
|
3361
3435
|
title,
|
|
3362
3436
|
description,
|
|
@@ -3365,7 +3439,7 @@ var useToast = () => {
|
|
|
3365
3439
|
closable: true
|
|
3366
3440
|
});
|
|
3367
3441
|
}, []);
|
|
3368
|
-
const error =
|
|
3442
|
+
const error = useCallback10((title, description, duration = 8e3) => {
|
|
3369
3443
|
toaster.create({
|
|
3370
3444
|
title,
|
|
3371
3445
|
description,
|
|
@@ -3374,7 +3448,7 @@ var useToast = () => {
|
|
|
3374
3448
|
closable: true
|
|
3375
3449
|
});
|
|
3376
3450
|
}, []);
|
|
3377
|
-
const warning =
|
|
3451
|
+
const warning = useCallback10((title, description, duration = 6e3) => {
|
|
3378
3452
|
toaster.create({
|
|
3379
3453
|
title,
|
|
3380
3454
|
description,
|
|
@@ -3383,7 +3457,7 @@ var useToast = () => {
|
|
|
3383
3457
|
closable: true
|
|
3384
3458
|
});
|
|
3385
3459
|
}, []);
|
|
3386
|
-
const info =
|
|
3460
|
+
const info = useCallback10((title, description, duration = 5e3) => {
|
|
3387
3461
|
toaster.create({
|
|
3388
3462
|
title,
|
|
3389
3463
|
description,
|
|
@@ -3392,7 +3466,7 @@ var useToast = () => {
|
|
|
3392
3466
|
closable: true
|
|
3393
3467
|
});
|
|
3394
3468
|
}, []);
|
|
3395
|
-
const loading =
|
|
3469
|
+
const loading = useCallback10((title, description) => {
|
|
3396
3470
|
return toaster.create({
|
|
3397
3471
|
title,
|
|
3398
3472
|
description,
|
|
@@ -3400,7 +3474,7 @@ var useToast = () => {
|
|
|
3400
3474
|
closable: false
|
|
3401
3475
|
});
|
|
3402
3476
|
}, []);
|
|
3403
|
-
const dismiss =
|
|
3477
|
+
const dismiss = useCallback10((id) => {
|
|
3404
3478
|
toaster.dismiss(id);
|
|
3405
3479
|
}, []);
|
|
3406
3480
|
const toast = useMemo11(() => ({
|
|
@@ -3418,8 +3492,8 @@ var useToast = () => {
|
|
|
3418
3492
|
// src/hooks/useTx.tsx
|
|
3419
3493
|
import { coins, isDeliverTxSuccess } from "@cosmjs/stargate";
|
|
3420
3494
|
import { useChain as useChain2 } from "@interchain-kit/react";
|
|
3421
|
-
import
|
|
3422
|
-
import { useCallback as
|
|
3495
|
+
import BigNumber13 from "bignumber.js";
|
|
3496
|
+
import { useCallback as useCallback11, useMemo as useMemo12, useState as useState3 } from "react";
|
|
3423
3497
|
var TxStatus = /* @__PURE__ */ ((TxStatus2) => {
|
|
3424
3498
|
TxStatus2["Failed"] = "Transaction Failed";
|
|
3425
3499
|
TxStatus2["Successful"] = "Transaction Successful";
|
|
@@ -3459,18 +3533,18 @@ var useTx = (chainName, isCosmos, isIBC) => {
|
|
|
3459
3533
|
const { getDenomsPool } = useLiquidityPools();
|
|
3460
3534
|
const { feeDenom } = useSettings();
|
|
3461
3535
|
const defaultChainName = useMemo12(() => getChainName(), []);
|
|
3462
|
-
const canUseClient =
|
|
3536
|
+
const canUseClient = useCallback11(async () => {
|
|
3463
3537
|
if (!isSigningClientReady) {
|
|
3464
3538
|
console.error("waiting for signing client to be ready", signingClientError);
|
|
3465
3539
|
await sleep(1e3);
|
|
3466
3540
|
}
|
|
3467
3541
|
return isSigningClientReady;
|
|
3468
3542
|
}, [isSigningClientReady, signingClientError]);
|
|
3469
|
-
const simulateFee =
|
|
3543
|
+
const simulateFee = useCallback11(async (messages, memo) => {
|
|
3470
3544
|
const gasPrice = 0.02;
|
|
3471
3545
|
const nativeDenom = getChainNativeAssetDenom();
|
|
3472
3546
|
const gasEstimated = await signingClient.simulate(address, messages, memo);
|
|
3473
|
-
const gasAmount =
|
|
3547
|
+
const gasAmount = BigNumber13(gasEstimated).multipliedBy(1.5);
|
|
3474
3548
|
const gasPayment = gasAmount.multipliedBy(gasPrice);
|
|
3475
3549
|
const nativeFee = {
|
|
3476
3550
|
amount: coins(gasPayment.toFixed(0).toString(), nativeDenom),
|
|
@@ -3487,16 +3561,16 @@ var useTx = (chainName, isCosmos, isIBC) => {
|
|
|
3487
3561
|
if (!expectedAmount.isPositive()) {
|
|
3488
3562
|
return nativeFee;
|
|
3489
3563
|
}
|
|
3490
|
-
expectedAmount = expectedAmount.multipliedBy(1.5).integerValue(
|
|
3564
|
+
expectedAmount = expectedAmount.multipliedBy(1.5).integerValue(BigNumber13.ROUND_FLOOR);
|
|
3491
3565
|
if (expectedAmount.multipliedBy(pool.fee).lt(1)) {
|
|
3492
|
-
expectedAmount = toBigNumber(1).dividedBy(pool.fee).integerValue(
|
|
3566
|
+
expectedAmount = toBigNumber(1).dividedBy(pool.fee).integerValue(BigNumber13.ROUND_CEIL);
|
|
3493
3567
|
}
|
|
3494
3568
|
return {
|
|
3495
3569
|
amount: coins(expectedAmount.toFixed(0).toString(), feeDenom),
|
|
3496
3570
|
gas: gasAmount.multipliedBy(1.5).toFixed(0)
|
|
3497
3571
|
};
|
|
3498
3572
|
}, [signingClient, address, feeDenom, getDenomsPool]);
|
|
3499
|
-
const getFee =
|
|
3573
|
+
const getFee = useCallback11(async (messages, options) => {
|
|
3500
3574
|
try {
|
|
3501
3575
|
if (options == null ? void 0 : options.fee) {
|
|
3502
3576
|
return options.fee;
|
|
@@ -3513,7 +3587,7 @@ var useTx = (chainName, isCosmos, isIBC) => {
|
|
|
3513
3587
|
}
|
|
3514
3588
|
}
|
|
3515
3589
|
}, [simulateFee]);
|
|
3516
|
-
const tx =
|
|
3590
|
+
const tx = useCallback11(async (msgs, options) => {
|
|
3517
3591
|
var _a2;
|
|
3518
3592
|
if (!address) {
|
|
3519
3593
|
toast.error("Transaction Failed" /* Failed */, "Please connect the wallet");
|
|
@@ -3766,7 +3840,7 @@ import {
|
|
|
3766
3840
|
} from "@chakra-ui/react";
|
|
3767
3841
|
import { Select, Portal as Portal3 } from "@chakra-ui/react";
|
|
3768
3842
|
import { useTheme } from "next-themes";
|
|
3769
|
-
import { useState as useState6, useEffect as useEffect4, useMemo as useMemo13, useCallback as
|
|
3843
|
+
import { useState as useState6, useEffect as useEffect4, useMemo as useMemo13, useCallback as useCallback12 } from "react";
|
|
3770
3844
|
import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
3771
3845
|
var SettingsSidebarContent = ({ accentColor = "blue" }) => {
|
|
3772
3846
|
const { setTheme, resolvedTheme } = useTheme();
|
|
@@ -3786,7 +3860,7 @@ var SettingsSidebarContent = ({ accentColor = "blue" }) => {
|
|
|
3786
3860
|
setPreferredFeeDenom(settings.preferredFeeDenom || getChainNativeAssetDenom());
|
|
3787
3861
|
}
|
|
3788
3862
|
}, [isLoaded, settings]);
|
|
3789
|
-
const handleValidateEndpoints =
|
|
3863
|
+
const handleValidateEndpoints = useCallback12(async (rest, rpc) => {
|
|
3790
3864
|
setIsValidating(true);
|
|
3791
3865
|
setValidationResults({});
|
|
3792
3866
|
try {
|
|
@@ -3806,7 +3880,7 @@ var SettingsSidebarContent = ({ accentColor = "blue" }) => {
|
|
|
3806
3880
|
setTimeout(() => setValidationResults({}), 1e4);
|
|
3807
3881
|
}
|
|
3808
3882
|
}, []);
|
|
3809
|
-
const handleSaveSettings =
|
|
3883
|
+
const handleSaveSettings = useCallback12(async (rest, rpc, feeDenom) => {
|
|
3810
3884
|
setValidationResults({});
|
|
3811
3885
|
const results = await validateEndpoints(rest, rpc);
|
|
3812
3886
|
if (!results.isValid) {
|
|
@@ -3826,7 +3900,7 @@ var SettingsSidebarContent = ({ accentColor = "blue" }) => {
|
|
|
3826
3900
|
toast.success("Success!", "Settings have been saved.");
|
|
3827
3901
|
}
|
|
3828
3902
|
}, []);
|
|
3829
|
-
const handleResetToDefaults =
|
|
3903
|
+
const handleResetToDefaults = useCallback12(() => {
|
|
3830
3904
|
setRestEndpoint(defaultSettings.endpoints.restEndpoint);
|
|
3831
3905
|
setRpcEndpoint(defaultSettings.endpoints.rpcEndpoint);
|
|
3832
3906
|
setPreferredFeeDenom(defaultSettings.preferredFeeDenom);
|
|
@@ -3859,7 +3933,7 @@ var SettingsSidebarContent = ({ accentColor = "blue" }) => {
|
|
|
3859
3933
|
name: token.ticker || token.name
|
|
3860
3934
|
}))
|
|
3861
3935
|
}), [feeTokens]);
|
|
3862
|
-
const handleFeeTokenChange =
|
|
3936
|
+
const handleFeeTokenChange = useCallback12((denom) => {
|
|
3863
3937
|
setPreferredFeeDenom(denom || void 0);
|
|
3864
3938
|
}, []);
|
|
3865
3939
|
const hasUnsavedChanges = restEndpoint !== settings.endpoints.restEndpoint || rpcEndpoint !== settings.endpoints.rpcEndpoint || preferredFeeDenom !== settings.preferredFeeDenom;
|
|
@@ -4035,15 +4109,15 @@ import {
|
|
|
4035
4109
|
VStack as VStack2
|
|
4036
4110
|
} from "@chakra-ui/react";
|
|
4037
4111
|
import { LuCopy, LuExternalLink, LuX as LuX2 } from "react-icons/lu";
|
|
4038
|
-
import { useCallback as
|
|
4112
|
+
import { useCallback as useCallback13, useEffect as useEffect5, useMemo as useMemo14, useRef as useRef3, useState as useState7 } from "react";
|
|
4039
4113
|
import { WalletState } from "@interchain-kit/core";
|
|
4040
|
-
import
|
|
4114
|
+
import BigNumber14 from "bignumber.js";
|
|
4041
4115
|
import { cosmos } from "@bze/bzejs";
|
|
4042
4116
|
import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
4043
4117
|
var validateAmount = (amount, coin, onError) => {
|
|
4044
4118
|
if (!coin) return;
|
|
4045
4119
|
if (amount === "") return;
|
|
4046
|
-
const amountNumber =
|
|
4120
|
+
const amountNumber = BigNumber14(amount);
|
|
4047
4121
|
if (amountNumber.isNaN()) {
|
|
4048
4122
|
onError("Invalid amount");
|
|
4049
4123
|
return;
|
|
@@ -4137,13 +4211,13 @@ var SendForm = ({ balances, onClose, selectedTicker, accentColor }) => {
|
|
|
4137
4211
|
const isValidForm = useMemo14(() => {
|
|
4138
4212
|
return selectedCoin && memoError === "" && recipientError === "" && sendAmountError === "" && sendAmount !== "" && recipient !== "";
|
|
4139
4213
|
}, [selectedCoin, memoError, recipientError, sendAmountError, sendAmount, recipient]);
|
|
4140
|
-
const resetSendForm =
|
|
4214
|
+
const resetSendForm = useCallback13(() => {
|
|
4141
4215
|
setSelectedCoin(void 0);
|
|
4142
4216
|
setSendAmount("");
|
|
4143
4217
|
setRecipient("");
|
|
4144
4218
|
setMemo("");
|
|
4145
4219
|
}, []);
|
|
4146
|
-
const handleSend =
|
|
4220
|
+
const handleSend = useCallback13(async () => {
|
|
4147
4221
|
var _a2, _b2;
|
|
4148
4222
|
if (!isValidForm) {
|
|
4149
4223
|
toast.error("Can not send coins!", "Please check the input data.");
|
|
@@ -4168,11 +4242,11 @@ var SendForm = ({ balances, onClose, selectedTicker, accentColor }) => {
|
|
|
4168
4242
|
setIsLoading(false);
|
|
4169
4243
|
onClose();
|
|
4170
4244
|
}, [address, memo, onClose, recipient, selectedCoin, sendAmount, status]);
|
|
4171
|
-
const handleCancel =
|
|
4245
|
+
const handleCancel = useCallback13(() => {
|
|
4172
4246
|
resetSendForm();
|
|
4173
4247
|
onClose();
|
|
4174
4248
|
}, [onClose, resetSendForm]);
|
|
4175
|
-
const onRecipientChange =
|
|
4249
|
+
const onRecipientChange = useCallback13((recipient2) => {
|
|
4176
4250
|
setRecipient(recipient2);
|
|
4177
4251
|
if (recipient2.length === 0) {
|
|
4178
4252
|
setRecipientError("");
|
|
@@ -4185,11 +4259,11 @@ var SendForm = ({ balances, onClose, selectedTicker, accentColor }) => {
|
|
|
4185
4259
|
setRecipientError(validate.message);
|
|
4186
4260
|
}
|
|
4187
4261
|
}, []);
|
|
4188
|
-
const onAmountChange =
|
|
4262
|
+
const onAmountChange = useCallback13((amount) => {
|
|
4189
4263
|
setSendAmount(sanitizeNumberInput(amount));
|
|
4190
4264
|
setSendAmountError("");
|
|
4191
4265
|
}, []);
|
|
4192
|
-
const onCoinSelectChange =
|
|
4266
|
+
const onCoinSelectChange = useCallback13((ticker) => {
|
|
4193
4267
|
if (ticker === "") return;
|
|
4194
4268
|
const selectedCoin2 = balances.find((item) => item.ticker === ticker);
|
|
4195
4269
|
if (selectedCoin2) {
|
|
@@ -4197,13 +4271,13 @@ var SendForm = ({ balances, onClose, selectedTicker, accentColor }) => {
|
|
|
4197
4271
|
validateAmount(sendAmount, selectedCoin2, setSendAmountError);
|
|
4198
4272
|
}
|
|
4199
4273
|
}, [sendAmount, balances]);
|
|
4200
|
-
const setMaxAmount =
|
|
4274
|
+
const setMaxAmount = useCallback13(() => {
|
|
4201
4275
|
if (!selectedCoin) return;
|
|
4202
4276
|
const maxAmount = uAmountToBigNumberAmount(selectedCoin.amount, selectedCoin.decimals);
|
|
4203
4277
|
onAmountChange(maxAmount.toString());
|
|
4204
4278
|
validateAmount(maxAmount.toString(), selectedCoin, setSendAmountError);
|
|
4205
4279
|
}, [selectedCoin, onAmountChange]);
|
|
4206
|
-
const onMemoChange =
|
|
4280
|
+
const onMemoChange = useCallback13((memo2) => {
|
|
4207
4281
|
setMemo(memo2);
|
|
4208
4282
|
if (memo2.length > 256) {
|
|
4209
4283
|
setMemoError("Memo must be less than or equal to 256 characters");
|
|
@@ -4414,15 +4488,15 @@ var WalletSidebarContent = ({ accentColor = "blue" }) => {
|
|
|
4414
4488
|
setShowCopiedTooltip(true);
|
|
4415
4489
|
setTimeout(() => setShowCopiedTooltip(false), 2e3);
|
|
4416
4490
|
};
|
|
4417
|
-
const handleCancel =
|
|
4491
|
+
const handleCancel = useCallback13(() => {
|
|
4418
4492
|
setViewState("balances");
|
|
4419
4493
|
setClickedBalance("");
|
|
4420
4494
|
}, []);
|
|
4421
|
-
const onBalanceClick =
|
|
4495
|
+
const onBalanceClick = useCallback13((ticker) => {
|
|
4422
4496
|
setClickedBalance(ticker);
|
|
4423
4497
|
setViewState("send");
|
|
4424
4498
|
}, []);
|
|
4425
|
-
const handleDisconnectAll =
|
|
4499
|
+
const handleDisconnectAll = useCallback13(async () => {
|
|
4426
4500
|
setIsDisconnecting(true);
|
|
4427
4501
|
try {
|
|
4428
4502
|
console.log("Disconnected from all chains");
|
|
@@ -4818,6 +4892,7 @@ export {
|
|
|
4818
4892
|
useBalances,
|
|
4819
4893
|
useConnectionType,
|
|
4820
4894
|
useEpochs,
|
|
4895
|
+
useEpochsManager,
|
|
4821
4896
|
useFeeTokens,
|
|
4822
4897
|
useIBCChains,
|
|
4823
4898
|
useIBCTx,
|