@bze/bze-ui-kit 0.6.0 → 1.0.0
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 +86 -120
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +135 -173
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -9
package/dist/index.mjs
CHANGED
|
@@ -1965,6 +1965,10 @@ var counterpartyChainForChannel = async (channelId, portId = "transfer") => {
|
|
|
1965
1965
|
|
|
1966
1966
|
// src/service/assets_factory.ts
|
|
1967
1967
|
var ORIGIN_CHAIN_PLACEHOLDER = "Unknown chain";
|
|
1968
|
+
var getAssetLogo = (asset) => {
|
|
1969
|
+
var _a2, _b2, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
1970
|
+
return (_j = (_i = (_f = (_c = (_a2 = asset.logoURIs) == null ? void 0 : _a2.svg) != null ? _c : (_b2 = asset.logoURIs) == null ? void 0 : _b2.png) != null ? _f : (_e = (_d = asset.images) == null ? void 0 : _d[0]) == null ? void 0 : _e.svg) != null ? _i : (_h = (_g = asset.images) == null ? void 0 : _g[0]) == null ? void 0 : _h.png) != null ? _j : TOKEN_LOGO_PLACEHOLDER;
|
|
1971
|
+
};
|
|
1968
1972
|
var getChainAssets = async () => {
|
|
1969
1973
|
const [metadata, supply] = await Promise.all([getAllMetadataMap(), getAllSupply()]);
|
|
1970
1974
|
const result = {
|
|
@@ -2012,7 +2016,7 @@ var getChainAssets = async () => {
|
|
|
2012
2016
|
return result;
|
|
2013
2017
|
};
|
|
2014
2018
|
var populateIBCAsset = async (asset) => {
|
|
2015
|
-
var _a2, _b2, _c, _d
|
|
2019
|
+
var _a2, _b2, _c, _d;
|
|
2016
2020
|
const ibcList = getIBCAssetList();
|
|
2017
2021
|
const ibcData2 = ibcList.find((item) => item.base === asset.denom);
|
|
2018
2022
|
if (ibcData2 && ibcData2.traces && ibcData2.traces.length > 0) {
|
|
@@ -2023,7 +2027,7 @@ var populateIBCAsset = async (asset) => {
|
|
|
2023
2027
|
asset.name = ibcData2.name;
|
|
2024
2028
|
asset.ticker = ibcData2.symbol.toUpperCase();
|
|
2025
2029
|
asset.decimals = (_a2 = getExponentByDenomFromAsset(ibcData2, ibcData2.display)) != null ? _a2 : 0;
|
|
2026
|
-
asset.logo = (
|
|
2030
|
+
asset.logo = getAssetLogo(ibcData2);
|
|
2027
2031
|
asset.verified = true;
|
|
2028
2032
|
asset.IBCData = {
|
|
2029
2033
|
chain: {
|
|
@@ -2033,7 +2037,7 @@ var populateIBCAsset = async (asset) => {
|
|
|
2033
2037
|
chainName: firstTrace.counterparty.chain_name,
|
|
2034
2038
|
channelId: firstTrace.counterparty.channel_id,
|
|
2035
2039
|
baseDenom: firstTrace.counterparty.base_denom,
|
|
2036
|
-
chainPrettyName: (
|
|
2040
|
+
chainPrettyName: (_b2 = ibcAssetChain.prettyName) != null ? _b2 : ibcAssetChain.chainName
|
|
2037
2041
|
}
|
|
2038
2042
|
};
|
|
2039
2043
|
return asset;
|
|
@@ -2069,7 +2073,7 @@ var populateIBCAsset = async (asset) => {
|
|
|
2069
2073
|
const fullChain = getChainByChainId(counterPartyChain.chainId);
|
|
2070
2074
|
if (fullChain) {
|
|
2071
2075
|
asset.IBCData.counterparty.chainName = fullChain.chainName;
|
|
2072
|
-
asset.IBCData.counterparty.chainPrettyName = (
|
|
2076
|
+
asset.IBCData.counterparty.chainPrettyName = (_c = fullChain.prettyName) != null ? _c : fullChain.chainName;
|
|
2073
2077
|
}
|
|
2074
2078
|
}
|
|
2075
2079
|
const registryAssetChain = getAssetLists().find((item) => {
|
|
@@ -2080,8 +2084,8 @@ var populateIBCAsset = async (asset) => {
|
|
|
2080
2084
|
const registryAsset = registryAssetChain.assets.find((i) => i.base === ibcTrace.base_denom);
|
|
2081
2085
|
asset.name = registryAsset.name;
|
|
2082
2086
|
asset.ticker = registryAsset.symbol.toUpperCase();
|
|
2083
|
-
asset.decimals = (
|
|
2084
|
-
asset.logo = (
|
|
2087
|
+
asset.decimals = (_d = getExponentByDenomFromAsset(registryAsset, registryAsset.display)) != null ? _d : 0;
|
|
2088
|
+
asset.logo = getAssetLogo(registryAsset);
|
|
2085
2089
|
asset.verified = true;
|
|
2086
2090
|
return asset;
|
|
2087
2091
|
}
|
|
@@ -2111,7 +2115,7 @@ var populateAssetFromChainRegistry = async (asset) => {
|
|
|
2111
2115
|
return void 0;
|
|
2112
2116
|
};
|
|
2113
2117
|
var populateAssetFromBZEChainRegistryAssetList = async (asset) => {
|
|
2114
|
-
var _a2
|
|
2118
|
+
var _a2;
|
|
2115
2119
|
const data = getAssetLists().find((item) => item.chainName.toLowerCase() === getChainName().toLowerCase());
|
|
2116
2120
|
if (!data) {
|
|
2117
2121
|
return void 0;
|
|
@@ -2123,7 +2127,7 @@ var populateAssetFromBZEChainRegistryAssetList = async (asset) => {
|
|
|
2123
2127
|
asset.decimals = (_a2 = getExponentByDenomFromAsset(assetData, assetData.display)) != null ? _a2 : 0;
|
|
2124
2128
|
asset.name = assetData.name;
|
|
2125
2129
|
asset.ticker = assetData.display.toUpperCase();
|
|
2126
|
-
asset.logo = isNativeDenom(asset.denom) ? BZE_CIRCLE_LOGO : (
|
|
2130
|
+
asset.logo = isNativeDenom(asset.denom) ? BZE_CIRCLE_LOGO : getAssetLogo(assetData);
|
|
2127
2131
|
return asset;
|
|
2128
2132
|
};
|
|
2129
2133
|
var populateAssetFromBlockchainMetadata = (asset, meta) => {
|
|
@@ -3032,103 +3036,17 @@ function useConnectionType() {
|
|
|
3032
3036
|
}
|
|
3033
3037
|
|
|
3034
3038
|
// src/hooks/useSigningClient.ts
|
|
3035
|
-
import {
|
|
3036
|
-
getSigningBzeClient,
|
|
3037
|
-
getSigningCosmosClient,
|
|
3038
|
-
getSigningIbcClient
|
|
3039
|
-
} from "@bze/bzejs";
|
|
3040
|
-
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";
|
|
3041
3040
|
import { useChain } from "@interchain-kit/react";
|
|
3042
|
-
|
|
3043
|
-
// src/hooks/useSettings.ts
|
|
3044
|
-
import { useState, useEffect, useCallback as useCallback2, useMemo as useMemo2 } from "react";
|
|
3045
|
-
function useSettings() {
|
|
3046
|
-
const [settings, setSettingsState] = useState(DEFAULT_SETTINGS);
|
|
3047
|
-
const [isLoaded, setIsLoaded] = useState(false);
|
|
3048
|
-
useEffect(() => {
|
|
3049
|
-
setSettingsState(getSettings());
|
|
3050
|
-
setIsLoaded(true);
|
|
3051
|
-
}, []);
|
|
3052
|
-
const saveSettings = useCallback2((newSettings) => {
|
|
3053
|
-
setSettings(newSettings);
|
|
3054
|
-
setSettingsState(newSettings);
|
|
3055
|
-
return true;
|
|
3056
|
-
}, []);
|
|
3057
|
-
const updateEndpoints = useCallback2((endpoints) => {
|
|
3058
|
-
const newSettings = __spreadProps(__spreadValues({}, settings), { endpoints });
|
|
3059
|
-
return saveSettings(newSettings);
|
|
3060
|
-
}, [settings, saveSettings]);
|
|
3061
|
-
const updatePreferredFeeDenom = useCallback2((preferredFeeDenom) => {
|
|
3062
|
-
const newSettings = __spreadProps(__spreadValues({}, settings), { preferredFeeDenom });
|
|
3063
|
-
return saveSettings(newSettings);
|
|
3064
|
-
}, [settings, saveSettings]);
|
|
3065
|
-
const resetToDefaults = useCallback2(() => {
|
|
3066
|
-
saveSettings(DEFAULT_SETTINGS);
|
|
3067
|
-
return true;
|
|
3068
|
-
}, [saveSettings]);
|
|
3069
|
-
const getEndpoints = useCallback2(() => {
|
|
3070
|
-
return settings.endpoints;
|
|
3071
|
-
}, [settings.endpoints]);
|
|
3072
|
-
const defaultSettings = useMemo2(() => DEFAULT_SETTINGS, []);
|
|
3073
|
-
const feeDenom = useMemo2(() => settings.preferredFeeDenom || getChainNativeAssetDenom(), [settings.preferredFeeDenom]);
|
|
3074
|
-
return {
|
|
3075
|
-
settings,
|
|
3076
|
-
isLoaded,
|
|
3077
|
-
saveSettings,
|
|
3078
|
-
updateEndpoints,
|
|
3079
|
-
updatePreferredFeeDenom,
|
|
3080
|
-
resetToDefaults,
|
|
3081
|
-
getEndpoints,
|
|
3082
|
-
defaultSettings,
|
|
3083
|
-
feeDenom
|
|
3084
|
-
};
|
|
3085
|
-
}
|
|
3086
|
-
|
|
3087
|
-
// src/hooks/useSigningClient.ts
|
|
3088
|
-
var useSigningClient = ({ chainName, isIbc, isCosmos }) => {
|
|
3041
|
+
var useSigningClient = ({ chainName }) => {
|
|
3089
3042
|
const { getSigningClient, signingClientError, wallet, chain } = useChain(chainName != null ? chainName : getChainName());
|
|
3090
|
-
const [signingClient, setSigningClient] =
|
|
3091
|
-
const [isSigningClientReady, setIsSigningClientReady] =
|
|
3092
|
-
const { settings } = useSettings();
|
|
3043
|
+
const [signingClient, setSigningClient] = useState(null);
|
|
3044
|
+
const [isSigningClientReady, setIsSigningClientReady] = useState(false);
|
|
3093
3045
|
const hasInitialized = useRef(false);
|
|
3094
|
-
const
|
|
3095
|
-
|
|
3096
|
-
|
|
3097
|
-
|
|
3098
|
-
const offlineSigner = signingResult == null ? void 0 : signingResult.offlineSigner;
|
|
3099
|
-
const rpcEndpoint = settings.endpoints.rpcEndpoint.replace("wss://", "https://").replace("ws://", "http://");
|
|
3100
|
-
if (!offlineSigner) {
|
|
3101
|
-
return;
|
|
3102
|
-
}
|
|
3103
|
-
let clientFn = getSigningBzeClient;
|
|
3104
|
-
if (isIbc) {
|
|
3105
|
-
clientFn = getSigningIbcClient;
|
|
3106
|
-
} else if (isCosmos) {
|
|
3107
|
-
clientFn = getSigningCosmosClient;
|
|
3108
|
-
}
|
|
3109
|
-
const signer = (_a2 = offlineSigner == null ? void 0 : offlineSigner.offlineSigner) != null ? _a2 : offlineSigner;
|
|
3110
|
-
const getRpcForChain = (name) => {
|
|
3111
|
-
switch (name) {
|
|
3112
|
-
case "archway":
|
|
3113
|
-
return getArchwayRpcURL();
|
|
3114
|
-
case "osmosis":
|
|
3115
|
-
return getOsmosisRpcUrl();
|
|
3116
|
-
case "noble":
|
|
3117
|
-
return getNobleRpcUrl();
|
|
3118
|
-
case "jackal":
|
|
3119
|
-
return getJackalRpcUrl();
|
|
3120
|
-
case "omniflixhub":
|
|
3121
|
-
return getOmniFlixRpcUrl();
|
|
3122
|
-
case "atomone":
|
|
3123
|
-
return getAtomOneRpcUrl();
|
|
3124
|
-
default:
|
|
3125
|
-
return rpcEndpoint;
|
|
3126
|
-
}
|
|
3127
|
-
};
|
|
3128
|
-
const endpoint = chainName && chainName !== defaultChainName ? getRpcForChain(chainName) : rpcEndpoint;
|
|
3129
|
-
return clientFn({ rpcEndpoint: endpoint, signer });
|
|
3130
|
-
}, [getSigningClient, settings.endpoints.rpcEndpoint, isIbc, isCosmos, chainName, defaultChainName]);
|
|
3131
|
-
useEffect2(() => {
|
|
3046
|
+
const createSigningClient = useCallback2(async () => {
|
|
3047
|
+
return getSigningClient();
|
|
3048
|
+
}, [getSigningClient]);
|
|
3049
|
+
useEffect(() => {
|
|
3132
3050
|
if (!wallet || !chain || hasInitialized.current) {
|
|
3133
3051
|
return;
|
|
3134
3052
|
}
|
|
@@ -3150,12 +3068,12 @@ var useSigningClient = ({ chainName, isIbc, isCosmos }) => {
|
|
|
3150
3068
|
};
|
|
3151
3069
|
|
|
3152
3070
|
// src/hooks/usePrices.ts
|
|
3153
|
-
import { useCallback as
|
|
3071
|
+
import { useCallback as useCallback3, useMemo as useMemo2 } from "react";
|
|
3154
3072
|
function useAssetPrice(denom) {
|
|
3155
3073
|
const { usdPricesMap, marketsDataMap, isLoadingPrices } = useAssetsContext();
|
|
3156
|
-
const usdDenom =
|
|
3157
|
-
const bzeDenom =
|
|
3158
|
-
const change =
|
|
3074
|
+
const usdDenom = useMemo2(() => getUSDCDenom(), []);
|
|
3075
|
+
const bzeDenom = useMemo2(() => getChainNativeAssetDenom(), []);
|
|
3076
|
+
const change = useMemo2(() => {
|
|
3159
3077
|
const marketData = marketsDataMap.get(createMarketId(denom, usdDenom));
|
|
3160
3078
|
if (marketData) {
|
|
3161
3079
|
return marketData.change;
|
|
@@ -3166,20 +3084,20 @@ function useAssetPrice(denom) {
|
|
|
3166
3084
|
}
|
|
3167
3085
|
return 0;
|
|
3168
3086
|
}, [marketsDataMap, denom, usdDenom, bzeDenom]);
|
|
3169
|
-
const price =
|
|
3087
|
+
const price = useMemo2(() => {
|
|
3170
3088
|
const zeroBN = toBigNumber(0);
|
|
3171
3089
|
if (denom === "") return zeroBN;
|
|
3172
3090
|
if (denom === usdDenom) return toBigNumber(1);
|
|
3173
3091
|
return usdPricesMap.get(denom) || zeroBN;
|
|
3174
3092
|
}, [usdPricesMap, denom, usdDenom]);
|
|
3175
|
-
const totalUsdValue =
|
|
3093
|
+
const totalUsdValue = useCallback3((amount) => {
|
|
3176
3094
|
return price.multipliedBy(amount);
|
|
3177
3095
|
}, [price]);
|
|
3178
|
-
const uAmountUsdValue =
|
|
3096
|
+
const uAmountUsdValue = useCallback3((amount, decimals) => {
|
|
3179
3097
|
return totalUsdValue(uAmountToBigNumberAmount(amount, decimals));
|
|
3180
3098
|
}, [totalUsdValue]);
|
|
3181
|
-
const isUSDC =
|
|
3182
|
-
const hasPrice =
|
|
3099
|
+
const isUSDC = useMemo2(() => denom === usdDenom, [denom, usdDenom]);
|
|
3100
|
+
const hasPrice = useMemo2(() => price.gt(0), [price]);
|
|
3183
3101
|
return {
|
|
3184
3102
|
price,
|
|
3185
3103
|
change,
|
|
@@ -3191,16 +3109,60 @@ function useAssetPrice(denom) {
|
|
|
3191
3109
|
};
|
|
3192
3110
|
}
|
|
3193
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
|
+
|
|
3194
3156
|
// src/hooks/useBalances.ts
|
|
3195
3157
|
import BigNumber8 from "bignumber.js";
|
|
3196
|
-
import { useMemo as
|
|
3158
|
+
import { useMemo as useMemo4, useCallback as useCallback5 } from "react";
|
|
3197
3159
|
function useBalances() {
|
|
3198
3160
|
const { balancesMap, isLoading, assetsMap, usdPricesMap } = useAssetsContext();
|
|
3199
|
-
const balances =
|
|
3161
|
+
const balances = useMemo4(() => Array.from(balancesMap.values()), [balancesMap]);
|
|
3200
3162
|
const getBalanceByDenom = useCallback5((denom) => {
|
|
3201
3163
|
return balancesMap.get(denom) || { denom, amount: BigNumber8(0) };
|
|
3202
3164
|
}, [balancesMap]);
|
|
3203
|
-
const assetsBalances =
|
|
3165
|
+
const assetsBalances = useMemo4(() => {
|
|
3204
3166
|
const result = [];
|
|
3205
3167
|
balances.map((bal) => {
|
|
3206
3168
|
const asset = assetsMap.get(bal.denom);
|
|
@@ -3230,7 +3192,7 @@ function useBalances() {
|
|
|
3230
3192
|
}
|
|
3231
3193
|
function useBalance(denom) {
|
|
3232
3194
|
const { balancesMap, isLoading } = useAssetsContext();
|
|
3233
|
-
const balance =
|
|
3195
|
+
const balance = useMemo4(
|
|
3234
3196
|
() => balancesMap.get(denom) || {
|
|
3235
3197
|
denom,
|
|
3236
3198
|
amount: BigNumber8(0)
|
|
@@ -3248,7 +3210,7 @@ function useBalance(denom) {
|
|
|
3248
3210
|
}
|
|
3249
3211
|
|
|
3250
3212
|
// src/hooks/useEpochs.ts
|
|
3251
|
-
import { useCallback as useCallback6, useMemo as
|
|
3213
|
+
import { useCallback as useCallback6, useMemo as useMemo5 } from "react";
|
|
3252
3214
|
import BigNumber9 from "bignumber.js";
|
|
3253
3215
|
var EPOCH_HOUR2 = "hour";
|
|
3254
3216
|
var EPOCH_DAY2 = "day";
|
|
@@ -3271,13 +3233,13 @@ function useEpochs() {
|
|
|
3271
3233
|
const getCurrentEpoch2 = useCallback6((identifier) => {
|
|
3272
3234
|
return epochs.get(identifier);
|
|
3273
3235
|
}, [epochs]);
|
|
3274
|
-
const hourEpochInfo =
|
|
3236
|
+
const hourEpochInfo = useMemo5(() => {
|
|
3275
3237
|
return epochs.get(EPOCH_HOUR2);
|
|
3276
3238
|
}, [epochs]);
|
|
3277
|
-
const dayEpochInfo =
|
|
3239
|
+
const dayEpochInfo = useMemo5(() => {
|
|
3278
3240
|
return epochs.get(EPOCH_DAY2);
|
|
3279
3241
|
}, [epochs]);
|
|
3280
|
-
const weekEpochInfo =
|
|
3242
|
+
const weekEpochInfo = useMemo5(() => {
|
|
3281
3243
|
return epochs.get(EPOCH_WEEK2);
|
|
3282
3244
|
}, [epochs]);
|
|
3283
3245
|
const getHourEpochInfo2 = useCallback6(() => {
|
|
@@ -3310,7 +3272,7 @@ function useEpochs() {
|
|
|
3310
3272
|
const getPeriodicWeekEpochEndTime2 = useCallback6((modWeek = 1) => {
|
|
3311
3273
|
return getPeriodicEpochEndTime2(EPOCH_WEEK2, modWeek);
|
|
3312
3274
|
}, [getPeriodicEpochEndTime2]);
|
|
3313
|
-
const epochsList =
|
|
3275
|
+
const epochsList = useMemo5(() => Array.from(epochs.values()), [epochs]);
|
|
3314
3276
|
return {
|
|
3315
3277
|
epochs: epochsList,
|
|
3316
3278
|
epochsMap: epochs,
|
|
@@ -3337,11 +3299,11 @@ function useEpochsManager() {
|
|
|
3337
3299
|
}
|
|
3338
3300
|
|
|
3339
3301
|
// src/hooks/useLiquidityPools.ts
|
|
3340
|
-
import { useCallback as useCallback7, useMemo as
|
|
3302
|
+
import { useCallback as useCallback7, useMemo as useMemo6 } from "react";
|
|
3341
3303
|
import BigNumber10 from "bignumber.js";
|
|
3342
3304
|
function useLiquidityPools() {
|
|
3343
3305
|
const { poolsMap, poolsDataMap, updateLiquidityPools, isLoading, assetsMap } = useAssetsContext();
|
|
3344
|
-
const pools =
|
|
3306
|
+
const pools = useMemo6(() => {
|
|
3345
3307
|
return Array.from(poolsMap.values());
|
|
3346
3308
|
}, [poolsMap]);
|
|
3347
3309
|
const getPoolByLpDenom = (lpDenom) => {
|
|
@@ -3352,7 +3314,7 @@ function useLiquidityPools() {
|
|
|
3352
3314
|
const poolId = createPoolId(denomA, denomB);
|
|
3353
3315
|
return poolsMap.get(poolId);
|
|
3354
3316
|
}, [poolsMap]);
|
|
3355
|
-
const liquidAssets =
|
|
3317
|
+
const liquidAssets = useMemo6(() => {
|
|
3356
3318
|
if (!assetsMap || assetsMap.size === 0) return [];
|
|
3357
3319
|
const result = /* @__PURE__ */ new Map();
|
|
3358
3320
|
pools.forEach((pool) => {
|
|
@@ -3375,12 +3337,12 @@ function useLiquidityPools() {
|
|
|
3375
3337
|
}
|
|
3376
3338
|
function useAssetLiquidityPools(denom) {
|
|
3377
3339
|
const { poolsMap, poolsDataMap, isLoading } = useAssetsContext();
|
|
3378
|
-
const assetPools =
|
|
3340
|
+
const assetPools = useMemo6(() => {
|
|
3379
3341
|
return Array.from(poolsMap.values()).filter(
|
|
3380
3342
|
(pool) => pool.base === denom || pool.quote === denom
|
|
3381
3343
|
);
|
|
3382
3344
|
}, [poolsMap, denom]);
|
|
3383
|
-
const assetPoolsData =
|
|
3345
|
+
const assetPoolsData = useMemo6(() => {
|
|
3384
3346
|
const newMap = /* @__PURE__ */ new Map();
|
|
3385
3347
|
if (isLoading || denom === "") return newMap;
|
|
3386
3348
|
assetPools.forEach((pool) => {
|
|
@@ -3391,7 +3353,7 @@ function useAssetLiquidityPools(denom) {
|
|
|
3391
3353
|
});
|
|
3392
3354
|
return newMap;
|
|
3393
3355
|
}, [assetPools, poolsDataMap, isLoading, denom]);
|
|
3394
|
-
const asset24HoursVolume =
|
|
3356
|
+
const asset24HoursVolume = useMemo6(() => {
|
|
3395
3357
|
let volume = BigNumber10(0);
|
|
3396
3358
|
if (isLoading || denom === "") return volume;
|
|
3397
3359
|
assetPoolsData.forEach((poolData) => {
|
|
@@ -3413,34 +3375,34 @@ function useAssetLiquidityPools(denom) {
|
|
|
3413
3375
|
}
|
|
3414
3376
|
function useLiquidityPool(poolId) {
|
|
3415
3377
|
const { balancesMap, assetsMap, poolsMap, poolsDataMap, isLoading } = useAssetsContext();
|
|
3416
|
-
const pool =
|
|
3417
|
-
const poolData =
|
|
3418
|
-
const userShares =
|
|
3378
|
+
const pool = useMemo6(() => poolsMap.get(poolId), [poolsMap, poolId]);
|
|
3379
|
+
const poolData = useMemo6(() => poolsDataMap.get(poolId), [poolsDataMap, poolId]);
|
|
3380
|
+
const userShares = useMemo6(() => {
|
|
3419
3381
|
if (!pool) return toBigNumber(0);
|
|
3420
3382
|
const balance = balancesMap.get(pool.lp_denom);
|
|
3421
3383
|
if (!balance) return toBigNumber(0);
|
|
3422
3384
|
return toBigNumber(balance.amount);
|
|
3423
3385
|
}, [balancesMap, pool]);
|
|
3424
|
-
const totalShares =
|
|
3386
|
+
const totalShares = useMemo6(() => {
|
|
3425
3387
|
if (!assetsMap || !pool) return toBigNumber(0);
|
|
3426
3388
|
const sharesAsset = assetsMap.get(pool.lp_denom);
|
|
3427
3389
|
if (!sharesAsset) return toBigNumber(0);
|
|
3428
3390
|
return toBigNumber((sharesAsset == null ? void 0 : sharesAsset.supply) || 0);
|
|
3429
3391
|
}, [assetsMap, pool]);
|
|
3430
|
-
const userSharesPercentage =
|
|
3392
|
+
const userSharesPercentage = useMemo6(() => {
|
|
3431
3393
|
if (!userShares || !totalShares || totalShares.isZero()) {
|
|
3432
3394
|
return toBigNumber(0);
|
|
3433
3395
|
}
|
|
3434
3396
|
return userShares.dividedBy(totalShares).multipliedBy(100).toFixed(2);
|
|
3435
3397
|
}, [userShares, totalShares]);
|
|
3436
|
-
const userReserveBase =
|
|
3398
|
+
const userReserveBase = useMemo6(() => {
|
|
3437
3399
|
if (!pool || !userShares || !totalShares || totalShares.isZero()) {
|
|
3438
3400
|
return toBigNumber(0);
|
|
3439
3401
|
}
|
|
3440
3402
|
const reserveBase = toBigNumber(pool.reserve_base);
|
|
3441
3403
|
return userShares.dividedBy(totalShares).multipliedBy(reserveBase);
|
|
3442
3404
|
}, [pool, userShares, totalShares]);
|
|
3443
|
-
const userReserveQuote =
|
|
3405
|
+
const userReserveQuote = useMemo6(() => {
|
|
3444
3406
|
if (!pool || !userShares || !totalShares || totalShares.isZero()) {
|
|
3445
3407
|
return toBigNumber(0);
|
|
3446
3408
|
}
|
|
@@ -3488,7 +3450,7 @@ function useLiquidityPool(poolId) {
|
|
|
3488
3450
|
}
|
|
3489
3451
|
|
|
3490
3452
|
// src/hooks/useAssetsValue.ts
|
|
3491
|
-
import { useCallback as useCallback8, useMemo as
|
|
3453
|
+
import { useCallback as useCallback8, useMemo as useMemo7 } from "react";
|
|
3492
3454
|
import BigNumber11 from "bignumber.js";
|
|
3493
3455
|
function useAssetsValue() {
|
|
3494
3456
|
const { assetsMap, usdPricesMap, balancesMap, isLoading: isLoadingPrices } = useAssetsContext();
|
|
@@ -3502,7 +3464,7 @@ function useAssetsValue() {
|
|
|
3502
3464
|
});
|
|
3503
3465
|
return usdValue;
|
|
3504
3466
|
}, [usdPricesMap]);
|
|
3505
|
-
const walletTotalUsdValue =
|
|
3467
|
+
const walletTotalUsdValue = useMemo7(() => {
|
|
3506
3468
|
let total = toBigNumber(0);
|
|
3507
3469
|
balancesMap.forEach((balance, denom) => {
|
|
3508
3470
|
const price = usdPricesMap.get(denom);
|
|
@@ -3544,13 +3506,13 @@ function useAssetsValue() {
|
|
|
3544
3506
|
}
|
|
3545
3507
|
|
|
3546
3508
|
// src/hooks/useFeeTokens.ts
|
|
3547
|
-
import { useMemo as
|
|
3509
|
+
import { useMemo as useMemo8 } from "react";
|
|
3548
3510
|
var MIN_LIQUIDITY_FOR_FEE_TOKEN = 5e10;
|
|
3549
3511
|
function useFeeTokens() {
|
|
3550
3512
|
const { pools, isLoading: poolsLoading } = useLiquidityPools();
|
|
3551
3513
|
const { assetsMap, isLoading: assetsLoading } = useAssetsContext();
|
|
3552
3514
|
const nativeDenom = getChainNativeAssetDenom();
|
|
3553
|
-
const feeTokens =
|
|
3515
|
+
const feeTokens = useMemo8(() => {
|
|
3554
3516
|
if (poolsLoading || assetsLoading) {
|
|
3555
3517
|
return [];
|
|
3556
3518
|
}
|
|
@@ -3580,14 +3542,14 @@ function useFeeTokens() {
|
|
|
3580
3542
|
}
|
|
3581
3543
|
|
|
3582
3544
|
// src/hooks/useMarkets.ts
|
|
3583
|
-
import { useCallback as useCallback9, useMemo as
|
|
3545
|
+
import { useCallback as useCallback9, useMemo as useMemo9 } from "react";
|
|
3584
3546
|
import BigNumber12 from "bignumber.js";
|
|
3585
3547
|
function useMarkets() {
|
|
3586
3548
|
const { marketsMap, marketsDataMap, updateMarkets, isLoading } = useAssetsContext();
|
|
3587
|
-
const markets =
|
|
3549
|
+
const markets = useMemo9(() => {
|
|
3588
3550
|
return Array.from(marketsMap.values());
|
|
3589
3551
|
}, [marketsMap]);
|
|
3590
|
-
const marketsData =
|
|
3552
|
+
const marketsData = useMemo9(() => Array.from(marketsDataMap.values()), [marketsDataMap]);
|
|
3591
3553
|
const marketExists = useCallback9((marketId) => marketsMap.has(marketId), [marketsMap]);
|
|
3592
3554
|
const getMarketData = useCallback9((marketId) => marketsDataMap.get(marketId), [marketsDataMap]);
|
|
3593
3555
|
const getMarket = useCallback9((marketId) => marketsMap.get(marketId), [marketsMap]);
|
|
@@ -3605,9 +3567,9 @@ function useMarkets() {
|
|
|
3605
3567
|
}
|
|
3606
3568
|
function useAssetMarkets(denom) {
|
|
3607
3569
|
const { isLoading, marketsMap, marketsDataMap } = useAssetsContext();
|
|
3608
|
-
const markets =
|
|
3609
|
-
const marketsData =
|
|
3610
|
-
const assetMarkets =
|
|
3570
|
+
const markets = useMemo9(() => Array.from(marketsMap.values()), [marketsMap]);
|
|
3571
|
+
const marketsData = useMemo9(() => Array.from(marketsDataMap.values()), [marketsDataMap]);
|
|
3572
|
+
const assetMarkets = useMemo9(() => {
|
|
3611
3573
|
const baseMatches = [];
|
|
3612
3574
|
const quoteMatches = [];
|
|
3613
3575
|
for (const market of markets) {
|
|
@@ -3616,7 +3578,7 @@ function useAssetMarkets(denom) {
|
|
|
3616
3578
|
}
|
|
3617
3579
|
return [...baseMatches, ...quoteMatches];
|
|
3618
3580
|
}, [markets, denom]);
|
|
3619
|
-
const assetMarketsData =
|
|
3581
|
+
const assetMarketsData = useMemo9(() => {
|
|
3620
3582
|
const baseMatches = [];
|
|
3621
3583
|
const quoteMatches = [];
|
|
3622
3584
|
for (const market of marketsData) {
|
|
@@ -3625,7 +3587,7 @@ function useAssetMarkets(denom) {
|
|
|
3625
3587
|
}
|
|
3626
3588
|
return [...baseMatches, ...quoteMatches];
|
|
3627
3589
|
}, [marketsData, denom]);
|
|
3628
|
-
const asset24hTradedVolume =
|
|
3590
|
+
const asset24hTradedVolume = useMemo9(() => {
|
|
3629
3591
|
return assetMarketsData.reduce((acc, market) => {
|
|
3630
3592
|
if (denom === market.base) {
|
|
3631
3593
|
return acc.plus(market.base_volume || 0);
|
|
@@ -3644,8 +3606,8 @@ function useAssetMarkets(denom) {
|
|
|
3644
3606
|
}
|
|
3645
3607
|
function useMarket(marketId) {
|
|
3646
3608
|
const { marketsMap, marketsDataMap, isLoading, assetsMap } = useAssetsContext();
|
|
3647
|
-
const market =
|
|
3648
|
-
const marketSymbol =
|
|
3609
|
+
const market = useMemo9(() => marketsMap.get(marketId), [marketsMap, marketId]);
|
|
3610
|
+
const marketSymbol = useMemo9(() => {
|
|
3649
3611
|
var _a2, _b2;
|
|
3650
3612
|
if (isLoading) return "";
|
|
3651
3613
|
if (!market) return "";
|
|
@@ -3659,9 +3621,9 @@ function useMarket(marketId) {
|
|
|
3659
3621
|
}
|
|
3660
3622
|
return `${base}/${quote}`;
|
|
3661
3623
|
}, [market, isLoading, assetsMap]);
|
|
3662
|
-
const marketData =
|
|
3663
|
-
const marketExists =
|
|
3664
|
-
const volume24h =
|
|
3624
|
+
const marketData = useMemo9(() => marketsDataMap.get(marketId), [marketsDataMap, marketId]);
|
|
3625
|
+
const marketExists = useMemo9(() => !!market, [market]);
|
|
3626
|
+
const volume24h = useMemo9(() => {
|
|
3665
3627
|
if (!marketData || !market) return toBigNumber(0);
|
|
3666
3628
|
const quoteAsset = assetsMap.get(market.quote);
|
|
3667
3629
|
if (!quoteAsset) return toBigNumber(0);
|
|
@@ -3686,7 +3648,7 @@ function useMarketsManager() {
|
|
|
3686
3648
|
}
|
|
3687
3649
|
|
|
3688
3650
|
// src/hooks/useToast.tsx
|
|
3689
|
-
import { useCallback as useCallback10, useMemo as
|
|
3651
|
+
import { useCallback as useCallback10, useMemo as useMemo10 } from "react";
|
|
3690
3652
|
|
|
3691
3653
|
// src/components/toaster.tsx
|
|
3692
3654
|
import {
|
|
@@ -3776,7 +3738,7 @@ var useToast = () => {
|
|
|
3776
3738
|
const dismiss = useCallback10((id) => {
|
|
3777
3739
|
toaster.dismiss(id);
|
|
3778
3740
|
}, []);
|
|
3779
|
-
const toast =
|
|
3741
|
+
const toast = useMemo10(() => ({
|
|
3780
3742
|
clickableSuccess,
|
|
3781
3743
|
success,
|
|
3782
3744
|
error,
|
|
@@ -3789,10 +3751,10 @@ var useToast = () => {
|
|
|
3789
3751
|
};
|
|
3790
3752
|
|
|
3791
3753
|
// src/hooks/useTx.tsx
|
|
3792
|
-
import { coins, isDeliverTxSuccess } from "@cosmjs/stargate";
|
|
3793
3754
|
import { useChain as useChain2 } from "@interchain-kit/react";
|
|
3794
3755
|
import BigNumber13 from "bignumber.js";
|
|
3795
|
-
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 }];
|
|
3796
3758
|
var TxStatus = /* @__PURE__ */ ((TxStatus2) => {
|
|
3797
3759
|
TxStatus2["Failed"] = "Transaction Failed";
|
|
3798
3760
|
TxStatus2["Successful"] = "Transaction Successful";
|
|
@@ -3804,34 +3766,34 @@ var defaultFee = {
|
|
|
3804
3766
|
gas: "500000"
|
|
3805
3767
|
};
|
|
3806
3768
|
var useSDKTx = (chainName) => {
|
|
3807
|
-
const { tx, progressTrack } = useTx(chainName != null ? chainName : getChainName()
|
|
3769
|
+
const { tx, progressTrack } = useTx(chainName != null ? chainName : getChainName());
|
|
3808
3770
|
return {
|
|
3809
3771
|
tx,
|
|
3810
3772
|
progressTrack
|
|
3811
3773
|
};
|
|
3812
3774
|
};
|
|
3813
3775
|
var useBZETx = () => {
|
|
3814
|
-
const { tx, progressTrack } = useTx(getChainName()
|
|
3776
|
+
const { tx, progressTrack } = useTx(getChainName());
|
|
3815
3777
|
return {
|
|
3816
3778
|
tx,
|
|
3817
3779
|
progressTrack
|
|
3818
3780
|
};
|
|
3819
3781
|
};
|
|
3820
3782
|
var useIBCTx = (chainName) => {
|
|
3821
|
-
const { tx, progressTrack } = useTx(chainName != null ? chainName : getChainName()
|
|
3783
|
+
const { tx, progressTrack } = useTx(chainName != null ? chainName : getChainName());
|
|
3822
3784
|
return {
|
|
3823
3785
|
tx,
|
|
3824
3786
|
progressTrack
|
|
3825
3787
|
};
|
|
3826
3788
|
};
|
|
3827
|
-
var useTx = (chainName
|
|
3789
|
+
var useTx = (chainName) => {
|
|
3828
3790
|
const { address, disconnect } = useChain2(chainName);
|
|
3829
3791
|
const { toast } = useToast();
|
|
3830
|
-
const { signingClient, isSigningClientReady, signingClientError } = useSigningClient({ chainName
|
|
3792
|
+
const { signingClient, isSigningClientReady, signingClientError } = useSigningClient({ chainName });
|
|
3831
3793
|
const [progressTrack, setProgressTrack] = useState3("");
|
|
3832
3794
|
const { getDenomsPool } = useLiquidityPools();
|
|
3833
3795
|
const { feeDenom } = useSettings();
|
|
3834
|
-
const defaultChainName =
|
|
3796
|
+
const defaultChainName = useMemo11(() => getChainName(), []);
|
|
3835
3797
|
const canUseClient = useCallback11(async () => {
|
|
3836
3798
|
if (!isSigningClientReady) {
|
|
3837
3799
|
console.error("waiting for signing client to be ready", signingClientError);
|
|
@@ -3904,7 +3866,7 @@ var useTx = (chainName, isCosmos, isIBC) => {
|
|
|
3904
3866
|
const fee = await getFee(msgs, options);
|
|
3905
3867
|
setProgressTrack("Signing transaction");
|
|
3906
3868
|
const resp = await signingClient.signAndBroadcast(address, msgs, fee, (_a2 = options == null ? void 0 : options.memo) != null ? _a2 : DEFAULT_TX_MEMO);
|
|
3907
|
-
if (
|
|
3869
|
+
if (resp.code === 0) {
|
|
3908
3870
|
setProgressTrack("Transaction sent");
|
|
3909
3871
|
toast.clickableSuccess("Transaction Successful" /* Successful */, () => {
|
|
3910
3872
|
openExternalLink(`${getChainExplorerURL(chainName != null ? chainName : defaultChainName)}/tx/${resp.transactionHash}`);
|
|
@@ -4234,7 +4196,7 @@ import {
|
|
|
4234
4196
|
} from "@chakra-ui/react";
|
|
4235
4197
|
import { Select, Portal as Portal3 } from "@chakra-ui/react";
|
|
4236
4198
|
import { useTheme } from "next-themes";
|
|
4237
|
-
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";
|
|
4238
4200
|
import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
4239
4201
|
var SettingsSidebarContent = ({ accentColor = "blue" }) => {
|
|
4240
4202
|
const { setTheme, resolvedTheme } = useTheme();
|
|
@@ -4300,7 +4262,7 @@ var SettingsSidebarContent = ({ accentColor = "blue" }) => {
|
|
|
4300
4262
|
setPreferredFeeDenom(defaultSettings.preferredFeeDenom);
|
|
4301
4263
|
setValidationResults({});
|
|
4302
4264
|
}, []);
|
|
4303
|
-
const connectionStatusText =
|
|
4265
|
+
const connectionStatusText = useMemo12(() => {
|
|
4304
4266
|
switch (connectionType) {
|
|
4305
4267
|
case CONNECTION_TYPE_NONE:
|
|
4306
4268
|
return "Failed";
|
|
@@ -4310,7 +4272,7 @@ var SettingsSidebarContent = ({ accentColor = "blue" }) => {
|
|
|
4310
4272
|
return "Connected";
|
|
4311
4273
|
}
|
|
4312
4274
|
}, [connectionType]);
|
|
4313
|
-
const connectionStatusBadgeColor =
|
|
4275
|
+
const connectionStatusBadgeColor = useMemo12(() => {
|
|
4314
4276
|
switch (connectionType) {
|
|
4315
4277
|
case CONNECTION_TYPE_NONE:
|
|
4316
4278
|
return "red";
|
|
@@ -4320,7 +4282,7 @@ var SettingsSidebarContent = ({ accentColor = "blue" }) => {
|
|
|
4320
4282
|
return "green";
|
|
4321
4283
|
}
|
|
4322
4284
|
}, [connectionType]);
|
|
4323
|
-
const feeTokensCollection =
|
|
4285
|
+
const feeTokensCollection = useMemo12(() => createListCollection({
|
|
4324
4286
|
items: feeTokens.map((token) => ({
|
|
4325
4287
|
label: token.ticker || token.name,
|
|
4326
4288
|
value: token.denom,
|
|
@@ -4503,7 +4465,7 @@ import {
|
|
|
4503
4465
|
VStack as VStack2
|
|
4504
4466
|
} from "@chakra-ui/react";
|
|
4505
4467
|
import { LuCopy, LuExternalLink, LuX as LuX2 } from "react-icons/lu";
|
|
4506
|
-
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";
|
|
4507
4469
|
import { WalletState } from "@interchain-kit/core";
|
|
4508
4470
|
import BigNumber14 from "bignumber.js";
|
|
4509
4471
|
import { cosmos } from "@bze/bzejs";
|
|
@@ -4525,11 +4487,11 @@ var validateAmount = (amount, coin, onError) => {
|
|
|
4525
4487
|
};
|
|
4526
4488
|
var BalanceItem = ({ asset, onClick, accentColor }) => {
|
|
4527
4489
|
const [showSendButton, setShowSendButton] = useState8(false);
|
|
4528
|
-
const formattedBalanceAmount =
|
|
4490
|
+
const formattedBalanceAmount = useMemo13(() => {
|
|
4529
4491
|
var _a2;
|
|
4530
4492
|
return prettyAmount(uAmountToBigNumberAmount(asset.amount, (_a2 = asset.decimals) != null ? _a2 : 0));
|
|
4531
4493
|
}, [asset.amount, asset.decimals]);
|
|
4532
|
-
const formattedBalanceUSDValue =
|
|
4494
|
+
const formattedBalanceUSDValue = useMemo13(() => {
|
|
4533
4495
|
return shortNumberFormat(asset.USDValue);
|
|
4534
4496
|
}, [asset.USDValue]);
|
|
4535
4497
|
return /* @__PURE__ */ jsxs4(
|
|
@@ -4602,7 +4564,7 @@ var SendForm = ({ balances, onClose, selectedTicker, accentColor }) => {
|
|
|
4602
4564
|
};
|
|
4603
4565
|
})
|
|
4604
4566
|
});
|
|
4605
|
-
const isValidForm =
|
|
4567
|
+
const isValidForm = useMemo13(() => {
|
|
4606
4568
|
return selectedCoin && memoError === "" && recipientError === "" && sendAmountError === "" && sendAmount !== "" && recipient !== "";
|
|
4607
4569
|
}, [selectedCoin, memoError, recipientError, sendAmountError, sendAmount, recipient]);
|
|
4608
4570
|
const resetSendForm = useCallback14(() => {
|
|
@@ -4855,12 +4817,12 @@ var WalletSidebarContent = ({ accentColor = "blue" }) => {
|
|
|
4855
4817
|
connect
|
|
4856
4818
|
} = useChain3(getChainName());
|
|
4857
4819
|
const { assetsBalances, isLoading: assetsLoading } = useBalances();
|
|
4858
|
-
const balancesWithoutLps =
|
|
4820
|
+
const balancesWithoutLps = useMemo13(() => {
|
|
4859
4821
|
if (assetsLoading) return [];
|
|
4860
4822
|
return assetsBalances.filter((asset) => !isLpDenom(asset.denom));
|
|
4861
4823
|
}, [assetsLoading, assetsBalances]);
|
|
4862
4824
|
const nativeDenom = getChainNativeAssetDenom();
|
|
4863
|
-
const sortedBalances =
|
|
4825
|
+
const sortedBalances = useMemo13(() => {
|
|
4864
4826
|
return balancesWithoutLps.sort((a, b) => {
|
|
4865
4827
|
if (a.denom === nativeDenom) return -1;
|
|
4866
4828
|
if (b.denom === nativeDenom) return 1;
|
|
@@ -4876,7 +4838,7 @@ var WalletSidebarContent = ({ accentColor = "blue" }) => {
|
|
|
4876
4838
|
return 0;
|
|
4877
4839
|
});
|
|
4878
4840
|
}, [balancesWithoutLps]);
|
|
4879
|
-
const walletAddress =
|
|
4841
|
+
const walletAddress = useMemo13(() => stringTruncateFromCenter(address != null ? address : "", 16), [address]);
|
|
4880
4842
|
const handleCopyAddress = () => {
|
|
4881
4843
|
navigator.clipboard.writeText(address);
|
|
4882
4844
|
setShowCopiedTooltip(true);
|
|
@@ -4962,7 +4924,7 @@ var WalletSidebarContent = ({ accentColor = "blue" }) => {
|
|
|
4962
4924
|
}
|
|
4963
4925
|
) })
|
|
4964
4926
|
] });
|
|
4965
|
-
const statusColor =
|
|
4927
|
+
const statusColor = useMemo13(() => {
|
|
4966
4928
|
switch (status) {
|
|
4967
4929
|
case WalletState.Connected:
|
|
4968
4930
|
return "green";
|