Omniscia Gnosis Guild Audit

AvatarIsOwnerOfERC721 Code Style Findings

AvatarIsOwnerOfERC721 Code Style Findings

AIO-01C: Documentation Enhancement

TypeSeverityLocation
Code StyleAvatarIsOwnerOfERC721.sol:L20

Description:

Similarly to how the value named argument is implied in the AvatarIsOwnerOfERC721::check function, the extra argument should be documented as well.

Example:

packages/evm/contracts/adapters/AvatarIsOwnerOfERC721.sol
14function check(
15 address to,
16 uint256 /* value */,
17 bytes calldata data,
18 uint256 location,
19 uint256 size,
20 bytes12
21) public view returns (bool success, bytes32 reason) {

Recommendation:

We advise the extra name to be denoted in in-line comments after the bytes12 type specifier.

Alleviation (e6d315f9170dcf4c622d504bd2fb6eafbdac9b75):

The extra named variable is properly denoted in the commented out section of the AvatarIsOwnerOfERC721::check function, addressing this exhibit.

AIO-02C: Potential Enhancement of Custom Adapter Data

TypeSeverityLocation
Standard ConformityAvatarIsOwnerOfERC721.sol:L24

Description:

The AvatarIsOwnerOfERC721::check function will yield a value of 0 as the reason the check failed.

Example:

packages/evm/contracts/adapters/AvatarIsOwnerOfERC721.sol
14function check(
15 address to,
16 uint256 /* value */,
17 bytes calldata data,
18 uint256 location,
19 uint256 size,
20 bytes12
21) public view returns (bool success, bytes32 reason) {
22 address avatar = IModifier(msg.sender).avatar();
23 uint256 tokenId = uint256(bytes32(data[location:location + size]));
24 return (IERC721(to).ownerOf(tokenId) == avatar, 0);
25}

Recommendation:

We advise its usability to be increased by simply yielding the actual avatar expected, aiding off-chain as well as on-chain software in handling the custom condition's failure.

Alleviation (e6d315f9170dcf4c622d504bd2fb6eafbdac9b75):

The Gnosis Guild team evaluated this exhibit and opted not to apply a remediation for it as the avatar expected value is publicly and easily accessible. As such, we consider this exhibit acknowledged safely.