Weather Code Style Findings

Weather Code Style Findings

WEA-01C: Deprecated Representation Style

Type Severity Location
Code Style Weather.sol:L25

Description:

The linked code contains the representation of the maximum value of a uint32 in the 2**32 - 1 format which has been officially deprecated and no longer compiles in recent pragma versions.

Example:

protocol/contracts/farm/facets/SeasonFacet/Weather.sol
25uint32 private constant MAX_UINT32 = 2**32-1;

Recommendation:

We advise the type(uint32).max standardised representational style to be utilised instead.

Alleviation:

All instances of the constant were correctly replaced with type(uint32).max standardizing the codebase.

View Fix on GitHub

WEA-02C: Redundant Usage of SafeMath

Type Severity Location
Gas Optimization Weather.sol:L167, L181

Description:

The linked SafeMath operations are guaranteed to be performed safely by their surrounding if clauses and general logical constraints.

Example:

protocol/contracts/farm/facets/SeasonFacet/Weather.sol
180if (newBeans <= beansBeanPool) return (0,0);
181uint256 beans = newBeans.sub(beansBeanPool);

Recommendation:

We advise them to be performed without the usage of SafeMath to optimise the code.

Alleviation:

The redundant usage of SafeMath was safely omitted from both linked statements.

View Fix on GitHub
Navigated to Weather Code Style Findings