@xyo-network/xl1-protocol 5.0.2 → 5.0.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.
@@ -2,4 +2,5 @@ export * from './chainContractManifest.js';
2
2
  export * from './chainManifest.js';
3
3
  export * from './evmEventIndex.js';
4
4
  export * from './indexManifest.js';
5
+ export * from './networkStakeRewardsIndex.js';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/network-model/staticRest/layout/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA;AAC1C,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/network-model/staticRest/layout/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA;AAC1C,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,+BAA+B,CAAA"}
@@ -0,0 +1,191 @@
1
+ import { z } from 'zod';
2
+ /** Version of the durable network-stake rewards index layout. */
3
+ export declare const NETWORK_STAKE_REWARDS_INDEX_LAYOUT: "network-stake-rewards-v1";
4
+ /** Default reward policy identifier for unmultiplied protocol rewards. */
5
+ export declare const NETWORK_STAKE_REWARDS_BASE_POLICY: "base-v1";
6
+ /** Path-safe identifier for a deterministic reward policy. */
7
+ export declare const NetworkStakeRewardsPolicyIdZod: z.ZodString;
8
+ /** Static policy and source description for one rewards index tree. */
9
+ export declare const NetworkStakeRewardsIndexManifestZod: z.ZodObject<{
10
+ evmAddress: z.ZodString;
11
+ evmChainId: z.ZodString;
12
+ layout: z.ZodLiteral<"network-stake-rewards-v1">;
13
+ policyId: z.ZodString;
14
+ stepLevels: z.ZodArray<z.ZodNumber>;
15
+ timeAnchor: z.ZodOptional<z.ZodObject<{
16
+ externalGenesisTime: z.ZodOptional<z.ZodNumber>;
17
+ maxScanBlocks: z.ZodOptional<z.ZodNumber>;
18
+ }, z.core.$strip>>;
19
+ }, z.core.$strip>;
20
+ /** Static policy and source description for one rewards index tree. */
21
+ export type NetworkStakeRewardsIndexManifest = z.infer<typeof NetworkStakeRewardsIndexManifestZod>;
22
+ /** Immutable reward allocation for one completed XL1 reward step. */
23
+ export declare const NetworkStakeRewardsIndexStepZod: z.ZodObject<{
24
+ denominator: z.ZodString;
25
+ externalRange: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
26
+ layout: z.ZodLiteral<"network-stake-rewards-v1">;
27
+ policyId: z.ZodString;
28
+ positionRewards: z.ZodRecord<z.ZodString, z.ZodString>;
29
+ step: z.ZodObject<{
30
+ block: z.ZodNumber;
31
+ step: z.ZodNumber;
32
+ }, z.core.$strip>;
33
+ totalReward: z.ZodString;
34
+ xl1Range: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
35
+ }, z.core.$strip>;
36
+ /** Immutable reward allocation for one completed XL1 reward step. */
37
+ export type NetworkStakeRewardsIndexStep = z.infer<typeof NetworkStakeRewardsIndexStepZod>;
38
+ /** Immutable cumulative position totals referenced by a mutable head. */
39
+ export declare const NetworkStakeRewardsIndexSnapshotZod: z.ZodObject<{
40
+ layout: z.ZodLiteral<"network-stake-rewards-v1">;
41
+ policyId: z.ZodString;
42
+ positionRewards: z.ZodRecord<z.ZodString, z.ZodString>;
43
+ stepCount: z.ZodNumber;
44
+ totalReward: z.ZodString;
45
+ }, z.core.$strip>;
46
+ /** Immutable cumulative position totals referenced by a mutable head. */
47
+ export type NetworkStakeRewardsIndexSnapshot = z.infer<typeof NetworkStakeRewardsIndexSnapshotZod>;
48
+ /** Mutable pointer written only after every referenced step and snapshot is durable. */
49
+ export declare const NetworkStakeRewardsIndexHeadZod: z.ZodObject<{
50
+ layout: z.ZodLiteral<"network-stake-rewards-v1">;
51
+ policyId: z.ZodString;
52
+ positionCount: z.ZodNumber;
53
+ processedThroughBlock: z.ZodNumber;
54
+ snapshot: z.ZodString;
55
+ source: z.ZodObject<{
56
+ evm: z.ZodObject<{
57
+ block: z.ZodNumber;
58
+ hash: z.ZodString;
59
+ }, z.core.$strip>;
60
+ xl1: z.ZodObject<{
61
+ block: z.ZodNumber;
62
+ hash: z.ZodString;
63
+ }, z.core.$strip>;
64
+ }, z.core.$strip>;
65
+ stepCount: z.ZodNumber;
66
+ }, z.core.$strip>;
67
+ /** Mutable pointer written only after every referenced step and snapshot is durable. */
68
+ export type NetworkStakeRewardsIndexHead = z.infer<typeof NetworkStakeRewardsIndexHeadZod>;
69
+ /** Checks whether a value is a valid rewards index manifest. */
70
+ export declare const isNetworkStakeRewardsIndexManifest: <T>(value: T) => value is T & {
71
+ evmAddress: string;
72
+ evmChainId: string;
73
+ layout: "network-stake-rewards-v1";
74
+ policyId: string;
75
+ stepLevels: number[];
76
+ timeAnchor?: {
77
+ externalGenesisTime?: number | undefined;
78
+ maxScanBlocks?: number | undefined;
79
+ } | undefined;
80
+ };
81
+ /** Converts a value to a rewards index manifest, throwing if invalid. */
82
+ export declare const asNetworkStakeRewardsIndexManifest: {
83
+ <T>(value: T): (T & {
84
+ evmAddress: string;
85
+ evmChainId: string;
86
+ layout: "network-stake-rewards-v1";
87
+ policyId: string;
88
+ stepLevels: number[];
89
+ timeAnchor?: {
90
+ externalGenesisTime?: number | undefined;
91
+ maxScanBlocks?: number | undefined;
92
+ } | undefined;
93
+ }) | undefined;
94
+ <T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
95
+ evmAddress: string;
96
+ evmChainId: string;
97
+ layout: "network-stake-rewards-v1";
98
+ policyId: string;
99
+ stepLevels: number[];
100
+ timeAnchor?: {
101
+ externalGenesisTime?: number | undefined;
102
+ maxScanBlocks?: number | undefined;
103
+ } | undefined;
104
+ };
105
+ };
106
+ /** Converts a value to a rewards index step, throwing if invalid. */
107
+ export declare const asNetworkStakeRewardsIndexStep: {
108
+ <T>(value: T): (T & {
109
+ denominator: string;
110
+ externalRange: [number, number];
111
+ layout: "network-stake-rewards-v1";
112
+ policyId: string;
113
+ positionRewards: Record<string, string>;
114
+ step: {
115
+ block: number;
116
+ step: number;
117
+ };
118
+ totalReward: string;
119
+ xl1Range: [number, number];
120
+ }) | undefined;
121
+ <T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
122
+ denominator: string;
123
+ externalRange: [number, number];
124
+ layout: "network-stake-rewards-v1";
125
+ policyId: string;
126
+ positionRewards: Record<string, string>;
127
+ step: {
128
+ block: number;
129
+ step: number;
130
+ };
131
+ totalReward: string;
132
+ xl1Range: [number, number];
133
+ };
134
+ };
135
+ /** Converts a value to a rewards index snapshot, throwing if invalid. */
136
+ export declare const asNetworkStakeRewardsIndexSnapshot: {
137
+ <T>(value: T): (T & {
138
+ layout: "network-stake-rewards-v1";
139
+ policyId: string;
140
+ positionRewards: Record<string, string>;
141
+ stepCount: number;
142
+ totalReward: string;
143
+ }) | undefined;
144
+ <T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
145
+ layout: "network-stake-rewards-v1";
146
+ policyId: string;
147
+ positionRewards: Record<string, string>;
148
+ stepCount: number;
149
+ totalReward: string;
150
+ };
151
+ };
152
+ /** Converts a value to a rewards index head, throwing if invalid. */
153
+ export declare const asNetworkStakeRewardsIndexHead: {
154
+ <T>(value: T): (T & {
155
+ layout: "network-stake-rewards-v1";
156
+ policyId: string;
157
+ positionCount: number;
158
+ processedThroughBlock: number;
159
+ snapshot: string;
160
+ source: {
161
+ evm: {
162
+ block: number;
163
+ hash: string;
164
+ };
165
+ xl1: {
166
+ block: number;
167
+ hash: string;
168
+ };
169
+ };
170
+ stepCount: number;
171
+ }) | undefined;
172
+ <T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
173
+ layout: "network-stake-rewards-v1";
174
+ policyId: string;
175
+ positionCount: number;
176
+ processedThroughBlock: number;
177
+ snapshot: string;
178
+ source: {
179
+ evm: {
180
+ block: number;
181
+ hash: string;
182
+ };
183
+ xl1: {
184
+ block: number;
185
+ hash: string;
186
+ };
187
+ };
188
+ stepCount: number;
189
+ };
190
+ };
191
+ //# sourceMappingURL=networkStakeRewardsIndex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"networkStakeRewardsIndex.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/network-model/staticRest/layout/networkStakeRewardsIndex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,iEAAiE;AACjE,eAAO,MAAM,kCAAkC,EAAG,0BAAmC,CAAA;AACrF,0EAA0E;AAC1E,eAAO,MAAM,iCAAiC,EAAG,SAAkB,CAAA;AAGnE,8DAA8D;AAC9D,eAAO,MAAM,8BAA8B,aAA6C,CAAA;AAQxF,uEAAuE;AACvE,eAAO,MAAM,mCAAmC;;;;;;;;;;iBAU9C,CAAA;AAEF,uEAAuE;AACvE,MAAM,MAAM,gCAAgC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAA;AAElG,qEAAqE;AACrE,eAAO,MAAM,+BAA+B;;;;;;;;;;;;iBAS1C,CAAA;AAEF,qEAAqE;AACrE,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAA;AAE1F,yEAAyE;AACzE,eAAO,MAAM,mCAAmC;;;;;;iBAM9C,CAAA;AAEF,yEAAyE;AACzE,MAAM,MAAM,gCAAgC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAA;AAElG,wFAAwF;AACxF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;iBAiB1C,CAAA;AAEF,wFAAwF;AACxF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAA;AAE1F,gEAAgE;AAChE,eAAO,MAAM,kCAAkC;;;;;;;;;;CAAoD,CAAA;AACnG,yEAAyE;AACzE,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;CAG9C,CAAA;AACD,qEAAqE;AACrE,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;CAG1C,CAAA;AACD,yEAAyE;AACzE,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;CAG9C,CAAA;AACD,qEAAqE;AACrE,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAG1C,CAAA"}
@@ -2,4 +2,5 @@ export * from './chainState.js';
2
2
  export * from './evmEventIndex.js';
3
3
  export * from './finalized.js';
4
4
  export * from './indexPaths.js';
5
+ export * from './networkStakeRewardsIndex.js';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/network-model/staticRest/paths/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/network-model/staticRest/paths/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,+BAA+B,CAAA"}
@@ -0,0 +1,10 @@
1
+ import type { StepIdentity } from '../../../protocol-model/index.js';
2
+ /** Path of the mutable rewards-index head. */
3
+ export declare function networkStakeRewardsIndexHeadPath(policyId: string): string;
4
+ /** Path of the static rewards-index manifest. */
5
+ export declare function networkStakeRewardsIndexManifestPath(policyId: string): string;
6
+ /** Path of one immutable cumulative position snapshot. */
7
+ export declare function networkStakeRewardsIndexSnapshotPath(policyId: string, stepCount: number): string;
8
+ /** Path of one immutable completed-step reward allocation. */
9
+ export declare function networkStakeRewardsIndexStepPath(policyId: string, step: StepIdentity): string;
10
+ //# sourceMappingURL=networkStakeRewardsIndex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"networkStakeRewardsIndex.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/network-model/staticRest/paths/networkStakeRewardsIndex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAMnD,8CAA8C;AAC9C,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,iDAAiD;AACjD,wBAAgB,oCAAoC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED,0DAA0D;AAC1D,wBAAgB,oCAAoC,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEhG;AAED,8DAA8D;AAC9D,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,MAAM,CAE7F"}
@@ -0,0 +1,26 @@
1
+ import type { Provider } from '../../protocol-model/index.js';
2
+ import type { EvmEventIndexHead } from './EvmEventIndexPublish.js';
3
+ import type { IndexWatermark } from './IndexPublish.js';
4
+ /** Durable rewards-index progress returned after a publication pass. */
5
+ export interface NetworkStakeRewardsIndexPublishHead {
6
+ /** Highest XL1 block for which every completed reward step is indexed. */
7
+ processedThroughBlock: number;
8
+ /** Number of immutable completed-step records represented by the snapshot. */
9
+ stepCount: number;
10
+ }
11
+ /** Operations exposed by the network-stake rewards index publisher. */
12
+ export interface NetworkStakeRewardsIndexPublishRunnerMethods {
13
+ /**
14
+ * Publishes rewards only through the intersection of the durable XL1 index
15
+ * watermark and finalized EVM event-index watermark.
16
+ */
17
+ publishRewardsIndex(xl1Head: IndexWatermark, evmHead: EvmEventIndexHead): Promise<NetworkStakeRewardsIndexPublishHead>;
18
+ }
19
+ /** Moniker identifier for the network-stake rewards index publisher. */
20
+ export declare const NetworkStakeRewardsIndexPublishRunnerMoniker: "NetworkStakeRewardsIndexPublishRunner";
21
+ /** Type literal for the network-stake rewards index publisher moniker. */
22
+ export type NetworkStakeRewardsIndexPublishRunnerMoniker = typeof NetworkStakeRewardsIndexPublishRunnerMoniker;
23
+ /** Runner interface for publishing durable network-stake rewards. */
24
+ export interface NetworkStakeRewardsIndexPublishRunner extends NetworkStakeRewardsIndexPublishRunnerMethods, Provider<NetworkStakeRewardsIndexPublishRunnerMoniker> {
25
+ }
26
+ //# sourceMappingURL=NetworkStakeRewardsIndexPublish.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NetworkStakeRewardsIndexPublish.d.ts","sourceRoot":"","sources":["../../../../../src/modules/protocol-lib/runners/NetworkStakeRewardsIndexPublish.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD,wEAAwE;AACxE,MAAM,WAAW,mCAAmC;IAClD,0EAA0E;IAC1E,qBAAqB,EAAE,MAAM,CAAA;IAC7B,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,uEAAuE;AACvE,MAAM,WAAW,4CAA4C;IAC3D;;;OAGG;IACH,mBAAmB,CACjB,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,mCAAmC,CAAC,CAAA;CAChD;AAED,wEAAwE;AACxE,eAAO,MAAM,4CAA4C,EAAG,uCAAgD,CAAA;AAC5G,0EAA0E;AAC1E,MAAM,MAAM,4CAA4C,GAAG,OAAO,4CAA4C,CAAA;AAE9G,qEAAqE;AACrE,MAAM,WAAW,qCAAsC,SACrD,4CAA4C,EAC5C,QAAQ,CAAC,4CAA4C,CAAC;CAAG"}
@@ -7,4 +7,5 @@ export * from './EvmEventIndexPublish.js';
7
7
  export * from './Finalization.js';
8
8
  export * from './IndexPublish.js';
9
9
  export * from './Mempool.js';
10
+ export * from './NetworkStakeRewardsIndexPublish.js';
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/protocol-lib/runners/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/protocol-lib/runners/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,sCAAsC,CAAA"}
@@ -360,6 +360,83 @@ function createIndexHead(watermark, updatedAt) {
360
360
  }, true);
361
361
  }
362
362
 
363
+ // src/modules/network-model/staticRest/layout/networkStakeRewardsIndex.ts
364
+ import { zodAsFactory as zodAsFactory5, zodIsFactory as zodIsFactory4 } from "@ariestools/sdk";
365
+ import { z as z5 } from "zod";
366
+ var NETWORK_STAKE_REWARDS_INDEX_LAYOUT = "network-stake-rewards-v1";
367
+ var NETWORK_STAKE_REWARDS_BASE_POLICY = "base-v1";
368
+ var DecimalBigIntZod = z5.string().regex(/^(?:0|[1-9]\d*)$/);
369
+ var NetworkStakeRewardsPolicyIdZod = z5.string().regex(/^[a-z0-9][a-z0-9._-]*$/);
370
+ var PositionRewardsZod = z5.record(z5.string().regex(/^(?:0|[1-9]\d*)$/), DecimalBigIntZod);
371
+ var BlockRangeZod = z5.tuple([z5.number().int().nonnegative(), z5.number().int().nonnegative()]);
372
+ var StepIdentityJsonZod = z5.object({
373
+ block: z5.number().int().nonnegative(),
374
+ step: z5.number().int().nonnegative()
375
+ });
376
+ var NetworkStakeRewardsIndexManifestZod = z5.object({
377
+ evmAddress: z5.string(),
378
+ evmChainId: z5.string(),
379
+ layout: z5.literal(NETWORK_STAKE_REWARDS_INDEX_LAYOUT),
380
+ policyId: NetworkStakeRewardsPolicyIdZod,
381
+ stepLevels: z5.array(z5.number().int().nonnegative()),
382
+ timeAnchor: z5.object({
383
+ externalGenesisTime: z5.number().optional(),
384
+ maxScanBlocks: z5.number().optional()
385
+ }).optional()
386
+ });
387
+ var NetworkStakeRewardsIndexStepZod = z5.object({
388
+ denominator: DecimalBigIntZod,
389
+ externalRange: BlockRangeZod,
390
+ layout: z5.literal(NETWORK_STAKE_REWARDS_INDEX_LAYOUT),
391
+ policyId: NetworkStakeRewardsPolicyIdZod,
392
+ positionRewards: PositionRewardsZod,
393
+ step: StepIdentityJsonZod,
394
+ totalReward: DecimalBigIntZod,
395
+ xl1Range: BlockRangeZod
396
+ });
397
+ var NetworkStakeRewardsIndexSnapshotZod = z5.object({
398
+ layout: z5.literal(NETWORK_STAKE_REWARDS_INDEX_LAYOUT),
399
+ policyId: NetworkStakeRewardsPolicyIdZod,
400
+ positionRewards: PositionRewardsZod,
401
+ stepCount: z5.number().int().nonnegative(),
402
+ totalReward: DecimalBigIntZod
403
+ });
404
+ var NetworkStakeRewardsIndexHeadZod = z5.object({
405
+ layout: z5.literal(NETWORK_STAKE_REWARDS_INDEX_LAYOUT),
406
+ policyId: NetworkStakeRewardsPolicyIdZod,
407
+ positionCount: z5.number().int().nonnegative(),
408
+ processedThroughBlock: z5.number().int().nonnegative(),
409
+ snapshot: z5.string(),
410
+ source: z5.object({
411
+ evm: z5.object({
412
+ block: z5.number().int().nonnegative(),
413
+ hash: z5.string()
414
+ }),
415
+ xl1: z5.object({
416
+ block: z5.number().int().nonnegative(),
417
+ hash: z5.string()
418
+ })
419
+ }),
420
+ stepCount: z5.number().int().nonnegative()
421
+ });
422
+ var isNetworkStakeRewardsIndexManifest = zodIsFactory4(NetworkStakeRewardsIndexManifestZod);
423
+ var asNetworkStakeRewardsIndexManifest = zodAsFactory5(
424
+ NetworkStakeRewardsIndexManifestZod,
425
+ "asNetworkStakeRewardsIndexManifest"
426
+ );
427
+ var asNetworkStakeRewardsIndexStep = zodAsFactory5(
428
+ NetworkStakeRewardsIndexStepZod,
429
+ "asNetworkStakeRewardsIndexStep"
430
+ );
431
+ var asNetworkStakeRewardsIndexSnapshot = zodAsFactory5(
432
+ NetworkStakeRewardsIndexSnapshotZod,
433
+ "asNetworkStakeRewardsIndexSnapshot"
434
+ );
435
+ var asNetworkStakeRewardsIndexHead = zodAsFactory5(
436
+ NetworkStakeRewardsIndexHeadZod,
437
+ "asNetworkStakeRewardsIndexHead"
438
+ );
439
+
363
440
  // src/modules/network-model/staticRest/paths/evmEventIndex.ts
364
441
  function root(address) {
365
442
  return `evm/events/${address.toLowerCase()}`;
@@ -377,6 +454,23 @@ function evmEventIndexTailPath(address) {
377
454
  return `${root(address)}/tail.json`;
378
455
  }
379
456
 
457
+ // src/modules/network-model/staticRest/paths/networkStakeRewardsIndex.ts
458
+ function root2(policyId) {
459
+ return `rewards/network-stake/v1/${policyId}`;
460
+ }
461
+ function networkStakeRewardsIndexHeadPath(policyId) {
462
+ return `${root2(policyId)}/head.json`;
463
+ }
464
+ function networkStakeRewardsIndexManifestPath(policyId) {
465
+ return `${root2(policyId)}/manifest.json`;
466
+ }
467
+ function networkStakeRewardsIndexSnapshotPath(policyId, stepCount) {
468
+ return `${root2(policyId)}/positions/${stepCount}.json`;
469
+ }
470
+ function networkStakeRewardsIndexStepPath(policyId, step) {
471
+ return `${root2(policyId)}/steps/${step.step}/${step.block}.json`;
472
+ }
473
+
380
474
  // src/modules/network-model/utils/ExplorerLinks.ts
381
475
  var ExplorerLinks = class {
382
476
  /** Explorer origin with trailing slashes removed. */
@@ -461,8 +555,15 @@ export {
461
555
  local_default as LocalNetworkIconString,
462
556
  MainNetwork,
463
557
  mainnet_default as MainNetworkIconString,
558
+ NETWORK_STAKE_REWARDS_BASE_POLICY,
559
+ NETWORK_STAKE_REWARDS_INDEX_LAYOUT,
464
560
  NetworkBootstrapSchema,
465
561
  NetworkDataLakeUrls,
562
+ NetworkStakeRewardsIndexHeadZod,
563
+ NetworkStakeRewardsIndexManifestZod,
564
+ NetworkStakeRewardsIndexSnapshotZod,
565
+ NetworkStakeRewardsIndexStepZod,
566
+ NetworkStakeRewardsPolicyIdZod,
466
567
  SequenceNetwork,
467
568
  testnet_default as SequenceNetworkIconString,
468
569
  asChainContractManifest,
@@ -472,6 +573,10 @@ export {
472
573
  asEvmEventIndexManifest,
473
574
  asIndexHead,
474
575
  asIndexManifest,
576
+ asNetworkStakeRewardsIndexHead,
577
+ asNetworkStakeRewardsIndexManifest,
578
+ asNetworkStakeRewardsIndexSnapshot,
579
+ asNetworkStakeRewardsIndexStep,
475
580
  asOptionalNetwork,
476
581
  blockHashPath,
477
582
  blockHashPathTemplate,
@@ -502,7 +607,12 @@ export {
502
607
  isIndexHead,
503
608
  isIndexManifest,
504
609
  isNetworkBootstrap,
610
+ isNetworkStakeRewardsIndexManifest,
505
611
  manifestPath,
612
+ networkStakeRewardsIndexHeadPath,
613
+ networkStakeRewardsIndexManifestPath,
614
+ networkStakeRewardsIndexSnapshotPath,
615
+ networkStakeRewardsIndexStepPath,
506
616
  payloadPath,
507
617
  payloadPathTemplate,
508
618
  toChainContractManifest,