This is the report from a security audit performed on Airswap by MrCrambo.
The audit focused primarily on the security of Airswap smart contracts.
- https://github.com/airswap/contracts/blob/master/contracts/AirSwapToken.sol
- https://github.com/airswap/contracts/blob/master/contracts/Exchange.sol
In total, 3 issues were reported including:
-
0 high severity issues.
-
0 medium severity issues.
-
0 owner privilegies issues.
-
3 low severity issues.
- 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) );
In function fill
use throw instead of returning and emitting failed event, because other contracts which use exchange smart contract will not know, that its failed.
There is no zero address checking in AirSwapToken
Smart contract contains low severity issues.