This is the report from a security audit performed on iOWN by MrCrambo.
The audit focused primarily on the security of iOWN smart contracts.
- https://github.com/iOWNToken/iOWNToken/blob/master/contracts/CappedBurnableToken.sol
- https://github.com/iOWNToken/iOWNToken/blob/master/contracts/IownToken.sol
- https://github.com/iOWNToken/iOWNToken/blob/master/contracts/TokenTreasury.sol
- https://github.com/iOWNToken/iOWNToken/blob/master/contracts/TransfererRole.sol
- https://github.com/iOWNToken/iOWNToken/blob/master/contracts/UpgradeAgent.sol
- https://github.com/iOWNToken/iOWNToken/blob/master/contracts/UpgradeableToken.sol
In total, 4 issues were reported including:
-
0 high severity issues.
-
2 medium severity issues.
-
1 owner privilegies issues.
-
1 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) );
- Owner can
pause
any time he wants.
In functions burn
and burnFrom
there is decreasing _cap
, but it should not be decreased, because it shows maximum capitalisation of tokens.
After transfering ownership to new owner, old owner will still be able to mint, pause and transfer as owner.
Remove the rights of old owner after transfering ownership to new address.
Smart contracts contain medium severity issues.