Normal Behavior: The ERC20 standard (EIP-20) mandates that a Transfer event MUST be triggered when tokens are transferred, including when tokens are created (mint) or destroyed (burn). For minting, the _from address is 0x0. For burning, the _to address is 0x0.
Specific Issue: The _mint and _burn functions in ERC20Internals.sol update the state (balances and total supply) but fail to emit the required Transfer event.// Root cause in the codebase with @> marks to highlight the relevant section
Likelihood:
Medium: The contract is a base implementation meant to be inherited. Any project using this base and exposing mint/burn functionality will inherit this non-compliance.
Impact:
Medium:
Broken Integrations: Off-chain indexers (like Etherscan, The Graph) and wallets rely on Transfer events to track token balances and activity. Minted or burned tokens will not be reflected in these services, leading to incorrect balance displays and history.
Standard Violation: The token will not be fully ERC20 compliant.Impact 1
Add the missing event logs in the assembly blocks.
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.