@xyo-network/xl1-protocol 1.13.5 → 1.13.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 (48) hide show
  1. package/dist/neutral/block/AllowedBlockPayload.d.ts +16 -9
  2. package/dist/neutral/block/AllowedBlockPayload.d.ts.map +1 -1
  3. package/dist/neutral/index.mjs +217 -183
  4. package/dist/neutral/index.mjs.map +1 -1
  5. package/dist/neutral/model/BlockNumber/BlockNumber.d.ts +2 -2
  6. package/dist/neutral/model/BlockNumber/BlockNumber.d.ts.map +1 -1
  7. package/dist/neutral/model/BlockNumber/EthBlockNumber.d.ts +2 -2
  8. package/dist/neutral/model/BlockNumber/EthBlockNumber.d.ts.map +1 -1
  9. package/dist/neutral/model/BlockNumber/XL1BlockNumber.d.ts +2 -2
  10. package/dist/neutral/model/BlockNumber/XL1BlockNumber.d.ts.map +1 -1
  11. package/dist/neutral/model/BlockRange/BlockRange.d.ts +2 -2
  12. package/dist/neutral/model/BlockRange/BlockRange.d.ts.map +1 -1
  13. package/dist/neutral/model/BlockRange/EthBlockRange.d.ts +2 -2
  14. package/dist/neutral/model/BlockRange/EthBlockRange.d.ts.map +1 -1
  15. package/dist/neutral/model/BlockRange/Range.d.ts +2 -2
  16. package/dist/neutral/model/BlockRange/Range.d.ts.map +1 -1
  17. package/dist/neutral/model/BlockRange/XL1BlockRange.d.ts +2 -2
  18. package/dist/neutral/model/BlockRange/XL1BlockRange.d.ts.map +1 -1
  19. package/dist/neutral/model/StepIdentity.d.ts +5 -0
  20. package/dist/neutral/model/StepIdentity.d.ts.map +1 -1
  21. package/dist/neutral/model/zod/Config.d.ts +6 -0
  22. package/dist/neutral/model/zod/Config.d.ts.map +1 -0
  23. package/dist/neutral/model/zod/index.d.ts +1 -0
  24. package/dist/neutral/model/zod/index.d.ts.map +1 -1
  25. package/dist/neutral/model/zod/zodAsFactory.d.ts +3 -3
  26. package/dist/neutral/model/zod/zodAsFactory.d.ts.map +1 -1
  27. package/dist/neutral/model/zod/zodToFactory.d.ts +2 -2
  28. package/dist/neutral/model/zod/zodToFactory.d.ts.map +1 -1
  29. package/dist/neutral/payload/StepIdentityPayload.d.ts +13 -0
  30. package/dist/neutral/payload/StepIdentityPayload.d.ts.map +1 -0
  31. package/dist/neutral/payload/index.d.ts +1 -0
  32. package/dist/neutral/payload/index.d.ts.map +1 -1
  33. package/package.json +1 -1
  34. package/src/block/AllowedBlockPayload.ts +7 -10
  35. package/src/model/BlockNumber/BlockNumber.ts +2 -2
  36. package/src/model/BlockNumber/EthBlockNumber.ts +2 -2
  37. package/src/model/BlockNumber/XL1BlockNumber.ts +2 -2
  38. package/src/model/BlockRange/BlockRange.ts +2 -2
  39. package/src/model/BlockRange/EthBlockRange.ts +2 -2
  40. package/src/model/BlockRange/Range.ts +2 -2
  41. package/src/model/BlockRange/XL1BlockRange.ts +2 -2
  42. package/src/model/StepIdentity.ts +6 -0
  43. package/src/model/zod/Config.ts +7 -0
  44. package/src/model/zod/index.ts +1 -0
  45. package/src/model/zod/zodAsFactory.ts +28 -4
  46. package/src/model/zod/zodToFactory.ts +2 -2
  47. package/src/payload/StepIdentityPayload.ts +20 -0
  48. package/src/payload/index.ts +1 -0
@@ -285,9 +285,165 @@ var XL1Amount = class _XL1Amount {
285
285
 
286
286
  // src/block/AllowedBlockPayload.ts
287
287
  import { BoundWitnessSchema } from "@xyo-network/boundwitness-model";
288
- import { isHashMeta as isHashMeta3, isSchema } from "@xyo-network/payload-model";
288
+ import { isHashMeta as isHashMeta3 } from "@xyo-network/payload-model";
289
289
  import { isSchemaPayload, SchemaSchema } from "@xyo-network/schema-payload-plugin";
290
+ import z13 from "zod";
291
+
292
+ // src/model/BlockNumber/BlockNumber.ts
293
+ import z3 from "zod";
294
+
295
+ // src/model/zod/zodAsFactory.ts
296
+ import { assertError } from "@xylabs/hex";
297
+ function zodAsFactory(zod, name) {
298
+ function asFunc(value, assert) {
299
+ const result = zod.safeParse(value);
300
+ if (result.success) {
301
+ return result.data;
302
+ }
303
+ let assertConfig;
304
+ switch (typeof assert) {
305
+ case "string": {
306
+ assertConfig = `[${name}][${value}] ${assert}`;
307
+ break;
308
+ }
309
+ case "object": {
310
+ assertConfig = `[${name}][${assert.name}][${value}] ${result.error.message}`;
311
+ break;
312
+ }
313
+ case "boolean": {
314
+ assertConfig = `[${name}][${value}] ${result.error.message}`;
315
+ break;
316
+ }
317
+ case "function": {
318
+ assertConfig = assert(value, result.error.message);
319
+ break;
320
+ }
321
+ default: {
322
+ assertConfig = true;
323
+ }
324
+ }
325
+ return assertError(value, assertConfig, result.error.message);
326
+ }
327
+ return asFunc;
328
+ }
329
+
330
+ // src/model/zod/zodIsFactory.ts
331
+ function zodIsFactory(zod) {
332
+ return (value) => zod.safeParse(value).success;
333
+ }
334
+
335
+ // src/model/zod/zodToFactory.ts
336
+ function zodToFactory(zod, name) {
337
+ return zodAsFactory(zod, name);
338
+ }
339
+
340
+ // src/model/BlockNumber/Numberish.ts
341
+ import z2 from "zod";
342
+ var NumberishZod = z2.union([z2.number(), z2.string(), z2.bigint()]).transform((v) => typeof v === "bigint" ? Number(v) : typeof v === "string" ? Number(v) : v).pipe(z2.number());
343
+
344
+ // src/model/BlockNumber/BlockNumber.ts
345
+ var BlockNumberZod = z3.number().transform((v) => v);
346
+ var NumberishBlockNumberZod = NumberishZod.transform((v) => v);
347
+ var asBlockNumber = zodAsFactory(BlockNumberZod, "asBlockNumber");
348
+ var toBlockNumber = zodToFactory(NumberishBlockNumberZod, "toBlockNumber");
349
+ var BLOCK_NUMBER_ZERO = asBlockNumber(0);
350
+
351
+ // src/model/BlockNumber/EthBlockNumber.ts
290
352
  import z4 from "zod";
353
+ var EthBlockNumberZod = z4.number().transform((v) => v);
354
+ var NumberishEthBlockNumberZod = NumberishBlockNumberZod.transform((v) => v);
355
+ var asEthBlockNumber = zodAsFactory(EthBlockNumberZod, "asEthBlockNumber");
356
+ var toEthBlockNumber = zodToFactory(NumberishEthBlockNumberZod, "toEthBlockNumber");
357
+ var ETH_BLOCK_NUMBER_ZERO = asEthBlockNumber(0);
358
+
359
+ // src/model/BlockNumber/XL1BlockNumber.ts
360
+ import z5 from "zod";
361
+ var XL1BlockNumberZod = z5.number().transform((v) => v);
362
+ var NumberishXL1BlockNumberZod = NumberishBlockNumberZod.transform((v) => v);
363
+ var asXL1BlockNumber = zodAsFactory(XL1BlockNumberZod, "asXL1BlockNumber");
364
+ var toXL1BlockNumber = zodToFactory(NumberishXL1BlockNumberZod, "toXL1BlockNumber");
365
+ var XL1_BLOCK_NUMBER_ZERO = asXL1BlockNumber(0);
366
+
367
+ // src/model/BlockRange/BlockRange.ts
368
+ import { assertError as assertError2 } from "@xylabs/hex";
369
+ import { isDefined } from "@xylabs/typeof";
370
+ import z6 from "zod";
371
+ var BlockRangeZod = z6.tuple([BlockNumberZod, BlockNumberZod]);
372
+ var NumberishBlockRangeZod = z6.tuple([NumberishBlockNumberZod, NumberishBlockNumberZod]);
373
+ var asBlockRange = zodAsFactory(BlockRangeZod, "BlockRange");
374
+ var toBlockRange = zodToFactory(NumberishBlockRangeZod, "BlockRange");
375
+ var toBlockNumberKey = (range) => `${range[0]}|${range[1]}`;
376
+ function fromBlockNumberKey(key, assert) {
377
+ const [start, end] = key.split("|").map((v) => asBlockNumber(Number(v)));
378
+ const result = isDefined(start) && isDefined(end) ? [start, end] : void 0;
379
+ return assertError2(result, assert, `Invalid BlockRangeKey: ${key}`);
380
+ }
381
+
382
+ // src/model/BlockRange/EthBlockRange.ts
383
+ import { assertError as assertError3 } from "@xylabs/hex";
384
+ import { isDefined as isDefined2 } from "@xylabs/typeof";
385
+ import z7 from "zod";
386
+ var EthBlockRangeZod = z7.tuple([EthBlockNumberZod, EthBlockNumberZod]);
387
+ var NumberishEthBlockRangeZod = z7.tuple([NumberishEthBlockNumberZod, NumberishEthBlockNumberZod]);
388
+ var asEthBlockRange = zodAsFactory(EthBlockRangeZod, "EthBlockRange");
389
+ var toEthBlockRange = zodToFactory(NumberishEthBlockRangeZod, "EthBlockRange");
390
+ var toEthBlockNumberKey = (range) => `${range[0]}|${range[1]}`;
391
+ function fromEthBlockNumberKey(key, assert) {
392
+ const [start, end] = key.split("|").map((v) => asEthBlockNumber(Number(v)));
393
+ const result = isDefined2(start) && isDefined2(end) ? [start, end] : void 0;
394
+ return assertError3(result, assert, `Invalid EthBlockRangeKey: ${key}`);
395
+ }
396
+
397
+ // src/model/BlockRange/Range.ts
398
+ import z8 from "zod";
399
+ var RangeZod = z8.tuple([z8.number(), z8.number()]);
400
+ var isRange = zodIsFactory(RangeZod);
401
+ var asRange = zodAsFactory(RangeZod, "Range");
402
+ var toRange = zodToFactory(RangeZod, "Range");
403
+
404
+ // src/model/BlockRange/XL1BlockRange.ts
405
+ import { assertError as assertError4 } from "@xylabs/hex";
406
+ import { isDefined as isDefined3 } from "@xylabs/typeof";
407
+ import z9 from "zod";
408
+ var XL1BlockRangeZod = z9.tuple([XL1BlockNumberZod, XL1BlockNumberZod]);
409
+ var NumberishXL1BlockRangeZod = z9.tuple([NumberishXL1BlockNumberZod, NumberishXL1BlockNumberZod]);
410
+ var asXL1BlockRange = zodAsFactory(XL1BlockRangeZod, "XL1BlockRange");
411
+ var toXL1BlockRange = zodToFactory(NumberishXL1BlockRangeZod, "XL1BlockRange");
412
+ var toXL1BlockNumberKey = (range) => `${range[0]}|${range[1]}`;
413
+ function fromXL1BlockNumberKey(key, assert) {
414
+ const [start, end] = key.split("|").map((v) => asXL1BlockNumber(Number(v)));
415
+ const result = isDefined3(start) && isDefined3(end) ? [start, end] : void 0;
416
+ return assertError4(result, assert, `Invalid XL1BlockRangeKey: ${key}`);
417
+ }
418
+
419
+ // src/model/StepIdentity.ts
420
+ import { isUndefined } from "@xylabs/typeof";
421
+ import * as z10 from "zod";
422
+ var StepIdentityZod = z10.object({
423
+ block: z10.number().int().nonnegative(),
424
+ step: z10.number().int().nonnegative()
425
+ });
426
+ function tryParseInt(value) {
427
+ if (value === "") return void 0;
428
+ const num = Number(value);
429
+ return Number.isInteger(num) ? num : void 0;
430
+ }
431
+ var asStepIdentity = (stepIdentityString) => {
432
+ try {
433
+ const [blockNumberString, stepString] = stepIdentityString.split("|");
434
+ if (isUndefined(blockNumberString) || isUndefined(stepString)) {
435
+ return void 0;
436
+ }
437
+ const step = tryParseInt(stepString);
438
+ const block = toXL1BlockNumber(blockNumberString);
439
+ if (isUndefined(block) || isUndefined(step)) {
440
+ return void 0;
441
+ }
442
+ return { block, step };
443
+ } catch {
444
+ return void 0;
445
+ }
446
+ };
291
447
 
292
448
  // src/payload/elevatable/Bridge/BridgeDestinationObservation.ts
293
449
  import { HexZod as HexZod2 } from "@xylabs/hex";
@@ -296,8 +452,8 @@ import { isPayloadOfZodType } from "@xyo-network/payload-model";
296
452
 
297
453
  // src/payload/elevatable/Bridge/BridgeDetails.ts
298
454
  import { HexZod } from "@xylabs/hex";
299
- import z2 from "zod";
300
- var BridgeDetailsDestinationFieldsZod = z2.object({
455
+ import z11 from "zod";
456
+ var BridgeDetailsDestinationFieldsZod = z11.object({
301
457
  /**
302
458
  * Destination network
303
459
  */
@@ -315,7 +471,7 @@ var BridgeDetailsDestinationFieldsZod = z2.object({
315
471
  */
316
472
  destToken: HexZod.describe("The token being bridged to")
317
473
  });
318
- var BridgeDetailsSourceFieldsZod = z2.object({
474
+ var BridgeDetailsSourceFieldsZod = z11.object({
319
475
  /**
320
476
  * Source network
321
477
  */
@@ -354,13 +510,13 @@ var asBridgeDestinationObservation = AsObjectFactory.create(isBridgeDestinationO
354
510
  // src/payload/elevatable/Bridge/BridgeIntent.ts
355
511
  import { AsObjectFactory as AsObjectFactory2 } from "@xylabs/object";
356
512
  import { isPayloadOfZodType as isPayloadOfZodType2 } from "@xyo-network/payload-model";
357
- import z3 from "zod";
513
+ import z12 from "zod";
358
514
  var BridgeIntentSchema = "network.xyo.chain.bridge.intent";
359
515
  var BridgeIntentFieldsZod = BridgeDetailsFieldsZod.extend({
360
516
  /**
361
517
  * Unique identifier for replay protection
362
518
  */
363
- nonce: z3.string().describe("Unique identifier for replay protection")
519
+ nonce: z12.string().describe("Unique identifier for replay protection")
364
520
  });
365
521
  var isBridgeIntent = isPayloadOfZodType2(
366
522
  BridgeIntentFieldsZod,
@@ -447,11 +603,18 @@ var TransferSchema = "network.xyo.transfer";
447
603
  var isTransfer = isPayloadOfSchemaType5(TransferSchema);
448
604
  var asTransfer = AsObjectFactory8.create(isTransfer);
449
605
 
606
+ // src/payload/StepIdentityPayload.ts
607
+ import { AsObjectFactory as AsObjectFactory9 } from "@xylabs/object";
608
+ import { isPayloadOfZodType as isPayloadOfZodType4 } from "@xyo-network/payload-model";
609
+ var StepIdentitySchema = "network.xyo.chain.step.identity";
610
+ var isStepIdentityPayload = isPayloadOfZodType4(StepIdentityZod, StepIdentitySchema);
611
+ var asStepIdentityPayload = AsObjectFactory9.create(isStepIdentityPayload);
612
+
450
613
  // src/transaction/AnyHydratedTransaction.ts
451
- import { AsObjectFactory as AsObjectFactory11 } from "@xylabs/object";
614
+ import { AsObjectFactory as AsObjectFactory12 } from "@xylabs/object";
452
615
 
453
616
  // src/isHydratedBoundWitness.ts
454
- import { AsObjectFactory as AsObjectFactory9 } from "@xylabs/object";
617
+ import { AsObjectFactory as AsObjectFactory10 } from "@xylabs/object";
455
618
  import { isBoundWitness } from "@xyo-network/boundwitness-model";
456
619
  import { isAnyPayload as isAnyPayload2, isStorageMeta as isStorageMeta2 } from "@xyo-network/payload-model";
457
620
  var isHydratedBoundWitness = (value) => {
@@ -460,10 +623,10 @@ var isHydratedBoundWitness = (value) => {
460
623
  var isHydratedBoundWitnessWithStorageMeta = (value) => {
461
624
  return isHydratedBoundWitness(value) && isStorageMeta2(value[0]) && !value[1].some((item) => !isStorageMeta2(item));
462
625
  };
463
- var asHydratedBoundWitness = AsObjectFactory9.create(
626
+ var asHydratedBoundWitness = AsObjectFactory10.create(
464
627
  isHydratedBoundWitness
465
628
  );
466
- var asHydratedBoundWitnessWithStorageMeta = AsObjectFactory9.create(
629
+ var asHydratedBoundWitnessWithStorageMeta = AsObjectFactory10.create(
467
630
  isHydratedBoundWitnessWithStorageMeta
468
631
  );
469
632
 
@@ -471,24 +634,24 @@ var asHydratedBoundWitnessWithStorageMeta = AsObjectFactory9.create(
471
634
  import {
472
635
  isAddress
473
636
  } from "@xylabs/hex";
474
- import { AsObjectFactory as AsObjectFactory10 } from "@xylabs/object";
637
+ import { AsObjectFactory as AsObjectFactory11 } from "@xylabs/object";
475
638
  import { isBoundWitness as isBoundWitness2 } from "@xyo-network/boundwitness-model";
476
639
  var isTransactionBoundWitness = (value) => {
477
640
  const typedObj = value;
478
641
  return isBoundWitness2(value) && isAddress(typedObj.chain) && typedObj.fees !== void 0 && typedObj.exp !== void 0 && typedObj.nbf !== void 0;
479
642
  };
480
- var asTransactionBoundWitness = AsObjectFactory10.create(isTransactionBoundWitness);
643
+ var asTransactionBoundWitness = AsObjectFactory11.create(isTransactionBoundWitness);
481
644
 
482
645
  // src/transaction/AnyHydratedTransaction.ts
483
646
  var isAnyHydratedTransaction = (value) => {
484
647
  return isHydratedBoundWitness(value) && isTransactionBoundWitness(value[0]);
485
648
  };
486
- var asAnyHydratedTransaction = AsObjectFactory11.create(
649
+ var asAnyHydratedTransaction = AsObjectFactory12.create(
487
650
  isAnyHydratedTransaction
488
651
  );
489
652
 
490
653
  // src/transaction/HydratedTransaction.ts
491
- import { AsObjectFactory as AsObjectFactory12 } from "@xylabs/object";
654
+ import { AsObjectFactory as AsObjectFactory13 } from "@xylabs/object";
492
655
  import { isSigned } from "@xyo-network/boundwitness-model";
493
656
  import {
494
657
  isStorageMeta as isStorageMeta3
@@ -496,67 +659,67 @@ import {
496
659
  var isHydratedTransaction = (value) => {
497
660
  return isHydratedBoundWitness(value) && isTransactionBoundWitness(value[0]) && isSigned(value[0]) && isStorageMeta3(value[0]);
498
661
  };
499
- var asHydratedTransaction = AsObjectFactory12.create(
662
+ var asHydratedTransaction = AsObjectFactory13.create(
500
663
  // eslint-disable-next-line sonarjs/deprecation
501
664
  isHydratedTransaction
502
665
  );
503
666
 
504
667
  // src/transaction/HydratedTransactionWithHashMeta.ts
505
- import { AsObjectFactory as AsObjectFactory13 } from "@xylabs/object";
668
+ import { AsObjectFactory as AsObjectFactory14 } from "@xylabs/object";
506
669
  import {
507
670
  isStorageMeta as isStorageMeta4
508
671
  } from "@xyo-network/payload-model";
509
672
  var isHydratedTransactionWithHashMeta = (value) => {
510
673
  return isAnyHydratedTransaction(value) && isStorageMeta4(value[0]) && !value[1].some((v) => !isStorageMeta4(v));
511
674
  };
512
- var asHydratedTransactionWithHashMeta = AsObjectFactory13.create(
675
+ var asHydratedTransactionWithHashMeta = AsObjectFactory14.create(
513
676
  isHydratedTransactionWithHashMeta
514
677
  );
515
678
 
516
679
  // src/transaction/HydratedTransactionWithStorageMeta.ts
517
- import { AsObjectFactory as AsObjectFactory14 } from "@xylabs/object";
680
+ import { AsObjectFactory as AsObjectFactory15 } from "@xylabs/object";
518
681
  import {
519
682
  isStorageMeta as isStorageMeta5
520
683
  } from "@xyo-network/payload-model";
521
684
  var isHydratedTransactionWithStorageMeta = (value) => {
522
685
  return isAnyHydratedTransaction(value) && isStorageMeta5(value[0]) && !value[1].some((v) => !isStorageMeta5(v));
523
686
  };
524
- var asHydratedTransactionWithStorageMeta = AsObjectFactory14.create(
687
+ var asHydratedTransactionWithStorageMeta = AsObjectFactory15.create(
525
688
  isHydratedTransactionWithStorageMeta
526
689
  );
527
690
 
528
691
  // src/transaction/SignedHydratedTransaction.ts
529
- import { AsObjectFactory as AsObjectFactory15 } from "@xylabs/object";
692
+ import { AsObjectFactory as AsObjectFactory16 } from "@xylabs/object";
530
693
  import { isSigned as isSigned2 } from "@xyo-network/boundwitness-model";
531
694
  var isSignedHydratedTransaction = (value) => {
532
695
  return isAnyHydratedTransaction(value) && isSigned2(value[0]);
533
696
  };
534
- var asSignedHydratedTransaction = AsObjectFactory15.create(
697
+ var asSignedHydratedTransaction = AsObjectFactory16.create(
535
698
  isSignedHydratedTransaction
536
699
  );
537
700
 
538
701
  // src/transaction/SignedHydratedTransactionWithHashMeta.ts
539
- import { AsObjectFactory as AsObjectFactory16 } from "@xylabs/object";
702
+ import { AsObjectFactory as AsObjectFactory17 } from "@xylabs/object";
540
703
  import { isStorageMeta as isStorageMeta6 } from "@xyo-network/payload-model";
541
704
  var isSignedHydratedTransactionWithHashMeta = (value) => {
542
705
  return isSignedHydratedTransaction(value) && isStorageMeta6(value[0]) && !value[1].some((v) => !isStorageMeta6(v));
543
706
  };
544
- var asSignedHydratedTransactionWithHashMeta = AsObjectFactory16.create(
707
+ var asSignedHydratedTransactionWithHashMeta = AsObjectFactory17.create(
545
708
  isSignedHydratedTransactionWithHashMeta
546
709
  );
547
710
 
548
711
  // src/transaction/SignedHydratedTransactionWithStorageMeta.ts
549
- import { AsObjectFactory as AsObjectFactory17 } from "@xylabs/object";
712
+ import { AsObjectFactory as AsObjectFactory18 } from "@xylabs/object";
550
713
  import { isStorageMeta as isStorageMeta7 } from "@xyo-network/payload-model";
551
714
  var isSignedHydratedTransactionWithStorageMeta = (value) => {
552
715
  return isSignedHydratedTransaction(value) && isStorageMeta7(value[0]) && !value[1].some((v) => !isStorageMeta7(v));
553
716
  };
554
- var asSignedHydratedTransactionWithStorageMeta = AsObjectFactory17.create(
717
+ var asSignedHydratedTransactionWithStorageMeta = AsObjectFactory18.create(
555
718
  isSignedHydratedTransactionWithStorageMeta
556
719
  );
557
720
 
558
721
  // src/transaction/TransactionBoundWitnessDeprecated.ts
559
- import { AsObjectFactory as AsObjectFactory18 } from "@xylabs/object";
722
+ import { AsObjectFactory as AsObjectFactory19 } from "@xylabs/object";
560
723
  import { isSigned as isSigned3 } from "@xyo-network/boundwitness-model";
561
724
  import { isHashMeta, isStorageMeta as isStorageMeta8 } from "@xyo-network/payload-model";
562
725
  var isSignedTransactionBoundWitness = (value) => {
@@ -566,12 +729,12 @@ var isTransactionBoundWitnessWithStorageMeta = (value) => isTransactionBoundWitn
566
729
  var isTransactionBoundWitnessWithHashMeta = (value) => isTransactionBoundWitness(value) && isHashMeta(value);
567
730
  var isSignedTransactionBoundWitnessWithStorageMeta = (value) => isSignedTransactionBoundWitness(value) && isStorageMeta8(value);
568
731
  var isSignedTransactionBoundWitnessWithHashMeta = (value) => isSignedTransactionBoundWitness(value) && isHashMeta(value);
569
- var asTransactionBoundWitnessWithStorageMeta = AsObjectFactory18.create(isTransactionBoundWitnessWithStorageMeta);
570
- var asTransactionBoundWitnessWithHashMeta = AsObjectFactory18.create(isTransactionBoundWitnessWithHashMeta);
732
+ var asTransactionBoundWitnessWithStorageMeta = AsObjectFactory19.create(isTransactionBoundWitnessWithStorageMeta);
733
+ var asTransactionBoundWitnessWithHashMeta = AsObjectFactory19.create(isTransactionBoundWitnessWithHashMeta);
571
734
 
572
735
  // src/transaction/TransactionFeesFields.ts
573
736
  import { isHex } from "@xylabs/hex";
574
- import { AsObjectFactory as AsObjectFactory19 } from "@xylabs/object";
737
+ import { AsObjectFactory as AsObjectFactory20 } from "@xylabs/object";
575
738
  import { isObject } from "@xylabs/typeof";
576
739
  var isTransactionFeesBigInt = (value) => {
577
740
  if (!isObject(value)) {
@@ -585,7 +748,7 @@ var isTransactionFeesBigInt = (value) => {
585
748
  } = value;
586
749
  return isAttoXL1(base) && isAttoXL1(gasLimit) && isAttoXL1(gasPrice) && isAttoXL1(priority);
587
750
  };
588
- var asTransactionFeesBigInt = AsObjectFactory19.create(
751
+ var asTransactionFeesBigInt = AsObjectFactory20.create(
589
752
  isTransactionFeesBigInt
590
753
  );
591
754
  var isTransactionFeesHex = (value) => {
@@ -600,29 +763,29 @@ var isTransactionFeesHex = (value) => {
600
763
  } = value;
601
764
  return isHex(base) && isHex(gasLimit) && isHex(gasPrice) && isHex(priority);
602
765
  };
603
- var asTransactionFeesHex = AsObjectFactory19.create(
766
+ var asTransactionFeesHex = AsObjectFactory20.create(
604
767
  isTransactionFeesHex
605
768
  );
606
769
 
607
770
  // src/transaction/UnsignedHydratedTransaction.ts
608
- import { AsObjectFactory as AsObjectFactory20 } from "@xylabs/object";
771
+ import { AsObjectFactory as AsObjectFactory21 } from "@xylabs/object";
609
772
  import { isUnsigned } from "@xyo-network/boundwitness-model";
610
773
  var isUnsignedHydratedTransaction = (value) => {
611
774
  return isAnyHydratedTransaction(value) && isUnsigned(value[0]);
612
775
  };
613
- var asUnsignedHydratedTransaction = AsObjectFactory20.create(
776
+ var asUnsignedHydratedTransaction = AsObjectFactory21.create(
614
777
  isUnsignedHydratedTransaction
615
778
  );
616
779
 
617
780
  // src/transaction/UnsignedHydratedTransactionWithHashMeta.ts
618
- import { AsObjectFactory as AsObjectFactory21 } from "@xylabs/object";
781
+ import { AsObjectFactory as AsObjectFactory22 } from "@xylabs/object";
619
782
  import {
620
783
  isHashMeta as isHashMeta2
621
784
  } from "@xyo-network/payload-model";
622
785
  var isUnsignedHydratedTransactionWithHashMeta = (value) => {
623
786
  return isSignedHydratedTransaction(value) && isHashMeta2(value[0]) && !value[1].some((v) => !isHashMeta2(v));
624
787
  };
625
- var asUnsignedHydratedTransactionWithHashMeta = AsObjectFactory21.create(
788
+ var asUnsignedHydratedTransactionWithHashMeta = AsObjectFactory22.create(
626
789
  isUnsignedHydratedTransactionWithHashMeta
627
790
  );
628
791
 
@@ -639,20 +802,18 @@ var AllowedBlockPayloadSchemas = [
639
802
  TimeSchema,
640
803
  TransferSchema
641
804
  ];
642
- var isAllowedBlockPayloadSchema = (value) => {
643
- return isSchema(value) && AllowedBlockPayloadSchemas.includes(value);
644
- };
805
+ var AllowedBlockPayloadSchemaZod = z13.enum(AllowedBlockPayloadSchemas);
806
+ var isAllowedBlockPayloadSchema = zodIsFactory(AllowedBlockPayloadSchemaZod);
645
807
  var isAllowedBlockPayload = (value) => {
646
808
  return isTransfer(value) || isBridgeDestinationObservation(value) || isBridgeIntent(value) || isBridgeSourceObservation(value) || isChainStakeIntent(value) || isHashPayload(value) || isSchemaPayload(value) || isTimePayload(value) || isTransactionBoundWitness(value);
647
809
  };
648
810
  var isAllowedBlockPayloadWithHashMeta = (value) => {
649
811
  return isAllowedBlockPayload(value) && isHashMeta3(value);
650
812
  };
651
- var AllowedBlockPayloadZod = z4.object({ schema: z4.enum(AllowedBlockPayloadSchemas) });
652
813
 
653
814
  // src/block/BlockBoundWitness.ts
654
815
  import { isHex as isHex2 } from "@xylabs/hex";
655
- import { AsObjectFactory as AsObjectFactory22 } from "@xylabs/object";
816
+ import { AsObjectFactory as AsObjectFactory23 } from "@xylabs/object";
656
817
  import { isBoundWitness as isBoundWitness3, isSigned as isSigned4 } from "@xyo-network/boundwitness-model";
657
818
  import { isHashMeta as isHashMeta4, isStorageMeta as isStorageMeta9 } from "@xyo-network/payload-model";
658
819
  var isBlockBoundWitness = (value) => {
@@ -674,19 +835,19 @@ var isBlockBoundWitnessWithHashMeta = (value) => {
674
835
  var isSignedBlockBoundWitnessWithHashMeta = (value) => {
675
836
  return isBlockBoundWitnessWithHashMeta(value) && isSigned4(value);
676
837
  };
677
- var asBlockBoundWitness = AsObjectFactory22.create(isBlockBoundWitness);
678
- var asSignedBlockBoundWitness = AsObjectFactory22.create(isSignedBlockBoundWitness);
679
- var asBlockBoundWitnessWithStorageMeta = AsObjectFactory22.create(isBlockBoundWitnessWithStorageMeta);
680
- var asSignedBlockBoundWitnessWithStorageMeta = AsObjectFactory22.create(isSignedBlockBoundWitnessWithStorageMeta);
681
- var asBlockBoundWitnessWithHashMeta = AsObjectFactory22.create(isBlockBoundWitnessWithHashMeta);
682
- var asSignedBlockBoundWitnessWithHashMeta = AsObjectFactory22.create(isSignedBlockBoundWitnessWithHashMeta);
838
+ var asBlockBoundWitness = AsObjectFactory23.create(isBlockBoundWitness);
839
+ var asSignedBlockBoundWitness = AsObjectFactory23.create(isSignedBlockBoundWitness);
840
+ var asBlockBoundWitnessWithStorageMeta = AsObjectFactory23.create(isBlockBoundWitnessWithStorageMeta);
841
+ var asSignedBlockBoundWitnessWithStorageMeta = AsObjectFactory23.create(isSignedBlockBoundWitnessWithStorageMeta);
842
+ var asBlockBoundWitnessWithHashMeta = AsObjectFactory23.create(isBlockBoundWitnessWithHashMeta);
843
+ var asSignedBlockBoundWitnessWithHashMeta = AsObjectFactory23.create(isSignedBlockBoundWitnessWithHashMeta);
683
844
 
684
845
  // src/block/HydratedBlock.ts
685
- import { AsObjectFactory as AsObjectFactory23 } from "@xylabs/object";
846
+ import { AsObjectFactory as AsObjectFactory24 } from "@xylabs/object";
686
847
  var isHydratedBlock = (value) => {
687
848
  return isHydratedBoundWitness(value) && isBlockBoundWitnessWithStorageMeta(value[0]);
688
849
  };
689
- var asHydratedBlock = AsObjectFactory23.create(
850
+ var asHydratedBlock = AsObjectFactory24.create(
690
851
  isHydratedBlock
691
852
  );
692
853
 
@@ -725,137 +886,6 @@ var ELEVATE_OPCODE = "elevate";
725
886
 
726
887
  // src/constants/StepSizes.ts
727
888
  import { AsTypeFactory } from "@xylabs/object";
728
-
729
- // src/model/BlockNumber/BlockNumber.ts
730
- import z6 from "zod";
731
-
732
- // src/model/zod/zodAsFactory.ts
733
- import { assertError } from "@xylabs/hex";
734
- function zodAsFactory(zod) {
735
- function asFunc(value, assert) {
736
- const result = zod.safeParse(value);
737
- if (result.success) {
738
- return result.data;
739
- }
740
- return assertError(value, assert, result.error.message);
741
- }
742
- return asFunc;
743
- }
744
-
745
- // src/model/zod/zodIsFactory.ts
746
- function zodIsFactory(zod) {
747
- return (value) => zod.safeParse(value).success;
748
- }
749
-
750
- // src/model/zod/zodToFactory.ts
751
- function zodToFactory(zod) {
752
- return zodAsFactory(zod);
753
- }
754
-
755
- // src/model/BlockNumber/Numberish.ts
756
- import z5 from "zod";
757
- var NumberishZod = z5.union([z5.number(), z5.string(), z5.bigint()]).transform((v) => typeof v === "bigint" ? Number(v) : typeof v === "string" ? Number(v) : v).pipe(z5.number());
758
-
759
- // src/model/BlockNumber/BlockNumber.ts
760
- var BlockNumberZod = z6.number().transform((v) => v);
761
- var NumberishBlockNumberZod = NumberishZod.transform((v) => v);
762
- var asBlockNumber = zodAsFactory(BlockNumberZod);
763
- var toBlockNumber = zodToFactory(NumberishBlockNumberZod);
764
- var BLOCK_NUMBER_ZERO = asBlockNumber(0);
765
-
766
- // src/model/BlockNumber/EthBlockNumber.ts
767
- import z7 from "zod";
768
- var EthBlockNumberZod = z7.number().transform((v) => v);
769
- var NumberishEthBlockNumberZod = NumberishBlockNumberZod.transform((v) => v);
770
- var asEthBlockNumber = zodAsFactory(EthBlockNumberZod);
771
- var toEthBlockNumber = zodToFactory(NumberishEthBlockNumberZod);
772
- var ETH_BLOCK_NUMBER_ZERO = asEthBlockNumber(0);
773
-
774
- // src/model/BlockNumber/XL1BlockNumber.ts
775
- import z8 from "zod";
776
- var XL1BlockNumberZod = z8.number().transform((v) => v);
777
- var NumberishXL1BlockNumberZod = NumberishBlockNumberZod.transform((v) => v);
778
- var asXL1BlockNumber = zodAsFactory(XL1BlockNumberZod);
779
- var toXL1BlockNumber = zodToFactory(NumberishXL1BlockNumberZod);
780
- var XL1_BLOCK_NUMBER_ZERO = asXL1BlockNumber(0);
781
-
782
- // src/model/BlockRange/BlockRange.ts
783
- import { assertError as assertError2 } from "@xylabs/hex";
784
- import { isDefined } from "@xylabs/typeof";
785
- import z9 from "zod";
786
- var BlockRangeZod = z9.tuple([BlockNumberZod, BlockNumberZod]);
787
- var NumberishBlockRangeZod = z9.tuple([NumberishBlockNumberZod, NumberishBlockNumberZod]);
788
- var asBlockRange = zodAsFactory(BlockRangeZod);
789
- var toBlockRange = zodToFactory(NumberishBlockRangeZod);
790
- var toBlockNumberKey = (range) => `${range[0]}|${range[1]}`;
791
- function fromBlockNumberKey(key, assert) {
792
- const [start, end] = key.split("|").map((v) => asBlockNumber(Number(v)));
793
- const result = isDefined(start) && isDefined(end) ? [start, end] : void 0;
794
- return assertError2(result, assert, `Invalid BlockRangeKey: ${key}`);
795
- }
796
-
797
- // src/model/BlockRange/EthBlockRange.ts
798
- import { assertError as assertError3 } from "@xylabs/hex";
799
- import { isDefined as isDefined2 } from "@xylabs/typeof";
800
- import z10 from "zod";
801
- var EthBlockRangeZod = z10.tuple([EthBlockNumberZod, EthBlockNumberZod]);
802
- var NumberishEthBlockRangeZod = z10.tuple([NumberishEthBlockNumberZod, NumberishEthBlockNumberZod]);
803
- var asEthBlockRange = zodAsFactory(EthBlockRangeZod);
804
- var toEthBlockRange = zodToFactory(NumberishEthBlockRangeZod);
805
- var toEthBlockNumberKey = (range) => `${range[0]}|${range[1]}`;
806
- function fromEthBlockNumberKey(key, assert) {
807
- const [start, end] = key.split("|").map((v) => asEthBlockNumber(Number(v)));
808
- const result = isDefined2(start) && isDefined2(end) ? [start, end] : void 0;
809
- return assertError3(result, assert, `Invalid EthBlockRangeKey: ${key}`);
810
- }
811
-
812
- // src/model/BlockRange/Range.ts
813
- import z11 from "zod";
814
- var RangeZod = z11.tuple([z11.number(), z11.number()]);
815
- var isRange = zodIsFactory(RangeZod);
816
- var asRange = zodAsFactory(RangeZod);
817
- var toRange = zodToFactory(RangeZod);
818
-
819
- // src/model/BlockRange/XL1BlockRange.ts
820
- import { assertError as assertError4 } from "@xylabs/hex";
821
- import { isDefined as isDefined3 } from "@xylabs/typeof";
822
- import z12 from "zod";
823
- var XL1BlockRangeZod = z12.tuple([XL1BlockNumberZod, XL1BlockNumberZod]);
824
- var NumberishXL1BlockRangeZod = z12.tuple([NumberishXL1BlockNumberZod, NumberishXL1BlockNumberZod]);
825
- var asXL1BlockRange = zodAsFactory(XL1BlockRangeZod);
826
- var toXL1BlockRange = zodToFactory(NumberishXL1BlockRangeZod);
827
- var toXL1BlockNumberKey = (range) => `${range[0]}|${range[1]}`;
828
- function fromXL1BlockNumberKey(key, assert) {
829
- const [start, end] = key.split("|").map((v) => asXL1BlockNumber(Number(v)));
830
- const result = isDefined3(start) && isDefined3(end) ? [start, end] : void 0;
831
- return assertError4(result, assert, `Invalid XL1BlockRangeKey: ${key}`);
832
- }
833
-
834
- // src/model/StepIdentity.ts
835
- import { isUndefined } from "@xylabs/typeof";
836
- function tryParseInt(value) {
837
- if (value === "") return void 0;
838
- const num = Number(value);
839
- return Number.isInteger(num) ? num : void 0;
840
- }
841
- var asStepIdentity = (stepIdentityString) => {
842
- try {
843
- const [blockNumberString, stepString] = stepIdentityString.split("|");
844
- if (isUndefined(blockNumberString) || isUndefined(stepString)) {
845
- return void 0;
846
- }
847
- const step = tryParseInt(stepString);
848
- const block = toXL1BlockNumber(blockNumberString);
849
- if (isUndefined(block) || isUndefined(step)) {
850
- return void 0;
851
- }
852
- return { block, step };
853
- } catch {
854
- return void 0;
855
- }
856
- };
857
-
858
- // src/constants/StepSizes.ts
859
889
  var StepSizes = [
860
890
  asXL1BlockNumber(7, true),
861
891
  asXL1BlockNumber(31, true),
@@ -920,16 +950,16 @@ var XL1_PROTOCOL_VERSION_STRING = `${XL1_PROTOCOL_VERSION_MAJOR}.${XL1_PROTOCOL_
920
950
  var XL1_PROTOCOL_VERSION = XL1_PROTOCOL_VERSION_MAJOR * 1e6 + XL1_PROTOCOL_VERSION_MINOR * 1e3 + XL1_PROTOCOL_VERSION_PATCH;
921
951
 
922
952
  // src/fields/BlockNumber.ts
923
- import { AsObjectFactory as AsObjectFactory24 } from "@xylabs/object";
953
+ import { AsObjectFactory as AsObjectFactory25 } from "@xylabs/object";
924
954
  import {
925
955
  isPayloadOfSchemaType as isPayloadOfSchemaType6,
926
956
  isPayloadOfSchemaTypeWithSources
927
957
  } from "@xyo-network/payload-model";
928
958
  var BlockNumberSchema = "network.xyo.chain.block.number";
929
959
  var isBlockNumberPayload = isPayloadOfSchemaType6(BlockNumberSchema);
930
- var asBlockNumberPayload = AsObjectFactory24.create(isBlockNumberPayload);
960
+ var asBlockNumberPayload = AsObjectFactory25.create(isBlockNumberPayload);
931
961
  var isBlockNumberPayloadWithSources = isPayloadOfSchemaTypeWithSources(BlockNumberSchema);
932
- var asBlockNumberPayloadWithSources = AsObjectFactory24.create(isBlockNumberPayloadWithSources);
962
+ var asBlockNumberPayloadWithSources = AsObjectFactory25.create(isBlockNumberPayloadWithSources);
933
963
 
934
964
  // src/network/Status.ts
935
965
  import { isPayloadOfSchemaType as isPayloadOfSchemaType7 } from "@xyo-network/payload-model";
@@ -989,8 +1019,8 @@ var isHydratedTransactionValidationError = (error) => {
989
1019
  return error.name === HydratedTransactionValidationError.constructor.name;
990
1020
  };
991
1021
  export {
1022
+ AllowedBlockPayloadSchemaZod,
992
1023
  AllowedBlockPayloadSchemas,
993
- AllowedBlockPayloadZod,
994
1024
  AttoXL1,
995
1025
  AttoXL1ConvertFactor,
996
1026
  AttoXL1MaxValue,
@@ -1038,6 +1068,8 @@ export {
1038
1068
  RangeZod,
1039
1069
  ShiftedBigInt,
1040
1070
  StepCompleteSchema,
1071
+ StepIdentitySchema,
1072
+ StepIdentityZod,
1041
1073
  StepRewardFractions,
1042
1074
  StepSizes,
1043
1075
  TimeSchema,
@@ -1101,6 +1133,7 @@ export {
1101
1133
  asSignedHydratedTransactionWithStorageMeta,
1102
1134
  asStepComplete,
1103
1135
  asStepIdentity,
1136
+ asStepIdentityPayload,
1104
1137
  asTimePayload,
1105
1138
  asTimePayloadWithStorageMeta,
1106
1139
  asTransactionBoundWitness,
@@ -1164,6 +1197,7 @@ export {
1164
1197
  isSignedTransactionBoundWitnessWithHashMeta,
1165
1198
  isSignedTransactionBoundWitnessWithStorageMeta,
1166
1199
  isStepComplete,
1200
+ isStepIdentityPayload,
1167
1201
  isTimePayload,
1168
1202
  isTransactionBoundWitness,
1169
1203
  isTransactionBoundWitnessWithHashMeta,