code-423n4 / 2022-05-aura-findings

0 stars 1 forks source link

Gas Optimizations #330

Open code423n4 opened 2 years ago

code423n4 commented 2 years ago
  1. Better use "!=" instead ">".

POC

https://github.com/code-423n4/2022-05-aura/blob/0001f78d35f7e45b5244e9cf00e4c323417166e7/contracts/Aura.sol#L68 https://github.com/code-423n4/2022-05-aura/blob/085f573756b132b2a5992c5aa5d7b907cd11c289/contracts/AuraBalRewardPool.sol#L157 https://github.com/code-423n4/2022-05-aura/blob/0001f78d35f7e45b5244e9cf00e4c323417166e7/contracts/AuraLocker.sol#L259

Impact

Save gas use "!=" instead ">"


  1. Caching Array

POC

https://github.com/code-423n4/2022-05-aura/blob/0001f78d35f7e45b5244e9cf00e4c323417166e7/contracts/AuraClaimZap.sol#L138

Impact

Caching array lenght can save gas.

Navigation

uint256 tokenRewardContractsLen = tokenRewardContracts.length; ....

  1. Unused Import

POC

https://github.com/code-423n4/2022-05-aura/blob/0001f78d35f7e45b5244e9cf00e4c323417166e7/contracts/AuraMerkleDrop.sol#L8

Impact

Save gas if import didnt use in contract.


  1. Not defining variable

    POC

    https://github.com/code-423n4/2022-05-aura/blob/0001f78d35f7e45b5244e9cf00e4c323417166e7/contracts/AuraLocker.sol#L657

Impact

Not defining "cutoffEpoch" can reduce gas cost

Navigation

in https://github.com/code-423n4/2022-05-aura/blob/0001f78d35f7e45b5244e9cf00e4c323417166e7/contracts/AuraLocker.sol#L669 if (lockEpoch < epochStart) { if (lockEpoch > epochStart.sub(lockDuration)) { amount = amount.add(locks[i - 1].amount); } else { .....