@xyo-network/xl1-protocol-sdk 1.19.7 → 1.19.9
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 +98 -41
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/model/viewers/ChainContract.d.ts +6 -6
- package/dist/neutral/model/viewers/ChainContract.d.ts.map +1 -1
- package/dist/neutral/simple/block/SimpleBlockViewer.d.ts +6 -2
- package/dist/neutral/simple/block/SimpleBlockViewer.d.ts.map +1 -1
- package/dist/neutral/simple/blockValidation/SimpleBlockValidationViewer.d.ts.map +1 -1
- package/dist/neutral/simple/chainContractViewer/SimpleChainContractViewer.d.ts +41 -0
- package/dist/neutral/simple/chainContractViewer/SimpleChainContractViewer.d.ts.map +1 -0
- package/dist/neutral/simple/chainContractViewer/index.d.ts +2 -0
- package/dist/neutral/simple/chainContractViewer/index.d.ts.map +1 -0
- package/dist/neutral/simple/index.d.ts +2 -1
- package/dist/neutral/simple/index.d.ts.map +1 -1
- package/dist/neutral/simple/timeSync2/SimpleTimeSyncViewer.d.ts.map +1 -0
- package/dist/neutral/simple/timeSync2/index.d.ts.map +1 -0
- package/dist/neutral/validation/block/HydratedBlockStateValidationFunction.d.ts +2 -2
- package/dist/neutral/validation/block/HydratedBlockStateValidationFunction.d.ts.map +1 -1
- package/dist/neutral/validation/block/HydratedBlockValidationFunction.d.ts +2 -2
- package/dist/neutral/validation/block/HydratedBlockValidationFunction.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/model/viewers/ChainContract.ts +6 -6
- package/src/primitives/stake/weightedStakeForRangeByPosition.ts +1 -1
- package/src/simple/block/SimpleBlockViewer.ts +18 -10
- package/src/simple/blockValidation/SimpleBlockValidationViewer.ts +4 -3
- package/src/simple/chainContractViewer/SimpleChainContractViewer.ts +81 -0
- package/src/simple/chainContractViewer/index.ts +1 -0
- package/src/simple/index.ts +2 -1
- package/src/validation/block/HydratedBlockStateValidationFunction.ts +4 -2
- package/src/validation/block/HydratedBlockValidationFunction.ts +4 -2
- package/dist/neutral/simple/timesync/SimpleTimeSyncViewer.d.ts.map +0 -1
- package/dist/neutral/simple/timesync/index.d.ts.map +0 -1
- /package/dist/neutral/simple/{timesync → timeSync2}/SimpleTimeSyncViewer.d.ts +0 -0
- /package/dist/neutral/simple/{timesync → timeSync2}/index.d.ts +0 -0
- /package/src/simple/{timesync → timeSync2}/SimpleTimeSyncViewer.ts +0 -0
- /package/src/simple/{timesync → timeSync2}/index.ts +0 -0
package/dist/neutral/index.mjs
CHANGED
|
@@ -2036,7 +2036,7 @@ async function weightedStakeForRangeByPosition(context, blockViewer, externalRan
|
|
|
2036
2036
|
)).toSorted((a, b) => a.time - b.time);
|
|
2037
2037
|
let currentTime = externalRange[0];
|
|
2038
2038
|
let currentStake = 0n;
|
|
2039
|
-
if (isDefined12(staked) && mergedEvents
|
|
2039
|
+
if (isDefined12(staked) && mergedEvents.at(0)?.args.staked !== staked) {
|
|
2040
2040
|
return 0n;
|
|
2041
2041
|
}
|
|
2042
2042
|
for (const event of mergedEvents) {
|
|
@@ -3753,6 +3753,9 @@ var SimpleBlockViewer = class extends AbstractCreatableProvider {
|
|
|
3753
3753
|
finalizationViewer;
|
|
3754
3754
|
_payloadCache;
|
|
3755
3755
|
_signedHydratedBlockCache;
|
|
3756
|
+
get chainContractViewer() {
|
|
3757
|
+
return this.params.chainContractViewer;
|
|
3758
|
+
}
|
|
3756
3759
|
get finalizedArchivist() {
|
|
3757
3760
|
return this.params.finalizedArchivist;
|
|
3758
3761
|
}
|
|
@@ -3774,8 +3777,14 @@ var SimpleBlockViewer = class extends AbstractCreatableProvider {
|
|
|
3774
3777
|
return this._store;
|
|
3775
3778
|
}
|
|
3776
3779
|
static async paramsHandler(params) {
|
|
3777
|
-
|
|
3778
|
-
|
|
3780
|
+
return {
|
|
3781
|
+
...await super.paramsHandler(params),
|
|
3782
|
+
chainContractViewer: assertEx29(
|
|
3783
|
+
params.chainContractViewer ?? await params.context?.locator.getInstance(ChainContractViewerMoniker),
|
|
3784
|
+
() => "chainContractViewer is required"
|
|
3785
|
+
),
|
|
3786
|
+
finalizedArchivist: assertEx29(params.finalizedArchivist, () => "finalizedArchivist is required")
|
|
3787
|
+
};
|
|
3779
3788
|
}
|
|
3780
3789
|
async blockByHash(hash) {
|
|
3781
3790
|
return await this.spanAsync("blockByHash", async () => {
|
|
@@ -3831,11 +3840,7 @@ var SimpleBlockViewer = class extends AbstractCreatableProvider {
|
|
|
3831
3840
|
}
|
|
3832
3841
|
async chainId(blockNumber = "latest") {
|
|
3833
3842
|
return await this.spanAsync("chainId", async () => {
|
|
3834
|
-
|
|
3835
|
-
blockNumber === "latest" ? await this.currentBlock() : await this.blockByNumber(blockNumber),
|
|
3836
|
-
() => `Could not find block for block number ${blockNumber}`
|
|
3837
|
-
);
|
|
3838
|
-
return block[0].chain;
|
|
3843
|
+
return blockNumber === "latest" ? await this.chainContractViewer.chainId() : await this.chainContractViewer.chainIdAtBlockNumber(blockNumber);
|
|
3839
3844
|
}, { timeBudgetLimit: 200 });
|
|
3840
3845
|
}
|
|
3841
3846
|
async createHandler() {
|
|
@@ -3883,7 +3888,7 @@ var SimpleBlockViewer = class extends AbstractCreatableProvider {
|
|
|
3883
3888
|
}
|
|
3884
3889
|
};
|
|
3885
3890
|
__publicField(SimpleBlockViewer, "defaultMoniker", BlockViewerMoniker);
|
|
3886
|
-
__publicField(SimpleBlockViewer, "dependencies", [FinalizationViewerMoniker]);
|
|
3891
|
+
__publicField(SimpleBlockViewer, "dependencies", [FinalizationViewerMoniker, ChainContractViewerMoniker]);
|
|
3887
3892
|
__publicField(SimpleBlockViewer, "monikers", [BlockViewerMoniker]);
|
|
3888
3893
|
SimpleBlockViewer = __decorateClass([
|
|
3889
3894
|
creatableProvider()
|
|
@@ -4014,17 +4019,68 @@ SimpleBlockValidationViewer = __decorateClass([
|
|
|
4014
4019
|
creatableProvider()
|
|
4015
4020
|
], SimpleBlockValidationViewer);
|
|
4016
4021
|
|
|
4022
|
+
// src/simple/chainContractViewer/SimpleChainContractViewer.ts
|
|
4023
|
+
import {
|
|
4024
|
+
assertEx as assertEx31
|
|
4025
|
+
} from "@xylabs/sdk-js";
|
|
4026
|
+
var SimpleChainContractViewer = class extends AbstractCreatableProvider {
|
|
4027
|
+
moniker = SimpleChainContractViewer.defaultMoniker;
|
|
4028
|
+
chainId() {
|
|
4029
|
+
return this.params.chainId;
|
|
4030
|
+
}
|
|
4031
|
+
async chainIdAtBlockNumber(blockNumber) {
|
|
4032
|
+
return await withContextCacheResponse(this.context, "chainIdAtBlockNumber", `${blockNumber}`, async () => {
|
|
4033
|
+
let chainId = this.chainId();
|
|
4034
|
+
let contractViewer = this;
|
|
4035
|
+
let forkedAtBlockNumber = await contractViewer.forkedAtBlockNumber();
|
|
4036
|
+
while (forkedAtBlockNumber !== null && blockNumber <= forkedAtBlockNumber) {
|
|
4037
|
+
contractViewer = assertEx31(await contractViewer.forkedChainContractViewer());
|
|
4038
|
+
forkedAtBlockNumber = await contractViewer.forkedAtBlockNumber();
|
|
4039
|
+
chainId = await contractViewer.chainId();
|
|
4040
|
+
}
|
|
4041
|
+
return chainId;
|
|
4042
|
+
});
|
|
4043
|
+
}
|
|
4044
|
+
forkedAtBlockNumber() {
|
|
4045
|
+
return this.params.forkedAtBlockNumber ?? null;
|
|
4046
|
+
}
|
|
4047
|
+
forkedAtHash() {
|
|
4048
|
+
return this.params.forkedAtHash ?? null;
|
|
4049
|
+
}
|
|
4050
|
+
forkedChainContractViewer() {
|
|
4051
|
+
return this.params.forkedChainContractViewer ?? null;
|
|
4052
|
+
}
|
|
4053
|
+
forkedChainId() {
|
|
4054
|
+
return this.params.forkedChainId ?? null;
|
|
4055
|
+
}
|
|
4056
|
+
minWithdrawalBlocks() {
|
|
4057
|
+
return this.params.minWithdrawalBlocks;
|
|
4058
|
+
}
|
|
4059
|
+
rewardsContract() {
|
|
4060
|
+
return this.params.rewardsContract;
|
|
4061
|
+
}
|
|
4062
|
+
stakingTokenAddress() {
|
|
4063
|
+
return this.params.stakingTokenAddress;
|
|
4064
|
+
}
|
|
4065
|
+
};
|
|
4066
|
+
__publicField(SimpleChainContractViewer, "defaultMoniker", ChainContractViewerMoniker);
|
|
4067
|
+
__publicField(SimpleChainContractViewer, "dependencies", []);
|
|
4068
|
+
__publicField(SimpleChainContractViewer, "monikers", [ChainContractViewerMoniker]);
|
|
4069
|
+
SimpleChainContractViewer = __decorateClass([
|
|
4070
|
+
creatableProvider()
|
|
4071
|
+
], SimpleChainContractViewer);
|
|
4072
|
+
|
|
4017
4073
|
// src/simple/chainStake/SimpleStakeViewer.ts
|
|
4018
4074
|
import {
|
|
4019
4075
|
asAddress as asAddress5,
|
|
4020
4076
|
toAddress as toAddress9
|
|
4021
4077
|
} from "@xylabs/sdk-js";
|
|
4022
|
-
import { assertEx as
|
|
4078
|
+
import { assertEx as assertEx32 } from "@xylabs/sdk-js";
|
|
4023
4079
|
var SimpleStakeViewer = class extends AbstractCreatableProvider {
|
|
4024
4080
|
moniker = SimpleStakeViewer.defaultMoniker;
|
|
4025
4081
|
_chainStakeEventsViewer;
|
|
4026
4082
|
get stakeEvents() {
|
|
4027
|
-
return
|
|
4083
|
+
return assertEx32(this._chainStakeEventsViewer, () => "Stake events viewer not set");
|
|
4028
4084
|
}
|
|
4029
4085
|
get chainMap() {
|
|
4030
4086
|
return this.params.chainMap;
|
|
@@ -4061,7 +4117,7 @@ var SimpleStakeViewer = class extends AbstractCreatableProvider {
|
|
|
4061
4117
|
}
|
|
4062
4118
|
async createHandler() {
|
|
4063
4119
|
await super.createHandler();
|
|
4064
|
-
this._chainStakeEventsViewer =
|
|
4120
|
+
this._chainStakeEventsViewer = assertEx32(
|
|
4065
4121
|
await this.locateAndCreate(StakeEventsViewerMoniker),
|
|
4066
4122
|
() => "Failed to create StakeEventsViewer"
|
|
4067
4123
|
);
|
|
@@ -4091,7 +4147,7 @@ var SimpleStakeViewer = class extends AbstractCreatableProvider {
|
|
|
4091
4147
|
return toAddress9(toAddress9(1n));
|
|
4092
4148
|
}
|
|
4093
4149
|
stakeById(id) {
|
|
4094
|
-
return
|
|
4150
|
+
return assertEx32(this.positions[id], () => new Error(`Stake with id ${id} not found`));
|
|
4095
4151
|
}
|
|
4096
4152
|
stakeByStaker(staker, slot) {
|
|
4097
4153
|
return this.positions.filter((s) => asAddress5(s.staker) === asAddress5(staker))[slot];
|
|
@@ -4254,7 +4310,7 @@ SimpleFinalizationRunner = __decorateClass([
|
|
|
4254
4310
|
|
|
4255
4311
|
// src/simple/finalization/SimpleFinalizationViewer.ts
|
|
4256
4312
|
import {
|
|
4257
|
-
assertEx as
|
|
4313
|
+
assertEx as assertEx33
|
|
4258
4314
|
} from "@xylabs/sdk-js";
|
|
4259
4315
|
import {
|
|
4260
4316
|
asSignedHydratedBlockWithStorageMeta as asSignedHydratedBlockWithStorageMeta2
|
|
@@ -4279,7 +4335,7 @@ var SimpleFinalizationViewer = class extends AbstractCreatableProvider {
|
|
|
4279
4335
|
return this._store;
|
|
4280
4336
|
}
|
|
4281
4337
|
static async paramsHandler(params) {
|
|
4282
|
-
|
|
4338
|
+
assertEx33(params.finalizedArchivist, () => "finalizedArchivist is required");
|
|
4283
4339
|
return { ...await super.paramsHandler(params) };
|
|
4284
4340
|
}
|
|
4285
4341
|
async createHandler() {
|
|
@@ -4288,13 +4344,13 @@ var SimpleFinalizationViewer = class extends AbstractCreatableProvider {
|
|
|
4288
4344
|
}
|
|
4289
4345
|
async head() {
|
|
4290
4346
|
return await this.spanAsync("head", async () => {
|
|
4291
|
-
const currentHead =
|
|
4347
|
+
const currentHead = assertEx33(await this.getCurrentHead(), () => "Could not find most recent block [currentBlock]");
|
|
4292
4348
|
const cache = this.hydratedBlockCache;
|
|
4293
4349
|
const block = await cache.get(currentHead._hash);
|
|
4294
4350
|
if (!block) {
|
|
4295
4351
|
console.log(`Could not find current block with hash ${currentHead._hash}`);
|
|
4296
4352
|
}
|
|
4297
|
-
return
|
|
4353
|
+
return assertEx33(block, () => "Could not find current block");
|
|
4298
4354
|
}, { timeBudgetLimit: 200 });
|
|
4299
4355
|
}
|
|
4300
4356
|
async headBlock() {
|
|
@@ -4340,7 +4396,7 @@ var SimpleXyoGateway = class _SimpleXyoGateway extends AbstractCreatableProvider
|
|
|
4340
4396
|
|
|
4341
4397
|
// src/simple/gateway/SimpleXyoGatewayRunner.ts
|
|
4342
4398
|
import {
|
|
4343
|
-
assertEx as
|
|
4399
|
+
assertEx as assertEx34,
|
|
4344
4400
|
BigIntToJsonZod,
|
|
4345
4401
|
isDefined as isDefined19
|
|
4346
4402
|
} from "@xylabs/sdk-js";
|
|
@@ -4364,7 +4420,7 @@ var SimpleXyoGatewayRunner = class _SimpleXyoGatewayRunner extends AbstractCreat
|
|
|
4364
4420
|
return this._signer;
|
|
4365
4421
|
}
|
|
4366
4422
|
async addPayloadsToChain(onChain, offChain, options) {
|
|
4367
|
-
const viewer =
|
|
4423
|
+
const viewer = assertEx34(this.connection.viewer, () => "No viewer available on connection");
|
|
4368
4424
|
const {
|
|
4369
4425
|
nbf,
|
|
4370
4426
|
exp,
|
|
@@ -4380,7 +4436,7 @@ var SimpleXyoGatewayRunner = class _SimpleXyoGatewayRunner extends AbstractCreat
|
|
|
4380
4436
|
async addTransactionToChain(tx) {
|
|
4381
4437
|
const connection = this.connection;
|
|
4382
4438
|
const signer = this.signer;
|
|
4383
|
-
const runner =
|
|
4439
|
+
const runner = assertEx34(connection.runner, () => "No runner available on connection");
|
|
4384
4440
|
const signedTx = await signer.signTransaction(tx);
|
|
4385
4441
|
await this.addPayloadsToDataLakes(signedTx[1]);
|
|
4386
4442
|
return [await runner.broadcastTransaction(
|
|
@@ -4389,7 +4445,7 @@ var SimpleXyoGatewayRunner = class _SimpleXyoGatewayRunner extends AbstractCreat
|
|
|
4389
4445
|
}
|
|
4390
4446
|
async confirmSubmittedTransaction(txHash, options) {
|
|
4391
4447
|
return await confirmSubmittedTransaction(
|
|
4392
|
-
|
|
4448
|
+
assertEx34(this.connection.viewer, () => "Connection viewer is undefined"),
|
|
4393
4449
|
txHash,
|
|
4394
4450
|
options
|
|
4395
4451
|
);
|
|
@@ -4429,7 +4485,7 @@ var SimpleXyoGatewayRunner = class _SimpleXyoGatewayRunner extends AbstractCreat
|
|
|
4429
4485
|
};
|
|
4430
4486
|
|
|
4431
4487
|
// src/simple/mempool/SimpleMempoolRunner.ts
|
|
4432
|
-
import { assertEx as
|
|
4488
|
+
import { assertEx as assertEx35 } from "@xylabs/sdk-js";
|
|
4433
4489
|
import { PayloadBuilder as PayloadBuilder18 } from "@xyo-network/payload-builder";
|
|
4434
4490
|
var SimpleMempoolRunner = class extends AbstractCreatableProvider {
|
|
4435
4491
|
moniker = SimpleMempoolRunner.defaultMoniker;
|
|
@@ -4442,8 +4498,8 @@ var SimpleMempoolRunner = class extends AbstractCreatableProvider {
|
|
|
4442
4498
|
static async paramsHandler(params) {
|
|
4443
4499
|
return {
|
|
4444
4500
|
...await super.paramsHandler(params),
|
|
4445
|
-
pendingBlocksArchivist:
|
|
4446
|
-
pendingTransactionsArchivist:
|
|
4501
|
+
pendingBlocksArchivist: assertEx35(params?.pendingBlocksArchivist, () => "pendingBlocksArchivist is required"),
|
|
4502
|
+
pendingTransactionsArchivist: assertEx35(params?.pendingTransactionsArchivist, () => "pendingTransactionsArchivist is required")
|
|
4447
4503
|
};
|
|
4448
4504
|
}
|
|
4449
4505
|
async submitBlocks(blocks) {
|
|
@@ -4676,7 +4732,7 @@ var SimpleXyoNetwork = class {
|
|
|
4676
4732
|
};
|
|
4677
4733
|
|
|
4678
4734
|
// src/simple/permissions/SimpleXyoPermissions.ts
|
|
4679
|
-
import { assertEx as
|
|
4735
|
+
import { assertEx as assertEx36 } from "@xylabs/sdk-js";
|
|
4680
4736
|
var SimpleXyoPermissions = class {
|
|
4681
4737
|
invoker;
|
|
4682
4738
|
_store;
|
|
@@ -4685,7 +4741,7 @@ var SimpleXyoPermissions = class {
|
|
|
4685
4741
|
this.invoker = store.invoker;
|
|
4686
4742
|
}
|
|
4687
4743
|
get store() {
|
|
4688
|
-
return
|
|
4744
|
+
return assertEx36(this._store, () => "Store must be defined to get permissions");
|
|
4689
4745
|
}
|
|
4690
4746
|
async getPermissions() {
|
|
4691
4747
|
return await this.store.getPermissions();
|
|
@@ -4738,7 +4794,7 @@ var SimpleXyoPermissions = class {
|
|
|
4738
4794
|
};
|
|
4739
4795
|
|
|
4740
4796
|
// src/simple/permissions/store/MemoryPermissions.ts
|
|
4741
|
-
import { assertEx as
|
|
4797
|
+
import { assertEx as assertEx37 } from "@xylabs/sdk-js";
|
|
4742
4798
|
var MemoryPermissionsStore = class {
|
|
4743
4799
|
_invoker;
|
|
4744
4800
|
permissions = [];
|
|
@@ -4746,7 +4802,7 @@ var MemoryPermissionsStore = class {
|
|
|
4746
4802
|
this._invoker = invoker;
|
|
4747
4803
|
}
|
|
4748
4804
|
get invoker() {
|
|
4749
|
-
return
|
|
4805
|
+
return assertEx37(this._invoker, () => "Invoker must be defined to get permissions");
|
|
4750
4806
|
}
|
|
4751
4807
|
async getPermissions() {
|
|
4752
4808
|
await Promise.resolve();
|
|
@@ -4907,10 +4963,10 @@ SimpleStakeEventsViewer = __decorateClass([
|
|
|
4907
4963
|
creatableProvider()
|
|
4908
4964
|
], SimpleStakeEventsViewer);
|
|
4909
4965
|
|
|
4910
|
-
// src/simple/
|
|
4966
|
+
// src/simple/timeSync2/SimpleTimeSyncViewer.ts
|
|
4911
4967
|
import {
|
|
4912
4968
|
asHash as asHash6,
|
|
4913
|
-
assertEx as
|
|
4969
|
+
assertEx as assertEx38,
|
|
4914
4970
|
isDefined as isDefined22
|
|
4915
4971
|
} from "@xylabs/sdk-js";
|
|
4916
4972
|
import {
|
|
@@ -4930,7 +4986,7 @@ var SimpleTimeSyncViewer = class extends AbstractCreatableProvider {
|
|
|
4930
4986
|
async convertTime(fromDomain, toDomain, from) {
|
|
4931
4987
|
switch (fromDomain) {
|
|
4932
4988
|
case "xl1": {
|
|
4933
|
-
const [block, payloads] =
|
|
4989
|
+
const [block, payloads] = assertEx38(await this.blockViewer.blockByNumber(asXL1BlockNumber10(from, true)), () => "Block not found");
|
|
4934
4990
|
const timeSchemaIndex = block.payload_schemas.indexOf(TimeSchema);
|
|
4935
4991
|
const hash = timeSchemaIndex === -1 ? void 0 : block.payload_hashes[timeSchemaIndex];
|
|
4936
4992
|
const timePayload = asTimePayload2(isDefined22(hash) ? payloads.find((p) => p._hash === hash) : void 0);
|
|
@@ -4985,10 +5041,10 @@ var SimpleTimeSyncViewer = class extends AbstractCreatableProvider {
|
|
|
4985
5041
|
return [Date.now(), null];
|
|
4986
5042
|
}
|
|
4987
5043
|
case "ethereum": {
|
|
4988
|
-
const provider =
|
|
5044
|
+
const provider = assertEx38(this.ethProvider, () => "Ethereum provider not configured");
|
|
4989
5045
|
const blockNumber = await provider.getBlockNumber() ?? 0;
|
|
4990
5046
|
const block = await provider.getBlock(blockNumber);
|
|
4991
|
-
const blockHash = asHash6(
|
|
5047
|
+
const blockHash = asHash6(assertEx38(block?.hash, () => "Block hash not found"), true);
|
|
4992
5048
|
return [blockNumber, blockHash];
|
|
4993
5049
|
}
|
|
4994
5050
|
default: {
|
|
@@ -5003,7 +5059,7 @@ var SimpleTimeSyncViewer = class extends AbstractCreatableProvider {
|
|
|
5003
5059
|
// this is for the previous block
|
|
5004
5060
|
xl1,
|
|
5005
5061
|
// this is for the previous block
|
|
5006
|
-
xl1Hash:
|
|
5062
|
+
xl1Hash: assertEx38(xl1Hash, () => "No xl1 hash available from time sync service"),
|
|
5007
5063
|
epoch: Date.now()
|
|
5008
5064
|
};
|
|
5009
5065
|
if (isDefined22(this.ethProvider)) {
|
|
@@ -5024,7 +5080,7 @@ SimpleTimeSyncViewer = __decorateClass([
|
|
|
5024
5080
|
|
|
5025
5081
|
// src/simple/windowedBlock/SimpleWindowedBlockViewer.ts
|
|
5026
5082
|
import {
|
|
5027
|
-
assertEx as
|
|
5083
|
+
assertEx as assertEx39,
|
|
5028
5084
|
exists as exists7,
|
|
5029
5085
|
isNull as isNull2
|
|
5030
5086
|
} from "@xylabs/sdk-js";
|
|
@@ -5091,7 +5147,7 @@ var SimpleWindowedBlockViewer = class extends AbstractCreatableProvider {
|
|
|
5091
5147
|
}
|
|
5092
5148
|
async createHandler() {
|
|
5093
5149
|
await super.createHandler();
|
|
5094
|
-
this._blockViewer =
|
|
5150
|
+
this._blockViewer = assertEx39(
|
|
5095
5151
|
this.params.blockViewer ?? await this.locator.getInstance(BlockViewerMoniker),
|
|
5096
5152
|
() => "BlockViewer instance is required"
|
|
5097
5153
|
);
|
|
@@ -5100,13 +5156,13 @@ var SimpleWindowedBlockViewer = class extends AbstractCreatableProvider {
|
|
|
5100
5156
|
this._transactionHashMap = new MemoryMap();
|
|
5101
5157
|
}
|
|
5102
5158
|
currentBlock() {
|
|
5103
|
-
return
|
|
5159
|
+
return assertEx39(this._chain.at(-1));
|
|
5104
5160
|
}
|
|
5105
5161
|
currentBlockHash() {
|
|
5106
|
-
return
|
|
5162
|
+
return assertEx39(this._chain.at(-1)?.[0]._hash);
|
|
5107
5163
|
}
|
|
5108
5164
|
currentBlockNumber() {
|
|
5109
|
-
return
|
|
5165
|
+
return assertEx39(this._chain.at(-1)?.[0].block);
|
|
5110
5166
|
}
|
|
5111
5167
|
async payloadByHash(hash) {
|
|
5112
5168
|
const payloads = await this.payloadsByHash([hash]);
|
|
@@ -5265,13 +5321,13 @@ var RuntimeStatusMonitor = class extends LoggerStatusReporter {
|
|
|
5265
5321
|
};
|
|
5266
5322
|
|
|
5267
5323
|
// src/time/primitives/xl1BlockNumberToEthBlockNumber.ts
|
|
5268
|
-
import { assertEx as
|
|
5324
|
+
import { assertEx as assertEx40 } from "@xylabs/sdk-js";
|
|
5269
5325
|
import { asTimePayload as asTimePayload3, TimeSchema as TimeSchema2 } from "@xyo-network/xl1-protocol";
|
|
5270
5326
|
async function xl1BlockNumberToEthBlockNumber(context, xl1BlockNumber) {
|
|
5271
5327
|
const blockHash = await hashFromBlockNumber(context, xl1BlockNumber);
|
|
5272
5328
|
const hydratedBlock = await hydrateBlock(context.store, blockHash);
|
|
5273
5329
|
const timePayload = asTimePayload3(hydratedBlock[1].find((p) => p.schema === TimeSchema2), { required: true });
|
|
5274
|
-
return
|
|
5330
|
+
return assertEx40(timePayload.ethereum, () => "No ethereum timestamp found on block");
|
|
5275
5331
|
}
|
|
5276
5332
|
|
|
5277
5333
|
// src/wallet/generateXyoBaseWalletFromPhrase.ts
|
|
@@ -5369,6 +5425,7 @@ export {
|
|
|
5369
5425
|
SimpleBlockRewardViewer,
|
|
5370
5426
|
SimpleBlockValidationViewer,
|
|
5371
5427
|
SimpleBlockViewer,
|
|
5428
|
+
SimpleChainContractViewer,
|
|
5372
5429
|
SimpleDataLakeRunner,
|
|
5373
5430
|
SimpleDataLakeViewer,
|
|
5374
5431
|
SimpleFinalizationRunner,
|