Skip to content

Commit

Permalink
Gas optimizations
Browse files Browse the repository at this point in the history
  • Loading branch information
0xvv committed Mar 27, 2023
1 parent eaaff69 commit 2115675
Showing 1 changed file with 12 additions and 3 deletions.
15 changes: 12 additions & 3 deletions src/contracts/StakingContract.sol
Original file line number Diff line number Diff line change
Expand Up @@ -556,9 +556,12 @@ contract StakingContract {
revert InvalidPublicKeys();
}
uint256 keyCount = _publicKeys.length / PUBLIC_KEY_LENGTH;
for (uint256 i = 0; i < keyCount; i++) {
for (uint256 i = 0; i < keyCount; ) {
bytes memory publicKey = BytesLib.slice(_publicKeys, i * PUBLIC_KEY_LENGTH, PUBLIC_KEY_LENGTH);
_deployAndWithdraw(publicKey, EXECUTION_LAYER_SALT_PREFIX, StakingContractStorageLib.getELDispatcher());
unchecked {
++i;
}
}
}

Expand All @@ -571,9 +574,12 @@ contract StakingContract {
revert InvalidPublicKeys();
}
uint256 keyCount = _publicKeys.length / PUBLIC_KEY_LENGTH;
for (uint256 i = 0; i < keyCount; i++) {
for (uint256 i = 0; i < keyCount; ) {
bytes memory publicKey = BytesLib.slice(_publicKeys, i * PUBLIC_KEY_LENGTH, PUBLIC_KEY_LENGTH);
_deployAndWithdraw(publicKey, CONSENSUS_LAYER_SALT_PREFIX, StakingContractStorageLib.getCLDispatcher());
unchecked {
++i;
}
}
}

Expand All @@ -586,10 +592,13 @@ contract StakingContract {
revert InvalidPublicKeys();
}
uint256 keyCount = _publicKeys.length / PUBLIC_KEY_LENGTH;
for (uint256 i = 0; i < keyCount; i++) {
for (uint256 i = 0; i < keyCount; ) {
bytes memory publicKey = BytesLib.slice(_publicKeys, i * PUBLIC_KEY_LENGTH, PUBLIC_KEY_LENGTH);
_deployAndWithdraw(publicKey, EXECUTION_LAYER_SALT_PREFIX, StakingContractStorageLib.getELDispatcher());
_deployAndWithdraw(publicKey, CONSENSUS_LAYER_SALT_PREFIX, StakingContractStorageLib.getCLDispatcher());
unchecked {
++i;
}
}
}

Expand Down

0 comments on commit 2115675

Please sign in to comment.