@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.cjs
CHANGED
|
@@ -1589,6 +1589,7 @@ var AssetOperation = /* @__PURE__ */ ((AssetOperation2) => {
|
|
|
1589
1589
|
AssetOperation2["WithdrawRoutes"] = "withdraw-routes";
|
|
1590
1590
|
AssetOperation2["ClaimInterest"] = "claim-interest";
|
|
1591
1591
|
AssetOperation2["Swap"] = "swap";
|
|
1592
|
+
AssetOperation2["Convert"] = "convert";
|
|
1592
1593
|
AssetOperation2["Gift"] = "gift";
|
|
1593
1594
|
AssetOperation2["Promote"] = "promote";
|
|
1594
1595
|
AssetOperation2["Claim"] = "claim";
|
|
@@ -2901,35 +2902,6 @@ function getAllTokensListQueryOptions(username) {
|
|
|
2901
2902
|
}
|
|
2902
2903
|
});
|
|
2903
2904
|
}
|
|
2904
|
-
var DERIVED_PART_KEY_MAP = {
|
|
2905
|
-
liquid: ["liquid", "liquidBalance", "liquid_amount", "liquidTokens"],
|
|
2906
|
-
savings: ["savings", "savingsBalance", "savings_amount"],
|
|
2907
|
-
staked: ["staked", "stakedBalance", "staking", "stake", "power"],
|
|
2908
|
-
delegated: ["delegated", "delegatedBalance", "delegationsOut"],
|
|
2909
|
-
received: ["received", "receivedBalance", "delegationsIn"],
|
|
2910
|
-
pending: [
|
|
2911
|
-
"pending",
|
|
2912
|
-
"pendingRewards",
|
|
2913
|
-
"unclaimed",
|
|
2914
|
-
"unclaimedBalance",
|
|
2915
|
-
"pendingReward"
|
|
2916
|
-
]
|
|
2917
|
-
};
|
|
2918
|
-
var EXTRA_DATA_PART_KEY_MAP = {
|
|
2919
|
-
delegated: "outgoing_delegations",
|
|
2920
|
-
outgoing: "outgoing_delegations",
|
|
2921
|
-
delegations_out: "outgoing_delegations",
|
|
2922
|
-
delegated_hive_power: "outgoing_delegations",
|
|
2923
|
-
delegated_hp: "outgoing_delegations",
|
|
2924
|
-
received: "incoming_delegations",
|
|
2925
|
-
incoming: "incoming_delegations",
|
|
2926
|
-
delegations_in: "incoming_delegations",
|
|
2927
|
-
received_hive_power: "incoming_delegations",
|
|
2928
|
-
received_hp: "incoming_delegations",
|
|
2929
|
-
powering_down: "pending_power_down",
|
|
2930
|
-
power_down: "pending_power_down",
|
|
2931
|
-
powering_down_hive_power: "pending_power_down"
|
|
2932
|
-
};
|
|
2933
2905
|
function normalizeString(value) {
|
|
2934
2906
|
if (typeof value === "string") {
|
|
2935
2907
|
const trimmed = value.trim();
|
|
@@ -2961,151 +2933,33 @@ function normalizeNumber(value) {
|
|
|
2961
2933
|
}
|
|
2962
2934
|
return void 0;
|
|
2963
2935
|
}
|
|
2964
|
-
function normalizeApr(value) {
|
|
2965
|
-
const numeric = normalizeNumber(value);
|
|
2966
|
-
if (numeric === void 0) {
|
|
2967
|
-
if (typeof value === "string") {
|
|
2968
|
-
const trimmed = value.trim();
|
|
2969
|
-
return trimmed.length > 0 ? trimmed : void 0;
|
|
2970
|
-
}
|
|
2971
|
-
return void 0;
|
|
2972
|
-
}
|
|
2973
|
-
return numeric.toString();
|
|
2974
|
-
}
|
|
2975
|
-
function normalizeParts(rawParts) {
|
|
2976
|
-
if (Array.isArray(rawParts)) {
|
|
2977
|
-
const parsed = rawParts.map((item) => {
|
|
2978
|
-
if (!item || typeof item !== "object") {
|
|
2979
|
-
return void 0;
|
|
2980
|
-
}
|
|
2981
|
-
const name = normalizeString(
|
|
2982
|
-
item.name ?? item.label ?? item.type ?? item.part
|
|
2983
|
-
);
|
|
2984
|
-
const balance = normalizeNumber(
|
|
2985
|
-
item.balance ?? item.amount ?? item.value
|
|
2986
|
-
);
|
|
2987
|
-
if (!name || balance === void 0) {
|
|
2988
|
-
return void 0;
|
|
2989
|
-
}
|
|
2990
|
-
return { name, balance };
|
|
2991
|
-
}).filter((item) => Boolean(item));
|
|
2992
|
-
return parsed.length ? parsed : void 0;
|
|
2993
|
-
}
|
|
2994
|
-
if (rawParts && typeof rawParts === "object") {
|
|
2995
|
-
const parsed = Object.entries(rawParts).map(([name, amount]) => {
|
|
2996
|
-
const balance = normalizeNumber(amount);
|
|
2997
|
-
if (!name || balance === void 0) {
|
|
2998
|
-
return void 0;
|
|
2999
|
-
}
|
|
3000
|
-
return { name, balance };
|
|
3001
|
-
}).filter((item) => Boolean(item));
|
|
3002
|
-
return parsed.length ? parsed : void 0;
|
|
3003
|
-
}
|
|
3004
|
-
return void 0;
|
|
3005
|
-
}
|
|
3006
|
-
function deriveParts(record) {
|
|
3007
|
-
const derived = Object.entries(DERIVED_PART_KEY_MAP).map(([name, keys]) => {
|
|
3008
|
-
for (const key of keys) {
|
|
3009
|
-
const value = normalizeNumber(record[key]);
|
|
3010
|
-
if (value !== void 0) {
|
|
3011
|
-
return { name, balance: value };
|
|
3012
|
-
}
|
|
3013
|
-
}
|
|
3014
|
-
return void 0;
|
|
3015
|
-
}).filter((item) => Boolean(item));
|
|
3016
|
-
return derived.length ? derived : void 0;
|
|
3017
|
-
}
|
|
3018
|
-
function normalizePartKey(value) {
|
|
3019
|
-
return value.trim().toLowerCase().replace(/[\s-]+/g, "_");
|
|
3020
|
-
}
|
|
3021
|
-
function mergeParts(...sources) {
|
|
3022
|
-
const order = [];
|
|
3023
|
-
const values2 = /* @__PURE__ */ new Map();
|
|
3024
|
-
for (const parts of sources) {
|
|
3025
|
-
if (!parts) {
|
|
3026
|
-
continue;
|
|
3027
|
-
}
|
|
3028
|
-
for (const part of parts) {
|
|
3029
|
-
if (!part?.name || typeof part.balance !== "number") {
|
|
3030
|
-
continue;
|
|
3031
|
-
}
|
|
3032
|
-
const existing = values2.get(part.name);
|
|
3033
|
-
if (existing === void 0) {
|
|
3034
|
-
order.push(part.name);
|
|
3035
|
-
values2.set(part.name, part.balance);
|
|
3036
|
-
} else {
|
|
3037
|
-
values2.set(part.name, existing + part.balance);
|
|
3038
|
-
}
|
|
3039
|
-
}
|
|
3040
|
-
}
|
|
3041
|
-
return order.length ? order.map((name) => ({ name, balance: values2.get(name) })) : void 0;
|
|
3042
|
-
}
|
|
3043
|
-
function normalizeExtraDataParts(rawExtraData) {
|
|
3044
|
-
const items = Array.isArray(rawExtraData) ? rawExtraData : rawExtraData && typeof rawExtraData === "object" ? Object.values(rawExtraData) : [];
|
|
3045
|
-
const parts = items.map((item) => {
|
|
3046
|
-
if (!item || typeof item !== "object") {
|
|
3047
|
-
return void 0;
|
|
3048
|
-
}
|
|
3049
|
-
const record = item;
|
|
3050
|
-
const keyCandidate = normalizeString(record.dataKey) ?? normalizeString(record.key) ?? normalizeString(record.name);
|
|
3051
|
-
if (!keyCandidate) {
|
|
3052
|
-
return void 0;
|
|
3053
|
-
}
|
|
3054
|
-
const canonical = normalizePartKey(keyCandidate);
|
|
3055
|
-
const partName = EXTRA_DATA_PART_KEY_MAP[canonical];
|
|
3056
|
-
if (!partName) {
|
|
3057
|
-
return void 0;
|
|
3058
|
-
}
|
|
3059
|
-
const balance = normalizeNumber(
|
|
3060
|
-
record.balance ?? record.amount ?? record.value ?? record.displayValue ?? record.text
|
|
3061
|
-
);
|
|
3062
|
-
if (balance === void 0) {
|
|
3063
|
-
return void 0;
|
|
3064
|
-
}
|
|
3065
|
-
return { name: partName, balance: Math.abs(balance) };
|
|
3066
|
-
}).filter((part) => Boolean(part));
|
|
3067
|
-
return parts.length ? parts : void 0;
|
|
3068
|
-
}
|
|
3069
2936
|
function parseToken(rawToken) {
|
|
3070
2937
|
if (!rawToken || typeof rawToken !== "object") {
|
|
3071
2938
|
return void 0;
|
|
3072
2939
|
}
|
|
3073
2940
|
const token = rawToken;
|
|
3074
|
-
const symbol = normalizeString(token.symbol) ?? normalizeString(token.asset) ?? normalizeString(token.name);
|
|
3075
|
-
if (!symbol) {
|
|
3076
|
-
return void 0;
|
|
3077
|
-
}
|
|
3078
|
-
const normalizedSymbol = symbol.toUpperCase();
|
|
3079
|
-
const title = normalizeString(token.title) ?? normalizeString(token.display) ?? normalizeString(token.label) ?? normalizeString(token.friendlyName) ?? normalizeString(token.name) ?? normalizedSymbol;
|
|
3080
|
-
const price = normalizeNumber(token.fiatRate) ?? 0;
|
|
3081
|
-
const apr = normalizeApr(token.apr) ?? normalizeApr(token.aprPercent) ?? normalizeApr(token.metrics?.apr) ?? normalizeApr(
|
|
3082
|
-
token.metrics?.aprPercent
|
|
3083
|
-
);
|
|
3084
|
-
const baseParts = normalizeParts(
|
|
3085
|
-
token.parts ?? token.balances ?? token.sections ?? token.breakdown ?? token.accountBreakdown ?? token.walletParts
|
|
3086
|
-
) ?? deriveParts(token);
|
|
3087
|
-
const parts = mergeParts(
|
|
3088
|
-
baseParts,
|
|
3089
|
-
normalizeExtraDataParts(
|
|
3090
|
-
token.extraData ?? token.extra_data ?? token.extra ?? token.badges
|
|
3091
|
-
)
|
|
3092
|
-
);
|
|
3093
|
-
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);
|
|
3094
|
-
const layer = normalizeString(token.layer) ?? normalizeString(token.chain) ?? normalizeString(token.category) ?? normalizeString(token.type);
|
|
3095
|
-
const pendingRewards = normalizeNumber(token.pendingRewards);
|
|
3096
2941
|
return {
|
|
3097
|
-
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
|
|
3103
|
-
|
|
3104
|
-
|
|
3105
|
-
|
|
3106
|
-
|
|
3107
|
-
|
|
3108
|
-
|
|
2942
|
+
name: normalizeString(token.name) ?? "",
|
|
2943
|
+
symbol: normalizeString(token.symbol) ?? "",
|
|
2944
|
+
layer: normalizeString(token.layer) ?? "hive",
|
|
2945
|
+
balance: normalizeNumber(token.balance) ?? 0,
|
|
2946
|
+
fiatRate: normalizeNumber(token.fiatRate) ?? 0,
|
|
2947
|
+
currency: normalizeString(token.currency) ?? "usd",
|
|
2948
|
+
precision: normalizeNumber(token.precision) ?? 3,
|
|
2949
|
+
address: normalizeString(token.address),
|
|
2950
|
+
error: normalizeString(token.error),
|
|
2951
|
+
pendingRewards: normalizeNumber(token.pendingRewards),
|
|
2952
|
+
pendingRewardsFiat: normalizeNumber(token.pendingRewardsFiat),
|
|
2953
|
+
liquid: normalizeNumber(token.liquid),
|
|
2954
|
+
liquidFiat: normalizeNumber(token.liquidFiat),
|
|
2955
|
+
savings: normalizeNumber(token.savings),
|
|
2956
|
+
savingsFiat: normalizeNumber(token.savingsFiat),
|
|
2957
|
+
staked: normalizeNumber(token.staked),
|
|
2958
|
+
stakedFiat: normalizeNumber(token.stakedFiat),
|
|
2959
|
+
iconUrl: normalizeString(token.iconUrl),
|
|
2960
|
+
actions: token.actions ?? [],
|
|
2961
|
+
extraData: token.extraData ?? [],
|
|
2962
|
+
apr: normalizeNumber(token.apr)
|
|
3109
2963
|
};
|
|
3110
2964
|
}
|
|
3111
2965
|
function extractTokens(payload) {
|
|
@@ -3169,7 +3023,7 @@ function getVisionPortfolioQueryOptions(username, currency = "usd") {
|
|
|
3169
3023
|
if (!username) {
|
|
3170
3024
|
throw new Error("[SDK][Wallets] \u2013 username is required");
|
|
3171
3025
|
}
|
|
3172
|
-
if (
|
|
3026
|
+
if (sdk.CONFIG.privateApiHost === void 0 || sdk.CONFIG.privateApiHost === null) {
|
|
3173
3027
|
throw new Error(
|
|
3174
3028
|
"[SDK][Wallets] \u2013 privateApiHost isn't configured for portfolio"
|
|
3175
3029
|
);
|
|
@@ -3262,7 +3116,7 @@ function getAccountWalletListQueryOptions(username, currency = "usd") {
|
|
|
3262
3116
|
try {
|
|
3263
3117
|
const portfolio = await queryClient.fetchQuery(portfolioQuery);
|
|
3264
3118
|
const tokensFromPortfolio = portfolio.wallets.map(
|
|
3265
|
-
(asset) => asset.
|
|
3119
|
+
(asset) => asset.symbol
|
|
3266
3120
|
);
|
|
3267
3121
|
if (tokensFromPortfolio.length > 0) {
|
|
3268
3122
|
const visibleTokens = tokensFromPortfolio.map((token) => token?.toUpperCase?.()).filter((token) => Boolean(token)).filter(isTokenVisible);
|
|
@@ -3736,18 +3590,17 @@ function getAccountWalletAssetInfoQueryOptions(username, asset, options2 = { ref
|
|
|
3736
3590
|
try {
|
|
3737
3591
|
const portfolio = await queryClient.fetchQuery(portfolioQuery);
|
|
3738
3592
|
const assetInfo = portfolio.wallets.find(
|
|
3739
|
-
(assetItem) => assetItem.
|
|
3593
|
+
(assetItem) => assetItem.symbol.toUpperCase() === asset.toUpperCase()
|
|
3740
3594
|
);
|
|
3741
3595
|
if (!assetInfo) return void 0;
|
|
3742
3596
|
return {
|
|
3743
|
-
name: assetInfo.
|
|
3744
|
-
title: assetInfo.
|
|
3745
|
-
price: assetInfo.
|
|
3746
|
-
accountBalance: assetInfo.
|
|
3747
|
-
apr: assetInfo.apr,
|
|
3597
|
+
name: assetInfo.symbol,
|
|
3598
|
+
title: assetInfo.name,
|
|
3599
|
+
price: assetInfo.fiatRate,
|
|
3600
|
+
accountBalance: assetInfo.balance,
|
|
3601
|
+
apr: assetInfo.apr?.toString(),
|
|
3748
3602
|
layer: assetInfo.layer,
|
|
3749
|
-
pendingRewards: assetInfo.pendingRewards
|
|
3750
|
-
parts: assetInfo.parts
|
|
3603
|
+
pendingRewards: assetInfo.pendingRewards
|
|
3751
3604
|
};
|
|
3752
3605
|
} catch (e) {
|
|
3753
3606
|
return void 0;
|
|
@@ -3821,7 +3674,7 @@ function getTokenOperationsQueryOptions(token, username, isForOwner = false, cur
|
|
|
3821
3674
|
getVisionPortfolioQueryOptions(username, currency)
|
|
3822
3675
|
);
|
|
3823
3676
|
const assetEntry = portfolio.wallets.find(
|
|
3824
|
-
(assetItem) => assetItem.symbol
|
|
3677
|
+
(assetItem) => assetItem.symbol.toUpperCase() === normalizedToken
|
|
3825
3678
|
);
|
|
3826
3679
|
if (!assetEntry) {
|
|
3827
3680
|
return [];
|
|
@@ -3876,7 +3729,7 @@ function getTokenOperationsQueryOptions(token, username, isForOwner = false, cur
|
|
|
3876
3729
|
"swap": "swap" /* Swap */,
|
|
3877
3730
|
"swap-token": "swap" /* Swap */,
|
|
3878
3731
|
"swap-tokens": "swap" /* Swap */,
|
|
3879
|
-
"convert": "
|
|
3732
|
+
"convert": "convert" /* Convert */,
|
|
3880
3733
|
// Points operations
|
|
3881
3734
|
"promote": "promote" /* Promote */,
|
|
3882
3735
|
"promote-post": "promote" /* Promote */,
|
|
@@ -3904,9 +3757,10 @@ function getTokenOperationsQueryOptions(token, username, isForOwner = false, cur
|
|
|
3904
3757
|
(op) => op.toLowerCase() === canonical
|
|
3905
3758
|
);
|
|
3906
3759
|
return directMatch;
|
|
3907
|
-
}).filter((op) => Boolean(op));
|
|
3760
|
+
}).filter((op) => Boolean(op)).filter((op, index, self) => self.indexOf(op) === index);
|
|
3908
3761
|
const isHiveOrHbd = ["HIVE", "HBD"].includes(normalizedToken);
|
|
3909
|
-
const
|
|
3762
|
+
const rawToken = assetEntry;
|
|
3763
|
+
const hasSavings = Number(rawToken.savings ?? 0) > 0;
|
|
3910
3764
|
if (isHiveOrHbd && !hasSavings) {
|
|
3911
3765
|
return operations.filter(
|
|
3912
3766
|
(operation) => operation !== "withdraw-saving" /* WithdrawFromSavings */
|