Omniscia Gnosis Guild Audit

Types Manual Review Findings

Types Manual Review Findings

TSE-01M: Potentially Improper Function Mutability

TypeSeverityLocation
Standard ConformityTypes.sol:L31

Description:

The ICustomCondition::check function as defined in the Types is specified as pure, however, it should be possible to read its state (i.e. be specified as view).

Example:

packages/evm/contracts/adapters/Types.sol
24interface ICustomCondition {
25 function check(
26 uint256 value,
27 bytes calldata data,
28 uint256 location,
29 uint256 size,
30 bytes12 extra
31 ) external pure returns (bool success, bytes32 reason);
32}

Recommendation:

We advise it to be set to view as in the current compiler utilized the pure assumption is also not enforced (i.e. a pure function can read the state).

Alleviation:

The Gnosis Guild team considered this exhibit and opted to retain the pure attribute as it better illustrates the custom checker's semantics. As such, we consider this exhibit nullified given that pure is the mutability the Gnosis Guild team wishes custom checkers to honour.