@xyo-network/xl1-protocol 4.1.5 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/neutral/modules/network-model/staticRest/layout/chainContractManifest.d.ts +14 -11
  2. package/dist/neutral/modules/network-model/staticRest/layout/chainContractManifest.d.ts.map +1 -1
  3. package/dist/neutral/modules/network-model/staticRest/layout/chainManifest.d.ts +3 -3
  4. package/dist/neutral/modules/network-model/staticRest/layout/indexManifest.d.ts +6 -6
  5. package/dist/neutral/modules/protocol-lib/validation/block/error.d.ts +9 -9
  6. package/dist/neutral/modules/protocol-lib/validation/error.d.ts +3 -3
  7. package/dist/neutral/modules/protocol-model/BlockNumber/BlockNumber.d.ts +2 -6
  8. package/dist/neutral/modules/protocol-model/BlockNumber/BlockNumber.d.ts.map +1 -1
  9. package/dist/neutral/modules/protocol-model/BlockNumber/EthBlockNumber.d.ts +2 -10
  10. package/dist/neutral/modules/protocol-model/BlockNumber/EthBlockNumber.d.ts.map +1 -1
  11. package/dist/neutral/modules/protocol-model/BlockNumber/xl1BlockNumber.d.ts +2 -10
  12. package/dist/neutral/modules/protocol-model/BlockNumber/xl1BlockNumber.d.ts.map +1 -1
  13. package/dist/neutral/modules/protocol-model/block/BlockBoundWitness.d.ts +9 -9
  14. package/dist/neutral/modules/protocol-model/block/HydratedBlock.d.ts +21 -21
  15. package/dist/neutral/modules/protocol-model/block/signed/SignedBlockBoundWitness.d.ts +3 -3
  16. package/dist/neutral/modules/protocol-model/block/signed/SignedBlockBoundWitnessWithHashMeta.d.ts +3 -3
  17. package/dist/neutral/modules/protocol-model/block/signed/SignedBlockBoundWitnessWithStorageMeta.d.ts +2 -2
  18. package/dist/neutral/modules/protocol-model/block/unsigned/UnsignedBlockBoundWitness.d.ts +3 -3
  19. package/dist/neutral/modules/protocol-model/chain/ChainId.d.ts +2 -6
  20. package/dist/neutral/modules/protocol-model/chain/ChainId.d.ts.map +1 -1
  21. package/dist/neutral/modules/protocol-model/model/BlockRange/BlockRange.d.ts +2 -2
  22. package/dist/neutral/modules/protocol-model/model/BlockRange/EthBlockRange.d.ts +2 -2
  23. package/dist/neutral/modules/protocol-model/model/BlockRange/Range.d.ts +2 -2
  24. package/dist/neutral/modules/protocol-model/model/BlockRange/xl1BlockRange.d.ts +2 -2
  25. package/dist/neutral/modules/protocol-model/model/Context/ChainContext.zod.d.ts +12 -12
  26. package/dist/neutral/modules/protocol-model/model/HydratedTransaction.d.ts +27 -27
  27. package/dist/neutral/modules/protocol-model/model/SyncStepSummary.d.ts +33 -33
  28. package/dist/neutral/modules/protocol-model/transaction/TransactionBoundWitness.d.ts +27 -27
  29. package/dist/neutral/modules/protocol-model/transaction/TransactionFees.d.ts +6 -6
  30. package/dist/neutral/network-model.mjs +9 -5
  31. package/dist/neutral/network-model.mjs.map +2 -2
  32. package/package.json +10 -11
@@ -203,7 +203,7 @@ export declare const asTransactionBoundWitness: {
203
203
  };
204
204
  /** toTransactionBoundWitness constant. */
205
205
  export declare const toTransactionBoundWitness: {
206
- <T>(value: T): (T & {
206
+ (value: unknown): {
207
207
  schema: "network.xyo.boundwitness" & {
208
208
  readonly __schema: true;
209
209
  };
@@ -237,8 +237,8 @@ export declare const toTransactionBoundWitness: {
237
237
  }) | undefined;
238
238
  $sourceQuery?: import("@ariestools/sdk").BrandedHash | undefined;
239
239
  script?: string[] | undefined;
240
- }) | undefined;
241
- <T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
240
+ } | undefined;
241
+ (value: unknown, assert: import("@ariestools/sdk").ZodFactoryConfig): {
242
242
  schema: "network.xyo.boundwitness" & {
243
243
  readonly __schema: true;
244
244
  };
@@ -431,7 +431,7 @@ export declare const asTransactionBoundWitnessWithHashMeta: {
431
431
  };
432
432
  /** toTransactionBoundWitnessWithHashMeta constant. */
433
433
  export declare const toTransactionBoundWitnessWithHashMeta: {
434
- <T>(value: T): (T & {
434
+ (value: unknown): {
435
435
  schema: "network.xyo.boundwitness" & {
436
436
  readonly __schema: true;
437
437
  };
@@ -467,8 +467,8 @@ export declare const toTransactionBoundWitnessWithHashMeta: {
467
467
  }) | undefined;
468
468
  $sourceQuery?: import("@ariestools/sdk").BrandedHash | undefined;
469
469
  script?: string[] | undefined;
470
- }) | undefined;
471
- <T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
470
+ } | undefined;
471
+ (value: unknown, assert: import("@ariestools/sdk").ZodFactoryConfig): {
472
472
  schema: "network.xyo.boundwitness" & {
473
473
  readonly __schema: true;
474
474
  };
@@ -667,7 +667,7 @@ export declare const asTransactionBoundWitnessWithStorageMeta: {
667
667
  };
668
668
  /** toTransactionBoundWitnessWithStorageMeta constant. */
669
669
  export declare const toTransactionBoundWitnessWithStorageMeta: {
670
- <T>(value: T): (T & {
670
+ (value: unknown): {
671
671
  schema: "network.xyo.boundwitness" & {
672
672
  readonly __schema: true;
673
673
  };
@@ -704,8 +704,8 @@ export declare const toTransactionBoundWitnessWithStorageMeta: {
704
704
  }) | undefined;
705
705
  $sourceQuery?: import("@ariestools/sdk").BrandedHash | undefined;
706
706
  script?: string[] | undefined;
707
- }) | undefined;
708
- <T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
707
+ } | undefined;
708
+ (value: unknown, assert: import("@ariestools/sdk").ZodFactoryConfig): {
709
709
  schema: "network.xyo.boundwitness" & {
710
710
  readonly __schema: true;
711
711
  };
@@ -893,7 +893,7 @@ export declare const asUnsignedTransactionBoundWitness: {
893
893
  };
894
894
  /** toUnsignedTransactionBoundWitness constant. */
895
895
  export declare const toUnsignedTransactionBoundWitness: {
896
- <T>(value: T): (T & {
896
+ (value: unknown): {
897
897
  schema: "network.xyo.boundwitness" & {
898
898
  readonly __schema: true;
899
899
  };
@@ -927,8 +927,8 @@ export declare const toUnsignedTransactionBoundWitness: {
927
927
  }) | undefined;
928
928
  $sourceQuery?: import("@ariestools/sdk").BrandedHash | undefined;
929
929
  script?: string[] | undefined;
930
- }) | undefined;
931
- <T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
930
+ } | undefined;
931
+ (value: unknown, assert: import("@ariestools/sdk").ZodFactoryConfig): {
932
932
  schema: "network.xyo.boundwitness" & {
933
933
  readonly __schema: true;
934
934
  };
@@ -1121,7 +1121,7 @@ export declare const asUnsignedTransactionBoundWitnessWithHashMeta: {
1121
1121
  };
1122
1122
  /** toUnsignedTransactionBoundWitnessWithHashMeta constant. */
1123
1123
  export declare const toUnsignedTransactionBoundWitnessWithHashMeta: {
1124
- <T>(value: T): (T & {
1124
+ (value: unknown): {
1125
1125
  schema: "network.xyo.boundwitness" & {
1126
1126
  readonly __schema: true;
1127
1127
  };
@@ -1157,8 +1157,8 @@ export declare const toUnsignedTransactionBoundWitnessWithHashMeta: {
1157
1157
  }) | undefined;
1158
1158
  $sourceQuery?: import("@ariestools/sdk").BrandedHash | undefined;
1159
1159
  script?: string[] | undefined;
1160
- }) | undefined;
1161
- <T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
1160
+ } | undefined;
1161
+ (value: unknown, assert: import("@ariestools/sdk").ZodFactoryConfig): {
1162
1162
  schema: "network.xyo.boundwitness" & {
1163
1163
  readonly __schema: true;
1164
1164
  };
@@ -1357,7 +1357,7 @@ export declare const asUnsignedTransactionBoundWitnessWithStorageMeta: {
1357
1357
  };
1358
1358
  /** toUnsignedTransactionBoundWitnessWithStorageMeta constant. */
1359
1359
  export declare const toUnsignedTransactionBoundWitnessWithStorageMeta: {
1360
- <T>(value: T): (T & {
1360
+ (value: unknown): {
1361
1361
  schema: "network.xyo.boundwitness" & {
1362
1362
  readonly __schema: true;
1363
1363
  };
@@ -1394,8 +1394,8 @@ export declare const toUnsignedTransactionBoundWitnessWithStorageMeta: {
1394
1394
  }) | undefined;
1395
1395
  $sourceQuery?: import("@ariestools/sdk").BrandedHash | undefined;
1396
1396
  script?: string[] | undefined;
1397
- }) | undefined;
1398
- <T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
1397
+ } | undefined;
1398
+ (value: unknown, assert: import("@ariestools/sdk").ZodFactoryConfig): {
1399
1399
  schema: "network.xyo.boundwitness" & {
1400
1400
  readonly __schema: true;
1401
1401
  };
@@ -1583,7 +1583,7 @@ export declare const asSignedTransactionBoundWitness: {
1583
1583
  };
1584
1584
  /** toSignedTransactionBoundWitness constant. */
1585
1585
  export declare const toSignedTransactionBoundWitness: {
1586
- <T>(value: T): (T & {
1586
+ (value: unknown): {
1587
1587
  schema: "network.xyo.boundwitness" & {
1588
1588
  readonly __schema: true;
1589
1589
  };
@@ -1617,8 +1617,8 @@ export declare const toSignedTransactionBoundWitness: {
1617
1617
  }) | undefined;
1618
1618
  $sourceQuery?: import("@ariestools/sdk").BrandedHash | undefined;
1619
1619
  script?: string[] | undefined;
1620
- }) | undefined;
1621
- <T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
1620
+ } | undefined;
1621
+ (value: unknown, assert: import("@ariestools/sdk").ZodFactoryConfig): {
1622
1622
  schema: "network.xyo.boundwitness" & {
1623
1623
  readonly __schema: true;
1624
1624
  };
@@ -1811,7 +1811,7 @@ export declare const asSignedTransactionBoundWitnessWithHashMeta: {
1811
1811
  };
1812
1812
  /** toSignedTransactionBoundWitnessWithHashMeta constant. */
1813
1813
  export declare const toSignedTransactionBoundWitnessWithHashMeta: {
1814
- <T>(value: T): (T & {
1814
+ (value: unknown): {
1815
1815
  schema: "network.xyo.boundwitness" & {
1816
1816
  readonly __schema: true;
1817
1817
  };
@@ -1847,8 +1847,8 @@ export declare const toSignedTransactionBoundWitnessWithHashMeta: {
1847
1847
  }) | undefined;
1848
1848
  $sourceQuery?: import("@ariestools/sdk").BrandedHash | undefined;
1849
1849
  script?: string[] | undefined;
1850
- }) | undefined;
1851
- <T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
1850
+ } | undefined;
1851
+ (value: unknown, assert: import("@ariestools/sdk").ZodFactoryConfig): {
1852
1852
  schema: "network.xyo.boundwitness" & {
1853
1853
  readonly __schema: true;
1854
1854
  };
@@ -2047,7 +2047,7 @@ export declare const asSignedTransactionBoundWitnessWithStorageMeta: {
2047
2047
  };
2048
2048
  /** toSignedTransactionBoundWitnessWithStorageMeta constant. */
2049
2049
  export declare const toSignedTransactionBoundWitnessWithStorageMeta: {
2050
- <T>(value: T): (T & {
2050
+ (value: unknown): {
2051
2051
  schema: "network.xyo.boundwitness" & {
2052
2052
  readonly __schema: true;
2053
2053
  };
@@ -2084,8 +2084,8 @@ export declare const toSignedTransactionBoundWitnessWithStorageMeta: {
2084
2084
  }) | undefined;
2085
2085
  $sourceQuery?: import("@ariestools/sdk").BrandedHash | undefined;
2086
2086
  script?: string[] | undefined;
2087
- }) | undefined;
2088
- <T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
2087
+ } | undefined;
2088
+ (value: unknown, assert: import("@ariestools/sdk").ZodFactoryConfig): {
2089
2089
  schema: "network.xyo.boundwitness" & {
2090
2090
  readonly __schema: true;
2091
2091
  };
@@ -37,13 +37,13 @@ export declare const asTransactionFeesHex: {
37
37
  };
38
38
  /** toTransactionFeesHex constant. */
39
39
  export declare const toTransactionFeesHex: {
40
- <T>(value: T): (T & {
40
+ (value: unknown): {
41
41
  base: import("@ariestools/sdk").BrandedHex;
42
42
  gasLimit: import("@ariestools/sdk").BrandedHex;
43
43
  gasPrice: import("@ariestools/sdk").BrandedHex;
44
44
  priority: import("@ariestools/sdk").BrandedHex;
45
- }) | undefined;
46
- <T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
45
+ } | undefined;
46
+ (value: unknown, assert: import("@ariestools/sdk").ZodFactoryConfig): {
47
47
  base: import("@ariestools/sdk").BrandedHex;
48
48
  gasLimit: import("@ariestools/sdk").BrandedHex;
49
49
  gasPrice: import("@ariestools/sdk").BrandedHex;
@@ -83,13 +83,13 @@ export declare const asTransactionFeesBigInt: {
83
83
  };
84
84
  /** toTransactionFeesBigInt constant. */
85
85
  export declare const toTransactionFeesBigInt: {
86
- <T>(value: T): (T & {
86
+ (value: unknown): {
87
87
  base: bigint;
88
88
  gasLimit: bigint;
89
89
  gasPrice: bigint;
90
90
  priority: bigint;
91
- }) | undefined;
92
- <T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
91
+ } | undefined;
92
+ (value: unknown, assert: import("@ariestools/sdk").ZodFactoryConfig): {
93
93
  base: bigint;
94
94
  gasLimit: bigint;
95
95
  gasPrice: bigint;
@@ -113,14 +113,18 @@ import {
113
113
  zodToFactory
114
114
  } from "@ariestools/sdk";
115
115
  import { z } from "zod";
116
- import { ChainIdZod, XL1BlockNumberZod } from "#protocol-lib";
116
+ import {
117
+ ChainIdZod,
118
+ NumberishZod
119
+ } from "#protocol-lib";
120
+ var ChainContractBlockNumberZod = NumberishZod.pipe(z.int().nonnegative()).transform((value) => value);
117
121
  var ChainContractManifestSchema = "network.xyo.s3.chain.contract";
118
122
  var CHAIN_CONTRACT_MANIFEST_VERSION = 1;
119
123
  var ChainContractManifestZod = z.object({
120
- forkedAtBlockNumber: XL1BlockNumberZod.nullable().optional(),
124
+ forkedAtBlockNumber: ChainContractBlockNumberZod.nullable().optional(),
121
125
  forkedAtHash: z.string().nullable().optional(),
122
126
  forkedChainId: z.nullable(ChainIdZod).optional(),
123
- minWithdrawalBlocks: z.int().nonnegative(),
127
+ minWithdrawalBlocks: NumberishZod.pipe(z.int().nonnegative()),
124
128
  rewardsContract: z.string(),
125
129
  schema: z.literal(ChainContractManifestSchema),
126
130
  stakingTokenAddress: z.string(),
@@ -130,11 +134,11 @@ var isChainContractManifest = zodIsFactory(ChainContractManifestZod);
130
134
  var asChainContractManifest = zodAsFactory(ChainContractManifestZod, "asChainContractManifest");
131
135
  var toChainContractManifest = zodToFactory(ChainContractManifestZod, "toChainContractManifest");
132
136
  function createChainContractManifest(config) {
133
- return asChainContractManifest({
137
+ return ChainContractManifestZod.parse({
134
138
  ...config,
135
139
  schema: ChainContractManifestSchema,
136
140
  version: CHAIN_CONTRACT_MANIFEST_VERSION
137
- }, true);
141
+ });
138
142
  }
139
143
 
140
144
  // src/modules/network-model/staticRest/layout/chainManifest.ts
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/modules/network-model/icons/local/local.svg", "../../src/modules/network-model/icons/mainnet/mainnet.svg", "../../src/modules/network-model/icons/sequence/testnet.svg", "../../src/modules/network-model/lib/Networks.ts", "../../src/modules/network-model/models/Bootstrap.ts", "../../src/modules/network-model/lib/NetworkDataLakeUrls.ts", "../../src/modules/network-model/modules/node/getNetworkNode.ts", "../../src/modules/network-model/manifest/network.json", "../../src/modules/network-model/manifest/networkManifest.ts", "../../src/modules/network-model/modules/node/getNetworkNodes.ts", "../../src/modules/network-model/modules/node/initNetworkNode.ts", "../../src/modules/network-model/staticRest/layout/chainContractManifest.ts", "../../src/modules/network-model/staticRest/layout/chainManifest.ts", "../../src/modules/network-model/staticRest/paths/chainState.ts", "../../src/modules/network-model/staticRest/paths/finalized.ts", "../../src/modules/network-model/staticRest/paths/indexPaths.ts", "../../src/modules/network-model/staticRest/templates.ts", "../../src/modules/network-model/staticRest/layout/indexManifest.ts", "../../src/modules/network-model/utils/ExplorerLinks.ts"],
4
- "sourcesContent": ["<svg id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 256 256\"><g style=\"opacity:.5;\"><path d=\"M154.71,97c.46,2.59,2.5,4.62,5.1,5.05l14.05,2.34,31.71-46.17c4.57-6.65-3.62-14.62-10.14-9.87l-43.68,31.83,2.97,16.82Z\" style=\"fill:#f47f00;\"/><path d=\"M173.86,151.62l-14.05,2.34c-2.6.43-4.64,2.45-5.1,5.05l-2.97,16.82,43.68,31.83c6.52,4.75,14.71-3.21,10.14-9.87l-31.71-46.17Z\" style=\"fill:#f47f00;\"/><path d=\"M82.14,104.38l14.05-2.34c2.6-.43,4.64-2.45,5.1-5.05l2.97-16.82-43.68-31.83c-6.52-4.75-14.71,3.21-10.14,9.87l31.71,46.17Z\" style=\"fill:#f47f00;\"/><path d=\"M101.29,159c-.46-2.59-2.5-4.62-5.1-5.05l-14.05-2.34-31.71,46.17c-4.57,6.65,3.62,14.62,10.14,9.87l43.68-31.83-2.97-16.82Z\" style=\"fill:#f47f00;\"/></g><path d=\"M107.33,104l15.94-90.32c.93-5.3,8.53-5.3,9.47,0l15.94,90.32c.35,2.01,1.94,3.57,3.95,3.91l92.24,15.35c5.36.89,5.36,8.59,0,9.49l-92.24,15.35c-2.01.33-3.59,1.9-3.95,3.91l-15.94,90.32c-.93,5.3-8.53,5.3-9.47,0l-15.94-90.32c-.35-2.01-1.94-3.57-3.95-3.91l-92.24-15.35c-5.36-.89-5.36-8.59,0-9.49l92.24-15.35c2.01-.33,3.59-1.9,3.95-3.91Z\" style=\"fill:#f47f00;\"/></svg>", "<svg id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 256 256\"><path d=\"M154.71,97c.46,2.59,2.5,4.62,5.1,5.05l14.05,2.34,31.71-46.17c4.57-6.65-3.62-14.62-10.14-9.87l-43.68,31.83,2.97,16.82Z\" style=\"fill:#8d8fc6;\"/><path d=\"M173.86,151.62l-14.05,2.34c-2.6.43-4.64,2.45-5.1,5.05l-2.97,16.82,43.68,31.83c6.52,4.75,14.71-3.21,10.14-9.87l-31.71-46.17Z\" style=\"fill:#eb407a;\"/><path d=\"M82.14,104.38l14.05-2.34c2.6-.43,4.64-2.45,5.1-5.05l2.97-16.82-43.68-31.83c-6.52-4.75-14.71,3.21-10.14,9.87l31.71,46.17Z\" style=\"fill:#579fd6;\"/><path d=\"M101.29,159c-.46-2.59-2.5-4.62-5.1-5.05l-14.05-2.34-31.71,46.17c-4.57,6.65,3.62,14.62,10.14,9.87l43.68-31.83-2.97-16.82Z\" style=\"fill:#f27046;\"/><path d=\"M107.33,104l15.94-90.32c.93-5.3,8.53-5.3,9.47,0l15.94,90.32c.35,2.01,1.94,3.57,3.95,3.91l92.24,15.35c5.36.89,5.36,8.59,0,9.49l-92.24,15.35c-2.01.33-3.59,1.9-3.95,3.91l-15.94,90.32c-.93,5.3-8.53,5.3-9.47,0l-15.94-90.32c-.35-2.01-1.94-3.57-3.95-3.91l-92.24-15.35c-5.36-.89-5.36-8.59,0-9.49l92.24-15.35c2.01-.33,3.59-1.9,3.95-3.91Z\" style=\"fill:#572aff;\"/></svg>", "<svg id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 256 256\"><g style=\"opacity:.5;\"><path d=\"M154.71,97c.46,2.59,2.5,4.62,5.1,5.05l14.05,2.34,31.71-46.17c4.57-6.65-3.62-14.62-10.14-9.87l-43.68,31.83,2.97,16.82Z\" style=\"fill:#579fd6;\"/><path d=\"M173.86,151.62l-14.05,2.34c-2.6.43-4.64,2.45-5.1,5.05l-2.97,16.82,43.68,31.83c6.52,4.75,14.71-3.21,10.14-9.87l-31.71-46.17Z\" style=\"fill:#579fd6;\"/><path d=\"M82.14,104.38l14.05-2.34c2.6-.43,4.64-2.45,5.1-5.05l2.97-16.82-43.68-31.83c-6.52-4.75-14.71,3.21-10.14,9.87l31.71,46.17Z\" style=\"fill:#579fd6;\"/><path d=\"M101.29,159c-.46-2.59-2.5-4.62-5.1-5.05l-14.05-2.34-31.71,46.17c-4.57,6.65,3.62,14.62,10.14,9.87l43.68-31.83-2.97-16.82Z\" style=\"fill:#579fd6;\"/></g><path d=\"M107.33,104l15.94-90.32c.93-5.3,8.53-5.3,9.47,0l15.94,90.32c.35,2.01,1.94,3.57,3.95,3.91l92.24,15.35c5.36.89,5.36,8.59,0,9.49l-92.24,15.35c-2.01.33-3.59,1.9-3.95,3.91l-15.94,90.32c-.93,5.3-8.53,5.3-9.47,0l-15.94-90.32c-.35-2.01-1.94-3.57-3.95-3.91l-92.24-15.35c-5.36-.89-5.36-8.59,0-9.49l92.24-15.35c2.01-.33,3.59-1.9,3.95-3.91Z\" style=\"fill:#579fd6;\"/></svg>", "import { asHex } from '@ariestools/sdk'\n\nimport {\n LocalNetworkIconString, MainNetworkIconString, SequenceNetworkIconString,\n} from '../icons/index.ts'\nimport type { NetworkBootstrap, NetworkId } from '../models/index.ts'\nimport { NetworkBootstrapSchema } from '../models/index.ts'\n\n/** Bootstrap configuration for the XYO Layer 1 mainnet. */\nexport const MainNetwork: NetworkBootstrap = {\n chain: asHex('319e667ced10452a117472811130444ded357f26', true),\n description: 'Main Network for XYO Layer 1',\n icon: MainNetworkIconString,\n id: 'mainnet' as NetworkId,\n name: 'Mainnet',\n schema: NetworkBootstrapSchema,\n symbol: 'XL1',\n url: 'https://api.chain.xyo.network',\n explorerUrl: 'https://explore.xyo.network',\n}\n\n/** Bootstrap configuration for the XYO Layer 1 sequence (test) network. */\nexport const SequenceNetwork: NetworkBootstrap = {\n chain: asHex('4b43a753c8024c0e5000e8ac948ac0063ac624bc', true),\n description: 'Test Network for XYO Layer 1',\n icon: SequenceNetworkIconString,\n id: 'sequence' as NetworkId,\n name: 'Sequence',\n schema: NetworkBootstrapSchema,\n symbol: 'XL1',\n url: 'https://beta.api.chain.xyo.network',\n explorerUrl: 'https://beta.explore.xyo.network',\n}\n\n/** Bootstrap configuration for a local development network. */\nexport const LocalNetwork: NetworkBootstrap = {\n description: 'Local Node',\n icon: LocalNetworkIconString,\n id: 'local' as NetworkId,\n name: 'Local',\n schema: NetworkBootstrapSchema,\n symbol: 'XL1',\n url: 'http://localhost:8080',\n explorerUrl: 'http://localhost:3000',\n}\n\n/** Default set of available XYO Layer 1 networks (mainnet, sequence, local). */\nexport const DefaultNetworks: NetworkBootstrap[] = [MainNetwork, SequenceNetwork, LocalNetwork]\n", "import type { Address } from '@ariestools/sdk'\nimport { AsObjectFactory } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport { asSchema, isPayloadOfSchemaType } from '@xyo-network/sdk'\n\nimport type { ChainId } from '#protocol-lib'\n\nimport type { NetworkId } from './NetworkId.ts'\n\n/** Connection details for accessing a chain endpoint. */\nexport interface ChainConnection {\n /** Chain Identifier - can be a hex (eth contract address) or a string */\n chain?: ChainId\n /** Name of the chain */\n name: string\n /** URL for accessing the network */\n url: string\n}\n\n/** Schema identifier for network bootstrap payloads. */\nexport const NetworkBootstrapSchema = asSchema('network.xyo.network.bootstrap', true)\n/** Schema type for network bootstrap payloads. */\nexport type NetworkBootstrapSchema = typeof NetworkBootstrapSchema\n\n/** Fields describing a chain fork origin. */\nexport interface ChainForkFields {\n /** Block Number at which the chain was forked from */\n forkedAtLastBlockNumber?: string\n /** Hash in the last block the chain was forked from */\n forkedAtLastHash?: string\n /** Address of the forked chain */\n forkedChainId?: Address\n}\n\n/** Core fields describing an XYO network. */\nexport interface NetworkFields {\n /** Description of the network */\n description: string\n /** URL for accessing the network explorer */\n explorerUrl?: string\n /** string representation of the icon (SVG) */\n icon?: string\n /** Machine-readable identifier */\n id: NetworkId\n schema: NetworkBootstrapSchema\n /** Symbol of the network */\n symbol?: string\n}\n\n/** Optional Properties can be found walking the chain to the genesis block */\nexport interface NetworkBootstrapFields extends NetworkFields, ChainForkFields, ChainConnection {}\n\n/** A network bootstrap extended with a flag indicating whether it is a custom network. */\nexport interface Network extends NetworkBootstrap {\n custom: boolean\n}\n\n/** Payload type containing all network bootstrap configuration fields. */\nexport type NetworkBootstrap = Payload<NetworkBootstrapFields, NetworkBootstrapSchema>\n\n/** Type guard that checks whether a payload is a NetworkBootstrap. */\nexport const isNetworkBootstrap = isPayloadOfSchemaType<NetworkBootstrap>(NetworkBootstrapSchema)\n\n/** Optionally casts a value to a Network if it is a valid NetworkBootstrap. */\nexport const asOptionalNetwork = AsObjectFactory.createOptional(isNetworkBootstrap)\n", "import type { GatewayName } from '#protocol-lib'\n\nimport {\n LocalNetwork, MainNetwork, SequenceNetwork,\n} from './Networks.ts'\n\n/** Map of network IDs to their corresponding Data Lake API URLs. */\nexport const NetworkDataLakeUrls = {\n [MainNetwork.id]: 'https://api.archivist.xyo.network/dataLake',\n [SequenceNetwork.id]: 'https://beta.api.archivist.xyo.network/dataLake',\n [LocalNetwork.id]: 'http://localhost:8080/dataLake',\n} as const satisfies Record<GatewayName, string>\n", "import type { AttachableNodeInstance, WalletInstance } from '@xyo-network/sdk'\nimport { ManifestWrapper, ModuleFactoryLocator } from '@xyo-network/sdk'\n\nimport { NetworkNodeManifest } from '../../manifest/index.ts'\n\n/**\n * Creates a network node from the network manifest using the provided wallet.\n *\n * @deprecated Bootstrapping an XYO `NodeInstance` via manifest is no longer supported.\n * Use `connectArchivist` from `@xyo-network/xl1-protocol-sdk` for co-located archivist\n * access, or `GatewayBuilder` from `@xyo-network/xl1-gateway` for remote RPC access.\n */\nexport async function getNetworkNode(wallet: WalletInstance): Promise<AttachableNodeInstance> {\n const wrapper = new ManifestWrapper(NetworkNodeManifest, wallet, new ModuleFactoryLocator())\n const [node] = await wrapper.loadNodes()\n return node\n}\n", "{\n \"$schema\": \"https://raw.githubusercontent.com/XYOracleNetwork/sdk-xyo-client-js/main/packages/manifest/src/schema.json\",\n \"nodes\": [\n {\n \"config\": {\n \"accountPath\": \"44'/60'/1\",\n \"name\": \"Network\",\n \"schema\": \"network.xyo.node.config\"\n },\n \"modules\": {\n \"private\": [],\n \"public\": []\n }\n }\n ],\n \"schema\": \"network.xyo.manifest\"\n}", "import type { PackageManifestPayload } from '@xyo-network/sdk'\n\nimport node from './network.json' with { type: 'json' }\n\n/** @deprecated XYO Node manifest bootstrap is no longer used; wire providers via archivist bindings or JsonRpc instead. */\nexport const NetworkNodeManifest = node as unknown as PackageManifestPayload\n", "import type { AttachableNodeInstance } from '@xyo-network/sdk'\n\nconst networkNodeMap = new Map<string, AttachableNodeInstance>()\n\n/** @deprecated Internal cache for deprecated `initNetworkNode`; do not use. */\nexport const getNetworkNodes = () => {\n return networkNodeMap\n}\n", "import type { AttachableNodeInstance, WalletInstance } from '@xyo-network/sdk'\n\nimport type { NetworkBootstrap } from '../../models/index.ts'\nimport { getNetworkNode } from './getNetworkNode.ts'\nimport { getNetworkNodes } from './getNetworkNodes.ts'\n\n/** @deprecated Use `connectArchivist` archivist bindings (`@xyo-network/xl1-protocol-sdk`) or `GatewayBuilder` (`@xyo-network/xl1-gateway`) instead of bootstrapping an XYO NodeInstance. */\nexport const initNetworkNode = async (activeNetwork: NetworkBootstrap, wallet: WalletInstance): Promise<AttachableNodeInstance> => {\n const networkNodeMap = getNetworkNodes()\n if (networkNodeMap.has(activeNetwork.url)) return networkNodeMap.get(activeNetwork.url)!\n\n const activeNetworkNode = await getNetworkNode(wallet)\n networkNodeMap.set(activeNetwork.url, activeNetworkNode)\n\n return activeNetworkNode\n}\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport { ChainIdZod, XL1BlockNumberZod } from '#protocol-lib'\n\n/** Schema id for the chain-contract manifest document. */\nexport const ChainContractManifestSchema = 'network.xyo.s3.chain.contract' as const\n/** Type literal for the chain-contract manifest schema. */\nexport type ChainContractManifestSchema = typeof ChainContractManifestSchema\n\n/** Bumped when the manifest shape changes, so readers can detect a mismatch. */\nexport const CHAIN_CONTRACT_MANIFEST_VERSION = 1\n\n/**\n * Zod schema for the static per-chain config at `chainContractPath()`: the reward contract,\n * staking token, minimum withdrawal window, and (optional) fork lineage. Published once \u2014\n * this data doesn't change per block, unlike `chain/head.json`.\n */\nexport const ChainContractManifestZod = z.object({\n forkedAtBlockNumber: XL1BlockNumberZod.nullable().optional(),\n forkedAtHash: z.string().nullable().optional(),\n forkedChainId: z.nullable(ChainIdZod).optional(),\n minWithdrawalBlocks: z.int().nonnegative(),\n rewardsContract: z.string(),\n schema: z.literal(ChainContractManifestSchema),\n stakingTokenAddress: z.string(),\n version: z.int().positive(),\n})\n\n/** The static per-chain contract config at `chainContractPath()`. */\nexport type ChainContractManifest = z.infer<typeof ChainContractManifestZod>\n\n/** Type guard that checks if a value is a valid ChainContractManifest. */\nexport const isChainContractManifest = zodIsFactory(ChainContractManifestZod)\n/** Converts a value to ChainContractManifest, throwing if invalid. */\nexport const asChainContractManifest = zodAsFactory(ChainContractManifestZod, 'asChainContractManifest')\n/** Non-validating cast to ChainContractManifest. */\nexport const toChainContractManifest = zodToFactory(ChainContractManifestZod, 'toChainContractManifest')\n\n/** Builds a validated chain-contract manifest. */\nexport function createChainContractManifest(\n config: Omit<ChainContractManifest, 'schema' | 'version'>,\n): ChainContractManifest {\n return asChainContractManifest({\n ...config,\n schema: ChainContractManifestSchema,\n version: CHAIN_CONTRACT_MANIFEST_VERSION,\n }, true)\n}\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport { chainManifestPathTemplates } from '../templates.ts'\n\n/** Bumped when the finalized layout changes shape, so readers can detect a mismatch. */\nexport const CHAIN_LAYOUT_VERSION = 1\n\n/** Schema id for the finalized layout manifest document. */\nexport const ChainManifestSchema = 'network.xyo.s3.chain.manifest' as const\n/** Type literal for the chain manifest schema. */\nexport type ChainManifestSchema = typeof ChainManifestSchema\n\n/** Path templates for the finalized + chain-state files. */\nexport const ChainManifestPathsZod = z.object({\n blockByHash: z.string(),\n blockByNumber: z.string(),\n head: z.string(),\n payload: z.string(),\n})\n\n/** Type for chain manifest path templates. */\nexport type ChainManifestPaths = z.infer<typeof ChainManifestPathsZod>\n\n/** Zod schema for the finalized layout descriptor at `manifestPath()`. */\nexport const ChainManifestZod = z.object({\n /** Lowest block number available in the bucket (genesis until pruning exists). */\n earliestBlock: z.int().nonnegative(),\n /** Storage/wire encoding of the published files (also on each object's Content-Encoding). */\n encoding: z.string(),\n paths: ChainManifestPathsZod,\n schema: z.literal(ChainManifestSchema),\n version: z.int().positive(),\n})\n\n/** The finalized layout descriptor at `manifestPath()`. */\nexport type ChainManifest = z.infer<typeof ChainManifestZod>\n\n/** Type guard that checks if a value is a valid ChainManifest. */\nexport const isChainManifest = zodIsFactory(ChainManifestZod)\n/** Converts a value to ChainManifest, throwing if invalid. */\nexport const asChainManifest = zodAsFactory(ChainManifestZod, 'asChainManifest')\n/** Non-validating cast to ChainManifest. */\nexport const toChainManifest = zodToFactory(ChainManifestZod, 'toChainManifest')\n\n/** Builds a validated chain manifest with path templates derived from the path builders. */\nexport function createChainManifest(encoding: string, earliestBlock = 0): ChainManifest {\n return asChainManifest({\n earliestBlock,\n encoding,\n paths: chainManifestPathTemplates(),\n schema: ChainManifestSchema,\n version: CHAIN_LAYOUT_VERSION,\n }, true)\n}\n", "/**\n * Path builders for the chain-state (mutable) bucket.\n *\n * Paths are relative \u2014 no leading slash \u2014 and joined to a base URL by the consumer.\n */\n\n/** The mutable head pointer: the current head SignedHydratedBlockWithHashMeta. */\nexport const headPath = (): string => 'chain/head.json'\n\n/** The chain-contract manifest: static per-chain config (rewards contract, staking token, fork info). Published once. */\nexport const chainContractPath = (): string => 'chain/contract.json'\n", "/**\n * Path builders for the finalized (immutable) bucket.\n *\n * Paths are relative \u2014 no leading slash \u2014 and joined to a base URL by the consumer.\n */\n\n/** The finalized layout descriptor (path templates, encoding, version, earliest block). */\nexport const manifestPath = (): string => 'manifest.json'\n\n/** A block by number: SignedHydratedBlockWithHashMeta. */\nexport const blockNumberPath = (block: number): string => `block/number/${block}.json`\n\n/** A block by hash: the same content as its by-number twin. */\nexport const blockHashPath = (hash: string): string => `block/hash/${hash}.json`\n\n/** A payload by hash: WithHashMeta<Payload>. */\nexport const payloadPath = (hash: string): string => `payload/${hash}.json`\n", "import type { IndexSummaryFamily } from '#protocol-lib'\n\n/**\n * Path builders for the index bucket.\n *\n * The index is a separate, single-writer bucket holding completed step summaries for several\n * families. Paths are relative \u2014 no leading slash \u2014 and joined to a base URL by the consumer.\n */\n\n/** A completed frame's summary for a family, e.g. `blocks/2/5.json`. Immutable once written. */\nexport const indexSummaryPath = (family: IndexSummaryFamily, stepLevel: number, stepIndex: number): string =>\n `${family}/${stepLevel}/${stepIndex}.json`\n\n/** The index layout descriptor (families, max step, encoding, version). */\nexport const indexManifestPath = (): string => 'manifest.json'\n\n/** The indexer's progress watermark (highest block the index is complete through). */\nexport const indexHeadPath = (): string => 'head.json'\n", "import type { IndexSummaryFamily } from '#protocol-lib'\n\nimport { headPath } from './paths/chainState.ts'\nimport {\n blockHashPath, blockNumberPath, payloadPath,\n} from './paths/finalized.ts'\nimport { indexSummaryPath } from './paths/indexPaths.ts'\n\n/** Sentinel values used when deriving self-describing path templates from concrete builders. */\nconst TEMPLATE_SLOTS = {\n block: 0,\n hash: '0'.repeat(64),\n index: 99,\n level: 42,\n} as const\n\n/**\n * Replaces concrete slot literals in a path with named `{placeholder}` segments.\n * Used to derive manifest path templates from the path builders so the two cannot drift.\n */\nexport function toPathTemplate(path: string, slots: { literal: string; name: string }[]): string {\n let result = path\n for (const { literal, name } of slots) {\n if (!result.includes(literal)) {\n throw new Error(`Template slot \"${literal}\" not found in path \"${path}\"`)\n }\n result = result.split(literal).join(`{${name}}`)\n }\n return result\n}\n\n/** Fills `{placeholder}` segments in a manifest path template. Used in conformance tests. */\nexport function interpolatePathTemplate(template: string, values: Record<string, string | number>): string {\n let result = template\n for (const [key, value] of Object.entries(values)) {\n result = result.split(`{${key}}`).join(String(value))\n }\n return result\n}\n\n/** Self-describing template for `blockNumberPath`. */\nexport const blockNumberPathTemplate = (): string =>\n toPathTemplate(blockNumberPath(TEMPLATE_SLOTS.block), [{ literal: String(TEMPLATE_SLOTS.block), name: 'block' }])\n\n/** Self-describing template for `blockHashPath`. */\nexport const blockHashPathTemplate = (): string =>\n toPathTemplate(blockHashPath(TEMPLATE_SLOTS.hash), [{ literal: TEMPLATE_SLOTS.hash, name: 'hash' }])\n\n/** Self-describing template for `payloadPath`. */\nexport const payloadPathTemplate = (): string =>\n toPathTemplate(payloadPath(TEMPLATE_SLOTS.hash), [{ literal: TEMPLATE_SLOTS.hash, name: 'hash' }])\n\n/** Self-describing templates for finalized + chain-state files carried in the chain manifest. */\nexport function chainManifestPathTemplates(): {\n blockByHash: string\n blockByNumber: string\n head: string\n payload: string\n} {\n return {\n blockByHash: blockHashPathTemplate(),\n blockByNumber: blockNumberPathTemplate(),\n head: headPath(),\n payload: payloadPathTemplate(),\n }\n}\n\n/** Self-describing template for one index summary family, e.g. `blocks/{level}/{index}.json`. */\nexport function indexSummaryPathTemplate(family: IndexSummaryFamily): string {\n const path = indexSummaryPath(family, TEMPLATE_SLOTS.level, TEMPLATE_SLOTS.index)\n return toPathTemplate(path, [\n { literal: String(TEMPLATE_SLOTS.level), name: 'level' },\n { literal: String(TEMPLATE_SLOTS.index), name: 'index' },\n ])\n}\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport type { IndexSummaryFamily, IndexWatermark } from '#protocol-lib'\n\nimport { indexSummaryPathTemplate } from '../templates.ts'\n\n/** Bumped when the on-disk index layout changes shape, so readers can detect a mismatch. */\nexport const INDEX_LAYOUT_VERSION = 1\n\n/** Schema id for the index manifest document (the static layout descriptor). */\nexport const IndexManifestSchema = 'network.xyo.s3.index.manifest' as const\n/** Type literal for the index manifest schema. */\nexport type IndexManifestSchema = typeof IndexManifestSchema\n\n/** Schema id for the index head document (the progress watermark). */\nexport const IndexHeadSchema = 'network.xyo.s3.index.head' as const\n/** Type literal for the index head schema. */\nexport type IndexHeadSchema = typeof IndexHeadSchema\n\n/** Per-family descriptor carried in the manifest. */\nexport const IndexManifestFamilyZod = z.object({\n /** Highest step level published for this family. */\n maxStep: z.int().nonnegative(),\n /** Path template for the family's frames, e.g. `blocks/{level}/{index}.json`. */\n path: z.string(),\n})\n\n/** Type for one index manifest family descriptor. */\nexport type IndexManifestFamily = z.infer<typeof IndexManifestFamilyZod>\n\nconst indexFamiliesZod = z.object({\n balances: IndexManifestFamilyZod,\n blocks: IndexManifestFamilyZod,\n schemas: IndexManifestFamilyZod,\n transfers: IndexManifestFamilyZod,\n})\n\n/** Zod schema for the static index layout descriptor at `indexManifestPath()`. */\nexport const IndexManifestZod = z.object({\n families: indexFamiliesZod,\n schema: z.literal(IndexManifestSchema),\n version: z.int().positive(),\n})\n\n/** The static index layout descriptor at `indexManifestPath()`. */\nexport type IndexManifest = z.infer<typeof IndexManifestZod>\n\n/** Type guard that checks if a value is a valid IndexManifest. */\nexport const isIndexManifest = zodIsFactory(IndexManifestZod)\n/** Converts a value to IndexManifest, throwing if invalid. */\nexport const asIndexManifest = zodAsFactory(IndexManifestZod, 'asIndexManifest')\n/** Non-validating cast to IndexManifest. */\nexport const toIndexManifest = zodToFactory(IndexManifestZod, 'toIndexManifest')\n\n/** Completed frame counts per family in the index head watermark. */\nexport const IndexHeadFamiliesZod = z.object({\n balances: z.int().nonnegative(),\n blocks: z.int().nonnegative(),\n schemas: z.int().nonnegative(),\n transfers: z.int().nonnegative(),\n})\n\n/** Zod schema for the index progress watermark at `indexHeadPath()`. */\nexport const IndexHeadZod = z.object({\n /** Highest block the index is complete through. */\n block: z.int().nonnegative(),\n /** Completed frame counts per family. */\n families: IndexHeadFamiliesZod,\n /** Hash of that block. */\n hash: z.string(),\n schema: z.literal(IndexHeadSchema),\n /** ISO-8601 timestamp of the last update. */\n updatedAt: z.string(),\n version: z.int().positive(),\n})\n\n/** The index progress watermark at `indexHeadPath()`. */\nexport type IndexHead = z.infer<typeof IndexHeadZod>\n\n/** Type guard that checks if a value is a valid IndexHead. */\nexport const isIndexHead = zodIsFactory(IndexHeadZod)\n/** Converts a value to IndexHead, throwing if invalid. */\nexport const asIndexHead = zodAsFactory(IndexHeadZod, 'asIndexHead')\n/** Non-validating cast to IndexHead. */\nexport const toIndexHead = zodToFactory(IndexHeadZod, 'toIndexHead')\n\n/** Builds per-family manifest descriptors with path templates derived from the path builders. */\nexport function createIndexManifestFamilies(\n maxSteps: Record<IndexSummaryFamily, number>,\n): Record<IndexSummaryFamily, IndexManifestFamily> {\n return {\n balances: { maxStep: maxSteps.balances, path: indexSummaryPathTemplate('balances') },\n blocks: { maxStep: maxSteps.blocks, path: indexSummaryPathTemplate('blocks') },\n schemas: { maxStep: maxSteps.schemas, path: indexSummaryPathTemplate('schemas') },\n transfers: { maxStep: maxSteps.transfers, path: indexSummaryPathTemplate('transfers') },\n }\n}\n\n/** Builds a validated index manifest with path templates derived from the path builders. */\nexport function createIndexManifest(maxSteps: Record<IndexSummaryFamily, number>): IndexManifest {\n return asIndexManifest({\n families: createIndexManifestFamilies(maxSteps),\n schema: IndexManifestSchema,\n version: INDEX_LAYOUT_VERSION,\n }, true)\n}\n\n/** Builds a validated index head watermark from an indexer progress snapshot. */\nexport function createIndexHead(watermark: IndexWatermark, updatedAt?: string): IndexHead {\n const now = new Date()\n const resolvedUpdatedAt = updatedAt ?? now.toISOString()\n return asIndexHead({\n block: watermark.block,\n families: watermark.families,\n hash: watermark.hash,\n schema: IndexHeadSchema,\n updatedAt: resolvedUpdatedAt,\n version: INDEX_LAYOUT_VERSION,\n }, true)\n}\n", "import type { NetworkId } from '../models/index.ts'\n\n/** Builds URLs to pages on an XL1 chain explorer for a specific network. */\nexport class ExplorerLinks {\n readonly explorerUrl: string\n readonly networkId: NetworkId\n\n constructor(explorerUrl: string, networkId: NetworkId) {\n this.explorerUrl = explorerUrl.replace(/\\/+$/, '')\n this.networkId = networkId\n }\n\n /** `{explorerUrl}/xl1/{networkId}/address/{address}` */\n address(address: string): string {\n return `${this.network()}/address/${address}`\n }\n\n /** `{explorerUrl}/xl1/{networkId}/addresses` */\n addresses(): string {\n return `${this.network()}/addresses`\n }\n\n /** `{explorerUrl}/xl1/{networkId}/block/{blockHash}` */\n block(blockHash: string): string {\n return `${this.network()}/block/${blockHash}`\n }\n\n /** `{explorerUrl}/xl1/{networkId}/block/number/{blockNumber}` */\n blockByNumber(blockNumber: number | string): string {\n return `${this.network()}/block/number/${blockNumber}`\n }\n\n /** `{explorerUrl}/xl1/{networkId}/block/{blockHash}/payload/{payloadHash}[/{render}]` */\n blockPayload(blockHash: string, payloadHash: string, render?: string): string {\n const base = `${this.network()}/block/${blockHash}/payload/${payloadHash}`\n return render === undefined ? base : `${base}/${render}`\n }\n\n /** `{explorerUrl}/xl1/{networkId}/blocks` */\n blocks(): string {\n return `${this.network()}/blocks`\n }\n\n /** `{explorerUrl}/xl1/{networkId}` */\n network(): string {\n return `${this.explorerUrl}/xl1/${this.networkId}`\n }\n\n /** `{explorerUrl}/xl1/{networkId}/transaction/{txHash}` */\n transaction(txHash: string): string {\n return `${this.network()}/transaction/${txHash}`\n }\n\n /** `{explorerUrl}/xl1/{networkId}/transaction/{txHash}/payload/{payloadHash}[/{render}]` */\n transactionPayload(txHash: string, payloadHash: string, render?: string): string {\n const base = `${this.network()}/transaction/${txHash}/payload/${payloadHash}`\n return render === undefined ? base : `${base}/${render}`\n }\n\n /** `{explorerUrl}/xl1/{networkId}/transactions` */\n transactions(): string {\n return `${this.network()}/transactions`\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["<svg id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 256 256\"><g style=\"opacity:.5;\"><path d=\"M154.71,97c.46,2.59,2.5,4.62,5.1,5.05l14.05,2.34,31.71-46.17c4.57-6.65-3.62-14.62-10.14-9.87l-43.68,31.83,2.97,16.82Z\" style=\"fill:#f47f00;\"/><path d=\"M173.86,151.62l-14.05,2.34c-2.6.43-4.64,2.45-5.1,5.05l-2.97,16.82,43.68,31.83c6.52,4.75,14.71-3.21,10.14-9.87l-31.71-46.17Z\" style=\"fill:#f47f00;\"/><path d=\"M82.14,104.38l14.05-2.34c2.6-.43,4.64-2.45,5.1-5.05l2.97-16.82-43.68-31.83c-6.52-4.75-14.71,3.21-10.14,9.87l31.71,46.17Z\" style=\"fill:#f47f00;\"/><path d=\"M101.29,159c-.46-2.59-2.5-4.62-5.1-5.05l-14.05-2.34-31.71,46.17c-4.57,6.65,3.62,14.62,10.14,9.87l43.68-31.83-2.97-16.82Z\" style=\"fill:#f47f00;\"/></g><path d=\"M107.33,104l15.94-90.32c.93-5.3,8.53-5.3,9.47,0l15.94,90.32c.35,2.01,1.94,3.57,3.95,3.91l92.24,15.35c5.36.89,5.36,8.59,0,9.49l-92.24,15.35c-2.01.33-3.59,1.9-3.95,3.91l-15.94,90.32c-.93,5.3-8.53,5.3-9.47,0l-15.94-90.32c-.35-2.01-1.94-3.57-3.95-3.91l-92.24-15.35c-5.36-.89-5.36-8.59,0-9.49l92.24-15.35c2.01-.33,3.59-1.9,3.95-3.91Z\" style=\"fill:#f47f00;\"/></svg>", "<svg id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 256 256\"><path d=\"M154.71,97c.46,2.59,2.5,4.62,5.1,5.05l14.05,2.34,31.71-46.17c4.57-6.65-3.62-14.62-10.14-9.87l-43.68,31.83,2.97,16.82Z\" style=\"fill:#8d8fc6;\"/><path d=\"M173.86,151.62l-14.05,2.34c-2.6.43-4.64,2.45-5.1,5.05l-2.97,16.82,43.68,31.83c6.52,4.75,14.71-3.21,10.14-9.87l-31.71-46.17Z\" style=\"fill:#eb407a;\"/><path d=\"M82.14,104.38l14.05-2.34c2.6-.43,4.64-2.45,5.1-5.05l2.97-16.82-43.68-31.83c-6.52-4.75-14.71,3.21-10.14,9.87l31.71,46.17Z\" style=\"fill:#579fd6;\"/><path d=\"M101.29,159c-.46-2.59-2.5-4.62-5.1-5.05l-14.05-2.34-31.71,46.17c-4.57,6.65,3.62,14.62,10.14,9.87l43.68-31.83-2.97-16.82Z\" style=\"fill:#f27046;\"/><path d=\"M107.33,104l15.94-90.32c.93-5.3,8.53-5.3,9.47,0l15.94,90.32c.35,2.01,1.94,3.57,3.95,3.91l92.24,15.35c5.36.89,5.36,8.59,0,9.49l-92.24,15.35c-2.01.33-3.59,1.9-3.95,3.91l-15.94,90.32c-.93,5.3-8.53,5.3-9.47,0l-15.94-90.32c-.35-2.01-1.94-3.57-3.95-3.91l-92.24-15.35c-5.36-.89-5.36-8.59,0-9.49l92.24-15.35c2.01-.33,3.59-1.9,3.95-3.91Z\" style=\"fill:#572aff;\"/></svg>", "<svg id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 256 256\"><g style=\"opacity:.5;\"><path d=\"M154.71,97c.46,2.59,2.5,4.62,5.1,5.05l14.05,2.34,31.71-46.17c4.57-6.65-3.62-14.62-10.14-9.87l-43.68,31.83,2.97,16.82Z\" style=\"fill:#579fd6;\"/><path d=\"M173.86,151.62l-14.05,2.34c-2.6.43-4.64,2.45-5.1,5.05l-2.97,16.82,43.68,31.83c6.52,4.75,14.71-3.21,10.14-9.87l-31.71-46.17Z\" style=\"fill:#579fd6;\"/><path d=\"M82.14,104.38l14.05-2.34c2.6-.43,4.64-2.45,5.1-5.05l2.97-16.82-43.68-31.83c-6.52-4.75-14.71,3.21-10.14,9.87l31.71,46.17Z\" style=\"fill:#579fd6;\"/><path d=\"M101.29,159c-.46-2.59-2.5-4.62-5.1-5.05l-14.05-2.34-31.71,46.17c-4.57,6.65,3.62,14.62,10.14,9.87l43.68-31.83-2.97-16.82Z\" style=\"fill:#579fd6;\"/></g><path d=\"M107.33,104l15.94-90.32c.93-5.3,8.53-5.3,9.47,0l15.94,90.32c.35,2.01,1.94,3.57,3.95,3.91l92.24,15.35c5.36.89,5.36,8.59,0,9.49l-92.24,15.35c-2.01.33-3.59,1.9-3.95,3.91l-15.94,90.32c-.93,5.3-8.53,5.3-9.47,0l-15.94-90.32c-.35-2.01-1.94-3.57-3.95-3.91l-92.24-15.35c-5.36-.89-5.36-8.59,0-9.49l92.24-15.35c2.01-.33,3.59-1.9,3.95-3.91Z\" style=\"fill:#579fd6;\"/></svg>", "import { asHex } from '@ariestools/sdk'\n\nimport {\n LocalNetworkIconString, MainNetworkIconString, SequenceNetworkIconString,\n} from '../icons/index.ts'\nimport type { NetworkBootstrap, NetworkId } from '../models/index.ts'\nimport { NetworkBootstrapSchema } from '../models/index.ts'\n\n/** Bootstrap configuration for the XYO Layer 1 mainnet. */\nexport const MainNetwork: NetworkBootstrap = {\n chain: asHex('319e667ced10452a117472811130444ded357f26', true),\n description: 'Main Network for XYO Layer 1',\n icon: MainNetworkIconString,\n id: 'mainnet' as NetworkId,\n name: 'Mainnet',\n schema: NetworkBootstrapSchema,\n symbol: 'XL1',\n url: 'https://api.chain.xyo.network',\n explorerUrl: 'https://explore.xyo.network',\n}\n\n/** Bootstrap configuration for the XYO Layer 1 sequence (test) network. */\nexport const SequenceNetwork: NetworkBootstrap = {\n chain: asHex('4b43a753c8024c0e5000e8ac948ac0063ac624bc', true),\n description: 'Test Network for XYO Layer 1',\n icon: SequenceNetworkIconString,\n id: 'sequence' as NetworkId,\n name: 'Sequence',\n schema: NetworkBootstrapSchema,\n symbol: 'XL1',\n url: 'https://beta.api.chain.xyo.network',\n explorerUrl: 'https://beta.explore.xyo.network',\n}\n\n/** Bootstrap configuration for a local development network. */\nexport const LocalNetwork: NetworkBootstrap = {\n description: 'Local Node',\n icon: LocalNetworkIconString,\n id: 'local' as NetworkId,\n name: 'Local',\n schema: NetworkBootstrapSchema,\n symbol: 'XL1',\n url: 'http://localhost:8080',\n explorerUrl: 'http://localhost:3000',\n}\n\n/** Default set of available XYO Layer 1 networks (mainnet, sequence, local). */\nexport const DefaultNetworks: NetworkBootstrap[] = [MainNetwork, SequenceNetwork, LocalNetwork]\n", "import type { Address } from '@ariestools/sdk'\nimport { AsObjectFactory } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport { asSchema, isPayloadOfSchemaType } from '@xyo-network/sdk'\n\nimport type { ChainId } from '#protocol-lib'\n\nimport type { NetworkId } from './NetworkId.ts'\n\n/** Connection details for accessing a chain endpoint. */\nexport interface ChainConnection {\n /** Chain Identifier - can be a hex (eth contract address) or a string */\n chain?: ChainId\n /** Name of the chain */\n name: string\n /** URL for accessing the network */\n url: string\n}\n\n/** Schema identifier for network bootstrap payloads. */\nexport const NetworkBootstrapSchema = asSchema('network.xyo.network.bootstrap', true)\n/** Schema type for network bootstrap payloads. */\nexport type NetworkBootstrapSchema = typeof NetworkBootstrapSchema\n\n/** Fields describing a chain fork origin. */\nexport interface ChainForkFields {\n /** Block Number at which the chain was forked from */\n forkedAtLastBlockNumber?: string\n /** Hash in the last block the chain was forked from */\n forkedAtLastHash?: string\n /** Address of the forked chain */\n forkedChainId?: Address\n}\n\n/** Core fields describing an XYO network. */\nexport interface NetworkFields {\n /** Description of the network */\n description: string\n /** URL for accessing the network explorer */\n explorerUrl?: string\n /** string representation of the icon (SVG) */\n icon?: string\n /** Machine-readable identifier */\n id: NetworkId\n schema: NetworkBootstrapSchema\n /** Symbol of the network */\n symbol?: string\n}\n\n/** Optional Properties can be found walking the chain to the genesis block */\nexport interface NetworkBootstrapFields extends NetworkFields, ChainForkFields, ChainConnection {}\n\n/** A network bootstrap extended with a flag indicating whether it is a custom network. */\nexport interface Network extends NetworkBootstrap {\n custom: boolean\n}\n\n/** Payload type containing all network bootstrap configuration fields. */\nexport type NetworkBootstrap = Payload<NetworkBootstrapFields, NetworkBootstrapSchema>\n\n/** Type guard that checks whether a payload is a NetworkBootstrap. */\nexport const isNetworkBootstrap = isPayloadOfSchemaType<NetworkBootstrap>(NetworkBootstrapSchema)\n\n/** Optionally casts a value to a Network if it is a valid NetworkBootstrap. */\nexport const asOptionalNetwork = AsObjectFactory.createOptional(isNetworkBootstrap)\n", "import type { GatewayName } from '#protocol-lib'\n\nimport {\n LocalNetwork, MainNetwork, SequenceNetwork,\n} from './Networks.ts'\n\n/** Map of network IDs to their corresponding Data Lake API URLs. */\nexport const NetworkDataLakeUrls = {\n [MainNetwork.id]: 'https://api.archivist.xyo.network/dataLake',\n [SequenceNetwork.id]: 'https://beta.api.archivist.xyo.network/dataLake',\n [LocalNetwork.id]: 'http://localhost:8080/dataLake',\n} as const satisfies Record<GatewayName, string>\n", "import type { AttachableNodeInstance, WalletInstance } from '@xyo-network/sdk'\nimport { ManifestWrapper, ModuleFactoryLocator } from '@xyo-network/sdk'\n\nimport { NetworkNodeManifest } from '../../manifest/index.ts'\n\n/**\n * Creates a network node from the network manifest using the provided wallet.\n *\n * @deprecated Bootstrapping an XYO `NodeInstance` via manifest is no longer supported.\n * Use `connectArchivist` from `@xyo-network/xl1-protocol-sdk` for co-located archivist\n * access, or `GatewayBuilder` from `@xyo-network/xl1-gateway` for remote RPC access.\n */\nexport async function getNetworkNode(wallet: WalletInstance): Promise<AttachableNodeInstance> {\n const wrapper = new ManifestWrapper(NetworkNodeManifest, wallet, new ModuleFactoryLocator())\n const [node] = await wrapper.loadNodes()\n return node\n}\n", "{\n \"$schema\": \"https://raw.githubusercontent.com/XYOracleNetwork/sdk-xyo-client-js/main/packages/manifest/src/schema.json\",\n \"nodes\": [\n {\n \"config\": {\n \"accountPath\": \"44'/60'/1\",\n \"name\": \"Network\",\n \"schema\": \"network.xyo.node.config\"\n },\n \"modules\": {\n \"private\": [],\n \"public\": []\n }\n }\n ],\n \"schema\": \"network.xyo.manifest\"\n}", "import type { PackageManifestPayload } from '@xyo-network/sdk'\n\nimport node from './network.json' with { type: 'json' }\n\n/** @deprecated XYO Node manifest bootstrap is no longer used; wire providers via archivist bindings or JsonRpc instead. */\nexport const NetworkNodeManifest = node as unknown as PackageManifestPayload\n", "import type { AttachableNodeInstance } from '@xyo-network/sdk'\n\nconst networkNodeMap = new Map<string, AttachableNodeInstance>()\n\n/** @deprecated Internal cache for deprecated `initNetworkNode`; do not use. */\nexport const getNetworkNodes = () => {\n return networkNodeMap\n}\n", "import type { AttachableNodeInstance, WalletInstance } from '@xyo-network/sdk'\n\nimport type { NetworkBootstrap } from '../../models/index.ts'\nimport { getNetworkNode } from './getNetworkNode.ts'\nimport { getNetworkNodes } from './getNetworkNodes.ts'\n\n/** @deprecated Use `connectArchivist` archivist bindings (`@xyo-network/xl1-protocol-sdk`) or `GatewayBuilder` (`@xyo-network/xl1-gateway`) instead of bootstrapping an XYO NodeInstance. */\nexport const initNetworkNode = async (activeNetwork: NetworkBootstrap, wallet: WalletInstance): Promise<AttachableNodeInstance> => {\n const networkNodeMap = getNetworkNodes()\n if (networkNodeMap.has(activeNetwork.url)) return networkNodeMap.get(activeNetwork.url)!\n\n const activeNetworkNode = await getNetworkNode(wallet)\n networkNodeMap.set(activeNetwork.url, activeNetworkNode)\n\n return activeNetworkNode\n}\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport {\n ChainIdZod, NumberishZod, type XL1BlockNumber,\n} from '#protocol-lib'\n\nconst ChainContractBlockNumberZod = NumberishZod\n .pipe(z.int().nonnegative())\n .transform(value => value as XL1BlockNumber)\n\n/** Schema id for the chain-contract manifest document. */\nexport const ChainContractManifestSchema = 'network.xyo.s3.chain.contract' as const\n/** Type literal for the chain-contract manifest schema. */\nexport type ChainContractManifestSchema = typeof ChainContractManifestSchema\n\n/** Bumped when the manifest shape changes, so readers can detect a mismatch. */\nexport const CHAIN_CONTRACT_MANIFEST_VERSION = 1\n\n/**\n * Zod schema for the static per-chain config at `chainContractPath()`: the reward contract,\n * staking token, minimum withdrawal window, and (optional) fork lineage. Published once \u2014\n * this data doesn't change per block, unlike `chain/head.json`.\n */\nexport const ChainContractManifestZod = z.object({\n forkedAtBlockNumber: ChainContractBlockNumberZod.nullable().optional(),\n forkedAtHash: z.string().nullable().optional(),\n forkedChainId: z.nullable(ChainIdZod).optional(),\n minWithdrawalBlocks: NumberishZod.pipe(z.int().nonnegative()),\n rewardsContract: z.string(),\n schema: z.literal(ChainContractManifestSchema),\n stakingTokenAddress: z.string(),\n version: z.int().positive(),\n})\n\n/** The static per-chain contract config at `chainContractPath()`. */\nexport type ChainContractManifest = z.infer<typeof ChainContractManifestZod>\n\n/** Numeric-input-tolerant shape accepted when creating a chain-contract manifest. */\nexport type ChainContractManifestInput = z.input<typeof ChainContractManifestZod>\n\n/** Type guard that checks if a value is a valid ChainContractManifest. */\nexport const isChainContractManifest = zodIsFactory(ChainContractManifestZod)\n/** Converts a value to ChainContractManifest, throwing if invalid. */\nexport const asChainContractManifest = zodAsFactory(ChainContractManifestZod, 'asChainContractManifest')\n/** Non-validating cast to ChainContractManifest. */\nexport const toChainContractManifest = zodToFactory(ChainContractManifestZod, 'toChainContractManifest')\n\n/** Builds a validated chain-contract manifest. */\nexport function createChainContractManifest(\n config: Omit<ChainContractManifestInput, 'schema' | 'version'>,\n): ChainContractManifest {\n return ChainContractManifestZod.parse({\n ...config,\n schema: ChainContractManifestSchema,\n version: CHAIN_CONTRACT_MANIFEST_VERSION,\n })\n}\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport { chainManifestPathTemplates } from '../templates.ts'\n\n/** Bumped when the finalized layout changes shape, so readers can detect a mismatch. */\nexport const CHAIN_LAYOUT_VERSION = 1\n\n/** Schema id for the finalized layout manifest document. */\nexport const ChainManifestSchema = 'network.xyo.s3.chain.manifest' as const\n/** Type literal for the chain manifest schema. */\nexport type ChainManifestSchema = typeof ChainManifestSchema\n\n/** Path templates for the finalized + chain-state files. */\nexport const ChainManifestPathsZod = z.object({\n blockByHash: z.string(),\n blockByNumber: z.string(),\n head: z.string(),\n payload: z.string(),\n})\n\n/** Type for chain manifest path templates. */\nexport type ChainManifestPaths = z.infer<typeof ChainManifestPathsZod>\n\n/** Zod schema for the finalized layout descriptor at `manifestPath()`. */\nexport const ChainManifestZod = z.object({\n /** Lowest block number available in the bucket (genesis until pruning exists). */\n earliestBlock: z.int().nonnegative(),\n /** Storage/wire encoding of the published files (also on each object's Content-Encoding). */\n encoding: z.string(),\n paths: ChainManifestPathsZod,\n schema: z.literal(ChainManifestSchema),\n version: z.int().positive(),\n})\n\n/** The finalized layout descriptor at `manifestPath()`. */\nexport type ChainManifest = z.infer<typeof ChainManifestZod>\n\n/** Type guard that checks if a value is a valid ChainManifest. */\nexport const isChainManifest = zodIsFactory(ChainManifestZod)\n/** Converts a value to ChainManifest, throwing if invalid. */\nexport const asChainManifest = zodAsFactory(ChainManifestZod, 'asChainManifest')\n/** Non-validating cast to ChainManifest. */\nexport const toChainManifest = zodToFactory(ChainManifestZod, 'toChainManifest')\n\n/** Builds a validated chain manifest with path templates derived from the path builders. */\nexport function createChainManifest(encoding: string, earliestBlock = 0): ChainManifest {\n return asChainManifest({\n earliestBlock,\n encoding,\n paths: chainManifestPathTemplates(),\n schema: ChainManifestSchema,\n version: CHAIN_LAYOUT_VERSION,\n }, true)\n}\n", "/**\n * Path builders for the chain-state (mutable) bucket.\n *\n * Paths are relative \u2014 no leading slash \u2014 and joined to a base URL by the consumer.\n */\n\n/** The mutable head pointer: the current head SignedHydratedBlockWithHashMeta. */\nexport const headPath = (): string => 'chain/head.json'\n\n/** The chain-contract manifest: static per-chain config (rewards contract, staking token, fork info). Published once. */\nexport const chainContractPath = (): string => 'chain/contract.json'\n", "/**\n * Path builders for the finalized (immutable) bucket.\n *\n * Paths are relative \u2014 no leading slash \u2014 and joined to a base URL by the consumer.\n */\n\n/** The finalized layout descriptor (path templates, encoding, version, earliest block). */\nexport const manifestPath = (): string => 'manifest.json'\n\n/** A block by number: SignedHydratedBlockWithHashMeta. */\nexport const blockNumberPath = (block: number): string => `block/number/${block}.json`\n\n/** A block by hash: the same content as its by-number twin. */\nexport const blockHashPath = (hash: string): string => `block/hash/${hash}.json`\n\n/** A payload by hash: WithHashMeta<Payload>. */\nexport const payloadPath = (hash: string): string => `payload/${hash}.json`\n", "import type { IndexSummaryFamily } from '#protocol-lib'\n\n/**\n * Path builders for the index bucket.\n *\n * The index is a separate, single-writer bucket holding completed step summaries for several\n * families. Paths are relative \u2014 no leading slash \u2014 and joined to a base URL by the consumer.\n */\n\n/** A completed frame's summary for a family, e.g. `blocks/2/5.json`. Immutable once written. */\nexport const indexSummaryPath = (family: IndexSummaryFamily, stepLevel: number, stepIndex: number): string =>\n `${family}/${stepLevel}/${stepIndex}.json`\n\n/** The index layout descriptor (families, max step, encoding, version). */\nexport const indexManifestPath = (): string => 'manifest.json'\n\n/** The indexer's progress watermark (highest block the index is complete through). */\nexport const indexHeadPath = (): string => 'head.json'\n", "import type { IndexSummaryFamily } from '#protocol-lib'\n\nimport { headPath } from './paths/chainState.ts'\nimport {\n blockHashPath, blockNumberPath, payloadPath,\n} from './paths/finalized.ts'\nimport { indexSummaryPath } from './paths/indexPaths.ts'\n\n/** Sentinel values used when deriving self-describing path templates from concrete builders. */\nconst TEMPLATE_SLOTS = {\n block: 0,\n hash: '0'.repeat(64),\n index: 99,\n level: 42,\n} as const\n\n/**\n * Replaces concrete slot literals in a path with named `{placeholder}` segments.\n * Used to derive manifest path templates from the path builders so the two cannot drift.\n */\nexport function toPathTemplate(path: string, slots: { literal: string; name: string }[]): string {\n let result = path\n for (const { literal, name } of slots) {\n if (!result.includes(literal)) {\n throw new Error(`Template slot \"${literal}\" not found in path \"${path}\"`)\n }\n result = result.split(literal).join(`{${name}}`)\n }\n return result\n}\n\n/** Fills `{placeholder}` segments in a manifest path template. Used in conformance tests. */\nexport function interpolatePathTemplate(template: string, values: Record<string, string | number>): string {\n let result = template\n for (const [key, value] of Object.entries(values)) {\n result = result.split(`{${key}}`).join(String(value))\n }\n return result\n}\n\n/** Self-describing template for `blockNumberPath`. */\nexport const blockNumberPathTemplate = (): string =>\n toPathTemplate(blockNumberPath(TEMPLATE_SLOTS.block), [{ literal: String(TEMPLATE_SLOTS.block), name: 'block' }])\n\n/** Self-describing template for `blockHashPath`. */\nexport const blockHashPathTemplate = (): string =>\n toPathTemplate(blockHashPath(TEMPLATE_SLOTS.hash), [{ literal: TEMPLATE_SLOTS.hash, name: 'hash' }])\n\n/** Self-describing template for `payloadPath`. */\nexport const payloadPathTemplate = (): string =>\n toPathTemplate(payloadPath(TEMPLATE_SLOTS.hash), [{ literal: TEMPLATE_SLOTS.hash, name: 'hash' }])\n\n/** Self-describing templates for finalized + chain-state files carried in the chain manifest. */\nexport function chainManifestPathTemplates(): {\n blockByHash: string\n blockByNumber: string\n head: string\n payload: string\n} {\n return {\n blockByHash: blockHashPathTemplate(),\n blockByNumber: blockNumberPathTemplate(),\n head: headPath(),\n payload: payloadPathTemplate(),\n }\n}\n\n/** Self-describing template for one index summary family, e.g. `blocks/{level}/{index}.json`. */\nexport function indexSummaryPathTemplate(family: IndexSummaryFamily): string {\n const path = indexSummaryPath(family, TEMPLATE_SLOTS.level, TEMPLATE_SLOTS.index)\n return toPathTemplate(path, [\n { literal: String(TEMPLATE_SLOTS.level), name: 'level' },\n { literal: String(TEMPLATE_SLOTS.index), name: 'index' },\n ])\n}\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport type { IndexSummaryFamily, IndexWatermark } from '#protocol-lib'\n\nimport { indexSummaryPathTemplate } from '../templates.ts'\n\n/** Bumped when the on-disk index layout changes shape, so readers can detect a mismatch. */\nexport const INDEX_LAYOUT_VERSION = 1\n\n/** Schema id for the index manifest document (the static layout descriptor). */\nexport const IndexManifestSchema = 'network.xyo.s3.index.manifest' as const\n/** Type literal for the index manifest schema. */\nexport type IndexManifestSchema = typeof IndexManifestSchema\n\n/** Schema id for the index head document (the progress watermark). */\nexport const IndexHeadSchema = 'network.xyo.s3.index.head' as const\n/** Type literal for the index head schema. */\nexport type IndexHeadSchema = typeof IndexHeadSchema\n\n/** Per-family descriptor carried in the manifest. */\nexport const IndexManifestFamilyZod = z.object({\n /** Highest step level published for this family. */\n maxStep: z.int().nonnegative(),\n /** Path template for the family's frames, e.g. `blocks/{level}/{index}.json`. */\n path: z.string(),\n})\n\n/** Type for one index manifest family descriptor. */\nexport type IndexManifestFamily = z.infer<typeof IndexManifestFamilyZod>\n\nconst indexFamiliesZod = z.object({\n balances: IndexManifestFamilyZod,\n blocks: IndexManifestFamilyZod,\n schemas: IndexManifestFamilyZod,\n transfers: IndexManifestFamilyZod,\n})\n\n/** Zod schema for the static index layout descriptor at `indexManifestPath()`. */\nexport const IndexManifestZod = z.object({\n families: indexFamiliesZod,\n schema: z.literal(IndexManifestSchema),\n version: z.int().positive(),\n})\n\n/** The static index layout descriptor at `indexManifestPath()`. */\nexport type IndexManifest = z.infer<typeof IndexManifestZod>\n\n/** Type guard that checks if a value is a valid IndexManifest. */\nexport const isIndexManifest = zodIsFactory(IndexManifestZod)\n/** Converts a value to IndexManifest, throwing if invalid. */\nexport const asIndexManifest = zodAsFactory(IndexManifestZod, 'asIndexManifest')\n/** Non-validating cast to IndexManifest. */\nexport const toIndexManifest = zodToFactory(IndexManifestZod, 'toIndexManifest')\n\n/** Completed frame counts per family in the index head watermark. */\nexport const IndexHeadFamiliesZod = z.object({\n balances: z.int().nonnegative(),\n blocks: z.int().nonnegative(),\n schemas: z.int().nonnegative(),\n transfers: z.int().nonnegative(),\n})\n\n/** Zod schema for the index progress watermark at `indexHeadPath()`. */\nexport const IndexHeadZod = z.object({\n /** Highest block the index is complete through. */\n block: z.int().nonnegative(),\n /** Completed frame counts per family. */\n families: IndexHeadFamiliesZod,\n /** Hash of that block. */\n hash: z.string(),\n schema: z.literal(IndexHeadSchema),\n /** ISO-8601 timestamp of the last update. */\n updatedAt: z.string(),\n version: z.int().positive(),\n})\n\n/** The index progress watermark at `indexHeadPath()`. */\nexport type IndexHead = z.infer<typeof IndexHeadZod>\n\n/** Type guard that checks if a value is a valid IndexHead. */\nexport const isIndexHead = zodIsFactory(IndexHeadZod)\n/** Converts a value to IndexHead, throwing if invalid. */\nexport const asIndexHead = zodAsFactory(IndexHeadZod, 'asIndexHead')\n/** Non-validating cast to IndexHead. */\nexport const toIndexHead = zodToFactory(IndexHeadZod, 'toIndexHead')\n\n/** Builds per-family manifest descriptors with path templates derived from the path builders. */\nexport function createIndexManifestFamilies(\n maxSteps: Record<IndexSummaryFamily, number>,\n): Record<IndexSummaryFamily, IndexManifestFamily> {\n return {\n balances: { maxStep: maxSteps.balances, path: indexSummaryPathTemplate('balances') },\n blocks: { maxStep: maxSteps.blocks, path: indexSummaryPathTemplate('blocks') },\n schemas: { maxStep: maxSteps.schemas, path: indexSummaryPathTemplate('schemas') },\n transfers: { maxStep: maxSteps.transfers, path: indexSummaryPathTemplate('transfers') },\n }\n}\n\n/** Builds a validated index manifest with path templates derived from the path builders. */\nexport function createIndexManifest(maxSteps: Record<IndexSummaryFamily, number>): IndexManifest {\n return asIndexManifest({\n families: createIndexManifestFamilies(maxSteps),\n schema: IndexManifestSchema,\n version: INDEX_LAYOUT_VERSION,\n }, true)\n}\n\n/** Builds a validated index head watermark from an indexer progress snapshot. */\nexport function createIndexHead(watermark: IndexWatermark, updatedAt?: string): IndexHead {\n const now = new Date()\n const resolvedUpdatedAt = updatedAt ?? now.toISOString()\n return asIndexHead({\n block: watermark.block,\n families: watermark.families,\n hash: watermark.hash,\n schema: IndexHeadSchema,\n updatedAt: resolvedUpdatedAt,\n version: INDEX_LAYOUT_VERSION,\n }, true)\n}\n", "import type { NetworkId } from '../models/index.ts'\n\n/** Builds URLs to pages on an XL1 chain explorer for a specific network. */\nexport class ExplorerLinks {\n readonly explorerUrl: string\n readonly networkId: NetworkId\n\n constructor(explorerUrl: string, networkId: NetworkId) {\n this.explorerUrl = explorerUrl.replace(/\\/+$/, '')\n this.networkId = networkId\n }\n\n /** `{explorerUrl}/xl1/{networkId}/address/{address}` */\n address(address: string): string {\n return `${this.network()}/address/${address}`\n }\n\n /** `{explorerUrl}/xl1/{networkId}/addresses` */\n addresses(): string {\n return `${this.network()}/addresses`\n }\n\n /** `{explorerUrl}/xl1/{networkId}/block/{blockHash}` */\n block(blockHash: string): string {\n return `${this.network()}/block/${blockHash}`\n }\n\n /** `{explorerUrl}/xl1/{networkId}/block/number/{blockNumber}` */\n blockByNumber(blockNumber: number | string): string {\n return `${this.network()}/block/number/${blockNumber}`\n }\n\n /** `{explorerUrl}/xl1/{networkId}/block/{blockHash}/payload/{payloadHash}[/{render}]` */\n blockPayload(blockHash: string, payloadHash: string, render?: string): string {\n const base = `${this.network()}/block/${blockHash}/payload/${payloadHash}`\n return render === undefined ? base : `${base}/${render}`\n }\n\n /** `{explorerUrl}/xl1/{networkId}/blocks` */\n blocks(): string {\n return `${this.network()}/blocks`\n }\n\n /** `{explorerUrl}/xl1/{networkId}` */\n network(): string {\n return `${this.explorerUrl}/xl1/${this.networkId}`\n }\n\n /** `{explorerUrl}/xl1/{networkId}/transaction/{txHash}` */\n transaction(txHash: string): string {\n return `${this.network()}/transaction/${txHash}`\n }\n\n /** `{explorerUrl}/xl1/{networkId}/transaction/{txHash}/payload/{payloadHash}[/{render}]` */\n transactionPayload(txHash: string, payloadHash: string, render?: string): string {\n const base = `${this.network()}/transaction/${txHash}/payload/${payloadHash}`\n return render === undefined ? base : `${base}/${render}`\n }\n\n /** `{explorerUrl}/xl1/{networkId}/transactions` */\n transactions(): string {\n return `${this.network()}/transactions`\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["networkNodeMap", "zodAsFactory", "zodIsFactory", "zodToFactory", "z", "z", "zodIsFactory", "zodAsFactory", "zodToFactory", "zodAsFactory", "zodIsFactory", "zodToFactory", "z", "z", "zodIsFactory", "zodAsFactory", "zodToFactory"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/xl1-protocol",
3
- "version": "4.1.5",
3
+ "version": "4.2.0",
4
4
  "description": "XYO Layer One Protocol - All Protocol Packages",
5
5
  "homepage": "https://xylabs.com",
6
6
  "bugs": {
@@ -72,9 +72,9 @@
72
72
  "README.md"
73
73
  ],
74
74
  "devDependencies": {
75
- "@ariestools/sdk": "~8.0.8",
76
- "@ariestools/toolchain": "~8.7.7",
77
- "@ariestools/tsconfig": "~8.7.7",
75
+ "@ariestools/sdk": "~8.1.0",
76
+ "@ariestools/toolchain": "~8.7.10",
77
+ "@ariestools/tsconfig": "~8.7.10",
78
78
  "@opentelemetry/api": "~1.9.1",
79
79
  "@xyo-network/sdk": "~7.1.1",
80
80
  "@xyo-network/sdk-protocol": "~7.1.0",
@@ -87,13 +87,12 @@
87
87
  "zod": "~4.4.3"
88
88
  },
89
89
  "peerDependencies": {
90
- "@ariestools/sdk": "^8.0.8",
91
- "@opentelemetry/api": "^1.9.1",
92
- "@xyo-network/sdk": "^7.1.1",
93
- "@xyo-network/sdk-protocol": "^7.1.0",
94
- "ajv": "^8.20.0",
95
- "ethers": "^6.17.0",
96
- "zod": "^4.4.3"
90
+ "@ariestools/sdk": "^8.1",
91
+ "@opentelemetry/api": "^1.9",
92
+ "@xyo-network/sdk": "^7.1",
93
+ "ajv": "^8.20",
94
+ "ethers": "^6.17",
95
+ "zod": "^4.4"
97
96
  },
98
97
  "engines": {
99
98
  "node": ">=22.3"