Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Reentrancy in FlokiCupid._transfer(address,address,uint256) (#608-638):
External calls:
- swapAndLiquify(contractTokenBalance) (#631)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#663-670)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#653-659)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#631)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#663-670)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#637)
- _rOwned[address(this)] = _rOwned[address(this)].add(rLiquidity) (#559)
- _rOwned[_HoldersMarketing] = _rOwned[_HoldersMarketing].add(rHolders) (#566)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#700)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#691)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#692)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#504)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#711)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#712)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#702)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#506)
- _tokenTransfer(from,to,amount,takeFee) (#637)
- _rTotalSupply = _rTotalSupply.sub(rFee) (#518)
- _tokenTransfer(from,to,amount,takeFee) (#637)
- _tOwned[address(this)] = _tOwned[address(this)].add(tLiquidity) (#561)
- _tOwned[_HoldersMarketing] = _tOwned[_HoldersMarketing].add(tHolders) (#568)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#710)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#503)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#701)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#505)
Apply the check-effects-interactions pattern.
Additional information: link
FlokiCupid.addLiquidity(uint256,uint256) (#661-671) ignores return value by uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#663-670)
Ensure that all the return values of the function calls are used.
Additional information: link
FlokiCupid.allowance(address,address).owner (#432) shadows:
- Ownable.owner() (#160-162) (function)
FlokiCupid._approve(address,address,uint256).owner (#602) shadows:
- Ownable.owner() (#160-162) (function)
Rename the local variables that shadow another component.
Additional information: link
Reentrancy in FlokiCupid._transfer(address,address,uint256) (#608-638):
External calls:
- swapAndLiquify(contractTokenBalance) (#631)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#663-670)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#653-659)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#631)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#663-670)
State variables written after the call(s):
- _tokenTransfer(from,to,amount,takeFee) (#637)
- _BurnedliquidityFee = _previousBurnedLiquidityFee (#597)
- _BurnedliquidityFee = 0 (#592)
- _tokenTransfer(from,to,amount,takeFee) (#637)
- _HoldersFee = _previousHoldersFee (#596)
- _HoldersFee = 0 (#591)
- _tokenTransfer(from,to,amount,takeFee) (#637)
- _Reflections = _previousReflections (#595)
- _Reflections = 0 (#590)
- _tokenTransfer(from,to,amount,takeFee) (#637)
- _previousBurnedLiquidityFee = _BurnedliquidityFee (#589)
- _tokenTransfer(from,to,amount,takeFee) (#637)
- _previousHoldersFee = _HoldersFee (#588)
- _tokenTransfer(from,to,amount,takeFee) (#637)
- _previousReflections = _Reflections (#587)
- _tokenTransfer(from,to,amount,takeFee) (#637)
- _tFeeTotal = _tFeeTotal.add(tFee) (#519)
Reentrancy in FlokiCupid.constructor() (#402-411):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#405-406)
State variables written after the call(s):
- _isExcludedFromFee[owner()] = true (#408)
- _isExcludedFromFee[address(this)] = true (#409)
- uniswapV2Router = _uniswapV2Router (#407)
Reentrancy in FlokiCupid.swapAndLiquify(uint256) (#639-647):
External calls:
- swapTokensForEth(half) (#643)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#653-659)
- addLiquidity(otherHalf,newBalance) (#645)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#663-670)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (#645)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#663-670)
State variables written after the call(s):
- addLiquidity(otherHalf,newBalance) (#645)
- _allowances[owner][spender] = amount (#605)
Reentrancy in FlokiCupid.transferFrom(address,address,uint256) (#439-443):
External calls:
- _transfer(sender,recipient,amount) (#440)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#663-670)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#653-659)
External calls sending eth:
- _transfer(sender,recipient,amount) (#440)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#663-670)
State variables written after the call(s):
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#441)
- _allowances[owner][spender] = amount (#605)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in FlokiCupid._transfer(address,address,uint256) (#608-638):
External calls:
- swapAndLiquify(contractTokenBalance) (#631)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#663-670)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#653-659)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#631)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#663-670)
Event emitted after the call(s):
- Transfer(sender,recipient,tTransferAmount) (#696)
- _tokenTransfer(from,to,amount,takeFee) (#637)
- Transfer(sender,recipient,tTransferAmount) (#716)
- _tokenTransfer(from,to,amount,takeFee) (#637)
- Transfer(sender,recipient,tTransferAmount) (#706)
- _tokenTransfer(from,to,amount,takeFee) (#637)
- Transfer(sender,recipient,tTransferAmount) (#510)
- _tokenTransfer(from,to,amount,takeFee) (#637)
Reentrancy in FlokiCupid.constructor() (#402-411):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#405-406)
Event emitted after the call(s):
- Transfer(address(0),owner(),_tTotalSupply) (#410)
Reentrancy in FlokiCupid.swapAndLiquify(uint256) (#639-647):
External calls:
- swapTokensForEth(half) (#643)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#653-659)
- addLiquidity(otherHalf,newBalance) (#645)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#663-670)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (#645)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#663-670)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#606)
- addLiquidity(otherHalf,newBalance) (#645)
- SwapAndLiquify(half,newBalance,otherHalf) (#646)
Reentrancy in FlokiCupid.transferFrom(address,address,uint256) (#439-443):
External calls:
- _transfer(sender,recipient,amount) (#440)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#663-670)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#653-659)
External calls sending eth:
- _transfer(sender,recipient,amount) (#440)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#663-670)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#606)
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#441)
Apply the check-effects-interactions pattern.
Additional information: link
Address.isContract(address) (#96-100) uses assembly
- INLINE ASM (#98)
Address._verifyCallResult(bool,bytes,string) (#137-150) uses assembly
- INLINE ASM (#142-145)
Do not use evm assembly.
Additional information: link
FlokiCupid.includeInReward(address) (#489-500) has costly operations inside a loop:
- _excluded.pop() (#496)
Use a local variable to hold the loop computation result.
Additional information: link
Address._verifyCallResult(bool,bytes,string) (#137-150) is never used and should be removed
Address.functionCall(address,bytes) (#106-108) is never used and should be removed
Address.functionCall(address,bytes,string) (#109-111) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#112-114) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#115-120) is never used and should be removed
Address.functionDelegateCall(address,bytes) (#129-131) is never used and should be removed
Address.functionDelegateCall(address,bytes,string) (#132-136) is never used and should be removed
Address.functionStaticCall(address,bytes) (#121-123) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (#124-128) is never used and should be removed
Address.isContract(address) (#96-100) is never used and should be removed
Address.sendValue(address,uint256) (#101-105) is never used and should be removed
Context._msgData() (#89-92) is never used and should be removed
SafeMath.div(uint256,uint256,string) (#71-76) is never used and should be removed
SafeMath.mod(uint256,uint256) (#62-64) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#77-82) is never used and should be removed
SafeMath.tryAdd(uint256,uint256) (#17-23) is never used and should be removed
SafeMath.tryDiv(uint256,uint256) (#38-43) is never used and should be removed
SafeMath.tryMod(uint256,uint256) (#44-49) is never used and should be removed
SafeMath.tryMul(uint256,uint256) (#30-37) is never used and should be removed
SafeMath.trySub(uint256,uint256) (#24-29) is never used and should be removed
Remove unused functions.
Additional information: link
FlokiCupid._rTotalSupply (#372) is set pre-construction with a non-constant function or state variable:
- (MAX - (MAX % _tTotalSupply))
FlokiCupid._previousReflections (#378) is set pre-construction with a non-constant function or state variable:
- _Reflections
FlokiCupid._previousHoldersFee (#380) is set pre-construction with a non-constant function or state variable:
- _HoldersFee
FlokiCupid._previousBurnedLiquidityFee (#382) is set pre-construction with a non-constant function or state variable:
- _BurnedliquidityFee
Remove any initialization of state variables via non-constant state variables or function calls. If variables must be set upon contract deployment, locate initialization in the constructor instead.
Additional information: link
Low level call in Address.sendValue(address,uint256) (#101-105):
- (success) = recipient.call{value: amount}() (#103)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (#115-120):
- (success,returndata) = target.call{value: value}(data) (#118)
Low level call in Address.functionStaticCall(address,bytes,string) (#124-128):
- (success,returndata) = target.staticcall(data) (#126)
Low level call in Address.functionDelegateCall(address,bytes,string) (#132-136):
- (success,returndata) = target.delegatecall(data) (#134)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Function IUniswapV2Pair.DOMAIN_SEPARATOR() (#197) is not in mixedCase
Function IUniswapV2Pair.PERMIT_TYPEHASH() (#198) is not in mixedCase
Function IUniswapV2Pair.MINIMUM_LIQUIDITY() (#212) is not in mixedCase
Function IUniswapV2Router01.WETH() (#230) is not in mixedCase
Parameter FlokiCupid.setSwapAndLiquifyEnabled(bool)._enabled (#512) is not in mixedCase
Parameter FlokiCupid.calculateReflections(uint256)._amount (#570) is not in mixedCase
Parameter FlokiCupid.calculateHoldersFee(uint256)._amount (#575) is not in mixedCase
Parameter FlokiCupid.calculateBurnedLiquidityFee(uint256)._amount (#580) is not in mixedCase
Variable FlokiCupid._HoldersMarketing (#369) is not in mixedCase
Variable FlokiCupid._Reflections (#377) is not in mixedCase
Variable FlokiCupid._HoldersFee (#379) is not in mixedCase
Variable FlokiCupid._BurnedliquidityFee (#381) is not in mixedCase
Variable FlokiCupid._maxTxAmount (#383) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#90)" inContext (#85-93)
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 (#234) is too similar to IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#235)
Variable FlokiCupid._rTotalSupply (#372) is too similar to FlokiCupid._tTotalSupply (#371)
Variable FlokiCupid._transferStandard(address,address,uint256).rTransferAmount (#690) is too similar to FlokiCupid._transferFromExcluded(address,address,uint256).tTransferAmount (#709)
Variable FlokiCupid._transferToExcluded(address,address,uint256).rTransferAmount (#699) is too similar to FlokiCupid._transferFromExcluded(address,address,uint256).tTransferAmount (#709)
Variable FlokiCupid._transferBothExcluded(address,address,uint256).rTransferAmount (#502) is too similar to FlokiCupid._transferStandard(address,address,uint256).tTransferAmount (#690)
Variable FlokiCupid._transferToExcluded(address,address,uint256).rTransferAmount (#699) is too similar to FlokiCupid._transferStandard(address,address,uint256).tTransferAmount (#690)
Variable FlokiCupid._getValues(uint256).rTransferAmount (#523) is too similar to FlokiCupid._getTValues(uint256).tTransferAmount (#530)
Variable FlokiCupid._transferToExcluded(address,address,uint256).rTransferAmount (#699) is too similar to FlokiCupid._transferToExcluded(address,address,uint256).tTransferAmount (#699)
Variable FlokiCupid._getValues(uint256).rTransferAmount (#523) is too similar to FlokiCupid._transferFromExcluded(address,address,uint256).tTransferAmount (#709)
Variable FlokiCupid._getValues(uint256).rTransferAmount (#523) is too similar to FlokiCupid._transferToExcluded(address,address,uint256).tTransferAmount (#699)
Variable FlokiCupid._transferBothExcluded(address,address,uint256).rTransferAmount (#502) is too similar to FlokiCupid._getTValues(uint256).tTransferAmount (#530)
Variable FlokiCupid._transferBothExcluded(address,address,uint256).rTransferAmount (#502) is too similar to FlokiCupid._transferFromExcluded(address,address,uint256).tTransferAmount (#709)
Variable FlokiCupid._transferBothExcluded(address,address,uint256).rTransferAmount (#502) is too similar to FlokiCupid._transferBothExcluded(address,address,uint256).tTransferAmount (#502)
Variable FlokiCupid._transferBothExcluded(address,address,uint256).rTransferAmount (#502) is too similar to FlokiCupid._transferToExcluded(address,address,uint256).tTransferAmount (#699)
Variable FlokiCupid._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#538) is too similar to FlokiCupid._transferStandard(address,address,uint256).tTransferAmount (#690)
Variable FlokiCupid._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#538) is too similar to FlokiCupid._transferFromExcluded(address,address,uint256).tTransferAmount (#709)
Variable FlokiCupid._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#538) is too similar to FlokiCupid._transferToExcluded(address,address,uint256).tTransferAmount (#699)
Variable FlokiCupid._transferFromExcluded(address,address,uint256).rTransferAmount (#709) is too similar to FlokiCupid._transferStandard(address,address,uint256).tTransferAmount (#690)
Variable FlokiCupid._transferBothExcluded(address,address,uint256).rTransferAmount (#502) is too similar to FlokiCupid._getValues(uint256).tTransferAmount (#522)
Variable FlokiCupid._transferFromExcluded(address,address,uint256).rTransferAmount (#709) is too similar to FlokiCupid._transferFromExcluded(address,address,uint256).tTransferAmount (#709)
Variable FlokiCupid._transferFromExcluded(address,address,uint256).rTransferAmount (#709) is too similar to FlokiCupid._transferToExcluded(address,address,uint256).tTransferAmount (#699)
Variable FlokiCupid._transferStandard(address,address,uint256).rTransferAmount (#690) is too similar to FlokiCupid._transferStandard(address,address,uint256).tTransferAmount (#690)
Variable FlokiCupid._getValues(uint256).rTransferAmount (#523) is too similar to FlokiCupid._transferStandard(address,address,uint256).tTransferAmount (#690)
Variable FlokiCupid._transferFromExcluded(address,address,uint256).rTransferAmount (#709) is too similar to FlokiCupid._getValues(uint256).tTransferAmount (#522)
Variable FlokiCupid.reflectionFromToken(uint256,bool).rTransferAmount (#472) is too similar to FlokiCupid._transferStandard(address,address,uint256).tTransferAmount (#690)
Variable FlokiCupid._transferFromExcluded(address,address,uint256).rTransferAmount (#709) is too similar to FlokiCupid._getTValues(uint256).tTransferAmount (#530)
Variable FlokiCupid._transferToExcluded(address,address,uint256).rTransferAmount (#699) is too similar to FlokiCupid._getValues(uint256).tTransferAmount (#522)
Variable FlokiCupid._getValues(uint256).rTransferAmount (#523) is too similar to FlokiCupid._getValues(uint256).tTransferAmount (#522)
Variable FlokiCupid._transferToExcluded(address,address,uint256).rTransferAmount (#699) is too similar to FlokiCupid._getTValues(uint256).tTransferAmount (#530)
Variable FlokiCupid._transferStandard(address,address,uint256).rTransferAmount (#690) is too similar to FlokiCupid._transferBothExcluded(address,address,uint256).tTransferAmount (#502)
Variable FlokiCupid.reflectionFromToken(uint256,bool).rTransferAmount (#472) is too similar to FlokiCupid._transferBothExcluded(address,address,uint256).tTransferAmount (#502)
Variable FlokiCupid._transferStandard(address,address,uint256).rTransferAmount (#690) is too similar to FlokiCupid._transferToExcluded(address,address,uint256).tTransferAmount (#699)
Variable FlokiCupid.reflectionFromToken(uint256,bool).rTransferAmount (#472) is too similar to FlokiCupid._transferToExcluded(address,address,uint256).tTransferAmount (#699)
Variable FlokiCupid._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#538) is too similar to FlokiCupid._getValues(uint256).tTransferAmount (#522)
Variable FlokiCupid._transferFromExcluded(address,address,uint256).rTransferAmount (#709) is too similar to FlokiCupid._transferBothExcluded(address,address,uint256).tTransferAmount (#502)
Variable FlokiCupid._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#538) is too similar to FlokiCupid._getTValues(uint256).tTransferAmount (#530)
Variable FlokiCupid._transferToExcluded(address,address,uint256).rTransferAmount (#699) is too similar to FlokiCupid._transferBothExcluded(address,address,uint256).tTransferAmount (#502)
Variable FlokiCupid._getValues(uint256).rTransferAmount (#523) is too similar to FlokiCupid._transferBothExcluded(address,address,uint256).tTransferAmount (#502)
Variable FlokiCupid._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#538) is too similar to FlokiCupid._transferBothExcluded(address,address,uint256).tTransferAmount (#502)
Variable FlokiCupid.reflectionFromToken(uint256,bool).rTransferAmount (#472) is too similar to FlokiCupid._transferFromExcluded(address,address,uint256).tTransferAmount (#709)
Variable FlokiCupid._transferStandard(address,address,uint256).rTransferAmount (#690) is too similar to FlokiCupid._getValues(uint256).tTransferAmount (#522)
Variable FlokiCupid.reflectionFromToken(uint256,bool).rTransferAmount (#472) is too similar to FlokiCupid._getValues(uint256).tTransferAmount (#522)
Variable FlokiCupid._transferStandard(address,address,uint256).rTransferAmount (#690) is too similar to FlokiCupid._getTValues(uint256).tTransferAmount (#530)
Variable FlokiCupid.reflectionFromToken(uint256,bool).rTransferAmount (#472) is too similar to FlokiCupid._getTValues(uint256).tTransferAmount (#530)
Prevent variables from having similar names.
Additional information: link
FlokiCupid.slitherConstructorVariables() (#360-719) uses literals with too many digits:
- _tTotalSupply = 1000000000000000 * 10 ** 18 (#371)
FlokiCupid.slitherConstructorVariables() (#360-719) uses literals with too many digits:
- _maxTxAmount = 80000000000000 * 10 ** 18 (#383)
FlokiCupid.slitherConstructorVariables() (#360-719) uses literals with too many digits:
- numTokensSellToAddToLiquidity = 80000000000000 * 10 ** 18 (#389)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
FlokiCupid._HoldersMarketing (#369) should be constant
FlokiCupid._decimals (#376) should be constant
FlokiCupid._maxTxAmount (#383) should be constant
FlokiCupid._tTotalSupply (#371) should be constant
FlokiCupid._tokenname (#374) should be constant
FlokiCupid._tokensymbol (#375) should be constant
FlokiCupid.numTokensSellToAddToLiquidity (#389) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#167-170)
name() should be declared external:
- FlokiCupid.name() (#412-414)
symbol() should be declared external:
- FlokiCupid.symbol() (#415-417)
decimals() should be declared external:
- FlokiCupid.decimals() (#418-420)
totalSupply() should be declared external:
- FlokiCupid.totalSupply() (#421-423)
transfer(address,uint256) should be declared external:
- FlokiCupid.transfer(address,uint256) (#428-431)
allowance(address,address) should be declared external:
- FlokiCupid.allowance(address,address) (#432-434)
approve(address,uint256) should be declared external:
- FlokiCupid.approve(address,uint256) (#435-438)
transferFrom(address,address,uint256) should be declared external:
- FlokiCupid.transferFrom(address,address,uint256) (#439-443)
increaseAllowance(address,uint256) should be declared external:
- FlokiCupid.increaseAllowance(address,uint256) (#444-447)
decreaseAllowance(address,uint256) should be declared external:
- FlokiCupid.decreaseAllowance(address,uint256) (#448-451)
isExcludedFromReward(address) should be declared external:
- FlokiCupid.isExcludedFromReward(address) (#452-454)
totalFees() should be declared external:
- FlokiCupid.totalFees() (#455-457)
deliver(uint256) should be declared external:
- FlokiCupid.deliver(uint256) (#458-465)
reflectionFromToken(uint256,bool) should be declared external:
- FlokiCupid.reflectionFromToken(uint256,bool) (#466-475)
excludeFromReward(address) should be declared external:
- FlokiCupid.excludeFromReward(address) (#481-488)
setSwapAndLiquifyEnabled(bool) should be declared external:
- FlokiCupid.setSwapAndLiquifyEnabled(bool) (#512-515)
isExcludedFromFee(address) should be declared external:
- FlokiCupid.isExcludedFromFee(address) (#599-601)
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 Twitter account
Telegram account has relatively few subscribers
Unable to find Blog account (Reddit or Medium)
Unable to find Youtube account
Unable to find Discord account