The audit focused primarily on the security of Maker smart contrac.
In total, 6 issues was reported including:
0 critical severity issues.
0 high severity issues.
1 medium severity issues.
5 low severity issues.
1. Owner privilegies
mint any amount of tokens without any restrictions, because owner also could unstop in any time.
Add restrictions to owner.
2. Known vulnerabilities of ERC-20 token
- It is possible to double withdrawal attack. More details here
- Lack of transaction handling mechanism issue. More details here
Add into a function
transfer(address _to, ... ) following code:
require( _to != address(this) );
3. Old solidity version
Used solidity version is old.
4. Wrong function returns
symbol() functions return the
bytes32 data type instead of
string as recommended in the ERC20 token standard.
5. Wrong function returns
decimals() function returns the
uint256 data type instead of
uint8 as recommended in the ERC20 token standard.
6. No events
mint(...) function should emit the
Transfer(address(0), guy, wad) event as the blockchain token explorers will pick this event up.
burn(...) function should emit the
Transfer(guy, address(0), wad) event as the blockchain token explorers will pick this event up.
Smart contract has medium severity issue.