@xyo-network/xl1-protocol 4.4.0 → 4.4.2

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 (26) hide show
  1. package/dist/neutral/modules/network-model/staticRest/layout/evmEventIndex.d.ts +115 -0
  2. package/dist/neutral/modules/network-model/staticRest/layout/evmEventIndex.d.ts.map +1 -0
  3. package/dist/neutral/modules/network-model/staticRest/layout/index.d.ts +1 -0
  4. package/dist/neutral/modules/network-model/staticRest/layout/index.d.ts.map +1 -1
  5. package/dist/neutral/modules/network-model/staticRest/paths/evmEventIndex.d.ts +10 -0
  6. package/dist/neutral/modules/network-model/staticRest/paths/evmEventIndex.d.ts.map +1 -0
  7. package/dist/neutral/modules/network-model/staticRest/paths/index.d.ts +1 -0
  8. package/dist/neutral/modules/network-model/staticRest/paths/index.d.ts.map +1 -1
  9. package/dist/neutral/modules/protocol-lib/runners/EvmEventIndexPublish.d.ts +25 -0
  10. package/dist/neutral/modules/protocol-lib/runners/EvmEventIndexPublish.d.ts.map +1 -0
  11. package/dist/neutral/modules/protocol-lib/runners/index.d.ts +1 -0
  12. package/dist/neutral/modules/protocol-lib/runners/index.d.ts.map +1 -1
  13. package/dist/neutral/modules/protocol-model/Step/StepSizes.d.ts +1 -1
  14. package/dist/neutral/modules/protocol-model/Step/StepSizes.d.ts.map +1 -1
  15. package/dist/neutral/modules/protocol-model/model/BlockRate.d.ts.map +1 -1
  16. package/dist/neutral/modules/protocol-model/payload/StepWitness.d.ts +33 -0
  17. package/dist/neutral/modules/protocol-model/payload/StepWitness.d.ts.map +1 -0
  18. package/dist/neutral/modules/protocol-model/payload/index.d.ts +1 -0
  19. package/dist/neutral/modules/protocol-model/payload/index.d.ts.map +1 -1
  20. package/dist/neutral/network-model.mjs +91 -22
  21. package/dist/neutral/network-model.mjs.map +4 -4
  22. package/dist/neutral/protocol-lib.mjs +4 -0
  23. package/dist/neutral/protocol-lib.mjs.map +3 -3
  24. package/dist/neutral/protocol-model.mjs +256 -228
  25. package/dist/neutral/protocol-model.mjs.map +4 -4
  26. package/package.json +1 -1
@@ -0,0 +1,115 @@
1
+ import { z } from 'zod/mini';
2
+ /** JSON-safe representation of one raw EVM contract log. */
3
+ export declare const EvmEventIndexLogZod: z.ZodMiniObject<{
4
+ address: z.ZodMiniString<string>;
5
+ blockHash: z.ZodMiniString<string>;
6
+ blockNumber: z.ZodMiniNumber<number>;
7
+ data: z.ZodMiniString<string>;
8
+ index: z.ZodMiniNumber<number>;
9
+ topics: z.ZodMiniArray<z.ZodMiniString<string>>;
10
+ transactionHash: z.ZodMiniString<string>;
11
+ transactionIndex: z.ZodMiniNumber<number>;
12
+ }, z.core.$strip>;
13
+ /** Type for one raw EVM contract log in the event index. */
14
+ export type EvmEventIndexLog = z.infer<typeof EvmEventIndexLogZod>;
15
+ /** One immutable, address-scoped range of finalized EVM logs. */
16
+ export declare const EvmEventIndexFrameZod: z.ZodMiniObject<{
17
+ fromBlock: z.ZodMiniNumber<number>;
18
+ logs: z.ZodMiniArray<z.ZodMiniObject<{
19
+ address: z.ZodMiniString<string>;
20
+ blockHash: z.ZodMiniString<string>;
21
+ blockNumber: z.ZodMiniNumber<number>;
22
+ data: z.ZodMiniString<string>;
23
+ index: z.ZodMiniNumber<number>;
24
+ topics: z.ZodMiniArray<z.ZodMiniString<string>>;
25
+ transactionHash: z.ZodMiniString<string>;
26
+ transactionIndex: z.ZodMiniNumber<number>;
27
+ }, z.core.$strip>>;
28
+ toBlock: z.ZodMiniNumber<number>;
29
+ }, z.core.$strip>;
30
+ /** Type for one immutable event-index frame. */
31
+ export type EvmEventIndexFrame = z.infer<typeof EvmEventIndexFrameZod>;
32
+ /** Static description of one contract event index. */
33
+ export declare const EvmEventIndexManifestZod: z.ZodMiniObject<{
34
+ address: z.ZodMiniString<string>;
35
+ chainId: z.ZodMiniString<string>;
36
+ deploymentBlock: z.ZodMiniNumber<number>;
37
+ frameSize: z.ZodMiniNumber<number>;
38
+ layout: z.ZodMiniLiteral<"evm-contract-events-v1">;
39
+ }, z.core.$strip>;
40
+ /** Type for the event-index manifest document. */
41
+ export type EvmEventIndexManifest = z.infer<typeof EvmEventIndexManifestZod>;
42
+ /**
43
+ * Mutable pointer written after all frames through `block` are durable.
44
+ * Wire schema for the `EvmEventIndexHead` runner contract in `#protocol-lib`.
45
+ */
46
+ export declare const EvmEventIndexHeadZod: z.ZodMiniObject<{
47
+ address: z.ZodMiniString<string>;
48
+ block: z.ZodMiniNumber<number>;
49
+ chainId: z.ZodMiniString<string>;
50
+ hash: z.ZodMiniString<string>;
51
+ }, z.core.$strip>;
52
+ /** Converts a value to EvmEventIndexFrame, throwing if invalid. */
53
+ export declare const asEvmEventIndexFrame: {
54
+ <T>(value: T): (T & {
55
+ fromBlock: number;
56
+ logs: {
57
+ address: string;
58
+ blockHash: string;
59
+ blockNumber: number;
60
+ data: string;
61
+ index: number;
62
+ topics: string[];
63
+ transactionHash: string;
64
+ transactionIndex: number;
65
+ }[];
66
+ toBlock: number;
67
+ }) | undefined;
68
+ <T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
69
+ fromBlock: number;
70
+ logs: {
71
+ address: string;
72
+ blockHash: string;
73
+ blockNumber: number;
74
+ data: string;
75
+ index: number;
76
+ topics: string[];
77
+ transactionHash: string;
78
+ transactionIndex: number;
79
+ }[];
80
+ toBlock: number;
81
+ };
82
+ };
83
+ /** Converts a value to EvmEventIndexHead, throwing if invalid. */
84
+ export declare const asEvmEventIndexHead: {
85
+ <T>(value: T): (T & {
86
+ address: string;
87
+ block: number;
88
+ chainId: string;
89
+ hash: string;
90
+ }) | undefined;
91
+ <T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
92
+ address: string;
93
+ block: number;
94
+ chainId: string;
95
+ hash: string;
96
+ };
97
+ };
98
+ /** Converts a value to EvmEventIndexManifest, throwing if invalid. */
99
+ export declare const asEvmEventIndexManifest: {
100
+ <T>(value: T): (T & {
101
+ address: string;
102
+ chainId: string;
103
+ deploymentBlock: number;
104
+ frameSize: number;
105
+ layout: "evm-contract-events-v1";
106
+ }) | undefined;
107
+ <T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
108
+ address: string;
109
+ chainId: string;
110
+ deploymentBlock: number;
111
+ frameSize: number;
112
+ layout: "evm-contract-events-v1";
113
+ };
114
+ };
115
+ //# sourceMappingURL=evmEventIndex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evmEventIndex.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/network-model/staticRest/layout/evmEventIndex.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAA;AAK5B,4DAA4D;AAC5D,eAAO,MAAM,mBAAmB;;;;;;;;;iBAS9B,CAAA;AAEF,4DAA4D;AAC5D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAElE,iEAAiE;AACjE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;iBAIhC,CAAA;AAEF,gDAAgD;AAChD,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEtE,sDAAsD;AACtD,eAAO,MAAM,wBAAwB;;;;;;iBAMnC,CAAA;AAEF,kDAAkD;AAClD,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE5E;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;iBAK/B,CAAA;AAEF,mEAAmE;AACnE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA8D,CAAA;AAC/F,kEAAkE;AAClE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;CAA4D,CAAA;AAC5F,sEAAsE;AACtE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;CAAoE,CAAA"}
@@ -1,4 +1,5 @@
1
1
  export * from './chainContractManifest.js';
2
2
  export * from './chainManifest.js';
3
+ export * from './evmEventIndex.js';
3
4
  export * from './indexManifest.js';
4
5
  //# 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"}
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"}
@@ -0,0 +1,10 @@
1
+ import type { EthAddress } from '@ariestools/sdk';
2
+ /** Path of one immutable event-index frame within the index bucket. */
3
+ export declare function evmEventIndexFramePath(address: EthAddress, frameIndex: number): string;
4
+ /** Path of the mutable event-index head pointer within the index bucket. */
5
+ export declare function evmEventIndexHeadPath(address: EthAddress): string;
6
+ /** Path of the event-index manifest within the index bucket. */
7
+ export declare function evmEventIndexManifestPath(address: EthAddress): string;
8
+ /** Path of the mutable partial-frame tail within the index bucket. */
9
+ export declare function evmEventIndexTailPath(address: EthAddress): string;
10
+ //# sourceMappingURL=evmEventIndex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evmEventIndex.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/network-model/staticRest/paths/evmEventIndex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAMjD,uEAAuE;AACvE,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAEtF;AAED,4EAA4E;AAC5E,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAEjE;AAED,gEAAgE;AAChE,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAErE;AAED,sEAAsE;AACtE,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAEjE"}
@@ -1,4 +1,5 @@
1
1
  export * from './chainState.js';
2
+ export * from './evmEventIndex.js';
2
3
  export * from './finalized.js';
3
4
  export * from './indexPaths.js';
4
5
  //# 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,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"}
@@ -0,0 +1,25 @@
1
+ import type { Provider } from '../../protocol-model/index.js';
2
+ /** Mutable pointer written after all event-index frames through `block` are durable. */
3
+ export interface EvmEventIndexHead {
4
+ /** EVM address of the contract whose raw logs are indexed. */
5
+ address: string;
6
+ /** Highest finalized EVM block the index is complete through. */
7
+ block: number;
8
+ /** EVM chain id the index was built against. */
9
+ chainId: string;
10
+ /** Hash of that block, for reorg detection on resume. */
11
+ hash: string;
12
+ }
13
+ /** EvmEventIndexPublishRunnerMethods interface. */
14
+ export interface EvmEventIndexPublishRunnerMethods {
15
+ /** Publishes finalized raw logs for a configured EVM contract; null when nothing is publishable yet. */
16
+ publishFinalizedEvents(): Promise<EvmEventIndexHead | null>;
17
+ }
18
+ /** Moniker identifier for the EvmEventIndexPublishRunner provider. */
19
+ export declare const EvmEventIndexPublishRunnerMoniker: "EvmEventIndexPublishRunner";
20
+ /** Type literal for the EvmEventIndexPublishRunner provider moniker. */
21
+ export type EvmEventIndexPublishRunnerMoniker = typeof EvmEventIndexPublishRunnerMoniker;
22
+ /** Runner interface for publishing a finalized EVM contract event index. */
23
+ export interface EvmEventIndexPublishRunner extends EvmEventIndexPublishRunnerMethods, Provider<EvmEventIndexPublishRunnerMoniker> {
24
+ }
25
+ //# sourceMappingURL=EvmEventIndexPublish.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EvmEventIndexPublish.d.ts","sourceRoot":"","sources":["../../../../../src/modules/protocol-lib/runners/EvmEventIndexPublish.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE/C,wFAAwF;AACxF,MAAM,WAAW,iBAAiB;IAChC,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAA;IACf,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAA;IACb,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAA;IACf,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAA;CACb;AAED,mDAAmD;AACnD,MAAM,WAAW,iCAAiC;IAChD,wGAAwG;IACxG,sBAAsB,IAAI,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAA;CAC5D;AAED,sEAAsE;AACtE,eAAO,MAAM,iCAAiC,EAAG,4BAAqC,CAAA;AACtF,wEAAwE;AACxE,MAAM,MAAM,iCAAiC,GAAG,OAAO,iCAAiC,CAAA;AAExF,4EAA4E;AAC5E,MAAM,WAAW,0BAA2B,SAAQ,iCAAiC,EAAE,QAAQ,CAAC,iCAAiC,CAAC;CAAG"}
@@ -3,6 +3,7 @@ export * from './BlockPublish.js';
3
3
  export * from './ChainStatePublish.js';
4
4
  export * from './DataLakePublish.js';
5
5
  export * from './DeadLetterQueue.js';
6
+ export * from './EvmEventIndexPublish.js';
6
7
  export * from './Finalization.js';
7
8
  export * from './IndexPublish.js';
8
9
  export * from './Mempool.js';
@@ -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,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"}
@@ -6,7 +6,7 @@ export declare function isValidStep(step: unknown): step is number;
6
6
  /** Casts a value to a valid step index, returning undefined if invalid */
7
7
  export declare const asValidStep: import("@ariestools/sdk").AsTypeFunction<number>;
8
8
  /** Returns the block interval size for a given step index */
9
- export declare function stepSize(step: number): number;
9
+ export declare function stepSize(step: number): XL1BlockNumber;
10
10
  /** Fraction of block rewards allocated at each step level, expressed as [numerator, denominator] pairs */
11
11
  export declare const StepRewardFractions: readonly [readonly [0n, 1n], readonly [0n, 1n], readonly [0n, 1n], readonly [1n, 10000n], readonly [2n, 1000n], readonly [3n, 100n], readonly [45n, 100n]];
12
12
  //# sourceMappingURL=StepSizes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StepSizes.d.ts","sourceRoot":"","sources":["../../../../../src/modules/protocol-model/Step/StepSizes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAK/E,wGAAwG;AACxG,eAAO,MAAM,SAAS,EAAE,cAAc,EAUrC,CAAA;AAED,yFAAyF;AACzF,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,MAAM,CAKzD;AAED,0EAA0E;AAC1E,eAAO,MAAM,WAAW,kDAA4C,CAAA;AAEpE,6DAA6D;AAC7D,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG7C;AAED,0GAA0G;AAC1G,eAAO,MAAM,mBAAmB,4JAQtB,CAAA"}
1
+ {"version":3,"file":"StepSizes.d.ts","sourceRoot":"","sources":["../../../../../src/modules/protocol-model/Step/StepSizes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAK/E,wGAAwG;AACxG,eAAO,MAAM,SAAS,EAAE,cAAc,EAUrC,CAAA;AAED,yFAAyF;AACzF,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,MAAM,CAKzD;AAED,0EAA0E;AAC1E,eAAO,MAAM,WAAW,kDAA4C,CAAA;AAEpE,6DAA6D;AAC7D,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAGrD;AAED,0GAA0G;AAC1G,eAAO,MAAM,mBAAmB,4JAQtB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"BlockRate.d.ts","sourceRoot":"","sources":["../../../../../src/modules/protocol-model/model/BlockRate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAI7E,iCAAiC;AACjC,eAAO,MAAM,gBAAgB;;;;;;;iBAO3B,CAAA;AAEF,kEAAkE;AAClE,eAAO,MAAM,eAAe;;;;;;;CAAiC,CAAA;AAC7D,8DAA8D;AAC9D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;CAAoD,CAAA;AAChF,gCAAgC;AAChC,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;CAAoD,CAAA;AAEhF,0BAA0B;AAC1B,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE5D,6BAA6B;AAC7B,eAAO,MAAM,YAAY;;;;;;;;;;;;;;iBAOvB,CAAA;AAEF,sBAAsB;AACtB,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAEpD,6BAA6B;AAC7B,MAAM,MAAM,gBAAgB,CAAC,YAAY,SAAS,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG;IACrF,KAAK,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;CACpC,CAAA;AAED,8BAA8B;AAC9B,MAAM,WAAW,YAAa,SAAQ,gBAAgB,CAAC,cAAc,CAAC;CAAG;AACzE,8BAA8B;AAC9B,MAAM,WAAW,YAAa,SAAQ,gBAAgB,CAAC,cAAc,CAAC;CAAG;AAEzE,8DAA8D;AAC9D,eAAO,MAAM,WAAW;;;;;;;CAA6B,CAAA;AACrD,0DAA0D;AAC1D,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;CAA4C,CAAA;AACpE,4BAA4B;AAC5B,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;CAA4C,CAAA;AAEpE,yBAAyB;AACzB,eAAO,MAAM,QAAQ,UAAiE,CAAA;AACtF,kBAAkB;AAClB,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAA;AAE5C,6BAA6B;AAC7B,eAAO,MAAM,YAAY,UAAqF,CAAA;AAC9G,sBAAsB;AACtB,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAIpD,8BAA8B;AAC9B,eAAO,MAAM,aAAa;;;;;;;iBAOgC,CAAA;AAE1D,uBAAuB;AACvB,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AAEtD,+DAA+D;AAC/D,eAAO,MAAM,YAAY;;;;;;;CAA8B,CAAA;AACvD,2DAA2D;AAC3D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;CAA8C,CAAA;AACvE,6BAA6B;AAC7B,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;CAA8C,CAAA;AAEvE,oCAAoC;AACpC,eAAO,MAAM,mBAAmB;;;;;;;;;;;;mBAO4B,CAAA;AAE5D,6BAA6B;AAC7B,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAElE,qEAAqE;AACrE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAAoC,CAAA;AACnE,iEAAiE;AACjE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA0D,CAAA;AACzF,mCAAmC;AACnC,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA0D,CAAA"}
1
+ {"version":3,"file":"BlockRate.d.ts","sourceRoot":"","sources":["../../../../../src/modules/protocol-model/model/BlockRate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAI7E,iCAAiC;AACjC,eAAO,MAAM,gBAAgB;;;;;;;iBAO3B,CAAA;AAEF,kEAAkE;AAClE,eAAO,MAAM,eAAe;;;;;;;CAAiC,CAAA;AAC7D,8DAA8D;AAC9D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;CAAoD,CAAA;AAChF,gCAAgC;AAChC,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;CAAoD,CAAA;AAEhF,0BAA0B;AAC1B,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE5D,6BAA6B;AAC7B,eAAO,MAAM,YAAY;;;;;;;;;;;;;;iBAOvB,CAAA;AAEF,sBAAsB;AACtB,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAEpD,6BAA6B;AAC7B,MAAM,MAAM,gBAAgB,CAAC,YAAY,SAAS,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG;IACrF,KAAK,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;CACpC,CAAA;AAED,8BAA8B;AAC9B,MAAM,WAAW,YAAa,SAAQ,gBAAgB,CAAC,cAAc,CAAC;CAAG;AACzE,8BAA8B;AAC9B,MAAM,WAAW,YAAa,SAAQ,gBAAgB,CAAC,cAAc,CAAC;CAAG;AAEzE,8DAA8D;AAC9D,eAAO,MAAM,WAAW;;;;;;;CAA6B,CAAA;AACrD,0DAA0D;AAC1D,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;CAA4C,CAAA;AACpE,4BAA4B;AAC5B,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;CAA4C,CAAA;AAEpE,yBAAyB;AACzB,eAAO,MAAM,QAAQ,UAAiE,CAAA;AACtF,kBAAkB;AAClB,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAA;AAE5C,6BAA6B;AAC7B,eAAO,MAAM,YAAY,UAAyF,CAAA;AAClH,sBAAsB;AACtB,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAIpD,8BAA8B;AAC9B,eAAO,MAAM,aAAa;;;;;;;iBAOgC,CAAA;AAE1D,uBAAuB;AACvB,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AAEtD,+DAA+D;AAC/D,eAAO,MAAM,YAAY;;;;;;;CAA8B,CAAA;AACvD,2DAA2D;AAC3D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;CAA8C,CAAA;AACvE,6BAA6B;AAC7B,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;CAA8C,CAAA;AAEvE,oCAAoC;AACpC,eAAO,MAAM,mBAAmB;;;;;;;;;;;;mBAO4B,CAAA;AAE5D,6BAA6B;AAC7B,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAElE,qEAAqE;AACrE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAAoC,CAAA;AACnE,iEAAiE;AACjE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA0D,CAAA;AACzF,mCAAmC;AACnC,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA0D,CAAA"}
@@ -0,0 +1,33 @@
1
+ import type { Payload } from '@xyo-network/sdk';
2
+ import { z } from 'zod/mini';
3
+ /** Schema identifier for step witness payloads. */
4
+ export declare const StepWitnessSchema: "network.xyo.chain.validation.step.witness" & {
5
+ readonly __schema: true;
6
+ };
7
+ /** Schema type for step witness payloads. */
8
+ export type StepWitnessSchema = typeof StepWitnessSchema;
9
+ /**
10
+ * Fields for a step witness — an observer's attestation of the step hash it observed in a
11
+ * specific block's `step_hashes` array. The witness is anchored to the observation block via
12
+ * `blockHash`/`blockNumber`, so anyone can later verify the claim against that block.
13
+ */
14
+ export declare const StepWitnessFieldsZod: z.ZodMiniObject<{
15
+ blockHash: z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>;
16
+ blockNumber: import("zod").ZodPipe<import("zod").ZodInt, import("zod").ZodTransform<import('../BlockNumber/xl1BlockNumber.js').XL1BlockNumber, number>>;
17
+ stepHash: z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>;
18
+ stepSize: z.ZodMiniLiteral<import('../BlockNumber/xl1BlockNumber.js').XL1BlockNumber>;
19
+ witness: z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<Lowercase<string> & {
20
+ readonly __hex: true;
21
+ } & {
22
+ readonly __address: true;
23
+ }, string>>, z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<import("@xyo-network/sdk").XyoQuantAddress, string>>]>;
24
+ }, z.core.$strip>;
25
+ /** StepWitnessFields type. */
26
+ export type StepWitnessFields = z.infer<typeof StepWitnessFieldsZod>;
27
+ /** A step witness payload — records an observer's attestation of a completed step's hash as seen in a specific block. */
28
+ export type StepWitness = Payload<StepWitnessFields, StepWitnessSchema>;
29
+ /** Type guard that checks if a value is a valid StepWitness. */
30
+ export declare const isStepWitness: (x?: unknown) => x is StepWitness;
31
+ /** Casts a value to StepWitness or returns undefined if invalid. */
32
+ export declare const asStepWitness: import("@ariestools/sdk").AsTypeFunction<StepWitness>;
33
+ //# sourceMappingURL=StepWitness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StepWitness.d.ts","sourceRoot":"","sources":["../../../../../src/modules/protocol-model/payload/StepWitness.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAI/C,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAA;AAK5B,mDAAmD;AACnD,eAAO,MAAM,iBAAiB;;CAA8D,CAAA;AAC5F,6CAA6C;AAC7C,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAA;AAExD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;iBAW/B,CAAA;AAEF,8BAA8B;AAC9B,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEpE,yHAAyH;AACzH,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAA;AAEvE,gEAAgE;AAChE,eAAO,MAAM,aAAa,mCAA2E,CAAA;AAErG,oEAAoE;AACpE,eAAO,MAAM,aAAa,uDAAwC,CAAA"}
@@ -1,4 +1,5 @@
1
1
  export * from './application/index.js';
2
2
  export * from './elevatable/index.js';
3
3
  export * from './StepIdentityPayload.js';
4
+ export * from './StepWitness.js';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/protocol-model/payload/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/protocol-model/payload/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,kBAAkB,CAAA"}
@@ -238,56 +238,97 @@ function createChainManifest(encoding, earliestBlock = 0) {
238
238
  }, true);
239
239
  }
240
240
 
241
+ // src/modules/network-model/staticRest/layout/evmEventIndex.ts
242
+ import {
243
+ EthAddressZod,
244
+ HexRegExMinMaxMixedCaseWithPrefix,
245
+ zodAsFactory as zodAsFactory3
246
+ } from "@ariestools/sdk";
247
+ import { z as z3 } from "zod/mini";
248
+ var EvmHashZod = z3.string().check(z3.regex(HexRegExMinMaxMixedCaseWithPrefix(32, 32)));
249
+ var EvmDataZod = z3.string().check(z3.regex(/^0x[\dA-Fa-f]*$/));
250
+ var EvmEventIndexLogZod = z3.object({
251
+ address: EthAddressZod,
252
+ blockHash: EvmHashZod,
253
+ blockNumber: z3.number(),
254
+ data: EvmDataZod,
255
+ index: z3.number(),
256
+ topics: z3.array(EvmHashZod),
257
+ transactionHash: EvmHashZod,
258
+ transactionIndex: z3.number()
259
+ });
260
+ var EvmEventIndexFrameZod = z3.object({
261
+ fromBlock: z3.number(),
262
+ logs: z3.array(EvmEventIndexLogZod),
263
+ toBlock: z3.number()
264
+ });
265
+ var EvmEventIndexManifestZod = z3.object({
266
+ address: EthAddressZod,
267
+ chainId: z3.string(),
268
+ deploymentBlock: z3.number(),
269
+ frameSize: z3.number(),
270
+ layout: z3.literal("evm-contract-events-v1")
271
+ });
272
+ var EvmEventIndexHeadZod = z3.object({
273
+ address: EthAddressZod,
274
+ block: z3.number(),
275
+ chainId: z3.string(),
276
+ hash: EvmHashZod
277
+ });
278
+ var asEvmEventIndexFrame = zodAsFactory3(EvmEventIndexFrameZod, "asEvmEventIndexFrame");
279
+ var asEvmEventIndexHead = zodAsFactory3(EvmEventIndexHeadZod, "asEvmEventIndexHead");
280
+ var asEvmEventIndexManifest = zodAsFactory3(EvmEventIndexManifestZod, "asEvmEventIndexManifest");
281
+
241
282
  // src/modules/network-model/staticRest/layout/indexManifest.ts
242
283
  import {
243
- zodAsFactory as zodAsFactory3,
284
+ zodAsFactory as zodAsFactory4,
244
285
  zodIsFactory as zodIsFactory3,
245
286
  zodToFactory as zodToFactory3
246
287
  } from "@ariestools/sdk";
247
- import { z as z3 } from "zod";
288
+ import { z as z4 } from "zod";
248
289
  var INDEX_LAYOUT_VERSION = 1;
249
290
  var IndexManifestSchema = "network.xyo.s3.index.manifest";
250
291
  var IndexHeadSchema = "network.xyo.s3.index.head";
251
- var IndexManifestFamilyZod = z3.object({
292
+ var IndexManifestFamilyZod = z4.object({
252
293
  /** Highest step level published for this family. */
253
- maxStep: z3.int().nonnegative(),
294
+ maxStep: z4.int().nonnegative(),
254
295
  /** Path template for the family's frames, e.g. `blocks/{level}/{index}.json`. */
255
- path: z3.string()
296
+ path: z4.string()
256
297
  });
257
- var indexFamiliesZod = z3.object({
298
+ var indexFamiliesZod = z4.object({
258
299
  balances: IndexManifestFamilyZod,
259
300
  blocks: IndexManifestFamilyZod,
260
301
  schemas: IndexManifestFamilyZod,
261
302
  transfers: IndexManifestFamilyZod
262
303
  });
263
- var IndexManifestZod = z3.object({
304
+ var IndexManifestZod = z4.object({
264
305
  families: indexFamiliesZod,
265
- schema: z3.literal(IndexManifestSchema),
266
- version: z3.int().positive()
306
+ schema: z4.literal(IndexManifestSchema),
307
+ version: z4.int().positive()
267
308
  });
268
309
  var isIndexManifest = zodIsFactory3(IndexManifestZod);
269
- var asIndexManifest = zodAsFactory3(IndexManifestZod, "asIndexManifest");
310
+ var asIndexManifest = zodAsFactory4(IndexManifestZod, "asIndexManifest");
270
311
  var toIndexManifest = zodToFactory3(IndexManifestZod, "toIndexManifest");
271
- var IndexHeadFamiliesZod = z3.object({
272
- balances: z3.int().nonnegative(),
273
- blocks: z3.int().nonnegative(),
274
- schemas: z3.int().nonnegative(),
275
- transfers: z3.int().nonnegative()
312
+ var IndexHeadFamiliesZod = z4.object({
313
+ balances: z4.int().nonnegative(),
314
+ blocks: z4.int().nonnegative(),
315
+ schemas: z4.int().nonnegative(),
316
+ transfers: z4.int().nonnegative()
276
317
  });
277
- var IndexHeadZod = z3.object({
318
+ var IndexHeadZod = z4.object({
278
319
  /** Highest block the index is complete through. */
279
- block: z3.int().nonnegative(),
320
+ block: z4.int().nonnegative(),
280
321
  /** Completed frame counts per family. */
281
322
  families: IndexHeadFamiliesZod,
282
323
  /** Hash of that block. */
283
- hash: z3.string(),
284
- schema: z3.literal(IndexHeadSchema),
324
+ hash: z4.string(),
325
+ schema: z4.literal(IndexHeadSchema),
285
326
  /** ISO-8601 timestamp of the last update. */
286
- updatedAt: z3.string(),
287
- version: z3.int().positive()
327
+ updatedAt: z4.string(),
328
+ version: z4.int().positive()
288
329
  });
289
330
  var isIndexHead = zodIsFactory3(IndexHeadZod);
290
- var asIndexHead = zodAsFactory3(IndexHeadZod, "asIndexHead");
331
+ var asIndexHead = zodAsFactory4(IndexHeadZod, "asIndexHead");
291
332
  var toIndexHead = zodToFactory3(IndexHeadZod, "toIndexHead");
292
333
  function createIndexManifestFamilies(maxSteps) {
293
334
  return {
@@ -317,6 +358,23 @@ function createIndexHead(watermark, updatedAt) {
317
358
  }, true);
318
359
  }
319
360
 
361
+ // src/modules/network-model/staticRest/paths/evmEventIndex.ts
362
+ function root(address) {
363
+ return `evm/events/${address.toLowerCase()}`;
364
+ }
365
+ function evmEventIndexFramePath(address, frameIndex) {
366
+ return `${root(address)}/frames/${frameIndex}.json`;
367
+ }
368
+ function evmEventIndexHeadPath(address) {
369
+ return `${root(address)}/head.json`;
370
+ }
371
+ function evmEventIndexManifestPath(address) {
372
+ return `${root(address)}/manifest.json`;
373
+ }
374
+ function evmEventIndexTailPath(address) {
375
+ return `${root(address)}/tail.json`;
376
+ }
377
+
320
378
  // src/modules/network-model/utils/ExplorerLinks.ts
321
379
  var ExplorerLinks = class {
322
380
  explorerUrl;
@@ -377,6 +435,10 @@ export {
377
435
  ChainManifestSchema,
378
436
  ChainManifestZod,
379
437
  DefaultNetworks,
438
+ EvmEventIndexFrameZod,
439
+ EvmEventIndexHeadZod,
440
+ EvmEventIndexLogZod,
441
+ EvmEventIndexManifestZod,
380
442
  ExplorerLinks,
381
443
  INDEX_LAYOUT_VERSION,
382
444
  IndexHeadFamiliesZod,
@@ -395,6 +457,9 @@ export {
395
457
  testnet_default as SequenceNetworkIconString,
396
458
  asChainContractManifest,
397
459
  asChainManifest,
460
+ asEvmEventIndexFrame,
461
+ asEvmEventIndexHead,
462
+ asEvmEventIndexManifest,
398
463
  asIndexHead,
399
464
  asIndexManifest,
400
465
  asOptionalNetwork,
@@ -409,6 +474,10 @@ export {
409
474
  createIndexHead,
410
475
  createIndexManifest,
411
476
  createIndexManifestFamilies,
477
+ evmEventIndexFramePath,
478
+ evmEventIndexHeadPath,
479
+ evmEventIndexManifestPath,
480
+ evmEventIndexTailPath,
412
481
  getNetworkNode,
413
482
  getNetworkNodes,
414
483
  headPath,