Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
MINIFLOKIPET.sendETHToMarketingPool(uint256) (#1193-1196) sends eth to arbitrary user
Dangerous calls:
- _MarketingPoolWalletAddress.transfer(amount) (#1194)
Ensure that an arbitrary user cannot withdraw unauthorized funds.
Additional information: link
Reentrancy in MINIFLOKIPET._transfer(address,address,uint256) (#1062-1173):
External calls:
- swapTokensForEth(contractTokenBalance) (#1134)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1184-1190)
External calls sending eth:
- sendETHToMarketingPool(address(this).balance) (#1138)
- _MarketingPoolWalletAddress.transfer(amount) (#1194)
State variables written after the call(s):
- _tokenTransfer(sender,recipient,amount,takeFee) (#1170)
- _rOwned[address(this)] = _rOwned[address(this)].add(rMarketingPool) (#1282)
- _rOwned[address(_StakePoolWalletAddress)] = _rOwned[address(_StakePoolWalletAddress)].add(rStakePool) (#1290)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1246)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1236)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1270)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1259)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1237)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1248)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1260)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1272)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1170)
- _rTotal = _rTotal.sub(rFee) (#1296)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1170)
- _tOwned[address(this)] = _tOwned[address(this)].add(tMarketingPool) (#1284)
- _tOwned[address(_StakePoolWalletAddress)] = _tOwned[address(_StakePoolWalletAddress)].add(tStakePool) (#1292)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#1269)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#1258)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#1247)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#1271)
Apply the check-effects-interactions pattern.
Additional information: link
MINIFLOKIPET._setTaxFee(uint256) (#1376-1380) contains a tautology or contradiction:
- require(bool,string)(taxFee >= 0 && taxFee <= 20,taxFee should be in 0 - 20) (#1377)
MINIFLOKIPET._setbuyTaxFee(uint256) (#1382-1385) contains a tautology or contradiction:
- require(bool,string)(buytaxFee >= 0 && buytaxFee <= 20,taxFee should be in 0 - 20) (#1383)
MINIFLOKIPET._setsellTaxFee(uint256) (#1387-1390) contains a tautology or contradiction:
- require(bool,string)(selltaxFee >= 0 && selltaxFee <= 30,taxFee should be in 0 - 30) (#1388)
MINIFLOKIPET._setStakeFee(uint256) (#1392-1396) contains a tautology or contradiction:
- require(bool,string)(stakeFee >= 0 && stakeFee <= 21,stakeFee should be in 0 - 21) (#1393)
MINIFLOKIPET._setbuystakeFee(uint256) (#1397-1400) contains a tautology or contradiction:
- require(bool,string)(buystakeFee >= 0 && buystakeFee <= 21,stakeFee should be in 0 - 21) (#1398)
MINIFLOKIPET._setsellstakeFee(uint256) (#1401-1404) contains a tautology or contradiction:
- require(bool,string)(sellstakeFee >= 0 && sellstakeFee <= 30,stakeFee should be in 0 - 30) (#1402)
MINIFLOKIPET._setMarketingPoolFee(uint256) (#1406-1410) contains a tautology or contradiction:
- require(bool,string)(MarketingPoolFee >= 0 && MarketingPoolFee <= 21,MarketingPoolFee should be in 0 - 21) (#1407)
MINIFLOKIPET._setbuyMarketingPoolFee(uint256) (#1416-1419) contains a tautology or contradiction:
- require(bool,string)(buyMarketingPoolFee >= 0 && buyMarketingPoolFee <= 21,MarketingPoolFee should be in 0 - 21) (#1417)
MINIFLOKIPET._setsellMarketingPoolFee(uint256) (#1421-1424) contains a tautology or contradiction:
- require(bool,string)(sellMarketingPoolFee >= 0 && sellMarketingPoolFee <= 99,MarketingPoolFee should be in 0 - 99) (#1422)
Fix the incorrect comparison by changing the value type or the comparison.
Additional information: link
Combination 1: Reentrancy vulnerabilities + Functions that send Ether to arbitraty destination. Usual for scams. May be justified by some complex mechanics (e.g. rebase, reflections). DYOR & manual audit are advised.
MINIFLOKIPET.amnestySniper(address) (#971-981) has costly operations inside a loop:
- _confirmedSnipers.pop() (#977)
MINIFLOKIPET.includeAccount(address) (#1019-1030) has costly operations inside a loop:
- _excluded.pop() (#1026)
Use a local variable to hold the loop computation result.
Additional information: link
Address._functionCallWithValue(address,bytes,uint256,string) (#341-362) is never used and should be removed
Address.functionCall(address,bytes) (#301-303) is never used and should be removed
Address.functionCall(address,bytes,string) (#311-313) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#326-328) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#336-339) is never used and should be removed
Address.isContract(address) (#248-257) is never used and should be removed
Address.sendValue(address,uint256) (#275-281) is never used and should be removed
Context._msgData() (#10-13) is never used and should be removed
MINIFLOKIPET._getMaxTxAmount() (#1368-1370) is never used and should be removed
MINIFLOKIPET._getTaxFee() (#1364-1366) is never used and should be removed
SafeMath.mod(uint256,uint256) (#208-210) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#224-227) is never used and should be removed
Remove unused functions.
Additional information: link
MINIFLOKIPET.allowance(address,address).owner (#927) shadows:
- Ownable.owner() (#384-386) (function)
MINIFLOKIPET._approve(address,address,uint256).owner (#1054) shadows:
- Ownable.owner() (#384-386) (function)
Rename the local variables that shadow another component.
Additional information: link
MINIFLOKIPET.setWalletlimit(uint256) (#884-887) should emit an event for:
- walletlimit = _walletlimit (#886)
MINIFLOKIPET._setTaxFee(uint256) (#1376-1380) should emit an event for:
- _taxFee = taxFee (#1378)
- _previousTaxFee = taxFee (#1379)
MINIFLOKIPET._setbuyTaxFee(uint256) (#1382-1385) should emit an event for:
- _buytaxFee = buytaxFee (#1384)
MINIFLOKIPET._setsellTaxFee(uint256) (#1387-1390) should emit an event for:
- _selltaxFee = selltaxFee (#1389)
MINIFLOKIPET._setStakeFee(uint256) (#1392-1396) should emit an event for:
- _staketaxFee = stakeFee (#1394)
- _previousStakeTaxFee = stakeFee (#1395)
MINIFLOKIPET._setbuystakeFee(uint256) (#1397-1400) should emit an event for:
- _buystaketaxFee = buystakeFee (#1399)
MINIFLOKIPET._setsellstakeFee(uint256) (#1401-1404) should emit an event for:
- _sellstaketaxFee = sellstakeFee (#1403)
MINIFLOKIPET._setMarketingPoolFee(uint256) (#1406-1410) should emit an event for:
- _MarketingPoolFee = MarketingPoolFee (#1408)
- _previousMarketingPoolFee = MarketingPoolFee (#1409)
MINIFLOKIPET._setTokenExchange(uint256) (#1412-1414) should emit an event for:
- _numOfTokensToExchangeForMarketingPool = TokenExchange (#1413)
MINIFLOKIPET._setbuyMarketingPoolFee(uint256) (#1416-1419) should emit an event for:
- _buyMarketingPoolFee = buyMarketingPoolFee (#1418)
MINIFLOKIPET._setsellMarketingPoolFee(uint256) (#1421-1424) should emit an event for:
- _sellMarketingPoolFee = sellMarketingPoolFee (#1423)
MINIFLOKIPET._setMaxTxAmount(uint256) (#1434-1436) should emit an event for:
- _maxTxAmount = maxTxAmount (#1435)
Emit an event for critical parameter changes.
Additional information: link
MINIFLOKIPET.constructor(address,address).MarketingPoolWalletAddress (#709) lacks a zero-check on :
- _MarketingPoolWalletAddress = MarketingPoolWalletAddress (#710)
MINIFLOKIPET.constructor(address,address).StakePoolWalletAddress (#709) lacks a zero-check on :
- _StakePoolWalletAddress = StakePoolWalletAddress (#711)
MINIFLOKIPET._setMarketingPoolWallet(address).MarketingPoolWalletAddress (#1426) lacks a zero-check on :
- _MarketingPoolWalletAddress = MarketingPoolWalletAddress (#1427)
MINIFLOKIPET._setStakePoolAddress(address).StakePoolAddress (#1430) lacks a zero-check on :
- _StakePoolWalletAddress = StakePoolAddress (#1431)
Check that the address is not zero.
Additional information: link
Reentrancy in MINIFLOKIPET._transfer(address,address,uint256) (#1062-1173):
External calls:
- swapTokensForEth(contractTokenBalance) (#1134)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1184-1190)
External calls sending eth:
- sendETHToMarketingPool(address(this).balance) (#1138)
- _MarketingPoolWalletAddress.transfer(amount) (#1194)
State variables written after the call(s):
- removeAllFee() (#1152)
- _MarketingPoolFee = 0 (#1040)
- _MarketingPoolFee = _buyMarketingPoolFee (#1155)
- removeAllFee() (#1160)
- _MarketingPoolFee = 0 (#1040)
- _MarketingPoolFee = _sellMarketingPoolFee (#1163)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1170)
- _MarketingPoolFee = _previousMarketingPoolFee (#1046)
- _MarketingPoolFee = 0 (#1040)
- removeAllFee() (#1152)
- _previousMarketingPoolFee = _MarketingPoolFee (#1036)
- removeAllFee() (#1160)
- _previousMarketingPoolFee = _MarketingPoolFee (#1036)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1170)
- _previousMarketingPoolFee = _MarketingPoolFee (#1036)
- removeAllFee() (#1152)
- _previousStakeTaxFee = _staketaxFee (#1037)
- removeAllFee() (#1160)
- _previousStakeTaxFee = _staketaxFee (#1037)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1170)
- _previousStakeTaxFee = _staketaxFee (#1037)
- removeAllFee() (#1152)
- _previousTaxFee = _taxFee (#1035)
- removeAllFee() (#1160)
- _previousTaxFee = _taxFee (#1035)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1170)
- _previousTaxFee = _taxFee (#1035)
- removeAllFee() (#1152)
- _staketaxFee = 0 (#1041)
- _staketaxFee = _buystaketaxFee (#1154)
- removeAllFee() (#1160)
- _staketaxFee = 0 (#1041)
- _staketaxFee = _sellstaketaxFee (#1162)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1170)
- _staketaxFee = _previousStakeTaxFee (#1047)
- _staketaxFee = 0 (#1041)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1170)
- _tFeeTotal = _tFeeTotal.add(tFee) (#1297)
- removeAllFee() (#1152)
- _taxFee = 0 (#1039)
- _taxFee = _buytaxFee (#1153)
- removeAllFee() (#1160)
- _taxFee = 0 (#1039)
- _taxFee = _selltaxFee (#1161)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1170)
- _taxFee = _previousTaxFee (#1045)
- _taxFee = 0 (#1039)
Reentrancy in MINIFLOKIPET.constructor(address,address) (#709-728):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#717-718)
State variables written after the call(s):
- _isExcludedFromFee[owner()] = true (#724)
- _isExcludedFromFee[address(this)] = true (#725)
- uniswapV2Router = _uniswapV2Router (#721)
Reentrancy in MINIFLOKIPET.transferFrom(address,address,uint256) (#936-940):
External calls:
- _transfer(sender,recipient,amount) (#937)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1184-1190)
External calls sending eth:
- _transfer(sender,recipient,amount) (#937)
- _MarketingPoolWalletAddress.transfer(amount) (#1194)
State variables written after the call(s):
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#938)
- _allowances[owner][spender] = amount (#1058)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in MINIFLOKIPET._transfer(address,address,uint256) (#1062-1173):
External calls:
- swapTokensForEth(contractTokenBalance) (#1134)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1184-1190)
External calls sending eth:
- sendETHToMarketingPool(address(this).balance) (#1138)
- _MarketingPoolWalletAddress.transfer(amount) (#1194)
Event emitted after the call(s):
- Transfer(sender,recipient,tTransferAmount) (#1241)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1170)
- Transfer(sender,recipient,tTransferAmount) (#1252)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1170)
- Transfer(sender,recipient,tTransferAmount) (#1264)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1170)
- Transfer(sender,recipient,tTransferAmount) (#1276)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1170)
Reentrancy in MINIFLOKIPET.constructor(address,address) (#709-728):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#717-718)
Event emitted after the call(s):
- Transfer(address(0),_msgSender(),_tTotal) (#727)
Reentrancy in MINIFLOKIPET.transferFrom(address,address,uint256) (#936-940):
External calls:
- _transfer(sender,recipient,amount) (#937)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1184-1190)
External calls sending eth:
- _transfer(sender,recipient,amount) (#937)
- _MarketingPoolWalletAddress.transfer(amount) (#1194)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#1059)
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#938)
Apply the check-effects-interactions pattern.
Additional information: link
Ownable.unlock() (#431-436) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(now > _lockTime,Contract is locked until 7 days) (#433)
MINIFLOKIPET._transfer(address,address,uint256) (#1062-1173) uses timestamp for comparisons
Dangerous comparisons:
- block.timestamp < launchTime + 5 (#1106)
Avoid relying on block.timestamp.
Additional information: link
Address.isContract(address) (#248-257) uses assembly
- INLINE ASM (#255)
Address._functionCallWithValue(address,bytes,uint256,string) (#341-362) uses assembly
- INLINE ASM (#354-357)
Do not use evm assembly.
Additional information: link
MINIFLOKIPET._rTotal (#660) is set pre-construction with a non-constant function or state variable:
- (MAX - (MAX % _tTotal))
MINIFLOKIPET._previousTaxFee (#679) is set pre-construction with a non-constant function or state variable:
- _taxFee
MINIFLOKIPET._previousMarketingPoolFee (#680) is set pre-construction with a non-constant function or state variable:
- _MarketingPoolFee
MINIFLOKIPET._previousStakeTaxFee (#681) is set pre-construction with a non-constant function or state variable:
- _staketaxFee
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) (#275-281):
- (success) = recipient.call{value: amount}() (#279)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#341-362):
- (success,returndata) = target.call{value: weiValue}(data) (#345)
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() (#470) is not in mixedCase
Function IUniswapV2Pair.PERMIT_TYPEHASH() (#471) is not in mixedCase
Function IUniswapV2Pair.MINIMUM_LIQUIDITY() (#488) is not in mixedCase
Function IUniswapV2Router01.WETH() (#508) is not in mixedCase
Parameter MINIFLOKIPET.setWalletlimit(uint256)._walletlimit (#884) is not in mixedCase
Function MINIFLOKIPET.RemoveSniper(address) (#964-969) is not in mixedCase
Function MINIFLOKIPET._getETHBalance() (#1372-1374) is not in mixedCase
Function MINIFLOKIPET._setTaxFee(uint256) (#1376-1380) is not in mixedCase
Function MINIFLOKIPET._setbuyTaxFee(uint256) (#1382-1385) is not in mixedCase
Function MINIFLOKIPET._setsellTaxFee(uint256) (#1387-1390) is not in mixedCase
Function MINIFLOKIPET._setStakeFee(uint256) (#1392-1396) is not in mixedCase
Function MINIFLOKIPET._setbuystakeFee(uint256) (#1397-1400) is not in mixedCase
Function MINIFLOKIPET._setsellstakeFee(uint256) (#1401-1404) is not in mixedCase
Function MINIFLOKIPET._setMarketingPoolFee(uint256) (#1406-1410) is not in mixedCase
Parameter MINIFLOKIPET._setMarketingPoolFee(uint256).MarketingPoolFee (#1406) is not in mixedCase
Function MINIFLOKIPET._setTokenExchange(uint256) (#1412-1414) is not in mixedCase
Parameter MINIFLOKIPET._setTokenExchange(uint256).TokenExchange (#1412) is not in mixedCase
Function MINIFLOKIPET._setbuyMarketingPoolFee(uint256) (#1416-1419) is not in mixedCase
Function MINIFLOKIPET._setsellMarketingPoolFee(uint256) (#1421-1424) is not in mixedCase
Function MINIFLOKIPET._setMarketingPoolWallet(address) (#1426-1428) is not in mixedCase
Parameter MINIFLOKIPET._setMarketingPoolWallet(address).MarketingPoolWalletAddress (#1426) is not in mixedCase
Function MINIFLOKIPET._setStakePoolAddress(address) (#1430-1432) is not in mixedCase
Parameter MINIFLOKIPET._setStakePoolAddress(address).StakePoolAddress (#1430) is not in mixedCase
Function MINIFLOKIPET._setMaxTxAmount(uint256) (#1434-1436) is not in mixedCase
Variable MINIFLOKIPET._MarketingPoolFee (#671) is not in mixedCase
Variable MINIFLOKIPET._MarketingPoolWalletAddress (#683) is not in mixedCase
Variable MINIFLOKIPET._StakePoolWalletAddress (#684) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#11)" inContext (#5-14)
Remove redundant statements if they congest code but offer no value.
Additional information: link
Reentrancy in MINIFLOKIPET._transfer(address,address,uint256) (#1062-1173):
External calls:
- sendETHToMarketingPool(address(this).balance) (#1138)
- _MarketingPoolWalletAddress.transfer(amount) (#1194)
State variables written after the call(s):
- removeAllFee() (#1152)
- _MarketingPoolFee = 0 (#1040)
- _MarketingPoolFee = _buyMarketingPoolFee (#1155)
- removeAllFee() (#1160)
- _MarketingPoolFee = 0 (#1040)
- _MarketingPoolFee = _sellMarketingPoolFee (#1163)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1170)
- _MarketingPoolFee = _previousMarketingPoolFee (#1046)
- _MarketingPoolFee = 0 (#1040)
- removeAllFee() (#1152)
- _previousMarketingPoolFee = _MarketingPoolFee (#1036)
- removeAllFee() (#1160)
- _previousMarketingPoolFee = _MarketingPoolFee (#1036)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1170)
- _previousMarketingPoolFee = _MarketingPoolFee (#1036)
- removeAllFee() (#1152)
- _previousStakeTaxFee = _staketaxFee (#1037)
- removeAllFee() (#1160)
- _previousStakeTaxFee = _staketaxFee (#1037)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1170)
- _previousStakeTaxFee = _staketaxFee (#1037)
- removeAllFee() (#1152)
- _previousTaxFee = _taxFee (#1035)
- removeAllFee() (#1160)
- _previousTaxFee = _taxFee (#1035)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1170)
- _previousTaxFee = _taxFee (#1035)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1170)
- _rOwned[address(this)] = _rOwned[address(this)].add(rMarketingPool) (#1282)
- _rOwned[address(_StakePoolWalletAddress)] = _rOwned[address(_StakePoolWalletAddress)].add(rStakePool) (#1290)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1246)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1236)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1270)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1259)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1237)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1248)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1260)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1272)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1170)
- _rTotal = _rTotal.sub(rFee) (#1296)
- removeAllFee() (#1152)
- _staketaxFee = 0 (#1041)
- _staketaxFee = _buystaketaxFee (#1154)
- removeAllFee() (#1160)
- _staketaxFee = 0 (#1041)
- _staketaxFee = _sellstaketaxFee (#1162)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1170)
- _staketaxFee = _previousStakeTaxFee (#1047)
- _staketaxFee = 0 (#1041)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1170)
- _tFeeTotal = _tFeeTotal.add(tFee) (#1297)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1170)
- _tOwned[address(this)] = _tOwned[address(this)].add(tMarketingPool) (#1284)
- _tOwned[address(_StakePoolWalletAddress)] = _tOwned[address(_StakePoolWalletAddress)].add(tStakePool) (#1292)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#1269)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#1258)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#1247)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#1271)
- removeAllFee() (#1152)
- _taxFee = 0 (#1039)
- _taxFee = _buytaxFee (#1153)
- removeAllFee() (#1160)
- _taxFee = 0 (#1039)
- _taxFee = _selltaxFee (#1161)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1170)
- _taxFee = _previousTaxFee (#1045)
- _taxFee = 0 (#1039)
Event emitted after the call(s):
- Transfer(sender,recipient,tTransferAmount) (#1241)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1170)
- Transfer(sender,recipient,tTransferAmount) (#1252)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1170)
- Transfer(sender,recipient,tTransferAmount) (#1264)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1170)
- Transfer(sender,recipient,tTransferAmount) (#1276)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1170)
Reentrancy in MINIFLOKIPET.transferFrom(address,address,uint256) (#936-940):
External calls:
- _transfer(sender,recipient,amount) (#937)
- _MarketingPoolWalletAddress.transfer(amount) (#1194)
State variables written after the call(s):
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#938)
- _allowances[owner][spender] = amount (#1058)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#1059)
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#938)
Apply the check-effects-interactions pattern.
Additional information: link
Variable IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (#513) is too similar to IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#514)
Variable MINIFLOKIPET._getRValues(uint256,uint256,uint256,uint256,uint256).rMarketingPool (#1340) is too similar to MINIFLOKIPET._getRValues(uint256,uint256,uint256,uint256,uint256).tMarketingPool (#1337)
Variable MINIFLOKIPET._getRValues(uint256,uint256,uint256,uint256,uint256).rMarketingPool (#1340) is too similar to MINIFLOKIPET._getValues2(uint256,uint256,uint256,uint256).tMarketingPool (#1311)
Variable MINIFLOKIPET._getRValues(uint256,uint256,uint256,uint256,uint256).rMarketingPool (#1340) is too similar to MINIFLOKIPET._transferBothExcluded(address,address,uint256).tMarketingPool (#1268)
Variable MINIFLOKIPET._getRValues(uint256,uint256,uint256,uint256,uint256).rMarketingPool (#1340) is too similar to MINIFLOKIPET._transferFromExcluded(address,address,uint256).tMarketingPool (#1256)
Variable MINIFLOKIPET._getRValues(uint256,uint256,uint256,uint256,uint256).rMarketingPool (#1340) is too similar to MINIFLOKIPET._getTValues(uint256,uint256,uint256,uint256).tMarketingPool (#1324)
Variable MINIFLOKIPET._takeMarketingPool(uint256).rMarketingPool (#1281) is too similar to MINIFLOKIPET._getRValues(uint256,uint256,uint256,uint256,uint256).tMarketingPool (#1337)
Variable MINIFLOKIPET._getRValues(uint256,uint256,uint256,uint256,uint256).rMarketingPool (#1340) is too similar to MINIFLOKIPET._transferStandard(address,address,uint256).tMarketingPool (#1235)
Variable MINIFLOKIPET._takeMarketingPool(uint256).rMarketingPool (#1281) is too similar to MINIFLOKIPET._getValues2(uint256,uint256,uint256,uint256).tMarketingPool (#1311)
Variable MINIFLOKIPET._getRValues(uint256,uint256,uint256,uint256,uint256).rMarketingPool (#1340) is too similar to MINIFLOKIPET._transferToExcluded(address,address,uint256).tMarketingPool (#1245)
Variable MINIFLOKIPET._takeMarketingPool(uint256).rMarketingPool (#1281) is too similar to MINIFLOKIPET._transferBothExcluded(address,address,uint256).tMarketingPool (#1268)
Variable MINIFLOKIPET._takeMarketingPool(uint256).rMarketingPool (#1281) is too similar to MINIFLOKIPET._transferFromExcluded(address,address,uint256).tMarketingPool (#1256)
Variable MINIFLOKIPET._takeMarketingPool(uint256).rMarketingPool (#1281) is too similar to MINIFLOKIPET._getTValues(uint256,uint256,uint256,uint256).tMarketingPool (#1324)
Variable MINIFLOKIPET._takeMarketingPool(uint256).rMarketingPool (#1281) is too similar to MINIFLOKIPET._transferStandard(address,address,uint256).tMarketingPool (#1235)
Variable MINIFLOKIPET._takeMarketingPool(uint256).rMarketingPool (#1281) is too similar to MINIFLOKIPET._transferToExcluded(address,address,uint256).tMarketingPool (#1245)
Variable MINIFLOKIPET._getRValues(uint256,uint256,uint256,uint256,uint256).rMarketingPool (#1340) is too similar to MINIFLOKIPET._getValues(uint256).tMarketingPool (#1304)
Variable MINIFLOKIPET._takeMarketingPool(uint256).rMarketingPool (#1281) is too similar to MINIFLOKIPET._getValues(uint256).tMarketingPool (#1304)
Variable MINIFLOKIPET._transferStandard(address,address,uint256).rTransferAmount (#1235) is too similar to MINIFLOKIPET._transferBothExcluded(address,address,uint256).tTransferAmount (#1268)
Variable MINIFLOKIPET._transferToExcluded(address,address,uint256).rTransferAmount (#1245) is too similar to MINIFLOKIPET._transferFromExcluded(address,address,uint256).tTransferAmount (#1256)
Variable MINIFLOKIPET._transferToExcluded(address,address,uint256).rTransferAmount (#1245) is too similar to MINIFLOKIPET._transferToExcluded(address,address,uint256).tTransferAmount (#1245)
Variable MINIFLOKIPET._transferStandard(address,address,uint256).rTransferAmount (#1235) is too similar to MINIFLOKIPET._transferFromExcluded(address,address,uint256).tTransferAmount (#1256)
Variable MINIFLOKIPET._transferBothExcluded(address,address,uint256).rTransferAmount (#1268) is too similar to MINIFLOKIPET._transferBothExcluded(address,address,uint256).tTransferAmount (#1268)
Variable MINIFLOKIPET._transferToExcluded(address,address,uint256).rTransferAmount (#1245) is too similar to MINIFLOKIPET._transferStandard(address,address,uint256).tTransferAmount (#1235)
Variable MINIFLOKIPET._transferStandard(address,address,uint256).rTransferAmount (#1235) is too similar to MINIFLOKIPET._transferStandard(address,address,uint256).tTransferAmount (#1235)
Variable MINIFLOKIPET._getValues2(uint256,uint256,uint256,uint256).rTransferAmount (#1315) is too similar to MINIFLOKIPET._getValues(uint256).tTransferAmount (#1304)
Variable MINIFLOKIPET._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#1342) is too similar to MINIFLOKIPET._addonvalues(uint256,uint256,uint256,uint256).tTransferAmount (#1332)
Variable MINIFLOKIPET._transferBothExcluded(address,address,uint256).rTransferAmount (#1268) is too similar to MINIFLOKIPET._transferFromExcluded(address,address,uint256).tTransferAmount (#1256)
Variable MINIFLOKIPET._transferBothExcluded(address,address,uint256).rTransferAmount (#1268) is too similar to MINIFLOKIPET._transferStandard(address,address,uint256).tTransferAmount (#1235)
Variable MINIFLOKIPET.reflectionFromToken(uint256,bool).rTransferAmount (#998) is too similar to MINIFLOKIPET._getValues(uint256).tTransferAmount (#1304)
Variable MINIFLOKIPET._getValues2(uint256,uint256,uint256,uint256).rTransferAmount (#1315) is too similar to MINIFLOKIPET._addonvalues(uint256,uint256,uint256,uint256).tTransferAmount (#1332)
Variable MINIFLOKIPET._transferFromExcluded(address,address,uint256).rTransferAmount (#1256) is too similar to MINIFLOKIPET._transferBothExcluded(address,address,uint256).tTransferAmount (#1268)
Variable MINIFLOKIPET.reflectionFromToken(uint256,bool).rTransferAmount (#998) is too similar to MINIFLOKIPET._addonvalues(uint256,uint256,uint256,uint256).tTransferAmount (#1332)
Variable MINIFLOKIPET._transferFromExcluded(address,address,uint256).rTransferAmount (#1256) is too similar to MINIFLOKIPET._transferStandard(address,address,uint256).tTransferAmount (#1235)
Variable MINIFLOKIPET._transferToExcluded(address,address,uint256).rTransferAmount (#1245) is too similar to MINIFLOKIPET._getValues(uint256).tTransferAmount (#1304)
Variable MINIFLOKIPET._transferFromExcluded(address,address,uint256).rTransferAmount (#1256) is too similar to MINIFLOKIPET._transferFromExcluded(address,address,uint256).tTransferAmount (#1256)
Variable MINIFLOKIPET._transferStandard(address,address,uint256).rTransferAmount (#1235) is too similar to MINIFLOKIPET._getValues(uint256).tTransferAmount (#1304)
Variable MINIFLOKIPET._transferFromExcluded(address,address,uint256).rTransferAmount (#1256) is too similar to MINIFLOKIPET._transferToExcluded(address,address,uint256).tTransferAmount (#1245)
Variable MINIFLOKIPET._transferBothExcluded(address,address,uint256).rTransferAmount (#1268) is too similar to MINIFLOKIPET._getValues(uint256).tTransferAmount (#1304)
Variable MINIFLOKIPET._getValues(uint256).rTransferAmount (#1306) is too similar to MINIFLOKIPET._addonvalues(uint256,uint256,uint256,uint256).tTransferAmount (#1332)
Variable MINIFLOKIPET._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#1342) is too similar to MINIFLOKIPET._transferBothExcluded(address,address,uint256).tTransferAmount (#1268)
Variable MINIFLOKIPET._transferToExcluded(address,address,uint256).rTransferAmount (#1245) is too similar to MINIFLOKIPET._addonvalues(uint256,uint256,uint256,uint256).tTransferAmount (#1332)
Variable MINIFLOKIPET._transferStandard(address,address,uint256).rTransferAmount (#1235) is too similar to MINIFLOKIPET._addonvalues(uint256,uint256,uint256,uint256).tTransferAmount (#1332)
Variable MINIFLOKIPET._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#1342) is too similar to MINIFLOKIPET._transferStandard(address,address,uint256).tTransferAmount (#1235)
Variable MINIFLOKIPET._transferBothExcluded(address,address,uint256).rTransferAmount (#1268) is too similar to MINIFLOKIPET._addonvalues(uint256,uint256,uint256,uint256).tTransferAmount (#1332)
Variable MINIFLOKIPET._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#1342) is too similar to MINIFLOKIPET._transferFromExcluded(address,address,uint256).tTransferAmount (#1256)
Variable MINIFLOKIPET._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#1342) is too similar to MINIFLOKIPET._transferToExcluded(address,address,uint256).tTransferAmount (#1245)
Variable MINIFLOKIPET._getValues2(uint256,uint256,uint256,uint256).rTransferAmount (#1315) is too similar to MINIFLOKIPET._transferBothExcluded(address,address,uint256).tTransferAmount (#1268)
Variable MINIFLOKIPET._getValues2(uint256,uint256,uint256,uint256).rTransferAmount (#1315) is too similar to MINIFLOKIPET._transferFromExcluded(address,address,uint256).tTransferAmount (#1256)
Variable MINIFLOKIPET._transferFromExcluded(address,address,uint256).rTransferAmount (#1256) is too similar to MINIFLOKIPET._getValues(uint256).tTransferAmount (#1304)
Variable MINIFLOKIPET._getValues2(uint256,uint256,uint256,uint256).rTransferAmount (#1315) is too similar to MINIFLOKIPET._transferStandard(address,address,uint256).tTransferAmount (#1235)
Variable MINIFLOKIPET._getValues2(uint256,uint256,uint256,uint256).rTransferAmount (#1315) is too similar to MINIFLOKIPET._transferToExcluded(address,address,uint256).tTransferAmount (#1245)
Variable MINIFLOKIPET.reflectionFromToken(uint256,bool).rTransferAmount (#998) is too similar to MINIFLOKIPET._transferBothExcluded(address,address,uint256).tTransferAmount (#1268)
Variable MINIFLOKIPET.reflectionFromToken(uint256,bool).rTransferAmount (#998) is too similar to MINIFLOKIPET._transferStandard(address,address,uint256).tTransferAmount (#1235)
Variable MINIFLOKIPET.reflectionFromToken(uint256,bool).rTransferAmount (#998) is too similar to MINIFLOKIPET._transferFromExcluded(address,address,uint256).tTransferAmount (#1256)
Variable MINIFLOKIPET.reflectionFromToken(uint256,bool).rTransferAmount (#998) is too similar to MINIFLOKIPET._transferToExcluded(address,address,uint256).tTransferAmount (#1245)
Variable MINIFLOKIPET._transferFromExcluded(address,address,uint256).rTransferAmount (#1256) is too similar to MINIFLOKIPET._addonvalues(uint256,uint256,uint256,uint256).tTransferAmount (#1332)
Variable MINIFLOKIPET._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#1342) is too similar to MINIFLOKIPET._getValues(uint256).tTransferAmount (#1304)
Variable MINIFLOKIPET._transferToExcluded(address,address,uint256).rTransferAmount (#1245) is too similar to MINIFLOKIPET._transferBothExcluded(address,address,uint256).tTransferAmount (#1268)
Variable MINIFLOKIPET._getRValues(uint256,uint256,uint256,uint256,uint256).rMarketingPool (#1340) is too similar to MINIFLOKIPET._takeMarketingPool(uint256).tMarketingPool (#1279)
Variable MINIFLOKIPET._takeMarketingPool(uint256).rMarketingPool (#1281) is too similar to MINIFLOKIPET._takeMarketingPool(uint256).tMarketingPool (#1279)
Variable MINIFLOKIPET._getValues(uint256).rTransferAmount (#1306) is too similar to MINIFLOKIPET._transferStandard(address,address,uint256).tTransferAmount (#1235)
Variable MINIFLOKIPET._getValues(uint256).rTransferAmount (#1306) is too similar to MINIFLOKIPET._transferBothExcluded(address,address,uint256).tTransferAmount (#1268)
Variable MINIFLOKIPET._getValues(uint256).rTransferAmount (#1306) is too similar to MINIFLOKIPET._transferFromExcluded(address,address,uint256).tTransferAmount (#1256)
Variable MINIFLOKIPET._transferBothExcluded(address,address,uint256).rTransferAmount (#1268) is too similar to MINIFLOKIPET._transferToExcluded(address,address,uint256).tTransferAmount (#1245)
Variable MINIFLOKIPET._getValues(uint256).rTransferAmount (#1306) is too similar to MINIFLOKIPET._transferToExcluded(address,address,uint256).tTransferAmount (#1245)
Variable MINIFLOKIPET._transferStandard(address,address,uint256).rTransferAmount (#1235) is too similar to MINIFLOKIPET._transferToExcluded(address,address,uint256).tTransferAmount (#1245)
Variable MINIFLOKIPET._getValues(uint256).rTransferAmount (#1306) is too similar to MINIFLOKIPET._getValues(uint256).tTransferAmount (#1304)
Prevent variables from having similar names.
Additional information: link
MINIFLOKIPET.initContract() (#730-874) uses literals with too many digits:
- _isSniper[address(0x000000000000084e91743124a982076C59f10084)] = true (#775)
MINIFLOKIPET.initContract() (#730-874) uses literals with too many digits:
- _confirmedSnipers.push(address(0x000000000000084e91743124a982076C59f10084)) (#776)
MINIFLOKIPET.initContract() (#730-874) uses literals with too many digits:
- _isSniper[address(0x000000005804B22091aa9830E50459A15E7C9241)] = true (#784)
MINIFLOKIPET.initContract() (#730-874) uses literals with too many digits:
- _confirmedSnipers.push(address(0x000000005804B22091aa9830E50459A15E7C9241)) (#785)
MINIFLOKIPET.initContract() (#730-874) uses literals with too many digits:
- _isSniper[address(0x0000000000007673393729D5618DC555FD13f9aA)] = true (#793)
MINIFLOKIPET.initContract() (#730-874) uses literals with too many digits:
- _confirmedSnipers.push(address(0x0000000000007673393729D5618DC555FD13f9aA)) (#794)
MINIFLOKIPET.initContract() (#730-874) uses literals with too many digits:
- _isSniper[address(0x00000000000003441d59DdE9A90BFfb1CD3fABf1)] = true (#796)
MINIFLOKIPET.initContract() (#730-874) uses literals with too many digits:
- _confirmedSnipers.push(address(0x00000000000003441d59DdE9A90BFfb1CD3fABf1)) (#797)
MINIFLOKIPET.initContract() (#730-874) uses literals with too many digits:
- _isSniper[address(0x000000917de6037d52b1F0a306eeCD208405f7cd)] = true (#802)
MINIFLOKIPET.initContract() (#730-874) uses literals with too many digits:
- _confirmedSnipers.push(address(0x000000917de6037d52b1F0a306eeCD208405f7cd)) (#803)
MINIFLOKIPET.initContract() (#730-874) uses literals with too many digits:
- _isSniper[address(0x00000000003b3cc22aF3aE1EAc0440BcEe416B40)] = true (#850)
MINIFLOKIPET.initContract() (#730-874) uses literals with too many digits:
- _confirmedSnipers.push(address(0x00000000003b3cc22aF3aE1EAc0440BcEe416B40)) (#851)
MINIFLOKIPET.slitherConstructorVariables() (#642-1438) uses literals with too many digits:
- _tTotal = 1000000000000 * 10 ** 9 (#659)
MINIFLOKIPET.slitherConstructorVariables() (#642-1438) uses literals with too many digits:
- walletlimit = 1000000000000 * 10 ** 9 (#695)
MINIFLOKIPET.slitherConstructorVariables() (#642-1438) uses literals with too many digits:
- _maxTxAmount = 1000000000000 * 10 ** 9 (#696)
MINIFLOKIPET.slitherConstructorVariables() (#642-1438) uses literals with too many digits:
- _numOfTokensToExchangeForMarketingPool = 1000000 * 10 ** 9 (#698)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
MINIFLOKIPET._decimals (#665) should be constant
MINIFLOKIPET._name (#663) should be constant
MINIFLOKIPET._symbol (#664) should be constant
MINIFLOKIPET._tTotal (#659) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#403-406)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#412-416)
geUnlockTime() should be declared external:
- Ownable.geUnlockTime() (#418-420)
lock(uint256) should be declared external:
- Ownable.lock(uint256) (#423-428)
unlock() should be declared external:
- Ownable.unlock() (#431-436)
isBlackListed(address) should be declared external:
- MINIFLOKIPET.isBlackListed(address) (#897-899)
name() should be declared external:
- MINIFLOKIPET.name() (#901-903)
symbol() should be declared external:
- MINIFLOKIPET.symbol() (#905-907)
decimals() should be declared external:
- MINIFLOKIPET.decimals() (#909-911)
totalSupply() should be declared external:
- MINIFLOKIPET.totalSupply() (#913-915)
transfer(address,uint256) should be declared external:
- MINIFLOKIPET.transfer(address,uint256) (#922-925)
allowance(address,address) should be declared external:
- MINIFLOKIPET.allowance(address,address) (#927-929)
approve(address,uint256) should be declared external:
- MINIFLOKIPET.approve(address,uint256) (#931-934)
transferFrom(address,address,uint256) should be declared external:
- MINIFLOKIPET.transferFrom(address,address,uint256) (#936-940)
increaseAllowance(address,uint256) should be declared external:
- MINIFLOKIPET.increaseAllowance(address,uint256) (#942-945)
decreaseAllowance(address,uint256) should be declared external:
- MINIFLOKIPET.decreaseAllowance(address,uint256) (#947-950)
isExcluded(address) should be declared external:
- MINIFLOKIPET.isExcluded(address) (#952-954)
totalFees() should be declared external:
- MINIFLOKIPET.totalFees() (#960-962)
deliver(uint256) should be declared external:
- MINIFLOKIPET.deliver(uint256) (#983-990)
reflectionFromToken(uint256,bool) should be declared external:
- MINIFLOKIPET.reflectionFromToken(uint256,bool) (#992-1001)
isExcludedFromFee(address) should be declared external:
- MINIFLOKIPET.isExcludedFromFee(address) (#1050-1052)
_getETHBalance() should be declared external:
- MINIFLOKIPET._getETHBalance() (#1372-1374)
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 Telegram and Twitter accounts