Overview
This release represents the middleware contracts release with audit changes.
Breaking Changes:
- Removed
staleStakes
from theBLSSignatureChecker
Additional Notes (same as from the v1.3.0
release candidate):
In this release we bumped the openzeppelin dependency to align with the core contracts.
https://github.com/OpenZeppelin/openzeppelin-contracts/tree/release-v4.7 to https://github.com/OpenZeppelin/openzeppelin-contracts/tree/release-v4.9
Between these two releases the EIP712 implementation progressed out of draft status. And had changes to it's storage layout. This contract was used in the RegistryCoordinator (legacy) and was the first contract in the inheritance order. This meant that upgrading to the openzeppelin 4.9 would have resulted in a storage layout shift for upgrading contracts. To remedy this we moved EIP712 to be the last contract in the inheritance order so that it's storage is at the end of the storage layout. This preserves the functionality and keeps the storage layout the same pre and post upgrade.
An AVS that extended the RegistryCoordinator and added storage to the end of the storage layout will also need to make sure that EIP712Upgradeable is the last contract in the inheritance order and verify that it's the last contract in the storage layout. Extra precauction is needed in verifying these storage layout changes
Audit fixes from the release candidate
- fix: ejection manager inclusive ejection by @ypatil12 in #462
- fix: lookahead period constraint by @ypatil12 in #463
- fix: enforce quorum registration on churn by @ypatil12 in #467
- fix: dealloc delay inquality on quorum creation by @ypatil12 in #468
- chore: remove redundant check by @ypatil12 in #465
- chore: remove unused import by @ypatil12 in #466
- Feat: generate parameters for checkSignatures by referencing OperatorStateRetriever on-chain by @ypatil12 in #461
- feat: slashing audit fixes by @ypatil12 in #475
Full Changelog: v1.3.0...v1.3.1