Poken Token Logo

PKN [Poken] Token

About PKN

Listings

Token 15 months
CoinMarketCap 11 months

Website

white paper

Come for the NFTs, stay for the uncensored, safe and unique experience

Social

Laser Scorebeta Last Audit: 2 March 2022

report
Token seems to be (relatively) fine. It still become a scam, but probability is moderate.

Anti-Scam

Links


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

Holders:

Contract has 2% buy tax and 1% sell tax.
Taxes are low and contract ownership is renounced.


Unable to find Youtube account


BscScan page for the token does not contain additional info: website, socials, description, etc.

Additional information: link


Unable to find token contract audit


Unable to find audit link on the website


Unable to find token on CoinHunt

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

Price for PKN

News for PKN