Omniscia Gnosis Guild Audit
Types Manual Review Findings
Types Manual Review Findings
TSE-01M: Potentially Improper Function Mutability
Type | Severity | Location |
---|---|---|
Standard Conformity | ![]() | Types.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 extra31 ) 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.