@ecency/wallets 1.4.24 → 1.4.26

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.
@@ -635,6 +635,30 @@ function rewardSpk(data, sstats) {
635
635
  }
636
636
  }
637
637
 
638
+ // src/internal/hive-auth.ts
639
+ var broadcastHandler = null;
640
+ function registerHiveAuthBroadcastHandler(handler) {
641
+ broadcastHandler = handler;
642
+ }
643
+ function getHiveAuthBroadcastHandler() {
644
+ return broadcastHandler;
645
+ }
646
+
647
+ // src/modules/assets/utils/hive-auth.ts
648
+ function registerWalletHiveAuthBroadcast(handler) {
649
+ registerHiveAuthBroadcastHandler(handler);
650
+ }
651
+ function broadcastWithWalletHiveAuth(username, operations, keyType) {
652
+ const handler = getHiveAuthBroadcastHandler();
653
+ if (!handler) {
654
+ throw new Error("HiveAuth broadcast handler is not registered");
655
+ }
656
+ return handler(username, operations, keyType);
657
+ }
658
+ function hasWalletHiveAuthBroadcast() {
659
+ return typeof getHiveAuthBroadcastHandler() === "function";
660
+ }
661
+
638
662
  // src/modules/assets/hive/queries/get-hive-asset-general-info-query-options.ts
639
663
  function getHiveAssetGeneralInfoQueryOptions(username) {
640
664
  return queryOptions({
@@ -1193,13 +1217,25 @@ function getHivePowerDelegatingsQueryOptions(username) {
1193
1217
  async function transferHive(payload) {
1194
1218
  const parsedAsset = parseAsset(payload.amount);
1195
1219
  const token = parsedAsset.symbol;
1220
+ const precision = token === "VESTS" /* VESTS */ ? 6 : 3;
1221
+ const formattedAmount = parsedAsset.amount.toFixed(precision);
1222
+ const amountWithSymbol = `${formattedAmount} ${token}`;
1223
+ const operation = [
1224
+ "transfer",
1225
+ {
1226
+ from: payload.from,
1227
+ to: payload.to,
1228
+ amount: amountWithSymbol,
1229
+ memo: payload.memo
1230
+ }
1231
+ ];
1196
1232
  if (payload.type === "key" && "key" in payload) {
1197
1233
  const { key, type, ...params } = payload;
1198
1234
  return CONFIG.hiveClient.broadcast.transfer(
1199
1235
  {
1200
1236
  from: params.from,
1201
1237
  to: params.to,
1202
- amount: params.amount,
1238
+ amount: amountWithSymbol,
1203
1239
  memo: params.memo
1204
1240
  },
1205
1241
  key
@@ -1209,7 +1245,7 @@ async function transferHive(payload) {
1209
1245
  (resolve, reject) => window.hive_keychain?.requestTransfer(
1210
1246
  payload.from,
1211
1247
  payload.to,
1212
- payload.amount,
1248
+ formattedAmount,
1213
1249
  payload.memo,
1214
1250
  token,
1215
1251
  (resp) => {
@@ -1222,17 +1258,11 @@ async function transferHive(payload) {
1222
1258
  null
1223
1259
  )
1224
1260
  );
1261
+ } else if (payload.type === "hiveauth") {
1262
+ return broadcastWithWalletHiveAuth(payload.from, [operation], "active");
1225
1263
  } else {
1226
1264
  return hs.sendOperation(
1227
- [
1228
- "transfer",
1229
- {
1230
- from: payload.from,
1231
- to: payload.to,
1232
- amount: payload.amount,
1233
- memo: payload.memo
1234
- }
1235
- ],
1265
+ operation,
1236
1266
  { callback: `https://ecency.com/@${payload.from}/wallet` },
1237
1267
  () => {
1238
1268
  }
@@ -1240,6 +1270,13 @@ async function transferHive(payload) {
1240
1270
  }
1241
1271
  }
1242
1272
  async function transferToSavingsHive(payload) {
1273
+ const operationPayload = {
1274
+ from: payload.from,
1275
+ to: payload.to,
1276
+ amount: payload.amount,
1277
+ memo: payload.memo
1278
+ };
1279
+ const operation = ["transfer_to_savings", operationPayload];
1243
1280
  if (payload.type === "key" && "key" in payload) {
1244
1281
  const { key, type, ...params } = payload;
1245
1282
  return CONFIG.hiveClient.broadcast.sendOperations(
@@ -1247,18 +1284,12 @@ async function transferToSavingsHive(payload) {
1247
1284
  key
1248
1285
  );
1249
1286
  } else if (payload.type === "keychain") {
1250
- return Keychain.broadcast(
1251
- payload.from,
1252
- [["transfer_to_savings", payload]],
1253
- "Active"
1254
- );
1287
+ return Keychain.broadcast(payload.from, [operation], "Active");
1288
+ } else if (payload.type === "hiveauth") {
1289
+ return broadcastWithWalletHiveAuth(payload.from, [operation], "active");
1255
1290
  } else {
1256
- return hs.sendOperation(
1257
- ["transfer_to_savings", payload],
1258
- { callback: `https://ecency.com/@${payload.from}/wallet` },
1259
- () => {
1260
- }
1261
- );
1291
+ return hs.sendOperation(operation, { callback: `https://ecency.com/@${payload.from}/wallet` }, () => {
1292
+ });
1262
1293
  }
1263
1294
  }
1264
1295
  async function transferFromSavingsHive(payload) {
@@ -1270,28 +1301,31 @@ async function transferFromSavingsHive(payload) {
1270
1301
  memo: payload.memo,
1271
1302
  request_id: requestId
1272
1303
  };
1304
+ const operation = ["transfer_from_savings", operationPayload];
1273
1305
  if (payload.type === "key" && "key" in payload) {
1274
1306
  const { key } = payload;
1275
1307
  return CONFIG.hiveClient.broadcast.sendOperations(
1276
- [["transfer_from_savings", operationPayload]],
1308
+ [operation],
1277
1309
  key
1278
1310
  );
1279
1311
  }
1280
1312
  if (payload.type === "keychain") {
1281
- return Keychain.broadcast(
1282
- payload.from,
1283
- [["transfer_from_savings", operationPayload]],
1284
- "Active"
1285
- );
1313
+ return Keychain.broadcast(payload.from, [operation], "Active");
1286
1314
  }
1287
- return hs.sendOperation(
1288
- ["transfer_from_savings", operationPayload],
1289
- { callback: `https://ecency.com/@${payload.from}/wallet` },
1290
- () => {
1291
- }
1292
- );
1315
+ if (payload.type === "hiveauth") {
1316
+ return broadcastWithWalletHiveAuth(payload.from, [operation], "active");
1317
+ }
1318
+ return hs.sendOperation(operation, { callback: `https://ecency.com/@${payload.from}/wallet` }, () => {
1319
+ });
1293
1320
  }
1294
1321
  async function powerUpHive(payload) {
1322
+ const operationPayload = {
1323
+ from: payload.from,
1324
+ to: payload.to,
1325
+ amount: payload.amount,
1326
+ memo: payload.memo
1327
+ };
1328
+ const operation = ["transfer_to_vesting", operationPayload];
1295
1329
  if (payload.type === "key" && "key" in payload) {
1296
1330
  const { key, type, ...params } = payload;
1297
1331
  return CONFIG.hiveClient.broadcast.sendOperations(
@@ -1299,18 +1333,12 @@ async function powerUpHive(payload) {
1299
1333
  key
1300
1334
  );
1301
1335
  } else if (payload.type === "keychain") {
1302
- return Keychain.broadcast(
1303
- payload.from,
1304
- [["transfer_to_vesting", payload]],
1305
- "Active"
1306
- );
1336
+ return Keychain.broadcast(payload.from, [operation], "Active");
1337
+ } else if (payload.type === "hiveauth") {
1338
+ return broadcastWithWalletHiveAuth(payload.from, [operation], "active");
1307
1339
  } else {
1308
- return hs.sendOperation(
1309
- ["transfer_to_vesting", payload],
1310
- { callback: `https://ecency.com/@${payload.from}/wallet` },
1311
- () => {
1312
- }
1313
- );
1340
+ return hs.sendOperation(operation, { callback: `https://ecency.com/@${payload.from}/wallet` }, () => {
1341
+ });
1314
1342
  }
1315
1343
  }
1316
1344
  async function delegateHive(payload) {
@@ -1319,25 +1347,20 @@ async function delegateHive(payload) {
1319
1347
  delegatee: payload.to,
1320
1348
  vesting_shares: payload.amount
1321
1349
  };
1350
+ const operation = ["delegate_vesting_shares", operationPayload];
1322
1351
  if (payload.type === "key" && "key" in payload) {
1323
1352
  const { key } = payload;
1324
1353
  return CONFIG.hiveClient.broadcast.sendOperations(
1325
- [["delegate_vesting_shares", operationPayload]],
1354
+ [operation],
1326
1355
  key
1327
1356
  );
1328
1357
  } else if (payload.type === "keychain") {
1329
- return Keychain.broadcast(
1330
- payload.from,
1331
- [["delegate_vesting_shares", operationPayload]],
1332
- "Active"
1333
- );
1358
+ return Keychain.broadcast(payload.from, [operation], "Active");
1359
+ } else if (payload.type === "hiveauth") {
1360
+ return broadcastWithWalletHiveAuth(payload.from, [operation], "active");
1334
1361
  } else {
1335
- return hs.sendOperation(
1336
- ["delegate_vesting_shares", operationPayload],
1337
- { callback: `https://ecency.com/@${payload.from}/wallet` },
1338
- () => {
1339
- }
1340
- );
1362
+ return hs.sendOperation(operation, { callback: `https://ecency.com/@${payload.from}/wallet` }, () => {
1363
+ });
1341
1364
  }
1342
1365
  }
1343
1366
  async function powerDownHive(payload) {
@@ -1345,28 +1368,30 @@ async function powerDownHive(payload) {
1345
1368
  account: payload.from,
1346
1369
  vesting_shares: payload.amount
1347
1370
  };
1371
+ const operation = ["withdraw_vesting", operationPayload];
1348
1372
  if (payload.type === "key" && "key" in payload) {
1349
1373
  const { key } = payload;
1350
1374
  return CONFIG.hiveClient.broadcast.sendOperations(
1351
- [["withdraw_vesting", operationPayload]],
1375
+ [operation],
1352
1376
  key
1353
1377
  );
1354
1378
  } else if (payload.type === "keychain") {
1355
- return Keychain.broadcast(
1356
- payload.from,
1357
- [["withdraw_vesting", operationPayload]],
1358
- "Active"
1359
- );
1379
+ return Keychain.broadcast(payload.from, [operation], "Active");
1380
+ } else if (payload.type === "hiveauth") {
1381
+ return broadcastWithWalletHiveAuth(payload.from, [operation], "active");
1360
1382
  } else {
1361
- return hs.sendOperation(
1362
- ["withdraw_vesting", operationPayload],
1363
- { callback: `https://ecency.com/@${payload.from}/wallet` },
1364
- () => {
1365
- }
1366
- );
1383
+ return hs.sendOperation(operation, { callback: `https://ecency.com/@${payload.from}/wallet` }, () => {
1384
+ });
1367
1385
  }
1368
1386
  }
1369
1387
  async function withdrawVestingRouteHive(payload) {
1388
+ const baseParams = {
1389
+ from_account: payload.from_account,
1390
+ to_account: payload.to_account,
1391
+ percent: payload.percent,
1392
+ auto_vest: payload.auto_vest
1393
+ };
1394
+ const operation = ["set_withdraw_vesting_route", baseParams];
1370
1395
  if (payload.type === "key" && "key" in payload) {
1371
1396
  const { key, type: type2, ...params2 } = payload;
1372
1397
  return CONFIG.hiveClient.broadcast.sendOperations(
@@ -1376,19 +1401,14 @@ async function withdrawVestingRouteHive(payload) {
1376
1401
  }
1377
1402
  if (payload.type === "keychain") {
1378
1403
  const { type: type2, ...params2 } = payload;
1379
- return Keychain.broadcast(
1380
- params2.from_account,
1381
- [["set_withdraw_vesting_route", params2]],
1382
- "Active"
1383
- );
1404
+ return Keychain.broadcast(params2.from_account, [operation], "Active");
1405
+ }
1406
+ if (payload.type === "hiveauth") {
1407
+ return broadcastWithWalletHiveAuth(payload.from_account, [operation], "active");
1384
1408
  }
1385
1409
  const { type, ...params } = payload;
1386
- return hs.sendOperation(
1387
- ["set_withdraw_vesting_route", params],
1388
- { callback: `https://ecency.com/@${params.from_account}/wallet` },
1389
- () => {
1390
- }
1391
- );
1410
+ return hs.sendOperation(operation, { callback: `https://ecency.com/@${params.from_account}/wallet` }, () => {
1411
+ });
1392
1412
  }
1393
1413
  function useClaimRewards(username, onSuccess) {
1394
1414
  const { data } = useQuery(getAccountFullQueryOptions(username));
@@ -1442,35 +1462,22 @@ async function claimInterestHive(payload) {
1442
1462
  from: payload.from,
1443
1463
  request_id: requestId
1444
1464
  };
1465
+ const operations = [
1466
+ ["transfer_from_savings", baseOperation],
1467
+ ["cancel_transfer_from_savings", cancelOperation]
1468
+ ];
1445
1469
  if (payload.type === "key" && "key" in payload) {
1446
1470
  const { key } = payload;
1447
- return CONFIG.hiveClient.broadcast.sendOperations(
1448
- [
1449
- ["transfer_from_savings", baseOperation],
1450
- ["cancel_transfer_from_savings", cancelOperation]
1451
- ],
1452
- key
1453
- );
1471
+ return CONFIG.hiveClient.broadcast.sendOperations(operations, key);
1454
1472
  }
1455
1473
  if (payload.type === "keychain") {
1456
- return Keychain.broadcast(
1457
- payload.from,
1458
- [
1459
- ["transfer_from_savings", baseOperation],
1460
- ["cancel_transfer_from_savings", cancelOperation]
1461
- ],
1462
- "Active"
1463
- );
1474
+ return Keychain.broadcast(payload.from, operations, "Active");
1464
1475
  }
1465
- return hs.sendOperations(
1466
- [
1467
- ["transfer_from_savings", baseOperation],
1468
- ["cancel_transfer_from_savings", cancelOperation]
1469
- ],
1470
- { callback: `https://ecency.com/@${payload.from}/wallet` },
1471
- () => {
1472
- }
1473
- );
1476
+ if (payload.type === "hiveauth") {
1477
+ return broadcastWithWalletHiveAuth(payload.from, operations, "active");
1478
+ }
1479
+ return hs.sendOperations(operations, { callback: `https://ecency.com/@${payload.from}/wallet` }, () => {
1480
+ });
1474
1481
  }
1475
1482
 
1476
1483
  // src/modules/assets/types/asset-operation.ts
@@ -1506,6 +1513,15 @@ async function transferSpk(payload) {
1506
1513
  required_auths: [payload.from],
1507
1514
  required_posting_auths: []
1508
1515
  };
1516
+ const operation = [
1517
+ "custom_json",
1518
+ {
1519
+ id: op.id,
1520
+ required_auths: [payload.from],
1521
+ required_posting_auths: [],
1522
+ json
1523
+ }
1524
+ ];
1509
1525
  if (payload.type === "key" && "key" in payload) {
1510
1526
  const { key } = payload;
1511
1527
  return CONFIG.hiveClient.broadcast.json(op, key);
@@ -1517,6 +1533,8 @@ async function transferSpk(payload) {
1517
1533
  json,
1518
1534
  payload.to
1519
1535
  );
1536
+ } else if (payload.type === "hiveauth") {
1537
+ return broadcastWithWalletHiveAuth(payload.from, [operation], "active");
1520
1538
  } else {
1521
1539
  const { amount } = parseAsset(payload.amount);
1522
1540
  return hs.sign(
@@ -1544,6 +1562,15 @@ var lockLarynx = async (payload) => {
1544
1562
  required_auths: [payload.from],
1545
1563
  required_posting_auths: []
1546
1564
  };
1565
+ const operation = [
1566
+ "custom_json",
1567
+ {
1568
+ id: op.id,
1569
+ required_auths: [payload.from],
1570
+ required_posting_auths: [],
1571
+ json
1572
+ }
1573
+ ];
1547
1574
  if (payload.type === "key" && "key" in payload) {
1548
1575
  const { key } = payload;
1549
1576
  return CONFIG.hiveClient.broadcast.json(op, key);
@@ -1555,6 +1582,8 @@ var lockLarynx = async (payload) => {
1555
1582
  json,
1556
1583
  payload.from
1557
1584
  );
1585
+ } else if (payload.type === "hiveauth") {
1586
+ return broadcastWithWalletHiveAuth(payload.from, [operation], "active");
1558
1587
  } else {
1559
1588
  const { amount } = parseAsset(payload.amount);
1560
1589
  return hs.sign(
@@ -1578,6 +1607,15 @@ async function powerUpLarynx(payload) {
1578
1607
  required_auths: [payload.from],
1579
1608
  required_posting_auths: []
1580
1609
  };
1610
+ const operation = [
1611
+ "custom_json",
1612
+ {
1613
+ id: `spkcc_power_${payload.mode}`,
1614
+ required_auths: [payload.from],
1615
+ required_posting_auths: [],
1616
+ json
1617
+ }
1618
+ ];
1581
1619
  if (payload.type === "key" && "key" in payload) {
1582
1620
  const { key } = payload;
1583
1621
  return CONFIG.hiveClient.broadcast.json(op, key);
@@ -1589,6 +1627,8 @@ async function powerUpLarynx(payload) {
1589
1627
  json,
1590
1628
  ""
1591
1629
  );
1630
+ } else if (payload.type === "hiveauth") {
1631
+ return broadcastWithWalletHiveAuth(payload.from, [operation], "active");
1592
1632
  } else {
1593
1633
  const { amount } = parseAsset(payload.amount);
1594
1634
  return hs.sign(
@@ -1616,6 +1656,15 @@ async function transferLarynx(payload) {
1616
1656
  required_auths: [payload.from],
1617
1657
  required_posting_auths: []
1618
1658
  };
1659
+ const operation = [
1660
+ "custom_json",
1661
+ {
1662
+ id: "spkcc_send",
1663
+ required_auths: [payload.from],
1664
+ required_posting_auths: [],
1665
+ json
1666
+ }
1667
+ ];
1619
1668
  if (payload.type === "key" && "key" in payload) {
1620
1669
  const { key } = payload;
1621
1670
  return CONFIG.hiveClient.broadcast.json(op, key);
@@ -1627,6 +1676,8 @@ async function transferLarynx(payload) {
1627
1676
  json,
1628
1677
  payload.to
1629
1678
  );
1679
+ } else if (payload.type === "hiveauth") {
1680
+ return broadcastWithWalletHiveAuth(payload.from, [operation], "active");
1630
1681
  } else {
1631
1682
  const { amount } = parseAsset(payload.amount);
1632
1683
  return hs.sign(
@@ -2027,6 +2078,23 @@ function getHiveEngineTokensMetricsQueryOptions(symbol, interval = "daily") {
2027
2078
  async function delegateEngineToken(payload) {
2028
2079
  const parsedAsset = parseAsset(payload.amount);
2029
2080
  const quantity = parsedAsset.amount.toString();
2081
+ const operation = [
2082
+ "custom_json",
2083
+ {
2084
+ id: "ssc-mainnet-hive",
2085
+ required_auths: [payload.from],
2086
+ required_posting_auths: [],
2087
+ json: JSON.stringify({
2088
+ contractName: "tokens",
2089
+ contractAction: "delegate",
2090
+ contractPayload: {
2091
+ symbol: payload.asset,
2092
+ to: payload.to,
2093
+ quantity
2094
+ }
2095
+ })
2096
+ }
2097
+ ];
2030
2098
  if (payload.type === "key" && "key" in payload) {
2031
2099
  const { key, type, ...params } = payload;
2032
2100
  const op = {
@@ -2050,15 +2118,7 @@ async function delegateEngineToken(payload) {
2050
2118
  payload.from,
2051
2119
  "ssc-mainnet-hive",
2052
2120
  "Active",
2053
- JSON.stringify({
2054
- contractName: "tokens",
2055
- contractAction: "delegate",
2056
- contractPayload: {
2057
- symbol: payload.asset,
2058
- to: payload.to,
2059
- quantity
2060
- }
2061
- }),
2121
+ operation[1].json,
2062
2122
  "Token Delegation",
2063
2123
  (resp) => {
2064
2124
  if (!resp.success) {
@@ -2068,25 +2128,11 @@ async function delegateEngineToken(payload) {
2068
2128
  }
2069
2129
  )
2070
2130
  );
2131
+ } else if (payload.type === "hiveauth") {
2132
+ return broadcastWithWalletHiveAuth(payload.from, [operation], "active");
2071
2133
  } else {
2072
2134
  return hs.sendOperation(
2073
- [
2074
- "custom_json",
2075
- {
2076
- id: "ssc-mainnet-hive",
2077
- required_auths: [payload.from],
2078
- required_posting_auths: [],
2079
- json: JSON.stringify({
2080
- contractName: "tokens",
2081
- contractAction: "delegate",
2082
- contractPayload: {
2083
- symbol: payload.asset,
2084
- to: payload.to,
2085
- quantity
2086
- }
2087
- })
2088
- }
2089
- ],
2135
+ operation,
2090
2136
  { callback: `https://ecency.com/@${payload.from}/wallet` },
2091
2137
  () => {
2092
2138
  }
@@ -2096,6 +2142,23 @@ async function delegateEngineToken(payload) {
2096
2142
  async function undelegateEngineToken(payload) {
2097
2143
  const parsedAsset = parseAsset(payload.amount);
2098
2144
  const quantity = parsedAsset.amount.toString();
2145
+ const operation = [
2146
+ "custom_json",
2147
+ {
2148
+ id: "ssc-mainnet-hive",
2149
+ required_auths: [payload.from],
2150
+ required_posting_auths: [],
2151
+ json: JSON.stringify({
2152
+ contractName: "tokens",
2153
+ contractAction: "undelegate",
2154
+ contractPayload: {
2155
+ symbol: payload.asset,
2156
+ from: payload.to,
2157
+ quantity
2158
+ }
2159
+ })
2160
+ }
2161
+ ];
2099
2162
  if (payload.type === "key" && "key" in payload) {
2100
2163
  const { key, type, ...params } = payload;
2101
2164
  const op = {
@@ -2119,15 +2182,7 @@ async function undelegateEngineToken(payload) {
2119
2182
  payload.from,
2120
2183
  "ssc-mainnet-hive",
2121
2184
  "Active",
2122
- JSON.stringify({
2123
- contractName: "tokens",
2124
- contractAction: "undelegate",
2125
- contractPayload: {
2126
- symbol: payload.asset,
2127
- from: payload.to,
2128
- quantity
2129
- }
2130
- }),
2185
+ operation[1].json,
2131
2186
  "Token Undelegation",
2132
2187
  (resp) => {
2133
2188
  if (!resp.success) {
@@ -2137,25 +2192,11 @@ async function undelegateEngineToken(payload) {
2137
2192
  }
2138
2193
  )
2139
2194
  );
2195
+ } else if (payload.type === "hiveauth") {
2196
+ return broadcastWithWalletHiveAuth(payload.from, [operation], "active");
2140
2197
  } else {
2141
2198
  return hs.sendOperation(
2142
- [
2143
- "custom_json",
2144
- {
2145
- id: "ssc-mainnet-hive",
2146
- required_auths: [payload.from],
2147
- required_posting_auths: [],
2148
- json: JSON.stringify({
2149
- contractName: "tokens",
2150
- contractAction: "undelegate",
2151
- contractPayload: {
2152
- symbol: payload.asset,
2153
- from: payload.to,
2154
- quantity
2155
- }
2156
- })
2157
- }
2158
- ],
2199
+ operation,
2159
2200
  { callback: `https://ecency.com/@${payload.from}/wallet` },
2160
2201
  () => {
2161
2202
  }
@@ -2165,6 +2206,23 @@ async function undelegateEngineToken(payload) {
2165
2206
  async function stakeEngineToken(payload) {
2166
2207
  const parsedAsset = parseAsset(payload.amount);
2167
2208
  const quantity = parsedAsset.amount.toString();
2209
+ const operation = [
2210
+ "custom_json",
2211
+ {
2212
+ id: "ssc-mainnet-hive",
2213
+ required_auths: [payload.from],
2214
+ required_posting_auths: [],
2215
+ json: JSON.stringify({
2216
+ contractName: "tokens",
2217
+ contractAction: "stake",
2218
+ contractPayload: {
2219
+ symbol: payload.asset,
2220
+ to: payload.to,
2221
+ quantity
2222
+ }
2223
+ })
2224
+ }
2225
+ ];
2168
2226
  if (payload.type === "key" && "key" in payload) {
2169
2227
  const { key, type, ...params } = payload;
2170
2228
  const op = {
@@ -2188,15 +2246,7 @@ async function stakeEngineToken(payload) {
2188
2246
  payload.from,
2189
2247
  "ssc-mainnet-hive",
2190
2248
  "Active",
2191
- JSON.stringify({
2192
- contractName: "tokens",
2193
- contractAction: "stake",
2194
- contractPayload: {
2195
- symbol: payload.asset,
2196
- to: payload.to,
2197
- quantity
2198
- }
2199
- }),
2249
+ operation[1].json,
2200
2250
  "Token Staking",
2201
2251
  (resp) => {
2202
2252
  if (!resp.success) {
@@ -2206,25 +2256,11 @@ async function stakeEngineToken(payload) {
2206
2256
  }
2207
2257
  )
2208
2258
  );
2259
+ } else if (payload.type === "hiveauth") {
2260
+ return broadcastWithWalletHiveAuth(payload.from, [operation], "active");
2209
2261
  } else {
2210
2262
  return hs.sendOperation(
2211
- [
2212
- "custom_json",
2213
- {
2214
- id: "ssc-mainnet-hive",
2215
- required_auths: [payload.from],
2216
- required_posting_auths: [],
2217
- json: JSON.stringify({
2218
- contractName: "tokens",
2219
- contractAction: "stake",
2220
- contractPayload: {
2221
- symbol: payload.asset,
2222
- to: payload.to,
2223
- quantity
2224
- }
2225
- })
2226
- }
2227
- ],
2263
+ operation,
2228
2264
  { callback: `https://ecency.com/@${payload.from}/wallet` },
2229
2265
  () => {
2230
2266
  }
@@ -2234,6 +2270,23 @@ async function stakeEngineToken(payload) {
2234
2270
  async function unstakeEngineToken(payload) {
2235
2271
  const parsedAsset = parseAsset(payload.amount);
2236
2272
  const quantity = parsedAsset.amount.toString();
2273
+ const operation = [
2274
+ "custom_json",
2275
+ {
2276
+ id: "ssc-mainnet-hive",
2277
+ required_auths: [payload.from],
2278
+ required_posting_auths: [],
2279
+ json: JSON.stringify({
2280
+ contractName: "tokens",
2281
+ contractAction: "unstake",
2282
+ contractPayload: {
2283
+ symbol: payload.asset,
2284
+ to: payload.to,
2285
+ quantity
2286
+ }
2287
+ })
2288
+ }
2289
+ ];
2237
2290
  if (payload.type === "key" && "key" in payload) {
2238
2291
  const { key, type, ...params } = payload;
2239
2292
  const op = {
@@ -2257,15 +2310,7 @@ async function unstakeEngineToken(payload) {
2257
2310
  payload.from,
2258
2311
  "ssc-mainnet-hive",
2259
2312
  "Active",
2260
- JSON.stringify({
2261
- contractName: "tokens",
2262
- contractAction: "unstake",
2263
- contractPayload: {
2264
- symbol: payload.asset,
2265
- to: payload.to,
2266
- quantity
2267
- }
2268
- }),
2313
+ operation[1].json,
2269
2314
  "Token Unstaking",
2270
2315
  (resp) => {
2271
2316
  if (!resp.success) {
@@ -2275,25 +2320,11 @@ async function unstakeEngineToken(payload) {
2275
2320
  }
2276
2321
  )
2277
2322
  );
2323
+ } else if (payload.type === "hiveauth") {
2324
+ return broadcastWithWalletHiveAuth(payload.from, [operation], "active");
2278
2325
  } else {
2279
2326
  return hs.sendOperation(
2280
- [
2281
- "custom_json",
2282
- {
2283
- id: "ssc-mainnet-hive",
2284
- required_auths: [payload.from],
2285
- required_posting_auths: [],
2286
- json: JSON.stringify({
2287
- contractName: "tokens",
2288
- contractAction: "unstake",
2289
- contractPayload: {
2290
- symbol: payload.asset,
2291
- to: payload.to,
2292
- quantity
2293
- }
2294
- })
2295
- }
2296
- ],
2327
+ operation,
2297
2328
  { callback: `https://ecency.com/@${payload.from}/wallet` },
2298
2329
  () => {
2299
2330
  }
@@ -2303,6 +2334,24 @@ async function unstakeEngineToken(payload) {
2303
2334
  async function transferEngineToken(payload) {
2304
2335
  const parsedAsset = parseAsset(payload.amount);
2305
2336
  const quantity = parsedAsset.amount.toString();
2337
+ const operation = [
2338
+ "custom_json",
2339
+ {
2340
+ id: "ssc-mainnet-hive",
2341
+ required_auths: [payload.from],
2342
+ required_posting_auths: [],
2343
+ json: JSON.stringify({
2344
+ contractName: "tokens",
2345
+ contractAction: "transfer",
2346
+ contractPayload: {
2347
+ symbol: payload.asset,
2348
+ to: payload.to,
2349
+ quantity,
2350
+ memo: payload.memo
2351
+ }
2352
+ })
2353
+ }
2354
+ ];
2306
2355
  if (payload.type === "key" && "key" in payload) {
2307
2356
  const { key, type, ...params } = payload;
2308
2357
  const op = {
@@ -2327,16 +2376,7 @@ async function transferEngineToken(payload) {
2327
2376
  payload.from,
2328
2377
  "ssc-mainnet-hive",
2329
2378
  "Active",
2330
- JSON.stringify({
2331
- contractName: "tokens",
2332
- contractAction: "transfer",
2333
- contractPayload: {
2334
- symbol: payload.asset,
2335
- to: payload.to,
2336
- quantity,
2337
- memo: payload.memo
2338
- }
2339
- }),
2379
+ operation[1].json,
2340
2380
  "Token Transfer",
2341
2381
  (resp) => {
2342
2382
  if (!resp.success) {
@@ -2346,26 +2386,11 @@ async function transferEngineToken(payload) {
2346
2386
  }
2347
2387
  )
2348
2388
  );
2389
+ } else if (payload.type === "hiveauth") {
2390
+ return broadcastWithWalletHiveAuth(payload.from, [operation], "active");
2349
2391
  } else {
2350
2392
  return hs.sendOperation(
2351
- [
2352
- "custom_json",
2353
- {
2354
- id: "ssc-mainnet-hive",
2355
- required_auths: [payload.from],
2356
- required_posting_auths: [],
2357
- json: JSON.stringify({
2358
- contractName: "tokens",
2359
- contractAction: "transfer",
2360
- contractPayload: {
2361
- symbol: payload.asset,
2362
- to: payload.to,
2363
- quantity,
2364
- memo: payload.memo
2365
- }
2366
- })
2367
- }
2368
- ],
2393
+ operation,
2369
2394
  { callback: `https://ecency.com/@${payload.from}/wallet` },
2370
2395
  () => {
2371
2396
  }
@@ -2528,12 +2553,11 @@ async function transferPoint({
2528
2553
  if (type === "keychain") {
2529
2554
  return Keychain.broadcast(from, [op], "Active");
2530
2555
  }
2531
- return hs.sendOperation(
2532
- op,
2533
- { callback: `https://ecency.com/@${from}/wallet` },
2534
- () => {
2535
- }
2536
- );
2556
+ if (type === "hiveauth") {
2557
+ return broadcastWithWalletHiveAuth(from, [op], "active");
2558
+ }
2559
+ return hs.sendOperation(op, { callback: `https://ecency.com/@${from}/wallet` }, () => {
2560
+ });
2537
2561
  }
2538
2562
 
2539
2563
  // src/modules/assets/points/types/point-transaction-type.ts
@@ -3707,6 +3731,6 @@ function useWalletOperation(username, asset, operation) {
3707
3731
  // src/index.ts
3708
3732
  rememberScryptBsvVersion();
3709
3733
 
3710
- export { AssetOperation, EcencyWalletBasicTokens, EcencyWalletCurrency, private_api_exports as EcencyWalletsPrivateApi, HIVE_ACCOUNT_OPERATION_GROUPS, HIVE_OPERATION_LIST, HIVE_OPERATION_NAME_BY_ID, HIVE_OPERATION_ORDERS, NaiMap, PointTransactionType, Symbol2 as Symbol, buildAptTx, buildEthTx, buildExternalTx, buildPsbt, buildSolTx, buildTonTx, buildTronTx, claimInterestHive, decryptMemoWithAccounts, decryptMemoWithKeys, delay, delegateEngineToken, delegateHive, deriveHiveKey, deriveHiveKeys, deriveHiveMasterPasswordKey, deriveHiveMasterPasswordKeys, detectHiveKeyDerivation, encryptMemoWithAccounts, encryptMemoWithKeys, getAccountWalletAssetInfoQueryOptions, getAccountWalletListQueryOptions, getAllTokensListQueryOptions, getBoundFetch, getHbdAssetGeneralInfoQueryOptions, getHbdAssetTransactionsQueryOptions, getHiveAssetGeneralInfoQueryOptions, getHiveAssetMetricQueryOptions, getHiveAssetTransactionsQueryOptions, getHiveAssetWithdrawalRoutesQueryOptions, getHiveEngineTokenGeneralInfoQueryOptions, getHiveEngineTokenTransactionsQueryOptions, getHiveEngineTokensBalancesQueryOptions, getHiveEngineTokensMarketQueryOptions, getHiveEngineTokensMetadataQueryOptions, getHiveEngineTokensMetricsQueryOptions, getHivePowerAssetGeneralInfoQueryOptions, getHivePowerAssetTransactionsQueryOptions, getHivePowerDelegatesInfiniteQueryOptions, getHivePowerDelegatingsQueryOptions, getLarynxAssetGeneralInfoQueryOptions, getLarynxPowerAssetGeneralInfoQueryOptions, getPointsAssetGeneralInfoQueryOptions, getPointsAssetTransactionsQueryOptions, getPointsQueryOptions, getSpkAssetGeneralInfoQueryOptions, getSpkMarketsQueryOptions, getTokenOperationsQueryOptions, getTokenPriceQueryOptions, getWallet, isEmptyDate, lockLarynx, mnemonicToSeedBip39, parseAsset, powerDownHive, powerUpHive, powerUpLarynx, resolveHiveOperationFilters, rewardSpk, signDigest, signExternalTx, signExternalTxAndBroadcast, signTx, signTxAndBroadcast, stakeEngineToken, transferEngineToken, transferFromSavingsHive, transferHive, transferLarynx, transferPoint, transferSpk, transferToSavingsHive, undelegateEngineToken, unstakeEngineToken, useClaimPoints, useClaimRewards, useGetExternalWalletBalanceQuery, useHiveKeysQuery, useImportWallet, useSaveWalletInformationToMetadata, useSeedPhrase, useWalletCreate, useWalletOperation, useWalletsCacheQuery, vestsToHp, withdrawVestingRouteHive };
3734
+ export { AssetOperation, EcencyWalletBasicTokens, EcencyWalletCurrency, private_api_exports as EcencyWalletsPrivateApi, HIVE_ACCOUNT_OPERATION_GROUPS, HIVE_OPERATION_LIST, HIVE_OPERATION_NAME_BY_ID, HIVE_OPERATION_ORDERS, NaiMap, PointTransactionType, Symbol2 as Symbol, broadcastWithWalletHiveAuth, buildAptTx, buildEthTx, buildExternalTx, buildPsbt, buildSolTx, buildTonTx, buildTronTx, claimInterestHive, decryptMemoWithAccounts, decryptMemoWithKeys, delay, delegateEngineToken, delegateHive, deriveHiveKey, deriveHiveKeys, deriveHiveMasterPasswordKey, deriveHiveMasterPasswordKeys, detectHiveKeyDerivation, encryptMemoWithAccounts, encryptMemoWithKeys, getAccountWalletAssetInfoQueryOptions, getAccountWalletListQueryOptions, getAllTokensListQueryOptions, getBoundFetch, getHbdAssetGeneralInfoQueryOptions, getHbdAssetTransactionsQueryOptions, getHiveAssetGeneralInfoQueryOptions, getHiveAssetMetricQueryOptions, getHiveAssetTransactionsQueryOptions, getHiveAssetWithdrawalRoutesQueryOptions, getHiveEngineTokenGeneralInfoQueryOptions, getHiveEngineTokenTransactionsQueryOptions, getHiveEngineTokensBalancesQueryOptions, getHiveEngineTokensMarketQueryOptions, getHiveEngineTokensMetadataQueryOptions, getHiveEngineTokensMetricsQueryOptions, getHivePowerAssetGeneralInfoQueryOptions, getHivePowerAssetTransactionsQueryOptions, getHivePowerDelegatesInfiniteQueryOptions, getHivePowerDelegatingsQueryOptions, getLarynxAssetGeneralInfoQueryOptions, getLarynxPowerAssetGeneralInfoQueryOptions, getPointsAssetGeneralInfoQueryOptions, getPointsAssetTransactionsQueryOptions, getPointsQueryOptions, getSpkAssetGeneralInfoQueryOptions, getSpkMarketsQueryOptions, getTokenOperationsQueryOptions, getTokenPriceQueryOptions, getWallet, hasWalletHiveAuthBroadcast, isEmptyDate, lockLarynx, mnemonicToSeedBip39, parseAsset, powerDownHive, powerUpHive, powerUpLarynx, registerWalletHiveAuthBroadcast, resolveHiveOperationFilters, rewardSpk, signDigest, signExternalTx, signExternalTxAndBroadcast, signTx, signTxAndBroadcast, stakeEngineToken, transferEngineToken, transferFromSavingsHive, transferHive, transferLarynx, transferPoint, transferSpk, transferToSavingsHive, undelegateEngineToken, unstakeEngineToken, useClaimPoints, useClaimRewards, useGetExternalWalletBalanceQuery, useHiveKeysQuery, useImportWallet, useSaveWalletInformationToMetadata, useSeedPhrase, useWalletCreate, useWalletOperation, useWalletsCacheQuery, vestsToHp, withdrawVestingRouteHive };
3711
3735
  //# sourceMappingURL=index.js.map
3712
3736
  //# sourceMappingURL=index.js.map