@ecency/wallets 1.5.20 → 1.5.21
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/browser/index.d.ts +10 -40
- package/dist/browser/index.js +6 -160
- package/dist/browser/index.js.map +1 -1
- package/dist/node/index.cjs +5 -159
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.mjs +6 -160
- package/dist/node/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/node/index.cjs
CHANGED
|
@@ -3000,162 +3000,8 @@ function getAllTokensListQueryOptions(username) {
|
|
|
3000
3000
|
}
|
|
3001
3001
|
});
|
|
3002
3002
|
}
|
|
3003
|
-
function normalizeString(value) {
|
|
3004
|
-
if (typeof value === "string") {
|
|
3005
|
-
const trimmed = value.trim();
|
|
3006
|
-
return trimmed.length > 0 ? trimmed : void 0;
|
|
3007
|
-
}
|
|
3008
|
-
return void 0;
|
|
3009
|
-
}
|
|
3010
|
-
function normalizeNumber(value) {
|
|
3011
|
-
if (typeof value === "number" && Number.isFinite(value)) {
|
|
3012
|
-
return value;
|
|
3013
|
-
}
|
|
3014
|
-
if (typeof value === "string") {
|
|
3015
|
-
const trimmed = value.trim();
|
|
3016
|
-
if (!trimmed) {
|
|
3017
|
-
return void 0;
|
|
3018
|
-
}
|
|
3019
|
-
const direct = Number.parseFloat(trimmed);
|
|
3020
|
-
if (Number.isFinite(direct)) {
|
|
3021
|
-
return direct;
|
|
3022
|
-
}
|
|
3023
|
-
const sanitized = trimmed.replace(/,/g, "");
|
|
3024
|
-
const match = sanitized.match(/[-+]?\d+(?:\.\d+)?/);
|
|
3025
|
-
if (match) {
|
|
3026
|
-
const parsed = Number.parseFloat(match[0]);
|
|
3027
|
-
if (Number.isFinite(parsed)) {
|
|
3028
|
-
return parsed;
|
|
3029
|
-
}
|
|
3030
|
-
}
|
|
3031
|
-
}
|
|
3032
|
-
return void 0;
|
|
3033
|
-
}
|
|
3034
|
-
function parseToken(rawToken) {
|
|
3035
|
-
if (!rawToken || typeof rawToken !== "object") {
|
|
3036
|
-
return void 0;
|
|
3037
|
-
}
|
|
3038
|
-
const token = rawToken;
|
|
3039
|
-
return {
|
|
3040
|
-
name: normalizeString(token.name) ?? "",
|
|
3041
|
-
symbol: normalizeString(token.symbol) ?? "",
|
|
3042
|
-
layer: normalizeString(token.layer) ?? "hive",
|
|
3043
|
-
balance: normalizeNumber(token.balance) ?? 0,
|
|
3044
|
-
fiatRate: normalizeNumber(token.fiatRate) ?? 0,
|
|
3045
|
-
currency: normalizeString(token.currency) ?? "usd",
|
|
3046
|
-
precision: normalizeNumber(token.precision) ?? 3,
|
|
3047
|
-
address: normalizeString(token.address),
|
|
3048
|
-
error: normalizeString(token.error),
|
|
3049
|
-
pendingRewards: normalizeNumber(token.pendingRewards),
|
|
3050
|
-
pendingRewardsFiat: normalizeNumber(token.pendingRewardsFiat),
|
|
3051
|
-
liquid: normalizeNumber(token.liquid),
|
|
3052
|
-
liquidFiat: normalizeNumber(token.liquidFiat),
|
|
3053
|
-
savings: normalizeNumber(token.savings),
|
|
3054
|
-
savingsFiat: normalizeNumber(token.savingsFiat),
|
|
3055
|
-
staked: normalizeNumber(token.staked),
|
|
3056
|
-
stakedFiat: normalizeNumber(token.stakedFiat),
|
|
3057
|
-
iconUrl: normalizeString(token.iconUrl),
|
|
3058
|
-
actions: token.actions ?? [],
|
|
3059
|
-
extraData: token.extraData ?? [],
|
|
3060
|
-
apr: normalizeNumber(token.apr)
|
|
3061
|
-
};
|
|
3062
|
-
}
|
|
3063
|
-
function extractTokens(payload) {
|
|
3064
|
-
if (!payload || typeof payload !== "object") {
|
|
3065
|
-
return [];
|
|
3066
|
-
}
|
|
3067
|
-
const containers = [payload];
|
|
3068
|
-
const record = payload;
|
|
3069
|
-
if (record.data && typeof record.data === "object") {
|
|
3070
|
-
containers.push(record.data);
|
|
3071
|
-
}
|
|
3072
|
-
if (record.result && typeof record.result === "object") {
|
|
3073
|
-
containers.push(record.result);
|
|
3074
|
-
}
|
|
3075
|
-
if (record.portfolio && typeof record.portfolio === "object") {
|
|
3076
|
-
containers.push(record.portfolio);
|
|
3077
|
-
}
|
|
3078
|
-
for (const container of containers) {
|
|
3079
|
-
if (Array.isArray(container)) {
|
|
3080
|
-
return container;
|
|
3081
|
-
}
|
|
3082
|
-
if (container && typeof container === "object") {
|
|
3083
|
-
for (const key of [
|
|
3084
|
-
"wallets",
|
|
3085
|
-
"tokens",
|
|
3086
|
-
"assets",
|
|
3087
|
-
"items",
|
|
3088
|
-
"portfolio",
|
|
3089
|
-
"balances"
|
|
3090
|
-
]) {
|
|
3091
|
-
const value = container[key];
|
|
3092
|
-
if (Array.isArray(value)) {
|
|
3093
|
-
return value;
|
|
3094
|
-
}
|
|
3095
|
-
}
|
|
3096
|
-
}
|
|
3097
|
-
}
|
|
3098
|
-
return [];
|
|
3099
|
-
}
|
|
3100
|
-
function resolveUsername(payload) {
|
|
3101
|
-
if (!payload || typeof payload !== "object") {
|
|
3102
|
-
return void 0;
|
|
3103
|
-
}
|
|
3104
|
-
const record = payload;
|
|
3105
|
-
return normalizeString(record.username) ?? normalizeString(record.name) ?? normalizeString(record.account);
|
|
3106
|
-
}
|
|
3107
3003
|
function getVisionPortfolioQueryOptions(username, currency = "usd") {
|
|
3108
|
-
return
|
|
3109
|
-
queryKey: [
|
|
3110
|
-
"ecency-wallets",
|
|
3111
|
-
"portfolio",
|
|
3112
|
-
"v2",
|
|
3113
|
-
username,
|
|
3114
|
-
"only-enabled",
|
|
3115
|
-
currency
|
|
3116
|
-
],
|
|
3117
|
-
enabled: Boolean(username),
|
|
3118
|
-
staleTime: 6e4,
|
|
3119
|
-
refetchInterval: 12e4,
|
|
3120
|
-
queryFn: async () => {
|
|
3121
|
-
if (!username) {
|
|
3122
|
-
throw new Error("[SDK][Wallets] \u2013 username is required");
|
|
3123
|
-
}
|
|
3124
|
-
if (sdk.CONFIG.privateApiHost === void 0 || sdk.CONFIG.privateApiHost === null) {
|
|
3125
|
-
throw new Error(
|
|
3126
|
-
"[SDK][Wallets] \u2013 privateApiHost isn't configured for portfolio"
|
|
3127
|
-
);
|
|
3128
|
-
}
|
|
3129
|
-
const endpoint = `${sdk.CONFIG.privateApiHost}/wallet-api/portfolio-v2`;
|
|
3130
|
-
const response = await fetch(endpoint, {
|
|
3131
|
-
method: "POST",
|
|
3132
|
-
headers: {
|
|
3133
|
-
Accept: "application/json",
|
|
3134
|
-
"Content-Type": "application/json"
|
|
3135
|
-
},
|
|
3136
|
-
body: JSON.stringify({ username, onlyEnabled: true, currency })
|
|
3137
|
-
});
|
|
3138
|
-
if (!response.ok) {
|
|
3139
|
-
throw new Error(
|
|
3140
|
-
`[SDK][Wallets] \u2013 Vision portfolio request failed(${response.status})`
|
|
3141
|
-
);
|
|
3142
|
-
}
|
|
3143
|
-
const payload = await response.json();
|
|
3144
|
-
const tokens = extractTokens(payload).map((item) => parseToken(item)).filter((item) => Boolean(item));
|
|
3145
|
-
if (!tokens.length) {
|
|
3146
|
-
throw new Error(
|
|
3147
|
-
"[SDK][Wallets] \u2013 Vision portfolio payload contained no tokens"
|
|
3148
|
-
);
|
|
3149
|
-
}
|
|
3150
|
-
return {
|
|
3151
|
-
username: resolveUsername(payload) ?? username,
|
|
3152
|
-
currency: normalizeString(
|
|
3153
|
-
payload?.fiatCurrency ?? payload?.currency
|
|
3154
|
-
)?.toUpperCase(),
|
|
3155
|
-
wallets: tokens
|
|
3156
|
-
};
|
|
3157
|
-
}
|
|
3158
|
-
});
|
|
3004
|
+
return sdk.getPortfolioQueryOptions(username, currency, true);
|
|
3159
3005
|
}
|
|
3160
3006
|
|
|
3161
3007
|
// src/modules/wallets/queries/use-get-account-wallet-list-query.ts
|
|
@@ -3660,13 +3506,13 @@ function getTronAssetGeneralInfoQueryOptions(username) {
|
|
|
3660
3506
|
function getAccountWalletAssetInfoQueryOptions(username, asset, options2 = { refetch: false }) {
|
|
3661
3507
|
const queryClient = sdk.getQueryClient();
|
|
3662
3508
|
const currency = options2.currency ?? "usd";
|
|
3663
|
-
const fetchQuery = async (
|
|
3509
|
+
const fetchQuery = async (queryOptions42) => {
|
|
3664
3510
|
if (options2.refetch) {
|
|
3665
|
-
await queryClient.fetchQuery(
|
|
3511
|
+
await queryClient.fetchQuery(queryOptions42);
|
|
3666
3512
|
} else {
|
|
3667
|
-
await queryClient.prefetchQuery(
|
|
3513
|
+
await queryClient.prefetchQuery(queryOptions42);
|
|
3668
3514
|
}
|
|
3669
|
-
return queryClient.getQueryData(
|
|
3515
|
+
return queryClient.getQueryData(queryOptions42.queryKey);
|
|
3670
3516
|
};
|
|
3671
3517
|
const convertPriceToUserCurrency = async (assetInfo) => {
|
|
3672
3518
|
if (!assetInfo || currency === "usd") {
|