Omniscia Nevermined Audit

NFTUpgradeable Manual Review Findings

NFTUpgradeable Manual Review Findings

NFT-01M: Non-Standard Event Emittance

Description:

The ApprovalForAll event is emitted for the setProxyApproval function which does not utilize the msg.sender variable and as such is non-standard to the EIP.

Example:

contracts/token/erc1155/NFTUpgradeable.sol
170function setProxyApproval(address operator, bool approved) onlyOwner public virtual {
171 _proxyApprovals[operator] = approved;
172 emit ApprovalForAll(_msgSender(), operator, approved);
173}

Recommendation:

We advise a different event to be declared and emitted here.

Alleviation:

A new event ProxyApproval was introduced and is now emitted by the function ensuring proper conformity with the EIP-1155 standard.