@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.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,80 +2902,6 @@ function getAllTokensListQueryOptions(username) {
|
|
|
2901
2902
|
}
|
|
2902
2903
|
});
|
|
2903
2904
|
}
|
|
2904
|
-
var ACTION_ALIAS_MAP = {
|
|
2905
|
-
"transfer-to-savings": "transfer-saving" /* TransferToSavings */,
|
|
2906
|
-
"transfer-savings": "transfer-saving" /* TransferToSavings */,
|
|
2907
|
-
"savings-transfer": "transfer-saving" /* TransferToSavings */,
|
|
2908
|
-
"withdraw-from-savings": "withdraw-saving" /* WithdrawFromSavings */,
|
|
2909
|
-
"withdraw-savings": "withdraw-saving" /* WithdrawFromSavings */,
|
|
2910
|
-
"savings-withdraw": "withdraw-saving" /* WithdrawFromSavings */,
|
|
2911
|
-
"transfer-from-savings": "withdraw-saving" /* WithdrawFromSavings */,
|
|
2912
|
-
"powerup": "power-up" /* PowerUp */,
|
|
2913
|
-
"power-down": "power-down" /* PowerDown */,
|
|
2914
|
-
"powerdown": "power-down" /* PowerDown */,
|
|
2915
|
-
"withdraw-vesting": "power-down" /* PowerDown */,
|
|
2916
|
-
"hp-delegate": "delegate" /* Delegate */,
|
|
2917
|
-
"delegate-hp": "delegate" /* Delegate */,
|
|
2918
|
-
"delegate-power": "delegate" /* Delegate */,
|
|
2919
|
-
"delegate-vesting-shares": "delegate" /* Delegate */,
|
|
2920
|
-
"undelegate-power": "undelegate" /* Undelegate */,
|
|
2921
|
-
"undelegate-token": "undelegate" /* Undelegate */,
|
|
2922
|
-
"stake-token": "stake" /* Stake */,
|
|
2923
|
-
"stake-power": "stake" /* Stake */,
|
|
2924
|
-
"unstake-token": "unstake" /* Unstake */,
|
|
2925
|
-
"unstake-power": "unstake" /* Unstake */,
|
|
2926
|
-
"transfer-to-vesting": "power-up" /* PowerUp */,
|
|
2927
|
-
"lock-liquidity": "lock" /* LockLiquidity */,
|
|
2928
|
-
"lock-liq": "lock" /* LockLiquidity */,
|
|
2929
|
-
"gift-points": "gift" /* Gift */,
|
|
2930
|
-
"points-gift": "gift" /* Gift */,
|
|
2931
|
-
"promote-post": "promote" /* Promote */,
|
|
2932
|
-
"promote-entry": "promote" /* Promote */,
|
|
2933
|
-
boost: "promote" /* Promote */,
|
|
2934
|
-
convert: "swap" /* Swap */,
|
|
2935
|
-
"swap-token": "swap" /* Swap */,
|
|
2936
|
-
"swap_tokens": "swap" /* Swap */,
|
|
2937
|
-
"claim-points": "claim" /* Claim */,
|
|
2938
|
-
"claim-rewards": "claim" /* Claim */,
|
|
2939
|
-
"buy-points": "buy" /* Buy */,
|
|
2940
|
-
"ecency-point-transfer": "transfer" /* Transfer */,
|
|
2941
|
-
"spkcc-spk-send": "transfer" /* Transfer */,
|
|
2942
|
-
"withdraw-routes": "withdraw-routes" /* WithdrawRoutes */,
|
|
2943
|
-
"withdrawroutes": "withdraw-routes" /* WithdrawRoutes */,
|
|
2944
|
-
"claim-interest": "claim-interest" /* ClaimInterest */
|
|
2945
|
-
};
|
|
2946
|
-
var KNOWN_OPERATION_VALUES = new Map(
|
|
2947
|
-
Object.values(AssetOperation).map((value) => [value, value])
|
|
2948
|
-
);
|
|
2949
|
-
var DERIVED_PART_KEY_MAP = {
|
|
2950
|
-
liquid: ["liquid", "liquidBalance", "liquid_amount", "liquidTokens"],
|
|
2951
|
-
savings: ["savings", "savingsBalance", "savings_amount"],
|
|
2952
|
-
staked: ["staked", "stakedBalance", "staking", "stake", "power"],
|
|
2953
|
-
delegated: ["delegated", "delegatedBalance", "delegationsOut"],
|
|
2954
|
-
received: ["received", "receivedBalance", "delegationsIn"],
|
|
2955
|
-
pending: [
|
|
2956
|
-
"pending",
|
|
2957
|
-
"pendingRewards",
|
|
2958
|
-
"unclaimed",
|
|
2959
|
-
"unclaimedBalance",
|
|
2960
|
-
"pendingReward"
|
|
2961
|
-
]
|
|
2962
|
-
};
|
|
2963
|
-
var EXTRA_DATA_PART_KEY_MAP = {
|
|
2964
|
-
delegated: "outgoing_delegations",
|
|
2965
|
-
outgoing: "outgoing_delegations",
|
|
2966
|
-
delegations_out: "outgoing_delegations",
|
|
2967
|
-
delegated_hive_power: "outgoing_delegations",
|
|
2968
|
-
delegated_hp: "outgoing_delegations",
|
|
2969
|
-
received: "incoming_delegations",
|
|
2970
|
-
incoming: "incoming_delegations",
|
|
2971
|
-
delegations_in: "incoming_delegations",
|
|
2972
|
-
received_hive_power: "incoming_delegations",
|
|
2973
|
-
received_hp: "incoming_delegations",
|
|
2974
|
-
powering_down: "pending_power_down",
|
|
2975
|
-
power_down: "pending_power_down",
|
|
2976
|
-
powering_down_hive_power: "pending_power_down"
|
|
2977
|
-
};
|
|
2978
2905
|
function normalizeString(value) {
|
|
2979
2906
|
if (typeof value === "string") {
|
|
2980
2907
|
const trimmed = value.trim();
|
|
@@ -3017,128 +2944,6 @@ function normalizeApr(value) {
|
|
|
3017
2944
|
}
|
|
3018
2945
|
return numeric.toString();
|
|
3019
2946
|
}
|
|
3020
|
-
function normalizeParts(rawParts) {
|
|
3021
|
-
if (Array.isArray(rawParts)) {
|
|
3022
|
-
const parsed = rawParts.map((item) => {
|
|
3023
|
-
if (!item || typeof item !== "object") {
|
|
3024
|
-
return void 0;
|
|
3025
|
-
}
|
|
3026
|
-
const name = normalizeString(
|
|
3027
|
-
item.name ?? item.label ?? item.type ?? item.part
|
|
3028
|
-
);
|
|
3029
|
-
const balance = normalizeNumber(
|
|
3030
|
-
item.balance ?? item.amount ?? item.value
|
|
3031
|
-
);
|
|
3032
|
-
if (!name || balance === void 0) {
|
|
3033
|
-
return void 0;
|
|
3034
|
-
}
|
|
3035
|
-
return { name, balance };
|
|
3036
|
-
}).filter((item) => Boolean(item));
|
|
3037
|
-
return parsed.length ? parsed : void 0;
|
|
3038
|
-
}
|
|
3039
|
-
if (rawParts && typeof rawParts === "object") {
|
|
3040
|
-
const parsed = Object.entries(rawParts).map(([name, amount]) => {
|
|
3041
|
-
const balance = normalizeNumber(amount);
|
|
3042
|
-
if (!name || balance === void 0) {
|
|
3043
|
-
return void 0;
|
|
3044
|
-
}
|
|
3045
|
-
return { name, balance };
|
|
3046
|
-
}).filter((item) => Boolean(item));
|
|
3047
|
-
return parsed.length ? parsed : void 0;
|
|
3048
|
-
}
|
|
3049
|
-
return void 0;
|
|
3050
|
-
}
|
|
3051
|
-
function deriveParts(record) {
|
|
3052
|
-
const derived = Object.entries(DERIVED_PART_KEY_MAP).map(([name, keys]) => {
|
|
3053
|
-
for (const key of keys) {
|
|
3054
|
-
const value = normalizeNumber(record[key]);
|
|
3055
|
-
if (value !== void 0) {
|
|
3056
|
-
return { name, balance: value };
|
|
3057
|
-
}
|
|
3058
|
-
}
|
|
3059
|
-
return void 0;
|
|
3060
|
-
}).filter((item) => Boolean(item));
|
|
3061
|
-
return derived.length ? derived : void 0;
|
|
3062
|
-
}
|
|
3063
|
-
function normalizePartKey(value) {
|
|
3064
|
-
return value.trim().toLowerCase().replace(/[\s-]+/g, "_");
|
|
3065
|
-
}
|
|
3066
|
-
function mergeParts(...sources) {
|
|
3067
|
-
const order = [];
|
|
3068
|
-
const values2 = /* @__PURE__ */ new Map();
|
|
3069
|
-
for (const parts of sources) {
|
|
3070
|
-
if (!parts) {
|
|
3071
|
-
continue;
|
|
3072
|
-
}
|
|
3073
|
-
for (const part of parts) {
|
|
3074
|
-
if (!part?.name || typeof part.balance !== "number") {
|
|
3075
|
-
continue;
|
|
3076
|
-
}
|
|
3077
|
-
const existing = values2.get(part.name);
|
|
3078
|
-
if (existing === void 0) {
|
|
3079
|
-
order.push(part.name);
|
|
3080
|
-
values2.set(part.name, part.balance);
|
|
3081
|
-
} else {
|
|
3082
|
-
values2.set(part.name, existing + part.balance);
|
|
3083
|
-
}
|
|
3084
|
-
}
|
|
3085
|
-
}
|
|
3086
|
-
return order.length ? order.map((name) => ({ name, balance: values2.get(name) })) : void 0;
|
|
3087
|
-
}
|
|
3088
|
-
function normalizeExtraDataParts(rawExtraData) {
|
|
3089
|
-
const items = Array.isArray(rawExtraData) ? rawExtraData : rawExtraData && typeof rawExtraData === "object" ? Object.values(rawExtraData) : [];
|
|
3090
|
-
const parts = items.map((item) => {
|
|
3091
|
-
if (!item || typeof item !== "object") {
|
|
3092
|
-
return void 0;
|
|
3093
|
-
}
|
|
3094
|
-
const record = item;
|
|
3095
|
-
const keyCandidate = normalizeString(record.dataKey) ?? normalizeString(record.key) ?? normalizeString(record.name);
|
|
3096
|
-
if (!keyCandidate) {
|
|
3097
|
-
return void 0;
|
|
3098
|
-
}
|
|
3099
|
-
const canonical = normalizePartKey(keyCandidate);
|
|
3100
|
-
const partName = EXTRA_DATA_PART_KEY_MAP[canonical];
|
|
3101
|
-
if (!partName) {
|
|
3102
|
-
return void 0;
|
|
3103
|
-
}
|
|
3104
|
-
const balance = normalizeNumber(
|
|
3105
|
-
record.balance ?? record.amount ?? record.value ?? record.displayValue ?? record.text
|
|
3106
|
-
);
|
|
3107
|
-
if (balance === void 0) {
|
|
3108
|
-
return void 0;
|
|
3109
|
-
}
|
|
3110
|
-
return { name: partName, balance: Math.abs(balance) };
|
|
3111
|
-
}).filter((part) => Boolean(part));
|
|
3112
|
-
return parts.length ? parts : void 0;
|
|
3113
|
-
}
|
|
3114
|
-
function normalizeActionKey(value) {
|
|
3115
|
-
return value.trim().toLowerCase().replace(/[\s_]+/g, "-");
|
|
3116
|
-
}
|
|
3117
|
-
function mapActions(rawActions) {
|
|
3118
|
-
if (!rawActions) {
|
|
3119
|
-
return [];
|
|
3120
|
-
}
|
|
3121
|
-
const rawList = Array.isArray(rawActions) ? rawActions : [rawActions];
|
|
3122
|
-
const result = [];
|
|
3123
|
-
for (const raw of rawList) {
|
|
3124
|
-
let candidate;
|
|
3125
|
-
if (typeof raw === "string") {
|
|
3126
|
-
candidate = raw;
|
|
3127
|
-
} else if (raw && typeof raw === "object") {
|
|
3128
|
-
const record = raw;
|
|
3129
|
-
candidate = normalizeString(record.code) ?? normalizeString(record.id) ?? normalizeString(record.name) ?? normalizeString(record.action);
|
|
3130
|
-
}
|
|
3131
|
-
if (!candidate) {
|
|
3132
|
-
continue;
|
|
3133
|
-
}
|
|
3134
|
-
const canonical = normalizeActionKey(candidate);
|
|
3135
|
-
const operation = KNOWN_OPERATION_VALUES.get(canonical) ?? ACTION_ALIAS_MAP[canonical];
|
|
3136
|
-
if (operation && !result.includes(operation)) {
|
|
3137
|
-
result.push(operation);
|
|
3138
|
-
}
|
|
3139
|
-
}
|
|
3140
|
-
return result;
|
|
3141
|
-
}
|
|
3142
2947
|
function parseToken(rawToken) {
|
|
3143
2948
|
if (!rawToken || typeof rawToken !== "object") {
|
|
3144
2949
|
return void 0;
|
|
@@ -3154,33 +2959,23 @@ function parseToken(rawToken) {
|
|
|
3154
2959
|
const apr = normalizeApr(token.apr) ?? normalizeApr(token.aprPercent) ?? normalizeApr(token.metrics?.apr) ?? normalizeApr(
|
|
3155
2960
|
token.metrics?.aprPercent
|
|
3156
2961
|
);
|
|
3157
|
-
const
|
|
3158
|
-
token.parts ?? token.balances ?? token.sections ?? token.breakdown ?? token.accountBreakdown ?? token.walletParts
|
|
3159
|
-
) ?? deriveParts(token);
|
|
3160
|
-
const parts = mergeParts(
|
|
3161
|
-
baseParts,
|
|
3162
|
-
normalizeExtraDataParts(
|
|
3163
|
-
token.extraData ?? token.extra_data ?? token.extra ?? token.badges
|
|
3164
|
-
)
|
|
3165
|
-
);
|
|
3166
|
-
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);
|
|
2962
|
+
const accountBalance = normalizeNumber(token.balance) ?? normalizeNumber(token.accountBalance) ?? normalizeNumber(token.totalBalance) ?? normalizeNumber(token.total) ?? normalizeNumber(token.amount) ?? 0;
|
|
3167
2963
|
const layer = normalizeString(token.layer) ?? normalizeString(token.chain) ?? normalizeString(token.category) ?? normalizeString(token.type);
|
|
3168
2964
|
const pendingRewards = normalizeNumber(token.pendingRewards);
|
|
2965
|
+
const savings = normalizeNumber(token.savings);
|
|
3169
2966
|
return {
|
|
3170
2967
|
symbol: normalizedSymbol,
|
|
3171
|
-
|
|
3172
|
-
|
|
3173
|
-
|
|
3174
|
-
|
|
3175
|
-
|
|
3176
|
-
|
|
3177
|
-
|
|
3178
|
-
|
|
3179
|
-
|
|
3180
|
-
|
|
3181
|
-
|
|
3182
|
-
token.actions ?? token.available_actions ?? token.availableActions ?? token.operations ?? token.supportedActions
|
|
3183
|
-
)
|
|
2968
|
+
name: normalizedSymbol,
|
|
2969
|
+
title,
|
|
2970
|
+
price,
|
|
2971
|
+
accountBalance,
|
|
2972
|
+
apr: apr ? Number.parseFloat(apr) : void 0,
|
|
2973
|
+
layer: layer ?? void 0,
|
|
2974
|
+
pendingRewards: pendingRewards ?? void 0,
|
|
2975
|
+
savings: savings ?? void 0,
|
|
2976
|
+
actions: token.actions ?? token.available_actions ?? token.availableActions ?? token.operations ?? token.supportedActions,
|
|
2977
|
+
fiatRate: normalizeNumber(token.fiatRate) ?? void 0,
|
|
2978
|
+
fiatCurrency: normalizeString(token.fiatCurrency) ?? void 0
|
|
3184
2979
|
};
|
|
3185
2980
|
}
|
|
3186
2981
|
function extractTokens(payload) {
|
|
@@ -3337,7 +3132,7 @@ function getAccountWalletListQueryOptions(username, currency = "usd") {
|
|
|
3337
3132
|
try {
|
|
3338
3133
|
const portfolio = await queryClient.fetchQuery(portfolioQuery);
|
|
3339
3134
|
const tokensFromPortfolio = portfolio.wallets.map(
|
|
3340
|
-
(asset) => asset.
|
|
3135
|
+
(asset) => asset.name
|
|
3341
3136
|
);
|
|
3342
3137
|
if (tokensFromPortfolio.length > 0) {
|
|
3343
3138
|
const visibleTokens = tokensFromPortfolio.map((token) => token?.toUpperCase?.()).filter((token) => Boolean(token)).filter(isTokenVisible);
|
|
@@ -3811,9 +3606,18 @@ function getAccountWalletAssetInfoQueryOptions(username, asset, options2 = { ref
|
|
|
3811
3606
|
try {
|
|
3812
3607
|
const portfolio = await queryClient.fetchQuery(portfolioQuery);
|
|
3813
3608
|
const assetInfo = portfolio.wallets.find(
|
|
3814
|
-
(assetItem) => assetItem.
|
|
3609
|
+
(assetItem) => assetItem.name === asset.toUpperCase()
|
|
3815
3610
|
);
|
|
3816
|
-
return
|
|
3611
|
+
if (!assetInfo) return void 0;
|
|
3612
|
+
return {
|
|
3613
|
+
name: assetInfo.name,
|
|
3614
|
+
title: assetInfo.title ?? assetInfo.name,
|
|
3615
|
+
price: assetInfo.price ?? assetInfo.fiatRate ?? 0,
|
|
3616
|
+
accountBalance: assetInfo.accountBalance ?? 0,
|
|
3617
|
+
apr: assetInfo.apr?.toString(),
|
|
3618
|
+
layer: assetInfo.layer,
|
|
3619
|
+
pendingRewards: assetInfo.pendingRewards
|
|
3620
|
+
};
|
|
3817
3621
|
} catch (e) {
|
|
3818
3622
|
return void 0;
|
|
3819
3623
|
}
|
|
@@ -3872,16 +3676,6 @@ function getAccountWalletAssetInfoQueryOptions(username, asset, options2 = { ref
|
|
|
3872
3676
|
}
|
|
3873
3677
|
});
|
|
3874
3678
|
}
|
|
3875
|
-
function normalizePartKey2(value) {
|
|
3876
|
-
return value.trim().toLowerCase().replace(/[\s-]+/g, "_");
|
|
3877
|
-
}
|
|
3878
|
-
function hasNonZeroSavingsBalance(parts) {
|
|
3879
|
-
return Boolean(
|
|
3880
|
-
parts?.some(
|
|
3881
|
-
(part) => normalizePartKey2(part.name) === "savings" && Number(part.balance) > 0
|
|
3882
|
-
)
|
|
3883
|
-
);
|
|
3884
|
-
}
|
|
3885
3679
|
function getTokenOperationsQueryOptions(token, username, isForOwner = false, currency = "usd") {
|
|
3886
3680
|
return reactQuery.queryOptions({
|
|
3887
3681
|
queryKey: ["wallets", "token-operations", token, username, isForOwner, currency],
|
|
@@ -3896,16 +3690,94 @@ function getTokenOperationsQueryOptions(token, username, isForOwner = false, cur
|
|
|
3896
3690
|
getVisionPortfolioQueryOptions(username, currency)
|
|
3897
3691
|
);
|
|
3898
3692
|
const assetEntry = portfolio.wallets.find(
|
|
3899
|
-
(assetItem) => assetItem.
|
|
3693
|
+
(assetItem) => assetItem.symbol?.toUpperCase() === normalizedToken || assetItem.name?.toUpperCase() === normalizedToken
|
|
3900
3694
|
);
|
|
3901
3695
|
if (!assetEntry) {
|
|
3902
3696
|
return [];
|
|
3903
3697
|
}
|
|
3904
|
-
const
|
|
3905
|
-
const
|
|
3906
|
-
|
|
3907
|
-
|
|
3908
|
-
|
|
3698
|
+
const rawActions = assetEntry.actions ?? [];
|
|
3699
|
+
const operations = rawActions.map((action) => {
|
|
3700
|
+
if (typeof action === "string") return action;
|
|
3701
|
+
if (action && typeof action === "object") {
|
|
3702
|
+
const record = action;
|
|
3703
|
+
return record.id ?? record.code ?? record.name ?? record.action;
|
|
3704
|
+
}
|
|
3705
|
+
return void 0;
|
|
3706
|
+
}).filter((id) => Boolean(id)).map((id) => {
|
|
3707
|
+
const canonical = id.trim().toLowerCase().replace(/[\s_]+/g, "-");
|
|
3708
|
+
const aliasMap = {
|
|
3709
|
+
// Common operations
|
|
3710
|
+
"transfer": "transfer" /* Transfer */,
|
|
3711
|
+
"ecency-point-transfer": "transfer" /* Transfer */,
|
|
3712
|
+
"spkcc-spk-send": "transfer" /* Transfer */,
|
|
3713
|
+
// Savings operations
|
|
3714
|
+
"transfer-to-savings": "transfer-saving" /* TransferToSavings */,
|
|
3715
|
+
"transfer-savings": "transfer-saving" /* TransferToSavings */,
|
|
3716
|
+
"savings-transfer": "transfer-saving" /* TransferToSavings */,
|
|
3717
|
+
"withdraw-from-savings": "withdraw-saving" /* WithdrawFromSavings */,
|
|
3718
|
+
"transfer-from-savings": "withdraw-saving" /* WithdrawFromSavings */,
|
|
3719
|
+
"withdraw-savings": "withdraw-saving" /* WithdrawFromSavings */,
|
|
3720
|
+
"savings-withdraw": "withdraw-saving" /* WithdrawFromSavings */,
|
|
3721
|
+
// Vesting/Power operations
|
|
3722
|
+
"transfer-to-vesting": "power-up" /* PowerUp */,
|
|
3723
|
+
"powerup": "power-up" /* PowerUp */,
|
|
3724
|
+
"power-up": "power-up" /* PowerUp */,
|
|
3725
|
+
"withdraw-vesting": "power-down" /* PowerDown */,
|
|
3726
|
+
"power-down": "power-down" /* PowerDown */,
|
|
3727
|
+
"powerdown": "power-down" /* PowerDown */,
|
|
3728
|
+
// Delegation
|
|
3729
|
+
"delegate": "delegate" /* Delegate */,
|
|
3730
|
+
"delegate-vesting-shares": "delegate" /* Delegate */,
|
|
3731
|
+
"hp-delegate": "delegate" /* Delegate */,
|
|
3732
|
+
"delegate-hp": "delegate" /* Delegate */,
|
|
3733
|
+
"delegate-power": "delegate" /* Delegate */,
|
|
3734
|
+
"undelegate": "undelegate" /* Undelegate */,
|
|
3735
|
+
"undelegate-power": "undelegate" /* Undelegate */,
|
|
3736
|
+
"undelegate-token": "undelegate" /* Undelegate */,
|
|
3737
|
+
// Staking (Layer 2)
|
|
3738
|
+
"stake": "stake" /* Stake */,
|
|
3739
|
+
"stake-token": "stake" /* Stake */,
|
|
3740
|
+
"stake-power": "stake" /* Stake */,
|
|
3741
|
+
"unstake": "unstake" /* Unstake */,
|
|
3742
|
+
"unstake-token": "unstake" /* Unstake */,
|
|
3743
|
+
"unstake-power": "unstake" /* Unstake */,
|
|
3744
|
+
// Swap/Convert
|
|
3745
|
+
"swap": "swap" /* Swap */,
|
|
3746
|
+
"swap-token": "swap" /* Swap */,
|
|
3747
|
+
"swap-tokens": "swap" /* Swap */,
|
|
3748
|
+
"convert": "convert" /* Convert */,
|
|
3749
|
+
// Points operations
|
|
3750
|
+
"promote": "promote" /* Promote */,
|
|
3751
|
+
"promote-post": "promote" /* Promote */,
|
|
3752
|
+
"promote-entry": "promote" /* Promote */,
|
|
3753
|
+
"boost": "promote" /* Promote */,
|
|
3754
|
+
"gift": "gift" /* Gift */,
|
|
3755
|
+
"gift-points": "gift" /* Gift */,
|
|
3756
|
+
"points-gift": "gift" /* Gift */,
|
|
3757
|
+
"claim": "claim" /* Claim */,
|
|
3758
|
+
"claim-rewards": "claim" /* Claim */,
|
|
3759
|
+
"claim-points": "claim" /* Claim */,
|
|
3760
|
+
"buy": "buy" /* Buy */,
|
|
3761
|
+
"buy-points": "buy" /* Buy */,
|
|
3762
|
+
// Other
|
|
3763
|
+
"claim-interest": "claim-interest" /* ClaimInterest */,
|
|
3764
|
+
"withdraw-routes": "withdraw-routes" /* WithdrawRoutes */,
|
|
3765
|
+
"withdrawroutes": "withdraw-routes" /* WithdrawRoutes */,
|
|
3766
|
+
"lock": "lock" /* LockLiquidity */,
|
|
3767
|
+
"lock-liquidity": "lock" /* LockLiquidity */,
|
|
3768
|
+
"lock-liq": "lock" /* LockLiquidity */
|
|
3769
|
+
};
|
|
3770
|
+
const mapped = aliasMap[canonical];
|
|
3771
|
+
if (mapped) return mapped;
|
|
3772
|
+
const directMatch = Object.values(AssetOperation).find(
|
|
3773
|
+
(op) => op.toLowerCase() === canonical
|
|
3774
|
+
);
|
|
3775
|
+
return directMatch;
|
|
3776
|
+
}).filter((op) => Boolean(op)).filter((op, index, self) => self.indexOf(op) === index);
|
|
3777
|
+
const isHiveOrHbd = ["HIVE", "HBD"].includes(normalizedToken);
|
|
3778
|
+
const rawToken = assetEntry;
|
|
3779
|
+
const hasSavings = Number(rawToken.savings ?? 0) > 0;
|
|
3780
|
+
if (isHiveOrHbd && !hasSavings) {
|
|
3909
3781
|
return operations.filter(
|
|
3910
3782
|
(operation) => operation !== "withdraw-saving" /* WithdrawFromSavings */
|
|
3911
3783
|
);
|