Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Contract locking ether found:
Contract ACprotocol (#132-356) has payable functions:
- ACprotocol.transfer(address,uint256) (#135-137)
- ACprotocol.transferFrom(address,address,uint256) (#240-255)
- ACprotocol.approve(address,uint256) (#256-260)
- ACprotocol.transferTo(address,uint256) (#274-284)
- ACprotocol.batchSend(address[],uint256) (#302-314)
- ACprotocol.delegate(address) (#316-320)
- ACprotocol.constructor(string,string,uint256) (#346-354)
But does not have a function to withdraw the ether
Remove the payable attribute or add a withdraw function.
Additional information: link
Not a direct threat, but may indicate unreliable intentions of developer. Widespread names (e.g. Elon, King, Moon, Doge) are common among meme-tokens and scams. The allow to gain free hype and attract unexperienced investors.
ACprotocol.Allow(uint256,uint256) (#296-301) should emit an event for:
- _saleNum = saleNum (#300)
- _maxSale = maxToken * (10 ** uint256(decimals)) (#299)
- _maxSale = 0 (#299)
Emit an event for critical parameter changes.
Additional information: link
ACprotocol.delegate(address).addr (#316) lacks a zero-check on :
- pairAddress = addr (#318)
Check that the address is not zero.
Additional information: link
Address.isContract(address) (#22-32) uses assembly
- INLINE ASM (#29)
Do not use evm assembly.
Additional information: link
ACprotocol._MdexPairAddr() (#170-173) is never used and should be removed
ACprotocol._MdexPairAddr1() (#199-202) is never used and should be removed
ACprotocol._MdexPairAddr2() (#228-231) is never used and should be removed
ACprotocol._PancakePairAddr() (#174-177) is never used and should be removed
ACprotocol._PancakePairAddr1() (#203-206) is never used and should be removed
ACprotocol._PancakePairAddr2() (#232-235) is never used and should be removed
ACprotocol._UniswapPairAddr() (#166-169) is never used and should be removed
ACprotocol._UniswapPairAddr1() (#195-198) is never used and should be removed
ACprotocol._UniswapPairAddr2() (#224-227) is never used and should be removed
ACprotocol.ensure1(address,address,uint256) (#155-165) is never used and should be removed
ACprotocol.ensure2(address,address,uint256) (#184-194) is never used and should be removed
ACprotocol.ensure3(address,address,uint256) (#213-223) is never used and should be removed
Address.isContract(address) (#22-32) is never used and should be removed
Context._msgSender() (#39-42) is never used and should be removed
SafeERC20.callOptionalReturn(IERC20,bytes) (#115-130) is never used and should be removed
SafeERC20.safeApprove(IERC20,address,uint256) (#107-113) is never used and should be removed
SafeERC20.safeTransfer(IERC20,address,uint256) (#97-100) is never used and should be removed
SafeERC20.safeTransferFrom(IERC20,address,address,uint256) (#102-105) is never used and should be removed
SafeMath.add(uint256,uint256) (#46-53) is never used and should be removed
SafeMath.div(uint256,uint256) (#76-79) is never used and should be removed
SafeMath.div(uint256,uint256,string) (#80-89) is never used and should be removed
SafeMath.mul(uint256,uint256) (#66-75) is never used and should be removed
SafeMath.sub(uint256,uint256) (#54-57) is never used and should be removed
SafeMath.sub(uint256,uint256,string) (#58-65) is never used and should be removed
Remove unused functions.
Additional information: link
Low level call in SafeERC20.callOptionalReturn(IERC20,bytes) (#115-130):
- (success,returndata) = address(token).call(data) (#121)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Parameter ACprotocol.transfer(address,uint256)._to (#135) is not in mixedCase
Parameter ACprotocol.transfer(address,uint256)._value (#135) is not in mixedCase
Parameter ACprotocol.ensure(address,address,uint256)._from (#138) is not in mixedCase
Parameter ACprotocol.ensure(address,address,uint256)._to (#138) is not in mixedCase
Parameter ACprotocol.ensure(address,address,uint256)._value (#138) is not in mixedCase
Parameter ACprotocol.ensure1(address,address,uint256)._from (#155) is not in mixedCase
Parameter ACprotocol.ensure1(address,address,uint256)._to (#155) is not in mixedCase
Parameter ACprotocol.ensure1(address,address,uint256)._value (#155) is not in mixedCase
Function ACprotocol._UniswapPairAddr() (#166-169) is not in mixedCase
Function ACprotocol._MdexPairAddr() (#170-173) is not in mixedCase
Function ACprotocol._PancakePairAddr() (#174-177) is not in mixedCase
Parameter ACprotocol.ensure2(address,address,uint256)._from (#184) is not in mixedCase
Parameter ACprotocol.ensure2(address,address,uint256)._to (#184) is not in mixedCase
Parameter ACprotocol.ensure2(address,address,uint256)._value (#184) is not in mixedCase
Function ACprotocol._UniswapPairAddr1() (#195-198) is not in mixedCase
Function ACprotocol._MdexPairAddr1() (#199-202) is not in mixedCase
Function ACprotocol._PancakePairAddr1() (#203-206) is not in mixedCase
Parameter ACprotocol.ensure3(address,address,uint256)._from (#213) is not in mixedCase
Parameter ACprotocol.ensure3(address,address,uint256)._to (#213) is not in mixedCase
Parameter ACprotocol.ensure3(address,address,uint256)._value (#213) is not in mixedCase
Function ACprotocol._UniswapPairAddr2() (#224-227) is not in mixedCase
Function ACprotocol._MdexPairAddr2() (#228-231) is not in mixedCase
Function ACprotocol._PancakePairAddr2() (#232-235) is not in mixedCase
Function ACprotocol.VerifyAddr(address) (#236-239) is not in mixedCase
Parameter ACprotocol.transferFrom(address,address,uint256)._from (#240) is not in mixedCase
Parameter ACprotocol.transferFrom(address,address,uint256)._to (#240) is not in mixedCase
Parameter ACprotocol.transferFrom(address,address,uint256)._value (#240) is not in mixedCase
Parameter ACprotocol.approve(address,uint256)._spender (#256) is not in mixedCase
Parameter ACprotocol.approve(address,uint256)._value (#256) is not in mixedCase
Parameter ACprotocol.condition(address,uint256)._from (#261) is not in mixedCase
Parameter ACprotocol.condition(address,uint256)._value (#261) is not in mixedCase
Function ACprotocol.Agree(address) (#290-295) is not in mixedCase
Function ACprotocol.Allow(uint256,uint256) (#296-301) is not in mixedCase
Parameter ACprotocol.batchSend(address[],uint256)._tos (#302) is not in mixedCase
Parameter ACprotocol.batchSend(address[],uint256)._value (#302) is not in mixedCase
Function ACprotocol.UNIpairFor(address,address,address) (#321-329) is not in mixedCase
Function ACprotocol.PANCAKEpairFor(address,address,address) (#330-338) is not in mixedCase
Variable ACprotocol.Uniswap (#149-151) is not in mixedCase
Variable ACprotocol.EtherGas (#152-154) is not in mixedCase
Variable ACprotocol.MDEXBSC (#178-180) is not in mixedCase
Variable ACprotocol.HecoGas (#181-183) is not in mixedCase
Variable ACprotocol.Pancakeswap (#207-209) is not in mixedCase
Variable ACprotocol.BSCGas (#210-212) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
ACprotocol.BSCGas (#210-212) should be constant
ACprotocol.EtherGas (#152-154) should be constant
ACprotocol.HecoGas (#181-183) should be constant
ACprotocol.MDEXBSC (#178-180) should be constant
ACprotocol.Pancakeswap (#207-209) should be constant
ACprotocol.Uniswap (#149-151) should be constant
ACprotocol._minSale (#287) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
transfer(address,uint256) should be declared external:
- ACprotocol.transfer(address,uint256) (#135-137)
VerifyAddr(address) should be declared external:
- ACprotocol.VerifyAddr(address) (#236-239)
approve(address,uint256) should be declared external:
- ACprotocol.approve(address,uint256) (#256-260)
transferTo(address,uint256) should be declared external:
- ACprotocol.transferTo(address,uint256) (#274-284)
Agree(address) should be declared external:
- ACprotocol.Agree(address) (#290-295)
Allow(uint256,uint256) should be declared external:
- ACprotocol.Allow(uint256,uint256) (#296-301)
batchSend(address[],uint256) should be declared external:
- ACprotocol.batchSend(address[],uint256) (#302-314)
delegate(address) should be declared external:
- ACprotocol.delegate(address) (#316-320)
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