@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.
@@ -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 baseParts = normalizeParts(
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
- info: {
3172
- name: normalizedSymbol,
3173
- title,
3174
- price,
3175
- accountBalance,
3176
- apr: apr ?? void 0,
3177
- layer: layer ?? void 0,
3178
- pendingRewards: pendingRewards ?? void 0,
3179
- parts
3180
- },
3181
- operations: mapActions(
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.info.name
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.info.name === asset.toUpperCase()
3609
+ (assetItem) => assetItem.name === asset.toUpperCase()
3815
3610
  );
3816
- return assetInfo?.info;
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.info.name === normalizedToken
3693
+ (assetItem) => assetItem.symbol?.toUpperCase() === normalizedToken || assetItem.name?.toUpperCase() === normalizedToken
3900
3694
  );
3901
3695
  if (!assetEntry) {
3902
3696
  return [];
3903
3697
  }
3904
- const operations = assetEntry.operations ?? [];
3905
- const isHiveOrHbd = ["HIVE", "HBD"].includes(
3906
- assetEntry.info.name.toUpperCase()
3907
- );
3908
- if (isHiveOrHbd && !hasNonZeroSavingsBalance(assetEntry.info.parts)) {
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
  );