-
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 #64
Comments
1 (Disputed)Not the case. From 4966507 to 4970427 2 (Disputed)Already in first audit : code-423n4/2021-11-nested-findings#25 3 (Duplicated)4 (Disputed)Compilation error 5 (Disputed)Data location must be "storage" or "memory" for constructor parameter. |
My personal judgements:
|
Now, here is the methodology I used for calculating a score for each gas report. I first assigned each submission to be either small-optimization (1 point), medium-optimization (5 points) or large-optimization (10 points), depending on how useful the optimization is. The score of a gas report is the sum of these points, divided by the maximum number of points achieved by a gas report. This maximum number was 10 points, achieved by #67. The number of points achieved by this report is 2 points. |
##NestedFinanceGasFindings
1--
-using multiple require() is gas saving
https://github.com/code-423n4/2022-02-nested/blob/main/contracts/NestedFactory.sol#L54-L62
instead of using
&&
, using multiple require is gas saving.2--
-better
for()
implementationhttps://github.com/code-423n4/2022-02-nested/blob/main/contracts/NestedFactory.sol#L113
replace i++ to ++i and dont set the
i
value because the default is already 0. Its cost less gas usage3--
-Better way of using
SafeERC20
libhttps://github.com/code-423n4/2022-02-nested/blob/main/contracts/NestedFactory.sol#L19
By calling
SafeERC20.function
directly and removing line 19 can save 15 gas per call:SafeErc20.function
was called 8 times in this contract. Also very good to implemented atNestedReserve.sol
4--
-using storage instead of caching struct/array data can save gas
https://github.com/code-423n4/2022-02-nested/blob/main/contracts/NestedFactory.sol#L205
using
storage
can save gastokens
is called once atdestroy()
before it chaced totokensLength
astokens.lenght
so reading from storage is cheaper than using memory5--
-use calldata to store
_weights
&_account
https://github.com/code-423n4/2022-02-nested/blob/main/contracts/FeeSplitter.sol#L89-L90
change memory to calldata
The text was updated successfully, but these errors were encountered: