@ecency/wallets 1.5.8 → 1.5.10
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 +17 -2
- package/dist/browser/index.js +151 -131
- package/dist/browser/index.js.map +1 -1
- package/dist/node/index.cjs +150 -130
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.mjs +151 -131
- package/dist/node/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/browser/index.d.ts
CHANGED
|
@@ -1816,8 +1816,23 @@ declare function useWalletsCacheQuery(username?: string): _tanstack_react_query.
|
|
|
1816
1816
|
|
|
1817
1817
|
interface VisionPortfolioWalletItem {
|
|
1818
1818
|
symbol: string;
|
|
1819
|
-
|
|
1820
|
-
|
|
1819
|
+
name: string;
|
|
1820
|
+
title?: string;
|
|
1821
|
+
price?: number;
|
|
1822
|
+
accountBalance?: number;
|
|
1823
|
+
apr?: number;
|
|
1824
|
+
layer?: string;
|
|
1825
|
+
pendingRewards?: number;
|
|
1826
|
+
parts?: {
|
|
1827
|
+
name: string;
|
|
1828
|
+
balance: number;
|
|
1829
|
+
}[];
|
|
1830
|
+
actions?: Array<{
|
|
1831
|
+
id: string;
|
|
1832
|
+
[key: string]: unknown;
|
|
1833
|
+
} | string>;
|
|
1834
|
+
fiatRate?: number;
|
|
1835
|
+
fiatCurrency?: string;
|
|
1821
1836
|
}
|
|
1822
1837
|
interface VisionPortfolioResponse {
|
|
1823
1838
|
username: string;
|
package/dist/browser/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CONFIG, getAccountFullQueryOptions, getQueryClient, getDynamicPropsQueryOptions, useBroadcastMutation, getSpkMarkets, getSpkWallet, getHiveEngineTokensMarket, getHiveEngineTokensBalances, getHiveEngineTokensMetadata, getHiveEngineTokenTransactions, getHiveEngineTokenMetrics, getHiveEngineUnclaimedRewards, EcencyAnalytics, useAccountUpdate } from '@ecency/sdk';
|
|
1
|
+
import { CONFIG, getAccountFullQueryOptions, getQueryClient, getDynamicPropsQueryOptions, useBroadcastMutation, getSpkMarkets, getSpkWallet, getHiveEngineTokensMarket, getHiveEngineTokensBalances, getHiveEngineTokensMetadata, getHiveEngineTokenTransactions, getHiveEngineTokenMetrics, getHiveEngineUnclaimedRewards, EcencyAnalytics, useAccountUpdate, getCurrencyRate } from '@ecency/sdk';
|
|
2
2
|
export { getHiveEngineMetrics, getHiveEngineOpenOrders, getHiveEngineOrderBook, getHiveEngineTradeHistory } from '@ecency/sdk';
|
|
3
3
|
import { useQuery, queryOptions, infiniteQueryOptions, useQueryClient, useMutation } from '@tanstack/react-query';
|
|
4
4
|
import bip39, { mnemonicToSeedSync } from 'bip39';
|
|
@@ -2876,51 +2876,6 @@ function getAllTokensListQueryOptions(username) {
|
|
|
2876
2876
|
}
|
|
2877
2877
|
});
|
|
2878
2878
|
}
|
|
2879
|
-
var ACTION_ALIAS_MAP = {
|
|
2880
|
-
"transfer-to-savings": "transfer-saving" /* TransferToSavings */,
|
|
2881
|
-
"transfer-savings": "transfer-saving" /* TransferToSavings */,
|
|
2882
|
-
"savings-transfer": "transfer-saving" /* TransferToSavings */,
|
|
2883
|
-
"withdraw-from-savings": "withdraw-saving" /* WithdrawFromSavings */,
|
|
2884
|
-
"withdraw-savings": "withdraw-saving" /* WithdrawFromSavings */,
|
|
2885
|
-
"savings-withdraw": "withdraw-saving" /* WithdrawFromSavings */,
|
|
2886
|
-
"transfer-from-savings": "withdraw-saving" /* WithdrawFromSavings */,
|
|
2887
|
-
"powerup": "power-up" /* PowerUp */,
|
|
2888
|
-
"power-down": "power-down" /* PowerDown */,
|
|
2889
|
-
"powerdown": "power-down" /* PowerDown */,
|
|
2890
|
-
"withdraw-vesting": "power-down" /* PowerDown */,
|
|
2891
|
-
"hp-delegate": "delegate" /* Delegate */,
|
|
2892
|
-
"delegate-hp": "delegate" /* Delegate */,
|
|
2893
|
-
"delegate-power": "delegate" /* Delegate */,
|
|
2894
|
-
"delegate-vesting-shares": "delegate" /* Delegate */,
|
|
2895
|
-
"undelegate-power": "undelegate" /* Undelegate */,
|
|
2896
|
-
"undelegate-token": "undelegate" /* Undelegate */,
|
|
2897
|
-
"stake-token": "stake" /* Stake */,
|
|
2898
|
-
"stake-power": "stake" /* Stake */,
|
|
2899
|
-
"unstake-token": "unstake" /* Unstake */,
|
|
2900
|
-
"unstake-power": "unstake" /* Unstake */,
|
|
2901
|
-
"transfer-to-vesting": "power-up" /* PowerUp */,
|
|
2902
|
-
"lock-liquidity": "lock" /* LockLiquidity */,
|
|
2903
|
-
"lock-liq": "lock" /* LockLiquidity */,
|
|
2904
|
-
"gift-points": "gift" /* Gift */,
|
|
2905
|
-
"points-gift": "gift" /* Gift */,
|
|
2906
|
-
"promote-post": "promote" /* Promote */,
|
|
2907
|
-
"promote-entry": "promote" /* Promote */,
|
|
2908
|
-
boost: "promote" /* Promote */,
|
|
2909
|
-
convert: "swap" /* Swap */,
|
|
2910
|
-
"swap-token": "swap" /* Swap */,
|
|
2911
|
-
"swap_tokens": "swap" /* Swap */,
|
|
2912
|
-
"claim-points": "claim" /* Claim */,
|
|
2913
|
-
"claim-rewards": "claim" /* Claim */,
|
|
2914
|
-
"buy-points": "buy" /* Buy */,
|
|
2915
|
-
"ecency-point-transfer": "transfer" /* Transfer */,
|
|
2916
|
-
"spkcc-spk-send": "transfer" /* Transfer */,
|
|
2917
|
-
"withdraw-routes": "withdraw-routes" /* WithdrawRoutes */,
|
|
2918
|
-
"withdrawroutes": "withdraw-routes" /* WithdrawRoutes */,
|
|
2919
|
-
"claim-interest": "claim-interest" /* ClaimInterest */
|
|
2920
|
-
};
|
|
2921
|
-
var KNOWN_OPERATION_VALUES = new Map(
|
|
2922
|
-
Object.values(AssetOperation).map((value) => [value, value])
|
|
2923
|
-
);
|
|
2924
2879
|
var DERIVED_PART_KEY_MAP = {
|
|
2925
2880
|
liquid: ["liquid", "liquidBalance", "liquid_amount", "liquidTokens"],
|
|
2926
2881
|
savings: ["savings", "savingsBalance", "savings_amount"],
|
|
@@ -3086,34 +3041,6 @@ function normalizeExtraDataParts(rawExtraData) {
|
|
|
3086
3041
|
}).filter((part) => Boolean(part));
|
|
3087
3042
|
return parts.length ? parts : void 0;
|
|
3088
3043
|
}
|
|
3089
|
-
function normalizeActionKey(value) {
|
|
3090
|
-
return value.trim().toLowerCase().replace(/[\s_]+/g, "-");
|
|
3091
|
-
}
|
|
3092
|
-
function mapActions(rawActions) {
|
|
3093
|
-
if (!rawActions) {
|
|
3094
|
-
return [];
|
|
3095
|
-
}
|
|
3096
|
-
const rawList = Array.isArray(rawActions) ? rawActions : [rawActions];
|
|
3097
|
-
const result = [];
|
|
3098
|
-
for (const raw of rawList) {
|
|
3099
|
-
let candidate;
|
|
3100
|
-
if (typeof raw === "string") {
|
|
3101
|
-
candidate = raw;
|
|
3102
|
-
} else if (raw && typeof raw === "object") {
|
|
3103
|
-
const record = raw;
|
|
3104
|
-
candidate = normalizeString(record.code) ?? normalizeString(record.id) ?? normalizeString(record.name) ?? normalizeString(record.action);
|
|
3105
|
-
}
|
|
3106
|
-
if (!candidate) {
|
|
3107
|
-
continue;
|
|
3108
|
-
}
|
|
3109
|
-
const canonical = normalizeActionKey(candidate);
|
|
3110
|
-
const operation = KNOWN_OPERATION_VALUES.get(canonical) ?? ACTION_ALIAS_MAP[canonical];
|
|
3111
|
-
if (operation && !result.includes(operation)) {
|
|
3112
|
-
result.push(operation);
|
|
3113
|
-
}
|
|
3114
|
-
}
|
|
3115
|
-
return result;
|
|
3116
|
-
}
|
|
3117
3044
|
function parseToken(rawToken) {
|
|
3118
3045
|
if (!rawToken || typeof rawToken !== "object") {
|
|
3119
3046
|
return void 0;
|
|
@@ -3143,19 +3070,17 @@ function parseToken(rawToken) {
|
|
|
3143
3070
|
const pendingRewards = normalizeNumber(token.pendingRewards);
|
|
3144
3071
|
return {
|
|
3145
3072
|
symbol: normalizedSymbol,
|
|
3146
|
-
|
|
3147
|
-
|
|
3148
|
-
|
|
3149
|
-
|
|
3150
|
-
|
|
3151
|
-
|
|
3152
|
-
|
|
3153
|
-
|
|
3154
|
-
|
|
3155
|
-
|
|
3156
|
-
|
|
3157
|
-
token.actions ?? token.available_actions ?? token.availableActions ?? token.operations ?? token.supportedActions
|
|
3158
|
-
)
|
|
3073
|
+
name: normalizedSymbol,
|
|
3074
|
+
title,
|
|
3075
|
+
price,
|
|
3076
|
+
accountBalance,
|
|
3077
|
+
apr: apr ? Number.parseFloat(apr) : void 0,
|
|
3078
|
+
layer: layer ?? void 0,
|
|
3079
|
+
pendingRewards: pendingRewards ?? void 0,
|
|
3080
|
+
parts,
|
|
3081
|
+
actions: token.actions ?? token.available_actions ?? token.availableActions ?? token.operations ?? token.supportedActions,
|
|
3082
|
+
fiatRate: normalizeNumber(token.fiatRate) ?? void 0,
|
|
3083
|
+
fiatCurrency: normalizeString(token.fiatCurrency) ?? void 0
|
|
3159
3084
|
};
|
|
3160
3085
|
}
|
|
3161
3086
|
function extractTokens(payload) {
|
|
@@ -3312,7 +3237,7 @@ function getAccountWalletListQueryOptions(username, currency = "usd") {
|
|
|
3312
3237
|
try {
|
|
3313
3238
|
const portfolio = await queryClient.fetchQuery(portfolioQuery);
|
|
3314
3239
|
const tokensFromPortfolio = portfolio.wallets.map(
|
|
3315
|
-
(asset) => asset.
|
|
3240
|
+
(asset) => asset.name
|
|
3316
3241
|
);
|
|
3317
3242
|
if (tokensFromPortfolio.length > 0) {
|
|
3318
3243
|
const visibleTokens = tokensFromPortfolio.map((token) => token?.toUpperCase?.()).filter((token) => Boolean(token)).filter(isTokenVisible);
|
|
@@ -3766,14 +3691,39 @@ function getAccountWalletAssetInfoQueryOptions(username, asset, options2 = { ref
|
|
|
3766
3691
|
}
|
|
3767
3692
|
return queryClient.getQueryData(queryOptions43.queryKey);
|
|
3768
3693
|
};
|
|
3694
|
+
const convertPriceToUserCurrency = async (assetInfo) => {
|
|
3695
|
+
if (!assetInfo || currency === "usd") {
|
|
3696
|
+
return assetInfo;
|
|
3697
|
+
}
|
|
3698
|
+
try {
|
|
3699
|
+
const conversionRate = await getCurrencyRate(currency);
|
|
3700
|
+
return {
|
|
3701
|
+
...assetInfo,
|
|
3702
|
+
price: assetInfo.price * conversionRate
|
|
3703
|
+
};
|
|
3704
|
+
} catch (error) {
|
|
3705
|
+
console.warn(`Failed to convert price from USD to ${currency}:`, error);
|
|
3706
|
+
return assetInfo;
|
|
3707
|
+
}
|
|
3708
|
+
};
|
|
3769
3709
|
const portfolioQuery = getVisionPortfolioQueryOptions(username, currency);
|
|
3770
3710
|
const getPortfolioAssetInfo = async () => {
|
|
3771
3711
|
try {
|
|
3772
3712
|
const portfolio = await queryClient.fetchQuery(portfolioQuery);
|
|
3773
3713
|
const assetInfo = portfolio.wallets.find(
|
|
3774
|
-
(assetItem) => assetItem.
|
|
3714
|
+
(assetItem) => assetItem.name === asset.toUpperCase()
|
|
3775
3715
|
);
|
|
3776
|
-
return
|
|
3716
|
+
if (!assetInfo) return void 0;
|
|
3717
|
+
return {
|
|
3718
|
+
name: assetInfo.name,
|
|
3719
|
+
title: assetInfo.title,
|
|
3720
|
+
price: assetInfo.price ?? assetInfo.fiatRate ?? 0,
|
|
3721
|
+
accountBalance: assetInfo.accountBalance ?? 0,
|
|
3722
|
+
apr: assetInfo.apr,
|
|
3723
|
+
layer: assetInfo.layer,
|
|
3724
|
+
pendingRewards: assetInfo.pendingRewards,
|
|
3725
|
+
parts: assetInfo.parts
|
|
3726
|
+
};
|
|
3777
3727
|
} catch (e) {
|
|
3778
3728
|
return void 0;
|
|
3779
3729
|
}
|
|
@@ -3782,63 +3732,56 @@ function getAccountWalletAssetInfoQueryOptions(username, asset, options2 = { ref
|
|
|
3782
3732
|
queryKey: ["ecency-wallets", "asset-info", username, asset, currency],
|
|
3783
3733
|
queryFn: async () => {
|
|
3784
3734
|
const portfolioAssetInfo = await getPortfolioAssetInfo();
|
|
3785
|
-
if (portfolioAssetInfo) {
|
|
3735
|
+
if (portfolioAssetInfo && portfolioAssetInfo.price > 0) {
|
|
3786
3736
|
return portfolioAssetInfo;
|
|
3787
3737
|
}
|
|
3738
|
+
let assetInfo;
|
|
3788
3739
|
if (asset === "HIVE") {
|
|
3789
|
-
|
|
3740
|
+
assetInfo = await fetchQuery(getHiveAssetGeneralInfoQueryOptions(username));
|
|
3790
3741
|
} else if (asset === "HP") {
|
|
3791
|
-
|
|
3742
|
+
assetInfo = await fetchQuery(getHivePowerAssetGeneralInfoQueryOptions(username));
|
|
3792
3743
|
} else if (asset === "HBD") {
|
|
3793
|
-
|
|
3744
|
+
assetInfo = await fetchQuery(getHbdAssetGeneralInfoQueryOptions(username));
|
|
3794
3745
|
} else if (asset === "SPK") {
|
|
3795
|
-
|
|
3746
|
+
assetInfo = await fetchQuery(getSpkAssetGeneralInfoQueryOptions(username));
|
|
3796
3747
|
} else if (asset === "LARYNX") {
|
|
3797
|
-
|
|
3748
|
+
assetInfo = await fetchQuery(getLarynxAssetGeneralInfoQueryOptions(username));
|
|
3798
3749
|
} else if (asset === "LP") {
|
|
3799
|
-
|
|
3750
|
+
assetInfo = await fetchQuery(getLarynxPowerAssetGeneralInfoQueryOptions(username));
|
|
3800
3751
|
} else if (asset === "POINTS") {
|
|
3801
|
-
|
|
3752
|
+
assetInfo = await fetchQuery(getPointsAssetGeneralInfoQueryOptions(username));
|
|
3802
3753
|
} else if (asset === "APT") {
|
|
3803
|
-
|
|
3754
|
+
assetInfo = await fetchQuery(getAptAssetGeneralInfoQueryOptions(username));
|
|
3804
3755
|
} else if (asset === "BNB") {
|
|
3805
|
-
|
|
3756
|
+
assetInfo = await fetchQuery(getBnbAssetGeneralInfoQueryOptions(username));
|
|
3806
3757
|
} else if (asset === "BTC") {
|
|
3807
|
-
|
|
3758
|
+
assetInfo = await fetchQuery(getBtcAssetGeneralInfoQueryOptions(username));
|
|
3808
3759
|
} else if (asset === "ETH") {
|
|
3809
|
-
|
|
3760
|
+
assetInfo = await fetchQuery(getEthAssetGeneralInfoQueryOptions(username));
|
|
3810
3761
|
} else if (asset === "SOL") {
|
|
3811
|
-
|
|
3762
|
+
assetInfo = await fetchQuery(getSolAssetGeneralInfoQueryOptions(username));
|
|
3812
3763
|
} else if (asset === "TON") {
|
|
3813
|
-
|
|
3764
|
+
assetInfo = await fetchQuery(getTonAssetGeneralInfoQueryOptions(username));
|
|
3814
3765
|
} else if (asset === "TRX") {
|
|
3815
|
-
|
|
3816
|
-
}
|
|
3817
|
-
const balances = await queryClient.ensureQueryData(
|
|
3818
|
-
getHiveEngineTokensBalancesQueryOptions(username)
|
|
3819
|
-
);
|
|
3820
|
-
if (balances.some((balance) => balance.symbol === asset)) {
|
|
3821
|
-
return await fetchQuery(
|
|
3822
|
-
getHiveEngineTokenGeneralInfoQueryOptions(username, asset)
|
|
3823
|
-
);
|
|
3766
|
+
assetInfo = await fetchQuery(getTronAssetGeneralInfoQueryOptions(username));
|
|
3824
3767
|
} else {
|
|
3825
|
-
|
|
3826
|
-
|
|
3768
|
+
const balances = await queryClient.ensureQueryData(
|
|
3769
|
+
getHiveEngineTokensBalancesQueryOptions(username)
|
|
3827
3770
|
);
|
|
3771
|
+
if (balances.some((balance) => balance.symbol === asset)) {
|
|
3772
|
+
assetInfo = await fetchQuery(
|
|
3773
|
+
getHiveEngineTokenGeneralInfoQueryOptions(username, asset)
|
|
3774
|
+
);
|
|
3775
|
+
} else {
|
|
3776
|
+
throw new Error(
|
|
3777
|
+
"[SDK][Wallets] \u2013 has requested unrecognized asset info"
|
|
3778
|
+
);
|
|
3779
|
+
}
|
|
3828
3780
|
}
|
|
3781
|
+
return await convertPriceToUserCurrency(assetInfo);
|
|
3829
3782
|
}
|
|
3830
3783
|
});
|
|
3831
3784
|
}
|
|
3832
|
-
function normalizePartKey2(value) {
|
|
3833
|
-
return value.trim().toLowerCase().replace(/[\s-]+/g, "_");
|
|
3834
|
-
}
|
|
3835
|
-
function hasNonZeroSavingsBalance(parts) {
|
|
3836
|
-
return Boolean(
|
|
3837
|
-
parts?.some(
|
|
3838
|
-
(part) => normalizePartKey2(part.name) === "savings" && Number(part.balance) > 0
|
|
3839
|
-
)
|
|
3840
|
-
);
|
|
3841
|
-
}
|
|
3842
3785
|
function getTokenOperationsQueryOptions(token, username, isForOwner = false, currency = "usd") {
|
|
3843
3786
|
return queryOptions({
|
|
3844
3787
|
queryKey: ["wallets", "token-operations", token, username, isForOwner, currency],
|
|
@@ -3853,16 +3796,93 @@ function getTokenOperationsQueryOptions(token, username, isForOwner = false, cur
|
|
|
3853
3796
|
getVisionPortfolioQueryOptions(username, currency)
|
|
3854
3797
|
);
|
|
3855
3798
|
const assetEntry = portfolio.wallets.find(
|
|
3856
|
-
(assetItem) => assetItem.
|
|
3799
|
+
(assetItem) => assetItem.symbol?.toUpperCase() === normalizedToken
|
|
3857
3800
|
);
|
|
3858
3801
|
if (!assetEntry) {
|
|
3859
3802
|
return [];
|
|
3860
3803
|
}
|
|
3861
|
-
const
|
|
3862
|
-
const
|
|
3863
|
-
|
|
3864
|
-
|
|
3865
|
-
|
|
3804
|
+
const rawActions = assetEntry.actions ?? [];
|
|
3805
|
+
const operations = rawActions.map((action) => {
|
|
3806
|
+
if (typeof action === "string") return action;
|
|
3807
|
+
if (action && typeof action === "object") {
|
|
3808
|
+
const record = action;
|
|
3809
|
+
return record.id ?? record.code ?? record.name ?? record.action;
|
|
3810
|
+
}
|
|
3811
|
+
return void 0;
|
|
3812
|
+
}).filter((id) => Boolean(id)).map((id) => {
|
|
3813
|
+
const canonical = id.trim().toLowerCase().replace(/[\s_]+/g, "-");
|
|
3814
|
+
const aliasMap = {
|
|
3815
|
+
// Common operations
|
|
3816
|
+
"transfer": "transfer" /* Transfer */,
|
|
3817
|
+
"ecency-point-transfer": "transfer" /* Transfer */,
|
|
3818
|
+
"spkcc-spk-send": "transfer" /* Transfer */,
|
|
3819
|
+
// Savings operations
|
|
3820
|
+
"transfer-to-savings": "transfer-saving" /* TransferToSavings */,
|
|
3821
|
+
"transfer-savings": "transfer-saving" /* TransferToSavings */,
|
|
3822
|
+
"savings-transfer": "transfer-saving" /* TransferToSavings */,
|
|
3823
|
+
"withdraw-from-savings": "withdraw-saving" /* WithdrawFromSavings */,
|
|
3824
|
+
"transfer-from-savings": "withdraw-saving" /* WithdrawFromSavings */,
|
|
3825
|
+
"withdraw-savings": "withdraw-saving" /* WithdrawFromSavings */,
|
|
3826
|
+
"savings-withdraw": "withdraw-saving" /* WithdrawFromSavings */,
|
|
3827
|
+
// Vesting/Power operations
|
|
3828
|
+
"transfer-to-vesting": "power-up" /* PowerUp */,
|
|
3829
|
+
"powerup": "power-up" /* PowerUp */,
|
|
3830
|
+
"power-up": "power-up" /* PowerUp */,
|
|
3831
|
+
"withdraw-vesting": "power-down" /* PowerDown */,
|
|
3832
|
+
"power-down": "power-down" /* PowerDown */,
|
|
3833
|
+
"powerdown": "power-down" /* PowerDown */,
|
|
3834
|
+
// Delegation
|
|
3835
|
+
"delegate": "delegate" /* Delegate */,
|
|
3836
|
+
"delegate-vesting-shares": "delegate" /* Delegate */,
|
|
3837
|
+
"hp-delegate": "delegate" /* Delegate */,
|
|
3838
|
+
"delegate-hp": "delegate" /* Delegate */,
|
|
3839
|
+
"delegate-power": "delegate" /* Delegate */,
|
|
3840
|
+
"undelegate": "undelegate" /* Undelegate */,
|
|
3841
|
+
"undelegate-power": "undelegate" /* Undelegate */,
|
|
3842
|
+
"undelegate-token": "undelegate" /* Undelegate */,
|
|
3843
|
+
// Staking (Layer 2)
|
|
3844
|
+
"stake": "stake" /* Stake */,
|
|
3845
|
+
"stake-token": "stake" /* Stake */,
|
|
3846
|
+
"stake-power": "stake" /* Stake */,
|
|
3847
|
+
"unstake": "unstake" /* Unstake */,
|
|
3848
|
+
"unstake-token": "unstake" /* Unstake */,
|
|
3849
|
+
"unstake-power": "unstake" /* Unstake */,
|
|
3850
|
+
// Swap/Convert
|
|
3851
|
+
"swap": "swap" /* Swap */,
|
|
3852
|
+
"swap-token": "swap" /* Swap */,
|
|
3853
|
+
"swap-tokens": "swap" /* Swap */,
|
|
3854
|
+
"convert": "swap" /* Swap */,
|
|
3855
|
+
// Points operations
|
|
3856
|
+
"promote": "promote" /* Promote */,
|
|
3857
|
+
"promote-post": "promote" /* Promote */,
|
|
3858
|
+
"promote-entry": "promote" /* Promote */,
|
|
3859
|
+
"boost": "promote" /* Promote */,
|
|
3860
|
+
"gift": "gift" /* Gift */,
|
|
3861
|
+
"gift-points": "gift" /* Gift */,
|
|
3862
|
+
"points-gift": "gift" /* Gift */,
|
|
3863
|
+
"claim": "claim" /* Claim */,
|
|
3864
|
+
"claim-rewards": "claim" /* Claim */,
|
|
3865
|
+
"claim-points": "claim" /* Claim */,
|
|
3866
|
+
"buy": "buy" /* Buy */,
|
|
3867
|
+
"buy-points": "buy" /* Buy */,
|
|
3868
|
+
// Other
|
|
3869
|
+
"claim-interest": "claim-interest" /* ClaimInterest */,
|
|
3870
|
+
"withdraw-routes": "withdraw-routes" /* WithdrawRoutes */,
|
|
3871
|
+
"withdrawroutes": "withdraw-routes" /* WithdrawRoutes */,
|
|
3872
|
+
"lock": "lock" /* LockLiquidity */,
|
|
3873
|
+
"lock-liquidity": "lock" /* LockLiquidity */,
|
|
3874
|
+
"lock-liq": "lock" /* LockLiquidity */
|
|
3875
|
+
};
|
|
3876
|
+
const mapped = aliasMap[canonical];
|
|
3877
|
+
if (mapped) return mapped;
|
|
3878
|
+
const directMatch = Object.values(AssetOperation).find(
|
|
3879
|
+
(op) => op.toLowerCase() === canonical
|
|
3880
|
+
);
|
|
3881
|
+
return directMatch;
|
|
3882
|
+
}).filter((op) => Boolean(op));
|
|
3883
|
+
const isHiveOrHbd = ["HIVE", "HBD"].includes(normalizedToken);
|
|
3884
|
+
const hasSavings = Number(assetEntry.savings ?? 0) > 0;
|
|
3885
|
+
if (isHiveOrHbd && !hasSavings) {
|
|
3866
3886
|
return operations.filter(
|
|
3867
3887
|
(operation) => operation !== "withdraw-saving" /* WithdrawFromSavings */
|
|
3868
3888
|
);
|