@xyo-network/xl1-protocol 1.13.1 → 1.13.3

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 (56) hide show
  1. package/dist/neutral/index.mjs +131 -52
  2. package/dist/neutral/index.mjs.map +1 -1
  3. package/dist/neutral/model/BlockNumber/BlockNumber.d.ts +12 -9
  4. package/dist/neutral/model/BlockNumber/BlockNumber.d.ts.map +1 -1
  5. package/dist/neutral/model/BlockNumber/EthBlockNumber.d.ts +13 -10
  6. package/dist/neutral/model/BlockNumber/EthBlockNumber.d.ts.map +1 -1
  7. package/dist/neutral/model/BlockNumber/Numberish.d.ts +3 -0
  8. package/dist/neutral/model/BlockNumber/Numberish.d.ts.map +1 -0
  9. package/dist/neutral/model/BlockNumber/XL1BlockNumber.d.ts +12 -9
  10. package/dist/neutral/model/BlockNumber/XL1BlockNumber.d.ts.map +1 -1
  11. package/dist/neutral/model/BlockNumber/index.d.ts +1 -0
  12. package/dist/neutral/model/BlockNumber/index.d.ts.map +1 -1
  13. package/dist/neutral/model/BlockRange/BlockRange.d.ts +23 -0
  14. package/dist/neutral/model/BlockRange/BlockRange.d.ts.map +1 -0
  15. package/dist/neutral/model/BlockRange/EthBlockRange.d.ts +23 -0
  16. package/dist/neutral/model/BlockRange/EthBlockRange.d.ts.map +1 -0
  17. package/dist/neutral/model/BlockRange/Numberish.d.ts +3 -0
  18. package/dist/neutral/model/BlockRange/Numberish.d.ts.map +1 -0
  19. package/dist/neutral/model/BlockRange/Range.d.ts +13 -0
  20. package/dist/neutral/model/BlockRange/Range.d.ts.map +1 -0
  21. package/dist/neutral/model/BlockRange/XL1BlockRange.d.ts +23 -0
  22. package/dist/neutral/model/BlockRange/XL1BlockRange.d.ts.map +1 -0
  23. package/dist/neutral/model/BlockRange/index.d.ts +5 -0
  24. package/dist/neutral/model/BlockRange/index.d.ts.map +1 -0
  25. package/dist/neutral/model/RangeMultipliers.d.ts +1 -1
  26. package/dist/neutral/model/RangeMultipliers.d.ts.map +1 -1
  27. package/dist/neutral/model/index.d.ts +2 -0
  28. package/dist/neutral/model/index.d.ts.map +1 -1
  29. package/dist/neutral/model/zod/index.d.ts +4 -0
  30. package/dist/neutral/model/zod/index.d.ts.map +1 -0
  31. package/dist/neutral/model/zod/zodAsFactory.d.ts +7 -0
  32. package/dist/neutral/model/zod/zodAsFactory.d.ts.map +1 -0
  33. package/dist/neutral/model/zod/zodIsFactory.d.ts +3 -0
  34. package/dist/neutral/model/zod/zodIsFactory.d.ts.map +1 -0
  35. package/dist/neutral/model/zod/zodToFactory.d.ts +6 -0
  36. package/dist/neutral/model/zod/zodToFactory.d.ts.map +1 -0
  37. package/package.json +1 -1
  38. package/src/constants/StepSizes.ts +9 -9
  39. package/src/model/BlockNumber/BlockNumber.ts +9 -23
  40. package/src/model/BlockNumber/EthBlockNumber.ts +8 -17
  41. package/src/model/BlockNumber/Numberish.ts +5 -0
  42. package/src/model/BlockNumber/XL1BlockNumber.ts +7 -16
  43. package/src/model/BlockNumber/index.ts +1 -0
  44. package/src/model/BlockRange/BlockRange.ts +30 -0
  45. package/src/model/BlockRange/EthBlockRange.ts +30 -0
  46. package/src/model/BlockRange/Numberish.ts +5 -0
  47. package/src/model/BlockRange/Range.ts +13 -0
  48. package/src/model/BlockRange/XL1BlockRange.ts +30 -0
  49. package/src/model/BlockRange/index.ts +4 -0
  50. package/src/model/RangeMultipliers.ts +1 -1
  51. package/src/model/StepIdentity.ts +4 -4
  52. package/src/model/index.ts +2 -0
  53. package/src/model/zod/index.ts +3 -0
  54. package/src/model/zod/zodAsFactory.ts +17 -0
  55. package/src/model/zod/zodIsFactory.ts +5 -0
  56. package/src/model/zod/zodToFactory.ts +7 -0
@@ -727,55 +727,109 @@ var ELEVATE_OPCODE = "elevate";
727
727
  import { AsTypeFactory } from "@xylabs/object";
728
728
 
729
729
  // src/model/BlockNumber/BlockNumber.ts
730
- import { assertEx as assertEx2 } from "@xylabs/assert";
731
- import {
732
- isArray,
733
- isNumber
734
- } from "@xylabs/typeof";
735
- function asBlockNumber(value) {
736
- assertEx2(isNumber(value), () => "Not a valid BlockNumber");
737
- return value;
738
- }
739
- function asBlockRange(value) {
740
- if (isArray(value) && value.length === 2 && isNumber(value[0]) && isNumber(value[1])) {
741
- return value;
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);
742
741
  }
743
- throw new Error("Not a valid BlockNumberRange");
742
+ return asFunc;
744
743
  }
745
- var BLOCK_NUMBER_ZERO = asBlockNumber(0);
746
- var toBlockNumberKey = (range) => `${range[0]}|${range[1]}`;
747
- var fromBlockNumberKey = (key) => {
748
- const [start, end] = key.split("|").map((v) => asBlockNumber(Number(v)));
749
- return [start, end];
750
- };
751
744
 
752
- // src/model/BlockNumber/EthBlockNumber.ts
753
- function asEthBlockNumber(value) {
754
- return asBlockNumber(value);
745
+ // src/model/zod/zodIsFactory.ts
746
+ function zodIsFactory(zod) {
747
+ return (value) => zod.safeParse(value).success;
755
748
  }
756
- function asEthBlockRange(value) {
757
- return asBlockRange(value);
749
+
750
+ // src/model/zod/zodToFactory.ts
751
+ function zodToFactory(zod) {
752
+ return zodAsFactory(zod);
758
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);
759
772
  var ETH_BLOCK_NUMBER_ZERO = asEthBlockNumber(0);
760
- var toEthBlockRangeKey = (range) => `${range[0]}|${range[1]}`;
761
- var fromEthBlockNumberKey = (key) => {
762
- const [start, end] = key.split("|").map((v) => asEthBlockNumber(Number(v)));
763
- return [start, end];
764
- };
765
773
 
766
774
  // src/model/BlockNumber/XL1BlockNumber.ts
767
- function asXL1BlockNumber(value) {
768
- return asBlockNumber(value);
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}`);
769
795
  }
770
- function asXL1BlockRange(value) {
771
- return asBlockRange(value);
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([BlockNumberZod, BlockNumberZod]);
802
+ var NumberishEthBlockRangeZod = z10.tuple([NumberishBlockNumberZod, NumberishBlockNumberZod]);
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}`);
772
810
  }
773
- var XL1_BLOCK_NUMBER_ZERO = asXL1BlockNumber(0);
774
- var toXL1BlockRangeKey = (range) => `${range[0]}|${range[1]}`;
775
- var fromXL1BlockNumberKey = (key) => {
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([BlockNumberZod, BlockNumberZod]);
824
+ var NumberishXL1BlockRangeZod = z12.tuple([NumberishBlockNumberZod, NumberishBlockNumberZod]);
825
+ var asXL1BlockRange = zodAsFactory(XL1BlockRangeZod);
826
+ var toXL1BlockRange = zodToFactory(NumberishXL1BlockRangeZod);
827
+ var toXL1BlockNumberKey = (range) => `${range[0]}|${range[1]}`;
828
+ function fromXL1BlockNumberKey(key, assert) {
776
829
  const [start, end] = key.split("|").map((v) => asXL1BlockNumber(Number(v)));
777
- return [start, end];
778
- };
830
+ const result = isDefined3(start) && isDefined3(end) ? [start, end] : void 0;
831
+ return assertError4(result, assert, `Invalid XL1BlockRangeKey: ${key}`);
832
+ }
779
833
 
780
834
  // src/model/StepIdentity.ts
781
835
  import { isUndefined } from "@xylabs/typeof";
@@ -791,11 +845,10 @@ var asStepIdentity = (stepIdentityString) => {
791
845
  return void 0;
792
846
  }
793
847
  const step = tryParseInt(stepString);
794
- const blockNumber = tryParseInt(blockNumberString);
795
- if (isUndefined(blockNumber) || isUndefined(step)) {
848
+ const block = toXL1BlockNumber(blockNumberString);
849
+ if (isUndefined(block) || isUndefined(step)) {
796
850
  return void 0;
797
851
  }
798
- const block = asXL1BlockNumber(blockNumber);
799
852
  return { block, step };
800
853
  } catch {
801
854
  return void 0;
@@ -804,15 +857,15 @@ var asStepIdentity = (stepIdentityString) => {
804
857
 
805
858
  // src/constants/StepSizes.ts
806
859
  var StepSizes = [
807
- asXL1BlockNumber(7),
808
- asXL1BlockNumber(31),
809
- asXL1BlockNumber(211),
810
- asXL1BlockNumber(2311),
811
- asXL1BlockNumber(30031),
812
- asXL1BlockNumber(510511),
813
- asXL1BlockNumber(9699691),
814
- asXL1BlockNumber(223092871),
815
- asXL1BlockNumber(6469693231)
860
+ asXL1BlockNumber(7, true),
861
+ asXL1BlockNumber(31, true),
862
+ asXL1BlockNumber(211, true),
863
+ asXL1BlockNumber(2311, true),
864
+ asXL1BlockNumber(30031, true),
865
+ asXL1BlockNumber(510511, true),
866
+ asXL1BlockNumber(9699691, true),
867
+ asXL1BlockNumber(223092871, true),
868
+ asXL1BlockNumber(6469693231, true)
816
869
  ];
817
870
  function isValidStep(step) {
818
871
  if (typeof step === "number" && Number.isInteger(step)) {
@@ -943,6 +996,8 @@ export {
943
996
  AttoXL1MaxValue,
944
997
  BLOCK_NUMBER_ZERO,
945
998
  BlockNumberSchema,
999
+ BlockNumberZod,
1000
+ BlockRangeZod,
946
1001
  BoundWitnessValidationError,
947
1002
  BridgeDestinationObservationFieldsZod,
948
1003
  BridgeDestinationObservationSchema,
@@ -956,6 +1011,8 @@ export {
956
1011
  ChainStakeIntentSchema,
957
1012
  ELEVATE_OPCODE,
958
1013
  ETH_BLOCK_NUMBER_ZERO,
1014
+ EthBlockNumberZod,
1015
+ EthBlockRangeZod,
959
1016
  FemtoXL1,
960
1017
  FemtoXL1MaxValue,
961
1018
  HashSchema,
@@ -969,8 +1026,16 @@ export {
969
1026
  NanoXL1,
970
1027
  NanoXL1MaxValue,
971
1028
  NetworkStatusSchema,
1029
+ NumberishBlockNumberZod,
1030
+ NumberishBlockRangeZod,
1031
+ NumberishEthBlockNumberZod,
1032
+ NumberishEthBlockRangeZod,
1033
+ NumberishXL1BlockNumberZod,
1034
+ NumberishXL1BlockRangeZod,
1035
+ NumberishZod,
972
1036
  PicoXL1,
973
1037
  PicoXL1MaxValue,
1038
+ RangeZod,
974
1039
  ShiftedBigInt,
975
1040
  StepCompleteSchema,
976
1041
  StepRewardFractions,
@@ -981,6 +1046,8 @@ export {
981
1046
  ValidationError,
982
1047
  XL1,
983
1048
  XL1Amount,
1049
+ XL1BlockNumberZod,
1050
+ XL1BlockRangeZod,
984
1051
  XL1MaxValue,
985
1052
  XL1Places,
986
1053
  XL1_BLOCK_NUMBER_ZERO,
@@ -1025,6 +1092,7 @@ export {
1025
1092
  asMilliXL1,
1026
1093
  asNanoXL1,
1027
1094
  asPicoXL1,
1095
+ asRange,
1028
1096
  asSignedBlockBoundWitness,
1029
1097
  asSignedBlockBoundWitnessWithHashMeta,
1030
1098
  asSignedBlockBoundWitnessWithStorageMeta,
@@ -1084,6 +1152,7 @@ export {
1084
1152
  isNanoXL1,
1085
1153
  isNetworkStatus,
1086
1154
  isPicoXL1,
1155
+ isRange,
1087
1156
  isSafeEpoch,
1088
1157
  isSignedBlockBoundWitness,
1089
1158
  isSignedBlockBoundWitnessWithHashMeta,
@@ -1112,14 +1181,24 @@ export {
1112
1181
  splitOnDecimalToString,
1113
1182
  stepSize,
1114
1183
  toAttoXL1,
1184
+ toBlockNumber,
1115
1185
  toBlockNumberKey,
1116
- toEthBlockRangeKey,
1186
+ toBlockRange,
1187
+ toEthBlockNumber,
1188
+ toEthBlockNumberKey,
1189
+ toEthBlockRange,
1117
1190
  toFemtoXL1,
1118
1191
  toMicroXL1,
1119
1192
  toMilliXL1,
1120
1193
  toNanoXL1,
1121
1194
  toPicoXL1,
1195
+ toRange,
1122
1196
  toXL1,
1123
- toXL1BlockRangeKey
1197
+ toXL1BlockNumber,
1198
+ toXL1BlockNumberKey,
1199
+ toXL1BlockRange,
1200
+ zodAsFactory,
1201
+ zodIsFactory,
1202
+ zodToFactory
1124
1203
  };
1125
1204
  //# sourceMappingURL=index.mjs.map