-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Gas Optimizations #79
Comments
So this is fairly low quality in that there is basically no explanation and it doesn't follow the required format, but anyway the unchecked increment thing is true, I'm looking at how best to implement that! Uint256 instead of bool is absolutely out of the question because it hugely disfavors readability. I don't understand the handle validation, it's true that the UTF-8 representation of "." is We only accept the period, the range between "0" and "9" as well as the range between "a" and "b." The final gas optimization is valid, good catch! |
Correction, because it's assumed most users will use a follow module, this optimization (which does indeed reduce costs when there is no follow module to set) appears to increase costs in scenarios where users have follow modules. |
Unchecked increments are valid though! |
Specifically not addressed in a PR but in a commit: lens-protocol/core@5891556 |
Use uint256 instead of bool
Use uint(1) instead of bool(true) to save gas by avoiding masking ops
https://github.com/code-423n4/2022-02-aave-lens/blob/c1d2de2b0609b7d2734ada2ce45c91a73cc54dd9/contracts/core/storage/LensHubStorage.sol#L59
Unchecked increment
It is virtually impossible for these counter to overflow
https://github.com/code-423n4/2022-02-aave-lens/blob/c1d2de2b0609b7d2734ada2ce45c91a73cc54dd9/contracts/core/LensHub.sol#L148
https://github.com/code-423n4/2022-02-aave-lens/blob/c1d2de2b0609b7d2734ada2ce45c91a73cc54dd9/contracts/core/CollectNFT.sol#L51
https://github.com/code-423n4/2022-02-aave-lens/blob/c1d2de2b0609b7d2734ada2ce45c91a73cc54dd9/contracts/core/FollowNFT.sol#L58
_validateHandle gas optimization
'.' must be < '0'
https://github.com/code-423n4/2022-02-aave-lens/blob/c1d2de2b0609b7d2734ada2ce45c91a73cc54dd9/contracts/libraries/PublishingLogic.sol#L398
createProfile gas optimization
https://github.com/code-423n4/2022-02-aave-lens/blob/c1d2de2b0609b7d2734ada2ce45c91a73cc54dd9/contracts/libraries/PublishingLogic.sol#L57
The text was updated successfully, but these errors were encountered: