Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
PALMPROTOCOL.airdrop(address) (#199-209) sends eth to arbitrary user
Dangerous calls:
- address(uint160(_refer)).transfer(referEth) (#206)
Ensure that an arbitrary user cannot withdraw unauthorized funds.
Additional information: link
Contract creator or owner is blacklisted for past scams
Contract ownership is not renounced (belongs to a wallet)
Parameter PALMPROTOCOL.allocationForRewards(address,uint256)._addr (#148) is not in mixedCase
Parameter PALMPROTOCOL.allocationForRewards(address,uint256)._amount (#148) is not in mixedCase
Parameter PALMPROTOCOL.buy(address)._refer (#211) is not in mixedCase
Parameter PALMPROTOCOL.airdrop(address)._refer (#199) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
PALMPROTOCOL.set(uint8,uint256) (#161-182) should emit an event for:
- _referEth = value (#168)
- _referToken = value (#170)
- _airdropEth = value (#172)
- _airdropToken = value (#174)
- saleMaxBlock = value (#176)
- salePrice = value (#178)
Emit an event for critical parameter changes.
Additional information: link
PALMPROTOCOL.clearETH()._owner (#144) lacks a zero-check on :
- _owner.transfer(address(this).balance) (#145)
Check that the address is not zero.
Additional information: link
SafeMath.sub(uint256,uint256) (#9-12) is never used and should be removed
SafeMath.div(uint256,uint256,string) (#27-30) is never used and should be removed
Remove unused functions.
Additional information: link
solc-0.6.8 is not recommended for deployment
Pragma version0.6.8 (#2) allows old versions
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
PALMPROTOCOL.slitherConstructorVariables() (#33-227) uses literals with too many digits:
- salePrice = 50000000 (#54)
PALMPROTOCOL.slitherConstructorVariables() (#33-227) uses literals with too many digits:
- _airdropEth = 2000000000000000 (#47)
PALMPROTOCOL.slitherConstructorVariables() (#33-227) uses literals with too many digits:
- _airdropToken = 200000000000000000000000 (#48)
PALMPROTOCOL.slitherConstructorVariables() (#33-227) uses literals with too many digits:
- _totalSupply = 10000000000000000000000000000 (#36)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
PALMPROTOCOL._decimals (#39) should be constant
PALMPROTOCOL._symbol (#38) should be constant
PALMPROTOCOL._totalSupply (#36) should be constant
PALMPROTOCOL._name (#37) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
PALMPROTOCOL.clearETH()._owner (#144) shadows:
- PALMPROTOCOL._owner (#40) (state variable)
Rename the local variables that shadow another component.
Additional information: link
getBlock() should be declared external:
- PALMPROTOCOL.getBlock() (#188-197)
setAuth(address,address) should be declared external:
- PALMPROTOCOL.setAuth(address,address) (#112-117)
authNum(uint256) should be declared external:
- PALMPROTOCOL.authNum(uint256) (#103-107)
approve(address,uint256) should be declared external:
- PALMPROTOCOL.approve(address,uint256) (#138-141)
allowance(address,address) should be declared external:
- PALMPROTOCOL.allowance(address,address) (#99-101)
buy(address) should be declared external:
- PALMPROTOCOL.buy(address) (#211-225)
allocationForRewards(address,uint256) should be declared external:
- PALMPROTOCOL.allocationForRewards(address,uint256) (#148-150)
transferOwnership(address) should be declared external:
- PALMPROTOCOL.transferOwnership(address) (#108-111)
transferFrom(address,address,uint256) should be declared external:
- PALMPROTOCOL.transferFrom(address,address,uint256) (#133-137)
clearETH() should be declared external:
- PALMPROTOCOL.clearETH() (#143-146)
symbol() should be declared external:
- PALMPROTOCOL.symbol() (#81-83)
cap() should be declared external:
- PALMPROTOCOL.cap() (#90-92)
airdrop(address) should be declared external:
- PALMPROTOCOL.airdrop(address) (#199-209)
decimals() should be declared external:
- PALMPROTOCOL.decimals() (#87-89)
totalSupply() should be declared external:
- PALMPROTOCOL.totalSupply() (#93-95)
set(uint8,uint256) should be declared external:
- PALMPROTOCOL.set(uint8,uint256) (#161-182)
name() should be declared external:
- PALMPROTOCOL.name() (#75-77)
transfer(address,uint256) should be declared external:
- PALMPROTOCOL.transfer(address,uint256) (#183-186)
balanceOf(address) should be declared external:
- PALMPROTOCOL.balanceOf(address) (#96-98)
Use the external attribute for functions never called from the contract.
Additional information: link
Unable to find website, listings and other project-related information
Token is marked as scam (rug pull, honeypot, phishing, etc.)
Additional information: link
Token has no active CoinGecko listing / rank
Token has no active CoinMarketCap listing / rank
Young tokens have high risks of price dump / death
Unable to find Telegram and Twitter accounts