Omniscia Gnosis Guild Audit

Integrity Static Analysis Findings

Integrity Static Analysis Findings

IYT-01S: Data Location Optimization

TypeSeverityLocation
Gas OptimizationIntegrity.sol:L31

Description:

The linked input argument is set as memory in an external function.

Example:

packages/evm/contracts/Integrity.sol
31function enforce(ConditionFlat[] memory conditions) external pure {

Recommendation:

We advise it to be set as calldata optimizing its read-access gas cost. In order for the optimization to lead to a gas reduction, the code would need to be refactored to adapt to the new calldata type argument (i.e. the Integrity::_content function would also need to accept a calldata argument).

Alleviation:

The Gnosis Guild team has opted to not apply this optimization to the codebase to retain the present code's legibility.