Open
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #2833 +/- ##
=======================================
Coverage 39.88% 39.88%
=======================================
Files 111 111
Lines 4771 4771
Branches 1311 1311
=======================================
Hits 1903 1903
Misses 2865 2865
Partials 3 3 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
shahthepro
reviewed
Mar 9, 2026
Collaborator
shahthepro
left a comment
There was a problem hiding this comment.
Compared the "CompoundingStakingSSVStrategy" contract with address 0x18c3Db0576997924dF29ad6beC188cE41C332AFb on ethereum
to local files under folders ".,node_modules"
match @openzeppelin/contracts/security/Pausable.sol
match @openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol
match @openzeppelin/contracts/token/ERC20/IERC20.sol
match @openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol
match @openzeppelin/contracts/utils/Address.sol
match @openzeppelin/contracts/utils/Context.sol
match @openzeppelin/contracts/utils/math/Math.sol
match @openzeppelin/contracts/utils/math/SafeCast.sol
match contracts/beacon/BeaconRoots.sol
match contracts/beacon/PartialWithdrawal.sol
match contracts/governance/Governable.sol
match contracts/interfaces/IBasicToken.sol
match contracts/interfaces/IBeaconProofs.sol
match contracts/interfaces/IDepositContract.sol
match contracts/interfaces/ISSVNetwork.sol
match contracts/interfaces/IStrategy.sol
match contracts/interfaces/IVault.sol
match contracts/interfaces/IWETH9.sol
match contracts/strategies/NativeStaking/CompoundingStakingSSVStrategy.sol
match contracts/strategies/NativeStaking/CompoundingValidatorManager.sol
match contracts/token/OUSD.sol
match contracts/utils/Helpers.sol
match contracts/utils/Initializable.sol
match contracts/utils/InitializableAbstractStrategy.sol
match contracts/vault/VaultStorage.sol
Changed contracts/strategies/NativeStaking/ValidatorRegistrator.sol
366 * @param targetPubKey The full public key of the target validator to consolidate into.
367 */
368 // slither-disable-start reentrancy-no-eth
369 function requestConsolidation(
370 bytes[] calldata sourcePubKeys,
371 bytes calldata targetPubKey
---
375 bytes32 targetPubKeyHash = keccak256(targetPubKey);
376 bytes32 sourcePubKeyHash;
377 uint256 totalConsolidationFees = 0;
378
379 // For each source validator
---
410 }
411
412 // slither-disable-end reentrancy-no-eth
413
414 /**
415 * @notice A consolidation request can fail to be processed on the beacon chain
416 * for various reasons. For example, the pending consolidation queue is full with 262,144 requests.
Compared the "NativeStakingSSVStrategy" contract with address 0x0c93044155Acc74af3d4C2781DC3bC8822a54912 on ethereum
to local files under folders ".,node_modules"
match @openzeppelin/contracts/security/Pausable.sol
match @openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol
match @openzeppelin/contracts/token/ERC20/IERC20.sol
match @openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol
match @openzeppelin/contracts/utils/Address.sol
match @openzeppelin/contracts/utils/Context.sol
match @openzeppelin/contracts/utils/math/Math.sol
match @openzeppelin/contracts/utils/math/SafeCast.sol
match contracts/beacon/BeaconConsolidation.sol
match contracts/governance/Governable.sol
match contracts/interfaces/IBasicToken.sol
match contracts/interfaces/IDepositContract.sol
match contracts/interfaces/ISSVNetwork.sol
match contracts/interfaces/IStrategy.sol
match contracts/interfaces/IVault.sol
match contracts/interfaces/IWETH9.sol
match contracts/strategies/NativeStaking/FeeAccumulator.sol
match contracts/strategies/NativeStaking/NativeStakingSSVStrategy.sol
match contracts/strategies/NativeStaking/ValidatorAccountant.sol
changed contracts/strategies/NativeStaking/ValidatorRegistrator.sol
match contracts/token/OUSD.sol
match contracts/utils/Helpers.sol
match contracts/utils/Initializable.sol
match contracts/utils/InitializableAbstractStrategy.sol
match contracts/vault/VaultStorage.sol
Changed contracts/strategies/NativeStaking/ValidatorRegistrator.sol
366 * @param targetPubKey The full public key of the target validator to consolidate into.
367 */
368 // slither-disable-start reentrancy-no-eth
369 function requestConsolidation(
370 bytes[] calldata sourcePubKeys,
371 bytes calldata targetPubKey
---
375 bytes32 targetPubKeyHash = keccak256(targetPubKey);
376 bytes32 sourcePubKeyHash;
377 uint256 totalConsolidationFees = 0;
378
379 // For each source validator
---
410 }
411
412 // slither-disable-end reentrancy-no-eth
413
414 /**
415 * @notice A consolidation request can fail to be processed on the beacon chain
416 * for various reasons. For example, the pending consolidation queue is full with 262,144 requests.
Compared the "NativeStakingSSVStrategy" contract with address 0x3bb8cc8a0790Cb7FA8875C18407480C4Fb3d3436 on ethereum
to local files under folders ".,node_modules"
match @openzeppelin/contracts/security/Pausable.sol
match @openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol
match @openzeppelin/contracts/token/ERC20/IERC20.sol
match @openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol
match @openzeppelin/contracts/utils/Address.sol
match @openzeppelin/contracts/utils/Context.sol
match @openzeppelin/contracts/utils/math/Math.sol
match @openzeppelin/contracts/utils/math/SafeCast.sol
match contracts/beacon/BeaconConsolidation.sol
match contracts/governance/Governable.sol
match contracts/interfaces/IBasicToken.sol
match contracts/interfaces/IDepositContract.sol
match contracts/interfaces/ISSVNetwork.sol
match contracts/interfaces/IStrategy.sol
match contracts/interfaces/IVault.sol
match contracts/interfaces/IWETH9.sol
match contracts/strategies/NativeStaking/FeeAccumulator.sol
match contracts/strategies/NativeStaking/NativeStakingSSVStrategy.sol
match contracts/strategies/NativeStaking/ValidatorAccountant.sol
changed contracts/strategies/NativeStaking/ValidatorRegistrator.sol
match contracts/token/OUSD.sol
match contracts/utils/Helpers.sol
match contracts/utils/Initializable.sol
match contracts/utils/InitializableAbstractStrategy.sol
match contracts/vault/VaultStorage.sol
Changed contracts/strategies/NativeStaking/ValidatorRegistrator.sol
366 * @param targetPubKey The full public key of the target validator to consolidate into.
367 */
368 // slither-disable-start reentrancy-no-eth
369 function requestConsolidation(
370 bytes[] calldata sourcePubKeys,
371 bytes calldata targetPubKey
---
375 bytes32 targetPubKeyHash = keccak256(targetPubKey);
376 bytes32 sourcePubKeyHash;
377 uint256 totalConsolidationFees = 0;
378
379 // For each source validator
---
410 }
411
412 // slither-disable-end reentrancy-no-eth
413
414 /**
415 * @notice A consolidation request can fail to be processed on the beacon chain
416 * for various reasons. For example, the pending consolidation queue is full with 262,144 requests.
Compared the "ConsolidationController" contract with address 0x7e57a2AF9F41aF41D6bCf53cc3C299fB7e7A51B4 on ethereum
to local files under folders ".,node_modules"
match @openzeppelin/contracts/access/Ownable.sol
match @openzeppelin/contracts/security/Pausable.sol
match @openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol
match @openzeppelin/contracts/token/ERC20/IERC20.sol
match @openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol
match @openzeppelin/contracts/utils/Address.sol
match @openzeppelin/contracts/utils/Context.sol
match @openzeppelin/contracts/utils/math/Math.sol
match @openzeppelin/contracts/utils/math/SafeCast.sol
match contracts/beacon/BeaconConsolidation.sol
match contracts/beacon/BeaconRoots.sol
match contracts/beacon/PartialWithdrawal.sol
match contracts/governance/Governable.sol
match contracts/interfaces/IBasicToken.sol
match contracts/interfaces/IBeaconProofs.sol
match contracts/interfaces/IDepositContract.sol
match contracts/interfaces/ISSVNetwork.sol
match contracts/interfaces/IStrategy.sol
match contracts/interfaces/IVault.sol
match contracts/interfaces/IWETH9.sol
match contracts/strategies/NativeStaking/CompoundingStakingSSVStrategy.sol
match contracts/strategies/NativeStaking/CompoundingValidatorManager.sol
match contracts/strategies/NativeStaking/ConsolidationController.sol
match contracts/strategies/NativeStaking/ValidatorAccountant.sol
changed contracts/strategies/NativeStaking/ValidatorRegistrator.sol
match contracts/token/OUSD.sol
match contracts/utils/Helpers.sol
match contracts/utils/Initializable.sol
match contracts/utils/InitializableAbstractStrategy.sol
match contracts/vault/VaultStorage.sol
shahthepro
previously approved these changes
Mar 9, 2026
Collaborator
shahthepro
left a comment
There was a problem hiding this comment.
- All deployed contracts are listed in the deploy PR's description
- Deployed contract's verified code (and all dependencies) match the code in master
- Contract constructors have correct arguments
- The transactions that interacted with the newly deployed contract match the deploy script.
- Governance proposal matches the deploy script
- Smoke tests pass after fork test execution of the governance proposal
Member
|
sparrowDom
approved these changes
Mar 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes
Deploy 181
ConsolidationControllerfor the first timeDeployed contracts
Proposal Id: 89537312136786952531014489036746163282884626031210646253084401528191800029294
Contract Differences
The contract were deployed before the Deploy 180 PR #2831 was merged to
master. This means the changes toValidatorRegistratorwere not included in theNativeStakingSSVStrategydeployment. See the differences in commit 19f5b39Deploy checklist
Two reviewers complete the following checklist: