Shield Protocol smart contract security audit report performed by Callisto Security Audit Department
Commit hash f5c1a5d77c158f84889b65a4070f7b80c3cf6898 BinanceSmartChain_SHIELD.sol
In total, 3 issues were reported including:
-
1 low severity issues.
-
2 notes.
No critical security issues were found.
- 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 the following code to the transfer(_to address, ...)
function:
require( _to != address(this) );
The variables _decimals, _symbol, _name declared as public
so compiler create getter function for them. But for those variables already there are getter function decimals(), symbol(), name().
This issue caused higher gas consumption during deployment, but does not impact on contract works.
Variable _decimals
, _symbol
, _name
have to be declared as private
.
The function decimals() returns type uint256
but variable _decimals has type uint8
.
The function decimals()
has to returns uint8
.
The audited smart contract can be deployed. Only low severity issus was found during the audit. The pointed notes don't impact on contract works but show the how it has to be by good practice.
https://gist.github.com/danbogd/c3d990fc32ccd1623e2a9898fd636904
https://gist.github.com/MrCrambo/830356e6648f5b7f5f192f4820d625a9