According to the ERC20 standard (EIP-20), minting and burning operations MUST emit Transfer events
Minting SHOULD emit: Transfer(address(0), account, value) - "A token contract which creates new tokens SHOULD trigger a Transfer event with the _from address set to 0x0 when tokens are created."
Burning SHOULD emit: Transfer(account, address(0), value) - When tokens are destroyed, should emit Transfer with _to = 0x0
Likelihood:
Any direct or indirect call to the _mint function.
Any direct or indirect call to the _burn function.
Impact:
Standard Compliance Violation - Direct violation of ERC20 standard recommendations
Off-chain systems broken - Indexers, block explorers, and analytics tools cannot track mint/burn operations
Incorrect token supply - Wallets and DApps will show wrong total supply (missing minted tokens, including burned tokens)
DeFi integration failures - Protocols that monitor Transfer events for supply changes will fail
User confusion - Tokens can appear/disappear without traceable events
Audit trail broken - No on-chain record of token creation/destruction
These tests demonstrate that the _mint and _burn functions do not emit the standard Transfer event.
Add Transfer event emissions to the _burn and _mint functions.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.
The contest is complete and the rewards are being distributed.