code-423n4 / 2022-01-trader-joe-findings

2 stars 0 forks source link

Use immutable variables can save gas #231

Closed code423n4 closed 2 years ago

code423n4 commented 2 years ago

Handle

WatchPug

Vulnerability details

https://github.com/code-423n4/2022-01-trader-joe/blob/a1579f6453bc4bf9fb0db9c627beaa41135438ed/contracts/RocketJoeFactory.sol#L21-L21

address public override eventImplementation;

https://github.com/code-423n4/2022-01-trader-joe/blob/a1579f6453bc4bf9fb0db9c627beaa41135438ed/contracts/RocketJoeFactory.sol#L25-L25

address public override wavax;

https://github.com/code-423n4/2022-01-trader-joe/blob/a1579f6453bc4bf9fb0db9c627beaa41135438ed/contracts/RocketJoeFactory.sol#L45-L72

constructor(
    address _eventImplementation,
    address _rJoe,
    address _wavax,
    address _penaltyCollector,
    address _router,
    address _factory
) {
    // ...
    eventImplementation = _eventImplementation;
    // ...
    wavax = _wavax;
    // ...
}

In RocketJoeFactory.sol, eventImplementation and wavax will never change, use immutable variable instead of storage variable can save gas.

cryptofish7 commented 2 years ago

Duplicate of #284