@ecency/wallets 1.4.25 → 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.
@@ -662,6 +662,30 @@ function rewardSpk(data, sstats) {
662
662
  }
663
663
  }
664
664
 
665
+ // src/internal/hive-auth.ts
666
+ var broadcastHandler = null;
667
+ function registerHiveAuthBroadcastHandler(handler) {
668
+ broadcastHandler = handler;
669
+ }
670
+ function getHiveAuthBroadcastHandler() {
671
+ return broadcastHandler;
672
+ }
673
+
674
+ // src/modules/assets/utils/hive-auth.ts
675
+ function registerWalletHiveAuthBroadcast(handler) {
676
+ registerHiveAuthBroadcastHandler(handler);
677
+ }
678
+ function broadcastWithWalletHiveAuth(username, operations, keyType) {
679
+ const handler = getHiveAuthBroadcastHandler();
680
+ if (!handler) {
681
+ throw new Error("HiveAuth broadcast handler is not registered");
682
+ }
683
+ return handler(username, operations, keyType);
684
+ }
685
+ function hasWalletHiveAuthBroadcast() {
686
+ return typeof getHiveAuthBroadcastHandler() === "function";
687
+ }
688
+
665
689
  // src/modules/assets/hive/queries/get-hive-asset-general-info-query-options.ts
666
690
  function getHiveAssetGeneralInfoQueryOptions(username) {
667
691
  return reactQuery.queryOptions({
@@ -1223,6 +1247,15 @@ async function transferHive(payload) {
1223
1247
  const precision = token === "VESTS" /* VESTS */ ? 6 : 3;
1224
1248
  const formattedAmount = parsedAsset.amount.toFixed(precision);
1225
1249
  const amountWithSymbol = `${formattedAmount} ${token}`;
1250
+ const operation = [
1251
+ "transfer",
1252
+ {
1253
+ from: payload.from,
1254
+ to: payload.to,
1255
+ amount: amountWithSymbol,
1256
+ memo: payload.memo
1257
+ }
1258
+ ];
1226
1259
  if (payload.type === "key" && "key" in payload) {
1227
1260
  const { key, type, ...params } = payload;
1228
1261
  return sdk.CONFIG.hiveClient.broadcast.transfer(
@@ -1252,17 +1285,11 @@ async function transferHive(payload) {
1252
1285
  null
1253
1286
  )
1254
1287
  );
1288
+ } else if (payload.type === "hiveauth") {
1289
+ return broadcastWithWalletHiveAuth(payload.from, [operation], "active");
1255
1290
  } else {
1256
1291
  return hs__default.default.sendOperation(
1257
- [
1258
- "transfer",
1259
- {
1260
- from: payload.from,
1261
- to: payload.to,
1262
- amount: amountWithSymbol,
1263
- memo: payload.memo
1264
- }
1265
- ],
1292
+ operation,
1266
1293
  { callback: `https://ecency.com/@${payload.from}/wallet` },
1267
1294
  () => {
1268
1295
  }
@@ -1270,6 +1297,13 @@ async function transferHive(payload) {
1270
1297
  }
1271
1298
  }
1272
1299
  async function transferToSavingsHive(payload) {
1300
+ const operationPayload = {
1301
+ from: payload.from,
1302
+ to: payload.to,
1303
+ amount: payload.amount,
1304
+ memo: payload.memo
1305
+ };
1306
+ const operation = ["transfer_to_savings", operationPayload];
1273
1307
  if (payload.type === "key" && "key" in payload) {
1274
1308
  const { key, type, ...params } = payload;
1275
1309
  return sdk.CONFIG.hiveClient.broadcast.sendOperations(
@@ -1277,18 +1311,12 @@ async function transferToSavingsHive(payload) {
1277
1311
  key
1278
1312
  );
1279
1313
  } else if (payload.type === "keychain") {
1280
- return sdk.Keychain.broadcast(
1281
- payload.from,
1282
- [["transfer_to_savings", payload]],
1283
- "Active"
1284
- );
1314
+ return sdk.Keychain.broadcast(payload.from, [operation], "Active");
1315
+ } else if (payload.type === "hiveauth") {
1316
+ return broadcastWithWalletHiveAuth(payload.from, [operation], "active");
1285
1317
  } else {
1286
- return hs__default.default.sendOperation(
1287
- ["transfer_to_savings", payload],
1288
- { callback: `https://ecency.com/@${payload.from}/wallet` },
1289
- () => {
1290
- }
1291
- );
1318
+ return hs__default.default.sendOperation(operation, { callback: `https://ecency.com/@${payload.from}/wallet` }, () => {
1319
+ });
1292
1320
  }
1293
1321
  }
1294
1322
  async function transferFromSavingsHive(payload) {
@@ -1300,28 +1328,31 @@ async function transferFromSavingsHive(payload) {
1300
1328
  memo: payload.memo,
1301
1329
  request_id: requestId
1302
1330
  };
1331
+ const operation = ["transfer_from_savings", operationPayload];
1303
1332
  if (payload.type === "key" && "key" in payload) {
1304
1333
  const { key } = payload;
1305
1334
  return sdk.CONFIG.hiveClient.broadcast.sendOperations(
1306
- [["transfer_from_savings", operationPayload]],
1335
+ [operation],
1307
1336
  key
1308
1337
  );
1309
1338
  }
1310
1339
  if (payload.type === "keychain") {
1311
- return sdk.Keychain.broadcast(
1312
- payload.from,
1313
- [["transfer_from_savings", operationPayload]],
1314
- "Active"
1315
- );
1340
+ return sdk.Keychain.broadcast(payload.from, [operation], "Active");
1316
1341
  }
1317
- return hs__default.default.sendOperation(
1318
- ["transfer_from_savings", operationPayload],
1319
- { callback: `https://ecency.com/@${payload.from}/wallet` },
1320
- () => {
1321
- }
1322
- );
1342
+ if (payload.type === "hiveauth") {
1343
+ return broadcastWithWalletHiveAuth(payload.from, [operation], "active");
1344
+ }
1345
+ return hs__default.default.sendOperation(operation, { callback: `https://ecency.com/@${payload.from}/wallet` }, () => {
1346
+ });
1323
1347
  }
1324
1348
  async function powerUpHive(payload) {
1349
+ const operationPayload = {
1350
+ from: payload.from,
1351
+ to: payload.to,
1352
+ amount: payload.amount,
1353
+ memo: payload.memo
1354
+ };
1355
+ const operation = ["transfer_to_vesting", operationPayload];
1325
1356
  if (payload.type === "key" && "key" in payload) {
1326
1357
  const { key, type, ...params } = payload;
1327
1358
  return sdk.CONFIG.hiveClient.broadcast.sendOperations(
@@ -1329,18 +1360,12 @@ async function powerUpHive(payload) {
1329
1360
  key
1330
1361
  );
1331
1362
  } else if (payload.type === "keychain") {
1332
- return sdk.Keychain.broadcast(
1333
- payload.from,
1334
- [["transfer_to_vesting", payload]],
1335
- "Active"
1336
- );
1363
+ return sdk.Keychain.broadcast(payload.from, [operation], "Active");
1364
+ } else if (payload.type === "hiveauth") {
1365
+ return broadcastWithWalletHiveAuth(payload.from, [operation], "active");
1337
1366
  } else {
1338
- return hs__default.default.sendOperation(
1339
- ["transfer_to_vesting", payload],
1340
- { callback: `https://ecency.com/@${payload.from}/wallet` },
1341
- () => {
1342
- }
1343
- );
1367
+ return hs__default.default.sendOperation(operation, { callback: `https://ecency.com/@${payload.from}/wallet` }, () => {
1368
+ });
1344
1369
  }
1345
1370
  }
1346
1371
  async function delegateHive(payload) {
@@ -1349,25 +1374,20 @@ async function delegateHive(payload) {
1349
1374
  delegatee: payload.to,
1350
1375
  vesting_shares: payload.amount
1351
1376
  };
1377
+ const operation = ["delegate_vesting_shares", operationPayload];
1352
1378
  if (payload.type === "key" && "key" in payload) {
1353
1379
  const { key } = payload;
1354
1380
  return sdk.CONFIG.hiveClient.broadcast.sendOperations(
1355
- [["delegate_vesting_shares", operationPayload]],
1381
+ [operation],
1356
1382
  key
1357
1383
  );
1358
1384
  } else if (payload.type === "keychain") {
1359
- return sdk.Keychain.broadcast(
1360
- payload.from,
1361
- [["delegate_vesting_shares", operationPayload]],
1362
- "Active"
1363
- );
1385
+ return sdk.Keychain.broadcast(payload.from, [operation], "Active");
1386
+ } else if (payload.type === "hiveauth") {
1387
+ return broadcastWithWalletHiveAuth(payload.from, [operation], "active");
1364
1388
  } else {
1365
- return hs__default.default.sendOperation(
1366
- ["delegate_vesting_shares", operationPayload],
1367
- { callback: `https://ecency.com/@${payload.from}/wallet` },
1368
- () => {
1369
- }
1370
- );
1389
+ return hs__default.default.sendOperation(operation, { callback: `https://ecency.com/@${payload.from}/wallet` }, () => {
1390
+ });
1371
1391
  }
1372
1392
  }
1373
1393
  async function powerDownHive(payload) {
@@ -1375,28 +1395,30 @@ async function powerDownHive(payload) {
1375
1395
  account: payload.from,
1376
1396
  vesting_shares: payload.amount
1377
1397
  };
1398
+ const operation = ["withdraw_vesting", operationPayload];
1378
1399
  if (payload.type === "key" && "key" in payload) {
1379
1400
  const { key } = payload;
1380
1401
  return sdk.CONFIG.hiveClient.broadcast.sendOperations(
1381
- [["withdraw_vesting", operationPayload]],
1402
+ [operation],
1382
1403
  key
1383
1404
  );
1384
1405
  } else if (payload.type === "keychain") {
1385
- return sdk.Keychain.broadcast(
1386
- payload.from,
1387
- [["withdraw_vesting", operationPayload]],
1388
- "Active"
1389
- );
1406
+ return sdk.Keychain.broadcast(payload.from, [operation], "Active");
1407
+ } else if (payload.type === "hiveauth") {
1408
+ return broadcastWithWalletHiveAuth(payload.from, [operation], "active");
1390
1409
  } else {
1391
- return hs__default.default.sendOperation(
1392
- ["withdraw_vesting", operationPayload],
1393
- { callback: `https://ecency.com/@${payload.from}/wallet` },
1394
- () => {
1395
- }
1396
- );
1410
+ return hs__default.default.sendOperation(operation, { callback: `https://ecency.com/@${payload.from}/wallet` }, () => {
1411
+ });
1397
1412
  }
1398
1413
  }
1399
1414
  async function withdrawVestingRouteHive(payload) {
1415
+ const baseParams = {
1416
+ from_account: payload.from_account,
1417
+ to_account: payload.to_account,
1418
+ percent: payload.percent,
1419
+ auto_vest: payload.auto_vest
1420
+ };
1421
+ const operation = ["set_withdraw_vesting_route", baseParams];
1400
1422
  if (payload.type === "key" && "key" in payload) {
1401
1423
  const { key, type: type2, ...params2 } = payload;
1402
1424
  return sdk.CONFIG.hiveClient.broadcast.sendOperations(
@@ -1406,19 +1428,14 @@ async function withdrawVestingRouteHive(payload) {
1406
1428
  }
1407
1429
  if (payload.type === "keychain") {
1408
1430
  const { type: type2, ...params2 } = payload;
1409
- return sdk.Keychain.broadcast(
1410
- params2.from_account,
1411
- [["set_withdraw_vesting_route", params2]],
1412
- "Active"
1413
- );
1431
+ return sdk.Keychain.broadcast(params2.from_account, [operation], "Active");
1432
+ }
1433
+ if (payload.type === "hiveauth") {
1434
+ return broadcastWithWalletHiveAuth(payload.from_account, [operation], "active");
1414
1435
  }
1415
1436
  const { type, ...params } = payload;
1416
- return hs__default.default.sendOperation(
1417
- ["set_withdraw_vesting_route", params],
1418
- { callback: `https://ecency.com/@${params.from_account}/wallet` },
1419
- () => {
1420
- }
1421
- );
1437
+ return hs__default.default.sendOperation(operation, { callback: `https://ecency.com/@${params.from_account}/wallet` }, () => {
1438
+ });
1422
1439
  }
1423
1440
  function useClaimRewards(username, onSuccess) {
1424
1441
  const { data } = reactQuery.useQuery(sdk.getAccountFullQueryOptions(username));
@@ -1472,35 +1489,22 @@ async function claimInterestHive(payload) {
1472
1489
  from: payload.from,
1473
1490
  request_id: requestId
1474
1491
  };
1492
+ const operations = [
1493
+ ["transfer_from_savings", baseOperation],
1494
+ ["cancel_transfer_from_savings", cancelOperation]
1495
+ ];
1475
1496
  if (payload.type === "key" && "key" in payload) {
1476
1497
  const { key } = payload;
1477
- return sdk.CONFIG.hiveClient.broadcast.sendOperations(
1478
- [
1479
- ["transfer_from_savings", baseOperation],
1480
- ["cancel_transfer_from_savings", cancelOperation]
1481
- ],
1482
- key
1483
- );
1498
+ return sdk.CONFIG.hiveClient.broadcast.sendOperations(operations, key);
1484
1499
  }
1485
1500
  if (payload.type === "keychain") {
1486
- return sdk.Keychain.broadcast(
1487
- payload.from,
1488
- [
1489
- ["transfer_from_savings", baseOperation],
1490
- ["cancel_transfer_from_savings", cancelOperation]
1491
- ],
1492
- "Active"
1493
- );
1501
+ return sdk.Keychain.broadcast(payload.from, operations, "Active");
1494
1502
  }
1495
- return hs__default.default.sendOperations(
1496
- [
1497
- ["transfer_from_savings", baseOperation],
1498
- ["cancel_transfer_from_savings", cancelOperation]
1499
- ],
1500
- { callback: `https://ecency.com/@${payload.from}/wallet` },
1501
- () => {
1502
- }
1503
- );
1503
+ if (payload.type === "hiveauth") {
1504
+ return broadcastWithWalletHiveAuth(payload.from, operations, "active");
1505
+ }
1506
+ return hs__default.default.sendOperations(operations, { callback: `https://ecency.com/@${payload.from}/wallet` }, () => {
1507
+ });
1504
1508
  }
1505
1509
 
1506
1510
  // src/modules/assets/types/asset-operation.ts
@@ -1536,6 +1540,15 @@ async function transferSpk(payload) {
1536
1540
  required_auths: [payload.from],
1537
1541
  required_posting_auths: []
1538
1542
  };
1543
+ const operation = [
1544
+ "custom_json",
1545
+ {
1546
+ id: op.id,
1547
+ required_auths: [payload.from],
1548
+ required_posting_auths: [],
1549
+ json
1550
+ }
1551
+ ];
1539
1552
  if (payload.type === "key" && "key" in payload) {
1540
1553
  const { key } = payload;
1541
1554
  return sdk.CONFIG.hiveClient.broadcast.json(op, key);
@@ -1547,6 +1560,8 @@ async function transferSpk(payload) {
1547
1560
  json,
1548
1561
  payload.to
1549
1562
  );
1563
+ } else if (payload.type === "hiveauth") {
1564
+ return broadcastWithWalletHiveAuth(payload.from, [operation], "active");
1550
1565
  } else {
1551
1566
  const { amount } = parseAsset(payload.amount);
1552
1567
  return hs__default.default.sign(
@@ -1574,6 +1589,15 @@ var lockLarynx = async (payload) => {
1574
1589
  required_auths: [payload.from],
1575
1590
  required_posting_auths: []
1576
1591
  };
1592
+ const operation = [
1593
+ "custom_json",
1594
+ {
1595
+ id: op.id,
1596
+ required_auths: [payload.from],
1597
+ required_posting_auths: [],
1598
+ json
1599
+ }
1600
+ ];
1577
1601
  if (payload.type === "key" && "key" in payload) {
1578
1602
  const { key } = payload;
1579
1603
  return sdk.CONFIG.hiveClient.broadcast.json(op, key);
@@ -1585,6 +1609,8 @@ var lockLarynx = async (payload) => {
1585
1609
  json,
1586
1610
  payload.from
1587
1611
  );
1612
+ } else if (payload.type === "hiveauth") {
1613
+ return broadcastWithWalletHiveAuth(payload.from, [operation], "active");
1588
1614
  } else {
1589
1615
  const { amount } = parseAsset(payload.amount);
1590
1616
  return hs__default.default.sign(
@@ -1608,6 +1634,15 @@ async function powerUpLarynx(payload) {
1608
1634
  required_auths: [payload.from],
1609
1635
  required_posting_auths: []
1610
1636
  };
1637
+ const operation = [
1638
+ "custom_json",
1639
+ {
1640
+ id: `spkcc_power_${payload.mode}`,
1641
+ required_auths: [payload.from],
1642
+ required_posting_auths: [],
1643
+ json
1644
+ }
1645
+ ];
1611
1646
  if (payload.type === "key" && "key" in payload) {
1612
1647
  const { key } = payload;
1613
1648
  return sdk.CONFIG.hiveClient.broadcast.json(op, key);
@@ -1619,6 +1654,8 @@ async function powerUpLarynx(payload) {
1619
1654
  json,
1620
1655
  ""
1621
1656
  );
1657
+ } else if (payload.type === "hiveauth") {
1658
+ return broadcastWithWalletHiveAuth(payload.from, [operation], "active");
1622
1659
  } else {
1623
1660
  const { amount } = parseAsset(payload.amount);
1624
1661
  return hs__default.default.sign(
@@ -1646,6 +1683,15 @@ async function transferLarynx(payload) {
1646
1683
  required_auths: [payload.from],
1647
1684
  required_posting_auths: []
1648
1685
  };
1686
+ const operation = [
1687
+ "custom_json",
1688
+ {
1689
+ id: "spkcc_send",
1690
+ required_auths: [payload.from],
1691
+ required_posting_auths: [],
1692
+ json
1693
+ }
1694
+ ];
1649
1695
  if (payload.type === "key" && "key" in payload) {
1650
1696
  const { key } = payload;
1651
1697
  return sdk.CONFIG.hiveClient.broadcast.json(op, key);
@@ -1657,6 +1703,8 @@ async function transferLarynx(payload) {
1657
1703
  json,
1658
1704
  payload.to
1659
1705
  );
1706
+ } else if (payload.type === "hiveauth") {
1707
+ return broadcastWithWalletHiveAuth(payload.from, [operation], "active");
1660
1708
  } else {
1661
1709
  const { amount } = parseAsset(payload.amount);
1662
1710
  return hs__default.default.sign(
@@ -2057,6 +2105,23 @@ function getHiveEngineTokensMetricsQueryOptions(symbol, interval = "daily") {
2057
2105
  async function delegateEngineToken(payload) {
2058
2106
  const parsedAsset = parseAsset(payload.amount);
2059
2107
  const quantity = parsedAsset.amount.toString();
2108
+ const operation = [
2109
+ "custom_json",
2110
+ {
2111
+ id: "ssc-mainnet-hive",
2112
+ required_auths: [payload.from],
2113
+ required_posting_auths: [],
2114
+ json: JSON.stringify({
2115
+ contractName: "tokens",
2116
+ contractAction: "delegate",
2117
+ contractPayload: {
2118
+ symbol: payload.asset,
2119
+ to: payload.to,
2120
+ quantity
2121
+ }
2122
+ })
2123
+ }
2124
+ ];
2060
2125
  if (payload.type === "key" && "key" in payload) {
2061
2126
  const { key, type, ...params } = payload;
2062
2127
  const op = {
@@ -2080,15 +2145,7 @@ async function delegateEngineToken(payload) {
2080
2145
  payload.from,
2081
2146
  "ssc-mainnet-hive",
2082
2147
  "Active",
2083
- JSON.stringify({
2084
- contractName: "tokens",
2085
- contractAction: "delegate",
2086
- contractPayload: {
2087
- symbol: payload.asset,
2088
- to: payload.to,
2089
- quantity
2090
- }
2091
- }),
2148
+ operation[1].json,
2092
2149
  "Token Delegation",
2093
2150
  (resp) => {
2094
2151
  if (!resp.success) {
@@ -2098,25 +2155,11 @@ async function delegateEngineToken(payload) {
2098
2155
  }
2099
2156
  )
2100
2157
  );
2158
+ } else if (payload.type === "hiveauth") {
2159
+ return broadcastWithWalletHiveAuth(payload.from, [operation], "active");
2101
2160
  } else {
2102
2161
  return hs__default.default.sendOperation(
2103
- [
2104
- "custom_json",
2105
- {
2106
- id: "ssc-mainnet-hive",
2107
- required_auths: [payload.from],
2108
- required_posting_auths: [],
2109
- json: JSON.stringify({
2110
- contractName: "tokens",
2111
- contractAction: "delegate",
2112
- contractPayload: {
2113
- symbol: payload.asset,
2114
- to: payload.to,
2115
- quantity
2116
- }
2117
- })
2118
- }
2119
- ],
2162
+ operation,
2120
2163
  { callback: `https://ecency.com/@${payload.from}/wallet` },
2121
2164
  () => {
2122
2165
  }
@@ -2126,6 +2169,23 @@ async function delegateEngineToken(payload) {
2126
2169
  async function undelegateEngineToken(payload) {
2127
2170
  const parsedAsset = parseAsset(payload.amount);
2128
2171
  const quantity = parsedAsset.amount.toString();
2172
+ const operation = [
2173
+ "custom_json",
2174
+ {
2175
+ id: "ssc-mainnet-hive",
2176
+ required_auths: [payload.from],
2177
+ required_posting_auths: [],
2178
+ json: JSON.stringify({
2179
+ contractName: "tokens",
2180
+ contractAction: "undelegate",
2181
+ contractPayload: {
2182
+ symbol: payload.asset,
2183
+ from: payload.to,
2184
+ quantity
2185
+ }
2186
+ })
2187
+ }
2188
+ ];
2129
2189
  if (payload.type === "key" && "key" in payload) {
2130
2190
  const { key, type, ...params } = payload;
2131
2191
  const op = {
@@ -2149,15 +2209,7 @@ async function undelegateEngineToken(payload) {
2149
2209
  payload.from,
2150
2210
  "ssc-mainnet-hive",
2151
2211
  "Active",
2152
- JSON.stringify({
2153
- contractName: "tokens",
2154
- contractAction: "undelegate",
2155
- contractPayload: {
2156
- symbol: payload.asset,
2157
- from: payload.to,
2158
- quantity
2159
- }
2160
- }),
2212
+ operation[1].json,
2161
2213
  "Token Undelegation",
2162
2214
  (resp) => {
2163
2215
  if (!resp.success) {
@@ -2167,25 +2219,11 @@ async function undelegateEngineToken(payload) {
2167
2219
  }
2168
2220
  )
2169
2221
  );
2222
+ } else if (payload.type === "hiveauth") {
2223
+ return broadcastWithWalletHiveAuth(payload.from, [operation], "active");
2170
2224
  } else {
2171
2225
  return hs__default.default.sendOperation(
2172
- [
2173
- "custom_json",
2174
- {
2175
- id: "ssc-mainnet-hive",
2176
- required_auths: [payload.from],
2177
- required_posting_auths: [],
2178
- json: JSON.stringify({
2179
- contractName: "tokens",
2180
- contractAction: "undelegate",
2181
- contractPayload: {
2182
- symbol: payload.asset,
2183
- from: payload.to,
2184
- quantity
2185
- }
2186
- })
2187
- }
2188
- ],
2226
+ operation,
2189
2227
  { callback: `https://ecency.com/@${payload.from}/wallet` },
2190
2228
  () => {
2191
2229
  }
@@ -2195,6 +2233,23 @@ async function undelegateEngineToken(payload) {
2195
2233
  async function stakeEngineToken(payload) {
2196
2234
  const parsedAsset = parseAsset(payload.amount);
2197
2235
  const quantity = parsedAsset.amount.toString();
2236
+ const operation = [
2237
+ "custom_json",
2238
+ {
2239
+ id: "ssc-mainnet-hive",
2240
+ required_auths: [payload.from],
2241
+ required_posting_auths: [],
2242
+ json: JSON.stringify({
2243
+ contractName: "tokens",
2244
+ contractAction: "stake",
2245
+ contractPayload: {
2246
+ symbol: payload.asset,
2247
+ to: payload.to,
2248
+ quantity
2249
+ }
2250
+ })
2251
+ }
2252
+ ];
2198
2253
  if (payload.type === "key" && "key" in payload) {
2199
2254
  const { key, type, ...params } = payload;
2200
2255
  const op = {
@@ -2218,15 +2273,7 @@ async function stakeEngineToken(payload) {
2218
2273
  payload.from,
2219
2274
  "ssc-mainnet-hive",
2220
2275
  "Active",
2221
- JSON.stringify({
2222
- contractName: "tokens",
2223
- contractAction: "stake",
2224
- contractPayload: {
2225
- symbol: payload.asset,
2226
- to: payload.to,
2227
- quantity
2228
- }
2229
- }),
2276
+ operation[1].json,
2230
2277
  "Token Staking",
2231
2278
  (resp) => {
2232
2279
  if (!resp.success) {
@@ -2236,25 +2283,11 @@ async function stakeEngineToken(payload) {
2236
2283
  }
2237
2284
  )
2238
2285
  );
2286
+ } else if (payload.type === "hiveauth") {
2287
+ return broadcastWithWalletHiveAuth(payload.from, [operation], "active");
2239
2288
  } else {
2240
2289
  return hs__default.default.sendOperation(
2241
- [
2242
- "custom_json",
2243
- {
2244
- id: "ssc-mainnet-hive",
2245
- required_auths: [payload.from],
2246
- required_posting_auths: [],
2247
- json: JSON.stringify({
2248
- contractName: "tokens",
2249
- contractAction: "stake",
2250
- contractPayload: {
2251
- symbol: payload.asset,
2252
- to: payload.to,
2253
- quantity
2254
- }
2255
- })
2256
- }
2257
- ],
2290
+ operation,
2258
2291
  { callback: `https://ecency.com/@${payload.from}/wallet` },
2259
2292
  () => {
2260
2293
  }
@@ -2264,6 +2297,23 @@ async function stakeEngineToken(payload) {
2264
2297
  async function unstakeEngineToken(payload) {
2265
2298
  const parsedAsset = parseAsset(payload.amount);
2266
2299
  const quantity = parsedAsset.amount.toString();
2300
+ const operation = [
2301
+ "custom_json",
2302
+ {
2303
+ id: "ssc-mainnet-hive",
2304
+ required_auths: [payload.from],
2305
+ required_posting_auths: [],
2306
+ json: JSON.stringify({
2307
+ contractName: "tokens",
2308
+ contractAction: "unstake",
2309
+ contractPayload: {
2310
+ symbol: payload.asset,
2311
+ to: payload.to,
2312
+ quantity
2313
+ }
2314
+ })
2315
+ }
2316
+ ];
2267
2317
  if (payload.type === "key" && "key" in payload) {
2268
2318
  const { key, type, ...params } = payload;
2269
2319
  const op = {
@@ -2287,15 +2337,7 @@ async function unstakeEngineToken(payload) {
2287
2337
  payload.from,
2288
2338
  "ssc-mainnet-hive",
2289
2339
  "Active",
2290
- JSON.stringify({
2291
- contractName: "tokens",
2292
- contractAction: "unstake",
2293
- contractPayload: {
2294
- symbol: payload.asset,
2295
- to: payload.to,
2296
- quantity
2297
- }
2298
- }),
2340
+ operation[1].json,
2299
2341
  "Token Unstaking",
2300
2342
  (resp) => {
2301
2343
  if (!resp.success) {
@@ -2305,25 +2347,11 @@ async function unstakeEngineToken(payload) {
2305
2347
  }
2306
2348
  )
2307
2349
  );
2350
+ } else if (payload.type === "hiveauth") {
2351
+ return broadcastWithWalletHiveAuth(payload.from, [operation], "active");
2308
2352
  } else {
2309
2353
  return hs__default.default.sendOperation(
2310
- [
2311
- "custom_json",
2312
- {
2313
- id: "ssc-mainnet-hive",
2314
- required_auths: [payload.from],
2315
- required_posting_auths: [],
2316
- json: JSON.stringify({
2317
- contractName: "tokens",
2318
- contractAction: "unstake",
2319
- contractPayload: {
2320
- symbol: payload.asset,
2321
- to: payload.to,
2322
- quantity
2323
- }
2324
- })
2325
- }
2326
- ],
2354
+ operation,
2327
2355
  { callback: `https://ecency.com/@${payload.from}/wallet` },
2328
2356
  () => {
2329
2357
  }
@@ -2333,6 +2361,24 @@ async function unstakeEngineToken(payload) {
2333
2361
  async function transferEngineToken(payload) {
2334
2362
  const parsedAsset = parseAsset(payload.amount);
2335
2363
  const quantity = parsedAsset.amount.toString();
2364
+ const operation = [
2365
+ "custom_json",
2366
+ {
2367
+ id: "ssc-mainnet-hive",
2368
+ required_auths: [payload.from],
2369
+ required_posting_auths: [],
2370
+ json: JSON.stringify({
2371
+ contractName: "tokens",
2372
+ contractAction: "transfer",
2373
+ contractPayload: {
2374
+ symbol: payload.asset,
2375
+ to: payload.to,
2376
+ quantity,
2377
+ memo: payload.memo
2378
+ }
2379
+ })
2380
+ }
2381
+ ];
2336
2382
  if (payload.type === "key" && "key" in payload) {
2337
2383
  const { key, type, ...params } = payload;
2338
2384
  const op = {
@@ -2357,16 +2403,7 @@ async function transferEngineToken(payload) {
2357
2403
  payload.from,
2358
2404
  "ssc-mainnet-hive",
2359
2405
  "Active",
2360
- JSON.stringify({
2361
- contractName: "tokens",
2362
- contractAction: "transfer",
2363
- contractPayload: {
2364
- symbol: payload.asset,
2365
- to: payload.to,
2366
- quantity,
2367
- memo: payload.memo
2368
- }
2369
- }),
2406
+ operation[1].json,
2370
2407
  "Token Transfer",
2371
2408
  (resp) => {
2372
2409
  if (!resp.success) {
@@ -2376,26 +2413,11 @@ async function transferEngineToken(payload) {
2376
2413
  }
2377
2414
  )
2378
2415
  );
2416
+ } else if (payload.type === "hiveauth") {
2417
+ return broadcastWithWalletHiveAuth(payload.from, [operation], "active");
2379
2418
  } else {
2380
2419
  return hs__default.default.sendOperation(
2381
- [
2382
- "custom_json",
2383
- {
2384
- id: "ssc-mainnet-hive",
2385
- required_auths: [payload.from],
2386
- required_posting_auths: [],
2387
- json: JSON.stringify({
2388
- contractName: "tokens",
2389
- contractAction: "transfer",
2390
- contractPayload: {
2391
- symbol: payload.asset,
2392
- to: payload.to,
2393
- quantity,
2394
- memo: payload.memo
2395
- }
2396
- })
2397
- }
2398
- ],
2420
+ operation,
2399
2421
  { callback: `https://ecency.com/@${payload.from}/wallet` },
2400
2422
  () => {
2401
2423
  }
@@ -2558,12 +2580,11 @@ async function transferPoint({
2558
2580
  if (type === "keychain") {
2559
2581
  return sdk.Keychain.broadcast(from, [op], "Active");
2560
2582
  }
2561
- return hs__default.default.sendOperation(
2562
- op,
2563
- { callback: `https://ecency.com/@${from}/wallet` },
2564
- () => {
2565
- }
2566
- );
2583
+ if (type === "hiveauth") {
2584
+ return broadcastWithWalletHiveAuth(from, [op], "active");
2585
+ }
2586
+ return hs__default.default.sendOperation(op, { callback: `https://ecency.com/@${from}/wallet` }, () => {
2587
+ });
2567
2588
  }
2568
2589
 
2569
2590
  // src/modules/assets/points/types/point-transaction-type.ts
@@ -3748,6 +3769,7 @@ exports.HIVE_OPERATION_ORDERS = HIVE_OPERATION_ORDERS;
3748
3769
  exports.NaiMap = NaiMap;
3749
3770
  exports.PointTransactionType = PointTransactionType;
3750
3771
  exports.Symbol = Symbol2;
3772
+ exports.broadcastWithWalletHiveAuth = broadcastWithWalletHiveAuth;
3751
3773
  exports.buildAptTx = buildAptTx;
3752
3774
  exports.buildEthTx = buildEthTx;
3753
3775
  exports.buildExternalTx = buildExternalTx;
@@ -3798,6 +3820,7 @@ exports.getSpkMarketsQueryOptions = getSpkMarketsQueryOptions;
3798
3820
  exports.getTokenOperationsQueryOptions = getTokenOperationsQueryOptions;
3799
3821
  exports.getTokenPriceQueryOptions = getTokenPriceQueryOptions;
3800
3822
  exports.getWallet = getWallet;
3823
+ exports.hasWalletHiveAuthBroadcast = hasWalletHiveAuthBroadcast;
3801
3824
  exports.isEmptyDate = isEmptyDate;
3802
3825
  exports.lockLarynx = lockLarynx;
3803
3826
  exports.mnemonicToSeedBip39 = mnemonicToSeedBip39;
@@ -3805,6 +3828,7 @@ exports.parseAsset = parseAsset;
3805
3828
  exports.powerDownHive = powerDownHive;
3806
3829
  exports.powerUpHive = powerUpHive;
3807
3830
  exports.powerUpLarynx = powerUpLarynx;
3831
+ exports.registerWalletHiveAuthBroadcast = registerWalletHiveAuthBroadcast;
3808
3832
  exports.resolveHiveOperationFilters = resolveHiveOperationFilters;
3809
3833
  exports.rewardSpk = rewardSpk;
3810
3834
  exports.signDigest = signDigest;