Come for the NFTs, stay for the uncensored, safe and unique experience
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
ReducingTaxToken.transfer(address,uint256).charityFee (contracts/pokenToken.sol#31) is a local variable never initialized
ReducingTaxToken.transferFrom(address,address,uint256).charityFee (contracts/pokenToken.sol#45) is a local variable never initialized
ReducingTaxToken.transfer(address,uint256).burnFee (contracts/pokenToken.sol#30) is a local variable never initialized
ReducingTaxToken.transferFrom(address,address,uint256).burnFee (contracts/pokenToken.sol#44) is a local variable never initialized
Initialize all the variables. If a variable is meant to be initialized to zero, explicitly set it to zero to improve code readability.
Additional information: link
ReducingTaxToken.updateChairityAccount(address)._newChairityAccount (contracts/pokenToken.sol#76) lacks a zero-check on :
- charityAccount = _newChairityAccount (contracts/pokenToken.sol#77)
Check that the address is not zero.
Additional information: link
AntiWhaleToken._checkAndUpdateLimits(address,uint256) (contracts/pokenToken.sol#99-107) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp >= lastHotTxTime[from] + cooldownPeriod,AWT: Sender must wait for cooldown) (contracts/pokenToken.sol#104)
AntiWhaleToken.canSend(address) (contracts/pokenToken.sol#142-144) uses timestamp for comparisons
Dangerous comparisons:
- isExemptFromTxLimit[_address] || block.timestamp >= lastHotTxTime[_address] + cooldownPeriod (contracts/pokenToken.sol#143)
Avoid relying on block.timestamp.
Additional information: link
Different versions of Solidity is used:
- Version used: ['^0.8.0', '^0.8.3']
- ^0.8.0 (@openzeppelin/contracts/access/Ownable.sol#3)
- ^0.8.0 (@openzeppelin/contracts/token/ERC20/ERC20.sol#3)
- ^0.8.0 (@openzeppelin/contracts/token/ERC20/IERC20.sol#3)
- ^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol#3)
- ^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol#3)
- ^0.8.0 (@openzeppelin/contracts/utils/Context.sol#3)
- ^0.8.3 (contracts/pokenToken.sol#2)
Use one Solidity version.
Additional information: link
Context._msgData() (@openzeppelin/contracts/utils/Context.sol#20-23) is never used and should be removed
Remove unused functions.
Additional information: link
Pragma version^0.8.0 (@openzeppelin/contracts/access/Ownable.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/token/ERC20/ERC20.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/token/ERC20/IERC20.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/utils/Context.sol#3) allows old versions
Pragma version^0.8.3 (contracts/pokenToken.sol#2) allows old versions
solc-0.8.3 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
Parameter ReducingTaxToken.setburnRateBIPS(uint256)._newburnRateBIPS (contracts/pokenToken.sol#63) is not in mixedCase
Parameter ReducingTaxToken.updateChairityAccount(address)._newChairityAccount (contracts/pokenToken.sol#76) is not in mixedCase
Parameter AntiWhaleToken.canSend(address)._address (contracts/pokenToken.sol#142) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (@openzeppelin/contracts/utils/Context.sol#21)" inContext (@openzeppelin/contracts/utils/Context.sol#15-24)
Remove redundant statements if they congest code but offer no value.
Additional information: link
Poken.slitherConstructorVariables() (contracts/pokenToken.sol#147-165) uses literals with too many digits:
- burnAccount = 0x000000000000000000000000000000000000dEaD (contracts/pokenToken.sol#11)
Poken.slitherConstructorVariables() (contracts/pokenToken.sol#147-165) uses literals with too many digits:
- initialSupply = 5000000000 * 10 ** 18 (contracts/pokenToken.sol#149)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
Poken.initialSupply (contracts/pokenToken.sol#149) should be constant
ReducingTaxToken.burnAccount (contracts/pokenToken.sol#11) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (@openzeppelin/contracts/access/Ownable.sol#54-57)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (@openzeppelin/contracts/access/Ownable.sol#63-67)
name() should be declared external:
- ERC20.name() (@openzeppelin/contracts/token/ERC20/ERC20.sol#60-62)
symbol() should be declared external:
- ERC20.symbol() (@openzeppelin/contracts/token/ERC20/ERC20.sol#68-70)
decimals() should be declared external:
- ERC20.decimals() (@openzeppelin/contracts/token/ERC20/ERC20.sol#85-87)
- Poken.decimals() (contracts/pokenToken.sol#162-164)
balanceOf(address) should be declared external:
- ERC20.balanceOf(address) (@openzeppelin/contracts/token/ERC20/ERC20.sol#99-101)
approve(address,uint256) should be declared external:
- ERC20.approve(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#130-133)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#170-173)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#189-195)
burn(uint256) should be declared external:
- ERC20Burnable.burn(uint256) (@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol#19-21)
burnFrom(address,uint256) should be declared external:
- ERC20Burnable.burnFrom(address,uint256) (@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol#34-39)
Use the external attribute for functions never called from the contract.
Additional information: link
Young tokens have high risks of scam / price dump / death
Young tokens have high risks of price dump / death
Young tokens have high risks of price dump / death
Young tokens have high risks of price dump / death
Token has relatively low CoinGecko rank
Unable to find Youtube account