💤 SLEEP CARE is a sleep-to-earn protocol that combines Gamefi and Socialfi elements.
💤 SLEEP CARE encourages people to have a better bedtime routine and generate passive income at the same time.
💤 SLEEP CARE - the way to make money while you sleep!
✅ Available on IOS and Android.
✅ AUDIT & KYC
✅ Buy & Burn Alliance
✅ Long term vision
✅ Collection NFTs
✅ Contract renounced
✅ Liquidity locked in 2 years
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
SleepCare.includeInReward(address) (#637-648) has costly operations inside a loop:
- _excluded.pop() (#644)
Use a local variable to hold the loop computation result.
Additional information: link
Address._functionCallWithValue(address,bytes,uint256,string) (#355-376) is never used and should be removed
Address.functionCall(address,bytes) (#315-317) is never used and should be removed
Address.functionCall(address,bytes,string) (#325-327) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#340-342) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#350-353) is never used and should be removed
Address.isContract(address) (#262-271) is never used and should be removed
Address.sendValue(address,uint256) (#289-295) is never used and should be removed
Context._msgData() (#234-237) is never used and should be removed
SafeMath.mod(uint256,uint256) (#207-209) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#223-226) is never used and should be removed
Remove unused functions.
Additional information: link
SleepCare._rTotal (#495) is set pre-construction with a non-constant function or state variable:
- (MAX - (MAX % _tTotal))
SleepCare._taxFee (#508) is set pre-construction with a non-constant function or state variable:
- _buyTaxFee
SleepCare._previousTaxFee (#509) is set pre-construction with a non-constant function or state variable:
- _taxFee
SleepCare._previousBurn (#513) is set pre-construction with a non-constant function or state variable:
- _burnFee
SleepCare._advestisementFee (#518) is set pre-construction with a non-constant function or state variable:
- _buyAdvestisementFee
SleepCare._previousAdvestisementFee (#519) is set pre-construction with a non-constant function or state variable:
- _advestisementFee
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) (#289-295):
- (success) = recipient.call{value: amount}() (#293)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#355-376):
- (success,returndata) = target.call{value: weiValue}(data) (#359)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Function IUniswapV2Router01.WETH() (#475) is not in mixedCase
Parameter SleepCare.calculateTaxFee(uint256)._amount (#760) is not in mixedCase
Parameter SleepCare.calculateAdvestisementFee(uint256)._amount (#766) is not in mixedCase
Parameter SleepCare.calculateBurnFee(uint256)._amount (#772) is not in mixedCase
Parameter SleepCare.setAirdropContract(address)._airdropContract (#813) is not in mixedCase
Variable SleepCare._buyTaxFee (#502) is not in mixedCase
Variable SleepCare._buyAdvestisementFee (#503) is not in mixedCase
Variable SleepCare._sellTaxFee (#505) is not in mixedCase
Variable SleepCare._sellAdvestisementFee (#506) is not in mixedCase
Variable SleepCare._advestisementFee (#518) is not in mixedCase
Variable SleepCare._maxTxAmount (#523) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#429-432)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#438-442)
geUnlockTime() should be declared external:
- Ownable.geUnlockTime() (#444-446)
lock(uint256) should be declared external:
- Ownable.lock(uint256) (#449-454)
unlock() should be declared external:
- Ownable.unlock() (#457-462)
name() should be declared external:
- SleepCare.name() (#548-550)
changeAdvestisementWallets(address) should be declared external:
- SleepCare.changeAdvestisementWallets(address) (#552-554)
symbol() should be declared external:
- SleepCare.symbol() (#556-558)
decimals() should be declared external:
- SleepCare.decimals() (#560-562)
totalSupply() should be declared external:
- SleepCare.totalSupply() (#564-566)
balanceOf(address) should be declared external:
- SleepCare.balanceOf(address) (#568-571)
transfer(address,uint256) should be declared external:
- SleepCare.transfer(address,uint256) (#573-576)
allowance(address,address) should be declared external:
- SleepCare.allowance(address,address) (#578-580)
approve(address,uint256) should be declared external:
- SleepCare.approve(address,uint256) (#582-585)
transferFrom(address,address,uint256) should be declared external:
- SleepCare.transferFrom(address,address,uint256) (#587-591)
increaseAllowance(address,uint256) should be declared external:
- SleepCare.increaseAllowance(address,uint256) (#593-596)
decreaseAllowance(address,uint256) should be declared external:
- SleepCare.decreaseAllowance(address,uint256) (#598-601)
isExcludedFromReward(address) should be declared external:
- SleepCare.isExcludedFromReward(address) (#603-605)
totalFees() should be declared external:
- SleepCare.totalFees() (#607-609)
reflectionFromToken(uint256,bool) should be declared external:
- SleepCare.reflectionFromToken(uint256,bool) (#611-620)
excludeFromFee(address) should be declared external:
- SleepCare.excludeFromFee(address) (#662-664)
includeInFee(address) should be declared external:
- SleepCare.includeInFee(address) (#668-670)
manageAmmPairs(address,bool) should be declared external:
- SleepCare.manageAmmPairs(address,bool) (#778-780)
isExcludedFromFee(address) should be declared external:
- SleepCare.isExcludedFromFee(address) (#799-801)
setAirdropContract(address) should be declared external:
- SleepCare.setAirdropContract(address) (#813-815)
Use the external attribute for functions never called from the contract.
Additional information: link
SleepCare.allowance(address,address).owner (#578) shadows:
- Ownable.owner() (#410-412) (function)
SleepCare._approve(address,address,uint256).owner (#803) shadows:
- Ownable.owner() (#410-412) (function)
Rename the local variables that shadow another component.
Additional information: link
SleepCare.setBurnFee(uint256) (#672-676) should emit an event for:
- _burnFee = fee (#673)
SleepCare.setTaxFee(uint256,uint256) (#678-683) should emit an event for:
- _sellTaxFee = sellTaxFee (#679)
- _buyTaxFee = buyTaxFee (#680)
SleepCare.setAdvestisementFee(uint256,uint256) (#685-690) should emit an event for:
- _sellAdvestisementFee = sellAdvestisementFee (#686)
- _buyAdvestisementFee = buyAdvestisementFee (#687)
SleepCare.setMaxTxAmount(uint256) (#692-695) should emit an event for:
- _maxTxAmount = newAmount * 10 ** 18 (#694)
Emit an event for critical parameter changes.
Additional information: link
SleepCare.changeAdvestisementWallets(address).wallet (#552) lacks a zero-check on :
- advertisementWallet = wallet (#553)
SleepCare.setAirdropContract(address)._airdropContract (#813) lacks a zero-check on :
- airdropContract = _airdropContract (#814)
Check that the address is not zero.
Additional information: link
Reentrancy in SleepCare.constructor() (#529-546):
External calls:
- _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#534-535)
State variables written after the call(s):
- excludeFromReward(DEAD_ADDRESS) (#543)
- _excluded.push(account) (#634)
- excludeFromReward(DEAD_ADDRESS) (#543)
- _isExcluded[account] = true (#633)
- _isExcludedFromFee[owner()] = true (#539)
- _isExcludedFromFee[advertisementWallet] = true (#540)
- _isExcludedFromFee[address(this)] = true (#541)
- excludeFromReward(DEAD_ADDRESS) (#543)
- _tOwned[account] = tokenFromReflection(_rOwned[account]) (#631)
- ammPairs[_uniswapV2Pair] = true (#537)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in SleepCare.constructor() (#529-546):
External calls:
- _uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#534-535)
Event emitted after the call(s):
- Transfer(address(0),_msgSender(),_tTotal) (#545)
Apply the check-effects-interactions pattern.
Additional information: link
Redundant expression "this (#235)" inContext (#229-238)
Remove redundant statements if they congest code but offer no value.
Additional information: link
SleepCare.slitherConstructorConstantVariables() (#479-917) uses literals with too many digits:
- DEAD_ADDRESS = 0x000000000000000000000000000000000000dEaD (#521)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
SleepCare._decimals (#500) should be constant
SleepCare._name (#498) should be constant
SleepCare._symbol (#499) should be constant
SleepCare._tTotal (#494) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
Ownable.unlock() (#457-462) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(now > _lockTime,Contract is locked until 7 days) (#459)
Avoid relying on block.timestamp.
Additional information: link
Address.isContract(address) (#262-271) uses assembly
- INLINE ASM (#269)
Address._functionCallWithValue(address,bytes,uint256,string) (#355-376) uses assembly
- INLINE ASM (#368-371)
Do not use evm assembly.
Additional information: link
Variable SleepCare._getRValues(uint256,uint256,uint256,uint256,uint256).rAdvertisement (#721) is too similar to SleepCare._transferStandard(address,address,uint256).tAdvertisement (#883)
Variable SleepCare._takeAdvertisement(uint256).rAdvertisement (#746) is too similar to SleepCare._transferStandard(address,address,uint256).tAdvertisement (#883)
Variable SleepCare._getRValues(uint256,uint256,uint256,uint256,uint256).rAdvertisement (#721) is too similar to SleepCare._transferFromExcluded(address,address,uint256).tAdvertisement (#906)
Variable SleepCare._takeAdvertisement(uint256).rAdvertisement (#746) is too similar to SleepCare._transferFromExcluded(address,address,uint256).tAdvertisement (#906)
Variable SleepCare._getRValues(uint256,uint256,uint256,uint256,uint256).rAdvertisement (#721) is too similar to SleepCare._transferBothExcluded(address,address,uint256).tAdvertisement (#651)
Variable SleepCare._transferToExcluded(address,address,uint256).rTransferAmount (#894) is too similar to SleepCare._transferBothExcluded(address,address,uint256).tTransferAmount (#651)
Variable SleepCare.reflectionFromToken(uint256,bool).rTransferAmount (#617) is too similar to SleepCare._transferBothExcluded(address,address,uint256).tTransferAmount (#651)
Variable SleepCare._transferBothExcluded(address,address,uint256).rTransferAmount (#651) is too similar to SleepCare._transferToExcluded(address,address,uint256).tTransferAmount (#894)
Variable SleepCare.reflectionFromToken(uint256,bool).rTransferAmount (#617) is too similar to SleepCare._getTValues(uint256).tTransferAmount (#713)
Variable SleepCare._transferStandard(address,address,uint256).rTransferAmount (#883) is too similar to SleepCare._transferBothExcluded(address,address,uint256).tTransferAmount (#651)
Variable SleepCare._transferFromExcluded(address,address,uint256).rTransferAmount (#906) is too similar to SleepCare._transferBothExcluded(address,address,uint256).tTransferAmount (#651)
Variable SleepCare._getValues(uint256).rTransferAmount (#704) is too similar to SleepCare._transferBothExcluded(address,address,uint256).tTransferAmount (#651)
Variable SleepCare._transferFromExcluded(address,address,uint256).rTransferAmount (#906) is too similar to SleepCare._getTValues(uint256).tTransferAmount (#713)
Variable SleepCare._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#723) is too similar to SleepCare._transferToExcluded(address,address,uint256).tTransferAmount (#894)
Variable SleepCare._getValues(uint256).rTransferAmount (#704) is too similar to SleepCare._getTValues(uint256).tTransferAmount (#713)
Variable SleepCare._transferToExcluded(address,address,uint256).rTransferAmount (#894) is too similar to SleepCare._transferToExcluded(address,address,uint256).tTransferAmount (#894)
Variable SleepCare.reflectionFromToken(uint256,bool).rTransferAmount (#617) is too similar to SleepCare._transferToExcluded(address,address,uint256).tTransferAmount (#894)
Variable SleepCare._transferStandard(address,address,uint256).rTransferAmount (#883) is too similar to SleepCare._transferToExcluded(address,address,uint256).tTransferAmount (#894)
Variable SleepCare._transferFromExcluded(address,address,uint256).rTransferAmount (#906) is too similar to SleepCare._transferToExcluded(address,address,uint256).tTransferAmount (#894)
Variable SleepCare._getValues(uint256).rTransferAmount (#704) is too similar to SleepCare._transferToExcluded(address,address,uint256).tTransferAmount (#894)
Variable SleepCare.reflectionFromToken(uint256,bool).rTransferAmount (#617) is too similar to SleepCare._transferStandard(address,address,uint256).tTransferAmount (#883)
Variable SleepCare._transferFromExcluded(address,address,uint256).rTransferAmount (#906) is too similar to SleepCare._transferStandard(address,address,uint256).tTransferAmount (#883)
Variable SleepCare._getValues(uint256).rTransferAmount (#704) is too similar to SleepCare._transferStandard(address,address,uint256).tTransferAmount (#883)
Variable SleepCare.reflectionFromToken(uint256,bool).rTransferAmount (#617) is too similar to SleepCare._transferFromExcluded(address,address,uint256).tTransferAmount (#906)
Variable SleepCare._transferBothExcluded(address,address,uint256).rTransferAmount (#651) is too similar to SleepCare._transferBothExcluded(address,address,uint256).tTransferAmount (#651)
Variable SleepCare._transferFromExcluded(address,address,uint256).rTransferAmount (#906) is too similar to SleepCare._transferFromExcluded(address,address,uint256).tTransferAmount (#906)
Variable SleepCare._getValues(uint256).rTransferAmount (#704) is too similar to SleepCare._transferFromExcluded(address,address,uint256).tTransferAmount (#906)
Variable SleepCare._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#723) is too similar to SleepCare._transferBothExcluded(address,address,uint256).tTransferAmount (#651)
Variable SleepCare._getRValues(uint256,uint256,uint256,uint256,uint256).rAdvertisement (#721) is too similar to SleepCare._getRValues(uint256,uint256,uint256,uint256,uint256).tAdvertisement (#718)
Variable SleepCare._getRValues(uint256,uint256,uint256,uint256,uint256).rAdvertisement (#721) is too similar to SleepCare._getTValues(uint256).tAdvertisement (#710)
Variable SleepCare._takeAdvertisement(uint256).rAdvertisement (#746) is too similar to SleepCare._transferBothExcluded(address,address,uint256).tAdvertisement (#651)
Variable SleepCare._takeAdvertisement(uint256).rAdvertisement (#746) is too similar to SleepCare._transferToExcluded(address,address,uint256).tAdvertisement (#894)
Variable SleepCare._getRValues(uint256,uint256,uint256,uint256,uint256).rAdvertisement (#721) is too similar to SleepCare._getValues(uint256).tAdvertisement (#703)
Variable SleepCare._takeAdvertisement(uint256).rAdvertisement (#746) is too similar to SleepCare._takeAdvertisement(uint256).tAdvertisement (#744)
Variable SleepCare._takeAdvertisement(uint256).rAdvertisement (#746) is too similar to SleepCare._getTValues(uint256).tAdvertisement (#710)
Variable SleepCare._takeAdvertisement(uint256).rAdvertisement (#746) is too similar to SleepCare._getRValues(uint256,uint256,uint256,uint256,uint256).tAdvertisement (#718)
Variable SleepCare._getRValues(uint256,uint256,uint256,uint256,uint256).rAdvertisement (#721) is too similar to SleepCare._transferToExcluded(address,address,uint256).tAdvertisement (#894)
Variable SleepCare._getRValues(uint256,uint256,uint256,uint256,uint256).rAdvertisement (#721) is too similar to SleepCare._takeAdvertisement(uint256).tAdvertisement (#744)
Variable SleepCare._takeAdvertisement(uint256).rAdvertisement (#746) is too similar to SleepCare._getValues(uint256).tAdvertisement (#703)
Variable SleepCare._transferStandard(address,address,uint256).rTransferAmount (#883) is too similar to SleepCare._transferStandard(address,address,uint256).tTransferAmount (#883)
Variable SleepCare._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#723) is too similar to SleepCare._getValues(uint256).tTransferAmount (#703)
Variable SleepCare._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#723) is too similar to SleepCare._transferFromExcluded(address,address,uint256).tTransferAmount (#906)
Variable SleepCare._transferBothExcluded(address,address,uint256).rTransferAmount (#651) is too similar to SleepCare._getValues(uint256).tTransferAmount (#703)
Variable SleepCare._transferBothExcluded(address,address,uint256).rTransferAmount (#651) is too similar to SleepCare._transferFromExcluded(address,address,uint256).tTransferAmount (#906)
Variable SleepCare._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#723) is too similar to SleepCare._getTValues(uint256).tTransferAmount (#713)
Variable SleepCare._transferBothExcluded(address,address,uint256).rTransferAmount (#651) is too similar to SleepCare._getTValues(uint256).tTransferAmount (#713)
Variable SleepCare._getRValues(uint256,uint256,uint256,uint256,uint256).rTransferAmount (#723) is too similar to SleepCare._transferStandard(address,address,uint256).tTransferAmount (#883)
Variable SleepCare._transferBothExcluded(address,address,uint256).rTransferAmount (#651) is too similar to SleepCare._transferStandard(address,address,uint256).tTransferAmount (#883)
Variable SleepCare._transferToExcluded(address,address,uint256).rTransferAmount (#894) is too similar to SleepCare._transferFromExcluded(address,address,uint256).tTransferAmount (#906)
Variable SleepCare._transferToExcluded(address,address,uint256).rTransferAmount (#894) is too similar to SleepCare._getValues(uint256).tTransferAmount (#703)
Variable SleepCare._transferToExcluded(address,address,uint256).rTransferAmount (#894) is too similar to SleepCare._getTValues(uint256).tTransferAmount (#713)
Variable SleepCare._transferToExcluded(address,address,uint256).rTransferAmount (#894) is too similar to SleepCare._transferStandard(address,address,uint256).tTransferAmount (#883)
Variable SleepCare.reflectionFromToken(uint256,bool).rTransferAmount (#617) is too similar to SleepCare._getValues(uint256).tTransferAmount (#703)
Variable SleepCare._getValues(uint256).rTransferAmount (#704) is too similar to SleepCare._getValues(uint256).tTransferAmount (#703)
Variable SleepCare._transferStandard(address,address,uint256).rTransferAmount (#883) is too similar to SleepCare._getValues(uint256).tTransferAmount (#703)
Variable SleepCare._transferStandard(address,address,uint256).rTransferAmount (#883) is too similar to SleepCare._transferFromExcluded(address,address,uint256).tTransferAmount (#906)
Variable SleepCare._transferFromExcluded(address,address,uint256).rTransferAmount (#906) is too similar to SleepCare._getValues(uint256).tTransferAmount (#703)
Variable SleepCare._transferStandard(address,address,uint256).rTransferAmount (#883) is too similar to SleepCare._getTValues(uint256).tTransferAmount (#713)
Prevent variables from having similar names.
Additional information: link
Unable to find token contract audit
Unable to find KYC or doxxing proof
Unable to find token on CoinGecko
Additional information: link
Unable to find audit link on the website
Token is not listed at Mobula.Finance
Additional information: link
Unable to find token on CoinHunt
Additional information: link
Unable to find code repository for the project
Young tokens have high risks of scam / price dump / death
Token is marked as scam (rug pull, honeypot, phishing, etc.)
Additional information: link
Young tokens have high risks of scam / price dump / death
Young tokens have high risks of scam / price dump / death
Token has no active CoinGecko listing / rank
Young tokens have high risks of price dump / death
Telegram account link seems to be invalid
Unable to find Blog account (Reddit or Medium)
Unable to find Youtube account
Unable to find Discord account