@ecency/wallets 1.5.10 → 1.5.12
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 +28 -16
- package/dist/browser/index.js +36 -182
- package/dist/browser/index.js.map +1 -1
- package/dist/node/index.cjs +36 -182
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.mjs +36 -182
- package/dist/node/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/node/index.mjs
CHANGED
|
@@ -1562,6 +1562,7 @@ var AssetOperation = /* @__PURE__ */ ((AssetOperation2) => {
|
|
|
1562
1562
|
AssetOperation2["WithdrawRoutes"] = "withdraw-routes";
|
|
1563
1563
|
AssetOperation2["ClaimInterest"] = "claim-interest";
|
|
1564
1564
|
AssetOperation2["Swap"] = "swap";
|
|
1565
|
+
AssetOperation2["Convert"] = "convert";
|
|
1565
1566
|
AssetOperation2["Gift"] = "gift";
|
|
1566
1567
|
AssetOperation2["Promote"] = "promote";
|
|
1567
1568
|
AssetOperation2["Claim"] = "claim";
|
|
@@ -2874,35 +2875,6 @@ function getAllTokensListQueryOptions(username) {
|
|
|
2874
2875
|
}
|
|
2875
2876
|
});
|
|
2876
2877
|
}
|
|
2877
|
-
var DERIVED_PART_KEY_MAP = {
|
|
2878
|
-
liquid: ["liquid", "liquidBalance", "liquid_amount", "liquidTokens"],
|
|
2879
|
-
savings: ["savings", "savingsBalance", "savings_amount"],
|
|
2880
|
-
staked: ["staked", "stakedBalance", "staking", "stake", "power"],
|
|
2881
|
-
delegated: ["delegated", "delegatedBalance", "delegationsOut"],
|
|
2882
|
-
received: ["received", "receivedBalance", "delegationsIn"],
|
|
2883
|
-
pending: [
|
|
2884
|
-
"pending",
|
|
2885
|
-
"pendingRewards",
|
|
2886
|
-
"unclaimed",
|
|
2887
|
-
"unclaimedBalance",
|
|
2888
|
-
"pendingReward"
|
|
2889
|
-
]
|
|
2890
|
-
};
|
|
2891
|
-
var EXTRA_DATA_PART_KEY_MAP = {
|
|
2892
|
-
delegated: "outgoing_delegations",
|
|
2893
|
-
outgoing: "outgoing_delegations",
|
|
2894
|
-
delegations_out: "outgoing_delegations",
|
|
2895
|
-
delegated_hive_power: "outgoing_delegations",
|
|
2896
|
-
delegated_hp: "outgoing_delegations",
|
|
2897
|
-
received: "incoming_delegations",
|
|
2898
|
-
incoming: "incoming_delegations",
|
|
2899
|
-
delegations_in: "incoming_delegations",
|
|
2900
|
-
received_hive_power: "incoming_delegations",
|
|
2901
|
-
received_hp: "incoming_delegations",
|
|
2902
|
-
powering_down: "pending_power_down",
|
|
2903
|
-
power_down: "pending_power_down",
|
|
2904
|
-
powering_down_hive_power: "pending_power_down"
|
|
2905
|
-
};
|
|
2906
2878
|
function normalizeString(value) {
|
|
2907
2879
|
if (typeof value === "string") {
|
|
2908
2880
|
const trimmed = value.trim();
|
|
@@ -2934,151 +2906,33 @@ function normalizeNumber(value) {
|
|
|
2934
2906
|
}
|
|
2935
2907
|
return void 0;
|
|
2936
2908
|
}
|
|
2937
|
-
function normalizeApr(value) {
|
|
2938
|
-
const numeric = normalizeNumber(value);
|
|
2939
|
-
if (numeric === void 0) {
|
|
2940
|
-
if (typeof value === "string") {
|
|
2941
|
-
const trimmed = value.trim();
|
|
2942
|
-
return trimmed.length > 0 ? trimmed : void 0;
|
|
2943
|
-
}
|
|
2944
|
-
return void 0;
|
|
2945
|
-
}
|
|
2946
|
-
return numeric.toString();
|
|
2947
|
-
}
|
|
2948
|
-
function normalizeParts(rawParts) {
|
|
2949
|
-
if (Array.isArray(rawParts)) {
|
|
2950
|
-
const parsed = rawParts.map((item) => {
|
|
2951
|
-
if (!item || typeof item !== "object") {
|
|
2952
|
-
return void 0;
|
|
2953
|
-
}
|
|
2954
|
-
const name = normalizeString(
|
|
2955
|
-
item.name ?? item.label ?? item.type ?? item.part
|
|
2956
|
-
);
|
|
2957
|
-
const balance = normalizeNumber(
|
|
2958
|
-
item.balance ?? item.amount ?? item.value
|
|
2959
|
-
);
|
|
2960
|
-
if (!name || balance === void 0) {
|
|
2961
|
-
return void 0;
|
|
2962
|
-
}
|
|
2963
|
-
return { name, balance };
|
|
2964
|
-
}).filter((item) => Boolean(item));
|
|
2965
|
-
return parsed.length ? parsed : void 0;
|
|
2966
|
-
}
|
|
2967
|
-
if (rawParts && typeof rawParts === "object") {
|
|
2968
|
-
const parsed = Object.entries(rawParts).map(([name, amount]) => {
|
|
2969
|
-
const balance = normalizeNumber(amount);
|
|
2970
|
-
if (!name || balance === void 0) {
|
|
2971
|
-
return void 0;
|
|
2972
|
-
}
|
|
2973
|
-
return { name, balance };
|
|
2974
|
-
}).filter((item) => Boolean(item));
|
|
2975
|
-
return parsed.length ? parsed : void 0;
|
|
2976
|
-
}
|
|
2977
|
-
return void 0;
|
|
2978
|
-
}
|
|
2979
|
-
function deriveParts(record) {
|
|
2980
|
-
const derived = Object.entries(DERIVED_PART_KEY_MAP).map(([name, keys]) => {
|
|
2981
|
-
for (const key of keys) {
|
|
2982
|
-
const value = normalizeNumber(record[key]);
|
|
2983
|
-
if (value !== void 0) {
|
|
2984
|
-
return { name, balance: value };
|
|
2985
|
-
}
|
|
2986
|
-
}
|
|
2987
|
-
return void 0;
|
|
2988
|
-
}).filter((item) => Boolean(item));
|
|
2989
|
-
return derived.length ? derived : void 0;
|
|
2990
|
-
}
|
|
2991
|
-
function normalizePartKey(value) {
|
|
2992
|
-
return value.trim().toLowerCase().replace(/[\s-]+/g, "_");
|
|
2993
|
-
}
|
|
2994
|
-
function mergeParts(...sources) {
|
|
2995
|
-
const order = [];
|
|
2996
|
-
const values2 = /* @__PURE__ */ new Map();
|
|
2997
|
-
for (const parts of sources) {
|
|
2998
|
-
if (!parts) {
|
|
2999
|
-
continue;
|
|
3000
|
-
}
|
|
3001
|
-
for (const part of parts) {
|
|
3002
|
-
if (!part?.name || typeof part.balance !== "number") {
|
|
3003
|
-
continue;
|
|
3004
|
-
}
|
|
3005
|
-
const existing = values2.get(part.name);
|
|
3006
|
-
if (existing === void 0) {
|
|
3007
|
-
order.push(part.name);
|
|
3008
|
-
values2.set(part.name, part.balance);
|
|
3009
|
-
} else {
|
|
3010
|
-
values2.set(part.name, existing + part.balance);
|
|
3011
|
-
}
|
|
3012
|
-
}
|
|
3013
|
-
}
|
|
3014
|
-
return order.length ? order.map((name) => ({ name, balance: values2.get(name) })) : void 0;
|
|
3015
|
-
}
|
|
3016
|
-
function normalizeExtraDataParts(rawExtraData) {
|
|
3017
|
-
const items = Array.isArray(rawExtraData) ? rawExtraData : rawExtraData && typeof rawExtraData === "object" ? Object.values(rawExtraData) : [];
|
|
3018
|
-
const parts = items.map((item) => {
|
|
3019
|
-
if (!item || typeof item !== "object") {
|
|
3020
|
-
return void 0;
|
|
3021
|
-
}
|
|
3022
|
-
const record = item;
|
|
3023
|
-
const keyCandidate = normalizeString(record.dataKey) ?? normalizeString(record.key) ?? normalizeString(record.name);
|
|
3024
|
-
if (!keyCandidate) {
|
|
3025
|
-
return void 0;
|
|
3026
|
-
}
|
|
3027
|
-
const canonical = normalizePartKey(keyCandidate);
|
|
3028
|
-
const partName = EXTRA_DATA_PART_KEY_MAP[canonical];
|
|
3029
|
-
if (!partName) {
|
|
3030
|
-
return void 0;
|
|
3031
|
-
}
|
|
3032
|
-
const balance = normalizeNumber(
|
|
3033
|
-
record.balance ?? record.amount ?? record.value ?? record.displayValue ?? record.text
|
|
3034
|
-
);
|
|
3035
|
-
if (balance === void 0) {
|
|
3036
|
-
return void 0;
|
|
3037
|
-
}
|
|
3038
|
-
return { name: partName, balance: Math.abs(balance) };
|
|
3039
|
-
}).filter((part) => Boolean(part));
|
|
3040
|
-
return parts.length ? parts : void 0;
|
|
3041
|
-
}
|
|
3042
2909
|
function parseToken(rawToken) {
|
|
3043
2910
|
if (!rawToken || typeof rawToken !== "object") {
|
|
3044
2911
|
return void 0;
|
|
3045
2912
|
}
|
|
3046
2913
|
const token = rawToken;
|
|
3047
|
-
const symbol = normalizeString(token.symbol) ?? normalizeString(token.asset) ?? normalizeString(token.name);
|
|
3048
|
-
if (!symbol) {
|
|
3049
|
-
return void 0;
|
|
3050
|
-
}
|
|
3051
|
-
const normalizedSymbol = symbol.toUpperCase();
|
|
3052
|
-
const title = normalizeString(token.title) ?? normalizeString(token.display) ?? normalizeString(token.label) ?? normalizeString(token.friendlyName) ?? normalizeString(token.name) ?? normalizedSymbol;
|
|
3053
|
-
const price = normalizeNumber(token.fiatRate) ?? 0;
|
|
3054
|
-
const apr = normalizeApr(token.apr) ?? normalizeApr(token.aprPercent) ?? normalizeApr(token.metrics?.apr) ?? normalizeApr(
|
|
3055
|
-
token.metrics?.aprPercent
|
|
3056
|
-
);
|
|
3057
|
-
const baseParts = normalizeParts(
|
|
3058
|
-
token.parts ?? token.balances ?? token.sections ?? token.breakdown ?? token.accountBreakdown ?? token.walletParts
|
|
3059
|
-
) ?? deriveParts(token);
|
|
3060
|
-
const parts = mergeParts(
|
|
3061
|
-
baseParts,
|
|
3062
|
-
normalizeExtraDataParts(
|
|
3063
|
-
token.extraData ?? token.extra_data ?? token.extra ?? token.badges
|
|
3064
|
-
)
|
|
3065
|
-
);
|
|
3066
|
-
const accountBalance = normalizeNumber(token.balance) ?? normalizeNumber(token.accountBalance) ?? normalizeNumber(token.totalBalance) ?? normalizeNumber(token.total) ?? normalizeNumber(token.amount) ?? (baseParts ? baseParts.reduce((total, part) => total + (part.balance ?? 0), 0) : parts ? parts.reduce((total, part) => total + (part.balance ?? 0), 0) : 0);
|
|
3067
|
-
const layer = normalizeString(token.layer) ?? normalizeString(token.chain) ?? normalizeString(token.category) ?? normalizeString(token.type);
|
|
3068
|
-
const pendingRewards = normalizeNumber(token.pendingRewards);
|
|
3069
2914
|
return {
|
|
3070
|
-
|
|
3071
|
-
|
|
3072
|
-
|
|
3073
|
-
|
|
3074
|
-
|
|
3075
|
-
|
|
3076
|
-
|
|
3077
|
-
|
|
3078
|
-
|
|
3079
|
-
|
|
3080
|
-
|
|
3081
|
-
|
|
2915
|
+
name: normalizeString(token.name) ?? "",
|
|
2916
|
+
symbol: normalizeString(token.symbol) ?? "",
|
|
2917
|
+
layer: normalizeString(token.layer) ?? "hive",
|
|
2918
|
+
balance: normalizeNumber(token.balance) ?? 0,
|
|
2919
|
+
fiatRate: normalizeNumber(token.fiatRate) ?? 0,
|
|
2920
|
+
currency: normalizeString(token.currency) ?? "usd",
|
|
2921
|
+
precision: normalizeNumber(token.precision) ?? 3,
|
|
2922
|
+
address: normalizeString(token.address),
|
|
2923
|
+
error: normalizeString(token.error),
|
|
2924
|
+
pendingRewards: normalizeNumber(token.pendingRewards),
|
|
2925
|
+
pendingRewardsFiat: normalizeNumber(token.pendingRewardsFiat),
|
|
2926
|
+
liquid: normalizeNumber(token.liquid),
|
|
2927
|
+
liquidFiat: normalizeNumber(token.liquidFiat),
|
|
2928
|
+
savings: normalizeNumber(token.savings),
|
|
2929
|
+
savingsFiat: normalizeNumber(token.savingsFiat),
|
|
2930
|
+
staked: normalizeNumber(token.staked),
|
|
2931
|
+
stakedFiat: normalizeNumber(token.stakedFiat),
|
|
2932
|
+
iconUrl: normalizeString(token.iconUrl),
|
|
2933
|
+
actions: token.actions ?? [],
|
|
2934
|
+
extraData: token.extraData ?? [],
|
|
2935
|
+
apr: normalizeNumber(token.apr)
|
|
3082
2936
|
};
|
|
3083
2937
|
}
|
|
3084
2938
|
function extractTokens(payload) {
|
|
@@ -3142,7 +2996,7 @@ function getVisionPortfolioQueryOptions(username, currency = "usd") {
|
|
|
3142
2996
|
if (!username) {
|
|
3143
2997
|
throw new Error("[SDK][Wallets] \u2013 username is required");
|
|
3144
2998
|
}
|
|
3145
|
-
if (
|
|
2999
|
+
if (CONFIG.privateApiHost === void 0 || CONFIG.privateApiHost === null) {
|
|
3146
3000
|
throw new Error(
|
|
3147
3001
|
"[SDK][Wallets] \u2013 privateApiHost isn't configured for portfolio"
|
|
3148
3002
|
);
|
|
@@ -3235,7 +3089,7 @@ function getAccountWalletListQueryOptions(username, currency = "usd") {
|
|
|
3235
3089
|
try {
|
|
3236
3090
|
const portfolio = await queryClient.fetchQuery(portfolioQuery);
|
|
3237
3091
|
const tokensFromPortfolio = portfolio.wallets.map(
|
|
3238
|
-
(asset) => asset.
|
|
3092
|
+
(asset) => asset.symbol
|
|
3239
3093
|
);
|
|
3240
3094
|
if (tokensFromPortfolio.length > 0) {
|
|
3241
3095
|
const visibleTokens = tokensFromPortfolio.map((token) => token?.toUpperCase?.()).filter((token) => Boolean(token)).filter(isTokenVisible);
|
|
@@ -3709,18 +3563,17 @@ function getAccountWalletAssetInfoQueryOptions(username, asset, options2 = { ref
|
|
|
3709
3563
|
try {
|
|
3710
3564
|
const portfolio = await queryClient.fetchQuery(portfolioQuery);
|
|
3711
3565
|
const assetInfo = portfolio.wallets.find(
|
|
3712
|
-
(assetItem) => assetItem.
|
|
3566
|
+
(assetItem) => assetItem.symbol.toUpperCase() === asset.toUpperCase()
|
|
3713
3567
|
);
|
|
3714
3568
|
if (!assetInfo) return void 0;
|
|
3715
3569
|
return {
|
|
3716
|
-
name: assetInfo.
|
|
3717
|
-
title: assetInfo.
|
|
3718
|
-
price: assetInfo.
|
|
3719
|
-
accountBalance: assetInfo.
|
|
3720
|
-
apr: assetInfo.apr,
|
|
3570
|
+
name: assetInfo.symbol,
|
|
3571
|
+
title: assetInfo.name,
|
|
3572
|
+
price: assetInfo.fiatRate,
|
|
3573
|
+
accountBalance: assetInfo.balance,
|
|
3574
|
+
apr: assetInfo.apr?.toString(),
|
|
3721
3575
|
layer: assetInfo.layer,
|
|
3722
|
-
pendingRewards: assetInfo.pendingRewards
|
|
3723
|
-
parts: assetInfo.parts
|
|
3576
|
+
pendingRewards: assetInfo.pendingRewards
|
|
3724
3577
|
};
|
|
3725
3578
|
} catch (e) {
|
|
3726
3579
|
return void 0;
|
|
@@ -3794,7 +3647,7 @@ function getTokenOperationsQueryOptions(token, username, isForOwner = false, cur
|
|
|
3794
3647
|
getVisionPortfolioQueryOptions(username, currency)
|
|
3795
3648
|
);
|
|
3796
3649
|
const assetEntry = portfolio.wallets.find(
|
|
3797
|
-
(assetItem) => assetItem.symbol
|
|
3650
|
+
(assetItem) => assetItem.symbol.toUpperCase() === normalizedToken
|
|
3798
3651
|
);
|
|
3799
3652
|
if (!assetEntry) {
|
|
3800
3653
|
return [];
|
|
@@ -3849,7 +3702,7 @@ function getTokenOperationsQueryOptions(token, username, isForOwner = false, cur
|
|
|
3849
3702
|
"swap": "swap" /* Swap */,
|
|
3850
3703
|
"swap-token": "swap" /* Swap */,
|
|
3851
3704
|
"swap-tokens": "swap" /* Swap */,
|
|
3852
|
-
"convert": "
|
|
3705
|
+
"convert": "convert" /* Convert */,
|
|
3853
3706
|
// Points operations
|
|
3854
3707
|
"promote": "promote" /* Promote */,
|
|
3855
3708
|
"promote-post": "promote" /* Promote */,
|
|
@@ -3877,9 +3730,10 @@ function getTokenOperationsQueryOptions(token, username, isForOwner = false, cur
|
|
|
3877
3730
|
(op) => op.toLowerCase() === canonical
|
|
3878
3731
|
);
|
|
3879
3732
|
return directMatch;
|
|
3880
|
-
}).filter((op) => Boolean(op));
|
|
3733
|
+
}).filter((op) => Boolean(op)).filter((op, index, self) => self.indexOf(op) === index);
|
|
3881
3734
|
const isHiveOrHbd = ["HIVE", "HBD"].includes(normalizedToken);
|
|
3882
|
-
const
|
|
3735
|
+
const rawToken = assetEntry;
|
|
3736
|
+
const hasSavings = Number(rawToken.savings ?? 0) > 0;
|
|
3883
3737
|
if (isHiveOrHbd && !hasSavings) {
|
|
3884
3738
|
return operations.filter(
|
|
3885
3739
|
(operation) => operation !== "withdraw-saving" /* WithdrawFromSavings */
|