Skip to content

chore: Accumulated backports to v4#20948

Merged
alexghr merged 8 commits intov4from
backport-to-v4-staging
Feb 27, 2026
Merged

chore: Accumulated backports to v4#20948
alexghr merged 8 commits intov4from
backport-to-v4-staging

Conversation

@AztecBot
Copy link
Collaborator

@AztecBot AztecBot commented Feb 27, 2026

BEGIN_COMMIT_OVERRIDE
fix: logging of class instances (#20807)
chore: deps (#20910)
refactor(aztec-node): skip unnecessary subsystems in prover-only mode and remove P2PClientType enum (#20848)
chore: Configs for next-net, testnet etc (#20803)
feat(slasher): make slash grace period relative to rollup upgrade time (#20942)
docs: add docs on state vars docs re packing in structs (#20747)
chore: remove unused prover-node dep (#20955)
END_COMMIT_OVERRIDE

@socket-security
Copy link

socket-security bot commented Feb 27, 2026

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatednpm/​@​google-cloud/​storage@​7.15.0 ⏵ 7.19.093 -1100100 +188 +2100
Addednpm/​axios@​1.13.59710010098100
Updatednpm/​@​aws-sdk/​client-s3@​3.892.0 ⏵ 3.998.098 +110010098 +1100

View full report

alexghr and others added 3 commits February 27, 2026 12:23
#20942)

## Summary

Closes A-596

- Anchors `SLASH_GRACE_PERIOD_L2_SLOTS` to the `CanonicalRollupUpdated` event emitted by the Registry when the rollup becomes canonical, instead of comparing against genesis slot 0
- Adds `getCanonicalRollupRegistrationTimestamp()` to `RegistryContract` to query the registration event timestamp
- Computes and caches the canonical rollup registration L2 slot in the slasher factory, threading it through to the `SlashOffensesCollector` where the grace period comparison now uses `offenseSlot < registeredSlot + gracePeriodSlots`

## Motivation

The rollup can be deployed weeks/months before becoming canonical (registered via `addRollup()`). By upgrade time, the current slot is far past any "slot from genesis" value, making the grace period ineffective. Now operators just set a duration (e.g. 3600 slots = 3 days) and the system anchors it to the actual upgrade time automatically.

## Test plan

- Unit tests updated and passing for `SlashOffensesCollector`, `EmpireSlasherClient`, and `TallySlasherClient`
- Grace period test verifies offenses within `registeredSlot + gracePeriod` are skipped and offenses after are not
@alexghr alexghr added the ci-full Run all master checks. label Feb 27, 2026
@alexghr alexghr enabled auto-merge (squash) February 27, 2026 16:09
@alexghr alexghr merged commit 3cdca29 into v4 Feb 27, 2026
9 checks passed
@alexghr alexghr deleted the backport-to-v4-staging branch February 27, 2026 17:21
@PhilWindle PhilWindle restored the backport-to-v4-staging branch February 27, 2026 18:02
@PhilWindle PhilWindle deleted the backport-to-v4-staging branch February 27, 2026 18:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-full Run all master checks.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants