Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
ABELDAO.transfer(address,uint256) (#113-138) performs a multiplication on the result of a division:
-locks = (user.lockamount).div(user.locktime).mul(user.lockstart.add(user.locktime).sub(block.number)) (#120)
ABELDAO.transferFrom(address,address,uint256) (#145-175) performs a multiplication on the result of a division:
-locks = (user.lockamount).div(user.locktime).mul(user.lockstart.add(user.locktime).sub(block.number)) (#154)
ABELDAO.lockNumber(address) (#230-239) performs a multiplication on the result of a division:
-locks = (user.lockamount).div(user.locktime).mul(user.lockstart.add(user.locktime).sub(block.number)) (#234)
Consider ordering multiplication before division.
Additional information: link
ABELDAO.setOwner(address) (#105-109) should emit an event for:
- owner = newOwner (#107)
Emit an event for critical parameter changes.
Additional information: link
ABELDAO.setMaxNum(uint256) (#181-183) should emit an event for:
- maxnum = newMAX (#182)
ABELDAO.setFee(uint256) (#185-187) should emit an event for:
- fee = newFee (#186)
Emit an event for critical parameter changes.
Additional information: link
ABELDAO.setOwner(address).newOwner (#105) lacks a zero-check on :
- owner = newOwner (#107)
ABELDAO.setvaultAddr(address).newVaultAddr (#189) lacks a zero-check on :
- vaultAddr = newVaultAddr (#190)
Check that the address is not zero.
Additional information: link
Reentrancy in ABELDAO.constructor() (#80-94):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#90-91)
State variables written after the call(s):
- maxnum = 100000 * 10 ** uint256(decimals) (#93)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in ABELDAO.constructor() (#80-94):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#90-91)
Event emitted after the call(s):
- Transfer(address(0),msg.sender,_totalSupply) (#92)
Apply the check-effects-interactions pattern.
Additional information: link
Function IUniswapV2Router02.WETH() (#27) is not in mixedCase
Variable ABELDAO._totalSupply (#57) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
ABELDAO.constructor() (#80-94) uses literals with too many digits:
- _totalSupply = 390000000 * 10 ** uint256(decimals) (#85)
ABELDAO.constructor() (#80-94) uses literals with too many digits:
- maxnum = 100000 * 10 ** uint256(decimals) (#93)
ABELDAO.slitherConstructorVariables() (#52-241) uses literals with too many digits:
- lockstart1 = 15000000 (#67)
ABELDAO.slitherConstructorVariables() (#52-241) uses literals with too many digits:
- lockstart2 = 15000000 (#68)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
ABELDAO.uniswapV2Router (#62) is never used in ABELDAO (#52-241)
Remove unused state variables.
Additional information: link
ABELDAO.lockstart1 (#67) should be constant
ABELDAO.lockstart2 (#68) should be constant
ABELDAO.locktime1 (#64) should be constant
ABELDAO.locktime2 (#65) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
totalSupply() should be declared external:
- ABELDAO.totalSupply() (#102-104)
setOwner(address) should be declared external:
- ABELDAO.setOwner(address) (#105-109)
balanceOf(address) should be declared external:
- ABELDAO.balanceOf(address) (#110-112)
transfer(address,uint256) should be declared external:
- ABELDAO.transfer(address,uint256) (#113-138)
approve(address,uint256) should be declared external:
- ABELDAO.approve(address,uint256) (#139-144)
transferFrom(address,address,uint256) should be declared external:
- ABELDAO.transferFrom(address,address,uint256) (#145-175)
allowance(address,address) should be declared external:
- ABELDAO.allowance(address,address) (#177-179)
setMaxNum(uint256) should be declared external:
- ABELDAO.setMaxNum(uint256) (#181-183)
setFee(uint256) should be declared external:
- ABELDAO.setFee(uint256) (#185-187)
setvaultAddr(address) should be declared external:
- ABELDAO.setvaultAddr(address) (#189-191)
lockNumber(address) should be declared external:
- ABELDAO.lockNumber(address) (#230-239)
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