Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Reentrancy in SimpleERC20.constructor(string,string,uint256,address) (#461-469):
External calls:
- ServicePayer(feeReceiver_,SimpleERC20) (#466)
- IPayable(receiver).pay{value: msg.value}(serviceName) (#451)
State variables written after the call(s):
- _mint(_msgSender(),initialBalance_) (#468)
- _balances[account] += amount (#367)
- _mint(_msgSender(),initialBalance_) (#468)
- _totalSupply += amount (#366)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in SimpleERC20.constructor(string,string,uint256,address) (#461-469):
External calls:
- ServicePayer(feeReceiver_,SimpleERC20) (#466)
- IPayable(receiver).pay{value: msg.value}(serviceName) (#451)
Event emitted after the call(s):
- Transfer(address(0),account,amount) (#368)
- _mint(_msgSender(),initialBalance_) (#468)
Apply the check-effects-interactions pattern.
Additional information: link
Context._msgData() (#122-125) is never used and should be removed
ERC20._burn(address,uint256) (#382-393) is never used and should be removed
Remove unused functions.
Additional information: link
Pragma version^0.8.0 (#5) allows old versions
Deploy with any of the following Solidity versions: 0.5.16 - 0.5.17, 0.6.11 - 0.6.12, 0.7.5 - 0.7.6 Use a simple pragma version that allows any of these versions. Consider using the latest version of Solidity for testing.
Additional information: link
Redundant expression "this (#123)" inContext (#117-126)
Remove redundant statements if they congest code but offer no value.
Additional information: link
name() should be declared external:
- ERC20.name() (#179-181)
symbol() should be declared external:
- ERC20.symbol() (#187-189)
decimals() should be declared external:
- ERC20.decimals() (#204-206)
totalSupply() should be declared external:
- ERC20.totalSupply() (#211-213)
balanceOf(address) should be declared external:
- ERC20.balanceOf(address) (#218-220)
transfer(address,uint256) should be declared external:
- ERC20.transfer(address,uint256) (#230-233)
allowance(address,address) should be declared external:
- ERC20.allowance(address,address) (#238-240)
approve(address,uint256) should be declared external:
- ERC20.approve(address,uint256) (#249-252)
transferFrom(address,address,uint256) should be declared external:
- ERC20.transferFrom(address,address,uint256) (#267-279)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (#293-296)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (#312-318)
Use the external attribute for functions never called from the contract.
Additional information: link
Unable to find website, listings and other project-related information
Young tokens have high risks of scam / price dump / death
Token has no active CoinGecko listing / rank
Token has no active CoinMarketCap listing / rank
Unable to find Telegram and Twitter accounts