@xyo-network/xl1-protocol 5.1.3 → 5.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 (76) hide show
  1. package/dist/neutral/modules/network-model/staticRest/layout/chainParams.d.ts +371 -0
  2. package/dist/neutral/modules/network-model/staticRest/layout/chainParams.d.ts.map +1 -0
  3. package/dist/neutral/modules/network-model/staticRest/layout/chainParamsRules.d.ts +36 -0
  4. package/dist/neutral/modules/network-model/staticRest/layout/chainParamsRules.d.ts.map +1 -0
  5. package/dist/neutral/modules/network-model/staticRest/layout/index.d.ts +3 -0
  6. package/dist/neutral/modules/network-model/staticRest/layout/index.d.ts.map +1 -1
  7. package/dist/neutral/modules/network-model/staticRest/layout/trustedPosture.d.ts +81 -0
  8. package/dist/neutral/modules/network-model/staticRest/layout/trustedPosture.d.ts.map +1 -0
  9. package/dist/neutral/modules/network-model/staticRest/paths/chainState.d.ts +7 -0
  10. package/dist/neutral/modules/network-model/staticRest/paths/chainState.d.ts.map +1 -1
  11. package/dist/neutral/modules/protocol-lib/validation/payload/InBlockPayloadValidationFunction.d.ts +37 -3
  12. package/dist/neutral/modules/protocol-lib/validation/payload/InBlockPayloadValidationFunction.d.ts.map +1 -1
  13. package/dist/neutral/modules/protocol-lib/validation/payload/index.d.ts +1 -0
  14. package/dist/neutral/modules/protocol-lib/validation/payload/index.d.ts.map +1 -1
  15. package/dist/neutral/modules/protocol-lib/validation/payload/ruleGate.d.ts +29 -0
  16. package/dist/neutral/modules/protocol-lib/validation/payload/ruleGate.d.ts.map +1 -0
  17. package/dist/neutral/modules/protocol-lib/viewers/ChainParams.d.ts +26 -0
  18. package/dist/neutral/modules/protocol-lib/viewers/ChainParams.d.ts.map +1 -0
  19. package/dist/neutral/modules/protocol-lib/viewers/StakeSnapshot.d.ts +39 -0
  20. package/dist/neutral/modules/protocol-lib/viewers/StakeSnapshot.d.ts.map +1 -0
  21. package/dist/neutral/modules/protocol-lib/viewers/index.d.ts +3 -0
  22. package/dist/neutral/modules/protocol-lib/viewers/index.d.ts.map +1 -1
  23. package/dist/neutral/modules/protocol-model/block/AllowedBlockPayload.d.ts +14 -2
  24. package/dist/neutral/modules/protocol-model/block/AllowedBlockPayload.d.ts.map +1 -1
  25. package/dist/neutral/modules/protocol-model/block/BlockBoundWitness.d.ts +19 -0
  26. package/dist/neutral/modules/protocol-model/block/BlockBoundWitness.d.ts.map +1 -1
  27. package/dist/neutral/modules/protocol-model/block/HydratedBlock.d.ts +44 -0
  28. package/dist/neutral/modules/protocol-model/block/HydratedBlock.d.ts.map +1 -1
  29. package/dist/neutral/modules/protocol-model/block/signed/SignedBlockBoundWitness.d.ts +6 -0
  30. package/dist/neutral/modules/protocol-model/block/signed/SignedBlockBoundWitness.d.ts.map +1 -1
  31. package/dist/neutral/modules/protocol-model/block/signed/SignedBlockBoundWitnessWithHashMeta.d.ts +10 -0
  32. package/dist/neutral/modules/protocol-model/block/signed/SignedBlockBoundWitnessWithHashMeta.d.ts.map +1 -1
  33. package/dist/neutral/modules/protocol-model/block/signed/SignedBlockBoundWitnessWithStorageMeta.d.ts +12 -0
  34. package/dist/neutral/modules/protocol-model/block/signed/SignedBlockBoundWitnessWithStorageMeta.d.ts.map +1 -1
  35. package/dist/neutral/modules/protocol-model/block/unsigned/UnsignedBlockBoundWitness.d.ts +6 -0
  36. package/dist/neutral/modules/protocol-model/block/unsigned/UnsignedBlockBoundWitness.d.ts.map +1 -1
  37. package/dist/neutral/modules/protocol-model/evidence/EvidenceDisposition.d.ts +1 -1
  38. package/dist/neutral/modules/protocol-model/evidence/EvidenceNotePayload.d.ts +1 -1
  39. package/dist/neutral/modules/protocol-model/model/AccountBalance.d.ts +1 -0
  40. package/dist/neutral/modules/protocol-model/model/AccountBalance.d.ts.map +1 -1
  41. package/dist/neutral/modules/protocol-model/model/Context/ChainContext.zod.d.ts +3 -0
  42. package/dist/neutral/modules/protocol-model/model/Context/ChainContext.zod.d.ts.map +1 -1
  43. package/dist/neutral/modules/protocol-model/model/Context/HeadContext.zod.d.ts +2 -0
  44. package/dist/neutral/modules/protocol-model/model/Context/HeadContext.zod.d.ts.map +1 -1
  45. package/dist/neutral/modules/protocol-model/model/OffenseCode.d.ts +13 -0
  46. package/dist/neutral/modules/protocol-model/model/OffenseCode.d.ts.map +1 -0
  47. package/dist/neutral/modules/protocol-model/model/RuleActivation.d.ts +63 -0
  48. package/dist/neutral/modules/protocol-model/model/RuleActivation.d.ts.map +1 -0
  49. package/dist/neutral/modules/protocol-model/model/SyncStepSummary.d.ts +6 -0
  50. package/dist/neutral/modules/protocol-model/model/SyncStepSummary.d.ts.map +1 -1
  51. package/dist/neutral/modules/protocol-model/model/index.d.ts +2 -0
  52. package/dist/neutral/modules/protocol-model/model/index.d.ts.map +1 -1
  53. package/dist/neutral/modules/protocol-model/model/version.d.ts +2 -2
  54. package/dist/neutral/modules/protocol-model/payload/index.d.ts +1 -0
  55. package/dist/neutral/modules/protocol-model/payload/index.d.ts.map +1 -1
  56. package/dist/neutral/modules/protocol-model/payload/slash/SlashAdjudicationPayload.d.ts +51 -0
  57. package/dist/neutral/modules/protocol-model/payload/slash/SlashAdjudicationPayload.d.ts.map +1 -0
  58. package/dist/neutral/modules/protocol-model/payload/slash/SlashChallengePayload.d.ts +33 -0
  59. package/dist/neutral/modules/protocol-model/payload/slash/SlashChallengePayload.d.ts.map +1 -0
  60. package/dist/neutral/modules/protocol-model/payload/slash/SlashCommitPayload.d.ts +35 -0
  61. package/dist/neutral/modules/protocol-model/payload/slash/SlashCommitPayload.d.ts.map +1 -0
  62. package/dist/neutral/modules/protocol-model/payload/slash/SlashEvidencePayload.d.ts +33 -0
  63. package/dist/neutral/modules/protocol-model/payload/slash/SlashEvidencePayload.d.ts.map +1 -0
  64. package/dist/neutral/modules/protocol-model/payload/slash/SlashRequestPayload.d.ts +46 -0
  65. package/dist/neutral/modules/protocol-model/payload/slash/SlashRequestPayload.d.ts.map +1 -0
  66. package/dist/neutral/modules/protocol-model/payload/slash/index.d.ts +6 -0
  67. package/dist/neutral/modules/protocol-model/payload/slash/index.d.ts.map +1 -0
  68. package/dist/neutral/modules/protocol-model/rejection/BlockRejectionPayload.d.ts +4 -0
  69. package/dist/neutral/modules/protocol-model/rejection/BlockRejectionPayload.d.ts.map +1 -1
  70. package/dist/neutral/network-model.mjs +328 -114
  71. package/dist/neutral/network-model.mjs.map +4 -4
  72. package/dist/neutral/protocol-lib.mjs +27 -0
  73. package/dist/neutral/protocol-lib.mjs.map +3 -3
  74. package/dist/neutral/protocol-model.mjs +505 -296
  75. package/dist/neutral/protocol-model.mjs.map +4 -4
  76. package/package.json +3 -3
@@ -24,6 +24,7 @@ export declare const UnsignedBlockBoundWitnessZod: z.ZodMiniObject<{
24
24
  previous: z.ZodMiniNullable<z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>>;
25
25
  protocol: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
26
26
  step_hashes: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>>>;
27
+ supersedes: z.ZodMiniOptional<z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>>;
27
28
  $epoch: z.ZodMiniNumber<number>;
28
29
  }, z.core.$strip>;
29
30
  /** Validated data representation for Unsigned Block Bound Witness. */
@@ -54,6 +55,7 @@ export declare const isUnsignedBlockBoundWitness: <T>(value: T) => value is T &
54
55
  $sourceQuery?: import("@ariestools/sdk").BrandedHash | undefined;
55
56
  protocol?: number | undefined;
56
57
  step_hashes?: import("@ariestools/sdk").BrandedHash[] | undefined;
58
+ supersedes?: import("@ariestools/sdk").BrandedHash | undefined;
57
59
  };
58
60
  /** Converts a value to UnsignedBlockBoundWitness, throwing if invalid. */
59
61
  export declare const asUnsignedBlockBoundWitness: {
@@ -82,6 +84,7 @@ export declare const asUnsignedBlockBoundWitness: {
82
84
  $sourceQuery?: import("@ariestools/sdk").BrandedHash | undefined;
83
85
  protocol?: number | undefined;
84
86
  step_hashes?: import("@ariestools/sdk").BrandedHash[] | undefined;
87
+ supersedes?: import("@ariestools/sdk").BrandedHash | undefined;
85
88
  }) | undefined;
86
89
  <T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
87
90
  schema: "network.xyo.boundwitness" & {
@@ -108,6 +111,7 @@ export declare const asUnsignedBlockBoundWitness: {
108
111
  $sourceQuery?: import("@ariestools/sdk").BrandedHash | undefined;
109
112
  protocol?: number | undefined;
110
113
  step_hashes?: import("@ariestools/sdk").BrandedHash[] | undefined;
114
+ supersedes?: import("@ariestools/sdk").BrandedHash | undefined;
111
115
  };
112
116
  };
113
117
  /** Safe conversion helper that returns Unsigned Block Bound Witness when validation succeeds and `undefined` otherwise. */
@@ -137,6 +141,7 @@ export declare const toUnsignedBlockBoundWitness: {
137
141
  $sourceQuery?: import("@ariestools/sdk").BrandedHash | undefined;
138
142
  protocol?: number | undefined;
139
143
  step_hashes?: import("@ariestools/sdk").BrandedHash[] | undefined;
144
+ supersedes?: import("@ariestools/sdk").BrandedHash | undefined;
140
145
  } | undefined;
141
146
  (value: unknown, assert: import("@ariestools/sdk").ZodFactoryConfig): {
142
147
  schema: "network.xyo.boundwitness" & {
@@ -163,6 +168,7 @@ export declare const toUnsignedBlockBoundWitness: {
163
168
  $sourceQuery?: import("@ariestools/sdk").BrandedHash | undefined;
164
169
  protocol?: number | undefined;
165
170
  step_hashes?: import("@ariestools/sdk").BrandedHash[] | undefined;
171
+ supersedes?: import("@ariestools/sdk").BrandedHash | undefined;
166
172
  };
167
173
  };
168
174
  //# sourceMappingURL=UnsignedBlockBoundWitness.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UnsignedBlockBoundWitness.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/protocol-model/block/unsigned/UnsignedBlockBoundWitness.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAA;AAI5B,qEAAqE;AACrE,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;iBAGxC,CAAA;AAED,sEAAsE;AACtE,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAEpF,8EAA8E;AAC9E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;CAA6C,CAAA;AACrF,0EAA0E;AAC1E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA4E,CAAA;AACpH,2HAA2H;AAC3H,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA4E,CAAA"}
1
+ {"version":3,"file":"UnsignedBlockBoundWitness.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/protocol-model/block/unsigned/UnsignedBlockBoundWitness.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAA;AAI5B,qEAAqE;AACrE,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGxC,CAAA;AAED,sEAAsE;AACtE,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAEpF,8EAA8E;AAC9E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;CAA6C,CAAA;AACrF,0EAA0E;AAC1E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA4E,CAAA;AACpH,2HAA2H;AAC3H,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA4E,CAAA"}
@@ -10,5 +10,5 @@ export declare const EvidenceDispositions: readonly ["expired", "finalized", "fo
10
10
  /** Reason a candidate block was archived as evidence. */
11
11
  export type EvidenceDisposition = typeof EvidenceDispositions[number];
12
12
  /** Zod schema for an evidence disposition. */
13
- export declare const EvidenceDispositionZod: z.ZodMiniLiteral<"expired" | "finalized" | "foreign" | "invalid" | "losing" | "malformed" | "superseded">;
13
+ export declare const EvidenceDispositionZod: z.ZodMiniLiteral<"invalid" | "expired" | "finalized" | "foreign" | "losing" | "malformed" | "superseded">;
14
14
  //# sourceMappingURL=EvidenceDisposition.d.ts.map
@@ -16,7 +16,7 @@ export type EvidenceNoteSchema = typeof EvidenceNoteSchema;
16
16
  */
17
17
  export declare const EvidenceNoteFieldsZod: z.ZodMiniObject<{
18
18
  bundle: z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>;
19
- disposition: z.ZodMiniLiteral<"expired" | "finalized" | "foreign" | "invalid" | "losing" | "malformed" | "superseded">;
19
+ disposition: z.ZodMiniLiteral<"invalid" | "expired" | "finalized" | "foreign" | "losing" | "malformed" | "superseded">;
20
20
  height: z.ZodMiniOptional<import("zod").ZodPipe<import("zod").ZodInt, import("zod").ZodTransform<import('../BlockNumber/xl1BlockNumber.js').XL1BlockNumber, number>>>;
21
21
  observed: import("zod").ZodPipe<import("zod").ZodInt, import("zod").ZodTransform<import('../BlockNumber/xl1BlockNumber.js').XL1BlockNumber, number>>;
22
22
  producer: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<Lowercase<string> & {
@@ -12,6 +12,7 @@ export declare const AccountBalanceHistoryItemZod: z.ZodMiniTuple<readonly [z.Zo
12
12
  previous: z.ZodMiniNullable<z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>>;
13
13
  protocol: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
14
14
  step_hashes: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>>>;
15
+ supersedes: z.ZodMiniOptional<z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>>;
15
16
  schema: z.ZodMiniLiteral<"network.xyo.boundwitness" & {
16
17
  readonly __schema: true;
17
18
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"AccountBalance.d.ts","sourceRoot":"","sources":["../../../../../src/modules/protocol-model/model/AccountBalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAElD,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAA;AAG5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAGpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAG7D,qEAAqE;AACrE,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAIvC,CAAA;AAEF,sEAAsE;AACtE,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAEpF,+DAA+D;AAC/D,eAAO,MAAM,uBAAuB;;;;+DAA0B,CAAA;AAC9D,gEAAgE;AAChE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAC1E,yEAAyE;AACzE,eAAO,MAAM,sBAAsB;;;;EAAwC,CAAA;AAE3E,oGAAoG;AACpG,MAAM,WAAW,2BAA2B;IAC1C,wGAAwG;IACxG,gCAAgC,CAC9B,OAAO,EAAE,UAAU,EAAE,EACrB,MAAM,EAAE,oBAAoB,GAC3B,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC,CAAA;IAE9E,8FAA8F;IAC9F,wBAAwB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,oBAAoB,GAAG,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CACvI;AAED,wDAAwD;AACxD,MAAM,WAAW,oBAAqB,SAAQ,2BAA2B,EAAE,QAAQ,CAAC,2BAA2B,CAAC;IAC9G,2DAA2D;IAC3D,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,oBAAoB,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IAEvF,kEAAkE;IAClE,uBAAuB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,MAAM,CAAC,EAAE,oBAAoB,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAA;IAE1I,oDAAoD;IACpD,qBAAqB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,oBAAoB,GAAG,UAAU,CAAC,yBAAyB,EAAE,CAAC,CAAA;IAElH,wEAAwE;IACxE,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,MAAM,CAAC,EAAE,oBAAoB,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAA;CAC/G;AAED,gEAAgE;AAChE,eAAO,MAAM,2BAA2B,EAAG,sBAA+B,CAAA;AAC1E,kEAAkE;AAClE,MAAM,MAAM,2BAA2B,GAAG,OAAO,2BAA2B,CAAA"}
1
+ {"version":3,"file":"AccountBalance.d.ts","sourceRoot":"","sources":["../../../../../src/modules/protocol-model/model/AccountBalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAElD,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAA;AAG5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAGpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAG7D,qEAAqE;AACrE,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAIvC,CAAA;AAEF,sEAAsE;AACtE,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAEpF,+DAA+D;AAC/D,eAAO,MAAM,uBAAuB;;;;+DAA0B,CAAA;AAC9D,gEAAgE;AAChE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAC1E,yEAAyE;AACzE,eAAO,MAAM,sBAAsB;;;;EAAwC,CAAA;AAE3E,oGAAoG;AACpG,MAAM,WAAW,2BAA2B;IAC1C,wGAAwG;IACxG,gCAAgC,CAC9B,OAAO,EAAE,UAAU,EAAE,EACrB,MAAM,EAAE,oBAAoB,GAC3B,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC,CAAA;IAE9E,8FAA8F;IAC9F,wBAAwB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,oBAAoB,GAAG,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CACvI;AAED,wDAAwD;AACxD,MAAM,WAAW,oBAAqB,SAAQ,2BAA2B,EAAE,QAAQ,CAAC,2BAA2B,CAAC;IAC9G,2DAA2D;IAC3D,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,oBAAoB,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IAEvF,kEAAkE;IAClE,uBAAuB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,MAAM,CAAC,EAAE,oBAAoB,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAA;IAE1I,oDAAoD;IACpD,qBAAqB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,oBAAoB,GAAG,UAAU,CAAC,yBAAyB,EAAE,CAAC,CAAA;IAElH,wEAAwE;IACxE,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,MAAM,CAAC,EAAE,oBAAoB,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAA;CAC/G;AAED,gEAAgE;AAChE,eAAO,MAAM,2BAA2B,EAAG,sBAA+B,CAAA;AAC1E,kEAAkE;AAClE,MAAM,MAAM,2BAA2B,GAAG,OAAO,2BAA2B,CAAA"}
@@ -14,6 +14,7 @@ export declare const ChainContextReadZod: import("zod").ZodObject<{
14
14
  previous: import("zod/mini").ZodMiniNullable<import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniString<string>, import("zod/mini").ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>>;
15
15
  protocol: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniNumber<number>>;
16
16
  step_hashes: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniArray<import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniString<string>, import("zod/mini").ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>>>;
17
+ supersedes: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniString<string>, import("zod/mini").ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>>;
17
18
  schema: import("zod/mini").ZodMiniLiteral<"network.xyo.boundwitness" & {
18
19
  readonly __schema: true;
19
20
  }>;
@@ -52,6 +53,7 @@ export declare const ChainContextWriteZod: import("zod").ZodObject<{
52
53
  previous: import("zod/mini").ZodMiniNullable<import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniString<string>, import("zod/mini").ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>>;
53
54
  protocol: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniNumber<number>>;
54
55
  step_hashes: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniArray<import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniString<string>, import("zod/mini").ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>>>;
56
+ supersedes: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniString<string>, import("zod/mini").ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>>;
55
57
  schema: import("zod/mini").ZodMiniLiteral<"network.xyo.boundwitness" & {
56
58
  readonly __schema: true;
57
59
  }>;
@@ -90,6 +92,7 @@ export declare const ChainContextZod: import("zod").ZodObject<{
90
92
  previous: import("zod/mini").ZodMiniNullable<import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniString<string>, import("zod/mini").ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>>;
91
93
  protocol: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniNumber<number>>;
92
94
  step_hashes: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniArray<import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniString<string>, import("zod/mini").ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>>>;
95
+ supersedes: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniString<string>, import("zod/mini").ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>>;
93
96
  schema: import("zod/mini").ZodMiniLiteral<"network.xyo.boundwitness" & {
94
97
  readonly __schema: true;
95
98
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"ChainContext.zod.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/protocol-model/model/Context/ChainContext.zod.ts"],"names":[],"mappings":"AAKA,2DAA2D;AAC3D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAA2D,CAAA;AAE3F,4DAA4D;AAC5D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAEhC,CAAA;AAED,sDAAsD;AACtD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAE3B,CAAA"}
1
+ {"version":3,"file":"ChainContext.zod.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/protocol-model/model/Context/ChainContext.zod.ts"],"names":[],"mappings":"AAKA,2DAA2D;AAC3D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAA2D,CAAA;AAE3F,4DAA4D;AAC5D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAEhC,CAAA;AAED,sDAAsD;AACtD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAE3B,CAAA"}
@@ -8,6 +8,7 @@ export declare const HeadContextBaseZod: z.ZodObject<{
8
8
  previous: import("zod/mini").ZodMiniNullable<import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniString<string>, import("zod/mini").ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>>;
9
9
  protocol: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniNumber<number>>;
10
10
  step_hashes: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniArray<import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniString<string>, import("zod/mini").ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>>>;
11
+ supersedes: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniString<string>, import("zod/mini").ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>>;
11
12
  schema: import("zod/mini").ZodMiniLiteral<"network.xyo.boundwitness" & {
12
13
  readonly __schema: true;
13
14
  }>;
@@ -45,6 +46,7 @@ export declare const HeadContextZod: z.ZodObject<{
45
46
  previous: import("zod/mini").ZodMiniNullable<import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniString<string>, import("zod/mini").ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>>;
46
47
  protocol: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniNumber<number>>;
47
48
  step_hashes: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniArray<import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniString<string>, import("zod/mini").ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>>>;
49
+ supersedes: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniString<string>, import("zod/mini").ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>>;
48
50
  schema: import("zod/mini").ZodMiniLiteral<"network.xyo.boundwitness" & {
49
51
  readonly __schema: true;
50
52
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"HeadContext.zod.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/protocol-model/model/Context/HeadContext.zod.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,KAAK,CAAA;AAKnB,0DAA0D;AAC1D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAE9B,CAAA;AAED,qDAAqD;AACrD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAyD,CAAA"}
1
+ {"version":3,"file":"HeadContext.zod.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/protocol-model/model/Context/HeadContext.zod.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,KAAK,CAAA;AAKnB,0DAA0D;AAC1D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAE9B,CAAA;AAED,qDAAqD;AACrD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAyD,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { z } from 'zod/mini';
2
+ /**
3
+ * Offense codes, in catalog order.
4
+ *
5
+ * A class keeps its code forever: a report names the code it was filed under, and that name has
6
+ * to still mean the same thing whenever the report is read back.
7
+ */
8
+ export declare const OffenseCodes: readonly ["equivocation", "invalid-block", "reward-overmint", "false-anchor", "ineligible-production", "invalid-slash-request", "false-attestation"];
9
+ /** An offense class. */
10
+ export type OffenseCode = typeof OffenseCodes[number];
11
+ /** Zod schema for an offense code. */
12
+ export declare const OffenseCodeZod: z.ZodMiniLiteral<"equivocation" | "invalid-block" | "reward-overmint" | "false-anchor" | "ineligible-production" | "invalid-slash-request" | "false-attestation">;
13
+ //# sourceMappingURL=OffenseCode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OffenseCode.d.ts","sourceRoot":"","sources":["../../../../../src/modules/protocol-model/model/OffenseCode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAA;AAE5B;;;;;GAKG;AACH,eAAO,MAAM,YAAY,sJAQf,CAAA;AAEV,wBAAwB;AACxB,MAAM,MAAM,WAAW,GAAG,OAAO,YAAY,CAAC,MAAM,CAAC,CAAA;AAErD,sCAAsC;AACtC,eAAO,MAAM,cAAc,mKAA0B,CAAA"}
@@ -0,0 +1,63 @@
1
+ import type { OffenseCode } from './OffenseCode.js';
2
+ /**
3
+ * Rules whose activation is recorded in the register.
4
+ *
5
+ * Offense classes carry two heights rather than one. A class becomes *reportable* before it
6
+ * becomes *adjudicable*, so reports can be recorded and measured for a while before anything
7
+ * they say has consequences — which is the only way to learn what reporting looks like without
8
+ * risking a wrong punishment.
9
+ *
10
+ * This list lives beside the offense codes rather than with the register, because in-block
11
+ * validators have to name rules without depending on the register document's shape.
12
+ */
13
+ export declare const RuleIds: readonly ["intent-binding", "anchor-rules", "single-signer", "supersedes-field", "slash-payloads", "eligibility-admission", "attestation-admission", "certificate-execution", ...("equivocation.reportable" | "invalid-block.reportable" | "reward-overmint.reportable" | "false-anchor.reportable" | "ineligible-production.reportable" | "invalid-slash-request.reportable" | "false-attestation.reportable" | "equivocation.adjudicable" | "invalid-block.adjudicable" | "reward-overmint.adjudicable" | "false-anchor.adjudicable" | "ineligible-production.adjudicable" | "invalid-slash-request.adjudicable" | "false-attestation.adjudicable")[]];
14
+ /** A rule whose activation height the register records. */
15
+ export type RuleId = typeof RuleIds[number];
16
+ /** The rule id gating whether reports naming an offense may be recorded. */
17
+ export declare function reportableRuleId(offense: OffenseCode): RuleId;
18
+ /** The rule id gating whether reports naming an offense may be acted upon. */
19
+ export declare function adjudicableRuleId(offense: OffenseCode): RuleId;
20
+ /**
21
+ * Where a rule stands at a height.
22
+ *
23
+ * `grace` is the interval just after activation where a rule is observed but not enforced. It
24
+ * exists because nodes upgrade at different moments: without it, a rule turning on would punish
25
+ * operators whose only mistake was being mid-rollout.
26
+ */
27
+ export type RuleActivationState = 'inactive' | 'grace' | 'active';
28
+ /**
29
+ * The minimum a caller must supply to resolve rule activation.
30
+ *
31
+ * Deliberately narrower than the register document: an in-block validator needs to know when
32
+ * rules turn on, not what the chain charges for a deposit. A full register version satisfies this
33
+ * structurally, so nothing has to convert between them.
34
+ */
35
+ export interface RuleActivationParams {
36
+ /** Rule id to the height it takes effect. */
37
+ activations: Partial<Record<RuleId, number>>;
38
+ /** Rule id to the height it stops taking effect. */
39
+ deactivations?: Partial<Record<RuleId, number>>;
40
+ /** Blocks after an activation during which the rule is observed but not enforced. */
41
+ graceBandXl1Blocks?: number;
42
+ }
43
+ /**
44
+ * Where a rule stands at an XL1 height, according to a set of activations.
45
+ *
46
+ * A rule with no recorded activation is inactive — saying nothing about a rule is how a network
47
+ * declines it, which is what lets one register describe a network running exactly as it always
48
+ * has. A params view carrying no grace band grants no grace.
49
+ * @param params The activation heights in force
50
+ * @param ruleId The rule to resolve
51
+ * @param height The XL1 height being judged
52
+ * @returns Whether the rule is inactive, in its grace band, or enforced
53
+ */
54
+ export declare function ruleActivationStateAt(params: RuleActivationParams, ruleId: RuleId, height: number): RuleActivationState;
55
+ /** Whether a rule is enforced at a height. */
56
+ export declare function isRuleActiveAt(params: RuleActivationParams, ruleId: RuleId, height: number): boolean;
57
+ /**
58
+ * Whether a rule is at least being observed at a height — enforced, or inside its grace band.
59
+ *
60
+ * This is the gate for recording and measuring. Enforcement asks the stricter question.
61
+ */
62
+ export declare function isRuleObservedAt(params: RuleActivationParams, ruleId: RuleId, height: number): boolean;
63
+ //# sourceMappingURL=RuleActivation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuleActivation.d.ts","sourceRoot":"","sources":["../../../../../src/modules/protocol-model/model/RuleActivation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAGnD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,OAAO,0nBAWV,CAAA;AAEV,2DAA2D;AAC3D,MAAM,MAAM,MAAM,GAAG,OAAO,OAAO,CAAC,MAAM,CAAC,CAAA;AAE3C,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAE7D;AAED,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAE9D;AAED;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAA;AAEjE;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,6CAA6C;IAC7C,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAC5C,oDAAoD;IACpD,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAC/C,qFAAqF;IACrF,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,oBAAoB,EAC5B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,mBAAmB,CAMrB;AAED,8CAA8C;AAC9C,wBAAgB,cAAc,CAAC,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAEpG;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAEtG"}
@@ -224,6 +224,7 @@ export declare const SyncStepSummaryZod: z.ZodArray<import("zod/mini").ZodMiniTu
224
224
  previous: import("zod/mini").ZodMiniNullable<import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniString<string>, import("zod/mini").ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>>;
225
225
  protocol: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniNumber<number>>;
226
226
  step_hashes: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniArray<import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniString<string>, import("zod/mini").ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>>>;
227
+ supersedes: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniString<string>, import("zod/mini").ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>>;
227
228
  $epoch: import("zod/mini").ZodMiniNumber<number>;
228
229
  _hash: import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniString<string>, import("zod/mini").ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>;
229
230
  _dataHash: import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniString<string>, import("zod/mini").ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>;
@@ -262,6 +263,7 @@ export declare const isSyncStepSummary: <T>(value: T) => value is T & [{
262
263
  $sourceQuery?: import("@ariestools/sdk").BrandedHash | undefined;
263
264
  protocol?: number | undefined;
264
265
  step_hashes?: import("@ariestools/sdk").BrandedHash[] | undefined;
266
+ supersedes?: import("@ariestools/sdk").BrandedHash | undefined;
265
267
  }, {
266
268
  [x: string]: unknown;
267
269
  schema: import("@xyo-network/sdk").BrandedSchema<string>;
@@ -297,6 +299,7 @@ export declare const asSyncStepSummary: {
297
299
  $sourceQuery?: import("@ariestools/sdk").BrandedHash | undefined;
298
300
  protocol?: number | undefined;
299
301
  step_hashes?: import("@ariestools/sdk").BrandedHash[] | undefined;
302
+ supersedes?: import("@ariestools/sdk").BrandedHash | undefined;
300
303
  }, {
301
304
  [x: string]: unknown;
302
305
  schema: import("@xyo-network/sdk").BrandedSchema<string>;
@@ -330,6 +333,7 @@ export declare const asSyncStepSummary: {
330
333
  $sourceQuery?: import("@ariestools/sdk").BrandedHash | undefined;
331
334
  protocol?: number | undefined;
332
335
  step_hashes?: import("@ariestools/sdk").BrandedHash[] | undefined;
336
+ supersedes?: import("@ariestools/sdk").BrandedHash | undefined;
333
337
  }, {
334
338
  [x: string]: unknown;
335
339
  schema: import("@xyo-network/sdk").BrandedSchema<string>;
@@ -366,6 +370,7 @@ export declare const toSyncStepSummary: {
366
370
  $sourceQuery?: import("@ariestools/sdk").BrandedHash | undefined;
367
371
  protocol?: number | undefined;
368
372
  step_hashes?: import("@ariestools/sdk").BrandedHash[] | undefined;
373
+ supersedes?: import("@ariestools/sdk").BrandedHash | undefined;
369
374
  }, {
370
375
  [x: string]: unknown;
371
376
  schema: import("@xyo-network/sdk").BrandedSchema<string>;
@@ -399,6 +404,7 @@ export declare const toSyncStepSummary: {
399
404
  $sourceQuery?: import("@ariestools/sdk").BrandedHash | undefined;
400
405
  protocol?: number | undefined;
401
406
  step_hashes?: import("@ariestools/sdk").BrandedHash[] | undefined;
407
+ supersedes?: import("@ariestools/sdk").BrandedHash | undefined;
402
408
  }, {
403
409
  [x: string]: unknown;
404
410
  schema: import("@xyo-network/sdk").BrandedSchema<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"SyncStepSummary.d.ts","sourceRoot":"","sources":["../../../../../src/modules/protocol-model/model/SyncStepSummary.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAKvB,mEAAmE;AACnE,eAAO,MAAM,0BAA0B;;;;;;;;;;;iBAWrC,CAAA;AAEF,oEAAoE;AACpE,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEhF,0EAA0E;AAC1E,eAAO,MAAM,yBAAyB;;;;;;;;;;;CAA2C,CAAA;AACjF,wEAAwE;AACxE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;CAAwE,CAAA;AAC9G,yHAAyH;AACzH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;CAAwE,CAAA;AAE9G,iEAAiE;AACjE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;iBAMnC,CAAA;AAEF,kEAAkE;AAClE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE5E,wEAAwE;AACxE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;CAAyC,CAAA;AAC7E,sEAAsE;AACtE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAoE,CAAA;AACxG,uHAAuH;AACvH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAoE,CAAA;AAExG,0DAA0D;AAC1D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAA8C,CAAA;AAE7E,2DAA2D;AAC3D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEhE,oEAAoE;AACpE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAmC,CAAA;AACjE,gEAAgE;AAChE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAwD,CAAA;AACtF,gHAAgH;AAChH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAwD,CAAA"}
1
+ {"version":3,"file":"SyncStepSummary.d.ts","sourceRoot":"","sources":["../../../../../src/modules/protocol-model/model/SyncStepSummary.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAKvB,mEAAmE;AACnE,eAAO,MAAM,0BAA0B;;;;;;;;;;;iBAWrC,CAAA;AAEF,oEAAoE;AACpE,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEhF,0EAA0E;AAC1E,eAAO,MAAM,yBAAyB;;;;;;;;;;;CAA2C,CAAA;AACjF,wEAAwE;AACxE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;CAAwE,CAAA;AAC9G,yHAAyH;AACzH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;CAAwE,CAAA;AAE9G,iEAAiE;AACjE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;iBAMnC,CAAA;AAEF,kEAAkE;AAClE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE5E,wEAAwE;AACxE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;CAAyC,CAAA;AAC7E,sEAAsE;AACtE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAoE,CAAA;AACxG,uHAAuH;AACvH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAoE,CAAA;AAExG,0DAA0D;AAC1D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAA8C,CAAA;AAE7E,2DAA2D;AAC3D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEhE,oEAAoE;AACpE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAmC,CAAA;AACjE,gEAAgE;AAChE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAwD,CAAA;AACtF,gHAAgH;AAChH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAwD,CAAA"}
@@ -10,6 +10,7 @@ export * from './defaultTransactionFees.js';
10
10
  export * from './GatewayName.js';
11
11
  export * from './HydratedTransaction.js';
12
12
  export * from './minTransactionFees.js';
13
+ export * from './OffenseCode.js';
13
14
  export * from './OpCodes.js';
14
15
  export * from './PayloadMap.js';
15
16
  export * from './Permission.js';
@@ -19,6 +20,7 @@ export * from './RangeMultipliers.js';
19
20
  export * from './rewards.js';
20
21
  export * from './RewardShare.js';
21
22
  export * from './RewardsRangeOptions.js';
23
+ export * from './RuleActivation.js';
22
24
  export * from './Sequence.js';
23
25
  export * from './Stake.js';
24
26
  export * from './SyncStepSummary.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/protocol-model/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA;AACvC,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,2BAA2B,CAAA;AACzC,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/protocol-model/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA;AACvC,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,2BAA2B,CAAA;AACzC,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA"}
@@ -1,11 +1,11 @@
1
1
  /** Protocol constant defining xl1 protocol version major. */
2
2
  export declare const XL1_PROTOCOL_VERSION_MAJOR: 1;
3
3
  /** Protocol constant defining xl1 protocol version minor. */
4
- export declare const XL1_PROTOCOL_VERSION_MINOR: 2;
4
+ export declare const XL1_PROTOCOL_VERSION_MINOR: 3;
5
5
  /** Protocol constant defining xl1 protocol version patch. */
6
6
  export declare const XL1_PROTOCOL_VERSION_PATCH: 0;
7
7
  /** Protocol constant defining xl1 protocol version string. */
8
- export declare const XL1_PROTOCOL_VERSION_STRING: "1.2.0";
8
+ export declare const XL1_PROTOCOL_VERSION_STRING: "1.3.0";
9
9
  /** Protocol constant defining xl1 protocol version. */
10
10
  export declare const XL1_PROTOCOL_VERSION: number;
11
11
  //# sourceMappingURL=version.d.ts.map
@@ -1,5 +1,6 @@
1
1
  export * from './application/index.js';
2
2
  export * from './elevatable/index.js';
3
+ export * from './slash/index.js';
3
4
  export * from './StepIdentityPayload.js';
4
5
  export * from './StepWitness.js';
5
6
  //# 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;AACxC,cAAc,kBAAkB,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,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,51 @@
1
+ import type { Payload } from '@xyo-network/sdk';
2
+ import { z } from 'zod/mini';
3
+ /** Possible outcomes of adjudicating a slash request. */
4
+ export declare const SlashOutcomes: readonly ["confirmed", "refuted", "indeterminate", "invalid"];
5
+ /** The outcome of adjudicating a slash request. */
6
+ export type SlashOutcome = typeof SlashOutcomes[number];
7
+ /** Zod schema for a slash outcome. */
8
+ export declare const SlashOutcomeZod: z.ZodMiniLiteral<"confirmed" | "refuted" | "indeterminate" | "invalid">;
9
+ /** Schema identifier for slash adjudication payloads. */
10
+ export declare const SlashAdjudicationSchema: "network.xyo.chain.slash.adjudication" & {
11
+ readonly __schema: true;
12
+ };
13
+ /** Schema type for slash adjudication payloads. */
14
+ export type SlashAdjudicationSchema = typeof SlashAdjudicationSchema;
15
+ /**
16
+ * Fields for the record that closes a slash request.
17
+ *
18
+ * Four outcomes, and the distinctions between them are the whole design. `confirmed` proceeds to
19
+ * a slash. `refuted` means counter-evidence held — the reporter was not wrong to ask.
20
+ * `indeterminate` means the check could not be completed from what was available, and costs
21
+ * nobody anything. Only `invalid` means the report was provably wrong, and only that opens a
22
+ * counter-slash against its filer.
23
+ *
24
+ * Collapsing the middle two into "failed" is what would make honest reporting dangerous: a
25
+ * reporter who hit a data-availability gap would be punished the same as one who fabricated.
26
+ */
27
+ export declare const SlashAdjudicationFieldsZod: z.ZodMiniObject<{
28
+ claimant: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<Lowercase<string> & {
29
+ readonly __hex: true;
30
+ } & {
31
+ readonly __address: true;
32
+ }, string>>, z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<import("@xyo-network/sdk").XyoQuantAddress, string>>]>>;
33
+ claimantCommit: z.ZodMiniOptional<z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>>;
34
+ from: z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<Lowercase<string> & {
35
+ readonly __hex: true;
36
+ } & {
37
+ readonly __address: true;
38
+ }, string>>, z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<import("@xyo-network/sdk").XyoQuantAddress, string>>]>;
39
+ outcome: z.ZodMiniLiteral<"confirmed" | "refuted" | "indeterminate" | "invalid">;
40
+ reason: z.ZodMiniOptional<z.ZodMiniString<string>>;
41
+ request: z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>;
42
+ }, z.core.$strip>;
43
+ /** Fields represented by the slash adjudication contract. */
44
+ export type SlashAdjudicationFields = z.infer<typeof SlashAdjudicationFieldsZod>;
45
+ /** A slash adjudication payload — the on-chain record closing a report. */
46
+ export type SlashAdjudication = Payload<SlashAdjudicationFields, SlashAdjudicationSchema>;
47
+ /** Type guard that checks if a value is a valid SlashAdjudication. */
48
+ export declare const isSlashAdjudication: (x?: unknown) => x is SlashAdjudication;
49
+ /** Casts a value to SlashAdjudication or returns undefined if invalid. */
50
+ export declare const asSlashAdjudication: import("@ariestools/sdk").AsTypeFunction<SlashAdjudication>;
51
+ //# sourceMappingURL=SlashAdjudicationPayload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlashAdjudicationPayload.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/protocol-model/payload/slash/SlashAdjudicationPayload.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAI/C,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAA;AAE5B,yDAAyD;AACzD,eAAO,MAAM,aAAa,+DAAgE,CAAA;AAE1F,mDAAmD;AACnD,MAAM,MAAM,YAAY,GAAG,OAAO,aAAa,CAAC,MAAM,CAAC,CAAA;AAEvD,sCAAsC;AACtC,eAAO,MAAM,eAAe,yEAA2B,CAAA;AAEvD,yDAAyD;AACzD,eAAO,MAAM,uBAAuB;;CAAyD,CAAA;AAC7F,mDAAmD;AACnD,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAA;AAEpE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;iBAarC,CAAA;AAEF,6DAA6D;AAC7D,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEhF,2EAA2E;AAC3E,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,uBAAuB,EAAE,uBAAuB,CAAC,CAAA;AAEzF,sEAAsE;AACtE,eAAO,MAAM,mBAAmB,yCAG/B,CAAA;AAED,0EAA0E;AAC1E,eAAO,MAAM,mBAAmB,6DAA8C,CAAA"}
@@ -0,0 +1,33 @@
1
+ import type { Payload } from '@xyo-network/sdk';
2
+ import { z } from 'zod/mini';
3
+ /** Schema identifier for slash challenge payloads. */
4
+ export declare const SlashChallengeSchema: "network.xyo.chain.slash.challenge" & {
5
+ readonly __schema: true;
6
+ };
7
+ /** Schema type for slash challenge payloads. */
8
+ export type SlashChallengeSchema = typeof SlashChallengeSchema;
9
+ /**
10
+ * Fields for a challenge to a slash request.
11
+ *
12
+ * Anyone may challenge and no bond is required, because a challenge can only exculpate. A
13
+ * frivolous one fails to change the verdict and costs its filer the fee; there is no version of
14
+ * it that harms the accused, so there is nothing to deter.
15
+ */
16
+ export declare const SlashChallengeFieldsZod: z.ZodMiniObject<{
17
+ evidence: z.ZodMiniArray<z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>>;
18
+ from: z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<Lowercase<string> & {
19
+ readonly __hex: true;
20
+ } & {
21
+ readonly __address: true;
22
+ }, string>>, z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<import("@xyo-network/sdk").XyoQuantAddress, string>>]>;
23
+ request: z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>;
24
+ }, z.core.$strip>;
25
+ /** Fields represented by the slash challenge contract. */
26
+ export type SlashChallengeFields = z.infer<typeof SlashChallengeFieldsZod>;
27
+ /** A slash challenge payload — counter-evidence against a pending report. */
28
+ export type SlashChallenge = Payload<SlashChallengeFields, SlashChallengeSchema>;
29
+ /** Type guard that checks if a value is a valid SlashChallenge. */
30
+ export declare const isSlashChallenge: (x?: unknown) => x is SlashChallenge;
31
+ /** Casts a value to SlashChallenge or returns undefined if invalid. */
32
+ export declare const asSlashChallenge: import("@ariestools/sdk").AsTypeFunction<SlashChallenge>;
33
+ //# sourceMappingURL=SlashChallengePayload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlashChallengePayload.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/protocol-model/payload/slash/SlashChallengePayload.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAI/C,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAA;AAE5B,sDAAsD;AACtD,eAAO,MAAM,oBAAoB;;CAAsD,CAAA;AACvF,gDAAgD;AAChD,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAA;AAE9D;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;iBAOlC,CAAA;AAEF,0DAA0D;AAC1D,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE1E,6EAA6E;AAC7E,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAA;AAEhF,mEAAmE;AACnE,eAAO,MAAM,gBAAgB,sCAAoF,CAAA;AAEjH,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,0DAA2C,CAAA"}
@@ -0,0 +1,35 @@
1
+ import type { Payload } from '@xyo-network/sdk';
2
+ import { z } from 'zod/mini';
3
+ /** Schema identifier for slash commit payloads. */
4
+ export declare const SlashCommitSchema: "network.xyo.chain.slash.commit" & {
5
+ readonly __schema: true;
6
+ };
7
+ /** Schema type for slash commit payloads. */
8
+ export type SlashCommitSchema = typeof SlashCommitSchema;
9
+ /**
10
+ * Fields for a slash commitment.
11
+ *
12
+ * A report's evidence becomes public the moment it is recorded, and whoever orders the next block
13
+ * decides which copy of it lands first. Committing to the report before revealing it is what
14
+ * stops a reporter's work from being lifted and re-filed under someone else's name.
15
+ *
16
+ * The commitment is the hash of the whole report, so it binds the reporter, the accused, the
17
+ * offense, and the evidence together — none of them can be swapped after the fact.
18
+ */
19
+ export declare const SlashCommitFieldsZod: z.ZodMiniObject<{
20
+ commitment: z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>;
21
+ from: z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<Lowercase<string> & {
22
+ readonly __hex: true;
23
+ } & {
24
+ readonly __address: true;
25
+ }, string>>, z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<import("@xyo-network/sdk").XyoQuantAddress, string>>]>;
26
+ }, z.core.$strip>;
27
+ /** Fields represented by the slash commit contract. */
28
+ export type SlashCommitFields = z.infer<typeof SlashCommitFieldsZod>;
29
+ /** A slash commit payload — reserves a report before its evidence is public. */
30
+ export type SlashCommit = Payload<SlashCommitFields, SlashCommitSchema>;
31
+ /** Type guard that checks if a value is a valid SlashCommit. */
32
+ export declare const isSlashCommit: (x?: unknown) => x is SlashCommit;
33
+ /** Casts a value to SlashCommit or returns undefined if invalid. */
34
+ export declare const asSlashCommit: import("@ariestools/sdk").AsTypeFunction<SlashCommit>;
35
+ //# sourceMappingURL=SlashCommitPayload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlashCommitPayload.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/protocol-model/payload/slash/SlashCommitPayload.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAI/C,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAA;AAE5B,mDAAmD;AACnD,eAAO,MAAM,iBAAiB;;CAAmD,CAAA;AACjF,6CAA6C;AAC7C,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAA;AAExD;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB;;;;;;;iBAK/B,CAAA;AAEF,uDAAuD;AACvD,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEpE,gFAAgF;AAChF,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"}
@@ -0,0 +1,33 @@
1
+ import type { Payload } from '@xyo-network/sdk';
2
+ import { z } from 'zod/mini';
3
+ /** Schema identifier for slash evidence payloads. */
4
+ export declare const SlashEvidenceSchema: "network.xyo.chain.slash.evidence" & {
5
+ readonly __schema: true;
6
+ };
7
+ /** Schema type for slash evidence payloads. */
8
+ export type SlashEvidenceSchema = typeof SlashEvidenceSchema;
9
+ /**
10
+ * Fields for a slash evidence container.
11
+ *
12
+ * Evidence is signed bound witnesses — blocks, transactions, attestations. Those cannot ride
13
+ * on-chain as bare payloads, because a bound witness in a block's payload set would be read as
14
+ * one of that block's transactions. Carrying them inside an opaque container keeps them verbatim,
15
+ * which matters: the whole point of the evidence is that its signatures still verify.
16
+ */
17
+ export declare const SlashEvidenceFieldsZod: z.ZodMiniObject<{
18
+ artifacts: z.ZodMiniArray<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>>;
19
+ from: 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
+ /** Fields represented by the slash evidence contract. */
26
+ export type SlashEvidenceFields = z.infer<typeof SlashEvidenceFieldsZod>;
27
+ /** A slash evidence payload — signed artifacts carried on-chain without being interpreted. */
28
+ export type SlashEvidence = Payload<SlashEvidenceFields, SlashEvidenceSchema>;
29
+ /** Type guard that checks if a value is a valid SlashEvidence. */
30
+ export declare const isSlashEvidence: (x?: unknown) => x is SlashEvidence;
31
+ /** Casts a value to SlashEvidence or returns undefined if invalid. */
32
+ export declare const asSlashEvidence: import("@ariestools/sdk").AsTypeFunction<SlashEvidence>;
33
+ //# sourceMappingURL=SlashEvidencePayload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlashEvidencePayload.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/protocol-model/payload/slash/SlashEvidencePayload.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAI/C,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAA;AAE5B,qDAAqD;AACrD,eAAO,MAAM,mBAAmB;;CAAqD,CAAA;AACrF,+CAA+C;AAC/C,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAA;AAE5D;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB;;;;;;;iBAKjC,CAAA;AAEF,yDAAyD;AACzD,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAExE,8FAA8F;AAC9F,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAA;AAE7E,kEAAkE;AAClE,eAAO,MAAM,eAAe,qCAAiF,CAAA;AAE7G,sEAAsE;AACtE,eAAO,MAAM,eAAe,yDAA0C,CAAA"}
@@ -0,0 +1,46 @@
1
+ import type { Payload } from '@xyo-network/sdk';
2
+ import { z } from 'zod/mini';
3
+ /** Schema identifier for slash request payloads. */
4
+ export declare const SlashRequestSchema: "network.xyo.chain.slash.request" & {
5
+ readonly __schema: true;
6
+ };
7
+ /** Schema type for slash request payloads. */
8
+ export type SlashRequestSchema = typeof SlashRequestSchema;
9
+ /**
10
+ * Fields for a slash request — an accusation that a specific address committed a specific offense.
11
+ *
12
+ * A request carries no argument, only artifacts and a catalog entry. If an offense cannot be
13
+ * expressed that way it is not reportable, which is what keeps accusation mechanical: the same
14
+ * request produces the same verdict for anyone who checks it, and there is nothing to be
15
+ * persuaded by.
16
+ *
17
+ * Every offense locates at exactly one height, so there is no range to disagree about when
18
+ * deciding whether two reports are the same accusation.
19
+ */
20
+ export declare const SlashRequestFieldsZod: z.ZodMiniObject<{
21
+ accused: z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<Lowercase<string> & {
22
+ readonly __hex: true;
23
+ } & {
24
+ readonly __address: true;
25
+ }, string>>, z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<import("@xyo-network/sdk").XyoQuantAddress, string>>]>;
26
+ block: import("zod").ZodPipe<import("zod").ZodInt, import("zod").ZodTransform<import('../../BlockNumber/xl1BlockNumber.js').XL1BlockNumber, number>>;
27
+ catalog: z.ZodMiniNumber<number>;
28
+ chain: z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<import("@ariestools/sdk").BrandedHex, string>>;
29
+ evidence: z.ZodMiniArray<z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<import("@ariestools/sdk").BrandedHash, string>>>;
30
+ evm: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
31
+ from: z.ZodMiniUnion<readonly [z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<Lowercase<string> & {
32
+ readonly __hex: true;
33
+ } & {
34
+ readonly __address: true;
35
+ }, string>>, z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<import("@xyo-network/sdk").XyoQuantAddress, string>>]>;
36
+ offense: z.ZodMiniLiteral<"equivocation" | "invalid-block" | "reward-overmint" | "false-anchor" | "ineligible-production" | "invalid-slash-request" | "false-attestation">;
37
+ }, z.core.$strip>;
38
+ /** Fields represented by the slash request contract. */
39
+ export type SlashRequestFields = z.infer<typeof SlashRequestFieldsZod>;
40
+ /** A slash request payload — an evidence-bearing accusation. */
41
+ export type SlashRequest = Payload<SlashRequestFields, SlashRequestSchema>;
42
+ /** Type guard that checks if a value is a valid SlashRequest. */
43
+ export declare const isSlashRequest: (x?: unknown) => x is SlashRequest;
44
+ /** Casts a value to SlashRequest or returns undefined if invalid. */
45
+ export declare const asSlashRequest: import("@ariestools/sdk").AsTypeFunction<SlashRequest>;
46
+ //# sourceMappingURL=SlashRequestPayload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlashRequestPayload.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/protocol-model/payload/slash/SlashRequestPayload.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAI/C,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAA;AAM5B,oDAAoD;AACpD,eAAO,MAAM,kBAAkB;;CAAoD,CAAA;AACnF,8CAA8C;AAC9C,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAA;AAE1D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;iBAiBhC,CAAA;AAEF,wDAAwD;AACxD,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEtE,gEAAgE;AAChE,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAA;AAE1E,iEAAiE;AACjE,eAAO,MAAM,cAAc,oCAA8E,CAAA;AAEzG,qEAAqE;AACrE,eAAO,MAAM,cAAc,wDAAyC,CAAA"}
@@ -0,0 +1,6 @@
1
+ export * from './SlashAdjudicationPayload.js';
2
+ export * from './SlashChallengePayload.js';
3
+ export * from './SlashCommitPayload.js';
4
+ export * from './SlashEvidencePayload.js';
5
+ export * from './SlashRequestPayload.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/protocol-model/payload/slash/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA;AAC7C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,2BAA2B,CAAA;AACzC,cAAc,0BAA0B,CAAA"}