You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+18-4Lines changed: 18 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,7 +21,7 @@ For example:
21
21
"steps": [
22
22
{
23
23
"should_succeed": true,
24
-
"allow_partial_import": false,
24
+
"contains_slashable_data": false,
25
25
"interchange": {
26
26
"metadata": {
27
27
"interchange_format_version": "5",
@@ -68,9 +68,8 @@ which are as follows:
68
68
against.
69
69
*`steps[i].should_succeed: bool`: whether the `steps[i].interchange` given is valid and should
70
70
be imported successfully.
71
-
*`steps[i].allow_partial_import: bool`: whether the `steps[i].interchange` contains some
72
-
slashable data with respect to itself or the existing contents of the database, and therefore
73
-
a partial import is justified.
71
+
*`steps[i].contains_slashable_data: bool`: whether the `steps[i].interchange` contains some
72
+
slashable data with respect to itself or the existing contents of the database.
74
73
*`steps[i].interchange: Interchange`: slashing protection interchange data as described
75
74
by the spec.
76
75
*`steps[i].blocks: [object]`: a list of block signings to be attempted **after**
@@ -115,6 +114,21 @@ Note that the top-level `genesis_validators_root` is not necessarily the same
115
114
as the GVR contained in the interchange, to allow us to test the case where
116
115
they are mismatched.
117
116
117
+
## Handling Slashable Data
118
+
119
+
The `contains_slashable_data` parameter is to be interpreted as follows:
120
+
121
+
- If `should_succeed` is false, then `contains_slashable_data` is irrelevant
122
+
- If `contains_slashable_data` is false, then the given interchange **must** be imported
123
+
successfully, and the given block/attestation checks must pass.
124
+
- If `contains_slashable_data` is true, then implementations have the option to do one of two
125
+
things:
126
+
- Import the interchange successfully, working around the slashable data by minification
127
+
or some other mechanism. If the import succeeds, all checks must pass and the test
128
+
should continue to the next step.
129
+
- Reject the interchange (or partially import it), in which case the block/attestation
130
+
checks and all future steps should be ignored.
131
+
118
132
## Downloading the tests
119
133
120
134
The `tests` directory is released as a versioned `.tar.gz` on the [Releases](https://github.com/eth2-clients/slashing-protection-interchange-tests/releases) page.
0 commit comments