Skip to content

fix: slash attestations for invalid checkpoint proposals#23506

Merged
alexghr merged 1 commit into
merge-train/spartanfrom
ag/fix-slash-attestations-for-invalid-checkpoint-proposals
May 27, 2026
Merged

fix: slash attestations for invalid checkpoint proposals#23506
alexghr merged 1 commit into
merge-train/spartanfrom
ag/fix-slash-attestations-for-invalid-checkpoint-proposals

Conversation

@alexghr

@alexghr alexghr commented May 22, 2026

Copy link
Copy Markdown
Contributor

Slash attesters for attestations to invalid checkpoint proposals, mirroring invalid block proposal handling and preserving equivocation forgiveness.

Fix A-1074

@alexghr alexghr force-pushed the ag/fix-slash-attestations-for-invalid-checkpoint-proposals branch 3 times, most recently from bb0d580 to ad87bb1 Compare May 22, 2026 16:15
@alexghr alexghr force-pushed the ag/fix-slash-attestations-for-invalid-checkpoint-proposals branch 7 times, most recently from bfb0156 to e9d865a Compare May 26, 2026 10:41
@alexghr alexghr enabled auto-merge (squash) May 26, 2026 11:06
Comment thread yarn-project/validator-client/src/validator.ts Outdated
Comment on lines +778 to +780
if (this.config.slashAttestInvalidCheckpointProposalPenalty > 0n) {
this.markInvalidProposalSlot(proposal.slotNumber);
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess the next PR is removing this conditional, right?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yep!

};

export class AttestedInvalidProposalWatcher extends (EventEmitter as new () => WatcherEmitter) implements Watcher {
private readonly log: Logger = createLogger('attested-invalid-proposal-watcher');

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: let's pass the logger bindings from the parent. Useful for distinguishing between nodes in e2e tests.

Comment thread yarn-project/slasher/src/watchers/attested_invalid_proposal_watcher.ts Outdated
Comment thread yarn-project/slasher/src/watchers/attested_invalid_proposal_watcher.ts Outdated
@alexghr alexghr force-pushed the ag/fix-slash-attestations-for-invalid-checkpoint-proposals branch from e9d865a to f285211 Compare May 26, 2026 16:21
@alexghr alexghr force-pushed the ag/fix-slash-attestations-for-invalid-checkpoint-proposals branch from f285211 to 36b86e2 Compare May 27, 2026 12:59

@spalladino spalladino left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@alexghr alexghr merged commit a304325 into merge-train/spartan May 27, 2026
14 checks passed
@alexghr alexghr deleted the ag/fix-slash-attestations-for-invalid-checkpoint-proposals branch May 27, 2026 14:39
danielntmd pushed a commit to danielntmd/aztec-packages that referenced this pull request Jun 4, 2026
BEGIN_COMMIT_OVERRIDE
fix(archiver): skip descendants of invalid-attestations checkpoints
(AztecProtocol#23502)
chore: scale network validators (AztecProtocol#23579)
fix(ci): nightly 10 TPS bench GCP auth and checkout (AztecProtocol#23586)
chore: set eth node resource profile (AztecProtocol#23583)
fix: wait for checkpoint before sentinel assertions (AztecProtocol#23573)
fix: slash attestations for invalid checkpoint proposals (AztecProtocol#23506)
test: fix web3signer pipelining
`e2e_multi_validator_node_key_store.test.ts` (AztecProtocol#23568)
fix: cap CI devbox hostname (AztecProtocol#23591)
test: stabilize invalid checkpoint descendant e2e (AztecProtocol#23582)
test(e2e): stabilize invalidation slots in `proposer invalidates
multiple checkpoints` (AztecProtocol#23590)
test(e2e): stabilize invalid proposal slashing target slot in
`attested_invalid_proposal` (AztecProtocol#23589)
chore(foundation): faster toBufferBE via zero fast-path (AztecProtocol#23592)
fix: honour BB_BINARY_PATH (AztecProtocol#23570)
chore: bump reth and lighthouse (AztecProtocol#23588)
chore: add web3signer and postgres node selectors (AztecProtocol#23598)
fix: do not symlink .codex folders (AztecProtocol#23593)
chore: fix claude and codex symlinking tests (AztecProtocol#23599)
test(e2e): narrow down sentinel check in `multiple_validators_sentinel`
(AztecProtocol#23604)
test(e2e): fix `proposer invalidates multiple checkpoints` timeout
(AztecProtocol#23608)
fix: record zero-amount slashing offenses (AztecProtocol#23556)
fix: log slashing offense names (AztecProtocol#23565)
feat(p2p): tx validation cache (AztecProtocol#23585)
chore: add KEDA deployment module (AztecProtocol#23553)
chore: add KEDA prover agent autoscaling (AztecProtocol#23554)
chore: update destroy_bootnode.sh (AztecProtocol#23626)
chore: skip failing chonk_pinned_inputs.test in CI (AztecProtocol#23643)
chore(ci): tolerate public authwit P2P receipt flake (AztecProtocol#23648)
END_COMMIT_OVERRIDE
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants