@xyo-network/xl1-cli 1.18.4 → 1.19.0

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.
Files changed (2) hide show
  1. package/dist/cli-min.mjs +575 -656
  2. package/package.json +13 -13
package/dist/cli-min.mjs CHANGED
@@ -17687,7 +17687,7 @@ function requireFollowRedirects () {
17687
17687
  var followRedirectsExports = requireFollowRedirects();
17688
17688
  var followRedirects = /*@__PURE__*/getDefaultExportFromCjs(followRedirectsExports);
17689
17689
 
17690
- const VERSION$1 = "1.13.3";
17690
+ const VERSION$1 = "1.13.4";
17691
17691
 
17692
17692
  function parseProtocol(url) {
17693
17693
  const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url);
@@ -20361,13 +20361,8 @@ let Axios$1 = class Axios {
20361
20361
 
20362
20362
  promise = Promise.resolve(config);
20363
20363
 
20364
- let prevResult = config;
20365
20364
  while (i < len) {
20366
- promise = promise
20367
- .then(chain[i++])
20368
- .then(result => { prevResult = result !== undefined ? result : prevResult; })
20369
- .catch(chain[i++])
20370
- .then(() => prevResult);
20365
+ promise = promise.then(chain[i++], chain[i++]);
20371
20366
  }
20372
20367
 
20373
20368
  return promise;
@@ -20398,7 +20393,7 @@ let Axios$1 = class Axios {
20398
20393
  len = responseInterceptorChain.length;
20399
20394
 
20400
20395
  while (i < len) {
20401
- promise = promise.then(responseInterceptorChain[i++]).catch(responseInterceptorChain[i++]);
20396
+ promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);
20402
20397
  }
20403
20398
 
20404
20399
  return promise;
@@ -71238,9 +71233,9 @@ var Elliptic = class {
71238
71233
  }
71239
71234
  };
71240
71235
 
71241
- var __defProp$u = Object.defineProperty;
71236
+ var __defProp$v = Object.defineProperty;
71242
71237
  var __getOwnPropDesc$f = Object.getOwnPropertyDescriptor;
71243
- var __defNormalProp$e = (obj, key, value) => key in obj ? __defProp$u(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
71238
+ var __defNormalProp$e = (obj, key, value) => key in obj ? __defProp$v(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
71244
71239
  var __decorateClass$f = (decorators, target, key, kind) => {
71245
71240
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$f(target, key) : target;
71246
71241
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
@@ -71479,9 +71474,15 @@ var asAnyPayload = AsObjectFactory.create(isAnyPayload);
71479
71474
  function isPayloadOfSchemaType(schema) {
71480
71475
  return (x) => isAnyPayload(x) && x?.schema === schema;
71481
71476
  }
71477
+ var SchemaRegEx = /^(?:[a-z0-9]+\.)*[a-z0-9]+$/;
71478
+ var SchemaZod = z.string().regex(SchemaRegEx).transform((v) => v);
71479
+ var isSchema = zodIsFactory(SchemaZod);
71480
+ var asSchema = zodAsFactory(SchemaZod, "asSchema");
71481
+ var PayloadSchema = asSchema("network.xyo.payload", true);
71482
+ z.literal(PayloadSchema);
71482
71483
 
71483
71484
  // src/Error.ts
71484
- var ModuleErrorSchema = "network.xyo.error.module";
71485
+ var ModuleErrorSchema = asSchema("network.xyo.error.module", true);
71485
71486
  function isPayloadOfZodType(zodSchema, schema) {
71486
71487
  return (x) => {
71487
71488
  if (!isAnyPayload(x)) return false;
@@ -71490,12 +71491,6 @@ function isPayloadOfZodType(zodSchema, schema) {
71490
71491
  return zodSchema.safeParse(data).success;
71491
71492
  };
71492
71493
  }
71493
- var SchemaRegEx = /^(?:[a-z0-9]+\.)*[a-z0-9]+$/;
71494
- var SchemaZod = z.string().regex(SchemaRegEx);
71495
- var PayloadSchema = "network.xyo.payload";
71496
- z.literal(PayloadSchema);
71497
- var isSchema = zodIsFactory(SchemaZod);
71498
- var asSchema = zodAsFactory(SchemaZod, "asSchema");
71499
71494
  var isLocalSequence = (value) => {
71500
71495
  return isHex(value) && value.length === SequenceConstants.localSequenceBytes * 2;
71501
71496
  };
@@ -71680,7 +71675,7 @@ var PayloadZodStrictOfSchema = (schema) => PayloadZodStrict.extend({ schema: z.l
71680
71675
  var PayloadZodLooseOfSchema = (schema) => PayloadZodLoose.extend({ schema: z.literal(schema) });
71681
71676
 
71682
71677
  // src/PayloadBundle.ts
71683
- var PayloadBundleSchema = "network.xyo.payload.bundle";
71678
+ var PayloadBundleSchema = asSchema("network.xyo.payload.bundle", true);
71684
71679
  var PayloadBundleFieldsZod = z.object({
71685
71680
  payloads: PayloadZodLoose.array(),
71686
71681
  root: HashZod
@@ -71688,8 +71683,11 @@ var PayloadBundleFieldsZod = z.object({
71688
71683
  var PayloadBundleZod = PayloadZodOfSchema(PayloadBundleSchema).extend(PayloadBundleFieldsZod.shape);
71689
71684
  var isPayloadBundle = zodIsFactory(PayloadBundleZod);
71690
71685
 
71686
+ // src/PayloadSet/PayloadSetSchema.ts
71687
+ asSchema("network.xyo.payload.set", true);
71688
+
71691
71689
  // src/Config/Config.ts
71692
- var ModuleConfigSchema = "network.xyo.module.config";
71690
+ var ModuleConfigSchema = asSchema("network.xyo.module.config", true);
71693
71691
 
71694
71692
  // src/CreatableModule/CreatableModule.ts
71695
71693
  function creatableModule() {
@@ -71787,18 +71785,10 @@ var ModuleFactory = class _ModuleFactory {
71787
71785
  return new _ModuleFactory(this.creatableModule, params, labels);
71788
71786
  }
71789
71787
  };
71790
-
71791
- // src/Queries/Manifest.ts
71792
- var ModuleManifestQuerySchema = "network.xyo.query.module.manifest";
71793
-
71794
- // src/Queries/ModuleAddress/Query.ts
71795
- var ModuleAddressQuerySchema = "network.xyo.query.module.address";
71796
-
71797
- // src/Queries/State.ts
71798
- var ModuleStateQuerySchema = "network.xyo.query.module.state";
71799
-
71800
- // src/Queries/Subscribe.ts
71801
- var ModuleSubscribeQuerySchema = "network.xyo.query.module.subscribe";
71788
+ var ModuleManifestQuerySchema = asSchema("network.xyo.query.module.manifest", true);
71789
+ var ModuleAddressQuerySchema = asSchema("network.xyo.query.module.address", true);
71790
+ var ModuleStateQuerySchema = asSchema("network.xyo.query.module.state", true);
71791
+ var ModuleSubscribeQuerySchema = asSchema("network.xyo.query.module.subscribe", true);
71802
71792
  var requiredModuleShape = {
71803
71793
  address: "string",
71804
71794
  queries: "array",
@@ -71945,13 +71935,11 @@ var isModuleName = (value) => {
71945
71935
  var includesReservedModuleIdentifierCharacter = (value) => {
71946
71936
  return typeof value === "string" && [...value].some((char) => ReservedModuleIdentifierCharacters.has(char));
71947
71937
  };
71948
- var AddressSchema = "network.xyo.address";
71949
-
71950
- // src/Payload/AddressPreviousHash.ts
71951
- var AddressPreviousHashSchema = "network.xyo.address.hash.previous";
71952
-
71953
- // src/Payload/Description.ts
71954
- var ModuleDescriptionSchema = "network.xyo.module.description";
71938
+ var AddressSchema = asSchema("network.xyo.address", true);
71939
+ asSchema("network.xyo.address.child", true);
71940
+ var AddressPreviousHashSchema = asSchema("network.xyo.address.hash.previous", true);
71941
+ var ModuleDescriptionSchema = asSchema("network.xyo.module.description", true);
71942
+ asSchema("network.xyo.module.state", true);
71955
71943
 
71956
71944
  // src/ResolveHelper/resolveAddressToInstance.ts
71957
71945
  var resolveAddressToInstanceDown = async (root, address, includePrivate = void 0, ignore = []) => {
@@ -72235,9 +72223,7 @@ var ResolveHelper = class _ResolveHelper extends ResolveHelperStatic {
72235
72223
  };
72236
72224
 
72237
72225
  // src/BoundWitness/BoundWitness.ts
72238
-
72239
- // src/BoundWitness/BoundWitnessSchema.ts
72240
- var BoundWitnessSchema = "network.xyo.boundwitness";
72226
+ var BoundWitnessSchema = asSchema("network.xyo.boundwitness", true);
72241
72227
  var SignaturesMetaZod = z.object({ $signatures: z.array(z.union([HexZod, z.null()])) });
72242
72228
  var UnsignedSignaturesMetaZod = z.object({ $signatures: z.array(z.null()) });
72243
72229
  var SignedSignaturesMetaZod = z.object({ $signatures: z.array(HexZod).min(1) });
@@ -75318,8 +75304,10 @@ var boundWitnessJsonSchema = {
75318
75304
  };
75319
75305
 
75320
75306
  // src/Manifest.ts
75321
- var ModuleManifestPayloadSchema = "network.xyo.module.manifest";
75322
- var NodeManifestPayloadSchema = "network.xyo.node.manifest";
75307
+ asSchema("network.xyo.manifest.package.dapp", true);
75308
+ asSchema("network.xyo.manifest.package", true);
75309
+ var ModuleManifestPayloadSchema = asSchema("network.xyo.module.manifest", true);
75310
+ var NodeManifestPayloadSchema = asSchema("network.xyo.node.manifest", true);
75323
75311
 
75324
75312
  // src/Account.ts
75325
75313
  var isPhraseInitializationConfig = (value) => {
@@ -75345,33 +75333,16 @@ var isAccountInstance = (account) => {
75345
75333
  };
75346
75334
 
75347
75335
  // src/ArchivistSnapshot.ts
75348
-
75349
- // src/ArchivistStats.ts
75350
- var ArchivistStatsPayloadSchema = "network.xyo.archivist.stats";
75351
-
75352
- // src/Queries/All.ts
75353
- var ArchivistAllQuerySchema = "network.xyo.query.archivist.all";
75354
-
75355
- // src/Queries/Clear.ts
75356
- var ArchivistClearQuerySchema = "network.xyo.query.archivist.clear";
75357
-
75358
- // src/Queries/Commit.ts
75359
- var ArchivistCommitQuerySchema = "network.xyo.query.archivist.commit";
75360
-
75361
- // src/Queries/Delete.ts
75362
- var ArchivistDeleteQuerySchema = "network.xyo.query.archivist.delete";
75363
-
75364
- // src/Queries/Get.ts
75365
- var ArchivistGetQuerySchema = "network.xyo.query.archivist.get";
75366
-
75367
- // src/Queries/Insert.ts
75368
- var ArchivistInsertQuerySchema = "network.xyo.query.archivist.insert";
75369
-
75370
- // src/Queries/Next.ts
75371
- var ArchivistNextQuerySchema = "network.xyo.query.archivist.next";
75372
-
75373
- // src/Queries/Snapshot.ts
75374
- var ArchivistSnapshotQuerySchema = "network.xyo.query.archivist.snapshot";
75336
+ asSchema("network.xyo.archivist.snapshot", true);
75337
+ var ArchivistStatsPayloadSchema = asSchema("network.xyo.archivist.stats", true);
75338
+ var ArchivistAllQuerySchema = asSchema("network.xyo.query.archivist.all", true);
75339
+ var ArchivistClearQuerySchema = asSchema("network.xyo.query.archivist.clear", true);
75340
+ var ArchivistCommitQuerySchema = asSchema("network.xyo.query.archivist.commit", true);
75341
+ var ArchivistDeleteQuerySchema = asSchema("network.xyo.query.archivist.delete", true);
75342
+ var ArchivistGetQuerySchema = asSchema("network.xyo.query.archivist.get", true);
75343
+ var ArchivistInsertQuerySchema = asSchema("network.xyo.query.archivist.insert", true);
75344
+ var ArchivistNextQuerySchema = asSchema("network.xyo.query.archivist.next", true);
75345
+ var ArchivistSnapshotQuerySchema = asSchema("network.xyo.query.archivist.snapshot", true);
75375
75346
 
75376
75347
  // src/typeChecks.ts
75377
75348
  var isArchivistInstance = new IsInstanceFactory().create({ get: "function" }, [isModuleInstance]);
@@ -75388,9 +75359,7 @@ var isAttachableArchivistInstance = factory$5.create(requiredAttachableArchivist
75388
75359
 
75389
75360
  // src/attachable/asAttachableInstance.ts
75390
75361
  var asAttachableArchivistInstance = AsObjectFactory.create(isAttachableArchivistInstance);
75391
-
75392
- // src/Config.ts
75393
- var ArchivistConfigSchema = "network.xyo.archivist.config";
75362
+ var ArchivistConfigSchema = asSchema("network.xyo.archivist.config", true);
75394
75363
  var tryGetTypedBoundWitnessWithStorageMeta = async (archivist, hash, identity) => {
75395
75364
  const payload = (await archivist.get([hash])).at(0);
75396
75365
  return identity(payload) ? payload : void 0;
@@ -75626,14 +75595,10 @@ var QueryBoundWitnessBuilder = class extends BoundWitnessBuilder {
75626
75595
  };
75627
75596
 
75628
75597
  // src/Plugin.ts
75629
-
75630
- // src/Schema.ts
75631
- var ConfigSchema = "network.xyo.config";
75598
+ var ConfigSchema = asSchema("network.xyo.config", true);
75632
75599
 
75633
75600
  // src/Plugin.ts
75634
-
75635
- // src/Schema.ts
75636
- var QuerySchema = "network.xyo.query";
75601
+ var QuerySchema = asSchema("network.xyo.query", true);
75637
75602
 
75638
75603
  /**
75639
75604
  * @module LRUCache
@@ -77219,12 +77184,12 @@ class LRUCache {
77219
77184
  }
77220
77185
  }
77221
77186
 
77222
- // src/Schema.ts
77223
- var PayloadDivinerSchema = "network.xyo.diviner.payload";
77187
+ // src/Config.ts
77188
+ var PayloadDivinerSchema = asSchema("network.xyo.diviner.payload", true);
77224
77189
 
77225
77190
  // src/Config.ts
77226
- var PayloadDivinerConfigSchema = `${PayloadDivinerSchema}.config`;
77227
- var PayloadDivinerQuerySchema = `${PayloadDivinerSchema}.query`;
77191
+ var PayloadDivinerConfigSchema = asSchema(`${PayloadDivinerSchema}.config`, true);
77192
+ var PayloadDivinerQuerySchema = asSchema(`${PayloadDivinerSchema}.query`, true);
77228
77193
  var isPayloadDivinerQueryPayload = isPayloadOfSchemaType(PayloadDivinerQuerySchema);
77229
77194
  var asPayloadDivinerQueryPayload = AsObjectFactory.create(isPayloadDivinerQueryPayload);
77230
77195
 
@@ -77545,21 +77510,11 @@ var CompositeModuleResolver = class _CompositeModuleResolver extends AbstractMod
77545
77510
  };
77546
77511
 
77547
77512
  // src/attachable/asAttachableInstance.ts
77548
-
77549
- // src/Queries/Attach.ts
77550
- var NodeAttachQuerySchema = "network.xyo.query.node.attach";
77551
-
77552
- // src/Queries/Attached.ts
77553
- var NodeAttachedQuerySchema = "network.xyo.query.node.attached";
77554
-
77555
- // src/Queries/Certify.ts
77556
- var NodeCertifyQuerySchema = "network.xyo.query.node.certify";
77557
-
77558
- // src/Queries/Detach.ts
77559
- var NodeDetachQuerySchema = "network.xyo.query.node.detach";
77560
-
77561
- // src/Queries/Registered.ts
77562
- var NodeRegisteredQuerySchema = "network.xyo.query.node.registered";
77513
+ var NodeAttachQuerySchema = asSchema("network.xyo.query.node.attach", true);
77514
+ var NodeAttachedQuerySchema = asSchema("network.xyo.query.node.attached", true);
77515
+ var NodeCertifyQuerySchema = asSchema("network.xyo.query.node.certify", true);
77516
+ var NodeDetachQuerySchema = asSchema("network.xyo.query.node.detach", true);
77517
+ var NodeRegisteredQuerySchema = asSchema("network.xyo.query.node.registered", true);
77563
77518
 
77564
77519
  // src/typeChecks.ts
77565
77520
  var instanceFactory = new IsInstanceFactory();
@@ -77586,12 +77541,8 @@ var isAttachableNodeInstance = factory$4.create(requiredAttachableNodeInstanceFu
77586
77541
 
77587
77542
  // src/attachable/asAttachableInstance.ts
77588
77543
  var asAttachableNodeInstance = AsObjectFactory.create(isAttachableNodeInstance);
77589
-
77590
- // src/ChildCertification.ts
77591
- var ChildCertificationSchema = "network.xyo.child.certification";
77592
-
77593
- // src/Config.ts
77594
- var NodeConfigSchema = "network.xyo.node.config";
77544
+ var ChildCertificationSchema = asSchema("network.xyo.child.certification", true);
77545
+ var NodeConfigSchema = asSchema("network.xyo.node.config", true);
77595
77546
 
77596
77547
  // src/AbstractModule.ts
77597
77548
  var isDetermineAccountFromAccountParams = (params) => {
@@ -77662,12 +77613,14 @@ var ModuleConfigQueryValidator = class {
77662
77613
  constructor(config) {
77663
77614
  if (config?.security?.allowed) {
77664
77615
  for (const [schema, addresses] of Object.entries(config.security?.allowed)) {
77665
- this.allowed[schema] = addresses.map(toAddressesString);
77616
+ const typedSchema = asSchema(schema, true);
77617
+ this.allowed[typedSchema] = addresses.map(toAddressesString);
77666
77618
  }
77667
77619
  }
77668
77620
  if (config?.security?.disallowed) {
77669
77621
  for (const [schema, addresses] of Object.entries(config.security?.disallowed)) {
77670
- this.disallowed[schema] = addresses.map(toAddressesString);
77622
+ const typedSchema = asSchema(schema, true);
77623
+ this.disallowed[typedSchema] = addresses.map(toAddressesString);
77671
77624
  }
77672
77625
  }
77673
77626
  this.hasAllowedRules = Object.keys(this.allowed).length > 0;
@@ -77939,7 +77892,7 @@ var AbstractModule = class _AbstractModule extends AbstractCreatable {
77939
77892
  });
77940
77893
  }
77941
77894
  if (this.timestamp) {
77942
- const timestamp = { schema: "network.xyo.timestamp", timestamp: Date.now() };
77895
+ const timestamp = { schema: asSchema("network.xyo.timestamp", true), timestamp: Date.now() };
77943
77896
  resultPayloads.push(timestamp);
77944
77897
  }
77945
77898
  const result = await this.bindQueryResult(sourceQuery, resultPayloads, queryAccount ? [queryAccount] : [], errorPayloads);
@@ -78093,7 +78046,8 @@ var AbstractModule = class _AbstractModule extends AbstractCreatable {
78093
78046
  const resultPayloads = [];
78094
78047
  switch (queryPayload.schema) {
78095
78048
  case ModuleManifestQuerySchema: {
78096
- resultPayloads.push(await this.manifestHandler(queryPayload.maxDepth));
78049
+ const typedQueryPayload = queryPayload;
78050
+ resultPayloads.push(await this.manifestHandler(typedQueryPayload.maxDepth));
78097
78051
  break;
78098
78052
  }
78099
78053
  case ModuleAddressQuerySchema: {
@@ -78199,6 +78153,9 @@ var AbstractModuleInstance = class _AbstractModuleInstance extends AbstractModul
78199
78153
  get root() {
78200
78154
  return this;
78201
78155
  }
78156
+ get timeBudget() {
78157
+ return this.config.timeBudget;
78158
+ }
78202
78159
  get upResolver() {
78203
78160
  this._upResolver = this._upResolver ?? new CompositeModuleResolver({
78204
78161
  allowNameResolution: this.allowNameResolution,
@@ -78510,6 +78467,7 @@ var AbstractNode = class _AbstractNode extends AbstractModuleInstance {
78510
78467
  this._cachedManifests.set(maxDepth, manifest);
78511
78468
  return manifest;
78512
78469
  }
78470
+ // eslint-disable-next-line max-statements
78513
78471
  async queryHandler(query, payloads, queryConfig) {
78514
78472
  const wrapper = QueryBoundWitnessWrapper.parseQuery(query, payloads);
78515
78473
  const queryPayload = await wrapper.getQuery();
@@ -78517,7 +78475,8 @@ var AbstractNode = class _AbstractNode extends AbstractModuleInstance {
78517
78475
  const resultPayloads = [];
78518
78476
  switch (queryPayload.schema) {
78519
78477
  case NodeAttachQuerySchema: {
78520
- const address = await this.attachHandler(queryPayload.id, queryPayload.external);
78478
+ const typedQueryPayload = queryPayload;
78479
+ const address = await this.attachHandler(typedQueryPayload.id, typedQueryPayload.external);
78521
78480
  if (address) {
78522
78481
  const payload = new PayloadBuilder({ schema: AddressSchema }).fields({ address }).build();
78523
78482
  resultPayloads.push(payload);
@@ -78525,7 +78484,8 @@ var AbstractNode = class _AbstractNode extends AbstractModuleInstance {
78525
78484
  break;
78526
78485
  }
78527
78486
  case NodeCertifyQuerySchema: {
78528
- const fields = await this.certifyHandler(queryPayload.id);
78487
+ const typedQueryPayload = queryPayload;
78488
+ const fields = await this.certifyHandler(typedQueryPayload.id);
78529
78489
  if (fields) {
78530
78490
  const payload = new PayloadBuilder({ schema: ChildCertificationSchema }).fields(fields).build();
78531
78491
  resultPayloads.push(payload);
@@ -78533,7 +78493,8 @@ var AbstractNode = class _AbstractNode extends AbstractModuleInstance {
78533
78493
  break;
78534
78494
  }
78535
78495
  case NodeDetachQuerySchema: {
78536
- const address = await this.detachHandler(queryPayload.id);
78496
+ const typedQueryPayload = queryPayload;
78497
+ const address = await this.detachHandler(typedQueryPayload.id);
78537
78498
  if (address) {
78538
78499
  const payload = new PayloadBuilder({ schema: AddressSchema }).fields({ address }).build();
78539
78500
  resultPayloads.push(payload);
@@ -81599,9 +81560,9 @@ zero
81599
81560
  zone
81600
81561
  zoo`.split('\n');
81601
81562
 
81602
- var __defProp$t = Object.defineProperty;
81563
+ var __defProp$u = Object.defineProperty;
81603
81564
  var __getOwnPropDesc$d = Object.getOwnPropertyDescriptor;
81604
- var __defNormalProp$d = (obj, key, value) => key in obj ? __defProp$t(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
81565
+ var __defNormalProp$d = (obj, key, value) => key in obj ? __defProp$u(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
81605
81566
  var __decorateClass$d = (decorators, target, key, kind) => {
81606
81567
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$d(target, key) : target;
81607
81568
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
@@ -81906,7 +81867,7 @@ var AbstractArchivist = class _AbstractArchivist extends AbstractModuleInstance
81906
81867
  } finally {
81907
81868
  this.globalReentrancyMutex?.release();
81908
81869
  }
81909
- }, { timeBudgetLimit: 100 });
81870
+ }, { timeBudgetLimit: this.timeBudget });
81910
81871
  }
81911
81872
  /** deprecated use nextQuery or snapshotQuery instead */
81912
81873
  async allQuery(account) {
@@ -81932,7 +81893,7 @@ var AbstractArchivist = class _AbstractArchivist extends AbstractModuleInstance
81932
81893
  } finally {
81933
81894
  this.globalReentrancyMutex?.release();
81934
81895
  }
81935
- }, { timeBudgetLimit: 100 });
81896
+ }, { timeBudgetLimit: this.timeBudget });
81936
81897
  }
81937
81898
  async clearQuery(account) {
81938
81899
  this._noOverride("clearQuery");
@@ -81955,7 +81916,7 @@ var AbstractArchivist = class _AbstractArchivist extends AbstractModuleInstance
81955
81916
  } finally {
81956
81917
  this.globalReentrancyMutex?.release();
81957
81918
  }
81958
- }, { timeBudgetLimit: 200 });
81919
+ }, { timeBudgetLimit: this.timeBudget });
81959
81920
  }
81960
81921
  async commitQuery(account) {
81961
81922
  this._noOverride("commitQuery");
@@ -81978,7 +81939,7 @@ var AbstractArchivist = class _AbstractArchivist extends AbstractModuleInstance
81978
81939
  } finally {
81979
81940
  this.globalReentrancyMutex?.release();
81980
81941
  }
81981
- }, { timeBudgetLimit: 200 });
81942
+ }, { timeBudgetLimit: this.timeBudget });
81982
81943
  }
81983
81944
  async deleteQuery(hashes, account) {
81984
81945
  this._noOverride("deleteQuery");
@@ -82001,7 +81962,7 @@ var AbstractArchivist = class _AbstractArchivist extends AbstractModuleInstance
82001
81962
  } finally {
82002
81963
  this.globalReentrancyMutex?.release();
82003
81964
  }
82004
- }, { timeBudgetLimit: 200 });
81965
+ }, { timeBudgetLimit: this.timeBudget });
82005
81966
  }
82006
81967
  async getQuery(hashes, account) {
82007
81968
  this._noOverride("getQuery");
@@ -82024,7 +81985,7 @@ var AbstractArchivist = class _AbstractArchivist extends AbstractModuleInstance
82024
81985
  } finally {
82025
81986
  this.globalReentrancyMutex?.release();
82026
81987
  }
82027
- }, { timeBudgetLimit: 200 });
81988
+ }, { timeBudgetLimit: this.timeBudget });
82028
81989
  }
82029
81990
  async insertQuery(payloads, account) {
82030
81991
  this._noOverride("insertQuery");
@@ -82048,7 +82009,7 @@ var AbstractArchivist = class _AbstractArchivist extends AbstractModuleInstance
82048
82009
  } finally {
82049
82010
  this.globalReentrancyMutex?.release();
82050
82011
  }
82051
- }, { timeBudgetLimit: 200 });
82012
+ }, { timeBudgetLimit: this.timeBudget });
82052
82013
  }
82053
82014
  async nextQuery(options, account) {
82054
82015
  this._noOverride("nextQuery");
@@ -82071,7 +82032,7 @@ var AbstractArchivist = class _AbstractArchivist extends AbstractModuleInstance
82071
82032
  } finally {
82072
82033
  this.globalReentrancyMutex?.release();
82073
82034
  }
82074
- }, { timeBudgetLimit: 200 });
82035
+ }, { timeBudgetLimit: this.timeBudget });
82075
82036
  }
82076
82037
  async snapshotQuery(account) {
82077
82038
  this._noOverride("snapshotQuery");
@@ -82253,6 +82214,7 @@ var AbstractArchivist = class _AbstractArchivist extends AbstractModuleInstance
82253
82214
  payloadCountHandler() {
82254
82215
  return -1;
82255
82216
  }
82217
+ // eslint-disable-next-line max-statements
82256
82218
  async queryHandler(query, payloads, queryConfig) {
82257
82219
  const sanitizedQuery = PayloadBuilder.omitStorageMeta(query);
82258
82220
  const sanitizedPayloads = PayloadBuilder.omitStorageMeta(payloads);
@@ -82274,11 +82236,13 @@ var AbstractArchivist = class _AbstractArchivist extends AbstractModuleInstance
82274
82236
  break;
82275
82237
  }
82276
82238
  case ArchivistDeleteQuerySchema: {
82277
- resultPayloads.push(...await this.deleteWithConfig(queryPayload.hashes));
82239
+ const typedQueryPayload = queryPayload;
82240
+ resultPayloads.push(...await this.deleteWithConfig(typedQueryPayload.hashes));
82278
82241
  break;
82279
82242
  }
82280
82243
  case ArchivistGetQuerySchema: {
82281
- resultPayloads.push(...await this.getWithConfig(queryPayload.hashes ?? []));
82244
+ const typedQueryPayload = queryPayload;
82245
+ resultPayloads.push(...await this.getWithConfig(typedQueryPayload.hashes ?? []));
82282
82246
  break;
82283
82247
  }
82284
82248
  case ArchivistInsertQuerySchema: {
@@ -82286,7 +82250,8 @@ var AbstractArchivist = class _AbstractArchivist extends AbstractModuleInstance
82286
82250
  break;
82287
82251
  }
82288
82252
  case ArchivistNextQuerySchema: {
82289
- resultPayloads.push(...await this.nextHandler(queryPayload));
82253
+ const typedQueryPayload = queryPayload;
82254
+ resultPayloads.push(...await this.nextHandler(typedQueryPayload));
82290
82255
  break;
82291
82256
  }
82292
82257
  case ArchivistSnapshotQuerySchema: {
@@ -82374,11 +82339,11 @@ var AbstractArchivist = class _AbstractArchivist extends AbstractModuleInstance
82374
82339
  }
82375
82340
  };
82376
82341
 
82377
- var __defProp$s = Object.defineProperty;
82342
+ var __defProp$t = Object.defineProperty;
82378
82343
  var __getOwnPropDesc$c = Object.getOwnPropertyDescriptor;
82379
82344
  var __getProtoOf$6 = Object.getPrototypeOf;
82380
82345
  var __reflectGet$6 = Reflect.get;
82381
- var __defNormalProp$c = (obj, key, value) => key in obj ? __defProp$s(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
82346
+ var __defNormalProp$c = (obj, key, value) => key in obj ? __defProp$t(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
82382
82347
  var __decorateClass$c = (decorators, target, key, kind) => {
82383
82348
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$c(target, key) : target;
82384
82349
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
@@ -82388,9 +82353,7 @@ var __decorateClass$c = (decorators, target, key, kind) => {
82388
82353
  };
82389
82354
  var __publicField$c = (obj, key, value) => __defNormalProp$c(obj, typeof key !== "symbol" ? key + "" : key, value);
82390
82355
  var __superGet$6 = (cls, obj, key) => __reflectGet$6(__getProtoOf$6(cls), key, obj);
82391
-
82392
- // src/Config.ts
82393
- var GenericArchivistConfigSchema = "network.xyo.archivist.generic.config";
82356
+ var GenericArchivistConfigSchema = asSchema("network.xyo.archivist.generic.config", true);
82394
82357
 
82395
82358
  // src/Archivist.ts
82396
82359
  var GenericArchivist = class extends AbstractArchivist {
@@ -82457,11 +82420,11 @@ GenericArchivist = __decorateClass$c([
82457
82420
  creatableModule()
82458
82421
  ], GenericArchivist);
82459
82422
 
82460
- var __defProp$r = Object.defineProperty;
82423
+ var __defProp$s = Object.defineProperty;
82461
82424
  var __getOwnPropDesc$b = Object.getOwnPropertyDescriptor;
82462
82425
  var __getProtoOf$5 = Object.getPrototypeOf;
82463
82426
  var __reflectGet$5 = Reflect.get;
82464
- var __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$r(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
82427
+ var __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$s(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
82465
82428
  var __decorateClass$b = (decorators, target, key, kind) => {
82466
82429
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$b(target, key) : target;
82467
82430
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
@@ -82471,9 +82434,7 @@ var __decorateClass$b = (decorators, target, key, kind) => {
82471
82434
  };
82472
82435
  var __publicField$b = (obj, key, value) => __defNormalProp$b(obj, typeof key !== "symbol" ? key + "" : key, value);
82473
82436
  var __superGet$5 = (cls, obj, key) => __reflectGet$5(__getProtoOf$5(cls), key, obj);
82474
-
82475
- // src/Config.ts
82476
- var MemoryArchivistConfigSchema = "network.xyo.archivist.memory.config";
82437
+ var MemoryArchivistConfigSchema = asSchema("network.xyo.archivist.memory.config", true);
82477
82438
  var MemoryDriver = class extends AbstractCreatable {
82478
82439
  _cache;
82479
82440
  _config;
@@ -82595,11 +82556,11 @@ MemoryArchivist = __decorateClass$b([
82595
82556
  creatableModule()
82596
82557
  ], MemoryArchivist);
82597
82558
 
82598
- var __defProp$q = Object.defineProperty;
82559
+ var __defProp$r = Object.defineProperty;
82599
82560
  var __getOwnPropDesc$a = Object.getOwnPropertyDescriptor;
82600
82561
  var __getProtoOf$4 = Object.getPrototypeOf;
82601
82562
  var __reflectGet$4 = Reflect.get;
82602
- var __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$q(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
82563
+ var __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$r(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
82603
82564
  var __decorateClass$a = (decorators, target, key, kind) => {
82604
82565
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$a(target, key) : target;
82605
82566
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
@@ -82609,7 +82570,7 @@ var __decorateClass$a = (decorators, target, key, kind) => {
82609
82570
  };
82610
82571
  var __publicField$a = (obj, key, value) => __defNormalProp$a(obj, typeof key !== "symbol" ? key + "" : key, value);
82611
82572
  var __superGet$4 = (cls, obj, key) => __reflectGet$4(__getProtoOf$4(cls), key, obj);
82612
- var ViewArchivistConfigSchema = "network.xyo.archivist.view.config";
82573
+ var ViewArchivistConfigSchema = asSchema("network.xyo.archivist.view.config", true);
82613
82574
  var ViewArchivist = class extends AbstractArchivist {
82614
82575
  _originArchivistInstance;
82615
82576
  get originArchivist() {
@@ -82641,19 +82602,11 @@ ViewArchivist = __decorateClass$a([
82641
82602
  ], ViewArchivist);
82642
82603
 
82643
82604
  // src/attachable/asAttachableInstance.ts
82644
-
82645
- // src/Queries/Connect.ts
82646
- var BridgeConnectQuerySchema = "network.xyo.query.bridge.connect";
82647
-
82648
- // src/Queries/Disconnect.ts
82649
- var BridgeDisconnectQuerySchema = "network.xyo.query.bridge.disconnect";
82650
-
82651
- // src/Queries/Expose.ts
82652
- var BridgeExposeQuerySchema = "network.xyo.query.bridge.expose";
82653
- var ModuleFilterPayloadSchema = "network.xyo.module.filter";
82654
-
82655
- // src/Queries/Unexpose.ts
82656
- var BridgeUnexposeQuerySchema = "network.xyo.query.bridge.unexpose";
82605
+ var BridgeConnectQuerySchema = asSchema("network.xyo.query.bridge.connect", true);
82606
+ var BridgeDisconnectQuerySchema = asSchema("network.xyo.query.bridge.disconnect", true);
82607
+ var BridgeExposeQuerySchema = asSchema("network.xyo.query.bridge.expose", true);
82608
+ var ModuleFilterPayloadSchema = asSchema("network.xyo.module.filter", true);
82609
+ var BridgeUnexposeQuerySchema = asSchema("network.xyo.query.bridge.unexpose", true);
82657
82610
 
82658
82611
  // src/typeChecks.ts
82659
82612
  var isBridgeInstance = new IsInstanceFactory().create(
@@ -82669,13 +82622,11 @@ factory$3.create(requiredAttachableBridgeInstanceFunctions, [
82669
82622
  isBridgeInstance,
82670
82623
  isAttachableModuleInstance
82671
82624
  ]);
82625
+ var BridgeConfigSchema = asSchema("network.xyo.bridge.config", true);
82672
82626
 
82673
- // src/Config.ts
82674
- var BridgeConfigSchema = "network.xyo.bridge.config";
82675
-
82676
- var __defProp$p = Object.defineProperty;
82627
+ var __defProp$q = Object.defineProperty;
82677
82628
  var __getOwnPropDesc$9 = Object.getOwnPropertyDescriptor;
82678
- var __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$p(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
82629
+ var __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$q(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
82679
82630
  var __decorateClass$9 = (decorators, target, key, kind) => {
82680
82631
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$9(target, key) : target;
82681
82632
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
@@ -83025,9 +82976,7 @@ var ArchivistWrapper = class extends ModuleWrapper {
83025
82976
  };
83026
82977
 
83027
82978
  // src/attachable/asAttachableInstance.ts
83028
-
83029
- // src/Queries/Divine.ts
83030
- var DivinerDivineQuerySchema = "network.xyo.query.diviner.divine";
82979
+ var DivinerDivineQuerySchema = asSchema("network.xyo.query.diviner.divine", true);
83031
82980
 
83032
82981
  // src/typeChecks.ts
83033
82982
  var isDivinerInstance = new IsInstanceFactory().create({ divine: "function" }, [isModuleInstance]);
@@ -83041,9 +82990,7 @@ factory$2.create(requiredAttachableDivinerInstanceFunctions, [
83041
82990
  isDivinerInstance,
83042
82991
  isAttachableModuleInstance
83043
82992
  ]);
83044
-
83045
- // src/Config.ts
83046
- var DivinerConfigSchema = "network.xyo.diviner.config";
82993
+ var DivinerConfigSchema = asSchema("network.xyo.diviner.config", true);
83047
82994
 
83048
82995
  // src/DivinerWrapper.ts
83049
82996
  var DivinerWrapper = class extends ModuleWrapper {
@@ -83133,9 +83080,7 @@ var NodeWrapper = class extends ModuleWrapper {
83133
83080
  };
83134
83081
 
83135
83082
  // src/attachable/asAttachableInstance.ts
83136
-
83137
- // src/Queries/Report.ts
83138
- var SentinelReportQuerySchema = "network.xyo.query.sentinel.report";
83083
+ var SentinelReportQuerySchema = asSchema("network.xyo.query.sentinel.report", true);
83139
83084
 
83140
83085
  // src/typeChecks.ts
83141
83086
  var isSentinelInstance = new IsInstanceFactory().create({ report: "function" }, [isModuleInstance]);
@@ -83149,11 +83094,11 @@ factory$1.create(requiredAttachableSentinelInstanceFunctions, [
83149
83094
  isSentinelInstance,
83150
83095
  isAttachableModuleInstance
83151
83096
  ]);
83152
- var SentinelIntervalAutomationSchema = "network.xyo.automation.interval";
83097
+ asSchema("network.xyo.automation", true);
83098
+ var SentinelIntervalAutomationSchema = asSchema("network.xyo.automation.interval", true);
83099
+ asSchema("network.xyo.automation.event.module", true);
83153
83100
  var isSentinelIntervalAutomation = isPayloadOfSchemaType(SentinelIntervalAutomationSchema);
83154
-
83155
- // src/Config.ts
83156
- var SentinelConfigSchema = "network.xyo.sentinel.config";
83101
+ var SentinelConfigSchema = asSchema("network.xyo.sentinel.config", true);
83157
83102
 
83158
83103
  // src/Wrapper.ts
83159
83104
  var SentinelWrapper = class extends ModuleWrapper {
@@ -83177,9 +83122,7 @@ var SentinelWrapper = class extends ModuleWrapper {
83177
83122
  };
83178
83123
 
83179
83124
  // src/attachable/asAttachableInstance.ts
83180
-
83181
- // src/Queries/Observe.ts
83182
- var WitnessObserveQuerySchema = "network.xyo.query.witness.observe";
83125
+ var WitnessObserveQuerySchema = asSchema("network.xyo.query.witness.observe", true);
83183
83126
 
83184
83127
  // src/typeChecks.ts
83185
83128
  var isWitnessInstance = new IsInstanceFactory().create({ observe: "function" }, [isModuleInstance]);
@@ -83193,9 +83136,7 @@ factory.create(requiredAttachableWitnessInstanceFunctions, [
83193
83136
  isWitnessInstance,
83194
83137
  isAttachableModuleInstance
83195
83138
  ]);
83196
-
83197
- // src/Config.ts
83198
- var WitnessConfigSchema = "network.xyo.witness.config";
83139
+ var WitnessConfigSchema = asSchema("network.xyo.witness.config", true);
83199
83140
 
83200
83141
  // src/WitnessWrapper.ts
83201
83142
  var WitnessWrapper = class extends ModuleWrapper {
@@ -83662,11 +83603,11 @@ var AbstractModuleProxy = class extends AbstractModuleInstance {
83662
83603
  }
83663
83604
  };
83664
83605
 
83665
- var __defProp$o = Object.defineProperty;
83606
+ var __defProp$p = Object.defineProperty;
83666
83607
  var __getOwnPropDesc$8 = Object.getOwnPropertyDescriptor;
83667
83608
  var __getProtoOf$3 = Object.getPrototypeOf;
83668
83609
  var __reflectGet$3 = Reflect.get;
83669
- var __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$o(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
83610
+ var __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$p(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
83670
83611
  var __decorateClass$8 = (decorators, target, key, kind) => {
83671
83612
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$8(target, key) : target;
83672
83613
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
@@ -83676,9 +83617,7 @@ var __decorateClass$8 = (decorators, target, key, kind) => {
83676
83617
  };
83677
83618
  var __publicField$8 = (obj, key, value) => __defNormalProp$8(obj, typeof key !== "symbol" ? key + "" : key, value);
83678
83619
  var __superGet$3 = (cls, obj, key) => __reflectGet$3(__getProtoOf$3(cls), key, obj);
83679
-
83680
- // src/HttpBridgeConfig.ts
83681
- var HttpBridgeConfigSchema = "network.xyo.bridge.http.config";
83620
+ var HttpBridgeConfigSchema = asSchema("network.xyo.bridge.http.config", true);
83682
83621
  var HttpModuleProxy = class extends AbstractModuleProxy {
83683
83622
  async proxyQueryHandler(query, payloads = []) {
83684
83623
  if (this.archiving && this.isAllowedArchivingQuery(query.schema)) {
@@ -84113,11 +84052,11 @@ var AbstractDiviner = class _AbstractDiviner extends AbstractModuleInstance {
84113
84052
  }
84114
84053
  };
84115
84054
 
84116
- // src/Schema.ts
84117
- var BoundWitnessDivinerSchema = "network.xyo.diviner.boundwitness";
84055
+ // src/Config.ts
84056
+ var BoundWitnessDivinerSchema = asSchema("network.xyo.diviner.boundwitness", true);
84118
84057
 
84119
84058
  // src/Config.ts
84120
- var BoundWitnessDivinerConfigSchema = `${BoundWitnessDivinerSchema}.config`;
84059
+ var BoundWitnessDivinerConfigSchema = asSchema(`${BoundWitnessDivinerSchema}.config`, true);
84121
84060
  var BoundWitnessDivinerQuerySchema = asSchema(`${BoundWitnessDivinerSchema}.query`, true);
84122
84061
  var isBoundWitnessDivinerQueryPayload = isPayloadOfSchemaType(BoundWitnessDivinerQuerySchema);
84123
84062
 
@@ -84171,9 +84110,9 @@ var MemoryBoundWitnessDiviner = class extends BoundWitnessDiviner {
84171
84110
  }
84172
84111
  };
84173
84112
 
84174
- var __defProp$n = Object.defineProperty;
84113
+ var __defProp$o = Object.defineProperty;
84175
84114
  var __getOwnPropDesc$7 = Object.getOwnPropertyDescriptor;
84176
- var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$n(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
84115
+ var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$o(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
84177
84116
  var __decorateClass$7 = (decorators, target, key, kind) => {
84178
84117
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$7(target, key) : target;
84179
84118
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
@@ -84187,7 +84126,7 @@ var IdentityDiviner = class extends AbstractDiviner {
84187
84126
  return assertEx(payloads, () => "IdentityDiviner requires passed payload");
84188
84127
  }
84189
84128
  };
84190
- __publicField$7(IdentityDiviner, "targetSchema", "network.xyo.test");
84129
+ __publicField$7(IdentityDiviner, "targetSchema", asSchema("network.xyo.test", true));
84191
84130
  IdentityDiviner = __decorateClass$7([
84192
84131
  creatableModule()
84193
84132
  ], IdentityDiviner);
@@ -84198,11 +84137,11 @@ var PayloadDiviner = class extends AbstractDiviner {
84198
84137
  static defaultConfigSchema = PayloadDivinerConfigSchema;
84199
84138
  };
84200
84139
 
84201
- var __defProp$m = Object.defineProperty;
84140
+ var __defProp$n = Object.defineProperty;
84202
84141
  var __getOwnPropDesc$6 = Object.getOwnPropertyDescriptor;
84203
84142
  var __getProtoOf$2 = Object.getPrototypeOf;
84204
84143
  var __reflectGet$2 = Reflect.get;
84205
- var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$m(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
84144
+ var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$n(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
84206
84145
  var __decorateClass$6 = (decorators, target, key, kind) => {
84207
84146
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$6(target, key) : target;
84208
84147
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
@@ -84214,7 +84153,7 @@ var __publicField$6 = (obj, key, value) => __defNormalProp$6(obj, typeof key !==
84214
84153
  var __superGet$2 = (cls, obj, key) => __reflectGet$2(__getProtoOf$2(cls), key, obj);
84215
84154
  var DEFAULT_INDEX_BATCH_SIZE = 100;
84216
84155
  var DEFAULT_MAX_INDEX_SIZE = 8e3;
84217
- var GenericPayloadDivinerConfigSchema = "network.xyo.diviner.payload.generic.config";
84156
+ var GenericPayloadDivinerConfigSchema = asSchema("network.xyo.diviner.payload.generic.config", true);
84218
84157
  var GenericPayloadDiviner = class extends PayloadDiviner {
84219
84158
  indexMaps = {};
84220
84159
  payloadsWithMeta = [];
@@ -84344,11 +84283,11 @@ GenericPayloadDiviner = __decorateClass$6([
84344
84283
  creatableModule()
84345
84284
  ], GenericPayloadDiviner);
84346
84285
 
84347
- var __defProp$l = Object.defineProperty;
84286
+ var __defProp$m = Object.defineProperty;
84348
84287
  var __getOwnPropDesc$5 = Object.getOwnPropertyDescriptor;
84349
84288
  var __getProtoOf$1 = Object.getPrototypeOf;
84350
84289
  var __reflectGet$1 = Reflect.get;
84351
- var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$l(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
84290
+ var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$m(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
84352
84291
  var __decorateClass$5 = (decorators, target, key, kind) => {
84353
84292
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$5(target, key) : target;
84354
84293
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
@@ -84358,7 +84297,7 @@ var __decorateClass$5 = (decorators, target, key, kind) => {
84358
84297
  };
84359
84298
  var __publicField$5 = (obj, key, value) => __defNormalProp$5(obj, typeof key !== "symbol" ? key + "" : key, value);
84360
84299
  var __superGet$1 = (cls, obj, key) => __reflectGet$1(__getProtoOf$1(cls), key, obj);
84361
- var ViewNodeConfigSchema = "network.xyo.node.view.config";
84300
+ var ViewNodeConfigSchema = asSchema("network.xyo.node.view.config", true);
84362
84301
  var ViewNode = class extends MemoryNode {
84363
84302
  _buildMutex = new Mutex$1();
84364
84303
  _built = false;
@@ -84943,7 +84882,7 @@ var AbstractWitness = class _AbstractWitness extends AbstractModuleInstance {
84943
84882
  };
84944
84883
 
84945
84884
  // src/Witness.ts
84946
- var AdhocWitnessConfigSchema = "network.xyo.witness.adhoc.config";
84885
+ var AdhocWitnessConfigSchema = asSchema("network.xyo.witness.adhoc.config", true);
84947
84886
  var AdhocWitness = class extends AbstractWitness {
84948
84887
  static configSchemas = [...super.configSchemas, AdhocWitnessConfigSchema];
84949
84888
  static defaultConfigSchema = AdhocWitnessConfigSchema;
@@ -85012,10 +84951,11 @@ var ModuleFactoryLocator = class _ModuleFactoryLocator {
85012
84951
  merge(locator) {
85013
84952
  const registry = { ...this.registry };
85014
84953
  for (const schema in locator.registry) {
85015
- if (registry[schema]) {
85016
- registry[schema].push(...locator.registry[schema] ?? []);
84954
+ const typedSchema = asSchema(schema, true);
84955
+ if (registry[typedSchema]) {
84956
+ registry[typedSchema].push(...locator.registry[typedSchema] ?? []);
85017
84957
  } else {
85018
- registry[schema] = locator.registry[schema];
84958
+ registry[typedSchema] = locator.registry[typedSchema];
85019
84959
  }
85020
84960
  }
85021
84961
  return new _ModuleFactoryLocator(registry);
@@ -85052,9 +84992,7 @@ var ModuleFactoryLocator = class _ModuleFactoryLocator {
85052
84992
  };
85053
84993
 
85054
84994
  // src/Payload.ts
85055
-
85056
- // src/Schema.ts
85057
- var SchemaSchema = "network.xyo.schema";
84995
+ var SchemaSchema = asSchema("network.xyo.schema", true);
85058
84996
 
85059
84997
  // src/Payload.ts
85060
84998
  var isSchemaPayload = isPayloadOfSchemaType(SchemaSchema);
@@ -85179,7 +85117,7 @@ var BridgeDetailsFieldsZod = BridgeDetailsSourceFieldsZod.extend(
85179
85117
  );
85180
85118
 
85181
85119
  // src/payload/elevatable/Bridge/BridgeDestinationObservation.ts
85182
- var BridgeDestinationObservationSchema = "network.xyo.chain.bridge.observation.destination";
85120
+ var BridgeDestinationObservationSchema = asSchema("network.xyo.chain.bridge.observation.destination", true);
85183
85121
  var BridgeDestinationObservationFieldsZod = BridgeDetailsFieldsZod.extend({
85184
85122
  /**
85185
85123
  * Destination chain confirmation
@@ -85190,7 +85128,7 @@ var isBridgeDestinationObservation = isPayloadOfZodType(
85190
85128
  BridgeDestinationObservationFieldsZod,
85191
85129
  BridgeDestinationObservationSchema
85192
85130
  );
85193
- var BridgeIntentSchema = "network.xyo.chain.bridge.intent";
85131
+ var BridgeIntentSchema = asSchema("network.xyo.chain.bridge.intent", true);
85194
85132
  var BridgeIntentFieldsZod = BridgeDetailsFieldsZod.extend({
85195
85133
  /**
85196
85134
  * Unique identifier for replay protection
@@ -85201,7 +85139,7 @@ var isBridgeIntent = isPayloadOfZodType(
85201
85139
  BridgeIntentFieldsZod,
85202
85140
  BridgeIntentSchema
85203
85141
  );
85204
- var BridgeSourceObservationSchema = "network.xyo.chain.bridge.observation.source";
85142
+ var BridgeSourceObservationSchema = asSchema("network.xyo.chain.bridge.observation.source", true);
85205
85143
  var BridgeSourceObservationFieldsZod = BridgeDetailsFieldsZod.extend({
85206
85144
  /**
85207
85145
  * Source chain confirmation
@@ -85212,7 +85150,7 @@ var isBridgeSourceObservation = isPayloadOfZodType(
85212
85150
  BridgeSourceObservationFieldsZod,
85213
85151
  BridgeSourceObservationSchema
85214
85152
  );
85215
- var ChainStakeIntentSchema = "network.xyo.chain.stake.intent";
85153
+ var ChainStakeIntentSchema = asSchema("network.xyo.chain.stake.intent", true);
85216
85154
  var isChainStakeIntent = (x) => {
85217
85155
  return isPayloadOfSchemaType(ChainStakeIntentSchema)(x) && asNonNegativeInteger(x.nbf) !== void 0 && asNonNegativeInteger(x.exp) !== void 0;
85218
85156
  };
@@ -85226,10 +85164,10 @@ var asNonNegativeInteger = (num) => {
85226
85164
  var isExecutable = (value) => {
85227
85165
  return isAnyPayload(value) && Array.isArray(value.script);
85228
85166
  };
85229
- var HashSchema = "network.xyo.hash";
85167
+ var HashSchema = asSchema("network.xyo.hash", true);
85230
85168
  var isHashPayload = isPayloadOfSchemaType(HashSchema);
85231
- var StepCompleteSchema = "network.xyo.chain.step.complete";
85232
- var TimeSchema = "network.xyo.time";
85169
+ var StepCompleteSchema = asSchema("network.xyo.chain.step.complete", true);
85170
+ var TimeSchema = asSchema("network.xyo.time", true);
85233
85171
  var XL1TimeFieldsZod = object$4({
85234
85172
  // block number
85235
85173
  xl1: number$3().optional(),
@@ -85255,7 +85193,7 @@ var isTimePayload = (value) => {
85255
85193
  return isPayloadOfSchemaType(TimeSchema)(value) && isSafeEpoch(value.epoch);
85256
85194
  };
85257
85195
  var asTimePayload = AsObjectFactory.create(isTimePayload);
85258
- var TransferSchema = "network.xyo.transfer";
85196
+ var TransferSchema = asSchema("network.xyo.transfer", true);
85259
85197
  var TransferFieldsZod = object$4({
85260
85198
  // Removed as only transaction have opCodes
85261
85199
  // $opCodes: z.array(z.string()).optional(),
@@ -85297,7 +85235,7 @@ var StepIdentityZod = object$4({
85297
85235
  });
85298
85236
 
85299
85237
  // src/payload/StepIdentityPayload.ts
85300
- var StepIdentitySchema = "network.xyo.chain.step.identity";
85238
+ var StepIdentitySchema = asSchema("network.xyo.chain.step.identity", true);
85301
85239
  var isStepIdentityPayload = isPayloadOfZodType(StepIdentityZod, StepIdentitySchema);
85302
85240
  function base64Encode(u8) {
85303
85241
  if (typeof Buffer !== "undefined" && typeof Buffer.from === "function") {
@@ -85347,7 +85285,6 @@ var BlockBoundWitnessWithStorageMetaZod = BlockBoundWitnessZod.safeExtend(Storag
85347
85285
  var asBlockBoundWitnessWithStorageMeta = zodAsFactory(BlockBoundWitnessWithStorageMetaZod, "asBlockBoundWitnessWithStorageMeta");
85348
85286
  var SignedBlockBoundWitnessZod = SignedBoundWitnessZod.safeExtend(BlockBoundWitnessFieldsZod.shape).safeExtend(BlockBoundWitnessMetaZod.shape);
85349
85287
  var isSignedBlockBoundWitness = zodIsFactory(SignedBlockBoundWitnessZod);
85350
- var asSignedBlockBoundWitness = zodAsFactory(SignedBlockBoundWitnessZod, "asSignedBlockBoundWitness");
85351
85288
  var SignedBlockBoundWitnessWithHashMetaZod = SignedBlockBoundWitnessZod.safeExtend(HashMetaZod.shape);
85352
85289
  var isSignedBlockBoundWitnessWithHashMeta = zodIsFactory(SignedBlockBoundWitnessWithHashMetaZod);
85353
85290
  var asSignedBlockBoundWitnessWithHashMeta = zodAsFactory(SignedBlockBoundWitnessWithHashMetaZod, "asSignedBlockBoundWitnessWithHashMeta");
@@ -85741,9 +85678,10 @@ var isAllowedBlockPayload = (value) => {
85741
85678
  var isAllowedBlockPayloadWithHashMeta = (value) => {
85742
85679
  return isAllowedBlockPayload(value) && isHashMeta(value);
85743
85680
  };
85744
- var BlockNumberSchema = "network.xyo.chain.block.number";
85681
+ var BlockNumberSchema = asSchema("network.xyo.chain.block.number", true);
85745
85682
  var isBlockNumberPayload = isPayloadOfSchemaType(BlockNumberSchema);
85746
85683
  var asBlockNumberPayload = AsObjectFactory.create(isBlockNumberPayload);
85684
+ asSchema("network.xyo.chain.status", true);
85747
85685
  var ValidationError = class extends Error {
85748
85686
  hash;
85749
85687
  value;
@@ -85775,9 +85713,9 @@ var InBlockPayloadValidationError = class extends ValidationError {
85775
85713
  var HydratedTransactionValidationError = class extends ValidationError {
85776
85714
  };
85777
85715
 
85778
- var __defProp$k = Object.defineProperty;
85716
+ var __defProp$l = Object.defineProperty;
85779
85717
  var __getOwnPropDesc$4 = Object.getOwnPropertyDescriptor;
85780
- var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$k(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
85718
+ var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$l(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
85781
85719
  var __decorateClass$4 = (decorators, target, key, kind) => {
85782
85720
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$4(target, key) : target;
85783
85721
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
@@ -87005,7 +86943,7 @@ var findEndBlockRecursive = async (viewer, startBlock, targetTimeMs, estimatedBl
87005
86943
  adjustedBlocksBack,
87006
86944
  toleranceMs);
87007
86945
  };
87008
- async function getWindowedChain(blockViewer, maxWindowSize, previousChain = []) {
86946
+ async function getWindowedChain(context, blockViewer, maxWindowSize, previousChain = []) {
87009
86947
  return await spanRootAsync("getWindowedChain", async () => {
87010
86948
  const newChain = [];
87011
86949
  const previousChainByHash = new Map(previousChain.map((block) => [block[0]._hash, block]));
@@ -87032,7 +86970,7 @@ async function getWindowedChain(blockViewer, maxWindowSize, previousChain = [])
87032
86970
  currentBlock = previousChainByHash.get(previousBlockHash) ?? await blockViewer.blockByHash(previousBlockHash);
87033
86971
  }
87034
86972
  return newChain;
87035
- }, { timeBudgetLimit: 100 });
86973
+ }, context);
87036
86974
  }
87037
86975
  function completedStepRewardAddress({ block, step }) {
87038
86976
  const resolvedStepSize = step < StepSizes.length ? StepSizes[step] : step;
@@ -87106,6 +87044,7 @@ async function stepRewardBlock(context, { block, step }) {
87106
87044
  assertEx(block % StepSizes[step] === 0, () => `Block must be the first block of the step [${StepSizes[step]}], got ${block}`);
87107
87045
  return assertEx(await hydratedBlockByNumber(context, block), () => `Could not find block for block number ${block}`);
87108
87046
  }
87047
+ asSchema("network.xyo.address.pair", true);
87109
87048
  var netBalancesForPayloads = (payloads) => {
87110
87049
  return span("netBalancesForPayloads", () => {
87111
87050
  const balances = {};
@@ -87171,7 +87110,7 @@ async function stepRewardTotal(context, { block, step }, multipliers) {
87171
87110
  });
87172
87111
  }
87173
87112
  var functionName = "externalBlockNumberFromXL1BlockNumber";
87174
- async function externalBlockNumberFromXL1BlockNumber(context, blockViewer, xl1BlockNumber, externalTimeName, externalGenesisTime, timeBudgetMs = 2e3) {
87113
+ async function externalBlockNumberFromXL1BlockNumber(context, blockViewer, xl1BlockNumber, externalTimeName, externalGenesisTime) {
87175
87114
  const cacheKey = `${xl1BlockNumber}-${externalTimeName}-${"default"}`;
87176
87115
  return await withContextCacheResponse(context, functionName, cacheKey, async () => {
87177
87116
  const [, payloads = []] = await blockViewer.blockByNumber(xl1BlockNumber) ?? [];
@@ -87181,7 +87120,7 @@ async function externalBlockNumberFromXL1BlockNumber(context, blockViewer, xl1Bl
87181
87120
  timePayload?.[externalTimeName] ?? externalGenesisTime ?? 23372716,
87182
87121
  { name: functionName }
87183
87122
  );
87184
- }, { timeBudgetMs });
87123
+ });
87185
87124
  }
87186
87125
 
87187
87126
  // src/primitives/chain/time/externalBlockRangeFromXL1BlockRange.ts
@@ -87197,7 +87136,7 @@ async function externalBlockRangeFromStep(context, blockViewer, stepIdentity) {
87197
87136
  return await withContextCacheResponse(context, "externalBlockRangeFromStep", cacheKey, async () => {
87198
87137
  const xl1BlockRange = stepBlockRange(stepIdentity);
87199
87138
  return await externalBlockRangeFromXL1BlockRange(context, blockViewer, xl1BlockRange);
87200
- }, { timeBudgetMs: 1e3 });
87139
+ });
87201
87140
  }
87202
87141
  function mapToMapType(map) {
87203
87142
  return {
@@ -87349,7 +87288,7 @@ async function weightedStakeForRangeByPosition(context, blockViewer, externalRan
87349
87288
  )).toSorted((a, b) => a.time - b.time);
87350
87289
  let currentTime = externalRange[0];
87351
87290
  let currentStake = 0n;
87352
- if (isDefined(staked) && mergedEvents[0].args.staked !== staked) {
87291
+ if (isDefined(staked) && mergedEvents.at(0)?.args.staked !== staked) {
87353
87292
  return 0n;
87354
87293
  }
87355
87294
  for (const event of mergedEvents) {
@@ -87485,17 +87424,18 @@ function contextCache(context, name, create) {
87485
87424
  }
87486
87425
  return context.caches[name];
87487
87426
  }
87488
- async function withContextCacheResponse(context, name, key, func, { max = 1e4, timeBudgetMs = 0 } = {}) {
87427
+ async function withContextCacheResponse(context, name, key, func, { max = 1e4 } = {}) {
87489
87428
  const cache = contextCache(
87490
87429
  context,
87491
87430
  name,
87492
87431
  () => new LruCacheMap({ max })
87493
87432
  );
87433
+ const { timeBudgetLimit = 0 } = context;
87494
87434
  const cacheResult = await cache.get(key);
87495
87435
  if (isDefined(cacheResult)) {
87496
87436
  return cacheResult;
87497
87437
  }
87498
- const result = timeBudgetMs > 0 ? await timeBudget(name, context.logger, func, timeBudgetMs) : await func();
87438
+ const result = timeBudgetLimit > 0 ? await timeBudget(name, context.logger, func, timeBudgetLimit) : await func();
87499
87439
  await cache.set(key, result);
87500
87440
  return result;
87501
87441
  }
@@ -87981,7 +87921,7 @@ var EIP712DataPayloadFieldsZod = object$4({
87981
87921
  types: TypedDataTypesZod,
87982
87922
  values: TypedDataValueZod
87983
87923
  });
87984
- var EIP712DataPayloadSchema = "network.xyo.chains.ethereum.eip712.data";
87924
+ var EIP712DataPayloadSchema = asSchema("network.xyo.chains.ethereum.eip712.data", true);
87985
87925
  var isEIP712DataPayload = isPayloadOfZodType(
87986
87926
  EIP712DataPayloadFieldsZod,
87987
87927
  EIP712DataPayloadSchema
@@ -87991,7 +87931,7 @@ var EIP712SignaturePayloadFieldsZod = object$4({
87991
87931
  hash: HashZod,
87992
87932
  signature: string$2()
87993
87933
  });
87994
- var EIP712SignaturePayloadSchema = "network.xyo.chains.ethereum.eip712.signature";
87934
+ var EIP712SignaturePayloadSchema = asSchema("network.xyo.chains.ethereum.eip712.signature", true);
87995
87935
  var isEIP712SignaturePayload = isPayloadOfZodType(
87996
87936
  EIP712SignaturePayloadFieldsZod,
87997
87937
  EIP712SignaturePayloadSchema
@@ -88010,7 +87950,7 @@ var verifyEIP712Message = async (data, sig) => {
88010
87950
  };
88011
87951
  asAttoXL1(1343884111859145740576652n);
88012
87952
  asAttoXL1(100000000000000000000000000n);
88013
- var ChainIndexingServiceStateSchema = "network.xyo.chain.indexing.service.state";
87953
+ var ChainIndexingServiceStateSchema = asSchema("network.xyo.chain.indexing.service.state", true);
88014
87954
  var isChainIndexingServiceState = (payload) => {
88015
87955
  return isPayloadOfSchemaType(ChainIndexingServiceStateSchema)(payload);
88016
87956
  };
@@ -88034,9 +87974,10 @@ var parseSignedBigInt = (value) => {
88034
87974
  var toSignedBigInt = (value) => {
88035
87975
  return value < 0n ? { negative: toHex(-value) } : { positive: toHex(value) };
88036
87976
  };
88037
- var BalancesStepSummarySchema = "network.xyo.step.summary.balances";
88038
- var SchemasStepSummarySchema = "network.xyo.step.summary.schemas";
88039
- var TransfersStepSummarySchema = "network.xyo.step.summary.transfer";
87977
+ var BalancesStepSummarySchema = asSchema("network.xyo.step.summary.balances", true);
87978
+ var SchemasStepSummarySchema = asSchema("network.xyo.step.summary.schemas", true);
87979
+ asSchema("network.xyo.step.summary", true);
87980
+ var TransfersStepSummarySchema = asSchema("network.xyo.step.summary.transfer", true);
88040
87981
  async function balancesStepSummaryFromRange(context, range) {
88041
87982
  const cacheKey = `${range[0]}|${range[1]}`;
88042
87983
  return await withContextCacheResponse(context, "balancesStepSummaryFromRange", cacheKey, async () => {
@@ -88058,7 +87999,7 @@ async function balancesStepSummaryFromRange(context, range) {
88058
87999
  stepSize: -1,
88059
88000
  balances
88060
88001
  });
88061
- }, { timeBudgetLimit: 100 }) : await spanRootAsync(`balancesStepSummaryFromRange.frameSize>1[${key}]`, async () => {
88002
+ }, context) : await spanRootAsync(`balancesStepSummaryFromRange.frameSize>1[${key}]`, async () => {
88062
88003
  const step = StepSizes.indexOf(asXL1BlockNumber(frameSize, true));
88063
88004
  assertEx(step !== -1, () => `Invalid step size: ${frameSize}. Must be one of ${StepSizes.join(", ")}`);
88064
88005
  const summaryResult = await context.summaryMap.get(key);
@@ -88095,9 +88036,9 @@ async function balancesStepSummaryFromRange(context, range) {
88095
88036
  context.stepSemaphores[step].release();
88096
88037
  }
88097
88038
  }
88098
- }, { timeBudgetLimit: 100 });
88099
- }, { timeBudgetLimit: 200 });
88100
- }, { max: 1e5, timeBudgetMs: 200 });
88039
+ }, context);
88040
+ }, context);
88041
+ }, { max: 1e5 });
88101
88042
  }
88102
88043
  async function balancesSummary(context, config) {
88103
88044
  return await spanRootAsync("balancesSummary", async () => {
@@ -88118,7 +88059,7 @@ async function balancesSummary(context, config) {
88118
88059
  }
88119
88060
  }
88120
88061
  return [balances, { range, head: headHash }];
88121
- }, { timeBudgetLimit: 500 });
88062
+ }, context);
88122
88063
  }
88123
88064
  async function schemasStepSummaryFromRange(context, range) {
88124
88065
  const frameHeadHash = await hashFromBlockNumber(context, range[1]);
@@ -88160,7 +88101,8 @@ async function schemasStepSummaryFromRange(context, range) {
88160
88101
  const schemas = {};
88161
88102
  for (const subResult of subResults) {
88162
88103
  for (const [schema, count] of Object.entries(subResult.schemas)) {
88163
- schemas[schema] = (schemas[schema] ?? 0) + count;
88104
+ const typedSchema = schema;
88105
+ schemas[typedSchema] = (schemas[typedSchema] ?? 0) + count;
88164
88106
  }
88165
88107
  }
88166
88108
  result = await PayloadBuilder.addHashMeta({
@@ -88191,11 +88133,12 @@ async function schemasSummary(context, config) {
88191
88133
  const results = {};
88192
88134
  for (let summary of summaries) {
88193
88135
  for (const [schema, count] of Object.entries(summary.schemas)) {
88194
- results[schema] = (results[schema] ?? 0) + count;
88136
+ const typedSchema = schema;
88137
+ results[typedSchema] = (results[typedSchema] ?? 0) + count;
88195
88138
  }
88196
88139
  }
88197
88140
  return [results, { range, head: headHash }];
88198
- }, { timeBudgetLimit: 500 });
88141
+ }, context);
88199
88142
  }
88200
88143
  function transfersSummaryKey(frameHeadHash, frameSize) {
88201
88144
  return `${frameHeadHash}|${frameSize}`;
@@ -88324,7 +88267,7 @@ var SimpleAccountBalanceViewer = class extends AbstractCreatableProvider {
88324
88267
  ]));
88325
88268
  }
88326
88269
  return result;
88327
- }, { timeBudgetLimit: 200 });
88270
+ }, this.context);
88328
88271
  }
88329
88272
  async accountBalances(address, config) {
88330
88273
  const [result] = await this.qualifiedAccountBalances(address, config ?? {});
@@ -88364,7 +88307,7 @@ var SimpleAccountBalanceViewer = class extends AbstractCreatableProvider {
88364
88307
  );
88365
88308
  }
88366
88309
  return [Object.fromEntries(entries), { range: qualifiedRange, head: qualifiedHeadHash }];
88367
- }, { timeBudgetLimit: 200 });
88310
+ }, this.context);
88368
88311
  }
88369
88312
  async qualifiedAccountBalances(address, config) {
88370
88313
  return await this.spanAsync("qualifiedAccountsBalances", async () => {
@@ -88378,7 +88321,7 @@ var SimpleAccountBalanceViewer = class extends AbstractCreatableProvider {
88378
88321
  result[addr] = AttoXL1(summaryBalance < 0n ? 0n : summaryBalance);
88379
88322
  }
88380
88323
  return [result, qualifiedSummary[1]];
88381
- }, { timeBudgetLimit: 200 });
88324
+ }, this.context);
88382
88325
  }
88383
88326
  async startHandler() {
88384
88327
  await super.startHandler();
@@ -88420,7 +88363,7 @@ var SimpleAccountBalanceViewer = class extends AbstractCreatableProvider {
88420
88363
  }
88421
88364
  }
88422
88365
  return [...resultBlockNumbers].toSorted((a, b) => b - a).slice(0, max);
88423
- }, { timeBudgetLimit: 200 });
88366
+ }, this.context);
88424
88367
  }
88425
88368
  async qualifiedAccountBalanceHistory(address, headOrRange) {
88426
88369
  return await this.spanAsync("qualifiedAccountBalanceHistory", async () => {
@@ -88453,7 +88396,7 @@ var SimpleAccountBalanceViewer = class extends AbstractCreatableProvider {
88453
88396
  ]));
88454
88397
  }
88455
88398
  return [result, { range: startingRange, head: head._hash }];
88456
- }, { timeBudgetLimit: 200 });
88399
+ }, this.context);
88457
88400
  }
88458
88401
  };
88459
88402
  __publicField$4(SimpleAccountBalanceViewer, "defaultMoniker", AccountBalanceViewerMoniker);
@@ -88487,6 +88430,7 @@ var HydratedCache = class {
88487
88430
  var SimpleBlockViewer = class extends AbstractCreatableProvider {
88488
88431
  moniker = SimpleBlockViewer.defaultMoniker;
88489
88432
  _store;
88433
+ chainContractViewer;
88490
88434
  finalizationViewer;
88491
88435
  _payloadCache;
88492
88436
  _signedHydratedBlockCache;
@@ -88511,14 +88455,16 @@ var SimpleBlockViewer = class extends AbstractCreatableProvider {
88511
88455
  return this._store;
88512
88456
  }
88513
88457
  static async paramsHandler(params) {
88514
- assertEx(params.finalizedArchivist, () => "finalizedArchivist is required");
88515
- return { ...await super.paramsHandler(params) };
88458
+ return {
88459
+ ...await super.paramsHandler(params),
88460
+ finalizedArchivist: assertEx(params.finalizedArchivist, () => "finalizedArchivist is required")
88461
+ };
88516
88462
  }
88517
88463
  async blockByHash(hash) {
88518
88464
  return await this.spanAsync("blockByHash", async () => {
88519
88465
  const cache = this.hydratedBlockCache;
88520
88466
  return await cache.get(hash);
88521
- }, { timeBudgetLimit: 200 });
88467
+ }, this.context);
88522
88468
  }
88523
88469
  async blockByNumber(blockNumber) {
88524
88470
  return await this.spanAsync("blockByNumber", async () => {
@@ -88534,7 +88480,7 @@ var SimpleBlockViewer = class extends AbstractCreatableProvider {
88534
88480
  },
88535
88481
  store: this.store
88536
88482
  }, blockNumber)) ?? null;
88537
- }, { timeBudgetLimit: 200 });
88483
+ }, this.context);
88538
88484
  }
88539
88485
  async blocksByHash(hash, limit = 50) {
88540
88486
  return await this.spanAsync("blocksByHash", async () => {
@@ -88549,7 +88495,7 @@ var SimpleBlockViewer = class extends AbstractCreatableProvider {
88549
88495
  current = await this.blockByHash(previousHash);
88550
88496
  }
88551
88497
  return blocks.map((b) => asSignedHydratedBlockWithHashMeta(b, true));
88552
- }, { timeBudgetLimit: 200 });
88498
+ }, this.context);
88553
88499
  }
88554
88500
  async blocksByNumber(blockNumber, limit = 50) {
88555
88501
  return await this.spanAsync("blocksByNumber", async () => {
@@ -88564,19 +88510,19 @@ var SimpleBlockViewer = class extends AbstractCreatableProvider {
88564
88510
  current = await this.blockByNumber(previousNumber);
88565
88511
  }
88566
88512
  return blocks.map((b) => asSignedHydratedBlockWithHashMeta(b, true));
88567
- }, { timeBudgetLimit: 200 });
88513
+ }, this.context);
88568
88514
  }
88569
88515
  async chainId(blockNumber = "latest") {
88570
88516
  return await this.spanAsync("chainId", async () => {
88571
- const block = assertEx(
88572
- blockNumber === "latest" ? await this.currentBlock() : await this.blockByNumber(blockNumber),
88573
- () => `Could not find block for block number ${blockNumber}`
88574
- );
88575
- return block[0].chain;
88576
- }, { timeBudgetLimit: 200 });
88517
+ return blockNumber === "latest" ? await this.chainContractViewer.chainId() : await this.chainContractViewer.chainIdAtBlockNumber(blockNumber);
88518
+ }, this.context);
88577
88519
  }
88578
88520
  async createHandler() {
88579
88521
  await super.createHandler();
88522
+ this.chainContractViewer = this.params.chainContractViewer ?? assertEx(
88523
+ await this.locateAndCreate(ChainContractViewerMoniker),
88524
+ () => "chainContractViewer is required"
88525
+ );
88580
88526
  this.finalizationViewer = await this.locator.getInstance(FinalizationViewerMoniker);
88581
88527
  this._store = { chainMap: readPayloadMapFromStore(this.params.finalizedArchivist) };
88582
88528
  }
@@ -88620,7 +88566,7 @@ var SimpleBlockViewer = class extends AbstractCreatableProvider {
88620
88566
  }
88621
88567
  };
88622
88568
  __publicField$4(SimpleBlockViewer, "defaultMoniker", BlockViewerMoniker);
88623
- __publicField$4(SimpleBlockViewer, "dependencies", [FinalizationViewerMoniker]);
88569
+ __publicField$4(SimpleBlockViewer, "dependencies", [FinalizationViewerMoniker, ChainContractViewerMoniker]);
88624
88570
  __publicField$4(SimpleBlockViewer, "monikers", [BlockViewerMoniker]);
88625
88571
  SimpleBlockViewer = __decorateClass$4([
88626
88572
  creatableProvider()
@@ -88705,6 +88651,7 @@ var SimpleBlockValidationViewer = class extends AbstractCreatableProvider {
88705
88651
  async doValidateProtocol(blocks, chainIdAtBlockNumber) {
88706
88652
  return (await Promise.all(blocks.map(async (block) => {
88707
88653
  return await this.params.protocol(
88654
+ this.context,
88708
88655
  block,
88709
88656
  chainIdAtBlockNumber
88710
88657
  );
@@ -88720,6 +88667,7 @@ var SimpleBlockValidationViewer = class extends AbstractCreatableProvider {
88720
88667
  }
88721
88668
  return (await Promise.all(uncles[0].map(async (block) => {
88722
88669
  return await this.params.state(
88670
+ this.context,
88723
88671
  block,
88724
88672
  chainIdAtBlockNumber,
88725
88673
  { accountBalance: this._accountBalanceViewer }
@@ -88727,7 +88675,7 @@ var SimpleBlockValidationViewer = class extends AbstractCreatableProvider {
88727
88675
  }))).flat();
88728
88676
  }
88729
88677
  async updateWindowedChainCache() {
88730
- this._uncleWindowedChainCache = await getWindowedChain(this.blockViewer, this.maxUncleWindowSize, this._uncleWindowedChainCache ?? []);
88678
+ this._uncleWindowedChainCache = await getWindowedChain(this.context, this.blockViewer, this.maxUncleWindowSize, this._uncleWindowedChainCache ?? []);
88731
88679
  return [...this._uncleWindowedChainCache];
88732
88680
  }
88733
88681
  };
@@ -88737,6 +88685,52 @@ __publicField$4(SimpleBlockValidationViewer, "monikers", [BlockValidationViewerM
88737
88685
  SimpleBlockValidationViewer = __decorateClass$4([
88738
88686
  creatableProvider()
88739
88687
  ], SimpleBlockValidationViewer);
88688
+ var SimpleChainContractViewer = class extends AbstractCreatableProvider {
88689
+ moniker = SimpleChainContractViewer.defaultMoniker;
88690
+ chainId() {
88691
+ return this.params.chainId;
88692
+ }
88693
+ async chainIdAtBlockNumber(blockNumber) {
88694
+ return await withContextCacheResponse(this.context, "chainIdAtBlockNumber", `${blockNumber}`, async () => {
88695
+ let chainId = this.chainId();
88696
+ let contractViewer = this;
88697
+ let forkedAtBlockNumber = await contractViewer.forkedAtBlockNumber();
88698
+ while (forkedAtBlockNumber !== null && blockNumber <= forkedAtBlockNumber) {
88699
+ contractViewer = assertEx(await contractViewer.forkedChainContractViewer());
88700
+ forkedAtBlockNumber = await contractViewer.forkedAtBlockNumber();
88701
+ chainId = await contractViewer.chainId();
88702
+ }
88703
+ return chainId;
88704
+ });
88705
+ }
88706
+ forkedAtBlockNumber() {
88707
+ return this.params.forkedAtBlockNumber ?? null;
88708
+ }
88709
+ forkedAtHash() {
88710
+ return this.params.forkedAtHash ?? null;
88711
+ }
88712
+ forkedChainContractViewer() {
88713
+ return this.params.forkedChainContractViewer ?? null;
88714
+ }
88715
+ forkedChainId() {
88716
+ return this.params.forkedChainId ?? null;
88717
+ }
88718
+ minWithdrawalBlocks() {
88719
+ return this.params.minWithdrawalBlocks;
88720
+ }
88721
+ rewardsContract() {
88722
+ return this.params.rewardsContract;
88723
+ }
88724
+ stakingTokenAddress() {
88725
+ return this.params.stakingTokenAddress;
88726
+ }
88727
+ };
88728
+ __publicField$4(SimpleChainContractViewer, "defaultMoniker", ChainContractViewerMoniker);
88729
+ __publicField$4(SimpleChainContractViewer, "dependencies", []);
88730
+ __publicField$4(SimpleChainContractViewer, "monikers", [ChainContractViewerMoniker]);
88731
+ SimpleChainContractViewer = __decorateClass$4([
88732
+ creatableProvider()
88733
+ ], SimpleChainContractViewer);
88740
88734
  var SimpleStakeViewer = class extends AbstractCreatableProvider {
88741
88735
  moniker = SimpleStakeViewer.defaultMoniker;
88742
88736
  _chainStakeEventsViewer;
@@ -88957,8 +88951,16 @@ SimpleFinalizationRunner = __decorateClass$4([
88957
88951
  ], SimpleFinalizationRunner);
88958
88952
  var SimpleFinalizationViewer = class extends AbstractCreatableProvider {
88959
88953
  moniker = SimpleFinalizationViewer.defaultMoniker;
88954
+ _chainContractViewer;
88955
+ _chainId;
88960
88956
  _store;
88961
88957
  _signedHydratedBlockCache;
88958
+ get chainContractViewer() {
88959
+ return this._chainContractViewer;
88960
+ }
88961
+ get chainId() {
88962
+ return this._chainId;
88963
+ }
88962
88964
  get finalizedArchivist() {
88963
88965
  return this.params.finalizedArchivist;
88964
88966
  }
@@ -88975,11 +88977,15 @@ var SimpleFinalizationViewer = class extends AbstractCreatableProvider {
88975
88977
  return this._store;
88976
88978
  }
88977
88979
  static async paramsHandler(params) {
88978
- assertEx(params.finalizedArchivist, () => "finalizedArchivist is required");
88979
- return { ...await super.paramsHandler(params) };
88980
+ return {
88981
+ ...await super.paramsHandler(params),
88982
+ finalizedArchivist: assertEx(params.finalizedArchivist, () => "finalizedArchivist is required")
88983
+ };
88980
88984
  }
88981
88985
  async createHandler() {
88982
88986
  await super.createHandler();
88987
+ this._chainContractViewer = await this.locateAndCreate(ChainContractViewerMoniker);
88988
+ this._chainId = await this.chainContractViewer.chainId();
88983
88989
  this._store = { chainMap: readPayloadMapFromStore(this.params.finalizedArchivist) };
88984
88990
  }
88985
88991
  async head() {
@@ -88991,7 +88997,7 @@ var SimpleFinalizationViewer = class extends AbstractCreatableProvider {
88991
88997
  console.log(`Could not find current block with hash ${currentHead._hash}`);
88992
88998
  }
88993
88999
  return assertEx(block, () => "Could not find current block");
88994
- }, { timeBudgetLimit: 200 });
89000
+ }, this.context);
88995
89001
  }
88996
89002
  async headBlock() {
88997
89003
  return (await this.head())[0];
@@ -89004,11 +89010,13 @@ var SimpleFinalizationViewer = class extends AbstractCreatableProvider {
89004
89010
  }
89005
89011
  async getCurrentHead() {
89006
89012
  const chainArchivist = this.finalizedArchivist;
89007
- return await findMostRecentBlock(chainArchivist);
89013
+ const result = assertEx(await findMostRecentBlock(chainArchivist), () => "Could not find most recent block [getCurrentHead]");
89014
+ assertEx(result?.chain === this.chainId, () => "Chain ID does not match head block chain ID");
89015
+ return result;
89008
89016
  }
89009
89017
  };
89010
89018
  __publicField$4(SimpleFinalizationViewer, "defaultMoniker", FinalizationViewerMoniker);
89011
- __publicField$4(SimpleFinalizationViewer, "dependencies", []);
89019
+ __publicField$4(SimpleFinalizationViewer, "dependencies", [ChainContractViewerMoniker]);
89012
89020
  __publicField$4(SimpleFinalizationViewer, "monikers", [FinalizationViewerMoniker]);
89013
89021
  SimpleFinalizationViewer = __decorateClass$4([
89014
89022
  creatableProvider()
@@ -89063,6 +89071,7 @@ var SimpleXyoGatewayRunner = class _SimpleXyoGatewayRunner extends AbstractCreat
89063
89071
  }
89064
89072
  async createHandler() {
89065
89073
  await super.createHandler();
89074
+ this._connection = await this.locator.getInstance(XyoConnectionMoniker);
89066
89075
  this._signer = await this.locator.getInstance(XyoSignerMoniker);
89067
89076
  }
89068
89077
  async send(to, amount, options) {
@@ -94583,9 +94592,9 @@ function v4$1(options, buf, offset) {
94583
94592
  return _v4(options);
94584
94593
  }
94585
94594
 
94586
- var __defProp$j = Object.defineProperty;
94595
+ var __defProp$k = Object.defineProperty;
94587
94596
  var __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor;
94588
- var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$j(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
94597
+ var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$k(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
94589
94598
  var __decorateClass$3 = (decorators, target, key, kind) => {
94590
94599
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$3(target, key) : target;
94591
94600
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
@@ -96735,9 +96744,9 @@ NodeXyoRunner = __decorateClass$3([
96735
96744
  creatableProvider()
96736
96745
  ], NodeXyoRunner);
96737
96746
 
96738
- var __defProp$i = Object.defineProperty;
96747
+ var __defProp$j = Object.defineProperty;
96739
96748
  var __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor;
96740
- var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$i(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
96749
+ var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$j(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
96741
96750
  var __decorateClass$2 = (decorators, target, key, kind) => {
96742
96751
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$2(target, key) : target;
96743
96752
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
@@ -96751,7 +96760,6 @@ var SimpleXyoViewer = class extends AbstractCreatableProvider {
96751
96760
  _tracer;
96752
96761
  _accountBalanceViewer;
96753
96762
  _blockViewer;
96754
- _finalizedArchivist;
96755
96763
  _finalizedPayloadMap;
96756
96764
  _mempoolViewer;
96757
96765
  _networkStakeViewer;
@@ -96783,6 +96791,9 @@ var SimpleXyoViewer = class extends AbstractCreatableProvider {
96783
96791
  get time() {
96784
96792
  return this._timeSyncViewer;
96785
96793
  }
96794
+ get finalizedArchivist() {
96795
+ return this.params.finalizedArchivist;
96796
+ }
96786
96797
  get initRewardsCache() {
96787
96798
  return this.params.initRewardsCache ?? true;
96788
96799
  }
@@ -96796,7 +96807,8 @@ var SimpleXyoViewer = class extends AbstractCreatableProvider {
96796
96807
  static async paramsHandler(params) {
96797
96808
  return {
96798
96809
  ...await super.paramsHandler(params),
96799
- finalizedArchivist: assertEx(params.finalizedArchivist, () => "SimpleXyoViewer requires a finalizedArchivist")
96810
+ finalizedArchivist: assertEx(params.finalizedArchivist, () => "SimpleXyoViewer requires a finalizedArchivist"),
96811
+ chainId: assertEx(params.chainId, () => "SimpleXyoViewer requires a chainId")
96800
96812
  };
96801
96813
  }
96802
96814
  async accountBalance(address, config = {}) {
@@ -96824,7 +96836,7 @@ var SimpleXyoViewer = class extends AbstractCreatableProvider {
96824
96836
  () => `Could not find block for chainId at block ${blockNumber}`
96825
96837
  );
96826
96838
  return block[0].chain;
96827
- }, { timeBudgetLimit: 200 });
96839
+ }, this.context);
96828
96840
  }
96829
96841
  async createHandler() {
96830
96842
  await super.createHandler();
@@ -96874,7 +96886,7 @@ var SimpleXyoViewer = class extends AbstractCreatableProvider {
96874
96886
  const positionReward = asAttoXL1(rewards.reduce((a, b) => a + b[0], 0n));
96875
96887
  const totalReward = asAttoXL1(rewards.reduce((a, b) => a + b[1], 0n));
96876
96888
  return [positionReward, totalReward];
96877
- }, { timeBudgetLimit: 100 });
96889
+ }, this.context);
96878
96890
  }
96879
96891
  async networkStakeStepRewardForStep(stepContext) {
96880
96892
  return await stepRewardTotal(await this.getStakedChainContext(), stepContext, this.rewardMultipliers);
@@ -96955,7 +96967,7 @@ var SimpleXyoViewer = class extends AbstractCreatableProvider {
96955
96967
  return await this.networkStakeStepRewardForStep(step);
96956
96968
  }));
96957
96969
  return asAttoXL1(rewards.reduce((a, b) => a + b, 0n));
96958
- }, { timeBudgetLimit: 100 });
96970
+ }, this.context);
96959
96971
  }
96960
96972
  async networkStakeStepRewardsForStepLevel(stepLevel, range) {
96961
96973
  const steps = blockRangeSteps(range, [stepLevel]);
@@ -97021,7 +97033,7 @@ var SimpleXyoViewer = class extends AbstractCreatableProvider {
97021
97033
  } catch {
97022
97034
  return null;
97023
97035
  }
97024
- }, { timeBudgetLimit: 200 });
97036
+ }, this.context);
97025
97037
  }
97026
97038
  async transactionByBlockNumberAndIndex(blockNumber, transactionIndex = 0) {
97027
97039
  return await this.spanAsync("transactionByBlockNumberAndIndex", async () => {
@@ -97032,25 +97044,24 @@ var SimpleXyoViewer = class extends AbstractCreatableProvider {
97032
97044
  } catch {
97033
97045
  return null;
97034
97046
  }
97035
- }, { timeBudgetLimit: 200 });
97047
+ }, this.context);
97036
97048
  }
97037
97049
  async transactionByHash(transactionHash) {
97038
97050
  return await this.spanAsync("transactionByHash", async () => {
97039
97051
  try {
97040
- const cache = await this.getHydratedTransactionCache();
97052
+ const cache = this.getHydratedTransactionCache();
97041
97053
  const hydratedTransaction = await cache.get(transactionHash);
97042
97054
  return hydratedTransaction ?? null;
97043
97055
  } catch {
97044
97056
  return null;
97045
97057
  }
97046
- }, { timeBudgetLimit: 200 });
97058
+ }, this.context);
97047
97059
  }
97048
97060
  async getCurrentHead() {
97049
- const chainArchivist = this.getFinalizedArchivist();
97050
- return await findMostRecentBlock(chainArchivist);
97051
- }
97052
- getFinalizedArchivist() {
97053
- return this._finalizedArchivist;
97061
+ const chainArchivist = this.finalizedArchivist;
97062
+ const result = assertEx(await findMostRecentBlock(chainArchivist), () => "No blocks found in finalizedArchivist");
97063
+ assertEx(result.chain === this.params.chainId, () => `Chain ID mismatch in finalizedArchivist [${result.chain} should be ${this.params.chainId}]`);
97064
+ return result;
97054
97065
  }
97055
97066
  getHydratedBlockCache() {
97056
97067
  if (this._signedHydratedBlockCache) return this._signedHydratedBlockCache;
@@ -97070,11 +97081,12 @@ var SimpleXyoViewer = class extends AbstractCreatableProvider {
97070
97081
  async getStakedChainContext() {
97071
97082
  const stake = this.stake;
97072
97083
  const store = { chainMap: this._finalizedPayloadMap };
97084
+ const head = assertEx(await this.getCurrentHead(), () => "No current head");
97073
97085
  return {
97074
97086
  caches: this.context.caches,
97075
97087
  singletons: this.context.singletons,
97076
- head: function() {
97077
- throw new Error("Function not implemented.");
97088
+ head: () => {
97089
+ return [head._hash, head.block];
97078
97090
  },
97079
97091
  store,
97080
97092
  chainId: await this.chainId(),
@@ -97084,7 +97096,7 @@ var SimpleXyoViewer = class extends AbstractCreatableProvider {
97084
97096
  async startHandler() {
97085
97097
  try {
97086
97098
  const currentBlockNumber = await this.currentBlockNumber();
97087
- await this.accountBalance(XYO_ZERO_ADDRESS);
97099
+ await this.account.balance.accountBalance(XYO_ZERO_ADDRESS);
97088
97100
  if (this.initRewardsCache) {
97089
97101
  const externalRange = await externalBlockRangeFromXL1BlockRange(
97090
97102
  await this.getStakedChainContext(),
@@ -97696,6 +97708,7 @@ async function buildJsonRpcProviderLocator(params) {
97696
97708
  ]);
97697
97709
  }
97698
97710
  function buildLocalProviderLocator({
97711
+ chainId,
97699
97712
  balanceSummaryContext,
97700
97713
  finalizedArchivist,
97701
97714
  pendingBlocksArchivist,
@@ -97713,7 +97726,7 @@ function buildLocalProviderLocator({
97713
97726
  SimpleBlockViewer.factory(SimpleBlockViewer.dependencies, { finalizedArchivist }),
97714
97727
  SimpleXyoRunner.factory(SimpleXyoRunner.dependencies),
97715
97728
  SimpleWindowedBlockViewer.factory(SimpleWindowedBlockViewer.dependencies, { maxWindowSize: 1e4, syncInterval: 1e4 }),
97716
- NodeXyoViewer.factory(NodeXyoViewer.dependencies, { node })
97729
+ NodeXyoViewer.factory(NodeXyoViewer.dependencies, { node, chainId })
97717
97730
  ]);
97718
97731
  }
97719
97732
 
@@ -179008,9 +179021,9 @@ function requireExpress () {
179008
179021
  var expressExports = requireExpress();
179009
179022
  var express2 = /*@__PURE__*/getDefaultExportFromCjs(expressExports);
179010
179023
 
179011
- var __defProp$h = Object.defineProperty;
179012
- var __name$e = (target, value) => __defProp$h(target, "name", { value, configurable: true });
179013
- var isBaseBuildBlockOptions = /* @__PURE__ */ __name$e((value) => {
179024
+ var __defProp$i = Object.defineProperty;
179025
+ var __name$f = (target, value) => __defProp$i(target, "name", { value, configurable: true });
179026
+ var isBaseBuildBlockOptions = /* @__PURE__ */ __name$f((value) => {
179014
179027
  if (!isObject$5(value)) {
179015
179028
  return false;
179016
179029
  }
@@ -179020,7 +179033,7 @@ var isBaseBuildBlockOptions = /* @__PURE__ */ __name$e((value) => {
179020
179033
  }
179021
179034
  return true;
179022
179035
  }, "isBaseBuildBlockOptions");
179023
- var isBuildGenesisBlockOptions = /* @__PURE__ */ __name$e((value) => {
179036
+ var isBuildGenesisBlockOptions = /* @__PURE__ */ __name$f((value) => {
179024
179037
  if (!isBaseBuildBlockOptions(value)) {
179025
179038
  return false;
179026
179039
  }
@@ -179033,7 +179046,7 @@ var isBuildGenesisBlockOptions = /* @__PURE__ */ __name$e((value) => {
179033
179046
  }
179034
179047
  return true;
179035
179048
  }, "isBuildGenesisBlockOptions");
179036
- var isBuildNextBlockOptions = /* @__PURE__ */ __name$e((value) => {
179049
+ var isBuildNextBlockOptions = /* @__PURE__ */ __name$f((value) => {
179037
179050
  if (!isBaseBuildBlockOptions(value)) {
179038
179051
  return false;
179039
179052
  }
@@ -179054,7 +179067,7 @@ var isBuildNextBlockOptions = /* @__PURE__ */ __name$e((value) => {
179054
179067
  function calculateCompletedStepReward(step, balance) {
179055
179068
  return AttoXL1(StepRewardFractions[step][0] * balance / StepRewardFractions[step][1]);
179056
179069
  }
179057
- __name$e(calculateCompletedStepReward, "calculateCompletedStepReward");
179070
+ __name$f(calculateCompletedStepReward, "calculateCompletedStepReward");
179058
179071
  async function buildBlock(options) {
179059
179072
  const previousBlockNumber = isBuildGenesisBlockOptions(options) ? -1 : options.previousBlockNumber;
179060
179073
  const blockNumber = asXL1BlockNumber(previousBlockNumber + 1, true);
@@ -179144,7 +179157,7 @@ async function buildBlock(options) {
179144
179157
  txPayloads
179145
179158
  ];
179146
179159
  }
179147
- __name$e(buildBlock, "buildBlock");
179160
+ __name$f(buildBlock, "buildBlock");
179148
179161
  async function buildGenesisBlock(chainId, txs, blockPayloads, signers, chainStepRewardAddress = XYO_ZERO_ADDRESS, protocol) {
179149
179162
  return await buildBlock({
179150
179163
  previousBlockHash: null,
@@ -179156,7 +179169,7 @@ async function buildGenesisBlock(chainId, txs, blockPayloads, signers, chainStep
179156
179169
  protocol
179157
179170
  });
179158
179171
  }
179159
- __name$e(buildGenesisBlock, "buildGenesisBlock");
179172
+ __name$f(buildGenesisBlock, "buildGenesisBlock");
179160
179173
  async function buildNextBlock(previousBlock, txs, blockPayloads, signers, chainStepRewardAddress = XYO_STEP_REWARD_ADDRESS, stepRewardPoolBalance = AttoXL1(0n), protocol, chainId) {
179161
179174
  return await buildBlock({
179162
179175
  chainId: chainId ?? previousBlock.chain,
@@ -179171,7 +179184,7 @@ async function buildNextBlock(previousBlock, txs, blockPayloads, signers, chainS
179171
179184
  stepRewardPoolBalance
179172
179185
  });
179173
179186
  }
179174
- __name$e(buildNextBlock, "buildNextBlock");
179187
+ __name$f(buildNextBlock, "buildNextBlock");
179175
179188
  assertEx(asAddress("c5fe2e6F6841Cbab12d8C0618Be2DF8C6156cC44"));
179176
179189
  async function createProducerChainStakeIntent(from, exp, nbf = 0) {
179177
179190
  return await PayloadBuilder.addHashMeta(new PayloadBuilder({
@@ -179183,7 +179196,7 @@ async function createProducerChainStakeIntent(from, exp, nbf = 0) {
179183
179196
  intent: "producer"
179184
179197
  }).build());
179185
179198
  }
179186
- __name$e(createProducerChainStakeIntent, "createProducerChainStakeIntent");
179199
+ __name$f(createProducerChainStakeIntent, "createProducerChainStakeIntent");
179187
179200
  async function createProducerChainStakeIntentTransaction(chain, signers = [], producer, exp, nbf = asXL1BlockNumber(0, true), fees = defaultTransactionFees) {
179188
179201
  const intent = await createProducerChainStakeIntent(producer, exp, nbf);
179189
179202
  const tx = await buildTransaction(chain, [
@@ -179191,10 +179204,10 @@ async function createProducerChainStakeIntentTransaction(chain, signers = [], pr
179191
179204
  ], [], signers, nbf, exp, signers[0].address, fees);
179192
179205
  return tx;
179193
179206
  }
179194
- __name$e(createProducerChainStakeIntentTransaction, "createProducerChainStakeIntentTransaction");
179207
+ __name$f(createProducerChainStakeIntentTransaction, "createProducerChainStakeIntentTransaction");
179195
179208
 
179196
179209
  // src/block/createGenesisBlock.ts
179197
- var createGenesisBlock = /* @__PURE__ */ __name$e(async (initialBlockProducer, nextContractAddress, genesisBlockRewardAmount, genesisBlockRewardAddress) => {
179210
+ var createGenesisBlock = /* @__PURE__ */ __name$f(async (initialBlockProducer, nextContractAddress, genesisBlockRewardAmount, genesisBlockRewardAddress) => {
179198
179211
  const blockPayloads = await PayloadBuilder.addHashMeta([
179199
179212
  TransferPayloadJsonSchemaPayload,
179200
179213
  BlockBoundWitnessSchemaPayload,
@@ -179224,10 +179237,10 @@ function _ts_decorate$6(decorators, target, key, desc) {
179224
179237
  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;
179225
179238
  return c > 3 && r && Object.defineProperty(target, key, r), r;
179226
179239
  }
179227
- __name$e(_ts_decorate$6, "_ts_decorate");
179240
+ __name$f(_ts_decorate$6, "_ts_decorate");
179228
179241
  var SynchronousLmdbMap = class extends AbstractCreatable {
179229
179242
  static {
179230
- __name$e(this, "SynchronousLmdbMap");
179243
+ __name$f(this, "SynchronousLmdbMap");
179231
179244
  }
179232
179245
  db;
179233
179246
  rootDatabase;
@@ -179298,14 +179311,14 @@ function _ts_decorate2$4(decorators, target, key, desc) {
179298
179311
  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;
179299
179312
  return c > 3 && r && Object.defineProperty(target, key, r), r;
179300
179313
  }
179301
- __name$e(_ts_decorate2$4, "_ts_decorate");
179302
- var stripMongoId = /* @__PURE__ */ __name$e((doc) => {
179314
+ __name$f(_ts_decorate2$4, "_ts_decorate");
179315
+ var stripMongoId = /* @__PURE__ */ __name$f((doc) => {
179303
179316
  const { _id, ...rest } = doc;
179304
179317
  return rest;
179305
179318
  }, "stripMongoId");
179306
179319
  var MongoMap = class extends AbstractCreatable {
179307
179320
  static {
179308
- __name$e(this, "MongoMap");
179321
+ __name$f(this, "MongoMap");
179309
179322
  }
179310
179323
  _getCache;
179311
179324
  get sdk() {
@@ -179318,11 +179331,11 @@ var MongoMap = class extends AbstractCreatable {
179318
179331
  [Symbol.asyncIterator]() {
179319
179332
  const cursorPromise = this.sdk.find({});
179320
179333
  let cursor;
179321
- const loadCursor = /* @__PURE__ */ __name$e(async () => {
179334
+ const loadCursor = /* @__PURE__ */ __name$f(async () => {
179322
179335
  if (!cursor) cursor = await cursorPromise;
179323
179336
  }, "loadCursor");
179324
179337
  return {
179325
- next: /* @__PURE__ */ __name$e(async () => {
179338
+ next: /* @__PURE__ */ __name$f(async () => {
179326
179339
  await loadCursor();
179327
179340
  if (!cursor) return {
179328
179341
  value: void 0,
@@ -179476,18 +179489,18 @@ async function frameList(block, archivist) {
179476
179489
  }
179477
179490
  return result;
179478
179491
  }
179479
- __name$e(frameList, "frameList");
179480
- var getStoreDirectory = /* @__PURE__ */ __name$e((name, storageRoot, kind) => {
179492
+ __name$f(frameList, "frameList");
179493
+ var getStoreDirectory = /* @__PURE__ */ __name$f((name, storageRoot, kind) => {
179481
179494
  return kind === void 0 ? path.join(storageRoot, name) : path.join(storageRoot, kind, name);
179482
179495
  }, "getStoreDirectory");
179483
179496
 
179484
179497
  // src/nodejs/map/localPersistentMap.ts
179485
179498
  path.join(process.cwd(), ".store");
179486
179499
 
179487
- var __defProp$g = Object.defineProperty;
179500
+ var __defProp$h = Object.defineProperty;
179488
179501
  var __export = (target, all) => {
179489
179502
  for (var name in all)
179490
- __defProp$g(target, name, { get: all[name], enumerable: true });
179503
+ __defProp$h(target, name, { get: all[name], enumerable: true });
179491
179504
  };
179492
179505
 
179493
179506
  // src/factories/index.ts
@@ -201619,13 +201632,13 @@ var StakedXyoChainV2__factory = class extends ContractFactory {
201619
201632
  }
201620
201633
  };
201621
201634
 
201622
- var __defProp$f = Object.defineProperty;
201623
- var __name$d = (target, value) => __defProp$f(target, "name", { value, configurable: true });
201635
+ var __defProp$g = Object.defineProperty;
201636
+ var __name$e = (target, value) => __defProp$g(target, "name", { value, configurable: true });
201624
201637
 
201625
201638
  // src/BaseEthProvider.ts
201626
201639
  (class {
201627
201640
  static {
201628
- __name$d(this, "BaseEthProvider");
201641
+ __name$e(this, "BaseEthProvider");
201629
201642
  }
201630
201643
  eth_accounts() {
201631
201644
  throw new Error("Method not implemented.");
@@ -201775,7 +201788,7 @@ var __name$d = (target, value) => __defProp$f(target, "name", { value, configura
201775
201788
  throw new Error("Method not implemented.");
201776
201789
  }
201777
201790
  });
201778
- var createChainContract = /* @__PURE__ */ __name$d(async (signer, stakingTokenAddress, genesisBlockHash, rewardsContractAddress, minWithdrawalBlocks, maxStakersPerAddress = 10, unlimitedStakingAddress = XYO_NETWORK_STAKING_ADDRESS, minStake = 10000n, gas = {}) => {
201791
+ var createChainContract = /* @__PURE__ */ __name$e(async (signer, stakingTokenAddress, genesisBlockHash, rewardsContractAddress, minWithdrawalBlocks, maxStakersPerAddress = 10, unlimitedStakingAddress = XYO_NETWORK_STAKING_ADDRESS, minStake = 10000n, gas = {}) => {
201779
201792
  try {
201780
201793
  const xyoChainFactory = new StakedXyoChainV2__factory(signer);
201781
201794
  const contractTransactionResponse = await (await xyoChainFactory.deploy(ETH_ZERO_ADDRESS, 0n, hexToBigInt(genesisBlockHash), toEthAddress(rewardsContractAddress), minWithdrawalBlocks, toEthAddress(stakingTokenAddress), maxStakersPerAddress, unlimitedStakingAddress, minStake, gas)).waitForDeployment();
@@ -201786,13 +201799,13 @@ var createChainContract = /* @__PURE__ */ __name$d(async (signer, stakingTokenAd
201786
201799
  throw ex;
201787
201800
  }
201788
201801
  }, "createChainContract");
201789
- var gasConfig = /* @__PURE__ */ __name$d(() => {
201802
+ var gasConfig = /* @__PURE__ */ __name$e(() => {
201790
201803
  return {
201791
201804
  gasLimit: 2e6,
201792
201805
  gasPrice: parseUnits$1("100", "gwei")
201793
201806
  };
201794
201807
  }, "gasConfig");
201795
- var createChainRewardsContract = /* @__PURE__ */ __name$d(async (signer, genesisReward = 0n, gas = gasConfig()) => {
201808
+ var createChainRewardsContract = /* @__PURE__ */ __name$e(async (signer, genesisReward = 0n, gas = gasConfig()) => {
201796
201809
  try {
201797
201810
  const xyoChainRewardsFactory = new XyoChainRewards__factory(signer);
201798
201811
  const xyoChainRewardsFactoryResponse = await (await xyoChainRewardsFactory.deploy(toFixedPoint(1000n), 1000000n, 95n, 100n, toFixedPoint(30n), genesisReward, 18n, gas)).waitForDeployment();
@@ -201803,7 +201816,7 @@ var createChainRewardsContract = /* @__PURE__ */ __name$d(async (signer, genesis
201803
201816
  throw ex;
201804
201817
  }
201805
201818
  }, "createChainRewardsContract");
201806
- var nextContractAddressForAddress = /* @__PURE__ */ __name$d(async (address, provider) => {
201819
+ var nextContractAddressForAddress = /* @__PURE__ */ __name$e(async (address, provider) => {
201807
201820
  const deployerAddress = toEthAddress(address);
201808
201821
  const nonce = await provider.getTransactionCount(deployerAddress);
201809
201822
  const contractAddress = getCreateAddress({
@@ -201812,7 +201825,7 @@ var nextContractAddressForAddress = /* @__PURE__ */ __name$d(async (address, pro
201812
201825
  });
201813
201826
  return assertEx(asAddress(contractAddress), () => "Unable to convert contract address to address");
201814
201827
  }, "nextContractAddressForAddress");
201815
- var nextContractAddress = /* @__PURE__ */ __name$d(async (signer) => {
201828
+ var nextContractAddress = /* @__PURE__ */ __name$e(async (signer) => {
201816
201829
  const provider = assertEx(signer.provider, () => "Unable to obtain provider from signer");
201817
201830
  const address = assertEx(asAddress(await signer.getAddress()), () => "Unable to obtain address from signer");
201818
201831
  return await nextContractAddressForAddress(address, provider);
@@ -201831,15 +201844,15 @@ async function createChain(signer, stakingTokenAddress, initialBlockProducer, re
201831
201844
  rewardContractAddressResolved
201832
201845
  ];
201833
201846
  }
201834
- __name$d(createChain, "createChain");
201847
+ __name$e(createChain, "createChain");
201835
201848
  function _ts_decorate$5(decorators, target, key, desc) {
201836
201849
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
201837
201850
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
201838
201851
  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;
201839
201852
  return c > 3 && r && Object.defineProperty(target, key, r), r;
201840
201853
  }
201841
- __name$d(_ts_decorate$5, "_ts_decorate");
201842
- var ethStakeToStake = /* @__PURE__ */ __name$d((ethStake) => {
201854
+ __name$e(_ts_decorate$5, "_ts_decorate");
201855
+ var ethStakeToStake = /* @__PURE__ */ __name$e((ethStake) => {
201843
201856
  const stake = {
201844
201857
  id: Number(ethStake.id),
201845
201858
  staked: toAddress(ethStake.staked),
@@ -201853,7 +201866,7 @@ var ethStakeToStake = /* @__PURE__ */ __name$d((ethStake) => {
201853
201866
  }, "ethStakeToStake");
201854
201867
  var EthereumChainStakeViewer = class _EthereumChainStakeViewer extends AbstractCreatableProvider {
201855
201868
  static {
201856
- __name$d(this, "EthereumChainStakeViewer");
201869
+ __name$e(this, "EthereumChainStakeViewer");
201857
201870
  }
201858
201871
  static defaultMoniker = StakeViewerMoniker;
201859
201872
  static dependencies = [];
@@ -202070,8 +202083,8 @@ function _ts_decorate2$3(decorators, target, key, desc) {
202070
202083
  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;
202071
202084
  return c > 3 && r && Object.defineProperty(target, key, r), r;
202072
202085
  }
202073
- __name$d(_ts_decorate2$3, "_ts_decorate");
202074
- var isStakeLogEventName = /* @__PURE__ */ __name$d((name) => {
202086
+ __name$e(_ts_decorate2$3, "_ts_decorate");
202087
+ var isStakeLogEventName = /* @__PURE__ */ __name$e((name) => {
202075
202088
  return isString$1(name) && [
202076
202089
  "StakeAdded",
202077
202090
  "StakeRemoved",
@@ -202080,7 +202093,7 @@ var isStakeLogEventName = /* @__PURE__ */ __name$d((name) => {
202080
202093
  }, "isStakeLogEventName");
202081
202094
  var EthereumChainStakeEventsViewer = class _EthereumChainStakeEventsViewer extends AbstractCreatableProvider {
202082
202095
  static {
202083
- __name$d(this, "EthereumChainStakeEventsViewer");
202096
+ __name$e(this, "EthereumChainStakeEventsViewer");
202084
202097
  }
202085
202098
  static defaultMoniker = StakeEventsViewerMoniker;
202086
202099
  static dependencies = [];
@@ -202231,7 +202244,7 @@ EthereumChainStakeEventsViewer = _ts_decorate2$3([
202231
202244
  ], EthereumChainStakeEventsViewer);
202232
202245
  var AbstractEvmProvider = class extends AbstractCreatableProvider {
202233
202246
  static {
202234
- __name$d(this, "AbstractEvmProvider");
202247
+ __name$e(this, "AbstractEvmProvider");
202235
202248
  }
202236
202249
  _contract;
202237
202250
  get contract() {
@@ -202248,10 +202261,10 @@ function _ts_decorate3$2(decorators, target, key, desc) {
202248
202261
  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;
202249
202262
  return c > 3 && r && Object.defineProperty(target, key, r), r;
202250
202263
  }
202251
- __name$d(_ts_decorate3$2, "_ts_decorate");
202264
+ __name$e(_ts_decorate3$2, "_ts_decorate");
202252
202265
  var EvmChainContractViewer = class _EvmChainContractViewer extends AbstractEvmProvider {
202253
202266
  static {
202254
- __name$d(this, "EvmChainContractViewer");
202267
+ __name$e(this, "EvmChainContractViewer");
202255
202268
  }
202256
202269
  static defaultMoniker = ChainContractViewerMoniker;
202257
202270
  static dependencies = [];
@@ -202276,9 +202289,9 @@ var EvmChainContractViewer = class _EvmChainContractViewer extends AbstractEvmPr
202276
202289
  return await withContextCacheResponse(this.context, "chainIdAtBlockNumber", `${blockNumber}`, async () => {
202277
202290
  let chainId = this.chainId();
202278
202291
  let contractViewer = this;
202279
- let forkedAtBlockNumber = await this.forkedAtBlockNumber();
202280
- while (blockNumber <= forkedAtBlockNumber) {
202281
- contractViewer = await contractViewer.forkedChainContractViewer();
202292
+ let forkedAtBlockNumber = await contractViewer.forkedAtBlockNumber();
202293
+ while (forkedAtBlockNumber !== null && blockNumber <= forkedAtBlockNumber) {
202294
+ contractViewer = assertEx(await contractViewer.forkedChainContractViewer(), () => "Forked chain contract viewer is undefined");
202282
202295
  forkedAtBlockNumber = await contractViewer.forkedAtBlockNumber();
202283
202296
  chainId = await contractViewer.chainId();
202284
202297
  }
@@ -202286,7 +202299,7 @@ var EvmChainContractViewer = class _EvmChainContractViewer extends AbstractEvmPr
202286
202299
  });
202287
202300
  }
202288
202301
  async forkedAtBlockNumber() {
202289
- this._forkedAtBlockNumber = this._forkedAtBlockNumber ?? (async () => Number(await this.contract.forkedAtBlockNumber()))();
202302
+ this._forkedAtBlockNumber = this._forkedAtBlockNumber ?? (async () => toXL1BlockNumber(await this.contract.forkedAtBlockNumber(), true))();
202290
202303
  return await this._forkedAtBlockNumber;
202291
202304
  }
202292
202305
  async forkedAtHash() {
@@ -202338,10 +202351,10 @@ function _ts_decorate4$1(decorators, target, key, desc) {
202338
202351
  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;
202339
202352
  return c > 3 && r && Object.defineProperty(target, key, r), r;
202340
202353
  }
202341
- __name$d(_ts_decorate4$1, "_ts_decorate");
202354
+ __name$e(_ts_decorate4$1, "_ts_decorate");
202342
202355
  var EvmStakeRunner = class _EvmStakeRunner extends AbstractEvmProvider {
202343
202356
  static {
202344
- __name$d(this, "EvmStakeRunner");
202357
+ __name$e(this, "EvmStakeRunner");
202345
202358
  }
202346
202359
  static defaultMoniker = StakeRunnerMoniker;
202347
202360
  static dependencies = [];
@@ -202377,10 +202390,10 @@ function _ts_decorate5$1(decorators, target, key, desc) {
202377
202390
  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;
202378
202391
  return c > 3 && r && Object.defineProperty(target, key, r), r;
202379
202392
  }
202380
- __name$d(_ts_decorate5$1, "_ts_decorate");
202393
+ __name$e(_ts_decorate5$1, "_ts_decorate");
202381
202394
  var EvmStakeTotalsViewer = class _EvmStakeTotalsViewer extends AbstractEvmProvider {
202382
202395
  static {
202383
- __name$d(this, "EvmStakeTotalsViewer");
202396
+ __name$e(this, "EvmStakeTotalsViewer");
202384
202397
  }
202385
202398
  static defaultMoniker = StakeTotalsViewerMoniker;
202386
202399
  static dependencies = [];
@@ -202417,15 +202430,16 @@ EvmStakeTotalsViewer = _ts_decorate5$1([
202417
202430
  creatableProvider()
202418
202431
  ], EvmStakeTotalsViewer);
202419
202432
 
202420
- var __defProp$e = Object.defineProperty;
202421
- var __name$c = (target, value) => __defProp$e(target, "name", { value, configurable: true });
202422
- var analyzeBlock = /* @__PURE__ */ __name$c(async (block, handlers) => {
202433
+ var __defProp$f = Object.defineProperty;
202434
+ var __name$d = (target, value) => __defProp$f(target, "name", { value, configurable: true });
202435
+ var analyzeBlock = /* @__PURE__ */ __name$d(async (block, handlers) => {
202423
202436
  await Promise.all(handlers.map(async (handler) => {
202424
202437
  await handler.onBlock(block);
202425
202438
  }));
202426
202439
  return block;
202427
202440
  }, "analyzeBlock");
202428
- var analyzeChain = /* @__PURE__ */ __name$c(async (store, handlers, head, previousHead = null, maxDepth = -1n, tracer, logger) => {
202441
+ var analyzeChain = /* @__PURE__ */ __name$d(async (context, store, handlers, head, previousHead = null, maxDepth = -1n) => {
202442
+ const { logger } = context;
202429
202443
  logger?.log("analyzeChain.start", previousHead);
202430
202444
  return assertEx(await spanRootAsync("analyzeChain", async () => {
202431
202445
  let lastBlockNumber = -1;
@@ -202454,16 +202468,12 @@ var analyzeChain = /* @__PURE__ */ __name$c(async (store, handlers, head, previo
202454
202468
  return handlers.map((handler) => {
202455
202469
  return handler.result();
202456
202470
  });
202457
- }, {
202458
- tracer,
202459
- timeBudgetLimit: 1e3,
202460
- logger
202461
- }), () => "analyzeChain failed");
202471
+ }, context), () => "analyzeChain failed");
202462
202472
  }, "analyzeChain");
202463
- var ChainSummaryBalancesSchema = "network.xyo.chain.summary.balances";
202473
+ var ChainSummaryBalancesSchema = asSchema("network.xyo.chain.summary.balances", true);
202464
202474
 
202465
202475
  // src/BalanceAnalyzer/BalanceAnalyzer.ts
202466
- var bigintBalances = /* @__PURE__ */ __name$c((balances) => {
202476
+ var bigintBalances = /* @__PURE__ */ __name$d((balances) => {
202467
202477
  const result = {};
202468
202478
  for (const [address, balance] of Object.entries(balances)) {
202469
202479
  if (isDefined(balance)) {
@@ -202474,7 +202484,7 @@ var bigintBalances = /* @__PURE__ */ __name$c((balances) => {
202474
202484
  }, "bigintBalances");
202475
202485
  (class {
202476
202486
  static {
202477
- __name$c(this, "BalanceAnalyzer");
202487
+ __name$d(this, "BalanceAnalyzer");
202478
202488
  }
202479
202489
  _tracer;
202480
202490
  _addresses;
@@ -202527,7 +202537,7 @@ var bigintBalances = /* @__PURE__ */ __name$c((balances) => {
202527
202537
  });
202528
202538
  var ChainFinalizer = class extends Base {
202529
202539
  static {
202530
- __name$c(this, "ChainFinalizer");
202540
+ __name$d(this, "ChainFinalizer");
202531
202541
  }
202532
202542
  _tracer;
202533
202543
  // the chainArchivist is assumed to be an archivist with already validated blocks in it along with all the transactions and payloads
@@ -202563,7 +202573,7 @@ var ChainFinalizer = class extends Base {
202563
202573
  };
202564
202574
  var ChainHeadSelector = class extends ChainFinalizer {
202565
202575
  static {
202566
- __name$c(this, "ChainHeadSelector");
202576
+ __name$d(this, "ChainHeadSelector");
202567
202577
  }
202568
202578
  allowedProducers;
202569
202579
  _timeSinceLastUncle = Date.now();
@@ -202584,22 +202594,19 @@ var ChainHeadSelector = class extends ChainFinalizer {
202584
202594
  if (isDefined(allowedProducers) && allowedProducers.length > 0) {
202585
202595
  return proposedBlocks.filter((pb) => allowedProducers.includes(pb[0].addresses[0]));
202586
202596
  }
202587
- this.windowedFinalizedChain = await getWindowedChain(this.blockViewer, this.maxWindowSize, this.windowedFinalizedChain);
202597
+ this.windowedFinalizedChain = await getWindowedChain(this.context, this.blockViewer, this.maxWindowSize, this.windowedFinalizedChain);
202588
202598
  const uncles = findUncles(this.context, this.windowedFinalizedChain, proposedBlocks);
202589
202599
  const bestUncle = uncles.length > 0 ? findBestUncle(this.windowedFinalizedChain, uncles) : this.windowedFinalizedChain;
202590
202600
  return bestUncle;
202591
- }, {
202592
- tracer: this.tracer,
202593
- timeBudgetLimit: 1e3
202594
- });
202601
+ }, this.context);
202595
202602
  }
202596
202603
  };
202597
- var ChainSummaryProducersSchema = "network.xyo.chain.summary.producers";
202604
+ var ChainSummaryProducersSchema = asSchema("network.xyo.chain.summary.producers", true);
202598
202605
 
202599
202606
  // src/producer/ChainProducersAnalyzer.ts
202600
202607
  (class {
202601
202608
  static {
202602
- __name$c(this, "ChainProducersAnalyzer");
202609
+ __name$d(this, "ChainProducersAnalyzer");
202603
202610
  }
202604
202611
  endingBlock = 0;
202605
202612
  producers = {};
@@ -202637,13 +202644,13 @@ var ChainSummaryProducersSchema = "network.xyo.chain.summary.producers";
202637
202644
  return true;
202638
202645
  }
202639
202646
  });
202640
- var ChainSummaryStakeIntentSchema = "network.xyo.chain.summary.staked.intent";
202647
+ var ChainSummaryStakeIntentSchema = asSchema("network.xyo.chain.summary.staked.intent", true);
202641
202648
  var isChainSummaryStakeIntent = isPayloadOfSchemaType(ChainSummaryStakeIntentSchema);
202642
202649
 
202643
202650
  // src/producer/ChainStakeIntentAnalyzer.ts
202644
202651
  var ChainStakeIntentAnalyzer = class {
202645
202652
  static {
202646
- __name$c(this, "ChainStakeIntentAnalyzer");
202653
+ __name$d(this, "ChainStakeIntentAnalyzer");
202647
202654
  }
202648
202655
  _endingBlock = void 0;
202649
202656
  _intent;
@@ -202674,8 +202681,8 @@ var ChainStakeIntentAnalyzer = class {
202674
202681
  return true;
202675
202682
  }
202676
202683
  };
202677
- var ChainSummaryTransfersSchema = "network.xyo.chain.summary.transfers";
202678
- var bigintTransfers = /* @__PURE__ */ __name$c((transfers) => {
202684
+ var ChainSummaryTransfersSchema = asSchema("network.xyo.chain.summary.transfers", true);
202685
+ var bigintTransfers = /* @__PURE__ */ __name$d((transfers) => {
202679
202686
  const result = {};
202680
202687
  for (const [from, toMap] of Object.entries(transfers)) {
202681
202688
  const validFrom = toAddress(from);
@@ -202690,7 +202697,7 @@ var bigintTransfers = /* @__PURE__ */ __name$c((transfers) => {
202690
202697
  }, "bigintTransfers");
202691
202698
  (class {
202692
202699
  static {
202693
- __name$c(this, "TransferAnalyzer");
202700
+ __name$d(this, "TransferAnalyzer");
202694
202701
  }
202695
202702
  _tracer;
202696
202703
  _firstBlock;
@@ -202741,9 +202748,9 @@ var bigintTransfers = /* @__PURE__ */ __name$c((transfers) => {
202741
202748
  }
202742
202749
  });
202743
202750
 
202744
- var __defProp$d = Object.defineProperty;
202745
- var __name$b = (target, value) => __defProp$d(target, "name", { value, configurable: true });
202746
- var BlockAllowedPayloadSchemasValidator = /* @__PURE__ */ __name$b((block) => {
202751
+ var __defProp$e = Object.defineProperty;
202752
+ var __name$c = (target, value) => __defProp$e(target, "name", { value, configurable: true });
202753
+ var BlockAllowedPayloadSchemasValidator = /* @__PURE__ */ __name$c((context, block) => {
202747
202754
  const errors = [];
202748
202755
  try {
202749
202756
  for (const schema of block.payload_schemas) {
@@ -202756,7 +202763,7 @@ var BlockAllowedPayloadSchemasValidator = /* @__PURE__ */ __name$b((block) => {
202756
202763
  }
202757
202764
  return errors;
202758
202765
  }, "BlockAllowedPayloadSchemasValidator");
202759
- var BlockFieldsValidator = /* @__PURE__ */ __name$b((block, chainId) => {
202766
+ var BlockFieldsValidator = /* @__PURE__ */ __name$c((context, block, chainId) => {
202760
202767
  const errors = [];
202761
202768
  try {
202762
202769
  if (isDefined(chainId) && block.chain !== chainId.toLowerCase()) {
@@ -202776,13 +202783,13 @@ var BlockFieldsValidator = /* @__PURE__ */ __name$b((block, chainId) => {
202776
202783
  }
202777
202784
  return errors;
202778
202785
  }, "BlockFieldsValidator");
202779
- var BlockJsonSchemaValidator = /* @__PURE__ */ __name$b((jsonSchema = BlockBoundWitnessWithStorageMetaJsonSchema) => {
202786
+ var BlockJsonSchemaValidator = /* @__PURE__ */ __name$c((jsonSchema = BlockBoundWitnessWithStorageMetaJsonSchema) => {
202780
202787
  const ajv = new ajvExports.Ajv({
202781
202788
  allErrors: true,
202782
202789
  strict: true
202783
202790
  });
202784
202791
  const validate = ajv.compile(jsonSchema);
202785
- return async (block) => {
202792
+ return async (context, block) => {
202786
202793
  const errors = [];
202787
202794
  try {
202788
202795
  await validate(block);
@@ -202801,7 +202808,7 @@ var BlockJsonSchemaValidator = /* @__PURE__ */ __name$b((jsonSchema = BlockBound
202801
202808
  return errors;
202802
202809
  };
202803
202810
  }, "BlockJsonSchemaValidator");
202804
- var BlockPreviousHashValidator = /* @__PURE__ */ __name$b((block) => {
202811
+ var BlockPreviousHashValidator = /* @__PURE__ */ __name$c((context, block) => {
202805
202812
  const errors = [];
202806
202813
  try {
202807
202814
  const blockNumber = block.block;
@@ -202825,7 +202832,7 @@ var BlockPreviousHashValidator = /* @__PURE__ */ __name$b((block) => {
202825
202832
  }, "BlockPreviousHashValidator");
202826
202833
 
202827
202834
  // src/block/validateBlock.ts
202828
- var validateBlock = /* @__PURE__ */ __name$b(async (block, chainId, additionalValidators = []) => {
202835
+ var validateBlock = /* @__PURE__ */ __name$c(async (context, block, chainId, additionalValidators = []) => {
202829
202836
  const errors = [];
202830
202837
  try {
202831
202838
  const bwErrors = await BoundWitnessSignaturesValidator(block);
@@ -202838,13 +202845,13 @@ var validateBlock = /* @__PURE__ */ __name$b(async (block, chainId, additionalVa
202838
202845
  BlockAllowedPayloadSchemasValidator,
202839
202846
  ...additionalValidators
202840
202847
  ];
202841
- errors.push(...(await Promise.all(validators.map((validator) => validator(block, chainId)))).flat());
202848
+ errors.push(...(await Promise.all(validators.map((validator) => validator(context, block, chainId)))).flat());
202842
202849
  } catch (ex) {
202843
202850
  errors.push(new BlockValidationError(block?._hash ?? ZERO_HASH, block, "validation excepted", ex));
202844
202851
  }
202845
202852
  return errors;
202846
202853
  }, "validateBlock");
202847
- var isElevatedFromBlock = /* @__PURE__ */ __name$b((payload, [, payloads]) => {
202854
+ var isElevatedFromBlock = /* @__PURE__ */ __name$c((payload, [, payloads]) => {
202848
202855
  const txs = payloads.filter((p) => isTransactionBoundWitness(p));
202849
202856
  for (const tx of txs) {
202850
202857
  if (tx.payload_hashes.includes(payload._hash)) {
@@ -202853,7 +202860,7 @@ var isElevatedFromBlock = /* @__PURE__ */ __name$b((payload, [, payloads]) => {
202853
202860
  }
202854
202861
  return true;
202855
202862
  }, "isElevatedFromBlock");
202856
- var validateElevatedFromBlock = /* @__PURE__ */ __name$b((payload, block) => {
202863
+ var validateElevatedFromBlock = /* @__PURE__ */ __name$c((payload, block) => {
202857
202864
  const errors = [];
202858
202865
  try {
202859
202866
  const txs = transactionsFromHydratedBlock(block);
@@ -202866,7 +202873,7 @@ var validateElevatedFromBlock = /* @__PURE__ */ __name$b((payload, block) => {
202866
202873
  }
202867
202874
  return errors;
202868
202875
  }, "validateElevatedFromBlock");
202869
- var validateElevatedFromTransaction = /* @__PURE__ */ __name$b((payload, block) => {
202876
+ var validateElevatedFromTransaction = /* @__PURE__ */ __name$c((payload, block) => {
202870
202877
  const errors = [];
202871
202878
  try {
202872
202879
  const txs = transactionsFromHydratedBlock(block);
@@ -202883,7 +202890,7 @@ var validateElevatedFromTransaction = /* @__PURE__ */ __name$b((payload, block)
202883
202890
  }
202884
202891
  return errors;
202885
202892
  }, "validateElevatedFromTransaction");
202886
- var validateTransactionInBlock = /* @__PURE__ */ __name$b(async (payload, block) => {
202893
+ var validateTransactionInBlock = /* @__PURE__ */ __name$c(async (payload, block) => {
202887
202894
  const errors = [];
202888
202895
  try {
202889
202896
  if (isTransactionBoundWitness(payload) && isStorageMeta(payload)) {
@@ -202906,7 +202913,7 @@ var validateTransactionInBlock = /* @__PURE__ */ __name$b(async (payload, block)
202906
202913
  }
202907
202914
  return errors;
202908
202915
  }, "validateTransactionInBlock");
202909
- var validateTypedPayloadInBlock = /* @__PURE__ */ __name$b(async (payload, block, identityFunction) => {
202916
+ var validateTypedPayloadInBlock = /* @__PURE__ */ __name$c(async (payload, block, identityFunction) => {
202910
202917
  const errors = [];
202911
202918
  try {
202912
202919
  if (identityFunction(payload) && isStorageMeta(payload)) {
@@ -202923,7 +202930,7 @@ var validateTypedPayloadInBlock = /* @__PURE__ */ __name$b(async (payload, block
202923
202930
  }
202924
202931
  return errors;
202925
202932
  }, "validateTypedPayloadInBlock");
202926
- var validateBridgeDestinationObservationInBlock = /* @__PURE__ */ __name$b(async (payload, block) => {
202933
+ var validateBridgeDestinationObservationInBlock = /* @__PURE__ */ __name$c(async (payload, block) => {
202927
202934
  const errors = [];
202928
202935
  try {
202929
202936
  const typedErrors = await validateTypedPayloadInBlock(payload, block, isBridgeDestinationObservation);
@@ -202935,7 +202942,7 @@ var validateBridgeDestinationObservationInBlock = /* @__PURE__ */ __name$b(async
202935
202942
  }
202936
202943
  return errors;
202937
202944
  }, "validateBridgeDestinationObservationInBlock");
202938
- var validateBridgeIntentInBlock = /* @__PURE__ */ __name$b(async (payload, block) => {
202945
+ var validateBridgeIntentInBlock = /* @__PURE__ */ __name$c(async (payload, block) => {
202939
202946
  const errors = [];
202940
202947
  try {
202941
202948
  const typedErrors = await validateTypedPayloadInBlock(payload, block, isBridgeIntent);
@@ -202947,7 +202954,7 @@ var validateBridgeIntentInBlock = /* @__PURE__ */ __name$b(async (payload, block
202947
202954
  }
202948
202955
  return errors;
202949
202956
  }, "validateBridgeIntentInBlock");
202950
- var validateBridgeSourceObservationInBlock = /* @__PURE__ */ __name$b(async (payload, block) => {
202957
+ var validateBridgeSourceObservationInBlock = /* @__PURE__ */ __name$c(async (payload, block) => {
202951
202958
  const errors = [];
202952
202959
  try {
202953
202960
  const typedErrors = await validateTypedPayloadInBlock(payload, block, isBridgeSourceObservation);
@@ -202959,7 +202966,7 @@ var validateBridgeSourceObservationInBlock = /* @__PURE__ */ __name$b(async (pay
202959
202966
  }
202960
202967
  return errors;
202961
202968
  }, "validateBridgeSourceObservationInBlock");
202962
- var validateChainStakeIntentInBlock = /* @__PURE__ */ __name$b(async (payload, block) => {
202969
+ var validateChainStakeIntentInBlock = /* @__PURE__ */ __name$c(async (payload, block) => {
202963
202970
  const errors = [];
202964
202971
  try {
202965
202972
  const typedErrors = await validateTypedPayloadInBlock(payload, block, isChainStakeIntent);
@@ -202971,7 +202978,7 @@ var validateChainStakeIntentInBlock = /* @__PURE__ */ __name$b(async (payload, b
202971
202978
  }
202972
202979
  return errors;
202973
202980
  }, "validateChainStakeIntentInBlock");
202974
- var validateHashInBlock = /* @__PURE__ */ __name$b(async (payload, block) => {
202981
+ var validateHashInBlock = /* @__PURE__ */ __name$c(async (payload, block) => {
202975
202982
  const errors = [];
202976
202983
  try {
202977
202984
  const typedErrors = await validateTypedPayloadInBlock(payload, block, isHashPayload);
@@ -202983,7 +202990,7 @@ var validateHashInBlock = /* @__PURE__ */ __name$b(async (payload, block) => {
202983
202990
  }
202984
202991
  return errors;
202985
202992
  }, "validateHashInBlock");
202986
- var validateSchemaInBlock = /* @__PURE__ */ __name$b(async (payload, block) => {
202993
+ var validateSchemaInBlock = /* @__PURE__ */ __name$c(async (payload, block) => {
202987
202994
  const errors = [];
202988
202995
  try {
202989
202996
  const typedErrors = await validateTypedPayloadInBlock(payload, block, isSchemaPayload);
@@ -202995,7 +203002,7 @@ var validateSchemaInBlock = /* @__PURE__ */ __name$b(async (payload, block) => {
202995
203002
  }
202996
203003
  return errors;
202997
203004
  }, "validateSchemaInBlock");
202998
- var validateTimeInBlock = /* @__PURE__ */ __name$b(async (payload, block) => {
203005
+ var validateTimeInBlock = /* @__PURE__ */ __name$c(async (payload, block) => {
202999
203006
  const errors = [];
203000
203007
  try {
203001
203008
  const typedErrors = await validateTypedPayloadInBlock(payload, block, isTimePayload);
@@ -203007,7 +203014,7 @@ var validateTimeInBlock = /* @__PURE__ */ __name$b(async (payload, block) => {
203007
203014
  }
203008
203015
  return errors;
203009
203016
  }, "validateTimeInBlock");
203010
- var validateTransferInBlock = /* @__PURE__ */ __name$b(async (payload, block) => {
203017
+ var validateTransferInBlock = /* @__PURE__ */ __name$c(async (payload, block) => {
203011
203018
  const errors = [];
203012
203019
  try {
203013
203020
  const typedErrors = await validateTypedPayloadInBlock(payload, block, isTransfer);
@@ -203032,7 +203039,7 @@ var payloadValidators = {
203032
203039
  [TimeSchema]: validateTimeInBlock,
203033
203040
  [TransferSchema]: validateTransferInBlock
203034
203041
  };
203035
- var validatePayloadInBlock = /* @__PURE__ */ __name$b(async (payload, block) => {
203042
+ var validatePayloadInBlock = /* @__PURE__ */ __name$c(async (payload, block) => {
203036
203043
  const errors = [];
203037
203044
  try {
203038
203045
  const validator = payloadValidators[payload.schema];
@@ -203050,7 +203057,7 @@ var validatePayloadInBlock = /* @__PURE__ */ __name$b(async (payload, block) =>
203050
203057
  }, "validatePayloadInBlock");
203051
203058
 
203052
203059
  // src/hydratedBlock/validators/Payloads.ts
203053
- var PayloadsInBlockValidator = /* @__PURE__ */ __name$b(async ([block, payloads]) => {
203060
+ var PayloadsInBlockValidator = /* @__PURE__ */ __name$c(async (context, [block, payloads]) => {
203054
203061
  const errors = [];
203055
203062
  try {
203056
203063
  const payloadMap = {};
@@ -203099,10 +203106,10 @@ var PayloadsInBlockValidator = /* @__PURE__ */ __name$b(async ([block, payloads]
203099
203106
  }, "PayloadsInBlockValidator");
203100
203107
 
203101
203108
  // src/hydratedBlock/validateHydratedBlock.ts
203102
- var validateHydratedBlock = /* @__PURE__ */ __name$b(async (hydratedBlock, chainIdAtBlockNumber, additionalValidators = [], additionalBlockValidators = []) => {
203109
+ var validateHydratedBlock = /* @__PURE__ */ __name$c(async (context, hydratedBlock, chainIdAtBlockNumber, additionalValidators = [], additionalBlockValidators = []) => {
203103
203110
  const errors = [];
203104
203111
  try {
203105
- const validateBlockErrors = await validateBlock(hydratedBlock[0], chainIdAtBlockNumber ? await chainIdAtBlockNumber(hydratedBlock[0].block) : void 0, additionalBlockValidators);
203112
+ const validateBlockErrors = await validateBlock(context, hydratedBlock[0], chainIdAtBlockNumber ? await chainIdAtBlockNumber(hydratedBlock[0].block) : void 0, additionalBlockValidators);
203106
203113
  for (const validateBlockError of validateBlockErrors) {
203107
203114
  errors.push(new HydratedBlockValidationError(hydratedBlock[0]._hash, hydratedBlock, `validateBlock error: ${validateBlockError}`, validateBlockError));
203108
203115
  }
@@ -203114,13 +203121,13 @@ var validateHydratedBlock = /* @__PURE__ */ __name$b(async (hydratedBlock, chain
203114
203121
  PayloadsInBlockValidator,
203115
203122
  ...additionalValidators
203116
203123
  ];
203117
- errors.push(...(await Promise.all(validators.map((v) => v(hydratedBlock, chainIdAtBlockNumber)))).flat());
203124
+ errors.push(...(await Promise.all(validators.map((v) => v(context, hydratedBlock, chainIdAtBlockNumber)))).flat());
203118
203125
  } catch (ex) {
203119
203126
  errors.push(new HydratedBlockValidationError(hydratedBlock?.[0]?._hash ?? ZERO_HASH, hydratedBlock, `Failed validateHydratedBlock: ${ex}`, ex));
203120
203127
  }
203121
203128
  return errors;
203122
203129
  }, "validateHydratedBlock");
203123
- var RequiredBalanceBlockStateValidator = /* @__PURE__ */ __name$b(async (block, chainIdAtBlockNumber, services) => {
203130
+ var RequiredBalanceBlockStateValidator = /* @__PURE__ */ __name$c(async (context, block, chainIdAtBlockNumber, services) => {
203124
203131
  return await spanRootAsync("RequiredBalanceBlockStateValidator", async () => {
203125
203132
  const errors = [];
203126
203133
  let chainId = "00";
@@ -203150,28 +203157,22 @@ var RequiredBalanceBlockStateValidator = /* @__PURE__ */ __name$b(async (block,
203150
203157
  errors.push(new HydratedBlockStateValidationError(block?.[0]?._hash ?? ZERO_HASH, chainId, block, `insufficient balance for ${address} ${balance} < ${requiredBalances[address]}`));
203151
203158
  }
203152
203159
  }
203153
- }, {
203154
- timeBudgetLimit: 100,
203155
- logger: console
203156
- });
203160
+ }, context);
203157
203161
  } catch (ex) {
203158
203162
  errors.push(new HydratedBlockStateValidationError(block?.[0]?._hash ?? ZERO_HASH, chainId, block, `Failed RequiredBalanceBlockStateValidator: ${ex}`, ex));
203159
203163
  }
203160
203164
  return await Promise.resolve(errors);
203161
- }, {
203162
- timeBudgetLimit: 200,
203163
- logger: console
203164
- });
203165
+ }, context);
203165
203166
  }, "RequiredBalanceBlockStateValidator");
203166
203167
 
203167
203168
  // src/hydratedBlockState/validateHydratedBlockState.ts
203168
- var validateHydratedBlockState = /* @__PURE__ */ __name$b(async (hydratedBlock, chainIdAtBlockNumber, services, additionalValidators = []) => {
203169
+ var validateHydratedBlockState = /* @__PURE__ */ __name$c(async (context, hydratedBlock, chainIdAtBlockNumber, services, additionalValidators = []) => {
203169
203170
  return await spanRootAsync("validateHydratedBlockState", async () => {
203170
203171
  const errors = [];
203171
203172
  let chainId;
203172
203173
  try {
203173
203174
  chainId = await chainIdAtBlockNumber(hydratedBlock[0].block);
203174
- const validateHydratedBlockErrors = await validateHydratedBlock(hydratedBlock, chainIdAtBlockNumber);
203175
+ const validateHydratedBlockErrors = await validateHydratedBlock(context, hydratedBlock, chainIdAtBlockNumber);
203175
203176
  for (const validateHydratedBlockError of validateHydratedBlockErrors) {
203176
203177
  errors.push(new HydratedBlockStateValidationError(hydratedBlock[0]._hash, chainId, hydratedBlock, `validateBlock error: ${validateHydratedBlockError}`, validateHydratedBlockError));
203177
203178
  }
@@ -203179,43 +203180,37 @@ var validateHydratedBlockState = /* @__PURE__ */ __name$b(async (hydratedBlock,
203179
203180
  RequiredBalanceBlockStateValidator,
203180
203181
  ...additionalValidators
203181
203182
  ];
203182
- errors.push(...(await Promise.all(validators.map((v) => v(hydratedBlock, chainIdAtBlockNumber, services)))).flat());
203183
+ errors.push(...(await Promise.all(validators.map((v) => v(context, hydratedBlock, chainIdAtBlockNumber, services)))).flat());
203183
203184
  } catch (ex) {
203184
203185
  errors.push(new HydratedBlockStateValidationError(hydratedBlock?.[0]?._hash ?? ZERO_HASH, chainId ?? "00", hydratedBlock, `Failed validateHydratedBlockState: ${ex}`, ex));
203185
203186
  }
203186
203187
  return errors;
203187
- }, {
203188
- timeBudgetLimit: 100,
203189
- logger: console
203190
- });
203188
+ }, context);
203191
203189
  }, "validateHydratedBlockState");
203192
203190
 
203193
- var __defProp$c = Object.defineProperty;
203194
- var __name$a = (target, value) => __defProp$c(target, "name", { value, configurable: true });
203195
-
203196
- // src/diviners/BlockReward/Abstract/Config.ts
203197
- var BlockRewardDivinerConfigSchema = "network.xyo.diviner.chain.block.reward.config";
203191
+ var __defProp$d = Object.defineProperty;
203192
+ var __name$b = (target, value) => __defProp$d(target, "name", { value, configurable: true });
203193
+ var BlockRewardDivinerConfigSchema = asSchema("network.xyo.diviner.chain.block.reward.config", true);
203198
203194
  var BlockRewardDiviner = class extends AbstractDiviner {
203199
203195
  static {
203200
- __name$a(this, "BlockRewardDiviner");
203196
+ __name$b(this, "BlockRewardDiviner");
203201
203197
  }
203202
203198
  static configSchemas = [
203203
203199
  BlockRewardDivinerConfigSchema
203204
203200
  ];
203205
203201
  };
203206
-
203207
- // src/diviners/BlockReward/FixedPercentage/Config.ts
203208
- var FixedPercentageBlockRewardDivinerConfigSchema = "network.xyo.diviner.chain.block.reward.fixed.percent.config";
203202
+ asSchema("network.xyo.block.reward", true);
203203
+ var FixedPercentageBlockRewardDivinerConfigSchema = asSchema("network.xyo.diviner.chain.block.reward.fixed.percent.config", true);
203209
203204
  function _ts_decorate$4(decorators, target, key, desc) {
203210
203205
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
203211
203206
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
203212
203207
  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;
203213
203208
  return c > 3 && r && Object.defineProperty(target, key, r), r;
203214
203209
  }
203215
- __name$a(_ts_decorate$4, "_ts_decorate");
203210
+ __name$b(_ts_decorate$4, "_ts_decorate");
203216
203211
  var FixedPercentageBlockRewardDiviner = class extends BlockRewardDiviner {
203217
203212
  static {
203218
- __name$a(this, "FixedPercentageBlockRewardDiviner");
203213
+ __name$b(this, "FixedPercentageBlockRewardDiviner");
203219
203214
  }
203220
203215
  static configSchemas = [
203221
203216
  BlockRewardDivinerConfigSchema,
@@ -203284,7 +203279,7 @@ var FixedPercentageBlockRewardDiviner = class extends BlockRewardDiviner {
203284
203279
  FixedPercentageBlockRewardDiviner = _ts_decorate$4([
203285
203280
  creatableModule()
203286
203281
  ], FixedPercentageBlockRewardDiviner);
203287
- var countDecimalPlaces = /* @__PURE__ */ __name$a((num) => {
203282
+ var countDecimalPlaces = /* @__PURE__ */ __name$b((num) => {
203288
203283
  if (!Number.isFinite(num)) {
203289
203284
  throw new TypeError("Input must be a finite number");
203290
203285
  }
@@ -203298,11 +203293,11 @@ function _ts_decorate2$2(decorators, target, key, desc) {
203298
203293
  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;
203299
203294
  return c > 3 && r && Object.defineProperty(target, key, r), r;
203300
203295
  }
203301
- __name$a(_ts_decorate2$2, "_ts_decorate");
203302
- var BlockValidationDivinerConfigSchema = "network.xyo.diviner.chain.block.validation.config";
203296
+ __name$b(_ts_decorate2$2, "_ts_decorate");
203297
+ var BlockValidationDivinerConfigSchema = asSchema("network.xyo.diviner.chain.block.validation.config", true);
203303
203298
  var BlockValidationDiviner = class extends AbstractDiviner {
203304
203299
  static {
203305
- __name$a(this, "BlockValidationDiviner");
203300
+ __name$b(this, "BlockValidationDiviner");
203306
203301
  }
203307
203302
  static configSchemas = [
203308
203303
  ...super.configSchemas,
@@ -203314,6 +203309,9 @@ var BlockValidationDiviner = class extends AbstractDiviner {
203314
203309
  get chainId() {
203315
203310
  return assertEx(this.config.chainId, () => "Missing chainId");
203316
203311
  }
203312
+ get context() {
203313
+ return assertEx(this.params.context, () => "Missing context");
203314
+ }
203317
203315
  async resolveInArchivist() {
203318
203316
  const resolvedModule = assertEx(await this.resolve(assertEx(this.config.inArchivist, () => "Missing inArchivist")), () => `Unable to resolve inArchivist [${this.config.inArchivist}]`);
203319
203317
  const resolvedArchivist = assertEx(asArchivistInstance(resolvedModule), () => "Invalid inArchivist resolved");
@@ -203335,7 +203333,7 @@ var BlockValidationDiviner = class extends AbstractDiviner {
203335
203333
  const hydratedBlock = await hydrateBlock({
203336
203334
  chainMap: inMap
203337
203335
  }, blockHash);
203338
- return (await validateHydratedBlock(hydratedBlock, () => this.chainId, [], [
203336
+ return (await validateHydratedBlock(this.context, hydratedBlock, () => this.chainId, [], [
203339
203337
  BlockJsonSchemaValidator()
203340
203338
  ])).length === 0 ? block : void 0;
203341
203339
  }))).filter(exists$2);
@@ -203357,11 +203355,11 @@ function _ts_decorate3$1(decorators, target, key, desc) {
203357
203355
  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;
203358
203356
  return c > 3 && r && Object.defineProperty(target, key, r), r;
203359
203357
  }
203360
- __name$a(_ts_decorate3$1, "_ts_decorate");
203361
- var HeadValidationDivinerConfigSchema = "network.xyo.diviner.chain.head.validation.config";
203358
+ __name$b(_ts_decorate3$1, "_ts_decorate");
203359
+ var HeadValidationDivinerConfigSchema = asSchema("network.xyo.diviner.chain.head.validation.config", true);
203362
203360
  var HeadValidationDiviner = class extends AbstractDiviner {
203363
203361
  static {
203364
- __name$a(this, "HeadValidationDiviner");
203362
+ __name$b(this, "HeadValidationDiviner");
203365
203363
  }
203366
203364
  static configSchemas = [
203367
203365
  ...super.configSchemas,
@@ -203453,9 +203451,7 @@ var HeadValidationDiviner = class extends AbstractDiviner {
203453
203451
  this._headValidationDivinerHeadUpdateTotal?.add(1, finalizedBlockAttributes);
203454
203452
  }
203455
203453
  }
203456
- }, {
203457
- timeBudgetLimit: 1e3
203458
- });
203454
+ }, this.context);
203459
203455
  await this.headSelector.finalizeChainFragment(blocksToFinalize);
203460
203456
  this._startingHead = newHydratedHeadBlock;
203461
203457
  return payloadsToFinalize;
@@ -203465,9 +203461,7 @@ var HeadValidationDiviner = class extends AbstractDiviner {
203465
203461
  } catch (ex) {
203466
203462
  this.logger?.error("Error in divineHandler", ex);
203467
203463
  }
203468
- }, {
203469
- timeBudgetLimit: 1e3
203470
- }) ?? [];
203464
+ }, this.context) ?? [];
203471
203465
  });
203472
203466
  }
203473
203467
  };
@@ -203513,11 +203507,11 @@ async function processPendingBlocks({ blockViewer, context, finalizedArchivist,
203513
203507
  logger?.info("No head found to validate", currentBlock?.[0]._hash);
203514
203508
  }
203515
203509
  }
203516
- __name$a(processPendingBlocks, "processPendingBlocks");
203517
- var ArchivistNextWitnessConfigSchema = "network.xyo.witness.archivist.next.config";
203510
+ __name$b(processPendingBlocks, "processPendingBlocks");
203511
+ var ArchivistNextWitnessConfigSchema = asSchema("network.xyo.witness.archivist.next.config", true);
203518
203512
  (class extends AbstractWitness {
203519
203513
  static {
203520
- __name$a(this, "ArchivistNextWitness");
203514
+ __name$b(this, "ArchivistNextWitness");
203521
203515
  }
203522
203516
  static configSchemas = [
203523
203517
  ...super.configSchemas,
@@ -203541,6 +203535,8 @@ var ArchivistNextWitnessConfigSchema = "network.xyo.witness.archivist.next.confi
203541
203535
  return payloads;
203542
203536
  }
203543
203537
  });
203538
+ asSchema("network.xyo.witness.chain.stake.network.weighted", true);
203539
+ asSchema("network.xyo.witness.chain.stake.network.observe", true);
203544
203540
 
203545
203541
  var shallowequal;
203546
203542
  var hasRequiredShallowequal;
@@ -203600,14 +203596,14 @@ function requireShallowequal () {
203600
203596
  var shallowequalExports = requireShallowequal();
203601
203597
  var isSame = /*@__PURE__*/getDefaultExportFromCjs(shallowequalExports);
203602
203598
 
203603
- var __defProp$b = Object.defineProperty;
203604
- var __name$9 = (target, value) => __defProp$b(target, "name", { value, configurable: true });
203599
+ var __defProp$c = Object.defineProperty;
203600
+ var __name$a = (target, value) => __defProp$c(target, "name", { value, configurable: true });
203605
203601
  var DEFAULT_FIND_FIRST_MATCHING_NEXT_OPTIONS = {
203606
203602
  limit: 100,
203607
203603
  open: false,
203608
203604
  order: "desc"
203609
203605
  };
203610
- var findFirstMatching = /* @__PURE__ */ __name$9(async (archivist, predicate = () => true, nextOptions = DEFAULT_FIND_FIRST_MATCHING_NEXT_OPTIONS) => {
203606
+ var findFirstMatching = /* @__PURE__ */ __name$a(async (archivist, predicate = () => true, nextOptions = DEFAULT_FIND_FIRST_MATCHING_NEXT_OPTIONS) => {
203611
203607
  let cursor = void 0;
203612
203608
  if (isDefined(nextOptions.cursor)) cursor = nextOptions.cursor;
203613
203609
  let batch = [];
@@ -203626,7 +203622,7 @@ var findFirstMatching = /* @__PURE__ */ __name$9(async (archivist, predicate = (
203626
203622
  }, "findFirstMatching");
203627
203623
 
203628
203624
  // src/formatters/string/removeTrailingZeros.ts
203629
- var removeTrailingZeros = /* @__PURE__ */ __name$9((value) => {
203625
+ var removeTrailingZeros = /* @__PURE__ */ __name$a((value) => {
203630
203626
  let i = value.length - 1;
203631
203627
  while (i >= 0 && value[i] === "0") {
203632
203628
  i--;
@@ -203635,9 +203631,9 @@ var removeTrailingZeros = /* @__PURE__ */ __name$9((value) => {
203635
203631
  }, "removeTrailingZeros");
203636
203632
 
203637
203633
  // src/formatters/string/bigIntToFixedPointString.ts
203638
- var bigIntToFixedPointString = /* @__PURE__ */ __name$9((value, decimalPlaces = 18) => {
203634
+ var bigIntToFixedPointString = /* @__PURE__ */ __name$a((value, decimalPlaces = 18) => {
203639
203635
  const stringValue = value.toString(10);
203640
- const splitAtIndex = /* @__PURE__ */ __name$9((value2, index) => {
203636
+ const splitAtIndex = /* @__PURE__ */ __name$a((value2, index) => {
203641
203637
  const part1 = value2.slice(0, index);
203642
203638
  const part2 = value2.slice(index);
203643
203639
  return [
@@ -203658,7 +203654,7 @@ var bigIntToFixedPointString = /* @__PURE__ */ __name$9((value, decimalPlaces =
203658
203654
  }, "bigIntToFixedPointString");
203659
203655
 
203660
203656
  // src/formatters/string/formatNumber.ts
203661
- var isUnsafeInteger = /* @__PURE__ */ __name$9((value) => {
203657
+ var isUnsafeInteger = /* @__PURE__ */ __name$a((value) => {
203662
203658
  try {
203663
203659
  const parsedNumber = BigInt(value);
203664
203660
  return parsedNumber > BigInt(Number.MAX_SAFE_INTEGER);
@@ -203667,7 +203663,7 @@ var isUnsafeInteger = /* @__PURE__ */ __name$9((value) => {
203667
203663
  return true;
203668
203664
  }
203669
203665
  }, "isUnsafeInteger");
203670
- var safeReturnInteger = /* @__PURE__ */ __name$9((value) => {
203666
+ var safeReturnInteger = /* @__PURE__ */ __name$a((value) => {
203671
203667
  return isUnsafeInteger(value) ? {
203672
203668
  unsafeInteger: true,
203673
203669
  value
@@ -203711,18 +203707,18 @@ function formatNumberForDisplay(value, significantFigures = 5, bigIntShift = 18)
203711
203707
  return safeReturnInteger(whole);
203712
203708
  }
203713
203709
  }
203714
- __name$9(formatNumberForDisplay, "formatNumberForDisplay");
203710
+ __name$a(formatNumberForDisplay, "formatNumberForDisplay");
203715
203711
  function hexToLast4BytesInt(value) {
203716
203712
  assertEx(isHex(value), () => "value must be a hex string");
203717
203713
  const last4Bytes = value.slice(-8);
203718
203714
  return Number.parseInt(last4Bytes, 16);
203719
203715
  }
203720
- __name$9(hexToLast4BytesInt, "hexToLast4BytesInt");
203716
+ __name$a(hexToLast4BytesInt, "hexToLast4BytesInt");
203721
203717
 
203722
203718
  // src/interval/IntervalMap.ts
203723
203719
  var IntervalMap = class {
203724
203720
  static {
203725
- __name$9(this, "IntervalMap");
203721
+ __name$a(this, "IntervalMap");
203726
203722
  }
203727
203723
  map;
203728
203724
  constructor(data) {
@@ -203784,14 +203780,14 @@ var IntervalMap = class {
203784
203780
  function max(a, b) {
203785
203781
  return a > b ? a : b;
203786
203782
  }
203787
- __name$9(max, "max");
203783
+ __name$a(max, "max");
203788
203784
  function height(node) {
203789
203785
  return node === void 0 ? -1 : node.height;
203790
203786
  }
203791
- __name$9(height, "height");
203787
+ __name$a(height, "height");
203792
203788
  var Node = class _Node {
203793
203789
  static {
203794
- __name$9(this, "Node");
203790
+ __name$a(this, "Node");
203795
203791
  }
203796
203792
  intervalTree;
203797
203793
  key;
@@ -204135,7 +204131,7 @@ var Node = class _Node {
204135
204131
  };
204136
204132
  var IntervalTree = class {
204137
204133
  static {
204138
- __name$9(this, "IntervalTree");
204134
+ __name$a(this, "IntervalTree");
204139
204135
  }
204140
204136
  root;
204141
204137
  count = 0;
@@ -204263,7 +204259,7 @@ var IntervalTree = class {
204263
204259
  };
204264
204260
  (class {
204265
204261
  static {
204266
- __name$9(this, "DataIntervalTree");
204262
+ __name$a(this, "DataIntervalTree");
204267
204263
  }
204268
204264
  tree = new IntervalTree();
204269
204265
  insert(low, high, data) {
@@ -204298,7 +204294,7 @@ var IntervalTree = class {
204298
204294
  });
204299
204295
  var InOrder = class {
204300
204296
  static {
204301
- __name$9(this, "InOrder");
204297
+ __name$a(this, "InOrder");
204302
204298
  }
204303
204299
  stack = [];
204304
204300
  currentNode;
@@ -204346,7 +204342,7 @@ var InOrder = class {
204346
204342
  };
204347
204343
  var ReverseInOrder = class {
204348
204344
  static {
204349
- __name$9(this, "ReverseInOrder");
204345
+ __name$a(this, "ReverseInOrder");
204350
204346
  }
204351
204347
  stack = [];
204352
204348
  currentNode;
@@ -204395,7 +204391,7 @@ var ReverseInOrder = class {
204395
204391
  };
204396
204392
  var PreOrder = class {
204397
204393
  static {
204398
- __name$9(this, "PreOrder");
204394
+ __name$a(this, "PreOrder");
204399
204395
  }
204400
204396
  stack = [];
204401
204397
  currentNode;
@@ -204444,7 +204440,7 @@ function seededRandom(seed) {
204444
204440
  return x - Math.floor(x);
204445
204441
  };
204446
204442
  }
204447
- __name$9(seededRandom, "seededRandom");
204443
+ __name$a(seededRandom, "seededRandom");
204448
204444
  function shuffleWithSeed(set, seed) {
204449
204445
  const array = [
204450
204446
  ...set
@@ -204459,7 +204455,7 @@ function shuffleWithSeed(set, seed) {
204459
204455
  }
204460
204456
  return array;
204461
204457
  }
204462
- __name$9(shuffleWithSeed, "shuffleWithSeed");
204458
+ __name$a(shuffleWithSeed, "shuffleWithSeed");
204463
204459
 
204464
204460
  // src/telemetry/startupSpanAsync.ts
204465
204461
  async function startupSpanAsync(name, fn, logger) {
@@ -204474,14 +204470,14 @@ async function startupSpanAsync(name, fn, logger) {
204474
204470
  logger?.log(`[${name}] Initialized (${duration}ms)`);
204475
204471
  }
204476
204472
  }
204477
- __name$9(startupSpanAsync, "startupSpanAsync");
204473
+ __name$a(startupSpanAsync, "startupSpanAsync");
204478
204474
  function spanDurationInMillis(span) {
204479
204475
  return span.duration[0] * 1e3 + span.duration[1] / 1e6;
204480
204476
  }
204481
- __name$9(spanDurationInMillis, "spanDurationInMillis");
204477
+ __name$a(spanDurationInMillis, "spanDurationInMillis");
204482
204478
  (class _XyoConsoleSpanExporter extends ConsoleSpanExporter {
204483
204479
  static {
204484
- __name$9(this, "XyoConsoleSpanExporter");
204480
+ __name$a(this, "XyoConsoleSpanExporter");
204485
204481
  }
204486
204482
  static durationToLogLevel = [
204487
204483
  0,
@@ -204535,18 +204531,18 @@ __name$9(spanDurationInMillis, "spanDurationInMillis");
204535
204531
  }
204536
204532
  });
204537
204533
 
204538
- var __defProp$a = Object.defineProperty;
204539
- var __name$8 = (target, value) => __defProp$a(target, "name", { value, configurable: true });
204534
+ var __defProp$b = Object.defineProperty;
204535
+ var __name$9 = (target, value) => __defProp$b(target, "name", { value, configurable: true });
204540
204536
  function _ts_decorate$3(decorators, target, key, desc) {
204541
204537
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
204542
204538
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
204543
204539
  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;
204544
204540
  return c > 3 && r && Object.defineProperty(target, key, r), r;
204545
204541
  }
204546
- __name$8(_ts_decorate$3, "_ts_decorate");
204542
+ __name$9(_ts_decorate$3, "_ts_decorate");
204547
204543
  var EvmBlockRewardViewer = class _EvmBlockRewardViewer extends AbstractCreatable {
204548
204544
  static {
204549
- __name$8(this, "EvmBlockRewardViewer");
204545
+ __name$9(this, "EvmBlockRewardViewer");
204550
204546
  }
204551
204547
  static defaultMoniker = BlockRewardViewerMoniker;
204552
204548
  static monikers = [
@@ -204580,100 +204576,9 @@ var EvmBlockRewardViewer = class _EvmBlockRewardViewer extends AbstractCreatable
204580
204576
  EvmBlockRewardViewer = _ts_decorate$3([
204581
204577
  creatable()
204582
204578
  ], EvmBlockRewardViewer);
204583
- function blockViewerFromChainIteratorAndArchivist(chainIterator, chainArchivist) {
204584
- const result = {
204585
- blockByHash: /* @__PURE__ */ __name$8(async function(hash) {
204586
- const [payload] = await chainArchivist.get([
204587
- hash
204588
- ]);
204589
- const block = asSignedBlockBoundWitnessWithStorageMeta(payload);
204590
- if (isDefined(block)) {
204591
- const payloads = await chainArchivist.get(block.payload_hashes);
204592
- return [
204593
- block,
204594
- payloads
204595
- ];
204596
- }
204597
- return null;
204598
- }, "blockByHash"),
204599
- blockByNumber: /* @__PURE__ */ __name$8(async function(blockNumber) {
204600
- const payload = asSignedBlockBoundWitness(await chainIterator.get(blockNumber));
204601
- const block = payload ? await PayloadBuilder.addHashMeta(payload) : void 0;
204602
- if (isDefined(block)) {
204603
- const payloads = await chainArchivist.get(block.payload_hashes);
204604
- return [
204605
- block,
204606
- payloads
204607
- ];
204608
- }
204609
- return null;
204610
- }, "blockByNumber"),
204611
- blocksByHash: /* @__PURE__ */ __name$8(async function(hash, limit = 10) {
204612
- const results = [];
204613
- for (let i = 0; i < limit; i++) {
204614
- const block = await this.blockByHash(hash);
204615
- if (block) {
204616
- results.push(block);
204617
- } else {
204618
- break;
204619
- }
204620
- }
204621
- return results;
204622
- }, "blocksByHash"),
204623
- blocksByNumber: /* @__PURE__ */ __name$8(async function(number, limit = 10) {
204624
- const results = [];
204625
- for (let i = 0; i < limit; i++) {
204626
- const block = await this.blockByNumber(number);
204627
- if (block) {
204628
- results.push(block);
204629
- } else {
204630
- break;
204631
- }
204632
- }
204633
- return results;
204634
- }, "blocksByNumber"),
204635
- chainId: /* @__PURE__ */ __name$8(async function(blockNumber = "latest") {
204636
- const block = blockNumber === "latest" ? await this.currentBlock() : await this.blockByNumber(blockNumber);
204637
- if (!block) {
204638
- throw new Error(`Block not found for block number: ${blockNumber}`);
204639
- }
204640
- return block[0].chain;
204641
- }, "chainId"),
204642
- currentBlock: /* @__PURE__ */ __name$8(async function() {
204643
- const head = await chainIterator.head();
204644
- return this.blockByHash(head._hash);
204645
- }, "currentBlock"),
204646
- currentBlockHash: /* @__PURE__ */ __name$8(async function() {
204647
- const head = await chainIterator.head();
204648
- return head._hash;
204649
- }, "currentBlockHash"),
204650
- currentBlockNumber: /* @__PURE__ */ __name$8(async function() {
204651
- const head = await chainIterator.head();
204652
- return head.block;
204653
- }, "currentBlockNumber"),
204654
- moniker: BlockViewerMoniker,
204655
- payloadByHash: /* @__PURE__ */ __name$8(function(_hash) {
204656
- throw new Error("Function not implemented.");
204657
- }, "payloadByHash"),
204658
- payloadsByHash: /* @__PURE__ */ __name$8(function(_hashes) {
204659
- throw new Error("Function not implemented.");
204660
- }, "payloadsByHash"),
204661
- rate(..._args) {
204662
- throw new Error("Function not implemented.");
204663
- },
204664
- stepSizeRate(..._args) {
204665
- throw new Error("Function not implemented.");
204666
- },
204667
- timeDurationRate(..._args) {
204668
- throw new Error("Function not implemented.");
204669
- }
204670
- };
204671
- return result;
204672
- }
204673
- __name$8(blockViewerFromChainIteratorAndArchivist, "blockViewerFromChainIteratorAndArchivist");
204674
204579
  (class extends AbstractCreatableProvider {
204675
204580
  static {
204676
- __name$8(this, "XyoValidator");
204581
+ __name$9(this, "XyoValidator");
204677
204582
  }
204678
204583
  moniker = "Validator";
204679
204584
  _blockViewer;
@@ -204717,10 +204622,10 @@ function _ts_decorate2$1(decorators, target, key, desc) {
204717
204622
  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;
204718
204623
  return c > 3 && r && Object.defineProperty(target, key, r), r;
204719
204624
  }
204720
- __name$8(_ts_decorate2$1, "_ts_decorate");
204625
+ __name$9(_ts_decorate2$1, "_ts_decorate");
204721
204626
  var BaseElectionService = class _BaseElectionService extends AbstractCreatableProvider {
204722
204627
  static {
204723
- __name$8(this, "BaseElectionService");
204628
+ __name$9(this, "BaseElectionService");
204724
204629
  }
204725
204630
  static defaultMoniker = "Election";
204726
204631
  static dependencies = [];
@@ -204743,9 +204648,7 @@ var BaseElectionService = class _BaseElectionService extends AbstractCreatablePr
204743
204648
  const candidates = await this.stakeIntentService.getDeclaredCandidatesForBlock(nextBlock, "producer");
204744
204649
  const previousBlockHash = current._hash;
204745
204650
  return this.generateCreatorCommittee(candidates, previousBlockHash);
204746
- }, {
204747
- timeBudgetLimit: 200
204748
- });
204651
+ }, this.context);
204749
204652
  }
204750
204653
  generateCreatorCommittee(candidates, previousBlockHash, maxSize = 3) {
204751
204654
  const creators = new Set(candidates);
@@ -204757,10 +204660,10 @@ var BaseElectionService = class _BaseElectionService extends AbstractCreatablePr
204757
204660
  BaseElectionService = _ts_decorate2$1([
204758
204661
  creatableProvider()
204759
204662
  ], BaseElectionService);
204760
- var canUseChainId$1 = /* @__PURE__ */ __name$8((config) => {
204663
+ var canUseChainId$1 = /* @__PURE__ */ __name$9((config) => {
204761
204664
  return isDefined(config.evm.chainId);
204762
204665
  }, "canUseChainId");
204763
- var getChainId$1 = /* @__PURE__ */ __name$8((config) => {
204666
+ var getChainId$1 = /* @__PURE__ */ __name$9((config) => {
204764
204667
  const chainId = assertEx(config.evm.chainId, () => "Missing config.evm.chainId");
204765
204668
  if (isHex(chainId, {
204766
204669
  prefix: true
@@ -204776,16 +204679,16 @@ var getChainId$1 = /* @__PURE__ */ __name$8((config) => {
204776
204679
 
204777
204680
  // src/implementation/evm/initInfuraProvider.ts
204778
204681
  var instance$1;
204779
- var initInfuraProvider$1 = /* @__PURE__ */ __name$8((config) => {
204682
+ var initInfuraProvider$1 = /* @__PURE__ */ __name$9((config) => {
204780
204683
  if (instance$1) return instance$1;
204781
204684
  const providerConfig = getInfuraProviderConfig$1(config);
204782
204685
  instance$1 = Promise.resolve(new InfuraProvider(...providerConfig));
204783
204686
  return instance$1;
204784
204687
  }, "initInfuraProvider");
204785
- var canUseInfuraProvider$1 = /* @__PURE__ */ __name$8((config) => {
204688
+ var canUseInfuraProvider$1 = /* @__PURE__ */ __name$9((config) => {
204786
204689
  return canUseChainId$1(config) && isDefined(config.evm?.infura?.projectId) && isDefined(config.evm?.infura?.projectSecret);
204787
204690
  }, "canUseInfuraProvider");
204788
- var getInfuraProviderConfig$1 = /* @__PURE__ */ __name$8((config) => {
204691
+ var getInfuraProviderConfig$1 = /* @__PURE__ */ __name$9((config) => {
204789
204692
  const projectId = assertEx(config.evm?.infura?.projectId, () => "Missing config.evm.infura.projectId");
204790
204693
  const projectSecret = assertEx(config.evm?.infura?.projectSecret, () => "Missing config.evm.infura.projectSecret");
204791
204694
  return [
@@ -204794,14 +204697,14 @@ var getInfuraProviderConfig$1 = /* @__PURE__ */ __name$8((config) => {
204794
204697
  projectSecret
204795
204698
  ];
204796
204699
  }, "getInfuraProviderConfig");
204797
- var initJsonRpcProvider$1 = /* @__PURE__ */ __name$8((config) => {
204700
+ var initJsonRpcProvider$1 = /* @__PURE__ */ __name$9((config) => {
204798
204701
  const providerConfig = getJsonRpcProviderConfig$1(config);
204799
204702
  return Promise.resolve(new JsonRpcProvider(...providerConfig));
204800
204703
  }, "initJsonRpcProvider");
204801
- var canUseJsonRpcProvider$1 = /* @__PURE__ */ __name$8((config) => {
204704
+ var canUseJsonRpcProvider$1 = /* @__PURE__ */ __name$9((config) => {
204802
204705
  return canUseChainId$1(config) && isDefined(config.evm.jsonRpc?.url);
204803
204706
  }, "canUseJsonRpcProvider");
204804
- var getJsonRpcProviderConfig$1 = /* @__PURE__ */ __name$8((config) => {
204707
+ var getJsonRpcProviderConfig$1 = /* @__PURE__ */ __name$9((config) => {
204805
204708
  const jsonRpcUrl = assertEx(config.evm.jsonRpc?.url, () => "Missing config.evm.jsonRpc.url");
204806
204709
  return [
204807
204710
  jsonRpcUrl,
@@ -204811,7 +204714,7 @@ var getJsonRpcProviderConfig$1 = /* @__PURE__ */ __name$8((config) => {
204811
204714
 
204812
204715
  // src/implementation/evm/initEvmProvider.ts
204813
204716
  var provider$1;
204814
- var initEvmProvider$1 = /* @__PURE__ */ __name$8(async ({ config }) => {
204717
+ var initEvmProvider$1 = /* @__PURE__ */ __name$9(async ({ config }) => {
204815
204718
  if (provider$1) return provider$1;
204816
204719
  if (canUseInfuraProvider$1(config)) {
204817
204720
  provider$1 = initInfuraProvider$1(config);
@@ -204820,7 +204723,7 @@ var initEvmProvider$1 = /* @__PURE__ */ __name$8(async ({ config }) => {
204820
204723
  }
204821
204724
  return assertEx(await provider$1, () => "No provider available");
204822
204725
  }, "initEvmProvider");
204823
- var createBootstrapHead = /* @__PURE__ */ __name$8(async (account, chainId, genesisBlockRewardAmount, genesisBlockRewardAddress) => {
204726
+ var createBootstrapHead = /* @__PURE__ */ __name$9(async (account, chainId, genesisBlockRewardAmount, genesisBlockRewardAddress) => {
204824
204727
  const chain = [];
204825
204728
  const genesisBlock = await createGenesisBlock(account, chainId, genesisBlockRewardAmount, genesisBlockRewardAddress);
204826
204729
  chain.push(genesisBlock);
@@ -204839,10 +204742,10 @@ function _ts_decorate3(decorators, target, key, desc) {
204839
204742
  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;
204840
204743
  return c > 3 && r && Object.defineProperty(target, key, r), r;
204841
204744
  }
204842
- __name$8(_ts_decorate3, "_ts_decorate");
204745
+ __name$9(_ts_decorate3, "_ts_decorate");
204843
204746
  var BaseNetworkStakeStepRewardService = class _BaseNetworkStakeStepRewardService extends AbstractCreatableProvider {
204844
204747
  static {
204845
- __name$8(this, "BaseNetworkStakeStepRewardService");
204748
+ __name$9(this, "BaseNetworkStakeStepRewardService");
204846
204749
  }
204847
204750
  static defaultMoniker = NetworkStakeStepRewardViewerMoniker;
204848
204751
  static dependencies = [];
@@ -204908,7 +204811,7 @@ var BaseNetworkStakeStepRewardService = class _BaseNetworkStakeStepRewardService
204908
204811
  BaseNetworkStakeStepRewardService = _ts_decorate3([
204909
204812
  creatableProvider()
204910
204813
  ], BaseNetworkStakeStepRewardService);
204911
- var bundledPayloadToHydratedTransaction = /* @__PURE__ */ __name$8(async (payload) => {
204814
+ var bundledPayloadToHydratedTransaction = /* @__PURE__ */ __name$9(async (payload) => {
204912
204815
  const withHashMeta = await PayloadBuilder.addHashMeta(payload.payloads);
204913
204816
  const tx = asSignedTransactionBoundWitnessWithHashMeta(withHashMeta.find((p) => p._hash === payload.root));
204914
204817
  if (tx) {
@@ -204918,11 +204821,11 @@ var bundledPayloadToHydratedTransaction = /* @__PURE__ */ __name$8(async (payloa
204918
204821
  ];
204919
204822
  }
204920
204823
  }, "bundledPayloadToHydratedTransaction");
204921
- var hydratedTransactionToPayloadBundle = /* @__PURE__ */ __name$8((transaction) => {
204824
+ var hydratedTransactionToPayloadBundle = /* @__PURE__ */ __name$9((transaction) => {
204922
204825
  const root = transaction[0]._hash;
204923
204826
  return bundle(root, transaction);
204924
204827
  }, "hydratedTransactionToPayloadBundle");
204925
- var bundle = /* @__PURE__ */ __name$8((root, transaction) => {
204828
+ var bundle = /* @__PURE__ */ __name$9((root, transaction) => {
204926
204829
  const payloads = flattenHydratedTransaction(transaction).flatMap((p) => PayloadBuilder.omitStorageMeta(p));
204927
204830
  return new PayloadBuilder({
204928
204831
  schema: PayloadBundleSchema
@@ -204939,10 +204842,10 @@ function _ts_decorate4(decorators, target, key, desc) {
204939
204842
  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;
204940
204843
  return c > 3 && r && Object.defineProperty(target, key, r), r;
204941
204844
  }
204942
- __name$8(_ts_decorate4, "_ts_decorate");
204845
+ __name$9(_ts_decorate4, "_ts_decorate");
204943
204846
  var BasePendingTransactionsService = class _BasePendingTransactionsService extends AbstractCreatableProvider {
204944
204847
  static {
204945
- __name$8(this, "BasePendingTransactionsService");
204848
+ __name$9(this, "BasePendingTransactionsService");
204946
204849
  }
204947
204850
  static defaultMoniker = MempoolViewerMoniker;
204948
204851
  static dependencies = [];
@@ -205081,9 +204984,7 @@ var BasePendingTransactionsService = class _BasePendingTransactionsService exten
205081
204984
  }
205082
204985
  return foundPendingTransactions;
205083
204986
  }, _BasePendingTransactionsService.MutexPriority.ReadTransactions);
205084
- }, {
205085
- timeBudgetLimit: 100
205086
- });
204987
+ }, this.context);
205087
204988
  }
205088
204989
  async cleanupWorker() {
205089
204990
  return await this._updateCuratedPendingTransactionsArchivistMutex.runExclusive(async () => {
@@ -205129,9 +205030,7 @@ var BasePendingTransactionsService = class _BasePendingTransactionsService exten
205129
205030
  await this.pendingBundledTransactionsLocalArchivist.insert(bundledTransactions);
205130
205031
  }
205131
205032
  }, _BasePendingTransactionsService.MutexPriority.InsertNewTransactions);
205132
- }, {
205133
- timeBudgetLimit: 200
205134
- });
205033
+ }, this.context);
205135
205034
  }
205136
205035
  /**
205137
205036
  * Marks any included transactions in the provided payloads for removal preventing them
@@ -205183,26 +205082,24 @@ var BasePendingTransactionsService = class _BasePendingTransactionsService exten
205183
205082
  this.logger?.log(payload._hash);
205184
205083
  }
205185
205084
  }
205186
- }, {
205187
- timeBudgetLimit: 200
205188
- });
205085
+ }, this.context);
205189
205086
  }
205190
205087
  };
205191
205088
  BasePendingTransactionsService = _ts_decorate4([
205192
205089
  creatableProvider()
205193
205090
  ], BasePendingTransactionsService);
205194
- var isTransactionExpired = /* @__PURE__ */ __name$8((block) => ([txBw]) => txBw.exp < block, "isTransactionExpired");
205195
- var isTransactionActive = /* @__PURE__ */ __name$8((block) => ([txBw]) => txBw.nbf <= block && txBw.exp >= block, "isTransactionActive");
205091
+ var isTransactionExpired = /* @__PURE__ */ __name$9((block) => ([txBw]) => txBw.exp < block, "isTransactionExpired");
205092
+ var isTransactionActive = /* @__PURE__ */ __name$9((block) => ([txBw]) => txBw.nbf <= block && txBw.exp >= block, "isTransactionActive");
205196
205093
  function _ts_decorate5(decorators, target, key, desc) {
205197
205094
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
205198
205095
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
205199
205096
  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;
205200
205097
  return c > 3 && r && Object.defineProperty(target, key, r), r;
205201
205098
  }
205202
- __name$8(_ts_decorate5, "_ts_decorate");
205099
+ __name$9(_ts_decorate5, "_ts_decorate");
205203
205100
  var BaseSchemasService = class _BaseSchemasService extends AbstractCreatableProvider {
205204
205101
  static {
205205
- __name$8(this, "BaseSchemasService");
205102
+ __name$9(this, "BaseSchemasService");
205206
205103
  }
205207
205104
  static defaultMoniker = "SchemasService";
205208
205105
  static dependencies = [];
@@ -205224,9 +205121,7 @@ var BaseSchemasService = class _BaseSchemasService extends AbstractCreatableProv
205224
205121
  result[schema] = count;
205225
205122
  }
205226
205123
  return result;
205227
- }, {
205228
- timeBudgetLimit: 100
205229
- });
205124
+ }, this.context);
205230
205125
  }
205231
205126
  };
205232
205127
  BaseSchemasService = _ts_decorate5([
@@ -205267,7 +205162,7 @@ async function generateTransactionFeeTransfers(address, transactions) {
205267
205162
  }
205268
205163
  return payloads;
205269
205164
  }
205270
- __name$8(generateTransactionFeeTransfers, "generateTransactionFeeTransfers");
205165
+ __name$9(generateTransactionFeeTransfers, "generateTransactionFeeTransfers");
205271
205166
 
205272
205167
  // src/simple/block/runner/SimpleBlockRunner.ts
205273
205168
  function _ts_decorate6(decorators, target, key, desc) {
@@ -205276,13 +205171,13 @@ function _ts_decorate6(decorators, target, key, desc) {
205276
205171
  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;
205277
205172
  return c > 3 && r && Object.defineProperty(target, key, r), r;
205278
205173
  }
205279
- __name$8(_ts_decorate6, "_ts_decorate");
205174
+ __name$9(_ts_decorate6, "_ts_decorate");
205280
205175
  var DEFAULT_BLOCK_SIZE = 10;
205281
205176
  var XYO_PRODUCER_REDECLARATION_DURATION = 1e4;
205282
205177
  var XYO_PRODUCER_REDECLARATION_WINDOW = 500;
205283
205178
  var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvider {
205284
205179
  static {
205285
- __name$8(this, "SimpleBlockRunner");
205180
+ __name$9(this, "SimpleBlockRunner");
205286
205181
  }
205287
205182
  static defaultMoniker = BlockRunnerMoniker;
205288
205183
  static dependencies = [
@@ -205480,9 +205375,7 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
205480
205375
  this.logger?.error(`Error proposing next valid block: ${error.message}`);
205481
205376
  throw error;
205482
205377
  }
205483
- }, {
205484
- timeBudgetLimit: 200
205485
- });
205378
+ }, this.context);
205486
205379
  }
205487
205380
  // remove unfunded transactions and block transfers
205488
205381
  async filterByFunded(head, txs, transfers, validateBalances = false) {
@@ -205537,13 +205430,13 @@ function _ts_decorate7(decorators, target, key, desc) {
205537
205430
  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;
205538
205431
  return c > 3 && r && Object.defineProperty(target, key, r), r;
205539
205432
  }
205540
- __name$8(_ts_decorate7, "_ts_decorate");
205433
+ __name$9(_ts_decorate7, "_ts_decorate");
205541
205434
  var ACTIVE_STAKE_TTL = 1e3 * 60 * 60 * 2;
205542
205435
  var NO_ACTIVE_STAKE_TTL = 1e3 * 2;
205543
205436
  var STAKE_CACHE_MAX_ENTRIES = 1e4;
205544
205437
  var XyoStakeIntentService = class _XyoStakeIntentService extends AbstractCreatableProvider {
205545
205438
  static {
205546
- __name$8(this, "XyoStakeIntentService");
205439
+ __name$9(this, "XyoStakeIntentService");
205547
205440
  }
205548
205441
  static defaultMoniker = "StakeIntent";
205549
205442
  static dependencies = [];
@@ -205609,9 +205502,7 @@ var XyoStakeIntentService = class _XyoStakeIntentService extends AbstractCreatab
205609
205502
  const requiredMinimumStake = this.getRequiredMinimumStakeForIntent(intent);
205610
205503
  const validCandidates = await this.filterToValidStake(candidates, this.chainStakeViewer, requiredMinimumStake);
205611
205504
  return validCandidates;
205612
- }, {
205613
- timeBudgetLimit: 200
205614
- });
205505
+ }, this.context);
205615
205506
  }
205616
205507
  getRequiredMinimumStakeForIntent(intent) {
205617
205508
  switch (intent) {
@@ -205677,7 +205568,7 @@ var XyoStakeIntentService = class _XyoStakeIntentService extends AbstractCreatab
205677
205568
  ...DEFAULT_FIND_FIRST_MATCHING_NEXT_OPTIONS
205678
205569
  };
205679
205570
  while (true) {
205680
- const predicate = /* @__PURE__ */ __name$8((p) => {
205571
+ const predicate = /* @__PURE__ */ __name$9((p) => {
205681
205572
  const state2 = asChainIndexingServiceStateWithStorageMeta(p);
205682
205573
  return state2 ? true : false;
205683
205574
  }, "predicate");
@@ -205713,7 +205604,7 @@ var XyoStakeIntentService = class _XyoStakeIntentService extends AbstractCreatab
205713
205604
  if (isUndefined$1(currentHead)) return;
205714
205605
  const currentHeadHash = currentHead._hash;
205715
205606
  const chainMap = readPayloadMapFromStore(this.chainArchivist);
205716
- const result = await analyzeChain({
205607
+ const result = await analyzeChain(this.context, {
205717
205608
  chainMap
205718
205609
  }, [
205719
205610
  new ChainStakeIntentAnalyzer("producer")
@@ -205732,9 +205623,7 @@ var XyoStakeIntentService = class _XyoStakeIntentService extends AbstractCreatab
205732
205623
  }
205733
205624
  }
205734
205625
  this._lastIndexedBlockHash = currentHeadHash;
205735
- }, {
205736
- timeBudgetLimit: 1e3
205737
- });
205626
+ }, this.context);
205738
205627
  });
205739
205628
  }
205740
205629
  };
@@ -205743,7 +205632,7 @@ XyoStakeIntentService = _ts_decorate7([
205743
205632
  ], XyoStakeIntentService);
205744
205633
  (class _AbstractStepStakeService extends AbstractCreatableProvider {
205745
205634
  static {
205746
- __name$8(this, "AbstractStepStakeService");
205635
+ __name$9(this, "AbstractStepStakeService");
205747
205636
  }
205748
205637
  static defaultMoniker = StepStakeViewerMoniker;
205749
205638
  static monikers = [
@@ -205758,13 +205647,13 @@ XyoStakeIntentService = _ts_decorate7([
205758
205647
  }
205759
205648
  });
205760
205649
 
205761
- var __defProp$9 = Object.defineProperty;
205762
- var __name$7 = (target, value) => __defProp$9(target, "name", { value, configurable: true });
205763
- var initContextManager = /* @__PURE__ */ __name$7(() => {
205650
+ var __defProp$a = Object.defineProperty;
205651
+ var __name$8 = (target, value) => __defProp$a(target, "name", { value, configurable: true });
205652
+ var initContextManager = /* @__PURE__ */ __name$8(() => {
205764
205653
  const contextManager = new AsyncLocalStorageContextManager();
205765
205654
  context.setGlobalContextManager(contextManager.enable());
205766
205655
  }, "initContextManager");
205767
- var initPropagation = /* @__PURE__ */ __name$7(() => {
205656
+ var initPropagation = /* @__PURE__ */ __name$8(() => {
205768
205657
  propagation.setGlobalPropagator(new CompositePropagator({
205769
205658
  propagators: [
205770
205659
  new W3CTraceContextPropagator(),
@@ -205772,7 +205661,7 @@ var initPropagation = /* @__PURE__ */ __name$7(() => {
205772
205661
  ]
205773
205662
  }));
205774
205663
  }, "initPropagation");
205775
- var initResource = /* @__PURE__ */ __name$7((attributes) => {
205664
+ var initResource = /* @__PURE__ */ __name$8((attributes) => {
205776
205665
  const detectedResource = detectResources({
205777
205666
  detectors: [
205778
205667
  // hostDetector,
@@ -205788,21 +205677,21 @@ var initResource = /* @__PURE__ */ __name$7((attributes) => {
205788
205677
  const resource = detectedResource.merge(staticResource);
205789
205678
  return resource;
205790
205679
  }, "initResource");
205791
- var initHostMetrics = /* @__PURE__ */ __name$7((meterProvider) => {
205680
+ var initHostMetrics = /* @__PURE__ */ __name$8((meterProvider) => {
205792
205681
  const hostMetrics = new HostMetrics({
205793
205682
  meterProvider,
205794
205683
  name: "host-metrics"
205795
205684
  });
205796
205685
  hostMetrics.start();
205797
205686
  }, "initHostMetrics");
205798
- var initNodeMetrics = /* @__PURE__ */ __name$7((meterProvider) => {
205687
+ var initNodeMetrics = /* @__PURE__ */ __name$8((meterProvider) => {
205799
205688
  const instrumentation = new RuntimeNodeInstrumentation({
205800
205689
  monitoringPrecision: 5e3
205801
205690
  });
205802
205691
  instrumentation.setMeterProvider(meterProvider);
205803
205692
  instrumentation.enable();
205804
205693
  }, "initNodeMetrics");
205805
- var initMetricsExporter = /* @__PURE__ */ __name$7((metricsConfig) => {
205694
+ var initMetricsExporter = /* @__PURE__ */ __name$8((metricsConfig) => {
205806
205695
  const { port, endpoint } = metricsConfig;
205807
205696
  const exporter = new PrometheusExporter({
205808
205697
  port,
@@ -205812,7 +205701,7 @@ var initMetricsExporter = /* @__PURE__ */ __name$7((metricsConfig) => {
205812
205701
  });
205813
205702
  return exporter;
205814
205703
  }, "initMetricsExporter");
205815
- var initMeterProvider = /* @__PURE__ */ __name$7((resource, readers) => {
205704
+ var initMeterProvider = /* @__PURE__ */ __name$8((resource, readers) => {
205816
205705
  const meterProvider = new MeterProvider({
205817
205706
  readers,
205818
205707
  resource,
@@ -205828,7 +205717,7 @@ var initMeterProvider = /* @__PURE__ */ __name$7((resource, readers) => {
205828
205717
  metrics$1.setGlobalMeterProvider(meterProvider);
205829
205718
  return meterProvider;
205830
205719
  }, "initMeterProvider");
205831
- var initTraceProvider = /* @__PURE__ */ __name$7((otlpEndpoint, resource) => {
205720
+ var initTraceProvider = /* @__PURE__ */ __name$8((otlpEndpoint, resource) => {
205832
205721
  const spanProcessors = [];
205833
205722
  if (isDefined(otlpEndpoint)) {
205834
205723
  const isHttp = otlpEndpoint.includes("/v1/traces") || otlpEndpoint.includes(":4318") || otlpEndpoint.startsWith("http");
@@ -205850,7 +205739,7 @@ var initTraceProvider = /* @__PURE__ */ __name$7((otlpEndpoint, resource) => {
205850
205739
  trace$1.setGlobalTracerProvider(traceProvider);
205851
205740
  return traceProvider;
205852
205741
  }, "initTraceProvider");
205853
- var initTelemetry = /* @__PURE__ */ __name$7((params) => {
205742
+ var initTelemetry = /* @__PURE__ */ __name$8((params) => {
205854
205743
  const { attributes, metricsConfig, otlpEndpoint } = params;
205855
205744
  initContextManager();
205856
205745
  initPropagation();
@@ -205868,11 +205757,11 @@ var initTelemetry = /* @__PURE__ */ __name$7((params) => {
205868
205757
  };
205869
205758
  }, "initTelemetry");
205870
205759
 
205871
- var __defProp$8 = Object.defineProperty;
205760
+ var __defProp$9 = Object.defineProperty;
205872
205761
  var __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor;
205873
205762
  var __getProtoOf = Object.getPrototypeOf;
205874
205763
  var __reflectGet = Reflect.get;
205875
- var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$8(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
205764
+ var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$9(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
205876
205765
  var __decorateClass$1 = (decorators, target, key, kind) => {
205877
205766
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1(target, key) : target;
205878
205767
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
@@ -205882,12 +205771,10 @@ var __decorateClass$1 = (decorators, target, key, kind) => {
205882
205771
  };
205883
205772
  var __publicField$1 = (obj, key, value) => __defNormalProp$1(obj, typeof key !== "symbol" ? key + "" : key, value);
205884
205773
  var __superGet = (cls, obj, key) => __reflectGet(__getProtoOf(cls), key, obj);
205885
-
205886
- // src/Schema.ts
205887
- var LmdbArchivistSchema = "network.xyo.archivist.lmdb";
205774
+ var LmdbArchivistSchema = asSchema("network.xyo.archivist.lmdb", true);
205888
205775
 
205889
205776
  // src/Config.ts
205890
- var LmdbArchivistConfigSchema = `${LmdbArchivistSchema}.config`;
205777
+ var LmdbArchivistConfigSchema = asSchema(`${LmdbArchivistSchema}.config`, true);
205891
205778
 
205892
205779
  // src/Archivist.ts
205893
205780
  var LmdbArchivist = class extends AbstractArchivist {
@@ -296360,14 +296247,15 @@ var BaseMongoSdk = class {
296360
296247
  };
296361
296248
 
296362
296249
  // src/Schema.ts
296363
- var MongoDBArchivistConfigSchema = "network.xyo.archivist.mongodb.config";
296250
+ var MongoDBArchivistConfigSchema = asSchema("network.xyo.archivist.mongodb.config", true);
296364
296251
 
296365
296252
  // src/Labels.ts
296366
296253
  var MongoDBStorageClassLabels = { "network.xyo.storage.class": "mongodb" };
296254
+ asSchema("network.xyo.module.mongodb.config", true);
296367
296255
 
296368
- var __defProp$7 = Object.defineProperty;
296256
+ var __defProp$8 = Object.defineProperty;
296369
296257
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
296370
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
296258
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp$8(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
296371
296259
  var __decorateClass = (decorators, target, key, kind) => {
296372
296260
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
296373
296261
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
@@ -297263,29 +297151,38 @@ function requireStore2 () {
297263
297151
  var store2Exports = requireStore2();
297264
297152
  var store = /*@__PURE__*/getDefaultExportFromCjs(store2Exports);
297265
297153
 
297266
- // src/boot/boot.ts
297267
- var genericBoot = async (getHardwareAbstractionLayer2) => {
297154
+ var __defProp$7 = Object.defineProperty;
297155
+ var __name$7 = (target, value) => __defProp$7(target, "name", { value, configurable: true });
297156
+ var genericBoot = /* @__PURE__ */ __name$7(async (getHardwareAbstractionLayer2) => {
297268
297157
  const { seedPhraseStore } = await getHardwareAbstractionLayer2();
297269
- for (const walletName of ["os", "user"]) {
297158
+ for (const walletName of [
297159
+ "os",
297160
+ "user"
297161
+ ]) {
297270
297162
  await findOrCreateWallet(seedPhraseStore, walletName);
297271
297163
  }
297272
- return { seedPhraseStore };
297273
- };
297274
- var findOrCreateWallet = async (seedPhraseStore, walletKind) => {
297164
+ return {
297165
+ seedPhraseStore
297166
+ };
297167
+ }, "genericBoot");
297168
+ var findOrCreateWallet = /* @__PURE__ */ __name$7(async (seedPhraseStore, walletKind) => {
297275
297169
  if (await seedPhraseStore.get(walletKind)) return;
297276
297170
  const mnemonic = HDWallet.generateMnemonic();
297277
297171
  await seedPhraseStore.set(walletKind, mnemonic);
297278
- };
297172
+ }, "findOrCreateWallet");
297279
297173
  var typedStore = store;
297280
297174
  var StorageKeyValueStore = class _StorageKeyValueStore {
297175
+ static {
297176
+ __name$7(this, "StorageKeyValueStore");
297177
+ }
297281
297178
  _storage;
297282
297179
  /**
297283
- * The namespace for the storage.
297284
- */
297180
+ * The namespace for the storage.
297181
+ */
297285
297182
  namespace;
297286
297183
  /**
297287
- * The type of storage.
297288
- */
297184
+ * The type of storage.
297185
+ */
297289
297186
  type;
297290
297187
  constructor(namespace = "bios", type = "local") {
297291
297188
  this.namespace = namespace;
@@ -297320,13 +297217,16 @@ var reactManagedStoreType = "local";
297320
297217
  var reactManagedStoreNamespace = "AppSetting";
297321
297218
  var reactManagedStoreKey = "seedPhrase";
297322
297219
  var LocalStorageKeyValueStore = class _LocalStorageKeyValueStore extends StorageKeyValueStore {
297220
+ static {
297221
+ __name$7(this, "LocalStorageKeyValueStore");
297222
+ }
297323
297223
  constructor(namespace = "bios") {
297324
297224
  super(namespace, "local");
297325
297225
  _LocalStorageKeyValueStore.migrateReactManagedOsSeedPhrase(namespace);
297326
297226
  }
297327
297227
  /**
297328
- * Migrate legacy OS seedPhrase (created in React) to new location which is managed by bios
297329
- */
297228
+ * Migrate legacy OS seedPhrase (created in React) to new location which is managed by bios
297229
+ */
297330
297230
  static migrateReactManagedOsSeedPhrase(namespace) {
297331
297231
  const legacyStore = StorageKeyValueStore.getStorage(reactManagedStoreType, reactManagedStoreNamespace);
297332
297232
  const seedPhrase = legacyStore.get(reactManagedStoreKey);
@@ -297339,19 +297239,23 @@ var LocalStorageKeyValueStore = class _LocalStorageKeyValueStore extends Storage
297339
297239
  };
297340
297240
 
297341
297241
  // src/hal/getHardwareAbstractionLayer.ts
297342
- var getHardwareAbstractionLayer = () => {
297242
+ var getHardwareAbstractionLayer = /* @__PURE__ */ __name$7(() => {
297343
297243
  const seedPhraseStore = new LocalStorageKeyValueStore("bios|seedPhrase");
297344
- return { seedPhraseStore };
297345
- };
297244
+ return {
297245
+ seedPhraseStore
297246
+ };
297247
+ }, "getHardwareAbstractionLayer");
297346
297248
 
297347
297249
  // src/external/getBiosExternalInterface.ts
297348
- var getBiosExternalInterface = async () => {
297250
+ var getBiosExternalInterface = /* @__PURE__ */ __name$7(async () => {
297349
297251
  const { seedPhraseStore } = await getHardwareAbstractionLayer();
297350
- return { seedPhraseStore };
297351
- };
297252
+ return {
297253
+ seedPhraseStore
297254
+ };
297255
+ }, "getBiosExternalInterface");
297352
297256
 
297353
297257
  // src/external/boot.ts
297354
- var boot = () => genericBoot(getBiosExternalInterface);
297258
+ var boot = /* @__PURE__ */ __name$7(() => genericBoot(getBiosExternalInterface), "boot");
297355
297259
 
297356
297260
  var __defProp$6 = Object.defineProperty;
297357
297261
  var __name$6 = (target, value) => __defProp$6(target, "name", { value, configurable: true });
@@ -297432,7 +297336,8 @@ var ValidatorActor = class extends Actor {
297432
297336
  finalizedArchivist: this.finalizedArchivist
297433
297337
  });
297434
297338
  }, {
297435
- timeBudgetLimit: 2e3
297339
+ ...this.context,
297340
+ timeBudgetLimit: 1500
297436
297341
  });
297437
297342
  },
297438
297343
  2e3,
@@ -298530,6 +298435,7 @@ var hostname$3 = "::";
298530
298435
  async function getServer$3(params) {
298531
298436
  const { config, node: providedNode } = params;
298532
298437
  const { port } = params.config.api;
298438
+ const { id: configuredChainId } = config.chain;
298533
298439
  const logger = assertEx(params.logger, () => "Logger is required to init server");
298534
298440
  const statusReporter = initStatusReporter({
298535
298441
  logger
@@ -298566,14 +298472,19 @@ async function getServer$3(params) {
298566
298472
  await pendingTransactionsArchivist.start();
298567
298473
  await pendingBlocksArchivist.start();
298568
298474
  const possibleHead = await findMostRecentBlock(readonlyChainArchivist);
298475
+ if (configuredChainId && possibleHead && possibleHead.chain !== configuredChainId) {
298476
+ throw new Error(`Configured chain ID (${configuredChainId}) does not match the existing chain ID (${possibleHead.chain})`);
298477
+ }
298478
+ let possibleChainId = configuredChainId;
298569
298479
  if (!possibleHead) {
298570
- const chainId2 = (await Account.random()).address;
298571
- const chain = await createBootstrapHead(wallet, chainId2, asAttoXL1(20000000000000000000000n), config.chain.genesisRewardAddress ?? wallet.address);
298480
+ possibleChainId = possibleChainId ?? (await Account.random()).address;
298481
+ const chain = await createBootstrapHead(wallet, possibleChainId, asAttoXL1(20000000000000000000000n), config.chain.genesisRewardAddress ?? wallet.address);
298572
298482
  const payloads = chain.flatMap((block) => flattenHydratedBlock(block));
298573
298483
  await writableChainArchivist.insert(payloads);
298574
298484
  }
298575
- const head = assertEx(await findMostRecentBlock(readonlyChainArchivist), () => "No blocks found in chain archivist");
298576
- const chainId = head.chain;
298485
+ const head = possibleHead ?? assertEx(await findMostRecentBlock(readonlyChainArchivist), () => "No blocks found in chain archivist");
298486
+ const chainId = assertEx(possibleChainId, () => "Chain ID could not be determined");
298487
+ assertEx(head.chain === chainId, () => "Chain ID does not match head block chain ID [init]");
298577
298488
  const mods = await node.resolve("*");
298578
298489
  await Promise.all(mods.map((mod) => {
298579
298490
  return mod.start?.() ?? (() => true);
@@ -298585,6 +298496,7 @@ async function getServer$3(params) {
298585
298496
  summaryMap: balancesSummaryMap,
298586
298497
  head: /* @__PURE__ */ __name$5(async function() {
298587
298498
  const head2 = assertEx(await findMostRecentBlock(writableChainArchivist));
298499
+ assertEx(head2.chain === chainId, () => "Chain ID does not match head block chain ID [balanceSummaryContext]");
298588
298500
  return [
298589
298501
  head2._hash,
298590
298502
  head2.block
@@ -298601,6 +298513,7 @@ async function getServer$3(params) {
298601
298513
  summaryMap: transfersSummaryMap,
298602
298514
  head: /* @__PURE__ */ __name$5(async function() {
298603
298515
  const head2 = assertEx(await findMostRecentBlock(writableChainArchivist));
298516
+ assertEx(head2.chain === chainId, () => "Chain ID does not match head block chain ID [transfersSummaryContext]");
298604
298517
  return [
298605
298518
  head2._hash,
298606
298519
  head2.block
@@ -298618,7 +298531,8 @@ async function getServer$3(params) {
298618
298531
  pendingBlocksArchivist,
298619
298532
  balanceSummaryContext,
298620
298533
  transfersSummaryContext,
298621
- node
298534
+ node,
298535
+ chainId
298622
298536
  });
298623
298537
  if (canUseEvmProvider({
298624
298538
  config
@@ -298638,6 +298552,10 @@ async function getServer$3(params) {
298638
298552
  contract,
298639
298553
  stakeEventsViewer
298640
298554
  }));
298555
+ locator.register(EvmChainContractViewer.factory(EvmChainContractViewer.dependencies, {
298556
+ address: asAddress(contractAddress, true),
298557
+ runner: provider
298558
+ }));
298641
298559
  }
298642
298560
  const apiContext = {
298643
298561
  ...initContext,
@@ -298926,6 +298844,7 @@ var ProducerActor = class _ProducerActor extends Actor {
298926
298844
  }
298927
298845
  });
298928
298846
  }, {
298847
+ ...this.context,
298929
298848
  timeBudgetLimit: 1e3
298930
298849
  });
298931
298850
  }
@@ -298957,6 +298876,7 @@ var ProducerActor = class _ProducerActor extends Actor {
298957
298876
  await this.submitRedeclarationIntent(currentBlock, redeclarationIntent);
298958
298877
  this._lastRedeclarationIntent = redeclarationIntent;
298959
298878
  }, {
298879
+ ...this.context,
298960
298880
  timeBudgetLimit: 1e3
298961
298881
  });
298962
298882
  }
@@ -298971,7 +298891,7 @@ var ProducerActor = class _ProducerActor extends Actor {
298971
298891
  this.logger?.log("Submitted redeclaration intent for producer:", this.account.address);
298972
298892
  }
298973
298893
  async validateCurrentBalance() {
298974
- const head = this._lastProducedBlock?.[0]._hash;
298894
+ const head = (await this.blockViewer.currentBlock())?.[0]?._hash;
298975
298895
  if (isDefined(head)) {
298976
298896
  const balances = await this.accountBalanceViewer.accountBalances([
298977
298897
  this.account.address
@@ -320450,7 +320370,7 @@ if (!nativeAccelerationDisabled) {
320450
320370
  }
320451
320371
  }
320452
320372
 
320453
- const version$2 = '5.67.1';
320373
+ const version$2 = '5.67.2';
320454
320374
 
320455
320375
  /**
320456
320376
  * Includes all the scripts needed by the queue and jobs.
@@ -341600,7 +341520,7 @@ var getApp$2 = /* @__PURE__ */ __name$3((node, config) => {
341600
341520
  app.use(standardErrors);
341601
341521
  return app;
341602
341522
  }, "getApp");
341603
- var EVMLiquidityBridgeTransactionCompletionMonitorSentinelConfigSchema = "network.xyo.sentinel.chain.evm.liquidity.bridge.transaction.completion.monitor.config";
341523
+ var EVMLiquidityBridgeTransactionCompletionMonitorSentinelConfigSchema = asSchema("network.xyo.sentinel.chain.evm.liquidity.bridge.transaction.completion.monitor.config", true);
341604
341524
  var defaultJobCheckIntervalMs = 15e3;
341605
341525
  var EVMLiquidityBridgeTransactionCompletionMonitorSentinel = class extends AbstractSentinel {
341606
341526
  static {
@@ -341742,7 +341662,7 @@ var EVMLiquidityBridgeTransactionCompletionMonitorSentinel = class extends Abstr
341742
341662
  return result;
341743
341663
  }
341744
341664
  };
341745
- var XL1TransactionCompletionMonitorSentinelConfigSchema = "network.xyo.sentinel.chain.transaction.completion.monitor.config";
341665
+ var XL1TransactionCompletionMonitorSentinelConfigSchema = asSchema("network.xyo.sentinel.chain.transaction.completion.monitor.config", true);
341746
341666
  var defaultJobCheckIntervalMs2 = 15e3;
341747
341667
  var XL1TransactionCompletionMonitorSentinel = class extends AbstractSentinel {
341748
341668
  static {
@@ -342786,7 +342706,7 @@ var getApp = /* @__PURE__ */ __name$1((node, config) => {
342786
342706
  app.use(standardErrors);
342787
342707
  return app;
342788
342708
  }, "getApp");
342789
- var ChainStepRewardsClaimSentinelConfigSchema = "network.xyo.sentinel.chain.step.rewards.claim.config";
342709
+ var ChainStepRewardsClaimSentinelConfigSchema = asSchema("network.xyo.sentinel.chain.step.rewards.claim.config", true);
342790
342710
  var defaultStepClaimIntervalMs = 15e3;
342791
342711
  var scope = "reward-escrow";
342792
342712
  var RewardableSteps2 = [
@@ -342957,7 +342877,7 @@ var ChainStepRewardsClaimSentinel = class extends AbstractSentinel {
342957
342877
  if (isDefined(result)) return result[1];
342958
342878
  }
342959
342879
  };
342960
- var DerivedAddressWalletTransferSentinelConfigSchema = "network.xyo.sentinel.chain.derived.address.wallet.transfer.config";
342880
+ var DerivedAddressWalletTransferSentinelConfigSchema = asSchema("network.xyo.sentinel.chain.derived.address.wallet.transfer.config", true);
342961
342881
  var scope2 = "reward-escrow";
342962
342882
  var ConfirmedClaimValuesZod = z.object({
342963
342883
  "From": EthAddressZod,
@@ -343140,9 +343060,8 @@ var getGateway = /* @__PURE__ */ __name$1(async (config) => {
343140
343060
  locator.register(SimpleXyoSigner.factory(SimpleXyoSigner.dependencies, {
343141
343061
  account
343142
343062
  }));
343143
- const connection = await locator.getInstance(XyoConnectionMoniker);
343144
- const signer = await locator.getInstance(XyoSignerMoniker);
343145
- const gateway = new SimpleXyoGatewayRunner(connection, signer);
343063
+ locator.register(SimpleXyoGatewayRunner.factory(SimpleXyoGatewayRunner.dependencies));
343064
+ const gateway = await locator.getInstance(SimpleXyoGatewayRunner.defaultMoniker);
343146
343065
  return gateway;
343147
343066
  }, "getGateway");
343148
343067
 
@@ -350244,7 +350163,7 @@ var waitForHostPort = /* @__PURE__ */ __name((host, port) => {
350244
350163
 
350245
350164
  // src/runCLI.ts
350246
350165
  var configuration;
350247
- var version = isDefined("1.18.3") ? "1.18.3" : "unknown";
350166
+ var version = isDefined("1.18.5") ? "1.18.5" : "unknown";
350248
350167
  var getContextFromConfig = /* @__PURE__ */ __name(async (configuration2) => {
350249
350168
  const logger = initLogger(configuration2);
350250
350169
  const orchestrator = await Orchestrator.create({