@xyo-network/xl1-protocol 5.2.0 → 5.2.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.
- package/dist/neutral/modules/network-model/staticRest/layout/admissionShadow.d.ts +181 -0
- package/dist/neutral/modules/network-model/staticRest/layout/admissionShadow.d.ts.map +1 -0
- package/dist/neutral/modules/network-model/staticRest/layout/chainParams.d.ts +16 -10
- package/dist/neutral/modules/network-model/staticRest/layout/chainParams.d.ts.map +1 -1
- package/dist/neutral/modules/network-model/staticRest/layout/chainParamsRules.d.ts +15 -0
- package/dist/neutral/modules/network-model/staticRest/layout/chainParamsRules.d.ts.map +1 -1
- package/dist/neutral/modules/network-model/staticRest/layout/index.d.ts +2 -0
- package/dist/neutral/modules/network-model/staticRest/layout/index.d.ts.map +1 -1
- package/dist/neutral/modules/network-model/staticRest/layout/slashIndex.d.ts +160 -0
- package/dist/neutral/modules/network-model/staticRest/layout/slashIndex.d.ts.map +1 -0
- package/dist/neutral/modules/network-model/staticRest/paths/index.d.ts +1 -0
- package/dist/neutral/modules/network-model/staticRest/paths/index.d.ts.map +1 -1
- package/dist/neutral/modules/network-model/staticRest/paths/slashIndex.d.ts +31 -0
- package/dist/neutral/modules/network-model/staticRest/paths/slashIndex.d.ts.map +1 -0
- package/dist/neutral/modules/protocol-model/model/RuleActivation.d.ts +1 -1
- package/dist/neutral/modules/protocol-model/model/RuleActivation.d.ts.map +1 -1
- package/dist/neutral/network-model.mjs +406 -188
- package/dist/neutral/network-model.mjs.map +4 -4
- package/dist/neutral/protocol-model.mjs +3 -0
- package/dist/neutral/protocol-model.mjs.map +2 -2
- package/package.json +1 -1
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/** Schema id for a published admission shadow report. */
|
|
3
|
+
export declare const AdmissionShadowReportSchema: "network.xyo.s3.admission.shadow" & {
|
|
4
|
+
readonly __schema: true;
|
|
5
|
+
};
|
|
6
|
+
/** Type literal for the admission shadow report schema. */
|
|
7
|
+
export type AdmissionShadowReportSchema = typeof AdmissionShadowReportSchema;
|
|
8
|
+
/** What both admission gates concluded about one candidate. */
|
|
9
|
+
export declare const AdmissionShadowAssessmentZod: z.ZodObject<{
|
|
10
|
+
activeStake: z.ZodOptional<z.ZodString>;
|
|
11
|
+
admittedByAllowList: z.ZodBoolean;
|
|
12
|
+
block: z.ZodInt;
|
|
13
|
+
dataHash: z.ZodString;
|
|
14
|
+
eStar: z.ZodOptional<z.ZodInt>;
|
|
15
|
+
eligible: z.ZodOptional<z.ZodBoolean>;
|
|
16
|
+
intentValid: z.ZodOptional<z.ZodBoolean>;
|
|
17
|
+
producer: z.ZodString;
|
|
18
|
+
reason: z.ZodOptional<z.ZodString>;
|
|
19
|
+
resolvable: z.ZodBoolean;
|
|
20
|
+
selfBond: z.ZodOptional<z.ZodString>;
|
|
21
|
+
}, z.core.$strip>;
|
|
22
|
+
/** What both admission gates concluded about one candidate. */
|
|
23
|
+
export type AdmissionShadowAssessment = z.infer<typeof AdmissionShadowAssessmentZod>;
|
|
24
|
+
/**
|
|
25
|
+
* Zod schema for one published round of shadow admission.
|
|
26
|
+
*
|
|
27
|
+
* Published rather than logged because the point of the posture is that anyone can see what
|
|
28
|
+
* enforcement would have done before it does it. An operator convinced by their own logs has
|
|
29
|
+
* convinced nobody.
|
|
30
|
+
*
|
|
31
|
+
* The back-link is what makes the series walkable without listing: a reader takes the head
|
|
32
|
+
* pointer and follows `previous` as far back as it cares to.
|
|
33
|
+
*/
|
|
34
|
+
export declare const AdmissionShadowReportZod: z.ZodObject<{
|
|
35
|
+
assessments: z.ZodArray<z.ZodObject<{
|
|
36
|
+
activeStake: z.ZodOptional<z.ZodString>;
|
|
37
|
+
admittedByAllowList: z.ZodBoolean;
|
|
38
|
+
block: z.ZodInt;
|
|
39
|
+
dataHash: z.ZodString;
|
|
40
|
+
eStar: z.ZodOptional<z.ZodInt>;
|
|
41
|
+
eligible: z.ZodOptional<z.ZodBoolean>;
|
|
42
|
+
intentValid: z.ZodOptional<z.ZodBoolean>;
|
|
43
|
+
producer: z.ZodString;
|
|
44
|
+
reason: z.ZodOptional<z.ZodString>;
|
|
45
|
+
resolvable: z.ZodBoolean;
|
|
46
|
+
selfBond: z.ZodOptional<z.ZodString>;
|
|
47
|
+
}, z.core.$strip>>;
|
|
48
|
+
divergent: z.ZodArray<z.ZodObject<{
|
|
49
|
+
activeStake: z.ZodOptional<z.ZodString>;
|
|
50
|
+
admittedByAllowList: z.ZodBoolean;
|
|
51
|
+
block: z.ZodInt;
|
|
52
|
+
dataHash: z.ZodString;
|
|
53
|
+
eStar: z.ZodOptional<z.ZodInt>;
|
|
54
|
+
eligible: z.ZodOptional<z.ZodBoolean>;
|
|
55
|
+
intentValid: z.ZodOptional<z.ZodBoolean>;
|
|
56
|
+
producer: z.ZodString;
|
|
57
|
+
reason: z.ZodOptional<z.ZodString>;
|
|
58
|
+
resolvable: z.ZodBoolean;
|
|
59
|
+
selfBond: z.ZodOptional<z.ZodString>;
|
|
60
|
+
}, z.core.$strip>>;
|
|
61
|
+
head: z.ZodInt;
|
|
62
|
+
mode: z.ZodOptional<z.ZodEnum<{
|
|
63
|
+
shadow: "shadow";
|
|
64
|
+
enforce: "enforce";
|
|
65
|
+
}>>;
|
|
66
|
+
previous: z.ZodOptional<z.ZodInt>;
|
|
67
|
+
schema: z.ZodLiteral<"network.xyo.s3.admission.shadow" & {
|
|
68
|
+
readonly __schema: true;
|
|
69
|
+
}>;
|
|
70
|
+
}, z.core.$strip>;
|
|
71
|
+
/** One published round of shadow admission. */
|
|
72
|
+
export type AdmissionShadowReportDocument = z.infer<typeof AdmissionShadowReportZod>;
|
|
73
|
+
/** Type guard that checks if a value is a valid AdmissionShadowReportDocument. */
|
|
74
|
+
export declare const isAdmissionShadowReport: <T>(value: T) => value is T & {
|
|
75
|
+
assessments: {
|
|
76
|
+
admittedByAllowList: boolean;
|
|
77
|
+
block: number;
|
|
78
|
+
dataHash: string;
|
|
79
|
+
producer: string;
|
|
80
|
+
resolvable: boolean;
|
|
81
|
+
activeStake?: string | undefined;
|
|
82
|
+
eStar?: number | undefined;
|
|
83
|
+
eligible?: boolean | undefined;
|
|
84
|
+
intentValid?: boolean | undefined;
|
|
85
|
+
reason?: string | undefined;
|
|
86
|
+
selfBond?: string | undefined;
|
|
87
|
+
}[];
|
|
88
|
+
divergent: {
|
|
89
|
+
admittedByAllowList: boolean;
|
|
90
|
+
block: number;
|
|
91
|
+
dataHash: string;
|
|
92
|
+
producer: string;
|
|
93
|
+
resolvable: boolean;
|
|
94
|
+
activeStake?: string | undefined;
|
|
95
|
+
eStar?: number | undefined;
|
|
96
|
+
eligible?: boolean | undefined;
|
|
97
|
+
intentValid?: boolean | undefined;
|
|
98
|
+
reason?: string | undefined;
|
|
99
|
+
selfBond?: string | undefined;
|
|
100
|
+
}[];
|
|
101
|
+
head: number;
|
|
102
|
+
schema: "network.xyo.s3.admission.shadow" & {
|
|
103
|
+
readonly __schema: true;
|
|
104
|
+
};
|
|
105
|
+
mode?: "shadow" | "enforce" | undefined;
|
|
106
|
+
previous?: number | undefined;
|
|
107
|
+
};
|
|
108
|
+
/** Converts a value to AdmissionShadowReportDocument, throwing if invalid. */
|
|
109
|
+
export declare const asAdmissionShadowReport: {
|
|
110
|
+
<T>(value: T): (T & {
|
|
111
|
+
assessments: {
|
|
112
|
+
admittedByAllowList: boolean;
|
|
113
|
+
block: number;
|
|
114
|
+
dataHash: string;
|
|
115
|
+
producer: string;
|
|
116
|
+
resolvable: boolean;
|
|
117
|
+
activeStake?: string | undefined;
|
|
118
|
+
eStar?: number | undefined;
|
|
119
|
+
eligible?: boolean | undefined;
|
|
120
|
+
intentValid?: boolean | undefined;
|
|
121
|
+
reason?: string | undefined;
|
|
122
|
+
selfBond?: string | undefined;
|
|
123
|
+
}[];
|
|
124
|
+
divergent: {
|
|
125
|
+
admittedByAllowList: boolean;
|
|
126
|
+
block: number;
|
|
127
|
+
dataHash: string;
|
|
128
|
+
producer: string;
|
|
129
|
+
resolvable: boolean;
|
|
130
|
+
activeStake?: string | undefined;
|
|
131
|
+
eStar?: number | undefined;
|
|
132
|
+
eligible?: boolean | undefined;
|
|
133
|
+
intentValid?: boolean | undefined;
|
|
134
|
+
reason?: string | undefined;
|
|
135
|
+
selfBond?: string | undefined;
|
|
136
|
+
}[];
|
|
137
|
+
head: number;
|
|
138
|
+
schema: "network.xyo.s3.admission.shadow" & {
|
|
139
|
+
readonly __schema: true;
|
|
140
|
+
};
|
|
141
|
+
mode?: "shadow" | "enforce" | undefined;
|
|
142
|
+
previous?: number | undefined;
|
|
143
|
+
}) | undefined;
|
|
144
|
+
<T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
|
|
145
|
+
assessments: {
|
|
146
|
+
admittedByAllowList: boolean;
|
|
147
|
+
block: number;
|
|
148
|
+
dataHash: string;
|
|
149
|
+
producer: string;
|
|
150
|
+
resolvable: boolean;
|
|
151
|
+
activeStake?: string | undefined;
|
|
152
|
+
eStar?: number | undefined;
|
|
153
|
+
eligible?: boolean | undefined;
|
|
154
|
+
intentValid?: boolean | undefined;
|
|
155
|
+
reason?: string | undefined;
|
|
156
|
+
selfBond?: string | undefined;
|
|
157
|
+
}[];
|
|
158
|
+
divergent: {
|
|
159
|
+
admittedByAllowList: boolean;
|
|
160
|
+
block: number;
|
|
161
|
+
dataHash: string;
|
|
162
|
+
producer: string;
|
|
163
|
+
resolvable: boolean;
|
|
164
|
+
activeStake?: string | undefined;
|
|
165
|
+
eStar?: number | undefined;
|
|
166
|
+
eligible?: boolean | undefined;
|
|
167
|
+
intentValid?: boolean | undefined;
|
|
168
|
+
reason?: string | undefined;
|
|
169
|
+
selfBond?: string | undefined;
|
|
170
|
+
}[];
|
|
171
|
+
head: number;
|
|
172
|
+
schema: "network.xyo.s3.admission.shadow" & {
|
|
173
|
+
readonly __schema: true;
|
|
174
|
+
};
|
|
175
|
+
mode?: "shadow" | "enforce" | undefined;
|
|
176
|
+
previous?: number | undefined;
|
|
177
|
+
};
|
|
178
|
+
};
|
|
179
|
+
/** Builds a validated admission shadow report. */
|
|
180
|
+
export declare function createAdmissionShadowReport(head: number, assessments: AdmissionShadowAssessment[], divergent: AdmissionShadowAssessment[], previous?: number, mode?: AdmissionShadowReportDocument['mode']): AdmissionShadowReportDocument;
|
|
181
|
+
//# sourceMappingURL=admissionShadow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admissionShadow.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/network-model/staticRest/layout/admissionShadow.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,yDAAyD;AACzD,eAAO,MAAM,2BAA2B;;CAAoD,CAAA;AAC5F,2DAA2D;AAC3D,MAAM,MAAM,2BAA2B,GAAG,OAAO,2BAA2B,CAAA;AAE5E,+DAA+D;AAC/D,eAAO,MAAM,4BAA4B;;;;;;;;;;;;iBAuBvC,CAAA;AAEF,+DAA+D;AAC/D,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAEpF;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAYnC,CAAA;AAEF,+CAA+C;AAC/C,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAEpF,kFAAkF;AAClF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAyC,CAAA;AAC7E,8EAA8E;AAC9E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAoE,CAAA;AAExG,kDAAkD;AAClD,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,yBAAyB,EAAE,EACxC,SAAS,EAAE,yBAAyB,EAAE,EACtC,QAAQ,CAAC,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,6BAA6B,CAAC,MAAM,CAAC,GAC3C,6BAA6B,CAI/B"}
|
|
@@ -17,6 +17,8 @@ export declare const RuleIdZod: z.ZodEnum<{
|
|
|
17
17
|
"eligibility-admission": "eligibility-admission";
|
|
18
18
|
"attestation-admission": "attestation-admission";
|
|
19
19
|
"certificate-execution": "certificate-execution";
|
|
20
|
+
"fork-choice-v2": "fork-choice-v2";
|
|
21
|
+
"bridge-value-ceiling": "bridge-value-ceiling";
|
|
20
22
|
"equivocation.reportable": "equivocation.reportable";
|
|
21
23
|
"invalid-block.reportable": "invalid-block.reportable";
|
|
22
24
|
"reward-overmint.reportable": "reward-overmint.reportable";
|
|
@@ -49,6 +51,8 @@ export declare const ChainParamsZod: z.ZodObject<{
|
|
|
49
51
|
"eligibility-admission": "eligibility-admission";
|
|
50
52
|
"attestation-admission": "attestation-admission";
|
|
51
53
|
"certificate-execution": "certificate-execution";
|
|
54
|
+
"fork-choice-v2": "fork-choice-v2";
|
|
55
|
+
"bridge-value-ceiling": "bridge-value-ceiling";
|
|
52
56
|
"equivocation.reportable": "equivocation.reportable";
|
|
53
57
|
"invalid-block.reportable": "invalid-block.reportable";
|
|
54
58
|
"reward-overmint.reportable": "reward-overmint.reportable";
|
|
@@ -81,6 +85,8 @@ export declare const ChainParamsZod: z.ZodObject<{
|
|
|
81
85
|
"eligibility-admission": "eligibility-admission";
|
|
82
86
|
"attestation-admission": "attestation-admission";
|
|
83
87
|
"certificate-execution": "certificate-execution";
|
|
88
|
+
"fork-choice-v2": "fork-choice-v2";
|
|
89
|
+
"bridge-value-ceiling": "bridge-value-ceiling";
|
|
84
90
|
"equivocation.reportable": "equivocation.reportable";
|
|
85
91
|
"invalid-block.reportable": "invalid-block.reportable";
|
|
86
92
|
"reward-overmint.reportable": "reward-overmint.reportable";
|
|
@@ -138,7 +144,7 @@ export type ChainParams = z.infer<typeof ChainParamsZod>;
|
|
|
138
144
|
export type ChainParamsInput = z.input<typeof ChainParamsZod>;
|
|
139
145
|
/** Type guard that checks if a value is a valid ChainParams. */
|
|
140
146
|
export declare const isChainParams: <T>(value: T) => value is T & {
|
|
141
|
-
activations: Partial<Record<"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", number>>;
|
|
147
|
+
activations: Partial<Record<"intent-binding" | "anchor-rules" | "single-signer" | "supersedes-field" | "slash-payloads" | "eligibility-admission" | "attestation-admission" | "certificate-execution" | "fork-choice-v2" | "bridge-value-ceiling" | "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", number>>;
|
|
142
148
|
arbiter: string;
|
|
143
149
|
attestationRewardBps: number;
|
|
144
150
|
bountyCapAtto: string;
|
|
@@ -171,12 +177,12 @@ export declare const isChainParams: <T>(value: T) => value is T & {
|
|
|
171
177
|
slashFractionsBps: Partial<Record<"equivocation" | "invalid-block" | "reward-overmint" | "false-anchor" | "ineligible-production" | "invalid-slash-request" | "false-attestation", number>>;
|
|
172
178
|
slashQuorumCount: number;
|
|
173
179
|
version: number;
|
|
174
|
-
deactivations?: Partial<Record<"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", number>> | undefined;
|
|
180
|
+
deactivations?: Partial<Record<"intent-binding" | "anchor-rules" | "single-signer" | "supersedes-field" | "slash-payloads" | "eligibility-admission" | "attestation-admission" | "certificate-execution" | "fork-choice-v2" | "bridge-value-ceiling" | "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", number>> | undefined;
|
|
175
181
|
};
|
|
176
182
|
/** Converts a value to ChainParams, throwing if invalid. */
|
|
177
183
|
export declare const asChainParams: {
|
|
178
184
|
<T>(value: T): (T & {
|
|
179
|
-
activations: Partial<Record<"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", number>>;
|
|
185
|
+
activations: Partial<Record<"intent-binding" | "anchor-rules" | "single-signer" | "supersedes-field" | "slash-payloads" | "eligibility-admission" | "attestation-admission" | "certificate-execution" | "fork-choice-v2" | "bridge-value-ceiling" | "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", number>>;
|
|
180
186
|
arbiter: string;
|
|
181
187
|
attestationRewardBps: number;
|
|
182
188
|
bountyCapAtto: string;
|
|
@@ -209,10 +215,10 @@ export declare const asChainParams: {
|
|
|
209
215
|
slashFractionsBps: Partial<Record<"equivocation" | "invalid-block" | "reward-overmint" | "false-anchor" | "ineligible-production" | "invalid-slash-request" | "false-attestation", number>>;
|
|
210
216
|
slashQuorumCount: number;
|
|
211
217
|
version: number;
|
|
212
|
-
deactivations?: Partial<Record<"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", number>> | undefined;
|
|
218
|
+
deactivations?: Partial<Record<"intent-binding" | "anchor-rules" | "single-signer" | "supersedes-field" | "slash-payloads" | "eligibility-admission" | "attestation-admission" | "certificate-execution" | "fork-choice-v2" | "bridge-value-ceiling" | "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", number>> | undefined;
|
|
213
219
|
}) | undefined;
|
|
214
220
|
<T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
|
|
215
|
-
activations: Partial<Record<"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", number>>;
|
|
221
|
+
activations: Partial<Record<"intent-binding" | "anchor-rules" | "single-signer" | "supersedes-field" | "slash-payloads" | "eligibility-admission" | "attestation-admission" | "certificate-execution" | "fork-choice-v2" | "bridge-value-ceiling" | "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", number>>;
|
|
216
222
|
arbiter: string;
|
|
217
223
|
attestationRewardBps: number;
|
|
218
224
|
bountyCapAtto: string;
|
|
@@ -245,13 +251,13 @@ export declare const asChainParams: {
|
|
|
245
251
|
slashFractionsBps: Partial<Record<"equivocation" | "invalid-block" | "reward-overmint" | "false-anchor" | "ineligible-production" | "invalid-slash-request" | "false-attestation", number>>;
|
|
246
252
|
slashQuorumCount: number;
|
|
247
253
|
version: number;
|
|
248
|
-
deactivations?: Partial<Record<"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", number>> | undefined;
|
|
254
|
+
deactivations?: Partial<Record<"intent-binding" | "anchor-rules" | "single-signer" | "supersedes-field" | "slash-payloads" | "eligibility-admission" | "attestation-admission" | "certificate-execution" | "fork-choice-v2" | "bridge-value-ceiling" | "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", number>> | undefined;
|
|
249
255
|
};
|
|
250
256
|
};
|
|
251
257
|
/** Non-validating cast to ChainParams. */
|
|
252
258
|
export declare const toChainParams: {
|
|
253
259
|
(value: unknown): {
|
|
254
|
-
activations: Partial<Record<"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", number>>;
|
|
260
|
+
activations: Partial<Record<"intent-binding" | "anchor-rules" | "single-signer" | "supersedes-field" | "slash-payloads" | "eligibility-admission" | "attestation-admission" | "certificate-execution" | "fork-choice-v2" | "bridge-value-ceiling" | "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", number>>;
|
|
255
261
|
arbiter: string;
|
|
256
262
|
attestationRewardBps: number;
|
|
257
263
|
bountyCapAtto: string;
|
|
@@ -284,10 +290,10 @@ export declare const toChainParams: {
|
|
|
284
290
|
slashFractionsBps: Partial<Record<"equivocation" | "invalid-block" | "reward-overmint" | "false-anchor" | "ineligible-production" | "invalid-slash-request" | "false-attestation", number>>;
|
|
285
291
|
slashQuorumCount: number;
|
|
286
292
|
version: number;
|
|
287
|
-
deactivations?: Partial<Record<"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", number>> | undefined;
|
|
293
|
+
deactivations?: Partial<Record<"intent-binding" | "anchor-rules" | "single-signer" | "supersedes-field" | "slash-payloads" | "eligibility-admission" | "attestation-admission" | "certificate-execution" | "fork-choice-v2" | "bridge-value-ceiling" | "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", number>> | undefined;
|
|
288
294
|
} | undefined;
|
|
289
295
|
(value: unknown, assert: import("@ariestools/sdk").ZodFactoryConfig): {
|
|
290
|
-
activations: Partial<Record<"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", number>>;
|
|
296
|
+
activations: Partial<Record<"intent-binding" | "anchor-rules" | "single-signer" | "supersedes-field" | "slash-payloads" | "eligibility-admission" | "attestation-admission" | "certificate-execution" | "fork-choice-v2" | "bridge-value-ceiling" | "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", number>>;
|
|
291
297
|
arbiter: string;
|
|
292
298
|
attestationRewardBps: number;
|
|
293
299
|
bountyCapAtto: string;
|
|
@@ -320,7 +326,7 @@ export declare const toChainParams: {
|
|
|
320
326
|
slashFractionsBps: Partial<Record<"equivocation" | "invalid-block" | "reward-overmint" | "false-anchor" | "ineligible-production" | "invalid-slash-request" | "false-attestation", number>>;
|
|
321
327
|
slashQuorumCount: number;
|
|
322
328
|
version: number;
|
|
323
|
-
deactivations?: Partial<Record<"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", number>> | undefined;
|
|
329
|
+
deactivations?: Partial<Record<"intent-binding" | "anchor-rules" | "single-signer" | "supersedes-field" | "slash-payloads" | "eligibility-admission" | "attestation-admission" | "certificate-execution" | "fork-choice-v2" | "bridge-value-ceiling" | "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", number>> | undefined;
|
|
324
330
|
};
|
|
325
331
|
};
|
|
326
332
|
/** Schema id for the register head pointer. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chainParams.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/network-model/staticRest/layout/chainParams.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAKvB,2DAA2D;AAC3D,eAAO,MAAM,iBAAiB;;CAAgD,CAAA;AAC9E,4DAA4D;AAC5D,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAA;AAExD,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,IAAI,CAAA;AAKrC,wCAAwC;AACxC,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"chainParams.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/network-model/staticRest/layout/chainParams.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAKvB,2DAA2D;AAC3D,eAAO,MAAM,iBAAiB;;CAAgD,CAAA;AAC9E,4DAA4D;AAC5D,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAA;AAExD,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,IAAI,CAAA;AAKrC,wCAAwC;AACxC,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;EAAkB,CAAA;AAKxC;;;;;;GAMG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgEzB,CAAA;AAEF,mDAAmD;AACnD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AAExD,8EAA8E;AAC9E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AAE7D,gEAAgE;AAChE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA+B,CAAA;AACzD,4DAA4D;AAC5D,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgD,CAAA;AAC1E,0CAA0C;AAC1C,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgD,CAAA;AAE1E,+CAA+C;AAC/C,eAAO,MAAM,qBAAqB;;CAAqD,CAAA;AACvF,iDAAiD;AACjD,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAA;AAEhE,8EAA8E;AAC9E,eAAO,MAAM,kBAAkB;;;;;;iBAM7B,CAAA;AAEF,+DAA+D;AAC/D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEhE,oEAAoE;AACpE,eAAO,MAAM,iBAAiB;;;;;;CAAmC,CAAA;AACjE,gEAAgE;AAChE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;CAAwD,CAAA;AAEtF,2CAA2C;AAC3C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GAAG,WAAW,CAEvF;AAED,gDAAgD;AAChD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,CAIpF"}
|
|
@@ -27,10 +27,25 @@ export declare function protocolMinAt(params: ChainParams, height: number): numb
|
|
|
27
27
|
* The register is append-only over history: a version may add rules and move future heights, but
|
|
28
28
|
* never rewrite what was true at a height the chain has already passed. Without that, a rule
|
|
29
29
|
* could be made retroactive and blocks that were valid when produced would become offenses.
|
|
30
|
+
*
|
|
31
|
+
* The one sanctioned rewrite is re-activation. A rule whose deactivation the chain has passed may
|
|
32
|
+
* return at a new future height, and the spent deactivation is dropped in the same version — the
|
|
33
|
+
* heights between read as unenforced either way, and only-forward moves mean history can never be
|
|
34
|
+
* judged more strictly than it was lived.
|
|
30
35
|
* @param previous The currently published version, when there is one
|
|
31
36
|
* @param next The version being published
|
|
32
37
|
* @param finalizedHeight The current finalized head height
|
|
33
38
|
* @returns The reasons the version may not be published, empty when it may
|
|
34
39
|
*/
|
|
35
40
|
export declare function chainParamsSuccessionErrors(previous: ChainParams | undefined, next: ChainParams, finalizedHeight: number): string[];
|
|
41
|
+
/**
|
|
42
|
+
* Checks the relationships a register version's economics must hold on their own (yellow §11.2).
|
|
43
|
+
*
|
|
44
|
+
* Only register-derivable checks live here. The withdrawal-delay inequality needs the staking
|
|
45
|
+
* contract's delay, so it belongs to the governance runbook that sets these numbers, not to a
|
|
46
|
+
* document check every reader can run.
|
|
47
|
+
* @param params The version being judged
|
|
48
|
+
* @returns The reasons the version is internally inconsistent, empty when it is sound
|
|
49
|
+
*/
|
|
50
|
+
export declare function chainParamsInvariantErrors(params: ChainParams): string[];
|
|
36
51
|
//# sourceMappingURL=chainParamsRules.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chainParamsRules.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/network-model/staticRest/layout/chainParamsRules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EAAE,mBAAmB,EACjC,MAAM,iBAAiB,CAAA;AAKxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnD,qEAAqE;AACrE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAExG;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,MAAM,GACb,mBAAmB,CAErB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAErF;AAED
|
|
1
|
+
{"version":3,"file":"chainParamsRules.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/network-model/staticRest/layout/chainParamsRules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EAAE,mBAAmB,EACjC,MAAM,iBAAiB,CAAA;AAKxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnD,qEAAqE;AACrE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAExG;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,MAAM,GACb,mBAAmB,CAErB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAErF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,WAAW,GAAG,SAAS,EACjC,IAAI,EAAE,WAAW,EACjB,eAAe,EAAE,MAAM,GACtB,MAAM,EAAE,CAwCV;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,CAmBxE"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export * from './admissionShadow.js';
|
|
1
2
|
export * from './chainContractManifest.js';
|
|
2
3
|
export * from './chainManifest.js';
|
|
3
4
|
export * from './chainParams.js';
|
|
@@ -5,6 +6,7 @@ export * from './chainParamsRules.js';
|
|
|
5
6
|
export * from './evmEventIndex.js';
|
|
6
7
|
export * from './indexManifest.js';
|
|
7
8
|
export * from './networkStakeRewardsIndex.js';
|
|
9
|
+
export * from './slashIndex.js';
|
|
8
10
|
export * from './transactionInclusionIndex.js';
|
|
9
11
|
export * from './trustedPosture.js';
|
|
10
12
|
//# 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,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qBAAqB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/network-model/staticRest/layout/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qBAAqB,CAAA"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/** Schema id for the slash index head pointer. */
|
|
3
|
+
export declare const SlashIndexHeadSchema: "network.xyo.s3.slash.index.head" & {
|
|
4
|
+
readonly __schema: true;
|
|
5
|
+
};
|
|
6
|
+
/** Type literal for the slash index head schema. */
|
|
7
|
+
export type SlashIndexHeadSchema = typeof SlashIndexHeadSchema;
|
|
8
|
+
/** Bumped when the index layout changes, so readers can detect a mismatch. */
|
|
9
|
+
export declare const SLASH_INDEX_VERSION = 1;
|
|
10
|
+
/**
|
|
11
|
+
* Zod schema for the slash index head pointer.
|
|
12
|
+
*
|
|
13
|
+
* Written last in every pass. A reader that sees this pointer can rely on everything it names
|
|
14
|
+
* already being there, which is what makes a crashed pass safe to simply re-run: the pointer only
|
|
15
|
+
* ever advances over work that finished.
|
|
16
|
+
*/
|
|
17
|
+
export declare const SlashIndexHeadZod: z.ZodObject<{
|
|
18
|
+
height: z.ZodInt;
|
|
19
|
+
indexVersion: z.ZodInt;
|
|
20
|
+
schema: z.ZodLiteral<"network.xyo.s3.slash.index.head" & {
|
|
21
|
+
readonly __schema: true;
|
|
22
|
+
}>;
|
|
23
|
+
anchor: z.ZodOptional<z.ZodInt>;
|
|
24
|
+
}, z.core.$strip>;
|
|
25
|
+
/** The slash index head pointer. */
|
|
26
|
+
export type SlashIndexHead = z.infer<typeof SlashIndexHeadZod>;
|
|
27
|
+
/** Type guard that checks if a value is a valid SlashIndexHead. */
|
|
28
|
+
export declare const isSlashIndexHead: <T>(value: T) => value is T & {
|
|
29
|
+
height: number;
|
|
30
|
+
indexVersion: number;
|
|
31
|
+
schema: "network.xyo.s3.slash.index.head" & {
|
|
32
|
+
readonly __schema: true;
|
|
33
|
+
};
|
|
34
|
+
anchor?: number | undefined;
|
|
35
|
+
};
|
|
36
|
+
/** Converts a value to SlashIndexHead, throwing if invalid. */
|
|
37
|
+
export declare const asSlashIndexHead: {
|
|
38
|
+
<T>(value: T): (T & {
|
|
39
|
+
height: number;
|
|
40
|
+
indexVersion: number;
|
|
41
|
+
schema: "network.xyo.s3.slash.index.head" & {
|
|
42
|
+
readonly __schema: true;
|
|
43
|
+
};
|
|
44
|
+
anchor?: number | undefined;
|
|
45
|
+
}) | undefined;
|
|
46
|
+
<T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
|
|
47
|
+
height: number;
|
|
48
|
+
indexVersion: number;
|
|
49
|
+
schema: "network.xyo.s3.slash.index.head" & {
|
|
50
|
+
readonly __schema: true;
|
|
51
|
+
};
|
|
52
|
+
anchor?: number | undefined;
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
/** Non-validating cast to SlashIndexHead. */
|
|
56
|
+
export declare const toSlashIndexHead: {
|
|
57
|
+
(value: unknown): {
|
|
58
|
+
height: number;
|
|
59
|
+
indexVersion: number;
|
|
60
|
+
schema: "network.xyo.s3.slash.index.head" & {
|
|
61
|
+
readonly __schema: true;
|
|
62
|
+
};
|
|
63
|
+
anchor?: number | undefined;
|
|
64
|
+
} | undefined;
|
|
65
|
+
(value: unknown, assert: import("@ariestools/sdk").ZodFactoryConfig): {
|
|
66
|
+
height: number;
|
|
67
|
+
indexVersion: number;
|
|
68
|
+
schema: "network.xyo.s3.slash.index.head" & {
|
|
69
|
+
readonly __schema: true;
|
|
70
|
+
};
|
|
71
|
+
anchor?: number | undefined;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
/** Schema id for the per-offense aggregate. */
|
|
75
|
+
export declare const SlashIndexKeyRecordSchema: "network.xyo.s3.slash.index.key" & {
|
|
76
|
+
readonly __schema: true;
|
|
77
|
+
};
|
|
78
|
+
/** Type literal for the per-offense aggregate schema. */
|
|
79
|
+
export type SlashIndexKeyRecordSchema = typeof SlashIndexKeyRecordSchema;
|
|
80
|
+
/**
|
|
81
|
+
* Zod schema for everything recorded about one offense.
|
|
82
|
+
*
|
|
83
|
+
* The aggregates are the only discovery surface, because the published read path cannot list
|
|
84
|
+
* objects. That is why they are allowed to be rewritten while everything else is immutable — and
|
|
85
|
+
* why every rewrite only appends, so a pass that runs twice converges instead of losing history.
|
|
86
|
+
*/
|
|
87
|
+
export declare const SlashIndexKeyRecordZod: z.ZodObject<{
|
|
88
|
+
accused: z.ZodString;
|
|
89
|
+
adjudication: z.ZodOptional<z.ZodString>;
|
|
90
|
+
block: z.ZodInt;
|
|
91
|
+
challenges: z.ZodArray<z.ZodString>;
|
|
92
|
+
chain: z.ZodString;
|
|
93
|
+
outcome: z.ZodOptional<z.ZodEnum<{
|
|
94
|
+
confirmed: "confirmed";
|
|
95
|
+
refuted: "refuted";
|
|
96
|
+
indeterminate: "indeterminate";
|
|
97
|
+
invalid: "invalid";
|
|
98
|
+
}>>;
|
|
99
|
+
offense: z.ZodEnum<{
|
|
100
|
+
equivocation: "equivocation";
|
|
101
|
+
"invalid-block": "invalid-block";
|
|
102
|
+
"reward-overmint": "reward-overmint";
|
|
103
|
+
"false-anchor": "false-anchor";
|
|
104
|
+
"ineligible-production": "ineligible-production";
|
|
105
|
+
"invalid-slash-request": "invalid-slash-request";
|
|
106
|
+
"false-attestation": "false-attestation";
|
|
107
|
+
}>;
|
|
108
|
+
requests: z.ZodArray<z.ZodString>;
|
|
109
|
+
schema: z.ZodLiteral<"network.xyo.s3.slash.index.key" & {
|
|
110
|
+
readonly __schema: true;
|
|
111
|
+
}>;
|
|
112
|
+
}, z.core.$strip>;
|
|
113
|
+
/** Everything recorded about one offense. */
|
|
114
|
+
export type SlashIndexKeyRecord = z.infer<typeof SlashIndexKeyRecordZod>;
|
|
115
|
+
/** Type guard that checks if a value is a valid SlashIndexKeyRecord. */
|
|
116
|
+
export declare const isSlashIndexKeyRecord: <T>(value: T) => value is T & {
|
|
117
|
+
accused: string;
|
|
118
|
+
block: number;
|
|
119
|
+
challenges: string[];
|
|
120
|
+
chain: string;
|
|
121
|
+
offense: "equivocation" | "invalid-block" | "reward-overmint" | "false-anchor" | "ineligible-production" | "invalid-slash-request" | "false-attestation";
|
|
122
|
+
requests: string[];
|
|
123
|
+
schema: "network.xyo.s3.slash.index.key" & {
|
|
124
|
+
readonly __schema: true;
|
|
125
|
+
};
|
|
126
|
+
adjudication?: string | undefined;
|
|
127
|
+
outcome?: "confirmed" | "refuted" | "indeterminate" | "invalid" | undefined;
|
|
128
|
+
};
|
|
129
|
+
/** Converts a value to SlashIndexKeyRecord, throwing if invalid. */
|
|
130
|
+
export declare const asSlashIndexKeyRecord: {
|
|
131
|
+
<T>(value: T): (T & {
|
|
132
|
+
accused: string;
|
|
133
|
+
block: number;
|
|
134
|
+
challenges: string[];
|
|
135
|
+
chain: string;
|
|
136
|
+
offense: "equivocation" | "invalid-block" | "reward-overmint" | "false-anchor" | "ineligible-production" | "invalid-slash-request" | "false-attestation";
|
|
137
|
+
requests: string[];
|
|
138
|
+
schema: "network.xyo.s3.slash.index.key" & {
|
|
139
|
+
readonly __schema: true;
|
|
140
|
+
};
|
|
141
|
+
adjudication?: string | undefined;
|
|
142
|
+
outcome?: "confirmed" | "refuted" | "indeterminate" | "invalid" | undefined;
|
|
143
|
+
}) | undefined;
|
|
144
|
+
<T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
|
|
145
|
+
accused: string;
|
|
146
|
+
block: number;
|
|
147
|
+
challenges: string[];
|
|
148
|
+
chain: string;
|
|
149
|
+
offense: "equivocation" | "invalid-block" | "reward-overmint" | "false-anchor" | "ineligible-production" | "invalid-slash-request" | "false-attestation";
|
|
150
|
+
requests: string[];
|
|
151
|
+
schema: "network.xyo.s3.slash.index.key" & {
|
|
152
|
+
readonly __schema: true;
|
|
153
|
+
};
|
|
154
|
+
adjudication?: string | undefined;
|
|
155
|
+
outcome?: "confirmed" | "refuted" | "indeterminate" | "invalid" | undefined;
|
|
156
|
+
};
|
|
157
|
+
};
|
|
158
|
+
/** Builds a validated slash index head. */
|
|
159
|
+
export declare function createSlashIndexHead(height: number, anchor?: number): SlashIndexHead;
|
|
160
|
+
//# sourceMappingURL=slashIndex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slashIndex.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/network-model/staticRest/layout/slashIndex.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,kDAAkD;AAClD,eAAO,MAAM,oBAAoB;;CAAoD,CAAA;AACrF,oDAAoD;AACpD,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAA;AAE9D,8EAA8E;AAC9E,eAAO,MAAM,mBAAmB,IAAI,CAAA;AAIpC;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;;;;;;;iBAQ5B,CAAA;AAEF,oCAAoC;AACpC,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE9D,mEAAmE;AACnE,eAAO,MAAM,gBAAgB;;;;;;;CAAkC,CAAA;AAC/D,+DAA+D;AAC/D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;CAAsD,CAAA;AACnF,6CAA6C;AAC7C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;CAAsD,CAAA;AAEnF,+CAA+C;AAC/C,eAAO,MAAM,yBAAyB;;CAAmD,CAAA;AACzF,yDAAyD;AACzD,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAA;AAExE;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;iBAkBjC,CAAA;AAEF,6CAA6C;AAC7C,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAExE,wEAAwE;AACxE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;CAAuC,CAAA;AACzE,oEAAoE;AACpE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgE,CAAA;AAElG,2CAA2C;AAC3C,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAIpF"}
|
|
@@ -3,5 +3,6 @@ export * from './evmEventIndex.js';
|
|
|
3
3
|
export * from './finalized.js';
|
|
4
4
|
export * from './indexPaths.js';
|
|
5
5
|
export * from './networkStakeRewardsIndex.js';
|
|
6
|
+
export * from './slashIndex.js';
|
|
6
7
|
export * from './transactionInclusionIndex.js';
|
|
7
8
|
//# 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;AAC/B,cAAc,+BAA+B,CAAA;AAC7C,cAAc,gCAAgC,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;AAC7C,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gCAAgC,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { Hash } from '@ariestools/sdk';
|
|
2
|
+
import type { XyoAddress } from '@xyo-network/sdk';
|
|
3
|
+
import type { OffenseCode } from '../../../protocol-model/index.js';
|
|
4
|
+
/** Path of the mutable slash-index head. */
|
|
5
|
+
export declare function slashIndexHeadPath(): string;
|
|
6
|
+
/** Path of the static slash-index manifest. */
|
|
7
|
+
export declare function slashIndexManifestPath(): string;
|
|
8
|
+
/** Path of one immutable recorded slash request. */
|
|
9
|
+
export declare function slashIndexRequestPath(hash: Hash): string;
|
|
10
|
+
/** Path of one immutable recorded slash commitment. */
|
|
11
|
+
export declare function slashIndexCommitPath(hash: Hash): string;
|
|
12
|
+
/** Path of one immutable recorded slash challenge. */
|
|
13
|
+
export declare function slashIndexChallengePath(hash: Hash): string;
|
|
14
|
+
/** Path of one immutable recorded slash adjudication. */
|
|
15
|
+
export declare function slashIndexAdjudicationPath(hash: Hash): string;
|
|
16
|
+
/**
|
|
17
|
+
* Path of the aggregate for one offense.
|
|
18
|
+
*
|
|
19
|
+
* Keyed by the canonical offense identity rather than by any report, so several reports of the
|
|
20
|
+
* same misconduct converge on one object instead of accumulating as separate accusations.
|
|
21
|
+
*/
|
|
22
|
+
export declare function slashIndexKeyPath(accused: XyoAddress, offense: OffenseCode, block: number): string;
|
|
23
|
+
/** Path of one producer's offense history. */
|
|
24
|
+
export declare function slashIndexAccusedPath(address: XyoAddress): string;
|
|
25
|
+
/** Path of one reporter's claim history. */
|
|
26
|
+
export declare function slashIndexClaimantPath(address: XyoAddress): string;
|
|
27
|
+
/** Path of one published admission shadow report. */
|
|
28
|
+
export declare function admissionShadowPath(height: number): string;
|
|
29
|
+
/** Path of the mutable pointer to the newest admission shadow report. */
|
|
30
|
+
export declare function admissionShadowHeadPath(): string;
|
|
31
|
+
//# sourceMappingURL=slashIndex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slashIndex.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/network-model/staticRest/paths/slashIndex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAElD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAIlD,4CAA4C;AAC5C,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,+CAA+C;AAC/C,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,oDAAoD;AACpD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAExD;AAED,uDAAuD;AACvD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAEvD;AAED,sDAAsD;AACtD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAE1D;AAED,yDAAyD;AACzD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAElG;AAED,8CAA8C;AAC9C,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAEjE;AAED,4CAA4C;AAC5C,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAElE;AAED,qDAAqD;AACrD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,yEAAyE;AACzE,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD"}
|
|
@@ -10,7 +10,7 @@ import type { OffenseCode } from './OffenseCode.js';
|
|
|
10
10
|
* This list lives beside the offense codes rather than with the register, because in-block
|
|
11
11
|
* validators have to name rules without depending on the register document's shape.
|
|
12
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")[]];
|
|
13
|
+
export declare const RuleIds: readonly ["intent-binding", "anchor-rules", "single-signer", "supersedes-field", "slash-payloads", "eligibility-admission", "attestation-admission", "certificate-execution", "fork-choice-v2", "bridge-value-ceiling", ...("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
14
|
/** A rule whose activation height the register records. */
|
|
15
15
|
export type RuleId = typeof RuleIds[number];
|
|
16
16
|
/** The rule id gating whether reports naming an offense may be recorded. */
|
|
@@ -1 +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,
|
|
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,oqBAcV,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"}
|