A token based on the Binance Smart Chain. With an NFT marketplace, play to earn gaming, charity donations, manual buy back, token burns and a perk of choosing your reflections in BUSD or HKUN token.
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Reentrancy in HKUN.takeDividendBeforeSell(address) (#799-812):
External calls:
- swapTokensForETH(dividend,account) (#808)
- uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,1000,path,account,block.timestamp) (#875-881)
State variables written after the call(s):
- appendTotalDividend(msg.sender,claimedBUSD,false) (#810)
- lastClaim[account] = block.timestamp (#860)
Apply the check-effects-interactions pattern.
Additional information: link
HKUN.handleFees(uint256,bool).sellWeight (#720) 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
HKUN.addLiquidity() (#765-797) ignores return value by uniswapV2Router.addLiquidityETH{value: newBalance}(address(this),otherHalf,0,0,address(this),block.timestamp) (#789-796)
Ensure that all the return values of the function calls are used.
Additional information: link
HKUN._approve(address,address,uint256).owner (#884) shadows:
- Ownable.owner() (#118-120) (function)
Rename the local variables that shadow another component.
Additional information: link
HKUN.setFees(uint256,uint256,uint256,uint256,uint256) (#755-763) should emit an event for:
- redistributionFee = newRedistributionFee (#756)
- burnFee = newBurnFee (#757)
- liquidityFee = newLiquidityFee (#758)
- marketingFee = newMarketingFee (#759)
- charityFee = newCharityFee (#760)
Emit an event for critical parameter changes.
Additional information: link
Reentrancy in HKUN.transferFrom(address,address,uint256) (#677-681):
External calls:
- _transfer(sender,recipient,amount) (#678)
- uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,1000,path,account,block.timestamp) (#875-881)
State variables written after the call(s):
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,trnsfr amt > alonce)) (#679)
- _allowances[owner][spender] = amount (#888)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in HKUN.transferFrom(address,address,uint256) (#677-681):
External calls:
- _transfer(sender,recipient,amount) (#678)
- uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(tokenAmount,1000,path,account,block.timestamp) (#875-881)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#889)
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,trnsfr amt > alonce)) (#679)
Apply the check-effects-interactions pattern.
Additional information: link
HKUN.takeDividend(bool) (#828-848) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(nextClaimTime(msg.sender) <= block.timestamp,Minimum Claim Sleep not over) (#830)
Avoid relying on block.timestamp.
Additional information: link
Address._functionCallWithValue(address,bytes,uint256,string) (#447-468) uses assembly
- INLINE ASM (#460-463)
Do not use evm assembly.
Additional information: link
SafeMath.mod(uint256,uint256,string) (#101-104) is never used and should be removed
Remove unused functions.
Additional information: link
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#447-468):
- (success,returndata) = target.call{value: weiValue}(data) (#451)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Constant HKUN._symbol (#502) is not in UPPER_CASE_WITH_UNDERSCORES
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#45)" inContext (#37-49)
Remove redundant statements if they congest code but offer no value.
Additional information: link
Variable IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (#242) is too similar to IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#243)
Prevent variables from having similar names.
Additional information: link
HKUN.slitherConstructorVariables() (#471-892) uses literals with too many digits:
- DEAD = 0x000000000000000000000000000000000000dEaD (#475)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
HKUN.totalLiquidityCollected (#493) is never used in HKUN (#471-892)
Remove unused state variables.
Additional information: link
HKUN.totalLiquidityCollected (#493) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
decreaseAllowance(address,uint256) should be declared external:
- HKUN.decreaseAllowance(address,uint256) (#688-691)
Use the external attribute for functions never called from the contract.
Additional information: link
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 code repository for the project
Young tokens have high risks of scam / price dump / death
Young tokens have high risks of scam / price dump / death
Young tokens have high risks of price dump / death
Token has relatively low CoinGecko rank
Twitter account link seems to be invalid