@ecency/wallets 1.5.9 → 1.5.11
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 +15 -2
- package/dist/browser/index.js +110 -238
- package/dist/browser/index.js.map +1 -1
- package/dist/node/index.cjs +110 -238
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.mjs +110 -238
- 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,80 +2875,6 @@ function getAllTokensListQueryOptions(username) {
|
|
|
2874
2875
|
}
|
|
2875
2876
|
});
|
|
2876
2877
|
}
|
|
2877
|
-
var ACTION_ALIAS_MAP = {
|
|
2878
|
-
"transfer-to-savings": "transfer-saving" /* TransferToSavings */,
|
|
2879
|
-
"transfer-savings": "transfer-saving" /* TransferToSavings */,
|
|
2880
|
-
"savings-transfer": "transfer-saving" /* TransferToSavings */,
|
|
2881
|
-
"withdraw-from-savings": "withdraw-saving" /* WithdrawFromSavings */,
|
|
2882
|
-
"withdraw-savings": "withdraw-saving" /* WithdrawFromSavings */,
|
|
2883
|
-
"savings-withdraw": "withdraw-saving" /* WithdrawFromSavings */,
|
|
2884
|
-
"transfer-from-savings": "withdraw-saving" /* WithdrawFromSavings */,
|
|
2885
|
-
"powerup": "power-up" /* PowerUp */,
|
|
2886
|
-
"power-down": "power-down" /* PowerDown */,
|
|
2887
|
-
"powerdown": "power-down" /* PowerDown */,
|
|
2888
|
-
"withdraw-vesting": "power-down" /* PowerDown */,
|
|
2889
|
-
"hp-delegate": "delegate" /* Delegate */,
|
|
2890
|
-
"delegate-hp": "delegate" /* Delegate */,
|
|
2891
|
-
"delegate-power": "delegate" /* Delegate */,
|
|
2892
|
-
"delegate-vesting-shares": "delegate" /* Delegate */,
|
|
2893
|
-
"undelegate-power": "undelegate" /* Undelegate */,
|
|
2894
|
-
"undelegate-token": "undelegate" /* Undelegate */,
|
|
2895
|
-
"stake-token": "stake" /* Stake */,
|
|
2896
|
-
"stake-power": "stake" /* Stake */,
|
|
2897
|
-
"unstake-token": "unstake" /* Unstake */,
|
|
2898
|
-
"unstake-power": "unstake" /* Unstake */,
|
|
2899
|
-
"transfer-to-vesting": "power-up" /* PowerUp */,
|
|
2900
|
-
"lock-liquidity": "lock" /* LockLiquidity */,
|
|
2901
|
-
"lock-liq": "lock" /* LockLiquidity */,
|
|
2902
|
-
"gift-points": "gift" /* Gift */,
|
|
2903
|
-
"points-gift": "gift" /* Gift */,
|
|
2904
|
-
"promote-post": "promote" /* Promote */,
|
|
2905
|
-
"promote-entry": "promote" /* Promote */,
|
|
2906
|
-
boost: "promote" /* Promote */,
|
|
2907
|
-
convert: "swap" /* Swap */,
|
|
2908
|
-
"swap-token": "swap" /* Swap */,
|
|
2909
|
-
"swap_tokens": "swap" /* Swap */,
|
|
2910
|
-
"claim-points": "claim" /* Claim */,
|
|
2911
|
-
"claim-rewards": "claim" /* Claim */,
|
|
2912
|
-
"buy-points": "buy" /* Buy */,
|
|
2913
|
-
"ecency-point-transfer": "transfer" /* Transfer */,
|
|
2914
|
-
"spkcc-spk-send": "transfer" /* Transfer */,
|
|
2915
|
-
"withdraw-routes": "withdraw-routes" /* WithdrawRoutes */,
|
|
2916
|
-
"withdrawroutes": "withdraw-routes" /* WithdrawRoutes */,
|
|
2917
|
-
"claim-interest": "claim-interest" /* ClaimInterest */
|
|
2918
|
-
};
|
|
2919
|
-
var KNOWN_OPERATION_VALUES = new Map(
|
|
2920
|
-
Object.values(AssetOperation).map((value) => [value, value])
|
|
2921
|
-
);
|
|
2922
|
-
var DERIVED_PART_KEY_MAP = {
|
|
2923
|
-
liquid: ["liquid", "liquidBalance", "liquid_amount", "liquidTokens"],
|
|
2924
|
-
savings: ["savings", "savingsBalance", "savings_amount"],
|
|
2925
|
-
staked: ["staked", "stakedBalance", "staking", "stake", "power"],
|
|
2926
|
-
delegated: ["delegated", "delegatedBalance", "delegationsOut"],
|
|
2927
|
-
received: ["received", "receivedBalance", "delegationsIn"],
|
|
2928
|
-
pending: [
|
|
2929
|
-
"pending",
|
|
2930
|
-
"pendingRewards",
|
|
2931
|
-
"unclaimed",
|
|
2932
|
-
"unclaimedBalance",
|
|
2933
|
-
"pendingReward"
|
|
2934
|
-
]
|
|
2935
|
-
};
|
|
2936
|
-
var EXTRA_DATA_PART_KEY_MAP = {
|
|
2937
|
-
delegated: "outgoing_delegations",
|
|
2938
|
-
outgoing: "outgoing_delegations",
|
|
2939
|
-
delegations_out: "outgoing_delegations",
|
|
2940
|
-
delegated_hive_power: "outgoing_delegations",
|
|
2941
|
-
delegated_hp: "outgoing_delegations",
|
|
2942
|
-
received: "incoming_delegations",
|
|
2943
|
-
incoming: "incoming_delegations",
|
|
2944
|
-
delegations_in: "incoming_delegations",
|
|
2945
|
-
received_hive_power: "incoming_delegations",
|
|
2946
|
-
received_hp: "incoming_delegations",
|
|
2947
|
-
powering_down: "pending_power_down",
|
|
2948
|
-
power_down: "pending_power_down",
|
|
2949
|
-
powering_down_hive_power: "pending_power_down"
|
|
2950
|
-
};
|
|
2951
2878
|
function normalizeString(value) {
|
|
2952
2879
|
if (typeof value === "string") {
|
|
2953
2880
|
const trimmed = value.trim();
|
|
@@ -2990,128 +2917,6 @@ function normalizeApr(value) {
|
|
|
2990
2917
|
}
|
|
2991
2918
|
return numeric.toString();
|
|
2992
2919
|
}
|
|
2993
|
-
function normalizeParts(rawParts) {
|
|
2994
|
-
if (Array.isArray(rawParts)) {
|
|
2995
|
-
const parsed = rawParts.map((item) => {
|
|
2996
|
-
if (!item || typeof item !== "object") {
|
|
2997
|
-
return void 0;
|
|
2998
|
-
}
|
|
2999
|
-
const name = normalizeString(
|
|
3000
|
-
item.name ?? item.label ?? item.type ?? item.part
|
|
3001
|
-
);
|
|
3002
|
-
const balance = normalizeNumber(
|
|
3003
|
-
item.balance ?? item.amount ?? item.value
|
|
3004
|
-
);
|
|
3005
|
-
if (!name || balance === void 0) {
|
|
3006
|
-
return void 0;
|
|
3007
|
-
}
|
|
3008
|
-
return { name, balance };
|
|
3009
|
-
}).filter((item) => Boolean(item));
|
|
3010
|
-
return parsed.length ? parsed : void 0;
|
|
3011
|
-
}
|
|
3012
|
-
if (rawParts && typeof rawParts === "object") {
|
|
3013
|
-
const parsed = Object.entries(rawParts).map(([name, amount]) => {
|
|
3014
|
-
const balance = normalizeNumber(amount);
|
|
3015
|
-
if (!name || balance === void 0) {
|
|
3016
|
-
return void 0;
|
|
3017
|
-
}
|
|
3018
|
-
return { name, balance };
|
|
3019
|
-
}).filter((item) => Boolean(item));
|
|
3020
|
-
return parsed.length ? parsed : void 0;
|
|
3021
|
-
}
|
|
3022
|
-
return void 0;
|
|
3023
|
-
}
|
|
3024
|
-
function deriveParts(record) {
|
|
3025
|
-
const derived = Object.entries(DERIVED_PART_KEY_MAP).map(([name, keys]) => {
|
|
3026
|
-
for (const key of keys) {
|
|
3027
|
-
const value = normalizeNumber(record[key]);
|
|
3028
|
-
if (value !== void 0) {
|
|
3029
|
-
return { name, balance: value };
|
|
3030
|
-
}
|
|
3031
|
-
}
|
|
3032
|
-
return void 0;
|
|
3033
|
-
}).filter((item) => Boolean(item));
|
|
3034
|
-
return derived.length ? derived : void 0;
|
|
3035
|
-
}
|
|
3036
|
-
function normalizePartKey(value) {
|
|
3037
|
-
return value.trim().toLowerCase().replace(/[\s-]+/g, "_");
|
|
3038
|
-
}
|
|
3039
|
-
function mergeParts(...sources) {
|
|
3040
|
-
const order = [];
|
|
3041
|
-
const values2 = /* @__PURE__ */ new Map();
|
|
3042
|
-
for (const parts of sources) {
|
|
3043
|
-
if (!parts) {
|
|
3044
|
-
continue;
|
|
3045
|
-
}
|
|
3046
|
-
for (const part of parts) {
|
|
3047
|
-
if (!part?.name || typeof part.balance !== "number") {
|
|
3048
|
-
continue;
|
|
3049
|
-
}
|
|
3050
|
-
const existing = values2.get(part.name);
|
|
3051
|
-
if (existing === void 0) {
|
|
3052
|
-
order.push(part.name);
|
|
3053
|
-
values2.set(part.name, part.balance);
|
|
3054
|
-
} else {
|
|
3055
|
-
values2.set(part.name, existing + part.balance);
|
|
3056
|
-
}
|
|
3057
|
-
}
|
|
3058
|
-
}
|
|
3059
|
-
return order.length ? order.map((name) => ({ name, balance: values2.get(name) })) : void 0;
|
|
3060
|
-
}
|
|
3061
|
-
function normalizeExtraDataParts(rawExtraData) {
|
|
3062
|
-
const items = Array.isArray(rawExtraData) ? rawExtraData : rawExtraData && typeof rawExtraData === "object" ? Object.values(rawExtraData) : [];
|
|
3063
|
-
const parts = items.map((item) => {
|
|
3064
|
-
if (!item || typeof item !== "object") {
|
|
3065
|
-
return void 0;
|
|
3066
|
-
}
|
|
3067
|
-
const record = item;
|
|
3068
|
-
const keyCandidate = normalizeString(record.dataKey) ?? normalizeString(record.key) ?? normalizeString(record.name);
|
|
3069
|
-
if (!keyCandidate) {
|
|
3070
|
-
return void 0;
|
|
3071
|
-
}
|
|
3072
|
-
const canonical = normalizePartKey(keyCandidate);
|
|
3073
|
-
const partName = EXTRA_DATA_PART_KEY_MAP[canonical];
|
|
3074
|
-
if (!partName) {
|
|
3075
|
-
return void 0;
|
|
3076
|
-
}
|
|
3077
|
-
const balance = normalizeNumber(
|
|
3078
|
-
record.balance ?? record.amount ?? record.value ?? record.displayValue ?? record.text
|
|
3079
|
-
);
|
|
3080
|
-
if (balance === void 0) {
|
|
3081
|
-
return void 0;
|
|
3082
|
-
}
|
|
3083
|
-
return { name: partName, balance: Math.abs(balance) };
|
|
3084
|
-
}).filter((part) => Boolean(part));
|
|
3085
|
-
return parts.length ? parts : void 0;
|
|
3086
|
-
}
|
|
3087
|
-
function normalizeActionKey(value) {
|
|
3088
|
-
return value.trim().toLowerCase().replace(/[\s_]+/g, "-");
|
|
3089
|
-
}
|
|
3090
|
-
function mapActions(rawActions) {
|
|
3091
|
-
if (!rawActions) {
|
|
3092
|
-
return [];
|
|
3093
|
-
}
|
|
3094
|
-
const rawList = Array.isArray(rawActions) ? rawActions : [rawActions];
|
|
3095
|
-
const result = [];
|
|
3096
|
-
for (const raw of rawList) {
|
|
3097
|
-
let candidate;
|
|
3098
|
-
if (typeof raw === "string") {
|
|
3099
|
-
candidate = raw;
|
|
3100
|
-
} else if (raw && typeof raw === "object") {
|
|
3101
|
-
const record = raw;
|
|
3102
|
-
candidate = normalizeString(record.code) ?? normalizeString(record.id) ?? normalizeString(record.name) ?? normalizeString(record.action);
|
|
3103
|
-
}
|
|
3104
|
-
if (!candidate) {
|
|
3105
|
-
continue;
|
|
3106
|
-
}
|
|
3107
|
-
const canonical = normalizeActionKey(candidate);
|
|
3108
|
-
const operation = KNOWN_OPERATION_VALUES.get(canonical) ?? ACTION_ALIAS_MAP[canonical];
|
|
3109
|
-
if (operation && !result.includes(operation)) {
|
|
3110
|
-
result.push(operation);
|
|
3111
|
-
}
|
|
3112
|
-
}
|
|
3113
|
-
return result;
|
|
3114
|
-
}
|
|
3115
2920
|
function parseToken(rawToken) {
|
|
3116
2921
|
if (!rawToken || typeof rawToken !== "object") {
|
|
3117
2922
|
return void 0;
|
|
@@ -3127,33 +2932,23 @@ function parseToken(rawToken) {
|
|
|
3127
2932
|
const apr = normalizeApr(token.apr) ?? normalizeApr(token.aprPercent) ?? normalizeApr(token.metrics?.apr) ?? normalizeApr(
|
|
3128
2933
|
token.metrics?.aprPercent
|
|
3129
2934
|
);
|
|
3130
|
-
const
|
|
3131
|
-
token.parts ?? token.balances ?? token.sections ?? token.breakdown ?? token.accountBreakdown ?? token.walletParts
|
|
3132
|
-
) ?? deriveParts(token);
|
|
3133
|
-
const parts = mergeParts(
|
|
3134
|
-
baseParts,
|
|
3135
|
-
normalizeExtraDataParts(
|
|
3136
|
-
token.extraData ?? token.extra_data ?? token.extra ?? token.badges
|
|
3137
|
-
)
|
|
3138
|
-
);
|
|
3139
|
-
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);
|
|
2935
|
+
const accountBalance = normalizeNumber(token.balance) ?? normalizeNumber(token.accountBalance) ?? normalizeNumber(token.totalBalance) ?? normalizeNumber(token.total) ?? normalizeNumber(token.amount) ?? 0;
|
|
3140
2936
|
const layer = normalizeString(token.layer) ?? normalizeString(token.chain) ?? normalizeString(token.category) ?? normalizeString(token.type);
|
|
3141
2937
|
const pendingRewards = normalizeNumber(token.pendingRewards);
|
|
2938
|
+
const savings = normalizeNumber(token.savings);
|
|
3142
2939
|
return {
|
|
3143
2940
|
symbol: normalizedSymbol,
|
|
3144
|
-
|
|
3145
|
-
|
|
3146
|
-
|
|
3147
|
-
|
|
3148
|
-
|
|
3149
|
-
|
|
3150
|
-
|
|
3151
|
-
|
|
3152
|
-
|
|
3153
|
-
|
|
3154
|
-
|
|
3155
|
-
token.actions ?? token.available_actions ?? token.availableActions ?? token.operations ?? token.supportedActions
|
|
3156
|
-
)
|
|
2941
|
+
name: normalizedSymbol,
|
|
2942
|
+
title,
|
|
2943
|
+
price,
|
|
2944
|
+
accountBalance,
|
|
2945
|
+
apr: apr ? Number.parseFloat(apr) : void 0,
|
|
2946
|
+
layer: layer ?? void 0,
|
|
2947
|
+
pendingRewards: pendingRewards ?? void 0,
|
|
2948
|
+
savings: savings ?? void 0,
|
|
2949
|
+
actions: token.actions ?? token.available_actions ?? token.availableActions ?? token.operations ?? token.supportedActions,
|
|
2950
|
+
fiatRate: normalizeNumber(token.fiatRate) ?? void 0,
|
|
2951
|
+
fiatCurrency: normalizeString(token.fiatCurrency) ?? void 0
|
|
3157
2952
|
};
|
|
3158
2953
|
}
|
|
3159
2954
|
function extractTokens(payload) {
|
|
@@ -3310,7 +3105,7 @@ function getAccountWalletListQueryOptions(username, currency = "usd") {
|
|
|
3310
3105
|
try {
|
|
3311
3106
|
const portfolio = await queryClient.fetchQuery(portfolioQuery);
|
|
3312
3107
|
const tokensFromPortfolio = portfolio.wallets.map(
|
|
3313
|
-
(asset) => asset.
|
|
3108
|
+
(asset) => asset.name
|
|
3314
3109
|
);
|
|
3315
3110
|
if (tokensFromPortfolio.length > 0) {
|
|
3316
3111
|
const visibleTokens = tokensFromPortfolio.map((token) => token?.toUpperCase?.()).filter((token) => Boolean(token)).filter(isTokenVisible);
|
|
@@ -3784,9 +3579,18 @@ function getAccountWalletAssetInfoQueryOptions(username, asset, options2 = { ref
|
|
|
3784
3579
|
try {
|
|
3785
3580
|
const portfolio = await queryClient.fetchQuery(portfolioQuery);
|
|
3786
3581
|
const assetInfo = portfolio.wallets.find(
|
|
3787
|
-
(assetItem) => assetItem.
|
|
3582
|
+
(assetItem) => assetItem.name === asset.toUpperCase()
|
|
3788
3583
|
);
|
|
3789
|
-
return
|
|
3584
|
+
if (!assetInfo) return void 0;
|
|
3585
|
+
return {
|
|
3586
|
+
name: assetInfo.name,
|
|
3587
|
+
title: assetInfo.title ?? assetInfo.name,
|
|
3588
|
+
price: assetInfo.price ?? assetInfo.fiatRate ?? 0,
|
|
3589
|
+
accountBalance: assetInfo.accountBalance ?? 0,
|
|
3590
|
+
apr: assetInfo.apr?.toString(),
|
|
3591
|
+
layer: assetInfo.layer,
|
|
3592
|
+
pendingRewards: assetInfo.pendingRewards
|
|
3593
|
+
};
|
|
3790
3594
|
} catch (e) {
|
|
3791
3595
|
return void 0;
|
|
3792
3596
|
}
|
|
@@ -3845,16 +3649,6 @@ function getAccountWalletAssetInfoQueryOptions(username, asset, options2 = { ref
|
|
|
3845
3649
|
}
|
|
3846
3650
|
});
|
|
3847
3651
|
}
|
|
3848
|
-
function normalizePartKey2(value) {
|
|
3849
|
-
return value.trim().toLowerCase().replace(/[\s-]+/g, "_");
|
|
3850
|
-
}
|
|
3851
|
-
function hasNonZeroSavingsBalance(parts) {
|
|
3852
|
-
return Boolean(
|
|
3853
|
-
parts?.some(
|
|
3854
|
-
(part) => normalizePartKey2(part.name) === "savings" && Number(part.balance) > 0
|
|
3855
|
-
)
|
|
3856
|
-
);
|
|
3857
|
-
}
|
|
3858
3652
|
function getTokenOperationsQueryOptions(token, username, isForOwner = false, currency = "usd") {
|
|
3859
3653
|
return queryOptions({
|
|
3860
3654
|
queryKey: ["wallets", "token-operations", token, username, isForOwner, currency],
|
|
@@ -3869,16 +3663,94 @@ function getTokenOperationsQueryOptions(token, username, isForOwner = false, cur
|
|
|
3869
3663
|
getVisionPortfolioQueryOptions(username, currency)
|
|
3870
3664
|
);
|
|
3871
3665
|
const assetEntry = portfolio.wallets.find(
|
|
3872
|
-
(assetItem) => assetItem.
|
|
3666
|
+
(assetItem) => assetItem.symbol?.toUpperCase() === normalizedToken || assetItem.name?.toUpperCase() === normalizedToken
|
|
3873
3667
|
);
|
|
3874
3668
|
if (!assetEntry) {
|
|
3875
3669
|
return [];
|
|
3876
3670
|
}
|
|
3877
|
-
const
|
|
3878
|
-
const
|
|
3879
|
-
|
|
3880
|
-
|
|
3881
|
-
|
|
3671
|
+
const rawActions = assetEntry.actions ?? [];
|
|
3672
|
+
const operations = rawActions.map((action) => {
|
|
3673
|
+
if (typeof action === "string") return action;
|
|
3674
|
+
if (action && typeof action === "object") {
|
|
3675
|
+
const record = action;
|
|
3676
|
+
return record.id ?? record.code ?? record.name ?? record.action;
|
|
3677
|
+
}
|
|
3678
|
+
return void 0;
|
|
3679
|
+
}).filter((id) => Boolean(id)).map((id) => {
|
|
3680
|
+
const canonical = id.trim().toLowerCase().replace(/[\s_]+/g, "-");
|
|
3681
|
+
const aliasMap = {
|
|
3682
|
+
// Common operations
|
|
3683
|
+
"transfer": "transfer" /* Transfer */,
|
|
3684
|
+
"ecency-point-transfer": "transfer" /* Transfer */,
|
|
3685
|
+
"spkcc-spk-send": "transfer" /* Transfer */,
|
|
3686
|
+
// Savings operations
|
|
3687
|
+
"transfer-to-savings": "transfer-saving" /* TransferToSavings */,
|
|
3688
|
+
"transfer-savings": "transfer-saving" /* TransferToSavings */,
|
|
3689
|
+
"savings-transfer": "transfer-saving" /* TransferToSavings */,
|
|
3690
|
+
"withdraw-from-savings": "withdraw-saving" /* WithdrawFromSavings */,
|
|
3691
|
+
"transfer-from-savings": "withdraw-saving" /* WithdrawFromSavings */,
|
|
3692
|
+
"withdraw-savings": "withdraw-saving" /* WithdrawFromSavings */,
|
|
3693
|
+
"savings-withdraw": "withdraw-saving" /* WithdrawFromSavings */,
|
|
3694
|
+
// Vesting/Power operations
|
|
3695
|
+
"transfer-to-vesting": "power-up" /* PowerUp */,
|
|
3696
|
+
"powerup": "power-up" /* PowerUp */,
|
|
3697
|
+
"power-up": "power-up" /* PowerUp */,
|
|
3698
|
+
"withdraw-vesting": "power-down" /* PowerDown */,
|
|
3699
|
+
"power-down": "power-down" /* PowerDown */,
|
|
3700
|
+
"powerdown": "power-down" /* PowerDown */,
|
|
3701
|
+
// Delegation
|
|
3702
|
+
"delegate": "delegate" /* Delegate */,
|
|
3703
|
+
"delegate-vesting-shares": "delegate" /* Delegate */,
|
|
3704
|
+
"hp-delegate": "delegate" /* Delegate */,
|
|
3705
|
+
"delegate-hp": "delegate" /* Delegate */,
|
|
3706
|
+
"delegate-power": "delegate" /* Delegate */,
|
|
3707
|
+
"undelegate": "undelegate" /* Undelegate */,
|
|
3708
|
+
"undelegate-power": "undelegate" /* Undelegate */,
|
|
3709
|
+
"undelegate-token": "undelegate" /* Undelegate */,
|
|
3710
|
+
// Staking (Layer 2)
|
|
3711
|
+
"stake": "stake" /* Stake */,
|
|
3712
|
+
"stake-token": "stake" /* Stake */,
|
|
3713
|
+
"stake-power": "stake" /* Stake */,
|
|
3714
|
+
"unstake": "unstake" /* Unstake */,
|
|
3715
|
+
"unstake-token": "unstake" /* Unstake */,
|
|
3716
|
+
"unstake-power": "unstake" /* Unstake */,
|
|
3717
|
+
// Swap/Convert
|
|
3718
|
+
"swap": "swap" /* Swap */,
|
|
3719
|
+
"swap-token": "swap" /* Swap */,
|
|
3720
|
+
"swap-tokens": "swap" /* Swap */,
|
|
3721
|
+
"convert": "convert" /* Convert */,
|
|
3722
|
+
// Points operations
|
|
3723
|
+
"promote": "promote" /* Promote */,
|
|
3724
|
+
"promote-post": "promote" /* Promote */,
|
|
3725
|
+
"promote-entry": "promote" /* Promote */,
|
|
3726
|
+
"boost": "promote" /* Promote */,
|
|
3727
|
+
"gift": "gift" /* Gift */,
|
|
3728
|
+
"gift-points": "gift" /* Gift */,
|
|
3729
|
+
"points-gift": "gift" /* Gift */,
|
|
3730
|
+
"claim": "claim" /* Claim */,
|
|
3731
|
+
"claim-rewards": "claim" /* Claim */,
|
|
3732
|
+
"claim-points": "claim" /* Claim */,
|
|
3733
|
+
"buy": "buy" /* Buy */,
|
|
3734
|
+
"buy-points": "buy" /* Buy */,
|
|
3735
|
+
// Other
|
|
3736
|
+
"claim-interest": "claim-interest" /* ClaimInterest */,
|
|
3737
|
+
"withdraw-routes": "withdraw-routes" /* WithdrawRoutes */,
|
|
3738
|
+
"withdrawroutes": "withdraw-routes" /* WithdrawRoutes */,
|
|
3739
|
+
"lock": "lock" /* LockLiquidity */,
|
|
3740
|
+
"lock-liquidity": "lock" /* LockLiquidity */,
|
|
3741
|
+
"lock-liq": "lock" /* LockLiquidity */
|
|
3742
|
+
};
|
|
3743
|
+
const mapped = aliasMap[canonical];
|
|
3744
|
+
if (mapped) return mapped;
|
|
3745
|
+
const directMatch = Object.values(AssetOperation).find(
|
|
3746
|
+
(op) => op.toLowerCase() === canonical
|
|
3747
|
+
);
|
|
3748
|
+
return directMatch;
|
|
3749
|
+
}).filter((op) => Boolean(op)).filter((op, index, self) => self.indexOf(op) === index);
|
|
3750
|
+
const isHiveOrHbd = ["HIVE", "HBD"].includes(normalizedToken);
|
|
3751
|
+
const rawToken = assetEntry;
|
|
3752
|
+
const hasSavings = Number(rawToken.savings ?? 0) > 0;
|
|
3753
|
+
if (isHiveOrHbd && !hasSavings) {
|
|
3882
3754
|
return operations.filter(
|
|
3883
3755
|
(operation) => operation !== "withdraw-saving" /* WithdrawFromSavings */
|
|
3884
3756
|
);
|