@xyo-network/xl1-protocol-sdk 1.16.18 → 1.16.20
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/neutral/index.mjs +250 -29
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/model/ChainContext/ChainStakeContext.d.ts +1 -2
- package/dist/neutral/model/ChainContext/ChainStakeContext.d.ts.map +1 -1
- package/dist/neutral/provider/XyoClient.d.ts +2 -1
- package/dist/neutral/provider/XyoClient.d.ts.map +1 -1
- package/dist/neutral/provider/permissions/InvokerPermission.d.ts +1 -1
- package/dist/neutral/simple/chainStake/SimpleChainStakeViewer.d.ts +34 -0
- package/dist/neutral/simple/chainStake/SimpleChainStakeViewer.d.ts.map +1 -0
- package/dist/neutral/simple/chainStake/index.d.ts +2 -0
- package/dist/neutral/simple/chainStake/index.d.ts.map +1 -0
- package/dist/neutral/simple/chainStakeEvents/SimpleChainStakeEventsViewer.d.ts +15 -0
- package/dist/neutral/simple/chainStakeEvents/SimpleChainStakeEventsViewer.d.ts.map +1 -0
- package/dist/neutral/simple/chainStakeEvents/index.d.ts +2 -0
- package/dist/neutral/simple/chainStakeEvents/index.d.ts.map +1 -0
- package/dist/neutral/simple/client/SimpleXyoClient.d.ts +3 -3
- package/dist/neutral/simple/client/SimpleXyoClient.d.ts.map +1 -1
- package/dist/neutral/simple/index.d.ts +1 -0
- package/dist/neutral/simple/index.d.ts.map +1 -1
- package/dist/neutral/viewers/Stake.d.ts +2 -1
- package/dist/neutral/viewers/Stake.d.ts.map +1 -1
- package/package.json +5 -4
- package/src/model/ChainContext/ChainStakeContext.ts +1 -4
- package/src/provider/XyoClient.ts +2 -1
- package/src/provider/permissions/InvokerPermission.ts +1 -1
- package/src/provider/viewer/NetworkStake/Rewards/ByPositionViewer.ts +1 -1
- package/src/provider/viewer/NetworkStake/Rewards/ByStakerViewer.ts +1 -1
- package/src/provider/viewer/NetworkStake/Rewards/ByStepViewer.ts +1 -1
- package/src/provider/viewer/NetworkStake/Rewards/TotalViewer.ts +1 -1
- package/src/provider/viewer/NetworkStake/index.ts +1 -1
- package/src/simple/chainStake/SimpleChainStakeViewer.ts +147 -0
- package/src/simple/chainStake/index.ts +1 -0
- package/src/simple/chainStakeEvents/SimpleChainStakeEventsViewer.ts +87 -0
- package/src/simple/chainStakeEvents/index.ts +1 -0
- package/src/simple/client/SimpleXyoClient.ts +3 -3
- package/src/simple/index.ts +1 -0
- package/src/viewers/Stake.ts +2 -1
package/dist/neutral/index.mjs
CHANGED
|
@@ -1504,6 +1504,226 @@ var SimpleAccountBalanceViewer = class {
|
|
|
1504
1504
|
}
|
|
1505
1505
|
};
|
|
1506
1506
|
|
|
1507
|
+
// src/simple/chainStake/SimpleChainStakeViewer.ts
|
|
1508
|
+
import { asAddress as asAddress5, toAddress as toAddress4 } from "@xylabs/sdk-js";
|
|
1509
|
+
import { AbstractCreatable as AbstractCreatable2, assertEx as assertEx8, creatable as creatable2 } from "@xylabs/sdk-js";
|
|
1510
|
+
import { Account } from "@xyo-network/account";
|
|
1511
|
+
|
|
1512
|
+
// src/simple/chainStakeEvents/SimpleChainStakeEventsViewer.ts
|
|
1513
|
+
import { AbstractCreatable, creatable, isDefined as isDefined9 } from "@xylabs/sdk-js";
|
|
1514
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
1515
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1516
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1517
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
1518
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1519
|
+
}
|
|
1520
|
+
__name(_ts_decorate, "_ts_decorate");
|
|
1521
|
+
var SimpleChainStakeEventsViewer = class extends AbstractCreatable {
|
|
1522
|
+
static {
|
|
1523
|
+
__name(this, "SimpleChainStakeEventsViewer");
|
|
1524
|
+
}
|
|
1525
|
+
get positions() {
|
|
1526
|
+
return this.params.positions;
|
|
1527
|
+
}
|
|
1528
|
+
positionCount(range) {
|
|
1529
|
+
return this.positionsFromRange(range).length;
|
|
1530
|
+
}
|
|
1531
|
+
stakeEvents(range, { name } = {}) {
|
|
1532
|
+
const positions = this.positionsFromRange(range);
|
|
1533
|
+
const events = this.eventsFromPositions(positions);
|
|
1534
|
+
if (isDefined9(name)) {
|
|
1535
|
+
return events.filter((event) => event.name === name);
|
|
1536
|
+
}
|
|
1537
|
+
return events;
|
|
1538
|
+
}
|
|
1539
|
+
async startHandler() {
|
|
1540
|
+
await super.startHandler();
|
|
1541
|
+
}
|
|
1542
|
+
eventsFromPositions(positions) {
|
|
1543
|
+
const events = positions.map((position) => {
|
|
1544
|
+
const events2 = [
|
|
1545
|
+
{
|
|
1546
|
+
name: "StakeAdded",
|
|
1547
|
+
time: position.addBlock,
|
|
1548
|
+
args: {
|
|
1549
|
+
staker: position.staker,
|
|
1550
|
+
staked: position.staked,
|
|
1551
|
+
amount: position.amount,
|
|
1552
|
+
id: position.id
|
|
1553
|
+
}
|
|
1554
|
+
}
|
|
1555
|
+
];
|
|
1556
|
+
if (position.removeBlock !== 0) {
|
|
1557
|
+
events2.push({
|
|
1558
|
+
name: "StakeRemoved",
|
|
1559
|
+
time: position.removeBlock,
|
|
1560
|
+
args: {
|
|
1561
|
+
staker: position.staker,
|
|
1562
|
+
staked: position.staked,
|
|
1563
|
+
amount: position.amount,
|
|
1564
|
+
id: position.id
|
|
1565
|
+
}
|
|
1566
|
+
});
|
|
1567
|
+
}
|
|
1568
|
+
if (position.withdrawBlock !== 0) {
|
|
1569
|
+
events2.push({
|
|
1570
|
+
name: "StakeWithdrawn",
|
|
1571
|
+
time: position.withdrawBlock,
|
|
1572
|
+
args: {
|
|
1573
|
+
staker: position.staker,
|
|
1574
|
+
staked: position.staked,
|
|
1575
|
+
amount: position.amount,
|
|
1576
|
+
id: position.id
|
|
1577
|
+
}
|
|
1578
|
+
});
|
|
1579
|
+
}
|
|
1580
|
+
return events2;
|
|
1581
|
+
});
|
|
1582
|
+
return events.flat();
|
|
1583
|
+
}
|
|
1584
|
+
positionsFromRange(range) {
|
|
1585
|
+
const startBlock = range[0];
|
|
1586
|
+
const endBlock = range[1] === "latest" ? Number.MAX_SAFE_INTEGER : range[1];
|
|
1587
|
+
const filteredPositions = this.positions.filter((position) => {
|
|
1588
|
+
return position.addBlock <= endBlock && (position.removeBlock === 0 || position.removeBlock >= startBlock);
|
|
1589
|
+
});
|
|
1590
|
+
return filteredPositions;
|
|
1591
|
+
}
|
|
1592
|
+
};
|
|
1593
|
+
SimpleChainStakeEventsViewer = _ts_decorate([
|
|
1594
|
+
creatable()
|
|
1595
|
+
], SimpleChainStakeEventsViewer);
|
|
1596
|
+
|
|
1597
|
+
// src/simple/chainStake/SimpleChainStakeViewer.ts
|
|
1598
|
+
function _ts_decorate2(decorators, target, key, desc) {
|
|
1599
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1600
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1601
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
1602
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1603
|
+
}
|
|
1604
|
+
__name(_ts_decorate2, "_ts_decorate");
|
|
1605
|
+
var SimpleChainStakeViewer = class extends AbstractCreatable2 {
|
|
1606
|
+
static {
|
|
1607
|
+
__name(this, "SimpleChainStakeViewer");
|
|
1608
|
+
}
|
|
1609
|
+
_chainId;
|
|
1610
|
+
_chainStakeEventsViewer;
|
|
1611
|
+
get chainId() {
|
|
1612
|
+
return assertEx8(this._chainId, () => "Chain ID not set");
|
|
1613
|
+
}
|
|
1614
|
+
get chainMap() {
|
|
1615
|
+
return this.params.chainMap;
|
|
1616
|
+
}
|
|
1617
|
+
get minWithdrawalBlocks() {
|
|
1618
|
+
return this.params.minWithdrawalBlocks ?? 10;
|
|
1619
|
+
}
|
|
1620
|
+
get rewardsContract() {
|
|
1621
|
+
return toAddress4("0x000000000000000000000000000000");
|
|
1622
|
+
}
|
|
1623
|
+
get stakeEvents() {
|
|
1624
|
+
return assertEx8(this._chainStakeEventsViewer, () => "Stake events viewer not set");
|
|
1625
|
+
}
|
|
1626
|
+
get stakingTokenAddress() {
|
|
1627
|
+
return toAddress4("0x000000000000000000000000000011");
|
|
1628
|
+
}
|
|
1629
|
+
get positions() {
|
|
1630
|
+
return this.params.positions;
|
|
1631
|
+
}
|
|
1632
|
+
active() {
|
|
1633
|
+
let active = 0n;
|
|
1634
|
+
for (const position of this.positions) {
|
|
1635
|
+
if (position.removeBlock === 0) {
|
|
1636
|
+
active += position.amount;
|
|
1637
|
+
}
|
|
1638
|
+
}
|
|
1639
|
+
return active;
|
|
1640
|
+
}
|
|
1641
|
+
activeByAddressStaked(staked) {
|
|
1642
|
+
let active = 0n;
|
|
1643
|
+
for (const position of this.positions) {
|
|
1644
|
+
if (position.removeBlock === 0 && asAddress5(position.staked) === asAddress5(staked)) {
|
|
1645
|
+
active += position.amount;
|
|
1646
|
+
}
|
|
1647
|
+
}
|
|
1648
|
+
return active;
|
|
1649
|
+
}
|
|
1650
|
+
activeByStaker(staker) {
|
|
1651
|
+
let active = 0n;
|
|
1652
|
+
for (const position of this.positions) {
|
|
1653
|
+
if (position.removeBlock === 0 && asAddress5(position.staker) === asAddress5(staker)) {
|
|
1654
|
+
active += position.amount;
|
|
1655
|
+
}
|
|
1656
|
+
}
|
|
1657
|
+
return active;
|
|
1658
|
+
}
|
|
1659
|
+
pending() {
|
|
1660
|
+
let pending = 0n;
|
|
1661
|
+
for (const position of this.positions) {
|
|
1662
|
+
if (position.removeBlock !== 0 && position.withdrawBlock === 0) {
|
|
1663
|
+
pending += position.amount;
|
|
1664
|
+
}
|
|
1665
|
+
}
|
|
1666
|
+
return pending;
|
|
1667
|
+
}
|
|
1668
|
+
pendingByStaker(staker) {
|
|
1669
|
+
let pending = 0n;
|
|
1670
|
+
for (const position of this.positions) {
|
|
1671
|
+
if (position.removeBlock !== 0 && position.withdrawBlock === 0 && asAddress5(position.staker) === asAddress5(staker)) {
|
|
1672
|
+
pending += position.amount;
|
|
1673
|
+
}
|
|
1674
|
+
}
|
|
1675
|
+
return pending;
|
|
1676
|
+
}
|
|
1677
|
+
stakeById(id) {
|
|
1678
|
+
return assertEx8(this.positions[id], () => new Error(`Stake with id ${id} not found`));
|
|
1679
|
+
}
|
|
1680
|
+
stakeByStaker(staker, slot) {
|
|
1681
|
+
return this.positions.filter((s) => asAddress5(s.staker) === asAddress5(staker))[slot];
|
|
1682
|
+
}
|
|
1683
|
+
stakesByStaked(staked, range = [
|
|
1684
|
+
0,
|
|
1685
|
+
void 0
|
|
1686
|
+
]) {
|
|
1687
|
+
const endBlock = range[1] ?? Number.MAX_SAFE_INTEGER;
|
|
1688
|
+
return this.positions.filter((s) => asAddress5(s.staked) === asAddress5(staked) && s.addBlock <= endBlock && s.removeBlock <= endBlock);
|
|
1689
|
+
}
|
|
1690
|
+
stakesByStaker(staker, range = [
|
|
1691
|
+
0,
|
|
1692
|
+
void 0
|
|
1693
|
+
]) {
|
|
1694
|
+
const endBlock = range[1] ?? Number.MAX_SAFE_INTEGER;
|
|
1695
|
+
return this.positions.filter((s) => asAddress5(s.staker) === asAddress5(staker) && s.addBlock <= endBlock && s.removeBlock <= endBlock);
|
|
1696
|
+
}
|
|
1697
|
+
withdrawn() {
|
|
1698
|
+
let withdrawn = 0n;
|
|
1699
|
+
for (const position of this.positions) {
|
|
1700
|
+
if (position.withdrawBlock !== 0) {
|
|
1701
|
+
withdrawn += position.amount;
|
|
1702
|
+
}
|
|
1703
|
+
}
|
|
1704
|
+
return withdrawn;
|
|
1705
|
+
}
|
|
1706
|
+
withdrawnByStaker(staker) {
|
|
1707
|
+
let withdrawn = 0n;
|
|
1708
|
+
for (const position of this.positions) {
|
|
1709
|
+
if (position.withdrawBlock !== 0 && asAddress5(position.staker) === asAddress5(staker)) {
|
|
1710
|
+
withdrawn += position.amount;
|
|
1711
|
+
}
|
|
1712
|
+
}
|
|
1713
|
+
return withdrawn;
|
|
1714
|
+
}
|
|
1715
|
+
async startHandler() {
|
|
1716
|
+
await super.startHandler();
|
|
1717
|
+
this._chainId = this.params.chainId ?? (await Account.random()).address;
|
|
1718
|
+
this._chainStakeEventsViewer = await SimpleChainStakeEventsViewer.create({
|
|
1719
|
+
positions: this.positions
|
|
1720
|
+
});
|
|
1721
|
+
}
|
|
1722
|
+
};
|
|
1723
|
+
SimpleChainStakeViewer = _ts_decorate2([
|
|
1724
|
+
creatable2()
|
|
1725
|
+
], SimpleChainStakeViewer);
|
|
1726
|
+
|
|
1507
1727
|
// src/simple/client/SimpleXyoClient.ts
|
|
1508
1728
|
var SimpleXyoClient = class {
|
|
1509
1729
|
static {
|
|
@@ -1622,12 +1842,12 @@ var SimpleXyoGateway = class {
|
|
|
1622
1842
|
};
|
|
1623
1843
|
|
|
1624
1844
|
// src/simple/gateway/SimpleXyoGatewayRunner.ts
|
|
1625
|
-
import { assertEx as
|
|
1845
|
+
import { assertEx as assertEx13, BigIntToJsonZod, isDefined as isDefined11 } from "@xylabs/sdk-js";
|
|
1626
1846
|
import { PayloadBuilder as PayloadBuilder9 } from "@xyo-network/payload-builder";
|
|
1627
1847
|
import { TransferSchema as TransferSchema2 } from "@xyo-network/xl1-protocol";
|
|
1628
1848
|
|
|
1629
1849
|
// src/transaction/buildTransaction.ts
|
|
1630
|
-
import { assertEx as
|
|
1850
|
+
import { assertEx as assertEx9, toHex as toHex2 } from "@xylabs/sdk-js";
|
|
1631
1851
|
import { BoundWitnessBuilder } from "@xyo-network/boundwitness-builder";
|
|
1632
1852
|
import { PayloadBuilder as PayloadBuilder5 } from "@xyo-network/payload-builder";
|
|
1633
1853
|
import { defaultTransactionFees } from "@xyo-network/xl1-protocol";
|
|
@@ -1653,7 +1873,7 @@ async function buildTransaction(chain, onChainPayloads, offChainPayloads, signer
|
|
|
1653
1873
|
}
|
|
1654
1874
|
const fields = {
|
|
1655
1875
|
...txBoundWitnessFields,
|
|
1656
|
-
from: from ?? (Array.isArray(signer) ?
|
|
1876
|
+
from: from ?? (Array.isArray(signer) ? assertEx9(signer.at(0)?.address) : signer.address)
|
|
1657
1877
|
};
|
|
1658
1878
|
if (script.length > 0) {
|
|
1659
1879
|
fields.script = script;
|
|
@@ -1716,7 +1936,7 @@ async function buildUnsignedTransaction(chain, onChainPayloads, offChainPayloads
|
|
|
1716
1936
|
__name(buildUnsignedTransaction, "buildUnsignedTransaction");
|
|
1717
1937
|
|
|
1718
1938
|
// src/transaction/confirmSubmittedTransaction.ts
|
|
1719
|
-
import { delay, isDefined as
|
|
1939
|
+
import { delay, isDefined as isDefined10 } from "@xylabs/sdk-js";
|
|
1720
1940
|
var DEFAULT_CONFIRMATION_ATTEMPTS = 20;
|
|
1721
1941
|
var DEFAULT_DELAY_BETWEEN_ATTEMPTS = 1e3;
|
|
1722
1942
|
var confirmSubmittedTransaction = /* @__PURE__ */ __name(async (viewer, txHash, options) => {
|
|
@@ -1725,7 +1945,7 @@ var confirmSubmittedTransaction = /* @__PURE__ */ __name(async (viewer, txHash,
|
|
|
1725
1945
|
let attempts = 0;
|
|
1726
1946
|
while (true) {
|
|
1727
1947
|
const tx = await viewer.transactionByHash(txHash) ?? void 0;
|
|
1728
|
-
if (
|
|
1948
|
+
if (isDefined10(tx)) {
|
|
1729
1949
|
options?.logger?.log("\u2705 Transaction confirmed:", txHash, "\n");
|
|
1730
1950
|
return tx;
|
|
1731
1951
|
} else {
|
|
@@ -1742,7 +1962,7 @@ var confirmSubmittedTransaction = /* @__PURE__ */ __name(async (viewer, txHash,
|
|
|
1742
1962
|
}, "confirmSubmittedTransaction");
|
|
1743
1963
|
|
|
1744
1964
|
// src/transaction/hydrateTransaction.ts
|
|
1745
|
-
import { assertEx as
|
|
1965
|
+
import { assertEx as assertEx10 } from "@xylabs/sdk-js";
|
|
1746
1966
|
import { hydrateTypedBoundWitness, tryHydrateTypedBoundWitness } from "@xyo-network/archivist-model";
|
|
1747
1967
|
import { isAllowedBlockPayload as isAllowedBlockPayload2, isSignedTransactionBoundWitnessWithStorageMeta } from "@xyo-network/xl1-protocol";
|
|
1748
1968
|
var tryHydrateTransaction = /* @__PURE__ */ __name(async ({ chainMap }, hash) => {
|
|
@@ -1801,7 +2021,7 @@ var tryHydrateElevatedTransaction = /* @__PURE__ */ __name(async ({ chainMap },
|
|
|
1801
2021
|
return void 0;
|
|
1802
2022
|
}, "tryHydrateElevatedTransaction");
|
|
1803
2023
|
var hydrateElevatedTransaction = /* @__PURE__ */ __name(async (context, hash) => {
|
|
1804
|
-
return
|
|
2024
|
+
return assertEx10(await tryHydrateElevatedTransaction(context, hash), () => "Hydration failed");
|
|
1805
2025
|
}, "hydrateElevatedTransaction");
|
|
1806
2026
|
|
|
1807
2027
|
// src/transaction/primitives/transactionBlockByteCount.ts
|
|
@@ -1867,7 +2087,7 @@ __name(transactionRequiredGas, "transactionRequiredGas");
|
|
|
1867
2087
|
|
|
1868
2088
|
// src/transaction/script.ts
|
|
1869
2089
|
import { asHash as asHash4 } from "@xylabs/sdk-js";
|
|
1870
|
-
import { assertEx as
|
|
2090
|
+
import { assertEx as assertEx11, filterAs as filterAs2 } from "@xylabs/sdk-js";
|
|
1871
2091
|
import { isAllowedBlockPayloadWithHashMeta } from "@xyo-network/xl1-protocol";
|
|
1872
2092
|
var tryExtractElevatedHashesFromScript = /* @__PURE__ */ __name((strings) => {
|
|
1873
2093
|
const hashes = strings.filter((str) => str.startsWith("elevate|")).map((str) => str.split("|")[1]);
|
|
@@ -1876,7 +2096,7 @@ var tryExtractElevatedHashesFromScript = /* @__PURE__ */ __name((strings) => {
|
|
|
1876
2096
|
var extractElevatedHashesFromScript = /* @__PURE__ */ __name((strings) => {
|
|
1877
2097
|
const hashes = strings.filter((str) => str.startsWith("elevate|")).map((str) => str.split("|")[1]);
|
|
1878
2098
|
const filtered = filterAs2(hashes, (h) => asHash4(h));
|
|
1879
|
-
|
|
2099
|
+
assertEx11(filtered.length === hashes.length, () => "Invalid elevated hashes");
|
|
1880
2100
|
return filtered;
|
|
1881
2101
|
}, "extractElevatedHashesFromScript");
|
|
1882
2102
|
var tryExtractElevatedHashes = /* @__PURE__ */ __name((tx) => {
|
|
@@ -1890,15 +2110,15 @@ var extractElevatedHashes = /* @__PURE__ */ __name((tx) => {
|
|
|
1890
2110
|
const { script } = bw;
|
|
1891
2111
|
const hashes = script ? tryExtractElevatedHashesFromScript(script) : [];
|
|
1892
2112
|
const filtered = payloads.filter((p) => hashes.includes(p._hash)).filter(isAllowedBlockPayloadWithHashMeta);
|
|
1893
|
-
|
|
2113
|
+
assertEx11(filtered.length === hashes.length, () => "Invalid elevated hashes");
|
|
1894
2114
|
return filtered;
|
|
1895
2115
|
}, "extractElevatedHashes");
|
|
1896
2116
|
|
|
1897
2117
|
// src/transaction/signTransaction.ts
|
|
1898
|
-
import { assertEx as
|
|
2118
|
+
import { assertEx as assertEx12, hexFromArrayBuffer, toArrayBuffer } from "@xylabs/sdk-js";
|
|
1899
2119
|
import { PayloadBuilder as PayloadBuilder8 } from "@xyo-network/payload-builder";
|
|
1900
2120
|
async function signTransaction(tx, account) {
|
|
1901
|
-
|
|
2121
|
+
assertEx12(tx.from === account.address, () => "Signer address does not match transaction from address");
|
|
1902
2122
|
const signedTx = structuredClone(tx);
|
|
1903
2123
|
signedTx.addresses = [
|
|
1904
2124
|
account.address
|
|
@@ -1945,18 +2165,18 @@ var SimpleXyoGatewayRunner = class {
|
|
|
1945
2165
|
return this._dataLakes.length - 1;
|
|
1946
2166
|
}
|
|
1947
2167
|
async addPayloadsToChain(onChain, offChain, options) {
|
|
1948
|
-
const viewer =
|
|
2168
|
+
const viewer = assertEx13(this.connectionInstance.viewer, () => "No viewer available on connection");
|
|
1949
2169
|
const { nbf, exp, chain, fees } = options ?? {};
|
|
1950
|
-
const resolvedChainId =
|
|
1951
|
-
const resolvedNbf =
|
|
1952
|
-
const resolvedExp =
|
|
2170
|
+
const resolvedChainId = isDefined11(chain) ? chain : await viewer.chainId();
|
|
2171
|
+
const resolvedNbf = isDefined11(nbf) ? nbf : await viewer?.currentBlockNumber();
|
|
2172
|
+
const resolvedExp = isDefined11(exp) ? exp : resolvedNbf + 10;
|
|
1953
2173
|
const tx = await buildUnsignedTransaction(resolvedChainId, onChain, offChain, resolvedNbf, resolvedExp, await (await this.signer()).address(), fees);
|
|
1954
2174
|
return await this.addTransactionToChain(tx);
|
|
1955
2175
|
}
|
|
1956
2176
|
async addTransactionToChain(tx) {
|
|
1957
2177
|
const connection = this.connectionInstance;
|
|
1958
2178
|
const signer = this.signerInstance;
|
|
1959
|
-
const runner =
|
|
2179
|
+
const runner = assertEx13(connection.runner, () => "No runner available on connection");
|
|
1960
2180
|
const signedTx = await signer.signTransaction(tx);
|
|
1961
2181
|
await this.addPayloadsToDataLakes(signedTx[1]);
|
|
1962
2182
|
return [
|
|
@@ -1968,7 +2188,7 @@ var SimpleXyoGatewayRunner = class {
|
|
|
1968
2188
|
];
|
|
1969
2189
|
}
|
|
1970
2190
|
async confirmSubmittedTransaction(txHash, options) {
|
|
1971
|
-
return await confirmSubmittedTransaction(
|
|
2191
|
+
return await confirmSubmittedTransaction(assertEx13(this.connectionInstance.viewer, () => "Connection viewer is undefined"), txHash, options);
|
|
1972
2192
|
}
|
|
1973
2193
|
/** @deprecated use connectionInstance instead */
|
|
1974
2194
|
connection() {
|
|
@@ -2086,7 +2306,7 @@ var SimpleXyoNetwork = class {
|
|
|
2086
2306
|
};
|
|
2087
2307
|
|
|
2088
2308
|
// src/simple/permissions/SimpleXyoPermissions.ts
|
|
2089
|
-
import { assertEx as
|
|
2309
|
+
import { assertEx as assertEx14 } from "@xylabs/sdk-js";
|
|
2090
2310
|
var SimpleXyoPermissions = class {
|
|
2091
2311
|
static {
|
|
2092
2312
|
__name(this, "SimpleXyoPermissions");
|
|
@@ -2098,7 +2318,7 @@ var SimpleXyoPermissions = class {
|
|
|
2098
2318
|
this.invoker = store.invoker;
|
|
2099
2319
|
}
|
|
2100
2320
|
get store() {
|
|
2101
|
-
return
|
|
2321
|
+
return assertEx14(this._store, () => "Store must be defined to get permissions");
|
|
2102
2322
|
}
|
|
2103
2323
|
async getPermissions() {
|
|
2104
2324
|
return await this.store.getPermissions();
|
|
@@ -2156,7 +2376,7 @@ var SimpleXyoPermissions = class {
|
|
|
2156
2376
|
};
|
|
2157
2377
|
|
|
2158
2378
|
// src/simple/permissions/store/MemoryPermissions.ts
|
|
2159
|
-
import { assertEx as
|
|
2379
|
+
import { assertEx as assertEx15 } from "@xylabs/sdk-js";
|
|
2160
2380
|
var MemoryPermissionsStore = class {
|
|
2161
2381
|
static {
|
|
2162
2382
|
__name(this, "MemoryPermissionsStore");
|
|
@@ -2167,7 +2387,7 @@ var MemoryPermissionsStore = class {
|
|
|
2167
2387
|
this._invoker = invoker;
|
|
2168
2388
|
}
|
|
2169
2389
|
get invoker() {
|
|
2170
|
-
return
|
|
2390
|
+
return assertEx15(this._invoker, () => "Invoker must be defined to get permissions");
|
|
2171
2391
|
}
|
|
2172
2392
|
async getPermissions() {
|
|
2173
2393
|
await Promise.resolve();
|
|
@@ -2233,7 +2453,7 @@ var SimpleXyoSigner = class {
|
|
|
2233
2453
|
};
|
|
2234
2454
|
|
|
2235
2455
|
// src/simple/timesync/SimpleTimeSyncViewer.ts
|
|
2236
|
-
import { asHash as asHash5, assertEx as
|
|
2456
|
+
import { asHash as asHash5, assertEx as assertEx16, isDefined as isDefined12 } from "@xylabs/sdk-js";
|
|
2237
2457
|
import { asTimePayload, asXL1BlockNumber as asXL1BlockNumber5, TimeSchema } from "@xyo-network/xl1-protocol";
|
|
2238
2458
|
var SimpleTimeSyncViewer = class {
|
|
2239
2459
|
static {
|
|
@@ -2248,10 +2468,10 @@ var SimpleTimeSyncViewer = class {
|
|
|
2248
2468
|
async convertTime(fromDomain, toDomain, from) {
|
|
2249
2469
|
switch (fromDomain) {
|
|
2250
2470
|
case "xl1": {
|
|
2251
|
-
const [block, payloads] =
|
|
2471
|
+
const [block, payloads] = assertEx16(await this.blockViewer.blockByNumber(asXL1BlockNumber5(from, true)), () => "Block not found");
|
|
2252
2472
|
const timeSchemaIndex = block.payload_schemas.indexOf(TimeSchema);
|
|
2253
2473
|
const hash = timeSchemaIndex === -1 ? void 0 : block.payload_hashes[timeSchemaIndex];
|
|
2254
|
-
const timePayload = asTimePayload(
|
|
2474
|
+
const timePayload = asTimePayload(isDefined12(hash) ? payloads.find((p) => p._hash === hash) : void 0);
|
|
2255
2475
|
if (timePayload === void 0) return 0;
|
|
2256
2476
|
switch (toDomain) {
|
|
2257
2477
|
case "xl1": {
|
|
@@ -2314,10 +2534,10 @@ var SimpleTimeSyncViewer = class {
|
|
|
2314
2534
|
];
|
|
2315
2535
|
}
|
|
2316
2536
|
case "ethereum": {
|
|
2317
|
-
const provider =
|
|
2537
|
+
const provider = assertEx16(this.ethProvider, () => "Ethereum provider not configured");
|
|
2318
2538
|
const blockNumber = await provider.getBlockNumber() ?? 0;
|
|
2319
2539
|
const block = await provider.getBlock(blockNumber);
|
|
2320
|
-
const blockHash = asHash5(
|
|
2540
|
+
const blockHash = asHash5(assertEx16(block?.hash, () => "Block hash not found"), true);
|
|
2321
2541
|
return [
|
|
2322
2542
|
blockNumber,
|
|
2323
2543
|
blockHash
|
|
@@ -2334,7 +2554,7 @@ var SimpleTimeSyncViewer = class {
|
|
|
2334
2554
|
};
|
|
2335
2555
|
|
|
2336
2556
|
// src/time/primitives/xl1BlockNumberToEthBlockNumber.ts
|
|
2337
|
-
import { assertEx as
|
|
2557
|
+
import { assertEx as assertEx17 } from "@xylabs/sdk-js";
|
|
2338
2558
|
import { asTimePayload as asTimePayload2, TimeSchema as TimeSchema2 } from "@xyo-network/xl1-protocol";
|
|
2339
2559
|
async function xl1BlockNumberToEthBlockNumber(context, xl1BlockNumber) {
|
|
2340
2560
|
const blockHash = await hashFromBlockNumber(context, xl1BlockNumber);
|
|
@@ -2342,7 +2562,7 @@ async function xl1BlockNumberToEthBlockNumber(context, xl1BlockNumber) {
|
|
|
2342
2562
|
const timePayload = asTimePayload2(hydratedBlock[1].find((p) => p.schema === TimeSchema2), {
|
|
2343
2563
|
required: true
|
|
2344
2564
|
});
|
|
2345
|
-
return
|
|
2565
|
+
return assertEx17(timePayload.ethereum, () => "No ethereum timestamp found on block");
|
|
2346
2566
|
}
|
|
2347
2567
|
__name(xl1BlockNumberToEthBlockNumber, "xl1BlockNumberToEthBlockNumber");
|
|
2348
2568
|
|
|
@@ -2405,6 +2625,7 @@ export {
|
|
|
2405
2625
|
MnemonicStringZod,
|
|
2406
2626
|
RewardMultipliers,
|
|
2407
2627
|
SimpleAccountBalanceViewer,
|
|
2628
|
+
SimpleChainStakeViewer,
|
|
2408
2629
|
SimpleDataLakeRunner,
|
|
2409
2630
|
SimpleDataLakeViewer,
|
|
2410
2631
|
SimpleTimeSyncViewer,
|