diff --git a/contracts/0.8.25/interfaces/IStakingRouter.sol b/contracts/0.8.25/interfaces/IStakingRouter.sol index b50685970c..d79b51a385 100644 --- a/contracts/0.8.25/interfaces/IStakingRouter.sol +++ b/contracts/0.8.25/interfaces/IStakingRouter.sol @@ -9,12 +9,12 @@ interface IStakingRouter { external view returns ( - address[] memory recipients, - uint256[] memory stakingModuleIds, - uint96[] memory stakingModuleFees, + address[] calldata recipients, + uint256[] calldata stakingModuleIds, + uint96[] calldata stakingModuleFees, uint96 totalFee, uint256 precisionPoints ); - function reportRewardsMinted(uint256[] memory _stakingModuleIds, uint256[] memory _totalShares) external; + function reportRewardsMinted(uint256[] calldata _stakingModuleIds, uint256[] calldata _totalShares) external; } diff --git a/contracts/0.8.25/vaults/VaultHub.sol b/contracts/0.8.25/vaults/VaultHub.sol index f37755bb84..b817f7bdd9 100644 --- a/contracts/0.8.25/vaults/VaultHub.sol +++ b/contracts/0.8.25/vaults/VaultHub.sol @@ -527,7 +527,8 @@ abstract contract VaultHub is PausableUntilWithRoles { /// @notice Evaluates if vault's valuation meets minimum threshold and marks it as unbalanced if below threshold function _vaultAssessment(address _vault, VaultSocket storage _socket) internal { uint256 valuation = IStakingVault(_vault).valuation(); - uint256 threshold = (_socket.sharesMinted * TOTAL_BASIS_POINTS) / (TOTAL_BASIS_POINTS - _socket.reserveRatioThresholdBP); + uint256 mintedStETH = STETH.getPooledEthByShares(_socket.sharesMinted); + uint256 threshold = (mintedStETH * TOTAL_BASIS_POINTS) / (TOTAL_BASIS_POINTS - _socket.reserveRatioThresholdBP); _epicrisis(valuation, threshold, _socket); }