The ERC20 core implementation fails to emit mandatory Transfer events during mint and burn operations.
According to the ERC20 standard, minting must emit a Transfer event from the zero address (0x0) to the recipient, and burning must emit a Transfer event from the holder to the zero address. This contract performs balance and supply updates silently without generating these events.
This breaks ERC20 compliance and causes serious compatibility issues with wallets, indexers, analytics tools, and off-chain infrastructure that depend on events to track token activity.
The issue originates from the internal mint and burn implementations, which update storage directly via inline assembly without emitting logs.
Likelihood: High
The mint and burn logic is used in core token functionality.
The contract is designed for inheritance.
No event emission exists anywhere in these functions.
Impact: Medium
Off-chain services cannot detect mint and burn activity.
Wallets and block explorers show incorrect balances.
Token trackers and DeFi protocols may malfunction.
Breaks ERC20 standard compliance.
The following test confirms that minting does not emit a Transfer event:
This confirms the contract does not emit the required ERC20 event.
Add standard ERC20 Transfer event emission inside _mint() and _burn().
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.