This document is a security audit report performed by danbogd, where Aurora has been reviewed.
Сommit hash .
In total, 5 issues were reported including:
- 1 medium severity issues
- 4 low severity issues
- 0 owner privileges (ability of owner to manipulate contract, may be risky for investors)..
- 0 notes.
No critical security issues were found.
From ERC-20 specification:
The function SHOULD throw if the _from account balance does not have enough tokens to spend.
But in this implementation it just returns false. This can lead to serious consequences. Because checking the return value of this function is rare.
trasfer(line 45) transferFrom(line 54)
According to ERC20 standard when coins are minted a Transfer event should be emitted.
Line 95.
-
It is possible to double withdrawal attack. More details here.
-
Lack of transaction handling mechanism issue. WARNING! This is a very common issue and it already caused millions of dollars losses for lots of token users! More details here.
Add into a function transfer(address _to, ... )
following code:
require( _to != address(this) );
EIP20 says that: Transfers of 0 values MUST be treated as normal transfers and fire the Transfer event.
But in this contract, function transfer has a condition:
if (_value > 0) throw;
trasfer(line 45) transferFrom(line 54)
Incoming addresses should be checked for an empty value(0x0 address) to avoid loss of funds or blocking some functionality.
trasfer(line 45) transferFrom(line 54) approve (line 700
The review did not show any critical issues, some of medium and low severity issues were found.