@aztec/slasher 5.0.0-rc.2 → 5.0.1
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/README.md +7 -0
- package/package.json +9 -9
package/README.md
CHANGED
|
@@ -122,6 +122,12 @@ List of all slashable offenses in the system:
|
|
|
122
122
|
**Target**: Proposer who broadcast the duplicate proposal.
|
|
123
123
|
**Time Unit**: Slot-based offense.
|
|
124
124
|
|
|
125
|
+
### DUPLICATE_ATTESTATION
|
|
126
|
+
**Description**: A validator signed attestations for different checkpoint proposals (different archives) at the same slot. Validators must attest to at most one checkpoint per slot, so signing conflicting attestations is equivocation.
|
|
127
|
+
**Detection**: The P2P AttestationPool tracks attestations by slot and signer. A second attestation from the same signer for a different proposal at the same slot triggers the duplicate-attestation callback; the duplicate is propagated (Accept) so other validators can witness the offense. The ValidatorClient emits the slash event.
|
|
128
|
+
**Target**: The attester who equivocated.
|
|
129
|
+
**Time Unit**: Slot-based offense.
|
|
130
|
+
|
|
125
131
|
### ATTESTED_TO_INVALID_CHECKPOINT_PROPOSAL
|
|
126
132
|
**Description**: A committee member attested to a checkpoint proposal in a slot where this node detected a slashable invalid block proposal.
|
|
127
133
|
**Detection**: ValidatorClient marks slots with invalid block proposals detected via reexecution and slashes checkpoint attesters seen for that slot. If proposal equivocation is later detected for the slot, pending bad-attestation offenses are cleared.
|
|
@@ -173,6 +179,7 @@ with divergent validation limits.
|
|
|
173
179
|
- `slashBroadcastedInvalidBlockPenalty`: Penalty for BROADCASTED_INVALID_BLOCK_PROPOSAL
|
|
174
180
|
- `slashBroadcastedInvalidCheckpointProposalPenalty`: Penalty for BROADCASTED_INVALID_CHECKPOINT_PROPOSAL
|
|
175
181
|
- `slashDuplicateProposalPenalty`: Penalty for DUPLICATE_PROPOSAL
|
|
182
|
+
- `slashDuplicateAttestationPenalty`: Penalty for DUPLICATE_ATTESTATION
|
|
176
183
|
- `slashProposeInvalidAttestationsPenalty`: Penalty for PROPOSED_INSUFFICIENT_ATTESTATIONS and PROPOSED_INCORRECT_ATTESTATIONS
|
|
177
184
|
- `slashProposeDescendantOfCheckpointWithInvalidAttestationsPenalty`: Penalty for PROPOSED_DESCENDANT_OF_CHECKPOINT_WITH_INVALID_ATTESTATIONS
|
|
178
185
|
- `slashAttestInvalidCheckpointProposalPenalty`: Penalty for ATTESTED_TO_INVALID_CHECKPOINT_PROPOSAL
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/slasher",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -56,20 +56,20 @@
|
|
|
56
56
|
]
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@aztec/epoch-cache": "5.0.
|
|
60
|
-
"@aztec/ethereum": "5.0.
|
|
61
|
-
"@aztec/foundation": "5.0.
|
|
62
|
-
"@aztec/kv-store": "5.0.
|
|
63
|
-
"@aztec/l1-artifacts": "5.0.
|
|
64
|
-
"@aztec/stdlib": "5.0.
|
|
65
|
-
"@aztec/telemetry-client": "5.0.
|
|
59
|
+
"@aztec/epoch-cache": "5.0.1",
|
|
60
|
+
"@aztec/ethereum": "5.0.1",
|
|
61
|
+
"@aztec/foundation": "5.0.1",
|
|
62
|
+
"@aztec/kv-store": "5.0.1",
|
|
63
|
+
"@aztec/l1-artifacts": "5.0.1",
|
|
64
|
+
"@aztec/stdlib": "5.0.1",
|
|
65
|
+
"@aztec/telemetry-client": "5.0.1",
|
|
66
66
|
"source-map-support": "^0.5.21",
|
|
67
67
|
"tslib": "^2.4.0",
|
|
68
68
|
"viem": "npm:@aztec/viem@2.38.2",
|
|
69
69
|
"zod": "^4"
|
|
70
70
|
},
|
|
71
71
|
"devDependencies": {
|
|
72
|
-
"@aztec/aztec.js": "5.0.
|
|
72
|
+
"@aztec/aztec.js": "5.0.1",
|
|
73
73
|
"@jest/globals": "^30.0.0",
|
|
74
74
|
"@types/jest": "^30.0.0",
|
|
75
75
|
"@types/node": "^22.15.17",
|