Skip to content

Conversation

@krogla
Copy link
Member

@krogla krogla commented Dec 3, 2025

A short summary of the changes.

Context

What the reviewer needs to know

Problem

What problem this PR solves, link relevant issue if it exists

Solution

Your proposed solution

@krogla krogla requested a review from a team as a code owner December 3, 2025 05:44
uint256[] memory shares = SRStorage.getSTASStorage().sharesOf(_moduleIds, uint8(Strategies.Deposit));
uint256[] memory balances = new uint256[](n);
uint256[] memory capacities = new uint256[](n);
AllocationState memory allocState;

Check warning

Code scanning / Slither

Uninitialized local variables Medium

SRLib._getDepositAllocations(uint256[],uint256).allocState is a local variable never initialized
{
uint256 n = _moduleIds.length;
uint256[] memory balances = new uint256[](n);
AllocationState memory allocState;

Check warning

Code scanning / Slither

Uninitialized local variables Medium


if (targets[i] == 0) --count;
if (capacity > 0) {
uint256 demand;

Check warning

Code scanning / Slither

Uninitialized local variables Medium

@github-actions
Copy link

github-actions bot commented Dec 3, 2025

badge

Hardhat Unit Tests Coverage Summary

Filename                                                                Stmts    Miss  Cover    Missing
--------------------------------------------------------------------  -------  ------  -------  ------------------------------------------------------------------------------------------------------------------------------
contracts/0.4.24/Lido.sol                                                 278      11  96.04%   832-851, 947-959
contracts/0.4.24/StETH.sol                                                 80       0  100.00%
contracts/0.4.24/StETHPermit.sol                                           15       0  100.00%
contracts/0.4.24/lib/Packed64x4.sol                                         5       0  100.00%
contracts/0.4.24/lib/SigningKeys.sol                                       36       0  100.00%
contracts/0.4.24/lib/StakeLimitUtils.sol                                   41       0  100.00%
contracts/0.4.24/nos/NodeOperatorsRegistry.sol                            436       0  100.00%
contracts/0.4.24/utils/Pausable.sol                                         9       0  100.00%
contracts/0.4.24/utils/UnstructuredStorageExt.sol                          14       0  100.00%
contracts/0.4.24/utils/Versioned.sol                                        5       0  100.00%
contracts/0.6.12/WstETH.sol                                                17       0  100.00%
contracts/0.8.25/ValidatorExitDelayVerifier.sol                            75       0  100.00%
contracts/0.8.25/lib/BeaconChainDepositor.sol                              19       2  89.47%   51, 54
contracts/0.8.25/sr/SRLib.sol                                             270      52  80.74%   103, 129, 157-205, 222-228, 420-439, 479, 501-502, 810-832, 873-876
contracts/0.8.25/sr/SRStorage.sol                                          25       3  88.00%   36, 44, 68
contracts/0.8.25/sr/SRTypes.sol                                             0       0  100.00%
contracts/0.8.25/sr/SRUtils.sol                                            47       8  82.98%   74-75, 82, 104, 114, 169-171
contracts/0.8.25/sr/StakingRouter.sol                                     267      31  88.39%   316, 343-350, 411-413, 438-457, 614-615, 689-690, 712-720, 754-757, 772, 795, 909-914, 1220-1223
contracts/0.8.25/stas/STASCore.sol                                        172      79  54.07%   56-60, 69-74, 100-111, 121-153, 169-194, 203-216, 243, 258, 266-290, 296, 381-387, 393, 399
contracts/0.8.25/stas/STASPouringMath.sol                                 123      21  82.93%   66-77, 90, 105-110, 151, 157, 217-218, 223, 227, 250, 299-300
contracts/0.8.25/utils/AccessControlConfirmable.sol                         2       0  100.00%
contracts/0.8.25/utils/Confirmable2Addresses.sol                            5       0  100.00%
contracts/0.8.25/utils/Confirmations.sol                                   37       0  100.00%
contracts/0.8.25/utils/PausableUntilWithRoles.sol                           3       0  100.00%
contracts/0.8.25/utils/V3TemporaryAdmin.sol                                50      50  0.00%    92-224
contracts/0.8.25/vaults/LazyOracle.sol                                    120      13  89.17%   231, 258-261, 418, 431, 447, 495, 540-542, 616, 624
contracts/0.8.25/vaults/OperatorGrid.sol                                  192       2  98.96%   203-204
contracts/0.8.25/vaults/PinnedBeaconProxy.sol                               6       0  100.00%
contracts/0.8.25/vaults/StakingVault.sol                                  111      14  87.39%   307-341
contracts/0.8.25/vaults/ValidatorConsolidationRequests.sol                 48       3  93.75%   183, 187, 199
contracts/0.8.25/vaults/VaultFactory.sol                                   34       0  100.00%
contracts/0.8.25/vaults/VaultHub.sol                                      418      79  81.10%   252-261, 276-282, 337-358, 375, 460, 538-539, 581-674, 983-985, 1073-1077, 1133, 1188-1195, 1484-1502
contracts/0.8.25/vaults/dashboard/Dashboard.sol                           121       8  93.39%   177-195, 293, 596-609
contracts/0.8.25/vaults/dashboard/NodeOperatorFee.sol                      67       0  100.00%
contracts/0.8.25/vaults/dashboard/Permissions.sol                          48       2  95.83%   328-337
contracts/0.8.25/vaults/interfaces/IPinnedBeaconProxy.sol                   0       0  100.00%
contracts/0.8.25/vaults/interfaces/IPredepositGuarantee.sol                 0       0  100.00%
contracts/0.8.25/vaults/interfaces/IStakingVault.sol                        0       0  100.00%
contracts/0.8.25/vaults/interfaces/IVaultFactory.sol                        0       0  100.00%
contracts/0.8.25/vaults/lib/PinnedBeaconUtils.sol                           5       0  100.00%
contracts/0.8.25/vaults/lib/RecoverTokens.sol                               5       0  100.00%
contracts/0.8.25/vaults/lib/RefSlotCache.sol                               36       0  100.00%
contracts/0.8.25/vaults/predeposit_guarantee/CLProofVerifier.sol           16       1  93.75%   214
contracts/0.8.25/vaults/predeposit_guarantee/MeIfNobodyElse.sol             3       0  100.00%
contracts/0.8.25/vaults/predeposit_guarantee/PredepositGuarantee.sol      213      12  94.37%   482-502, 531, 670, 677, 699
contracts/0.8.9/Accounting.sol                                             95       2  97.89%   379-380
contracts/0.8.9/Burner.sol                                                 92       0  100.00%
contracts/0.8.9/ConsolidationGateway.sol                                   50       2  96.00%   235, 266
contracts/0.8.9/DepositSecurityModule.sol                                 128       0  100.00%
contracts/0.8.9/EIP712StETH.sol                                            16       0  100.00%
contracts/0.8.9/LidoExecutionLayerRewardsVault.sol                         16       0  100.00%
contracts/0.8.9/LidoLocator.sol                                            27       0  100.00%
contracts/0.8.9/OracleDaemonConfig.sol                                     28       0  100.00%
contracts/0.8.9/TriggerableWithdrawalsGateway.sol                          54       1  98.15%   271
contracts/0.8.9/WithdrawalQueue.sol                                        88       0  100.00%
contracts/0.8.9/WithdrawalQueueBase.sol                                   146       0  100.00%
contracts/0.8.9/WithdrawalQueueERC721.sol                                  89       0  100.00%
contracts/0.8.9/WithdrawalVault.sol                                        40       2  95.00%   89-90
contracts/0.8.9/WithdrawalVaultEIP7685.sol                                 40       0  100.00%
contracts/0.8.9/lib/ExitLimitUtils.sol                                     35       0  100.00%
contracts/0.8.9/lib/Math.sol                                                4       0  100.00%
contracts/0.8.9/lib/PositiveTokenRebaseLimiter.sol                         22       0  100.00%
contracts/0.8.9/lib/UnstructuredRefStorage.sol                              2       0  100.00%
contracts/0.8.9/oracle/AccountingOracle.sol                               189       6  96.83%   601, 604, 608-612
contracts/0.8.9/oracle/BaseOracle.sol                                      89       1  98.88%   401
contracts/0.8.9/oracle/HashConsensus.sol                                  263       1  99.62%   1005
contracts/0.8.9/oracle/ValidatorsExitBus.sol                              138      10  92.75%   458-471, 541
contracts/0.8.9/oracle/ValidatorsExitBusOracle.sol                         52       1  98.08%   217
contracts/0.8.9/proxy/OssifiableProxy.sol                                  17       0  100.00%
contracts/0.8.9/proxy/WithdrawalsManagerProxy.sol                          60       0  100.00%
contracts/0.8.9/sanity_checks/OracleReportSanityChecker.sol               225     142  36.89%   245-250, 282-295, 324-347, 365-382, 414-549, 602-893, 908-909, 912-913, 928-929, 932-933, 936-937, 940-941, 944-945, 952, 1019
contracts/0.8.9/utils/DummyEmptyContract.sol                                0       0  100.00%
contracts/0.8.9/utils/PausableUntil.sol                                    31       0  100.00%
contracts/0.8.9/utils/Versioned.sol                                        11       0  100.00%
contracts/0.8.9/utils/access/AccessControl.sol                             23       0  100.00%
contracts/0.8.9/utils/access/AccessControlEnumerable.sol                    9       0  100.00%
contracts/common/utils/PausableUntil.sol                                   29       0  100.00%
TOTAL                                                                    5582     559  89.99%

Diff against master

Filename                                                                Stmts    Miss  Cover
--------------------------------------------------------------------  -------  ------  --------
contracts/0.4.24/Lido.sol                                                 +66     +11  -3.96%
contracts/0.4.24/StETH.sol                                                 +8       0  +100.00%
contracts/0.4.24/lib/StakeLimitUtils.sol                                   +4       0  +100.00%
contracts/0.4.24/nos/NodeOperatorsRegistry.sol                             +1       0  +100.00%
contracts/0.4.24/utils/UnstructuredStorageExt.sol                         +14       0  +100.00%
contracts/0.8.25/lib/BeaconChainDepositor.sol                             +19      +2  +89.47%
contracts/0.8.25/sr/SRLib.sol                                            +270     +52  +80.74%
contracts/0.8.25/sr/SRStorage.sol                                         +25      +3  +88.00%
contracts/0.8.25/sr/SRTypes.sol                                             0       0  +100.00%
contracts/0.8.25/sr/SRUtils.sol                                           +47      +8  +82.98%
contracts/0.8.25/sr/StakingRouter.sol                                    +267     +31  +88.39%
contracts/0.8.25/stas/STASCore.sol                                       +172     +79  +54.07%
contracts/0.8.25/stas/STASPouringMath.sol                                +123     +21  +82.93%
contracts/0.8.25/utils/AccessControlConfirmable.sol                        +2       0  +100.00%
contracts/0.8.25/utils/Confirmable2Addresses.sol                           +5       0  +100.00%
contracts/0.8.25/utils/Confirmations.sol                                  +37       0  +100.00%
contracts/0.8.25/utils/PausableUntilWithRoles.sol                          +3       0  +100.00%
contracts/0.8.25/utils/V3TemporaryAdmin.sol                               +50     +50  +100.00%
contracts/0.8.25/vaults/LazyOracle.sol                                   +120     +13  +89.17%
contracts/0.8.25/vaults/OperatorGrid.sol                                 +192      +2  +98.96%
contracts/0.8.25/vaults/PinnedBeaconProxy.sol                              +6       0  +100.00%
contracts/0.8.25/vaults/StakingVault.sol                                 +111     +14  +87.39%
contracts/0.8.25/vaults/ValidatorConsolidationRequests.sol                +48      +3  +93.75%
contracts/0.8.25/vaults/VaultFactory.sol                                  +34       0  +100.00%
contracts/0.8.25/vaults/VaultHub.sol                                     +418     +79  +81.10%
contracts/0.8.25/vaults/dashboard/Dashboard.sol                          +121      +8  +93.39%
contracts/0.8.25/vaults/dashboard/NodeOperatorFee.sol                     +67       0  +100.00%
contracts/0.8.25/vaults/dashboard/Permissions.sol                         +48      +2  +95.83%
contracts/0.8.25/vaults/interfaces/IPinnedBeaconProxy.sol                   0       0  +100.00%
contracts/0.8.25/vaults/interfaces/IPredepositGuarantee.sol                 0       0  +100.00%
contracts/0.8.25/vaults/interfaces/IStakingVault.sol                        0       0  +100.00%
contracts/0.8.25/vaults/interfaces/IVaultFactory.sol                        0       0  +100.00%
contracts/0.8.25/vaults/lib/PinnedBeaconUtils.sol                          +5       0  +100.00%
contracts/0.8.25/vaults/lib/RecoverTokens.sol                              +5       0  +100.00%
contracts/0.8.25/vaults/lib/RefSlotCache.sol                              +36       0  +100.00%
contracts/0.8.25/vaults/predeposit_guarantee/CLProofVerifier.sol          +16      +1  +93.75%
contracts/0.8.25/vaults/predeposit_guarantee/MeIfNobodyElse.sol            +3       0  +100.00%
contracts/0.8.25/vaults/predeposit_guarantee/PredepositGuarantee.sol     +213     +12  +94.37%
contracts/0.8.9/Accounting.sol                                            +95      +2  +97.89%
contracts/0.8.9/Burner.sol                                                +21       0  +100.00%
contracts/0.8.9/ConsolidationGateway.sol                                  +50      +2  +96.00%
contracts/0.8.9/LidoLocator.sol                                            +7       0  +100.00%
contracts/0.8.9/WithdrawalVault.sol                                        +8      +2  -5.00%
contracts/0.8.9/WithdrawalVaultEIP7685.sol                                +40       0  +100.00%
contracts/0.8.9/oracle/AccountingOracle.sol                                -4      +6  -3.17%
contracts/0.8.9/oracle/ValidatorsExitBus.sol                                0      +9  -6.53%
contracts/0.8.9/proxy/WithdrawalsManagerProxy.sol                         +60       0  +100.00%
contracts/0.8.9/sanity_checks/OracleReportSanityChecker.sol                -7    +142  -63.11%
contracts/common/utils/PausableUntil.sol                                  +29       0  +100.00%
TOTAL                                                                   +2855    +554  -7.33%

Results for commit: b715b2e

Minimum allowed coverage is 80%

♻️ This comment has been updated with latest results

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants