Closed code423n4 closed 2 years ago
--1 -unnecessary increment set
Impact : Expensive gas
POC : https://github.com/code-423n4/2022-02-aave-lens/blob/main/contracts/core/FollowNFT.sol#L68 https://github.com/code-423n4/2022-02-aave-lens/blob/main/contracts/core/FollowNFT.sol#L106 https://github.com/code-423n4/2022-02-aave-lens/blob/main/contracts/core/FollowNFT.sol#L94 https://github.com/code-423n4/2022-02-aave-lens/blob/main/contracts/core/LensHub.sol#L468 https://github.com/code-423n4/2022-02-aave-lens/blob/main/contracts/core/LensHub.sol#L871
unnecessary increment ++ set. it can be remove it and saving a lot of gas.
increment
++
--2 -Using storage to declare variable inside function
storage
https://github.com/code-423n4/2022-02-aave-lens/blob/main/contracts/core/FollowNFT.sol#L135 https://github.com/code-423n4/2022-02-aave-lens/blob/main/contracts/core/FollowNFT.sol#L177
instead of caching Snapshot to memory. read it directly from storage can saving more gas.
Snapshot
Snapshot storage snapshot = _delSupplySnapshots[center];
Not really an issue. Using storage is more expensive and post increments are more expensive.
Gas Optimazation
--1 -unnecessary increment set
Impact : Expensive gas
POC : https://github.com/code-423n4/2022-02-aave-lens/blob/main/contracts/core/FollowNFT.sol#L68 https://github.com/code-423n4/2022-02-aave-lens/blob/main/contracts/core/FollowNFT.sol#L106 https://github.com/code-423n4/2022-02-aave-lens/blob/main/contracts/core/FollowNFT.sol#L94 https://github.com/code-423n4/2022-02-aave-lens/blob/main/contracts/core/LensHub.sol#L468 https://github.com/code-423n4/2022-02-aave-lens/blob/main/contracts/core/LensHub.sol#L871
unnecessary
increment
++
set. it can be remove it and saving a lot of gas.--2 -Using
storage
to declare variable inside functionhttps://github.com/code-423n4/2022-02-aave-lens/blob/main/contracts/core/FollowNFT.sol#L135 https://github.com/code-423n4/2022-02-aave-lens/blob/main/contracts/core/FollowNFT.sol#L177
instead of caching
Snapshot
to memory. read it directly from storage can saving more gas.Snapshot storage snapshot = _delSupplySnapshots[center];