Save vault.getToken()
as an immutable variable in YaxisVaultAdapter.sol
contract can save gas
#52
Labels
bug
Something isn't working
G (Gas Optimization)
resolved
Finding has been patched by sponsor (sponsor pls link to PR containing fix)
sponsor confirmed
Sponsor agrees this is a problem and intends to fix it (OK to use w/ "disagree with severity")
Handle
WatchPug
Vulnerability details
Across the functions in
YaxisVaultAdapter.sol
,vault.getToken()
is called many times, each one will cost a significant amount of gas due to external call.Given that the result of
vault.getToken()
will never change, create an immutable variable namedtoken
in the contract and replacevault.getToken()
withtoken
can save gas.vault.getLPToken()
is a similar situation, it can also be cached as an immutable variable.https://github.com/code-423n4/2021-11-yaxis/blob/146febcb61ae7fe20b0920849c4f4bbe111c6ba7/contracts/v3/alchemix/adapters/YaxisVaultAdapter.sol#L45-L45
https://github.com/code-423n4/2021-11-yaxis/blob/146febcb61ae7fe20b0920849c4f4bbe111c6ba7/contracts/v3/alchemix/adapters/YaxisVaultAdapter.sol#L70-L70
https://github.com/code-423n4/2021-11-yaxis/blob/146febcb61ae7fe20b0920849c4f4bbe111c6ba7/contracts/v3/alchemix/adapters/YaxisVaultAdapter.sol#L76-L76
The text was updated successfully, but these errors were encountered: