@xyo-network/xl1-protocol-sdk 2.0.5 → 2.0.7

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 (39) hide show
  1. package/dist/neutral/block/hydrate/createBoundWitnessHydrator.d.ts +20 -20
  2. package/dist/neutral/eip-712/Payloads/EIP712Data.d.ts +1 -1
  3. package/dist/neutral/eip-712/Payloads/EIP712Data.d.ts.map +1 -1
  4. package/dist/neutral/eip-712/Payloads/EIP712Signature.d.ts +1 -1
  5. package/dist/neutral/eip-712/Payloads/EIP712Signature.d.ts.map +1 -1
  6. package/dist/neutral/index.mjs +189 -132
  7. package/dist/neutral/index.mjs.map +4 -4
  8. package/dist/neutral/payloads/AddressPairPayload.d.ts +1 -1
  9. package/dist/neutral/payloads/AddressPairPayload.d.ts.map +1 -1
  10. package/dist/neutral/primitives/uncle/findUncles.d.ts +5 -5
  11. package/dist/neutral/simple/accountBalance/SimpleAccountBalanceViewer.d.ts +6 -6
  12. package/dist/neutral/simple/block/SimpleBlockViewer.d.ts +3 -3
  13. package/dist/neutral/simple/datalake/AbstractRestDataLake.d.ts +1 -1
  14. package/dist/neutral/simple/datalake/AbstractRestDataLake.d.ts.map +1 -1
  15. package/dist/neutral/simple/finalization/SimpleFinalizationViewer.d.ts +3 -3
  16. package/dist/neutral/simple/index.d.ts +1 -0
  17. package/dist/neutral/simple/index.d.ts.map +1 -1
  18. package/dist/neutral/simple/network/SimpleXyoNetwork.d.ts.map +1 -1
  19. package/dist/neutral/simple/signer/SimpleXyoSigner.d.ts.map +1 -1
  20. package/dist/neutral/simple/sync/RestSyncViewer.d.ts +22 -0
  21. package/dist/neutral/simple/sync/RestSyncViewer.d.ts.map +1 -0
  22. package/dist/neutral/simple/sync/index.d.ts +2 -0
  23. package/dist/neutral/simple/sync/index.d.ts.map +1 -0
  24. package/dist/neutral/simple/windowedBlock/SimpleWindowedBlockViewer.d.ts +15 -15
  25. package/dist/neutral/summary/model/BalancesStepSummary.d.ts +1 -1
  26. package/dist/neutral/summary/model/BalancesStepSummary.d.ts.map +1 -1
  27. package/dist/neutral/summary/model/SchemasStepSummary.d.ts +1 -1
  28. package/dist/neutral/summary/model/SchemasStepSummary.d.ts.map +1 -1
  29. package/dist/neutral/summary/model/TransfersSummary.d.ts +1 -1
  30. package/dist/neutral/summary/model/TransfersSummary.d.ts.map +1 -1
  31. package/dist/neutral/test/buildRandomTransaction.d.ts.map +1 -1
  32. package/dist/neutral/test/createGenesisBlock.d.ts.map +1 -1
  33. package/dist/neutral/test/createProducerChainStakeIntentTransaction.d.ts.map +1 -1
  34. package/dist/neutral/test/index.mjs +73 -70
  35. package/dist/neutral/test/index.mjs.map +3 -3
  36. package/dist/neutral/transaction/TransactionBuilder.d.ts +6 -6
  37. package/dist/neutral/transaction/TransactionBuilder.d.ts.map +1 -1
  38. package/dist/neutral/transaction/signTransaction.d.ts +3 -3
  39. package/package.json +19 -61
@@ -12,6 +12,7 @@ var __decorateClass = (decorators, target, key, kind) => {
12
12
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
13
13
 
14
14
  // src/test/buildRandomTransaction.ts
15
+ import { asAddress as asAddress2 } from "@xylabs/sdk-js";
15
16
  import { Account } from "@xyo-network/sdk-js";
16
17
  import { asXL1BlockNumber, isAllowedBlockPayload } from "@xyo-network/xl1-protocol-lib";
17
18
 
@@ -29,7 +30,7 @@ function createTransferPayload(from, transfers, context) {
29
30
  }
30
31
 
31
32
  // src/transaction/buildTransaction.ts
32
- import { assertEx, toHex as toHex2 } from "@xylabs/sdk-js";
33
+ import { asAddress, toHex as toHex2 } from "@xylabs/sdk-js";
33
34
  import {
34
35
  asAnyPayload,
35
36
  BoundWitnessBuilder,
@@ -58,7 +59,7 @@ async function buildTransaction(chain, onChainPayloads, offChainPayloads, signer
58
59
  }
59
60
  const fields = {
60
61
  ...txBoundWitnessFields,
61
- from: from ?? (Array.isArray(signer) ? assertEx(signer.at(0)?.address) : signer.address)
62
+ from: from ?? asAddress(Array.isArray(signer) ? signer.at(0)?.address : signer.address, true)
62
63
  };
63
64
  if (script.length > 0) {
64
65
  fields.script = script;
@@ -74,7 +75,7 @@ var buildRandomTransaction = async (chain, payloads, account, nbf = asXL1BlockNu
74
75
  const sender = account ?? await Account.random();
75
76
  if (elevatedPayloads.length === 0) {
76
77
  const receiver = receiverAddress ?? (await Account.random()).address;
77
- const transferPayload = createTransferPayload(sender.address, { [receiver]: 1n });
78
+ const transferPayload = createTransferPayload(asAddress2(sender.address, true), { [receiver]: 1n });
78
79
  elevatedPayloads.push(transferPayload);
79
80
  }
80
81
  const hydratedTransaction = await buildTransaction(chain, elevatedPayloads, additionalPayloads, sender, nbf, exp);
@@ -87,12 +88,12 @@ import { XYO_ZERO_ADDRESS as XYO_ZERO_ADDRESS3 } from "@xyo-network/xl1-protocol
87
88
  // src/CreatableProvider/AbstractCreatableProvider.ts
88
89
  import {
89
90
  AbstractCreatable,
90
- assertEx as assertEx3,
91
+ assertEx as assertEx2,
91
92
  IdLogger
92
93
  } from "@xylabs/sdk-js";
93
94
 
94
95
  // src/CreatableProvider/ProviderFactory.ts
95
- import { assertEx as assertEx2 } from "@xylabs/sdk-js";
96
+ import { assertEx } from "@xylabs/sdk-js";
96
97
  function providerFactoryDescription(factory, labels) {
97
98
  return `${factory.providerName}:${factory.defaultMoniker}:${JSON.stringify(labels ?? factory.labels ?? {})}`;
98
99
  }
@@ -113,7 +114,7 @@ var ProviderFactory = class _ProviderFactory {
113
114
  this.dependencies = dependencies;
114
115
  this.monikers = creatableProvider2.monikers;
115
116
  this.scope = scope;
116
- assertEx2(this.monikers.includes(this.defaultMoniker), () => "defaultMoniker must be in monikers");
117
+ assertEx(this.monikers.includes(this.defaultMoniker), () => "defaultMoniker must be in monikers");
117
118
  this.labels = Object.assign({}, creatableProvider2.labels ?? {}, labels ?? {});
118
119
  this.providerName = creatableProvider2.name;
119
120
  this._uniqueId = Symbol(providerFactoryDescription(this));
@@ -141,7 +142,7 @@ var ProviderFactory = class _ProviderFactory {
141
142
  break;
142
143
  }
143
144
  case "context": {
144
- const context = assertEx2(
145
+ const context = assertEx(
145
146
  params?.context,
146
147
  () => "Context is required for context-scoped providers"
147
148
  );
@@ -162,7 +163,7 @@ var ProviderFactory = class _ProviderFactory {
162
163
  scopeObject[this.resolvedMoniker] = resultPromise;
163
164
  const result = await resultPromise;
164
165
  if (start) {
165
- assertEx2(await result.start(), () => `Failed to start provider instance [${this.resolvedMoniker}]`);
166
+ assertEx(await result.start(), () => `Failed to start provider instance [${this.resolvedMoniker}]`);
166
167
  }
167
168
  return result;
168
169
  }
@@ -207,9 +208,9 @@ var AbstractCreatableProvider = class extends AbstractCreatable {
207
208
  return factory;
208
209
  }
209
210
  static async paramsHandler(params = {}) {
210
- const context = assertEx3(params.context, () => new Error("Context is required"));
211
- const config = assertEx3(context.config, () => new Error("Context config is required"));
212
- const locator = assertEx3(context.locator, () => new Error("Context locator is required"));
211
+ const context = assertEx2(params.context, () => new Error("Context is required"));
212
+ const config = assertEx2(context.config, () => new Error("Context config is required"));
213
+ const locator = assertEx2(context.locator, () => new Error("Context locator is required"));
213
214
  return await super.paramsHandler({
214
215
  ...params,
215
216
  statusReporter: params.statusReporter ?? context.statusReporter,
@@ -305,7 +306,7 @@ var hasLabels = (factory) => {
305
306
 
306
307
  // src/CreatableProvider/ProviderFactoryLocator.ts
307
308
  import { hasAllLabels } from "@xylabs/sdk-js";
308
- import { assertEx as assertEx4 } from "@xylabs/sdk-js";
309
+ import { assertEx as assertEx3 } from "@xylabs/sdk-js";
309
310
  var ProviderFactoryLocator = class _ProviderFactoryLocator {
310
311
  _context;
311
312
  _registry;
@@ -337,7 +338,7 @@ var ProviderFactoryLocator = class _ProviderFactoryLocator {
337
338
  this._frozen = true;
338
339
  }
339
340
  async getInstance(moniker, { start = true, labels } = {}) {
340
- return assertEx4(
341
+ return assertEx3(
341
342
  await this.tryGetInstance(moniker, { start, labels }),
342
343
  () => `No provider instance for the supplied config moniker [${moniker}]${labels ? ` & labels [${JSON.stringify(labels)}]` : ""} could be created`
343
344
  );
@@ -352,7 +353,7 @@ var ProviderFactoryLocator = class _ProviderFactoryLocator {
352
353
  * @returns A provider factory that matches the supplied moniker and labels or throws if one is not found
353
354
  */
354
355
  locate(moniker, labels) {
355
- return assertEx4(
356
+ return assertEx3(
356
357
  this.tryLocate(moniker, labels),
357
358
  () => `No module factory for the supplied config moniker [${moniker}]${labels ? ` & labels [${JSON.stringify(labels)}]` : ""} registered`
358
359
  );
@@ -374,10 +375,10 @@ var ProviderFactoryLocator = class _ProviderFactoryLocator {
374
375
  * @param labels The labels for the module factory
375
376
  */
376
377
  register(factory, labels, primary = false) {
377
- assertEx4(!this._frozen, () => "Cannot register a module factory after the locator has been frozen");
378
+ assertEx3(!this._frozen, () => "Cannot register a module factory after the locator has been frozen");
378
379
  if (this.validateDepsOnRegister) {
379
380
  const missingDeps = factory.dependencies.filter((dep) => !this.registered(dep));
380
- assertEx4(missingDeps.length === 0, () => `Cannot register module factory [${factory.uniqueId.description}] due to missing dependencies: ${missingDeps.join(", ")}`);
381
+ assertEx3(missingDeps.length === 0, () => `Cannot register module factory [${factory.uniqueId.description}] due to missing dependencies: ${missingDeps.join(", ")}`);
381
382
  }
382
383
  registerCreatableProviderFactory(this._registry, factory, labels, primary);
383
384
  return this;
@@ -425,7 +426,7 @@ var ProviderFactoryLocator = class _ProviderFactoryLocator {
425
426
  for (const moniker in this.registry) {
426
427
  for (const factory of this.registry[moniker] ?? []) {
427
428
  const missingDeps = factory.dependencies.filter((dep) => !this.registered(dep));
428
- assertEx4(missingDeps.length === 0, () => `Module factory [${factory.uniqueId.description}] is missing dependencies: ${missingDeps.join(", ")}`);
429
+ assertEx3(missingDeps.length === 0, () => `Module factory [${factory.uniqueId.description}] is missing dependencies: ${missingDeps.join(", ")}`);
429
430
  }
430
431
  }
431
432
  }
@@ -704,7 +705,7 @@ import { isDefined as isDefined3, isFalsy } from "@xylabs/sdk-js";
704
705
  import { asXL1BlockRange } from "@xyo-network/xl1-protocol-lib";
705
706
 
706
707
  // src/primitives/block/rate/timeHelpers.ts
707
- import { assertEx as assertEx5, isDefined as isDefined2 } from "@xylabs/sdk-js";
708
+ import { assertEx as assertEx4, isDefined as isDefined2 } from "@xylabs/sdk-js";
708
709
  var rateMultipliers = {
709
710
  millis: 1,
710
711
  seconds: 1e3,
@@ -722,7 +723,7 @@ var timeDurations = (timeInMs) => ({
722
723
  weeks: timeInMs / (1e3 * 60 * 60 * 24 * 7)
723
724
  });
724
725
  var getTimeConfigInMilliseconds = (timeConfig) => {
725
- const assertedTimeConfig = assertEx5(isDefined2(timeConfig) ? timeConfig : void 0, () => "Time configuration must be provided");
726
+ const assertedTimeConfig = assertEx4(isDefined2(timeConfig) ? timeConfig : void 0, () => "Time configuration must be provided");
726
727
  let totalMilliseconds = 0;
727
728
  if ("years" in assertedTimeConfig) {
728
729
  totalMilliseconds += assertedTimeConfig.years * 31536e6;
@@ -795,7 +796,7 @@ var calculateBlockRate = async (viewer, range, timeUnit) => {
795
796
  };
796
797
 
797
798
  // src/primitives/block/rate/stepRate.ts
798
- import { assertEx as assertEx6 } from "@xylabs/sdk-js";
799
+ import { assertEx as assertEx5 } from "@xylabs/sdk-js";
799
800
  import {
800
801
  asXL1BlockRange as asXL1BlockRange2,
801
802
  isValidStep,
@@ -807,14 +808,14 @@ var stepRate = async (viewer, start, step, count = 1, timeUnit) => {
807
808
  return await calculateBlockRate(viewer, range, timeUnit);
808
809
  };
809
810
  var calculateStepSizeRate = async (viewer, start, stepIndex, count = 1, timeUnit) => {
810
- assertEx6(isValidStep(stepIndex), () => `Invalid step index: ${stepIndex}`);
811
+ assertEx5(isValidStep(stepIndex), () => `Invalid step index: ${stepIndex}`);
811
812
  const step = StepSizes[stepIndex];
812
813
  return await stepRate(viewer, start, step, count, timeUnit);
813
814
  };
814
815
 
815
816
  // src/primitives/block/rate/timeRate.ts
816
817
  import {
817
- assertEx as assertEx7,
818
+ assertEx as assertEx6,
818
819
  isDefined as isDefined4,
819
820
  isDefinedNotNull
820
821
  } from "@xylabs/sdk-js";
@@ -822,11 +823,11 @@ import { asXL1BlockNumber as asXL1BlockNumber2, asXL1BlockRange as asXL1BlockRan
822
823
  var DEFAULT_TOLERANCE_MS = 3e4;
823
824
  var DEFAULT_MAX_ATTEMPTS = 10;
824
825
  var calculateTimeRate = async (viewer, timeConfig, startBlockNumber, timeUnit, toleranceMs = DEFAULT_TOLERANCE_MS, maxAttempts = DEFAULT_MAX_ATTEMPTS) => {
825
- assertEx7(Object.keys(timeConfig ?? {}).length === 1, () => "Only one time unit should be specified in timeConfig");
826
+ assertEx6(Object.keys(timeConfig ?? {}).length === 1, () => "Only one time unit should be specified in timeConfig");
826
827
  const startBlock = isDefinedNotNull(startBlockNumber) ? await viewer.blockByNumber(startBlockNumber) : null;
827
828
  const resolvedStartBlock = isDefinedNotNull(startBlock) ? startBlock[0] : (await viewer.currentBlock())[0];
828
829
  const timeInMilliseconds = getTimeConfigInMilliseconds(timeConfig);
829
- assertEx7(timeInMilliseconds > 0, () => "Time duration must be greater than zero");
830
+ assertEx6(timeInMilliseconds > 0, () => "Time duration must be greater than zero");
830
831
  const blocksPerMillisecondRate = 1 / (12 * 1e3);
831
832
  const initialBlocksInDuration = Math.floor(blocksPerMillisecondRate * timeInMilliseconds);
832
833
  const endBlockNumber = await findEndBlockRecursive(
@@ -844,14 +845,14 @@ var calculateTimeRate = async (viewer, timeConfig, startBlockNumber, timeUnit, t
844
845
  );
845
846
  };
846
847
  var findEndBlockRecursive = async (viewer, startBlock, targetTimeMs, estimatedBlocksBack, toleranceMs, attemptsRemaining) => {
847
- assertEx7(attemptsRemaining >= 0, () => "Maximum attempts reached while searching for end block");
848
+ assertEx6(attemptsRemaining >= 0, () => "Maximum attempts reached while searching for end block");
848
849
  const startBlockEpoch = startBlock.$epoch;
849
850
  const estimatedEndBlockNumber = asXL1BlockNumber2(startBlock.block - estimatedBlocksBack, true);
850
851
  if (estimatedEndBlockNumber < 0) {
851
852
  throw new Error("Estimated end block number is less than zero");
852
853
  }
853
854
  const endBlock = await viewer.blockByNumber(estimatedEndBlockNumber);
854
- const resolvedEndBlock = assertEx7(
855
+ const resolvedEndBlock = assertEx6(
855
856
  isDefined4(endBlock?.[0]) ? endBlock[0] : void 0,
856
857
  () => `Could not retrieve block ${estimatedEndBlockNumber} for time rate calculation`
857
858
  );
@@ -1015,30 +1016,30 @@ var flattenHydratedBlock = (hydratedBlock) => {
1015
1016
  var flattenHydratedBlocks = (hydratedBlocks) => hydratedBlocks.flatMap((blk) => flattenHydratedBlock(blk));
1016
1017
 
1017
1018
  // src/block/hydrate/hydrateBlock.ts
1018
- import { assertEx as assertEx8 } from "@xylabs/sdk-js";
1019
+ import { assertEx as assertEx7 } from "@xylabs/sdk-js";
1019
1020
  import { asAnyPayload as asAnyPayload2 } from "@xyo-network/sdk-js";
1020
1021
  import { asBlockBoundWitnessWithStorageMeta, isTransactionBoundWitnessWithStorageMeta } from "@xyo-network/xl1-protocol-lib";
1021
1022
  var hydrateBlock = async (context, hash, maxDepth = 1, minDepth = maxDepth) => {
1022
- assertEx8(maxDepth >= 0, () => "maxDepth must be greater than or equal to 0");
1023
- assertEx8(minDepth >= 0, () => "minDepth must be greater than or equal to 0");
1024
- assertEx8(maxDepth >= minDepth, () => "maxDepth must be greater than or equal to minDepth");
1023
+ assertEx7(maxDepth >= 0, () => "maxDepth must be greater than or equal to 0");
1024
+ assertEx7(minDepth >= 0, () => "minDepth must be greater than or equal to 0");
1025
+ assertEx7(maxDepth >= minDepth, () => "maxDepth must be greater than or equal to minDepth");
1025
1026
  const { chainMap } = context;
1026
1027
  const [block] = await chainMap.get([hash]);
1027
- const bw = assertEx8(asBlockBoundWitnessWithStorageMeta(
1028
- assertEx8(block, () => `block ${hash} not found`)
1028
+ const bw = assertEx7(asBlockBoundWitnessWithStorageMeta(
1029
+ assertEx7(block, () => `block ${hash} not found`)
1029
1030
  ), () => `hash ${hash} is not a BlockBoundWitness`);
1030
1031
  if (maxDepth === 0) return [bw, []];
1031
1032
  const blkPayloads = (await chainMap.get(bw.payload_hashes)).map((p) => asAnyPayload2(p, true));
1032
- if (minDepth === 1) assertEx8(allHashesPresent(bw.payload_hashes, blkPayloads), () => `Unable to find all payloads for block ${hash}`);
1033
+ if (minDepth === 1) assertEx7(allHashesPresent(bw.payload_hashes, blkPayloads), () => `Unable to find all payloads for block ${hash}`);
1033
1034
  if (maxDepth === 1) return [bw, blkPayloads];
1034
1035
  const transactions = blkPayloads.filter(isTransactionBoundWitnessWithStorageMeta);
1035
1036
  const transactionsPayloadHashes = transactions.flatMap((tx) => tx.payload_hashes);
1036
1037
  const transactionsPayloads = (await chainMap.get(transactionsPayloadHashes)).map((p) => asAnyPayload2(p, true));
1037
- assertEx8(allHashesPresent(transactionsPayloadHashes, transactionsPayloads), () => `Unable to find all payloads for transactions in block ${hash}`);
1038
+ assertEx7(allHashesPresent(transactionsPayloadHashes, transactionsPayloads), () => `Unable to find all payloads for transactions in block ${hash}`);
1038
1039
  const allPayloadsHashes = new Set([...blkPayloads, ...transactionsPayloads].flatMap((p) => p._hash));
1039
1040
  const allPayloads = (await chainMap.get([...allPayloadsHashes])).map((p) => asAnyPayload2(p, true));
1040
1041
  const allPayloadsFiltered = allPayloads.filter((p) => allPayloadsHashes.has(p._hash));
1041
- if (maxDepth === 2) assertEx8(allHashesPresent(
1042
+ if (maxDepth === 2) assertEx7(allHashesPresent(
1042
1043
  [...allPayloadsHashes],
1043
1044
  allPayloadsFiltered
1044
1045
  ), () => `Unable to find all payloads for transactions in block ${hash}`);
@@ -1110,7 +1111,7 @@ async function blockFromBlockNumber(context, blockNumber) {
1110
1111
 
1111
1112
  // src/block/primitives/validateTransactionOpcodes.ts
1112
1113
  import {
1113
- assertEx as assertEx9,
1114
+ assertEx as assertEx8,
1114
1115
  isHash,
1115
1116
  toSafeJsonString as toSafeJsonString2
1116
1117
  } from "@xylabs/sdk-js";
@@ -1128,13 +1129,13 @@ async function validateTransactionsOpcodes(txs) {
1128
1129
  case "elevate": {
1129
1130
  const [hash, ...rest] = args;
1130
1131
  const txPayloadsWithStorageMeta = await PayloadBuilder3.addStorageMeta(txPayloads);
1131
- assertEx9(rest.length === 0, () => `Invalid elevate operation ${opCode} ${args.join(", ")} - Too many Arguments`);
1132
+ assertEx8(rest.length === 0, () => `Invalid elevate operation ${opCode} ${args.join(", ")} - Too many Arguments`);
1132
1133
  if (isHash(hash)) {
1133
- assertEx9(
1134
+ assertEx8(
1134
1135
  txBw.payload_hashes.includes(hash),
1135
1136
  () => `Invalid elevate operation ${opCode} ${args.join(", ")} - Hash not in payload hashes => ${toSafeJsonString2(txBw, 20)}`
1136
1137
  );
1137
- const txPayload = assertEx9(
1138
+ const txPayload = assertEx8(
1138
1139
  txPayloadsWithStorageMeta.find((p) => p._hash === hash),
1139
1140
  () => `Invalid elevate operation ${opCode} ${args.join(", ")} - Payload not found`
1140
1141
  );
@@ -1182,7 +1183,7 @@ var findMostRecentBlock = async (chainArchivist, nextOptions = DEFAULT_NEXT_OPTI
1182
1183
  };
1183
1184
 
1184
1185
  // src/primitives/state/hydratedBlockByNumber.ts
1185
- import { assertEx as assertEx10, spanAsync as spanAsync2 } from "@xylabs/sdk-js";
1186
+ import { assertEx as assertEx9, spanAsync as spanAsync2 } from "@xylabs/sdk-js";
1186
1187
  async function hydratedBlockByNumber(context, blockNumber) {
1187
1188
  return await spanAsync2("hydratedBlockByNumber", async () => {
1188
1189
  if (blockNumber < 0) throw new Error(`Block number ${blockNumber} is less than 0`);
@@ -1190,7 +1191,7 @@ async function hydratedBlockByNumber(context, blockNumber) {
1190
1191
  if (blockNumber % 1 !== 0) throw new Error(`Block number ${blockNumber} is not an integer`);
1191
1192
  const cacheKey = `${blockNumber}`;
1192
1193
  return await withContextCacheResponse(context, "hydratedBlockByNumber", cacheKey, async () => {
1193
- const block = assertEx10(
1194
+ const block = assertEx9(
1194
1195
  await blockFromBlockNumber(context, blockNumber),
1195
1196
  () => `Could not find block for block number ${blockNumber}`
1196
1197
  );
@@ -1279,7 +1280,7 @@ var ConfigZod = z18.extend(BaseConfigZod, {
1279
1280
 
1280
1281
  // src/simple/block/SimpleBlockViewer.ts
1281
1282
  import {
1282
- assertEx as assertEx11,
1283
+ assertEx as assertEx10,
1283
1284
  exists,
1284
1285
  isUndefined as isUndefined3
1285
1286
  } from "@xylabs/sdk-js";
@@ -1347,11 +1348,11 @@ var SimpleBlockViewer = class extends AbstractCreatableProvider {
1347
1348
  static async paramsHandler(params) {
1348
1349
  const headPollIntervalMs = params.headPollIntervalMs;
1349
1350
  if (headPollIntervalMs !== void 0) {
1350
- assertEx11(headPollIntervalMs >= MIN_HEAD_POLL_INTERVAL_MS, () => `headPollIntervalMs must be at least ${MIN_HEAD_POLL_INTERVAL_MS}ms`);
1351
+ assertEx10(headPollIntervalMs >= MIN_HEAD_POLL_INTERVAL_MS, () => `headPollIntervalMs must be at least ${MIN_HEAD_POLL_INTERVAL_MS}ms`);
1351
1352
  }
1352
1353
  return {
1353
1354
  ...await super.paramsHandler(params),
1354
- finalizedArchivist: assertEx11(params.finalizedArchivist, () => "finalizedArchivist is required"),
1355
+ finalizedArchivist: assertEx10(params.finalizedArchivist, () => "finalizedArchivist is required"),
1355
1356
  headPollIntervalMs
1356
1357
  };
1357
1358
  }
@@ -1380,8 +1381,8 @@ var SimpleBlockViewer = class extends AbstractCreatableProvider {
1380
1381
  }
1381
1382
  async blocksByHash(hash, limit = 50) {
1382
1383
  return await this.spanAsync("blocksByHash", async () => {
1383
- assertEx11(limit > 0, () => "limit must be greater than 0");
1384
- assertEx11(limit <= 100, () => "limit must be less than 100");
1384
+ assertEx10(limit > 0, () => "limit must be greater than 0");
1385
+ assertEx10(limit <= 100, () => "limit must be less than 100");
1385
1386
  const blocks = [];
1386
1387
  let current = await this.blockByHash(hash);
1387
1388
  while (current && blocks.length < limit) {
@@ -1395,8 +1396,8 @@ var SimpleBlockViewer = class extends AbstractCreatableProvider {
1395
1396
  }
1396
1397
  async blocksByNumber(blockNumber, limit = 50) {
1397
1398
  return await this.spanAsync("blocksByNumber", async () => {
1398
- assertEx11(limit > 0, () => "limit must be greater than 0");
1399
- assertEx11(limit <= 100, () => "limit must be less than 100");
1399
+ assertEx10(limit > 0, () => "limit must be greater than 0");
1400
+ assertEx10(limit <= 100, () => "limit must be less than 100");
1400
1401
  const chainContext = await this.getChainContextRead();
1401
1402
  if (isUndefined3(chainContext.head)) {
1402
1403
  return [];
@@ -1414,7 +1415,7 @@ var SimpleBlockViewer = class extends AbstractCreatableProvider {
1414
1415
  }
1415
1416
  async chainId(blockNumber = "latest") {
1416
1417
  return await this.spanAsync("chainId", async () => {
1417
- return blockNumber === "latest" ? (await this.finalizationViewer.headBlock()).chain : assertEx11(await this.blockByNumber(blockNumber), () => `Block not found [${blockNumber}]`)[0].chain;
1418
+ return blockNumber === "latest" ? (await this.finalizationViewer.headBlock()).chain : assertEx10(await this.blockByNumber(blockNumber), () => `Block not found [${blockNumber}]`)[0].chain;
1418
1419
  }, this.context);
1419
1420
  }
1420
1421
  async createHandler() {
@@ -1527,7 +1528,7 @@ SimpleBlockViewer = __decorateClass([
1527
1528
 
1528
1529
  // src/simple/chainContractViewer/SimpleChainContractViewer.ts
1529
1530
  import {
1530
- assertEx as assertEx12
1531
+ assertEx as assertEx11
1531
1532
  } from "@xylabs/sdk-js";
1532
1533
  import { ChainContractViewerMoniker, FinalizationViewerMoniker as FinalizationViewerMoniker2 } from "@xyo-network/xl1-protocol-lib";
1533
1534
  var SimpleChainContractViewer = class extends AbstractCreatableProvider {
@@ -1545,7 +1546,7 @@ var SimpleChainContractViewer = class extends AbstractCreatableProvider {
1545
1546
  let contractViewer = this;
1546
1547
  let forkedAtBlockNumber = await contractViewer.forkedAtBlockNumber();
1547
1548
  while (forkedAtBlockNumber !== null && blockNumber <= forkedAtBlockNumber) {
1548
- contractViewer = assertEx12(await contractViewer.forkedChainContractViewer());
1549
+ contractViewer = assertEx11(await contractViewer.forkedChainContractViewer());
1549
1550
  forkedAtBlockNumber = await contractViewer.forkedAtBlockNumber();
1550
1551
  chainId = await contractViewer.chainId();
1551
1552
  }
@@ -1586,7 +1587,7 @@ SimpleChainContractViewer = __decorateClass([
1586
1587
  ], SimpleChainContractViewer);
1587
1588
 
1588
1589
  // src/simple/finalization/SimpleFinalizationViewer.ts
1589
- import { assertEx as assertEx13 } from "@xylabs/sdk-js";
1590
+ import { assertEx as assertEx12 } from "@xylabs/sdk-js";
1590
1591
  import {
1591
1592
  asSignedHydratedBlockWithStorageMeta as asSignedHydratedBlockWithStorageMeta2,
1592
1593
  ChainContractViewerMoniker as ChainContractViewerMoniker2,
@@ -1615,7 +1616,7 @@ var SimpleFinalizationViewer = class extends AbstractCreatableProvider {
1615
1616
  static async paramsHandler(params) {
1616
1617
  return {
1617
1618
  ...await super.paramsHandler(params),
1618
- finalizedArchivist: assertEx13(params.finalizedArchivist, () => "finalizedArchivist is required")
1619
+ finalizedArchivist: assertEx12(params.finalizedArchivist, () => "finalizedArchivist is required")
1619
1620
  };
1620
1621
  }
1621
1622
  chainId() {
@@ -1623,18 +1624,18 @@ var SimpleFinalizationViewer = class extends AbstractCreatableProvider {
1623
1624
  }
1624
1625
  async createHandler() {
1625
1626
  await super.createHandler();
1626
- this._chainId = assertEx13(this.config.chain.id ?? (await findMostRecentBlock(this.params.finalizedArchivist))?.chain, () => "chain.id is required if empty archivist");
1627
+ this._chainId = assertEx12(this.config.chain.id ?? (await findMostRecentBlock(this.params.finalizedArchivist))?.chain, () => "chain.id is required if empty archivist");
1627
1628
  this._store = { chainMap: this.params.finalizedArchivist };
1628
1629
  }
1629
1630
  async head() {
1630
1631
  return await this.spanAsync("head", async () => {
1631
- const currentHead = assertEx13(await this.getCurrentHead(), () => "Could not find most recent block [currentBlock]");
1632
+ const currentHead = assertEx12(await this.getCurrentHead(), () => "Could not find most recent block [currentBlock]");
1632
1633
  const cache = this.hydratedBlockCache;
1633
1634
  const block = await cache.get(currentHead._hash);
1634
1635
  if (!block) {
1635
1636
  this.logger?.error(`Could not find current block with hash ${currentHead._hash}`);
1636
1637
  }
1637
- return assertEx13(block, () => "Could not find current block");
1638
+ return assertEx12(block, () => "Could not find current block");
1638
1639
  }, this.context);
1639
1640
  }
1640
1641
  async headBlock() {
@@ -1660,8 +1661,8 @@ var SimpleFinalizationViewer = class extends AbstractCreatableProvider {
1660
1661
  }
1661
1662
  async getCurrentHead() {
1662
1663
  const chainArchivist = this.finalizedArchivist;
1663
- const result = assertEx13(await findMostRecentBlock(chainArchivist), () => "Could not find most recent block [getCurrentHead]");
1664
- assertEx13(result?.chain === this._chainId, () => "Chain ID does not match head block chain ID");
1664
+ const result = assertEx12(await findMostRecentBlock(chainArchivist), () => "Could not find most recent block [getCurrentHead]");
1665
+ assertEx12(result?.chain === this._chainId, () => "Chain ID does not match head block chain ID");
1665
1666
  return result;
1666
1667
  }
1667
1668
  };
@@ -1673,7 +1674,7 @@ SimpleFinalizationViewer = __decorateClass([
1673
1674
  ], SimpleFinalizationViewer);
1674
1675
 
1675
1676
  // src/test/buildRandomChain.ts
1676
- import { asAddress as asAddress2, assertEx as assertEx16 } from "@xylabs/sdk-js";
1677
+ import { asAddress as asAddress6, assertEx as assertEx15 } from "@xylabs/sdk-js";
1677
1678
  import {
1678
1679
  Account as Account3,
1679
1680
  asSchema as asSchema2,
@@ -1692,7 +1693,7 @@ import {
1692
1693
  } from "@xyo-network/xl1-protocol-lib";
1693
1694
 
1694
1695
  // src/test/buildBlock.ts
1695
- import { assertEx as assertEx14, isDefined as isDefined8 } from "@xylabs/sdk-js";
1696
+ import { assertEx as assertEx13, isDefined as isDefined8 } from "@xylabs/sdk-js";
1696
1697
  import {
1697
1698
  asAnyPayload as asAnyPayload3,
1698
1699
  BoundWitnessBuilder as BoundWitnessBuilder2,
@@ -1796,7 +1797,7 @@ async function buildBlock(options) {
1796
1797
  const completedStepReward = calculateCompletedStepReward(i, stepRewardPoolBalance);
1797
1798
  completedStepRewardTransfers.push(createTransferPayload(chainStepRewardAddress, { [completedStepRewardHolderAddress]: completedStepReward }));
1798
1799
  }
1799
- step_hashes.push(assertEx14(previousBlockHash, () => `Previous block hash is required for step ${step} at block ${blockNumber}`));
1800
+ step_hashes.push(assertEx13(previousBlockHash, () => `Previous block hash is required for step ${step} at block ${blockNumber}`));
1800
1801
  } else {
1801
1802
  if (isDefined8(inStepHashes.at(i))) {
1802
1803
  step_hashes.push(inStepHashes[i]);
@@ -1819,7 +1820,7 @@ async function buildBlock(options) {
1819
1820
  step_hashes,
1820
1821
  protocol
1821
1822
  }).meta({ $epoch: Date.now(), $signatures: [] }).signers(signers).payloads(await PayloadBuilder4.addStorageMeta(payloads)).build();
1822
- assertEx14(isBlockBoundWitness(bw), () => "Build of BlockBoundWitness failed");
1823
+ assertEx13(isBlockBoundWitness(bw), () => "Build of BlockBoundWitness failed");
1823
1824
  return [await PayloadBuilder4.addStorageMeta(bw), txPayloads.map((p) => asAnyPayload3(p, true))];
1824
1825
  }
1825
1826
 
@@ -1840,7 +1841,7 @@ async function buildNextBlock(previousBlock, txs, blockPayloads, signers, chainS
1840
1841
  }
1841
1842
 
1842
1843
  // src/test/buildRandomGenesisBlock.ts
1843
- import { asAddress, assertEx as assertEx15 } from "@xylabs/sdk-js";
1844
+ import { asAddress as asAddress3, assertEx as assertEx14 } from "@xylabs/sdk-js";
1844
1845
  import {
1845
1846
  Account as Account2,
1846
1847
  asAnyPayload as asAnyPayload4,
@@ -1867,9 +1868,10 @@ async function buildGenesisBlock(chainId, txs, blockPayloads, signers, chainStep
1867
1868
  }
1868
1869
 
1869
1870
  // src/test/buildRandomGenesisBlock.ts
1870
- var TestChainId = assertEx15(asAddress("c5fe2e6F6841Cbab12d8C0618Be2DF8C6156cC44"));
1871
+ var TestChainId = assertEx14(asAddress3("c5fe2e6F6841Cbab12d8C0618Be2DF8C6156cC44"));
1871
1872
 
1872
1873
  // src/test/createGenesisBlock.ts
1874
+ import { asAddress as asAddress5 } from "@xylabs/sdk-js";
1873
1875
  import { PayloadBuilder as PayloadBuilder7 } from "@xyo-network/sdk-js";
1874
1876
  import {
1875
1877
  BlockBoundWitnessSchemaPayload,
@@ -1882,6 +1884,7 @@ import {
1882
1884
  } from "@xyo-network/xl1-schema";
1883
1885
 
1884
1886
  // src/test/createProducerChainStakeIntentTransaction.ts
1887
+ import { asAddress as asAddress4 } from "@xylabs/sdk-js";
1885
1888
  import { PayloadBuilder as PayloadBuilder6 } from "@xyo-network/sdk-js";
1886
1889
  import {
1887
1890
  asXL1BlockNumber as asXL1BlockNumber6,
@@ -1908,7 +1911,7 @@ var createGenesisBlock = async (initialBlockProducer, nextContractAddress, genes
1908
1911
  ChainStakeIntentPayloadJsonSchemaPayload,
1909
1912
  HashPayloadJsonSchemaPayload
1910
1913
  ]);
1911
- const intentPayload = await createProducerChainStakeIntent(initialBlockProducer.address, 1, 0);
1914
+ const intentPayload = await createProducerChainStakeIntent(asAddress5(initialBlockProducer.address, true), 1, 0);
1912
1915
  blockPayloads.push(intentPayload);
1913
1916
  if (genesisBlockRewardAmount > 0n) {
1914
1917
  blockPayloads.push(await PayloadBuilder7.addHashMeta(createTransferPayload(
@@ -1920,7 +1923,7 @@ var createGenesisBlock = async (initialBlockProducer, nextContractAddress, genes
1920
1923
  };
1921
1924
 
1922
1925
  // src/test/buildRandomChain.ts
1923
- var TestGenesisBlockRewardAddress = assertEx16(asAddress2("fa7f0bb865a4bfff3d5e2c726d3e063297014da9"));
1926
+ var TestGenesisBlockRewardAddress = assertEx15(asAddress6("fa7f0bb865a4bfff3d5e2c726d3e063297014da9"));
1924
1927
  var buildRandomChain = async (blockProducer, count = 10, previousBlock, chainId, transactionAccount, receiverAddresses) => {
1925
1928
  const chainIdToUse = chainId ?? TestChainId;
1926
1929
  const blocks = [];
@@ -1932,13 +1935,13 @@ var buildRandomChain = async (blockProducer, count = 10, previousBlock, chainId,
1932
1935
  blockProducer,
1933
1936
  chainIdToUse,
1934
1937
  1000000000n * 10n ** 18n,
1935
- transactionAccountToUse.address
1938
+ asAddress6(transactionAccountToUse.address, true)
1936
1939
  );
1937
1940
  blocks.push(block);
1938
1941
  remaining = remaining - 1;
1939
1942
  lastBlock = block;
1940
1943
  }
1941
- const resolvedReceiverAddresses = receiverAddresses ?? [(await Account3.random()).address];
1944
+ const resolvedReceiverAddresses = receiverAddresses ?? [asAddress6((await Account3.random()).address, true)];
1942
1945
  let saltCounter = 0;
1943
1946
  while (remaining > 0) {
1944
1947
  saltCounter += 1;
@@ -1957,8 +1960,8 @@ var buildRandomChain = async (blockProducer, count = 10, previousBlock, chainId,
1957
1960
  receiverAddress
1958
1961
  ));
1959
1962
  }
1960
- const previousBlock2 = assertEx16(lastBlock?.[0], () => new Error("No last block"));
1961
- const block = await buildNextBlock(previousBlock2, txs, [], [blockProducer], transactionAccountToUse.address);
1963
+ const previousBlock2 = assertEx15(lastBlock?.[0], () => new Error("No last block"));
1964
+ const block = await buildNextBlock(previousBlock2, txs, [], [blockProducer], asAddress6(transactionAccountToUse.address, true));
1962
1965
  blocks.push(block);
1963
1966
  remaining = remaining - 1;
1964
1967
  lastBlock = block;