This entry was created retroactively and is not exhaustive, the git history is fairly detailed and can be used to track minor changes not logged here (tests changes, gas opti, minor fixes). The history is best viewed on github to see the matching issues.
- feat: implementation of batch withdrawal functions
- feat: implementation of CL fee dispatching
- feat: requestValidatorExit()
- feat: new CL dispatch logic
- feat: slashing logic removed
- feat: immutable commission limits
- fix: split initialization
- feat: stop deposits flag
- feat: restrict withdrawal function
- feat: optional AuthorizedFeeRecipient
- remove multi operator logic
- remove Treasury contract
- reset operator index when removing validators
- implement snapshot mechanism for stored keys
- Add new deployment digest generator (
deployment.*.json
) - Add
treasury
setter
- Fix audit finding
HAL-01 - REWARDS WITHDRAWAL WITHOUT FEES CHARGING IS POSSIBLE
- Fix audit finding
HAL-02 - OPERATORS FAVORING DUE TO INCORRECT USE OF BLOCKHASH
- Fix audit finding
HAL-03 - ADDING VAST NUMBER OF OPERATORS CAN DOS DEPOSIT FUNCTIONALITY
- Fix audit finding
HAL-04 - LACK OF TRANSFER-OWNERSHIP PATTERN
- Fix audit finding
HAL-05 - STAKINGCONTRACT LACKS FEES VALIDATION IN INITIALIZE FUNCTION
- Fix audit finding
HAL-06 - UNUSED ERROR AND FUNCTIONS DECLARED
- Fix audit finding
HAL-08 - LIMIT INCREASE FOR DEACTIVATED OPERATOR IS POSSIBLE
- Remove unused
deposit(address)
method
- Add new
deposit()
method that works like thereceive()
fallback - Add new
Treasury
contract and rework fee dispatching
- Ensure fee recipients work by preventing
DELEGATECALL
->DELEGATECALL
, introduces new unupgradeableFeeRecipient
andExecutionLayerFeeDispatcher
+ConsensusLayerFeeDispatcher
upgradeable contracts
- Add
StakingContract
contract that registers operators, validators keys and allows users to deposit batches of 32 ETH into the deposited validator keys - Add
ExecutionLayerFeeRecipient
contract that handles all the fees collected on the execution layer for each validator key - Add
ConsensusLayerFeeRecipient
contract that handles all the fees collected on the consensus layer for each validator key - Add
TUPProxy
to manage the upgradeable contracts and allow admins to pause the entire contract if needed
- Add doc generation with
yarn doc
- Add ci job to run smart contract tests
- Add ci job to run smart contract linting
- Add ci job to run smart contract static analysis with Mythril
- Add ci job to run smart contract formatting checks