BlockAura is a high-throughput blockchain that will support 450–500k transactions per second, without complex solutions like layer-two. As the world's first web-scale blockchain, BlockAura will unlock a whole new class of performant applications and facilitate larger scale blockchain adoption. BlockAura will use Advance PoS mechanism to accelerate transaction and block storage to achieve low cost transactions. BlockAura blockchain will solve the issue for fraud and scam tokens using its smart contract through the DOA policy implemented to secure the users in the ecosystem.
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Contract ownership is not renounced (belongs to a wallet)
Redundant expression "this (#263)" inContext (#253-266)
Remove redundant statements if they congest code but offer no value.
Additional information: link
BEP20Token.allowance(address,address).owner (#605) shadows:
- Ownable.owner() (#446-448) (function)
BEP20Token._approve(address,address,uint256).owner (#796) shadows:
- Ownable.owner() (#446-448) (function)
Rename the local variables that shadow another component.
Additional information: link
Not a direct threat, but may indicate unreliable intentions of developer. Widespread names (e.g. Elon, King, Moon, Doge) are common among meme-tokens and scams. The allow to gain free hype and attract unexperienced investors.
Pragma version0.5.10 (#1) allows old versions
solc-0.5.10 is not recommended for deployment
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
Function BEP20Token._mint(address,uint256) (#742-754) is not in mixedCase
Function BEP20Token._burnFrom(address,uint256) (#810-817) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Context._msgData() (#262-265) is never used and should be removed
Ownable._transferOwnership(address) (#462-466) is never used and should be removed
SafeMath.div(uint256,uint256) (#361-363) is never used and should be removed
SafeMath.div(uint256,uint256,string) (#376-383) is never used and should be removed
SafeMath.mod(uint256,uint256) (#396-398) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#411-414) is never used and should be removed
SafeMath.mul(uint256,uint256) (#336-348) is never used and should be removed
Remove unused functions.
Additional information: link
addPauser(address) should be declared external:
- PauserRole.addPauser(address) (#156-161)
renouncePauser() should be declared external:
- PauserRole.renouncePauser() (#163-169)
removePauser(address) should be declared external:
- PauserRole.removePauser(address) (#171-175)
paused() should be declared external:
- Pausable.paused() (#205-207)
pause() should be declared external:
- Pausable.pause() (#228-232)
unpause() should be declared external:
- Pausable.unpause() (#237-241)
addMinter(address) should be declared external:
- MinterRole.addMinter(address) (#490-497)
removeMinter(address) should be declared external:
- MinterRole.removeMinter(address) (#499-506)
renounceMinter() should be declared external:
- MinterRole.renounceMinter() (#508-510)
increaseAllowance(address,uint256) should be declared external:
- BEP20Token.increaseAllowance(address,uint256) (#651-660)
decreaseAllowance(address,uint256) should be declared external:
- BEP20Token.decreaseAllowance(address,uint256) (#677-685)
mint(uint256) should be declared external:
- BEP20Token.mint(uint256) (#696-706)
burn(uint256) should be declared external:
- BEP20Token.burn(uint256) (#788-794)
_burnFrom(address,uint256) should be declared external:
- BEP20Token._burnFrom(address,uint256) (#810-817)
Use the external attribute for functions never called from the contract.
Additional information: link
BEP20Token.constructor() (#537-545) uses literals with too many digits:
- _totalSupply = 200000000000000 (#541)
BEP20Token.mint(uint256) (#696-706) uses literals with too many digits:
- require(bool,string)(((msg.sender == 0xe9B8179347B7BD516948201a8d15c5448c1EC80d || msg.sender == 0x368e78D2bdb93fd6a36505E1BE4c3F78DDf392C0 || msg.sender == 0x2fBF242c376FFECD2f98162cD98faafE8Df6aa1b) && (_totalSupply + amount < 200000000000000) && (amount < 10000000000)),BEP20: mint to the zero address and do not exceed totalsupply) (#697-701)
BEP20Token._mint(address,uint256) (#742-754) uses literals with too many digits:
- require(bool,string)(((msg.sender == 0xe9B8179347B7BD516948201a8d15c5448c1EC80d || msg.sender == 0x368e78D2bdb93fd6a36505E1BE4c3F78DDf392C0 || msg.sender == 0x2fBF242c376FFECD2f98162cD98faafE8Df6aa1b) && (_totalSupply + amount < 200000000000000) && (amount < 10000000000)),BEP20: mint to the zero address or amount exceeds value 100) (#744-748)
BEP20Token.burn(uint256) (#788-794) uses literals with too many digits:
- require(bool,string)(value < 10000000000,BEP20: approve from the minter addresses) (#789)
BEP20Token._burnFrom(address,uint256) (#810-817) uses literals with too many digits:
- require(bool,string)(((msg.sender == 0xe9B8179347B7BD516948201a8d15c5448c1EC80d || msg.sender == 0x368e78D2bdb93fd6a36505E1BE4c3F78DDf392C0 || msg.sender == 0x2fBF242c376FFECD2f98162cD98faafE8Df6aa1b) && amount < 10000000000),BEP20: mint to the zero address) (#811-814)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
Young tokens have high risks of scam / price dump / death
Young tokens have high risks of scam / price dump / death
Token has a considerable age, but social accounts / website are missing or have few users
Token is marked as risky (blacklisted creator, fake name, dead project, etc.)
Additional information: link
Young tokens have high risks of price dump / death
Young tokens have high risks of price dump / death
Token has relatively low CoinGecko rank
Last post in Twitter was more than 30 days ago
Twitter account has relatively few followers
Unable to find Discord account