@ecency/wallets 1.4.18 → 1.4.19

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.
@@ -681,11 +681,31 @@ function getHiveAssetGeneralInfoQueryOptions(username) {
681
681
  );
682
682
  const marketTicker = await sdk.CONFIG.hiveClient.call("condenser_api", "get_ticker", []).catch(() => void 0);
683
683
  const marketPrice = Number.parseFloat(marketTicker?.latest ?? "");
684
+ if (!accountData) {
685
+ return {
686
+ name: "HIVE",
687
+ title: "Hive",
688
+ price: Number.isFinite(marketPrice) ? marketPrice : dynamicProps ? dynamicProps.base / dynamicProps.quote : 0,
689
+ accountBalance: 0
690
+ };
691
+ }
692
+ const liquidBalance = parseAsset(accountData.balance).amount;
693
+ const savingsBalance = parseAsset(accountData.savings_balance).amount;
684
694
  return {
685
695
  name: "HIVE",
686
696
  title: "Hive",
687
697
  price: Number.isFinite(marketPrice) ? marketPrice : dynamicProps ? dynamicProps.base / dynamicProps.quote : 0,
688
- accountBalance: accountData ? parseAsset(accountData.balance).amount : 0
698
+ accountBalance: liquidBalance + savingsBalance,
699
+ parts: [
700
+ {
701
+ name: "current",
702
+ balance: liquidBalance
703
+ },
704
+ {
705
+ name: "savings",
706
+ balance: savingsBalance
707
+ }
708
+ ]
689
709
  };
690
710
  }
691
711
  });
@@ -811,7 +831,7 @@ function getHbdAssetGeneralInfoQueryOptions(username) {
811
831
  apr: ((dynamicProps?.hbdInterestRate ?? 0) / 100).toFixed(3),
812
832
  parts: [
813
833
  {
814
- name: "account",
834
+ name: "current",
815
835
  balance: parseAsset(accountData.hbd_balance).amount
816
836
  },
817
837
  {
@@ -1187,6 +1207,36 @@ async function transferToSavingsHive(payload) {
1187
1207
  );
1188
1208
  }
1189
1209
  }
1210
+ async function transferFromSavingsHive(payload) {
1211
+ const requestId = payload.request_id ?? Date.now() >>> 0;
1212
+ const operationPayload = {
1213
+ from: payload.from,
1214
+ to: payload.to,
1215
+ amount: payload.amount,
1216
+ memo: payload.memo,
1217
+ request_id: requestId
1218
+ };
1219
+ if (payload.type === "key" && "key" in payload) {
1220
+ const { key } = payload;
1221
+ return sdk.CONFIG.hiveClient.broadcast.sendOperations(
1222
+ [["transfer_from_savings", operationPayload]],
1223
+ key
1224
+ );
1225
+ }
1226
+ if (payload.type === "keychain") {
1227
+ return sdk.Keychain.broadcast(
1228
+ payload.from,
1229
+ [["transfer_from_savings", operationPayload]],
1230
+ "Active"
1231
+ );
1232
+ }
1233
+ return hs__default.default.sendOperation(
1234
+ ["transfer_from_savings", operationPayload],
1235
+ { callback: `https://ecency.com/@${payload.from}/wallet` },
1236
+ () => {
1237
+ }
1238
+ );
1239
+ }
1190
1240
  async function powerUpHive(payload) {
1191
1241
  if (payload.type === "key" && "key" in payload) {
1192
1242
  const { key, type, ...params } = payload;
@@ -1325,15 +1375,60 @@ function useClaimRewards(username, onSuccess) {
1325
1375
  }
1326
1376
  );
1327
1377
  }
1378
+ async function claimInterestHive(payload) {
1379
+ const requestId = payload.request_id ?? Date.now() >>> 0;
1380
+ const baseOperation = {
1381
+ from: payload.from,
1382
+ to: payload.to,
1383
+ amount: payload.amount,
1384
+ memo: payload.memo,
1385
+ request_id: requestId
1386
+ };
1387
+ const cancelOperation = {
1388
+ from: payload.from,
1389
+ request_id: requestId
1390
+ };
1391
+ if (payload.type === "key" && "key" in payload) {
1392
+ const { key } = payload;
1393
+ return sdk.CONFIG.hiveClient.broadcast.sendOperations(
1394
+ [
1395
+ ["transfer_from_savings", baseOperation],
1396
+ ["cancel_transfer_from_savings", cancelOperation]
1397
+ ],
1398
+ key
1399
+ );
1400
+ }
1401
+ if (payload.type === "keychain") {
1402
+ return sdk.Keychain.broadcast(
1403
+ payload.from,
1404
+ [
1405
+ ["transfer_from_savings", baseOperation],
1406
+ ["cancel_transfer_from_savings", cancelOperation]
1407
+ ],
1408
+ "Active"
1409
+ );
1410
+ }
1411
+ return hs__default.default.sendOperations(
1412
+ [
1413
+ ["transfer_from_savings", baseOperation],
1414
+ ["cancel_transfer_from_savings", cancelOperation]
1415
+ ],
1416
+ { callback: `https://ecency.com/@${payload.from}/wallet` },
1417
+ () => {
1418
+ }
1419
+ );
1420
+ }
1328
1421
 
1329
1422
  // src/modules/assets/types/asset-operation.ts
1330
1423
  var AssetOperation = /* @__PURE__ */ ((AssetOperation2) => {
1331
1424
  AssetOperation2["Transfer"] = "transfer";
1332
1425
  AssetOperation2["TransferToSavings"] = "transfer-saving";
1426
+ AssetOperation2["WithdrawFromSavings"] = "withdraw-saving";
1333
1427
  AssetOperation2["Delegate"] = "delegate";
1334
1428
  AssetOperation2["PowerUp"] = "power-up";
1335
1429
  AssetOperation2["PowerDown"] = "power-down";
1336
- AssetOperation2["WithdrawRoutes"] = "withdraw-saving";
1430
+ AssetOperation2["WithdrawRoutes"] = "withdraw-routes";
1431
+ AssetOperation2["ClaimInterest"] = "claim-interest";
1337
1432
  AssetOperation2["Swap"] = "swap";
1338
1433
  AssetOperation2["Gift"] = "gift";
1339
1434
  AssetOperation2["Promote"] = "promote";
@@ -2989,26 +3084,50 @@ function getTokenOperationsQueryOptions(token, username, isForOwner = false) {
2989
3084
  return reactQuery.queryOptions({
2990
3085
  queryKey: ["wallets", "token-operations", token, username, isForOwner],
2991
3086
  queryFn: async () => {
3087
+ const queryClient = sdk.getQueryClient();
3088
+ const ensureAssetInfo = async () => {
3089
+ if (!isForOwner || !username) {
3090
+ return void 0;
3091
+ }
3092
+ return await queryClient.ensureQueryData(
3093
+ getAccountWalletAssetInfoQueryOptions(username, token)
3094
+ );
3095
+ };
2992
3096
  switch (token) {
2993
- case "HIVE" /* Hive */:
3097
+ case "HIVE" /* Hive */: {
3098
+ const assetInfo = await ensureAssetInfo();
3099
+ const savingsBalance = assetInfo?.parts?.find(
3100
+ (part) => part.name === "savings"
3101
+ )?.balance;
2994
3102
  return [
2995
3103
  "transfer" /* Transfer */,
2996
3104
  ...isForOwner ? [
3105
+ ...savingsBalance && savingsBalance > 0 ? ["withdraw-saving" /* WithdrawFromSavings */] : [],
2997
3106
  "transfer-saving" /* TransferToSavings */,
2998
3107
  "power-up" /* PowerUp */,
2999
3108
  "swap" /* Swap */
3000
3109
  ] : []
3001
3110
  ];
3111
+ }
3002
3112
  case "HP" /* HivePower */:
3003
3113
  return [
3004
3114
  "delegate" /* Delegate */,
3005
- ...isForOwner ? ["power-down" /* PowerDown */, "withdraw-saving" /* WithdrawRoutes */] : ["power-up" /* PowerUp */]
3115
+ ...isForOwner ? ["power-down" /* PowerDown */, "withdraw-routes" /* WithdrawRoutes */] : ["power-up" /* PowerUp */]
3006
3116
  ];
3007
- case "HBD" /* HiveDollar */:
3117
+ case "HBD" /* HiveDollar */: {
3118
+ const assetInfo = await ensureAssetInfo();
3119
+ const savingsBalance = assetInfo?.parts?.find(
3120
+ (part) => part.name === "savings"
3121
+ )?.balance;
3008
3122
  return [
3009
3123
  "transfer" /* Transfer */,
3010
- ...isForOwner ? ["transfer-saving" /* TransferToSavings */, "swap" /* Swap */] : []
3124
+ ...isForOwner ? [
3125
+ ...savingsBalance && savingsBalance > 0 ? ["withdraw-saving" /* WithdrawFromSavings */] : [],
3126
+ "transfer-saving" /* TransferToSavings */,
3127
+ "swap" /* Swap */
3128
+ ] : []
3011
3129
  ];
3130
+ }
3012
3131
  case "POINTS" /* Points */:
3013
3132
  return [
3014
3133
  "gift" /* Gift */,
@@ -3042,7 +3161,6 @@ function getTokenOperationsQueryOptions(token, username, isForOwner = false) {
3042
3161
  if (!username) {
3043
3162
  return ["transfer" /* Transfer */];
3044
3163
  }
3045
- const queryClient = sdk.getQueryClient();
3046
3164
  const balancesListQuery = getHiveEngineTokensBalancesQueryOptions(username);
3047
3165
  const balances = await queryClient.ensureQueryData(balancesListQuery);
3048
3166
  const tokensQuery = getHiveEngineTokensMetadataQueryOptions(
@@ -3409,16 +3527,19 @@ var operationToFunctionMap = {
3409
3527
  HIVE: {
3410
3528
  ["transfer" /* Transfer */]: transferHive,
3411
3529
  ["transfer-saving" /* TransferToSavings */]: transferToSavingsHive,
3530
+ ["withdraw-saving" /* WithdrawFromSavings */]: transferFromSavingsHive,
3412
3531
  ["power-up" /* PowerUp */]: powerUpHive
3413
3532
  },
3414
3533
  HBD: {
3415
3534
  ["transfer" /* Transfer */]: transferHive,
3416
- ["transfer-saving" /* TransferToSavings */]: transferToSavingsHive
3535
+ ["transfer-saving" /* TransferToSavings */]: transferToSavingsHive,
3536
+ ["withdraw-saving" /* WithdrawFromSavings */]: transferFromSavingsHive,
3537
+ ["claim-interest" /* ClaimInterest */]: claimInterestHive
3417
3538
  },
3418
3539
  HP: {
3419
3540
  ["power-down" /* PowerDown */]: powerDownHive,
3420
3541
  ["delegate" /* Delegate */]: delegateHive,
3421
- ["withdraw-saving" /* WithdrawRoutes */]: withdrawVestingRouteHive
3542
+ ["withdraw-routes" /* WithdrawRoutes */]: withdrawVestingRouteHive
3422
3543
  },
3423
3544
  POINTS: {
3424
3545
  ["gift" /* Gift */]: transferPoint
@@ -3496,6 +3617,7 @@ exports.buildPsbt = buildPsbt;
3496
3617
  exports.buildSolTx = buildSolTx;
3497
3618
  exports.buildTonTx = buildTonTx;
3498
3619
  exports.buildTronTx = buildTronTx;
3620
+ exports.claimInterestHive = claimInterestHive;
3499
3621
  exports.decryptMemoWithAccounts = decryptMemoWithAccounts;
3500
3622
  exports.decryptMemoWithKeys = decryptMemoWithKeys;
3501
3623
  exports.delay = delay;
@@ -3553,6 +3675,7 @@ exports.signTx = signTx;
3553
3675
  exports.signTxAndBroadcast = signTxAndBroadcast;
3554
3676
  exports.stakeEngineToken = stakeEngineToken;
3555
3677
  exports.transferEngineToken = transferEngineToken;
3678
+ exports.transferFromSavingsHive = transferFromSavingsHive;
3556
3679
  exports.transferHive = transferHive;
3557
3680
  exports.transferLarynx = transferLarynx;
3558
3681
  exports.transferPoint = transferPoint;