@xyo-network/xl1-protocol-sdk 1.22.29 → 1.22.30
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 +180 -63
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/simple/datalake/AbstractRestDataLake.d.ts +22 -0
- package/dist/neutral/simple/datalake/AbstractRestDataLake.d.ts.map +1 -0
- package/dist/neutral/simple/datalake/RestDataLakeRunner.d.ts +17 -0
- package/dist/neutral/simple/datalake/RestDataLakeRunner.d.ts.map +1 -0
- package/dist/neutral/simple/datalake/RestDataLakeViewer.d.ts +11 -0
- package/dist/neutral/simple/datalake/RestDataLakeViewer.d.ts.map +1 -0
- package/dist/neutral/simple/datalake/SimpleDataLakeRunner.d.ts +3 -3
- package/dist/neutral/simple/datalake/SimpleDataLakeRunner.d.ts.map +1 -1
- package/dist/neutral/simple/datalake/SimpleDataLakeViewer.d.ts +2 -2
- package/dist/neutral/simple/datalake/SimpleDataLakeViewer.d.ts.map +1 -1
- package/dist/neutral/simple/datalake/index.d.ts +2 -0
- package/dist/neutral/simple/datalake/index.d.ts.map +1 -1
- package/dist/neutral/simple/gateway/SimpleXyoGatewayRunner.d.ts +1 -1
- package/dist/neutral/simple/gateway/SimpleXyoGatewayRunner.d.ts.map +1 -1
- package/package.json +4 -3
- package/src/simple/datalake/AbstractRestDataLake.ts +72 -0
- package/src/simple/datalake/RestDataLakeRunner.ts +57 -0
- package/src/simple/datalake/RestDataLakeViewer.ts +20 -0
- package/src/simple/datalake/SimpleDataLakeRunner.ts +4 -4
- package/src/simple/datalake/SimpleDataLakeViewer.ts +2 -2
- package/src/simple/datalake/index.ts +2 -0
- package/src/simple/gateway/SimpleXyoGatewayRunner.ts +8 -6
package/dist/neutral/index.mjs
CHANGED
|
@@ -4245,13 +4245,128 @@ var SimpleXyoClient = class {
|
|
|
4245
4245
|
}
|
|
4246
4246
|
};
|
|
4247
4247
|
|
|
4248
|
-
// src/simple/datalake/
|
|
4248
|
+
// src/simple/datalake/RestDataLakeRunner.ts
|
|
4249
|
+
import {
|
|
4250
|
+
assertEx as assertEx36,
|
|
4251
|
+
exists as exists6
|
|
4252
|
+
} from "@xylabs/sdk-js";
|
|
4253
|
+
import { PayloadBuilder as PayloadBuilder18 } from "@xyo-network/payload-builder";
|
|
4254
|
+
import { isAnyPayload as isAnyPayload5 } from "@xyo-network/payload-model";
|
|
4249
4255
|
import {
|
|
4250
4256
|
DataLakeRunnerMoniker
|
|
4251
4257
|
} from "@xyo-network/xl1-protocol";
|
|
4252
4258
|
|
|
4259
|
+
// src/simple/datalake/AbstractRestDataLake.ts
|
|
4260
|
+
import { axiosJsonConfig } from "@xylabs/axios";
|
|
4261
|
+
import { exists as exists5 } from "@xylabs/sdk-js";
|
|
4262
|
+
import {
|
|
4263
|
+
isAnyPayload as isAnyPayload4
|
|
4264
|
+
} from "@xyo-network/payload-model";
|
|
4265
|
+
import { Axios } from "axios";
|
|
4266
|
+
var AbstractRestDataLake = class extends AbstractCreatableProvider {
|
|
4267
|
+
get allowedSchemas() {
|
|
4268
|
+
return this.params.allowedSchemas;
|
|
4269
|
+
}
|
|
4270
|
+
get axios() {
|
|
4271
|
+
return new Axios(axiosJsonConfig());
|
|
4272
|
+
}
|
|
4273
|
+
get disallowedSchemas() {
|
|
4274
|
+
return this.params.disallowedSchemas;
|
|
4275
|
+
}
|
|
4276
|
+
get endpoint() {
|
|
4277
|
+
return this.params.endpoint;
|
|
4278
|
+
}
|
|
4279
|
+
async get(hash) {
|
|
4280
|
+
const { data } = await this.axios.get(`${this.params.endpoint}/get/${hash}`);
|
|
4281
|
+
return (this.isAllowed(data) ? data : void 0) ?? void 0;
|
|
4282
|
+
}
|
|
4283
|
+
async getMany(hashes) {
|
|
4284
|
+
return (await Promise.all(hashes.map((hash) => this.get(hash)))).filter(exists5);
|
|
4285
|
+
}
|
|
4286
|
+
async has(hash) {
|
|
4287
|
+
const value = await this.get(hash);
|
|
4288
|
+
if (isAnyPayload4(value)) {
|
|
4289
|
+
return this.isAllowed(value);
|
|
4290
|
+
}
|
|
4291
|
+
return !!await this.get(hash);
|
|
4292
|
+
}
|
|
4293
|
+
isAllowed(value) {
|
|
4294
|
+
if (isAnyPayload4(value)) {
|
|
4295
|
+
return this.isAllowedSchema(value.schema);
|
|
4296
|
+
}
|
|
4297
|
+
return false;
|
|
4298
|
+
}
|
|
4299
|
+
isAllowedSchema(schema) {
|
|
4300
|
+
if (this.allowedSchemas && !this.allowedSchemas.includes(schema)) {
|
|
4301
|
+
return false;
|
|
4302
|
+
}
|
|
4303
|
+
if (this.disallowedSchemas && this.disallowedSchemas.includes(schema)) {
|
|
4304
|
+
return false;
|
|
4305
|
+
}
|
|
4306
|
+
return true;
|
|
4307
|
+
}
|
|
4308
|
+
};
|
|
4309
|
+
|
|
4310
|
+
// src/simple/datalake/RestDataLakeRunner.ts
|
|
4311
|
+
var RestDataLakeRunner = class extends AbstractRestDataLake {
|
|
4312
|
+
moniker = RestDataLakeRunner.defaultMoniker;
|
|
4313
|
+
clear() {
|
|
4314
|
+
throw new Error("Clear is not supported on RestDataLakeRunner");
|
|
4315
|
+
}
|
|
4316
|
+
delete(_hash) {
|
|
4317
|
+
throw new Error("Delete is not supported on RestDataLakeRunner");
|
|
4318
|
+
}
|
|
4319
|
+
async set(hash, data) {
|
|
4320
|
+
if (isAnyPayload5(data) && this.isAllowed(data)) {
|
|
4321
|
+
const actualHash = await PayloadBuilder18.hash(data);
|
|
4322
|
+
assertEx36(actualHash === hash, () => `Hash of data does not match provided hash. Expected ${hash}, got ${actualHash}`);
|
|
4323
|
+
assertEx36(typeof data === "object" && data !== null, () => "Data must be an object");
|
|
4324
|
+
const result = await this.axios.post(`${this.params.endpoint}/insert`, data);
|
|
4325
|
+
return result.status === 200 ? actualHash : void 0;
|
|
4326
|
+
}
|
|
4327
|
+
}
|
|
4328
|
+
async setMany(entries) {
|
|
4329
|
+
const data = entries.map(([, data2]) => {
|
|
4330
|
+
if (isAnyPayload5(data2) && this.isAllowed(data2)) {
|
|
4331
|
+
assertEx36(typeof data2 === "object" && data2 !== null, () => "Data must be an object");
|
|
4332
|
+
return data2;
|
|
4333
|
+
}
|
|
4334
|
+
return null;
|
|
4335
|
+
}).filter(exists6);
|
|
4336
|
+
if (data.length > 0) {
|
|
4337
|
+
const result = await this.axios.post(`${this.params.endpoint}/insert`, data);
|
|
4338
|
+
return result.data;
|
|
4339
|
+
}
|
|
4340
|
+
}
|
|
4341
|
+
};
|
|
4342
|
+
__publicField(RestDataLakeRunner, "defaultMoniker", DataLakeRunnerMoniker);
|
|
4343
|
+
__publicField(RestDataLakeRunner, "dependencies", []);
|
|
4344
|
+
__publicField(RestDataLakeRunner, "monikers", [DataLakeRunnerMoniker]);
|
|
4345
|
+
RestDataLakeRunner = __decorateClass([
|
|
4346
|
+
creatableProvider()
|
|
4347
|
+
], RestDataLakeRunner);
|
|
4348
|
+
|
|
4349
|
+
// src/simple/datalake/RestDataLakeViewer.ts
|
|
4350
|
+
import {
|
|
4351
|
+
DataLakeViewerMoniker
|
|
4352
|
+
} from "@xyo-network/xl1-protocol";
|
|
4353
|
+
var RestDataLakeViewer = class extends AbstractRestDataLake {
|
|
4354
|
+
moniker = RestDataLakeViewer.defaultMoniker;
|
|
4355
|
+
};
|
|
4356
|
+
__publicField(RestDataLakeViewer, "defaultMoniker", DataLakeViewerMoniker);
|
|
4357
|
+
__publicField(RestDataLakeViewer, "dependencies", []);
|
|
4358
|
+
__publicField(RestDataLakeViewer, "monikers", [DataLakeViewerMoniker]);
|
|
4359
|
+
RestDataLakeViewer = __decorateClass([
|
|
4360
|
+
creatableProvider()
|
|
4361
|
+
], RestDataLakeViewer);
|
|
4362
|
+
|
|
4363
|
+
// src/simple/datalake/SimpleDataLakeRunner.ts
|
|
4364
|
+
import {
|
|
4365
|
+
DataLakeRunnerMoniker as DataLakeRunnerMoniker2
|
|
4366
|
+
} from "@xyo-network/xl1-protocol";
|
|
4367
|
+
|
|
4253
4368
|
// src/simple/datalake/AbstractSimpleDataLake.ts
|
|
4254
|
-
import { isAnyPayload as
|
|
4369
|
+
import { isAnyPayload as isAnyPayload6 } from "@xyo-network/payload-model";
|
|
4255
4370
|
var AbstractSimpleDataLake = class extends AbstractCreatableProvider {
|
|
4256
4371
|
get allowedSchemas() {
|
|
4257
4372
|
return this.params.allowedSchemas;
|
|
@@ -4272,13 +4387,13 @@ var AbstractSimpleDataLake = class extends AbstractCreatableProvider {
|
|
|
4272
4387
|
}
|
|
4273
4388
|
async has(hash) {
|
|
4274
4389
|
const value = await this.get(hash);
|
|
4275
|
-
if (
|
|
4390
|
+
if (isAnyPayload6(value)) {
|
|
4276
4391
|
return this.isAllowed(value);
|
|
4277
4392
|
}
|
|
4278
4393
|
return value !== void 0;
|
|
4279
4394
|
}
|
|
4280
4395
|
isAllowed(value) {
|
|
4281
|
-
if (
|
|
4396
|
+
if (isAnyPayload6(value)) {
|
|
4282
4397
|
return this.isAllowedSchema(value.schema);
|
|
4283
4398
|
}
|
|
4284
4399
|
return true;
|
|
@@ -4310,26 +4425,26 @@ var SimpleDataLakeRunner = class extends AbstractSimpleDataLake {
|
|
|
4310
4425
|
}
|
|
4311
4426
|
async setMany(entries) {
|
|
4312
4427
|
const allowed = entries.filter(([_, data]) => this.isAllowed(data));
|
|
4313
|
-
|
|
4428
|
+
await this.map.setMany(allowed);
|
|
4314
4429
|
}
|
|
4315
4430
|
};
|
|
4316
|
-
__publicField(SimpleDataLakeRunner, "defaultMoniker",
|
|
4431
|
+
__publicField(SimpleDataLakeRunner, "defaultMoniker", DataLakeRunnerMoniker2);
|
|
4317
4432
|
__publicField(SimpleDataLakeRunner, "dependencies", []);
|
|
4318
|
-
__publicField(SimpleDataLakeRunner, "monikers", [
|
|
4433
|
+
__publicField(SimpleDataLakeRunner, "monikers", [DataLakeRunnerMoniker2]);
|
|
4319
4434
|
SimpleDataLakeRunner = __decorateClass([
|
|
4320
4435
|
creatableProvider()
|
|
4321
4436
|
], SimpleDataLakeRunner);
|
|
4322
4437
|
|
|
4323
4438
|
// src/simple/datalake/SimpleDataLakeViewer.ts
|
|
4324
4439
|
import {
|
|
4325
|
-
DataLakeViewerMoniker
|
|
4440
|
+
DataLakeViewerMoniker as DataLakeViewerMoniker2
|
|
4326
4441
|
} from "@xyo-network/xl1-protocol";
|
|
4327
4442
|
var SimpleDataLakeViewer = class extends AbstractSimpleDataLake {
|
|
4328
4443
|
moniker = SimpleDataLakeViewer.defaultMoniker;
|
|
4329
4444
|
};
|
|
4330
|
-
__publicField(SimpleDataLakeViewer, "defaultMoniker",
|
|
4445
|
+
__publicField(SimpleDataLakeViewer, "defaultMoniker", DataLakeViewerMoniker2);
|
|
4331
4446
|
__publicField(SimpleDataLakeViewer, "dependencies", []);
|
|
4332
|
-
__publicField(SimpleDataLakeViewer, "monikers", [
|
|
4447
|
+
__publicField(SimpleDataLakeViewer, "monikers", [DataLakeViewerMoniker2]);
|
|
4333
4448
|
SimpleDataLakeViewer = __decorateClass([
|
|
4334
4449
|
creatableProvider()
|
|
4335
4450
|
], SimpleDataLakeViewer);
|
|
@@ -4365,7 +4480,7 @@ SimpleFinalizationRunner = __decorateClass([
|
|
|
4365
4480
|
|
|
4366
4481
|
// src/simple/finalization/SimpleFinalizationViewer.ts
|
|
4367
4482
|
import {
|
|
4368
|
-
assertEx as
|
|
4483
|
+
assertEx as assertEx37
|
|
4369
4484
|
} from "@xylabs/sdk-js";
|
|
4370
4485
|
import {
|
|
4371
4486
|
asSignedHydratedBlockWithStorageMeta as asSignedHydratedBlockWithStorageMeta2,
|
|
@@ -4402,7 +4517,7 @@ var SimpleFinalizationViewer = class extends AbstractCreatableProvider {
|
|
|
4402
4517
|
static async paramsHandler(params) {
|
|
4403
4518
|
return {
|
|
4404
4519
|
...await super.paramsHandler(params),
|
|
4405
|
-
finalizedArchivist:
|
|
4520
|
+
finalizedArchivist: assertEx37(params.finalizedArchivist, () => "finalizedArchivist is required")
|
|
4406
4521
|
};
|
|
4407
4522
|
}
|
|
4408
4523
|
async createHandler() {
|
|
@@ -4413,13 +4528,13 @@ var SimpleFinalizationViewer = class extends AbstractCreatableProvider {
|
|
|
4413
4528
|
}
|
|
4414
4529
|
async head() {
|
|
4415
4530
|
return await this.spanAsync("head", async () => {
|
|
4416
|
-
const currentHead =
|
|
4531
|
+
const currentHead = assertEx37(await this.getCurrentHead(), () => "Could not find most recent block [currentBlock]");
|
|
4417
4532
|
const cache = this.hydratedBlockCache;
|
|
4418
4533
|
const block = await cache.get(currentHead._hash);
|
|
4419
4534
|
if (!block) {
|
|
4420
4535
|
console.log(`Could not find current block with hash ${currentHead._hash}`);
|
|
4421
4536
|
}
|
|
4422
|
-
return
|
|
4537
|
+
return assertEx37(block, () => "Could not find current block");
|
|
4423
4538
|
}, this.context);
|
|
4424
4539
|
}
|
|
4425
4540
|
async headBlock() {
|
|
@@ -4445,8 +4560,8 @@ var SimpleFinalizationViewer = class extends AbstractCreatableProvider {
|
|
|
4445
4560
|
}
|
|
4446
4561
|
async getCurrentHead() {
|
|
4447
4562
|
const chainArchivist = this.finalizedArchivist;
|
|
4448
|
-
const result =
|
|
4449
|
-
|
|
4563
|
+
const result = assertEx37(await findMostRecentBlock(chainArchivist), () => "Could not find most recent block [getCurrentHead]");
|
|
4564
|
+
assertEx37(result?.chain === this.chainId, () => "Chain ID does not match head block chain ID");
|
|
4450
4565
|
return result;
|
|
4451
4566
|
}
|
|
4452
4567
|
};
|
|
@@ -4484,11 +4599,11 @@ var SimpleXyoGateway = class _SimpleXyoGateway extends AbstractCreatableProvider
|
|
|
4484
4599
|
|
|
4485
4600
|
// src/simple/gateway/SimpleXyoGatewayRunner.ts
|
|
4486
4601
|
import {
|
|
4487
|
-
assertEx as
|
|
4602
|
+
assertEx as assertEx38,
|
|
4488
4603
|
BigIntToJsonZod,
|
|
4489
4604
|
isDefined as isDefined19
|
|
4490
4605
|
} from "@xylabs/sdk-js";
|
|
4491
|
-
import { PayloadBuilder as
|
|
4606
|
+
import { PayloadBuilder as PayloadBuilder19 } from "@xyo-network/payload-builder";
|
|
4492
4607
|
import {
|
|
4493
4608
|
asXL1BlockNumber as asXL1BlockNumber9,
|
|
4494
4609
|
TransferSchema as TransferSchema3,
|
|
@@ -4509,13 +4624,13 @@ var SimpleXyoGatewayRunner = class _SimpleXyoGatewayRunner extends AbstractCreat
|
|
|
4509
4624
|
return this._connection;
|
|
4510
4625
|
}
|
|
4511
4626
|
get dataLakes() {
|
|
4512
|
-
|
|
4627
|
+
return this._dataLakes;
|
|
4513
4628
|
}
|
|
4514
4629
|
get signer() {
|
|
4515
4630
|
return this._signer;
|
|
4516
4631
|
}
|
|
4517
4632
|
async addPayloadsToChain(onChain, offChain, options) {
|
|
4518
|
-
const viewer =
|
|
4633
|
+
const viewer = assertEx38(this.connection.viewer, () => "No viewer available on connection");
|
|
4519
4634
|
const {
|
|
4520
4635
|
nbf,
|
|
4521
4636
|
exp,
|
|
@@ -4531,16 +4646,16 @@ var SimpleXyoGatewayRunner = class _SimpleXyoGatewayRunner extends AbstractCreat
|
|
|
4531
4646
|
async addTransactionToChain(tx) {
|
|
4532
4647
|
const connection = this.connection;
|
|
4533
4648
|
const signer = this.signer;
|
|
4534
|
-
const runner =
|
|
4649
|
+
const runner = assertEx38(connection.runner, () => "No runner available on connection");
|
|
4535
4650
|
const signedTx = await signer.signTransaction(tx);
|
|
4536
|
-
await this.addPayloadsToDataLakes(signedTx[1]);
|
|
4651
|
+
await this.addPayloadsToDataLakes([...signedTx[1], signedTx[0]]);
|
|
4537
4652
|
return [await runner.broadcastTransaction(
|
|
4538
4653
|
[signedTx[0], signedTx[1]]
|
|
4539
4654
|
), signedTx];
|
|
4540
4655
|
}
|
|
4541
4656
|
async confirmSubmittedTransaction(txHash, options) {
|
|
4542
4657
|
return await confirmSubmittedTransaction(
|
|
4543
|
-
|
|
4658
|
+
assertEx38(this.connection.viewer, () => "Connection viewer is undefined"),
|
|
4544
4659
|
txHash,
|
|
4545
4660
|
options
|
|
4546
4661
|
);
|
|
@@ -4561,7 +4676,7 @@ var SimpleXyoGatewayRunner = class _SimpleXyoGatewayRunner extends AbstractCreat
|
|
|
4561
4676
|
BigIntToJsonZod.parse(amount)
|
|
4562
4677
|
])
|
|
4563
4678
|
);
|
|
4564
|
-
const transfer = new
|
|
4679
|
+
const transfer = new PayloadBuilder19({ schema: TransferSchema3 }).fields({
|
|
4565
4680
|
from,
|
|
4566
4681
|
transfers: hexTransfers,
|
|
4567
4682
|
epoch: Date.now()
|
|
@@ -4570,7 +4685,7 @@ var SimpleXyoGatewayRunner = class _SimpleXyoGatewayRunner extends AbstractCreat
|
|
|
4570
4685
|
return hash;
|
|
4571
4686
|
}
|
|
4572
4687
|
async addPayloadsToDataLakes(payloads) {
|
|
4573
|
-
const dataLakes = this.
|
|
4688
|
+
const dataLakes = this.dataLakes?.dataLakes ?? [];
|
|
4574
4689
|
await Promise.all(dataLakes.map(async (dataLake) => {
|
|
4575
4690
|
await Promise.all(payloads.map(async (payload) => {
|
|
4576
4691
|
await dataLake?.set(payload._hash, payload);
|
|
@@ -4581,10 +4696,10 @@ var SimpleXyoGatewayRunner = class _SimpleXyoGatewayRunner extends AbstractCreat
|
|
|
4581
4696
|
|
|
4582
4697
|
// src/simple/mempool/SimpleMempoolRunner.ts
|
|
4583
4698
|
import {
|
|
4584
|
-
assertEx as
|
|
4585
|
-
exists as
|
|
4699
|
+
assertEx as assertEx39,
|
|
4700
|
+
exists as exists7
|
|
4586
4701
|
} from "@xylabs/sdk-js";
|
|
4587
|
-
import { PayloadBuilder as
|
|
4702
|
+
import { PayloadBuilder as PayloadBuilder20 } from "@xyo-network/payload-builder";
|
|
4588
4703
|
import {
|
|
4589
4704
|
isPayloadBundle
|
|
4590
4705
|
} from "@xyo-network/payload-model";
|
|
@@ -4619,8 +4734,8 @@ var SimpleMempoolRunner = class extends AbstractCreatableProvider {
|
|
|
4619
4734
|
static async paramsHandler(params) {
|
|
4620
4735
|
return {
|
|
4621
4736
|
...await super.paramsHandler(params),
|
|
4622
|
-
pendingBlocksArchivist:
|
|
4623
|
-
pendingTransactionsArchivist:
|
|
4737
|
+
pendingBlocksArchivist: assertEx39(params?.pendingBlocksArchivist, () => "pendingBlocksArchivist is required"),
|
|
4738
|
+
pendingTransactionsArchivist: assertEx39(params?.pendingTransactionsArchivist, () => "pendingTransactionsArchivist is required")
|
|
4624
4739
|
};
|
|
4625
4740
|
}
|
|
4626
4741
|
async createHandler() {
|
|
@@ -4654,8 +4769,8 @@ var SimpleMempoolRunner = class extends AbstractCreatableProvider {
|
|
|
4654
4769
|
remainingBlockMap.push(i);
|
|
4655
4770
|
return b;
|
|
4656
4771
|
}
|
|
4657
|
-
}).filter(
|
|
4658
|
-
|
|
4772
|
+
}).filter(exists7);
|
|
4773
|
+
assertEx39(
|
|
4659
4774
|
remainingBlockMap.length === remainingBlocks.length,
|
|
4660
4775
|
() => `remainingBlockMap length should match remainingBlocks length [${remainingBlockMap.length}/${remainingBlocks.length}]`
|
|
4661
4776
|
);
|
|
@@ -4672,7 +4787,7 @@ var SimpleMempoolRunner = class extends AbstractCreatableProvider {
|
|
|
4672
4787
|
if (!valid[i]) {
|
|
4673
4788
|
return p._hash;
|
|
4674
4789
|
}
|
|
4675
|
-
}).filter(
|
|
4790
|
+
}).filter(exists7);
|
|
4676
4791
|
pruned += pruneHashes.length;
|
|
4677
4792
|
total += batch.length;
|
|
4678
4793
|
await this.pendingBlocksArchivist.delete(pruneHashes);
|
|
@@ -4692,8 +4807,8 @@ var SimpleMempoolRunner = class extends AbstractCreatableProvider {
|
|
|
4692
4807
|
async submitBlocks(blocks) {
|
|
4693
4808
|
const bundles = await Promise.all(blocks.map(async ([bw, payloads]) => {
|
|
4694
4809
|
return hydratedBlockToPayloadBundle([
|
|
4695
|
-
await
|
|
4696
|
-
await
|
|
4810
|
+
await PayloadBuilder20.addHashMeta(bw),
|
|
4811
|
+
await PayloadBuilder20.addHashMeta(payloads)
|
|
4697
4812
|
]);
|
|
4698
4813
|
}));
|
|
4699
4814
|
const inserted = await this.pendingBlocksArchivist.insert(bundles);
|
|
@@ -4702,8 +4817,8 @@ var SimpleMempoolRunner = class extends AbstractCreatableProvider {
|
|
|
4702
4817
|
async submitTransactions(transactions) {
|
|
4703
4818
|
const bundles = await Promise.all(transactions.map(async ([tx, payloads]) => {
|
|
4704
4819
|
return hydratedTransactionToPayloadBundle([
|
|
4705
|
-
await
|
|
4706
|
-
await
|
|
4820
|
+
await PayloadBuilder20.addHashMeta(tx),
|
|
4821
|
+
await PayloadBuilder20.addHashMeta(payloads)
|
|
4707
4822
|
]);
|
|
4708
4823
|
}));
|
|
4709
4824
|
const inserted = await this.pendingTransactionsArchivist.insert(bundles);
|
|
@@ -4742,7 +4857,7 @@ SimpleMempoolRunner = __decorateClass([
|
|
|
4742
4857
|
|
|
4743
4858
|
// src/simple/mempool/SimpleMempoolViewer.ts
|
|
4744
4859
|
import {
|
|
4745
|
-
exists as
|
|
4860
|
+
exists as exists8,
|
|
4746
4861
|
isDefined as isDefined20,
|
|
4747
4862
|
isHash
|
|
4748
4863
|
} from "@xylabs/sdk-js";
|
|
@@ -4784,7 +4899,7 @@ var SimpleMempoolViewer = class extends AbstractCreatableProvider {
|
|
|
4784
4899
|
cursor
|
|
4785
4900
|
});
|
|
4786
4901
|
const filteredBundles = bundles.filter(isPayloadBundle2).filter(isHashMeta2);
|
|
4787
|
-
return (await Promise.all(filteredBundles.map(async (bundle3) => await bundledPayloadToHydratedBlock(bundle3)))).filter(
|
|
4902
|
+
return (await Promise.all(filteredBundles.map(async (bundle3) => await bundledPayloadToHydratedBlock(bundle3)))).filter(exists8);
|
|
4788
4903
|
}
|
|
4789
4904
|
async pendingTransactions({ cursor: providedCursor, limit = 100 } = {}) {
|
|
4790
4905
|
let cursor = void 0;
|
|
@@ -4807,7 +4922,7 @@ var SimpleMempoolViewer = class extends AbstractCreatableProvider {
|
|
|
4807
4922
|
const tx = await bundledPayloadToHydratedTransaction(bundle3);
|
|
4808
4923
|
return isDefined20(tx) ? { bundle: bundle3, tx } : void 0;
|
|
4809
4924
|
})
|
|
4810
|
-
)).filter(
|
|
4925
|
+
)).filter(exists8);
|
|
4811
4926
|
const currentBlock = await this.windowedBlockViewer.currentBlock();
|
|
4812
4927
|
const evaluated = await Promise.all(
|
|
4813
4928
|
hydratedWithBundle.map(async ({ bundle: bundle3, tx }) => ({
|
|
@@ -4827,7 +4942,7 @@ var SimpleMempoolViewer = class extends AbstractCreatableProvider {
|
|
|
4827
4942
|
);
|
|
4828
4943
|
const inclusionCandidates = (await Promise.all(validTransactions.map((x) => x.tx).map(async (tx) => {
|
|
4829
4944
|
if (await this.isInclusionCandidate(tx, currentBlock, false)) return tx;
|
|
4830
|
-
}))).filter(
|
|
4945
|
+
}))).filter(exists8);
|
|
4831
4946
|
this.logger?.info(`Inclusion candidates: ${inclusionCandidates.length}`);
|
|
4832
4947
|
return inclusionCandidates;
|
|
4833
4948
|
}
|
|
@@ -4944,7 +5059,7 @@ var SimpleXyoNetwork = class {
|
|
|
4944
5059
|
};
|
|
4945
5060
|
|
|
4946
5061
|
// src/simple/permissions/SimpleXyoPermissions.ts
|
|
4947
|
-
import { assertEx as
|
|
5062
|
+
import { assertEx as assertEx40 } from "@xylabs/sdk-js";
|
|
4948
5063
|
var SimpleXyoPermissions = class {
|
|
4949
5064
|
invoker;
|
|
4950
5065
|
_store;
|
|
@@ -4953,7 +5068,7 @@ var SimpleXyoPermissions = class {
|
|
|
4953
5068
|
this.invoker = store.invoker;
|
|
4954
5069
|
}
|
|
4955
5070
|
get store() {
|
|
4956
|
-
return
|
|
5071
|
+
return assertEx40(this._store, () => "Store must be defined to get permissions");
|
|
4957
5072
|
}
|
|
4958
5073
|
async getPermissions() {
|
|
4959
5074
|
return await this.store.getPermissions();
|
|
@@ -5006,7 +5121,7 @@ var SimpleXyoPermissions = class {
|
|
|
5006
5121
|
};
|
|
5007
5122
|
|
|
5008
5123
|
// src/simple/permissions/store/MemoryPermissions.ts
|
|
5009
|
-
import { assertEx as
|
|
5124
|
+
import { assertEx as assertEx41 } from "@xylabs/sdk-js";
|
|
5010
5125
|
var MemoryPermissionsStore = class {
|
|
5011
5126
|
_invoker;
|
|
5012
5127
|
permissions = [];
|
|
@@ -5014,7 +5129,7 @@ var MemoryPermissionsStore = class {
|
|
|
5014
5129
|
this._invoker = invoker;
|
|
5015
5130
|
}
|
|
5016
5131
|
get invoker() {
|
|
5017
|
-
return
|
|
5132
|
+
return assertEx41(this._invoker, () => "Invoker must be defined to get permissions");
|
|
5018
5133
|
}
|
|
5019
5134
|
async getPermissions() {
|
|
5020
5135
|
await Promise.resolve();
|
|
@@ -5027,7 +5142,7 @@ var MemoryPermissionsStore = class {
|
|
|
5027
5142
|
};
|
|
5028
5143
|
|
|
5029
5144
|
// src/simple/runner/SimpleXyoRunner.ts
|
|
5030
|
-
import { PayloadBuilder as
|
|
5145
|
+
import { PayloadBuilder as PayloadBuilder21 } from "@xyo-network/payload-builder";
|
|
5031
5146
|
import {
|
|
5032
5147
|
MempoolRunnerMoniker as MempoolRunnerMoniker2,
|
|
5033
5148
|
XyoRunnerMoniker
|
|
@@ -5040,7 +5155,7 @@ var SimpleXyoRunner = class extends AbstractCreatableProvider {
|
|
|
5040
5155
|
}
|
|
5041
5156
|
async broadcastTransaction(transaction) {
|
|
5042
5157
|
await this.mempool.submitTransactions([transaction]);
|
|
5043
|
-
const hash = await
|
|
5158
|
+
const hash = await PayloadBuilder21.hash(transaction[0]);
|
|
5044
5159
|
this.logger?.info(`Broadcasted transaction with hash ${hash}`);
|
|
5045
5160
|
return hash;
|
|
5046
5161
|
}
|
|
@@ -5058,7 +5173,7 @@ SimpleXyoRunner = __decorateClass([
|
|
|
5058
5173
|
|
|
5059
5174
|
// src/simple/signer/SimpleXyoSigner.ts
|
|
5060
5175
|
import { Account as Account2 } from "@xyo-network/account";
|
|
5061
|
-
import { PayloadBuilder as
|
|
5176
|
+
import { PayloadBuilder as PayloadBuilder22 } from "@xyo-network/payload-builder";
|
|
5062
5177
|
import {
|
|
5063
5178
|
SignedHydratedTransactionWithHashMetaZod,
|
|
5064
5179
|
XyoSignerMoniker as XyoSignerMoniker3
|
|
@@ -5101,7 +5216,7 @@ var SimpleXyoSigner = class _SimpleXyoSigner extends AbstractCreatableProvider {
|
|
|
5101
5216
|
}
|
|
5102
5217
|
async signTransaction(tx) {
|
|
5103
5218
|
const txBW = await signTransaction(tx[0], this.params.account);
|
|
5104
|
-
return SignedHydratedTransactionWithHashMetaZod.parse([await
|
|
5219
|
+
return SignedHydratedTransactionWithHashMetaZod.parse([await PayloadBuilder22.addStorageMeta(txBW), await PayloadBuilder22.addStorageMeta(tx[1])]);
|
|
5105
5220
|
}
|
|
5106
5221
|
};
|
|
5107
5222
|
|
|
@@ -5188,7 +5303,7 @@ SimpleStakeEventsViewer = __decorateClass([
|
|
|
5188
5303
|
// src/simple/timeSync2/SimpleTimeSyncViewer.ts
|
|
5189
5304
|
import {
|
|
5190
5305
|
asHash as asHash6,
|
|
5191
|
-
assertEx as
|
|
5306
|
+
assertEx as assertEx42,
|
|
5192
5307
|
isDefined as isDefined22
|
|
5193
5308
|
} from "@xylabs/sdk-js";
|
|
5194
5309
|
import {
|
|
@@ -5210,7 +5325,7 @@ var SimpleTimeSyncViewer = class extends AbstractCreatableProvider {
|
|
|
5210
5325
|
async convertTime(fromDomain, toDomain, from) {
|
|
5211
5326
|
switch (fromDomain) {
|
|
5212
5327
|
case "xl1": {
|
|
5213
|
-
const [block, payloads] =
|
|
5328
|
+
const [block, payloads] = assertEx42(await this.blockViewer.blockByNumber(asXL1BlockNumber10(from, true)), () => "Block not found");
|
|
5214
5329
|
const timeSchemaIndex = block.payload_schemas.indexOf(TimeSchema);
|
|
5215
5330
|
const hash = timeSchemaIndex === -1 ? void 0 : block.payload_hashes[timeSchemaIndex];
|
|
5216
5331
|
const timePayload = asTimePayload2(isDefined22(hash) ? payloads.find((p) => p._hash === hash) : void 0);
|
|
@@ -5265,10 +5380,10 @@ var SimpleTimeSyncViewer = class extends AbstractCreatableProvider {
|
|
|
5265
5380
|
return [Date.now(), null];
|
|
5266
5381
|
}
|
|
5267
5382
|
case "ethereum": {
|
|
5268
|
-
const provider =
|
|
5383
|
+
const provider = assertEx42(this.ethProvider, () => "Ethereum provider not configured");
|
|
5269
5384
|
const blockNumber = await provider.getBlockNumber() ?? 0;
|
|
5270
5385
|
const block = await provider.getBlock(blockNumber);
|
|
5271
|
-
const blockHash = asHash6(
|
|
5386
|
+
const blockHash = asHash6(assertEx42(block?.hash, () => "Block hash not found"), true);
|
|
5272
5387
|
return [blockNumber, blockHash];
|
|
5273
5388
|
}
|
|
5274
5389
|
default: {
|
|
@@ -5283,7 +5398,7 @@ var SimpleTimeSyncViewer = class extends AbstractCreatableProvider {
|
|
|
5283
5398
|
// this is for the previous block
|
|
5284
5399
|
xl1,
|
|
5285
5400
|
// this is for the previous block
|
|
5286
|
-
xl1Hash:
|
|
5401
|
+
xl1Hash: assertEx42(xl1Hash, () => "No xl1 hash available from time sync service"),
|
|
5287
5402
|
epoch: Date.now()
|
|
5288
5403
|
};
|
|
5289
5404
|
if (isDefined22(this.ethProvider)) {
|
|
@@ -5304,8 +5419,8 @@ SimpleTimeSyncViewer = __decorateClass([
|
|
|
5304
5419
|
|
|
5305
5420
|
// src/simple/windowedBlock/SimpleWindowedBlockViewer.ts
|
|
5306
5421
|
import {
|
|
5307
|
-
assertEx as
|
|
5308
|
-
exists as
|
|
5422
|
+
assertEx as assertEx43,
|
|
5423
|
+
exists as exists9,
|
|
5309
5424
|
isNull as isNull2
|
|
5310
5425
|
} from "@xylabs/sdk-js";
|
|
5311
5426
|
import {
|
|
@@ -5368,14 +5483,14 @@ var SimpleWindowedBlockViewer = class extends AbstractCreatableProvider {
|
|
|
5368
5483
|
return result;
|
|
5369
5484
|
}
|
|
5370
5485
|
blocksByTransactionHashes(hashes) {
|
|
5371
|
-
return hashes.map((hash) => this._transactionHashMap.get(hash)).filter(
|
|
5486
|
+
return hashes.map((hash) => this._transactionHashMap.get(hash)).filter(exists9);
|
|
5372
5487
|
}
|
|
5373
5488
|
chainId(_blockNumber) {
|
|
5374
5489
|
throw new Error("Method not implemented.");
|
|
5375
5490
|
}
|
|
5376
5491
|
async createHandler() {
|
|
5377
5492
|
await super.createHandler();
|
|
5378
|
-
this._blockViewer =
|
|
5493
|
+
this._blockViewer = assertEx43(
|
|
5379
5494
|
this.params.blockViewer ?? await this.locator.getInstance(BlockViewerMoniker5),
|
|
5380
5495
|
() => "BlockViewer instance is required"
|
|
5381
5496
|
);
|
|
@@ -5384,13 +5499,13 @@ var SimpleWindowedBlockViewer = class extends AbstractCreatableProvider {
|
|
|
5384
5499
|
this._transactionHashMap = new MemoryMap();
|
|
5385
5500
|
}
|
|
5386
5501
|
currentBlock() {
|
|
5387
|
-
return
|
|
5502
|
+
return assertEx43(this._chain.at(-1));
|
|
5388
5503
|
}
|
|
5389
5504
|
currentBlockHash() {
|
|
5390
|
-
return
|
|
5505
|
+
return assertEx43(this._chain.at(-1)?.[0]._hash);
|
|
5391
5506
|
}
|
|
5392
5507
|
currentBlockNumber() {
|
|
5393
|
-
return
|
|
5508
|
+
return assertEx43(this._chain.at(-1)?.[0].block);
|
|
5394
5509
|
}
|
|
5395
5510
|
async payloadByHash(hash) {
|
|
5396
5511
|
const payloads = await this.payloadsByHash([hash]);
|
|
@@ -5549,13 +5664,13 @@ var RuntimeStatusMonitor = class extends LoggerStatusReporter {
|
|
|
5549
5664
|
};
|
|
5550
5665
|
|
|
5551
5666
|
// src/time/primitives/xl1BlockNumberToEthBlockNumber.ts
|
|
5552
|
-
import { assertEx as
|
|
5667
|
+
import { assertEx as assertEx44 } from "@xylabs/sdk-js";
|
|
5553
5668
|
import { asTimePayload as asTimePayload3, TimeSchema as TimeSchema2 } from "@xyo-network/xl1-protocol";
|
|
5554
5669
|
async function xl1BlockNumberToEthBlockNumber(context, xl1BlockNumber) {
|
|
5555
5670
|
const blockHash = await hashFromBlockNumber(context, xl1BlockNumber);
|
|
5556
5671
|
const hydratedBlock = await hydrateBlock(context, blockHash);
|
|
5557
5672
|
const timePayload = asTimePayload3(hydratedBlock[1].find((p) => p.schema === TimeSchema2), { required: true });
|
|
5558
|
-
return
|
|
5673
|
+
return assertEx44(timePayload.ethereum, () => "No ethereum timestamp found on block");
|
|
5559
5674
|
}
|
|
5560
5675
|
|
|
5561
5676
|
// src/wallet/generateXyoBaseWalletFromPhrase.ts
|
|
@@ -5609,6 +5724,8 @@ export {
|
|
|
5609
5724
|
ProviderFactory,
|
|
5610
5725
|
ProviderFactoryLocator,
|
|
5611
5726
|
ProviderFactoryLocatorZod,
|
|
5727
|
+
RestDataLakeRunner,
|
|
5728
|
+
RestDataLakeViewer,
|
|
5612
5729
|
RewardMultipliers,
|
|
5613
5730
|
RuntimeStatusMonitor,
|
|
5614
5731
|
RuntimeStatusMonitorZod,
|