@xyo-network/xl1-protocol-sdk 3.0.16 → 3.1.1

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.
@@ -43,7 +43,10 @@ export interface ResolveProvidersOptions {
43
43
  * Plans which providers to register for a given set of needs.
44
44
  *
45
45
  * 1. Fixpoint-expand monikers from selected descriptor `dependencies`.
46
- * 2. Require `providerBindings[moniker].connection` for every moniker.
46
+ * 2. Require `providerBindings[moniker].connection` for every connection-consuming
47
+ * moniker. A moniker satisfied by a single wildcard candidate consumes no
48
+ * connection of its own (it delegates storage to its dependencies) and binds
49
+ * directly, with no binding required.
47
50
  * 3. Filter candidates by bound connection type.
48
51
  * 4. Throw when zero or multiple candidates remain.
49
52
  * 5. Toposort selected descriptors using `dependencies`.
@@ -1 +1 @@
1
- {"version":3,"file":"resolveProviders.d.ts","sourceRoot":"","sources":["../../../src/capabilities/resolveProviders.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAEtE,OAAO,KAAK,EAAE,gBAAgB,EAAkB,MAAM,qCAAqC,CAAA;AAE3F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAEvD,MAAM,WAAW,cAAc;IAC7B,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAA;IAC5D,uDAAuD;IACvD,QAAQ,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAA;IAChD,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAA;CACjD;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAA;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;gBAEvB,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE;CAOjE;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;gBAErB,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,kBAAkB,EAAE;CAShF;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;gBAErB,OAAO,EAAE,eAAe;CAKrC;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;gBAErB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM;CAQ7D;AAED,UAAU,mBAAmB;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAA;IACjE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAA;CAC5F;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,WAAW,CAAC,eAAe,CAAC,EACnC,UAAU,EAAE,SAAS,kBAAkB,EAAE,EACzC,OAAO,GAAE,uBAA4B,GACpC,cAAc,CAsBhB"}
1
+ {"version":3,"file":"resolveProviders.d.ts","sourceRoot":"","sources":["../../../src/capabilities/resolveProviders.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AAEtE,OAAO,KAAK,EAAE,gBAAgB,EAAkB,MAAM,qCAAqC,CAAA;AAE3F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAEvD,MAAM,WAAW,cAAc;IAC7B,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAA;IAC5D,uDAAuD;IACvD,QAAQ,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAA;IAChD,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAA;CACjD;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAA;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;gBAEvB,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE;CAOjE;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;gBAErB,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,kBAAkB,EAAE;CAShF;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;gBAErB,OAAO,EAAE,eAAe;CAKrC;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;gBAErB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM;CAQ7D;AAED,UAAU,mBAAmB;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAA;IACjE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAA;CAC5F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,WAAW,CAAC,eAAe,CAAC,EACnC,UAAU,EAAE,SAAS,kBAAkB,EAAE,EACzC,OAAO,GAAE,uBAA4B,GACpC,cAAc,CAsBhB"}
@@ -1520,12 +1520,28 @@ function expandBindingClosure(wanted, bindings, selectedById, candidatesByMonike
1520
1520
  }
1521
1521
  }
1522
1522
  function bindMoniker(moniker, wanted, bindings, selectedById, candidatesByMoniker, rejected, allCandidates, options) {
1523
+ const group = candidatesByMoniker.get(moniker) ?? [];
1524
+ const winner = bindsNoConnection(group) ? group[0] : selectByConnection(moniker, group, rejected, allCandidates, options);
1525
+ bindings[moniker] = winner.id;
1526
+ selectedById.set(winner.id, winner);
1527
+ let grew = false;
1528
+ for (const dep of winner.dependencies ?? []) {
1529
+ if (!wanted.has(dep)) {
1530
+ wanted.add(dep);
1531
+ grew = true;
1532
+ }
1533
+ }
1534
+ return grew;
1535
+ }
1536
+ function bindsNoConnection(group) {
1537
+ return group.length === 1 && descriptorConnectionTypes(group[0]).length === 0;
1538
+ }
1539
+ function selectByConnection(moniker, group, rejected, allCandidates, options) {
1523
1540
  const connectionName = connectionNameForMoniker(moniker, options);
1524
1541
  const connection = options.connections?.[connectionName];
1525
1542
  if (!isDefined4(connection)) {
1526
1543
  throw new UnknownConnectionError(moniker, connectionName);
1527
1544
  }
1528
- const group = candidatesByMoniker.get(moniker) ?? [];
1529
1545
  const { filtered, rejected: connectionRejected } = filterByConnection(
1530
1546
  group,
1531
1547
  connection.type,
@@ -1538,17 +1554,7 @@ function bindMoniker(moniker, wanted, bindings, selectedById, candidatesByMonike
1538
1554
  if (filtered.length > 1) {
1539
1555
  throw new AmbiguousProviderError(moniker, filtered);
1540
1556
  }
1541
- const winner = filtered[0];
1542
- bindings[moniker] = winner.id;
1543
- selectedById.set(winner.id, winner);
1544
- let grew = false;
1545
- for (const dep of winner.dependencies ?? []) {
1546
- if (!wanted.has(dep)) {
1547
- wanted.add(dep);
1548
- grew = true;
1549
- }
1550
- }
1551
- return grew;
1557
+ return filtered[0];
1552
1558
  }
1553
1559
  function connectionNameForMoniker(moniker, options) {
1554
1560
  const binding = options.providerBindings?.[moniker];
@@ -6781,41 +6787,13 @@ RestSyncViewer = __decorateClass([
6781
6787
  creatableProvider()
6782
6788
  ], RestSyncViewer);
6783
6789
 
6784
- // src/simple/systemStatus/ConsoleSystemStatusPublisher.ts
6785
- import { assertEx as assertEx50 } from "@xylabs/sdk-js";
6786
- import { SystemStatusPublisherMoniker } from "@xyo-network/xl1-protocol-lib";
6787
- var ConsoleSystemStatusPublisher = class extends AbstractCreatableProvider {
6788
- moniker = ConsoleSystemStatusPublisher.defaultMoniker;
6789
- async startHandler() {
6790
- await super.startHandler();
6791
- const runner = assertEx50(
6792
- this.context.statusReporter,
6793
- () => "ConsoleSystemStatusPublisher requires a SystemStatusRunner (context.statusReporter)"
6794
- );
6795
- runner.onGlobalTransition({ to: "started" }, () => {
6796
- this.logger?.info("All services started.");
6797
- });
6798
- runner.onGlobalTransition({ to: "error" }, () => {
6799
- this.logger?.error("A service entered an error state.");
6800
- });
6801
- }
6802
- };
6803
- __publicField(ConsoleSystemStatusPublisher, "connectionTypes", ["memory"]);
6804
- __publicField(ConsoleSystemStatusPublisher, "defaultMoniker", SystemStatusPublisherMoniker);
6805
- __publicField(ConsoleSystemStatusPublisher, "dependencies", []);
6806
- __publicField(ConsoleSystemStatusPublisher, "monikers", [SystemStatusPublisherMoniker]);
6807
- __publicField(ConsoleSystemStatusPublisher, "surface", "node");
6808
- ConsoleSystemStatusPublisher = __decorateClass([
6809
- creatableProvider()
6810
- ], ConsoleSystemStatusPublisher);
6811
-
6812
6790
  // src/simple/systemStatus/SimpleSystemStatusViewer.ts
6813
- import { assertEx as assertEx51 } from "@xylabs/sdk-js";
6791
+ import { assertEx as assertEx50 } from "@xylabs/sdk-js";
6814
6792
  import { SystemStatusViewerMoniker } from "@xyo-network/xl1-protocol-lib";
6815
6793
  var SimpleSystemStatusViewer = class extends AbstractCreatableProvider {
6816
6794
  moniker = SimpleSystemStatusViewer.defaultMoniker;
6817
6795
  get runner() {
6818
- return assertEx51(this.context.statusReporter, () => "SystemStatusViewer requires a SystemStatusRunner (context.statusReporter)");
6796
+ return assertEx50(this.context.statusReporter, () => "SystemStatusViewer requires a SystemStatusRunner (context.statusReporter)");
6819
6797
  }
6820
6798
  getGlobalStatus() {
6821
6799
  return this.runner.getGlobalStatus();
@@ -6845,7 +6823,7 @@ SimpleSystemStatusViewer = __decorateClass([
6845
6823
  // src/simple/timeSync2/SimpleTimeSyncViewer.ts
6846
6824
  import {
6847
6825
  asHash as asHash5,
6848
- assertEx as assertEx52,
6826
+ assertEx as assertEx51,
6849
6827
  isDefined as isDefined22
6850
6828
  } from "@xylabs/sdk-js";
6851
6829
  import {
@@ -6867,7 +6845,7 @@ var SimpleTimeSyncViewer = class extends AbstractCreatableProvider {
6867
6845
  async convertTime(fromDomain, toDomain, from) {
6868
6846
  switch (fromDomain) {
6869
6847
  case "xl1": {
6870
- const [block, payloads] = assertEx52(await this.blockViewer.blockByNumber(asXL1BlockNumber11(from, true)), () => "Block not found");
6848
+ const [block, payloads] = assertEx51(await this.blockViewer.blockByNumber(asXL1BlockNumber11(from, true)), () => "Block not found");
6871
6849
  const timeSchemaIndex = block.payload_schemas.indexOf(TimeSchema);
6872
6850
  const hash = timeSchemaIndex === -1 ? void 0 : block.payload_hashes[timeSchemaIndex];
6873
6851
  const timePayload = asTimePayload2(isDefined22(hash) ? payloads.find((p) => p._hash === hash) : void 0);
@@ -6923,10 +6901,10 @@ var SimpleTimeSyncViewer = class extends AbstractCreatableProvider {
6923
6901
  return [Date.now(), null];
6924
6902
  }
6925
6903
  case "ethereum": {
6926
- const provider = assertEx52(this.ethProvider, () => "Ethereum provider not configured");
6904
+ const provider = assertEx51(this.ethProvider, () => "Ethereum provider not configured");
6927
6905
  const blockNumber = await provider.getBlockNumber() ?? 0;
6928
6906
  const block = await provider.getBlock(blockNumber);
6929
- const blockHash = asHash5(assertEx52(block?.hash, () => "Block hash not found"), true);
6907
+ const blockHash = asHash5(assertEx51(block?.hash, () => "Block hash not found"), true);
6930
6908
  return [blockNumber, blockHash];
6931
6909
  }
6932
6910
  default: {
@@ -6941,7 +6919,7 @@ var SimpleTimeSyncViewer = class extends AbstractCreatableProvider {
6941
6919
  // this is for the previous block
6942
6920
  xl1,
6943
6921
  // this is for the previous block
6944
- xl1Hash: assertEx52(xl1Hash, () => "No xl1 hash available from time sync service"),
6922
+ xl1Hash: assertEx51(xl1Hash, () => "No xl1 hash available from time sync service"),
6945
6923
  epoch: Date.now()
6946
6924
  };
6947
6925
  if (isDefined22(this.ethProvider)) {
@@ -6963,7 +6941,7 @@ SimpleTimeSyncViewer = __decorateClass([
6963
6941
  ], SimpleTimeSyncViewer);
6964
6942
 
6965
6943
  // src/simple/transactionValidation/SimpleTransactionValidationViewer.ts
6966
- import { assertEx as assertEx53 } from "@xylabs/sdk-js";
6944
+ import { assertEx as assertEx52 } from "@xylabs/sdk-js";
6967
6945
  import { PayloadBuilder as PayloadBuilder24 } from "@xyo-network/sdk-js";
6968
6946
  import {
6969
6947
  AccountBalanceViewerMoniker as AccountBalanceViewerMoniker3,
@@ -7017,7 +6995,7 @@ var SimpleTransactionValidationViewer = class extends AbstractCreatableProvider
7017
6995
  let head;
7018
6996
  if (isChainQualifiedHeadConfig6(config)) {
7019
6997
  const headBlockResult = await this.blockViewer.blockByHash(config.head);
7020
- head = headBlockResult == null ? assertEx53(
6998
+ head = headBlockResult == null ? assertEx52(
7021
6999
  void 0,
7022
7000
  () => `Specified a head that is not in the chain [${config.head}]`
7023
7001
  ) : headBlockResult[0];
@@ -7089,7 +7067,7 @@ SimpleTransactionValidationViewer = __decorateClass([
7089
7067
  ], SimpleTransactionValidationViewer);
7090
7068
 
7091
7069
  // src/simple/TransactionViewer/SimpleTransactionViewer.ts
7092
- import { assertEx as assertEx54, exists as exists10 } from "@xylabs/sdk-js";
7070
+ import { assertEx as assertEx53, exists as exists10 } from "@xylabs/sdk-js";
7093
7071
  import { BoundWitnessSchema } from "@xyo-network/sdk-js";
7094
7072
  import {
7095
7073
  asSignedHydratedTransactionWithHashMeta as asSignedHydratedTransactionWithHashMeta2,
@@ -7106,7 +7084,7 @@ var SimpleTransactionViewer = class extends AbstractCreatableProvider {
7106
7084
  }
7107
7085
  async byBlockHashAndIndex(blockHash, transactionIndex) {
7108
7086
  return await this.spanAsync("byBlockHashAndIndex", async () => {
7109
- assertEx54(transactionIndex >= 0, () => "transactionIndex must be greater than or equal to 0");
7087
+ assertEx53(transactionIndex >= 0, () => "transactionIndex must be greater than or equal to 0");
7110
7088
  try {
7111
7089
  const block = await this.blockViewer.blockByHash(blockHash);
7112
7090
  if (!block) return null;
@@ -7171,7 +7149,7 @@ SimpleTransactionViewer = __decorateClass([
7171
7149
 
7172
7150
  // src/simple/windowedBlock/SimpleWindowedBlockViewer.ts
7173
7151
  import {
7174
- assertEx as assertEx55,
7152
+ assertEx as assertEx54,
7175
7153
  exists as exists11,
7176
7154
  isNull as isNull2
7177
7155
  } from "@xylabs/sdk-js";
@@ -7253,7 +7231,7 @@ var SimpleWindowedBlockViewer = class extends AbstractCreatableProvider {
7253
7231
  }
7254
7232
  async createHandler() {
7255
7233
  await super.createHandler();
7256
- this._blockViewer = assertEx55(
7234
+ this._blockViewer = assertEx54(
7257
7235
  this.params.blockViewer ?? await this.locator.getInstance(BlockViewerMoniker7),
7258
7236
  () => "BlockViewer instance is required"
7259
7237
  );
@@ -7262,13 +7240,13 @@ var SimpleWindowedBlockViewer = class extends AbstractCreatableProvider {
7262
7240
  this._transactionHashMap = new MemoryMap2();
7263
7241
  }
7264
7242
  currentBlock() {
7265
- return assertEx55(this._chain.at(-1));
7243
+ return assertEx54(this._chain.at(-1));
7266
7244
  }
7267
7245
  currentBlockHash() {
7268
- return assertEx55(this._chain.at(-1)?.[0]._hash);
7246
+ return assertEx54(this._chain.at(-1)?.[0]._hash);
7269
7247
  }
7270
7248
  currentBlockNumber() {
7271
- return assertEx55(this._chain.at(-1)?.[0].block);
7249
+ return assertEx54(this._chain.at(-1)?.[0].block);
7272
7250
  }
7273
7251
  async payloadByHash(hash) {
7274
7252
  const payloads = await this.payloadsByHash([hash]);
@@ -7363,7 +7341,16 @@ var LoggerStatusReporter = class {
7363
7341
  };
7364
7342
 
7365
7343
  // src/status/SimpleSystemStatusRunner.ts
7366
- import { SystemStatusRunnerMoniker } from "@xyo-network/xl1-protocol-lib";
7344
+ import {
7345
+ SystemStatusPublisherMoniker,
7346
+ SystemStatusRunnerMoniker,
7347
+ SystemStatusViewerMoniker as SystemStatusViewerMoniker2
7348
+ } from "@xyo-network/xl1-protocol-lib";
7349
+ var STATUS_INFRASTRUCTURE_NAMES = /* @__PURE__ */ new Set([
7350
+ SystemStatusRunnerMoniker,
7351
+ SystemStatusViewerMoniker2,
7352
+ SystemStatusPublisherMoniker
7353
+ ]);
7367
7354
  var statusPriority = {
7368
7355
  error: 0,
7369
7356
  stopped: 1,
@@ -7396,7 +7383,7 @@ var SimpleSystemStatusRunner = class extends LoggerStatusReporter {
7396
7383
  transitions = [];
7397
7384
  updatedAtMap = {};
7398
7385
  getGlobalStatus() {
7399
- const statuses = Object.values(this.statusMap);
7386
+ const statuses = Object.entries(this.statusMap).filter(([name]) => !STATUS_INFRASTRUCTURE_NAMES.has(name)).map(([, status]) => status);
7400
7387
  if (statuses.length === 0) return SENTINEL_STATUS;
7401
7388
  return reduceToMinimumStatus(statuses);
7402
7389
  }
@@ -7476,7 +7463,7 @@ var SimpleSystemStatusRunner = class extends LoggerStatusReporter {
7476
7463
  };
7477
7464
 
7478
7465
  // src/test/buildRandomChain.ts
7479
- import { asAddress as asAddress2, assertEx as assertEx58 } from "@xylabs/sdk-js";
7466
+ import { asAddress as asAddress2, assertEx as assertEx57 } from "@xylabs/sdk-js";
7480
7467
  import {
7481
7468
  Account as Account4,
7482
7469
  asSchema as asSchema9,
@@ -7495,7 +7482,7 @@ import {
7495
7482
  } from "@xyo-network/xl1-protocol-lib";
7496
7483
 
7497
7484
  // src/test/buildBlock.ts
7498
- import { assertEx as assertEx56, isDefined as isDefined23 } from "@xylabs/sdk-js";
7485
+ import { assertEx as assertEx55, isDefined as isDefined23 } from "@xylabs/sdk-js";
7499
7486
  import {
7500
7487
  asAnyPayload as asAnyPayload5,
7501
7488
  BoundWitnessBuilder as BoundWitnessBuilder4,
@@ -7578,7 +7565,7 @@ function buildStepHashes(blockNumber, inStepHashes, previousBlockHash, chainStep
7578
7565
  const completedStepReward = calculateCompletedStepReward(i, stepRewardPoolBalance);
7579
7566
  completedStepRewardTransfers.push(createTransferPayload(chainStepRewardAddress2, { [completedStepRewardHolderAddress]: completedStepReward }));
7580
7567
  }
7581
- step_hashes.push(assertEx56(previousBlockHash, () => `Previous block hash is required for step ${step} at block ${blockNumber}`));
7568
+ step_hashes.push(assertEx55(previousBlockHash, () => `Previous block hash is required for step ${step} at block ${blockNumber}`));
7582
7569
  } else if (isDefined23(inStepHashes.at(i))) {
7583
7570
  step_hashes.push(inStepHashes[i]);
7584
7571
  }
@@ -7632,7 +7619,7 @@ async function buildBlock(options) {
7632
7619
  protocol
7633
7620
  }).meta({ $epoch: Date.now(), $signatures: [] }).signers(signers).payloads(await PayloadBuilder25.addStorageMeta(payloads));
7634
7621
  const [bw, txPayloads] = await builder.build();
7635
- assertEx56(isBlockBoundWitness(bw), () => "Build of BlockBoundWitness failed");
7622
+ assertEx55(isBlockBoundWitness(bw), () => "Build of BlockBoundWitness failed");
7636
7623
  return [await PayloadBuilder25.addStorageMeta(bw), txPayloads.map((p) => asAnyPayload5(p, true))];
7637
7624
  }
7638
7625
 
@@ -7653,7 +7640,7 @@ async function buildNextBlock(previousBlock, txs, blockPayloads, signers, chainS
7653
7640
  }
7654
7641
 
7655
7642
  // src/test/buildRandomGenesisBlock.ts
7656
- import { asAddress, assertEx as assertEx57 } from "@xylabs/sdk-js";
7643
+ import { asAddress, assertEx as assertEx56 } from "@xylabs/sdk-js";
7657
7644
  import {
7658
7645
  Account as Account3,
7659
7646
  asAnyPayload as asAnyPayload6,
@@ -7697,7 +7684,7 @@ var buildRandomTransaction = async (chain, payloads, account, nbf = asXL1BlockNu
7697
7684
  };
7698
7685
 
7699
7686
  // src/test/buildRandomGenesisBlock.ts
7700
- var TestChainId = assertEx57(asAddress("c5fe2e6F6841Cbab12d8C0618Be2DF8C6156cC44"));
7687
+ var TestChainId = assertEx56(asAddress("c5fe2e6F6841Cbab12d8C0618Be2DF8C6156cC44"));
7701
7688
 
7702
7689
  // src/test/createGenesisBlock.ts
7703
7690
  import { PayloadBuilder as PayloadBuilder28 } from "@xyo-network/sdk-js";
@@ -7752,7 +7739,7 @@ var createGenesisBlock = async (initialBlockProducer, nextContractAddress, genes
7752
7739
  };
7753
7740
 
7754
7741
  // src/test/buildRandomChain.ts
7755
- var TestGenesisBlockRewardAddress = assertEx58(asAddress2("fa7f0bb865a4bfff3d5e2c726d3e063297014da9"));
7742
+ var TestGenesisBlockRewardAddress = assertEx57(asAddress2("fa7f0bb865a4bfff3d5e2c726d3e063297014da9"));
7756
7743
  var buildRandomChain = async (blockProducer, count = 10, previousBlock, chainId, transactionAccount, receiverAddresses) => {
7757
7744
  const chainIdToUse = chainId ?? TestChainId;
7758
7745
  const blocks = [];
@@ -7796,7 +7783,7 @@ var buildRandomChain = async (blockProducer, count = 10, previousBlock, chainId,
7796
7783
  receiverAddress
7797
7784
  ));
7798
7785
  }
7799
- const previousBlock2 = assertEx58(lastBlock?.[0], () => new Error("No last block"));
7786
+ const previousBlock2 = assertEx57(lastBlock?.[0], () => new Error("No last block"));
7800
7787
  const block = await buildNextBlock(previousBlock2, txs, [], [blockProducer], transactionAccountToUse.address);
7801
7788
  blocks.push(block);
7802
7789
  remaining = remaining - 1;
@@ -7857,13 +7844,13 @@ function getTestProviderContext2(config) {
7857
7844
  }
7858
7845
 
7859
7846
  // src/time/primitives/xl1BlockNumberToEthBlockNumber.ts
7860
- import { assertEx as assertEx59 } from "@xylabs/sdk-js";
7847
+ import { assertEx as assertEx58 } from "@xylabs/sdk-js";
7861
7848
  import { asTimePayload as asTimePayload3, TimeSchema as TimeSchema2 } from "@xyo-network/xl1-protocol-lib";
7862
7849
  async function xl1BlockNumberToEthBlockNumber(context, xl1BlockNumber) {
7863
7850
  const blockHash = await hashFromBlockNumber(context, xl1BlockNumber);
7864
7851
  const hydratedBlock = await hydrateBlock(context, blockHash);
7865
7852
  const timePayload = asTimePayload3(hydratedBlock[1].find((p) => p.schema === TimeSchema2), { required: true });
7866
- return assertEx59(timePayload.ethereum, () => "No ethereum timestamp found on block");
7853
+ return assertEx58(timePayload.ethereum, () => "No ethereum timestamp found on block");
7867
7854
  }
7868
7855
 
7869
7856
  // src/validation/lib/isLocalhost.ts
@@ -7929,7 +7916,6 @@ export {
7929
7916
  ConfigZod,
7930
7917
  ConnectionConfigZod,
7931
7918
  ConnectionsConfigZod,
7932
- ConsoleSystemStatusPublisher,
7933
7919
  CreatableProviderContextZod,
7934
7920
  DEFAULT_BACKOFF_MS,
7935
7921
  DEFAULT_MAX_ATTEMPTS,