$DEWO is the native token to the DecentraWorld ecosystem. It is the utility and governance token of the platform. With $DEWO, users can enjoy access to a variety of pro-privacy DApps, mathematically backed farming pools, staking, liquidity mining, and access to run relayers for the ecosystem.
Unable to verify that contract auditor is trusted: Certik, Quantstamp, Hacken, Solidity, Paladinsec, Openzeppelin, Verichains
Contract ownership is not renounced (belongs to a wallet)
DecentraWorld._transfer(address,address,uint256).coreteamFee (#1107) is a local variable never initialized
DecentraWorld._transfer(address,address,uint256).taxDiscount (#1110) is a local variable never initialized
DecentraWorld._transfer(address,address,uint256).daoandfarmingFee (#1108) is a local variable never initialized
DecentraWorld._transfer(address,address,uint256).marketingFee (#1105) is a local variable never initialized
DecentraWorld._transfer(address,address,uint256).developmentFee (#1106) is a local variable never initialized
DecentraWorld._transfer(address,address,uint256).DEWOTokenTaxes (#1155) is a local variable never initialized
Initialize all the variables. If a variable is meant to be initialized to zero, explicitly set it to zero to improve code readability.
Additional information: link
Reentrancy in DecentraWorld.constructor() (#620-733):
External calls:
- pair = IDEXFactory(router.factory()).createPair(WBNB,address(this)) (#726)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#1213)
- approve(_router,_totalSupply) (#728)
- Transfer(address(0),msg.sender,_totalSupply) (#732)
Apply the check-effects-interactions pattern.
Additional information: link
DecentraWorld.transfer(address,uint256).owner (#982) shadows:
- Ownable.owner() (#320-322) (function)
DecentraWorld.allowance(address,address).owner (#990) shadows:
- Ownable.owner() (#320-322) (function)
DecentraWorld.approve(address,uint256).owner (#1005) shadows:
- Ownable.owner() (#320-322) (function)
DecentraWorld.increaseAllowance(address,uint256).owner (#1050) shadows:
- Ownable.owner() (#320-322) (function)
DecentraWorld.decreaseAllowance(address,uint256).owner (#1070) shadows:
- Ownable.owner() (#320-322) (function)
DecentraWorld._approve(address,address,uint256).owner (#1205) shadows:
- Ownable.owner() (#320-322) (function)
DecentraWorld._spendAllowance(address,address,uint256).owner (#1225) shadows:
- Ownable.owner() (#320-322) (function)
Rename the local variables that shadow another component.
Additional information: link
DecentraWorld.setDAOandFarmingAddress(address)._daoandfarmingAddress (#829) lacks a zero-check on :
- daoandfarmingAddress = _daoandfarmingAddress (#830)
DecentraWorld.setMarketingAddress(address)._marketingAddress (#834) lacks a zero-check on :
- marketingAddress = _marketingAddress (#835)
DecentraWorld.setDevelopmentAddress(address)._developmentAddress (#839) lacks a zero-check on :
- developmentAddress = _developmentAddress (#840)
DecentraWorld.setCoreTeamAddress(address)._coreteamAddress (#844) lacks a zero-check on :
- coreteamAddress = _coreteamAddress (#845)
Check that the address is not zero.
Additional information: link
Reentrancy in DecentraWorld.constructor() (#620-733):
External calls:
- pair = IDEXFactory(router.factory()).createPair(WBNB,address(this)) (#726)
State variables written after the call(s):
- _allowances[address(this)][address(router)] = _totalSupply (#727)
- approve(_router,_totalSupply) (#728)
- _allowances[owner][spender] = amount (#1212)
- _balances[msg.sender] = _totalSupply (#731)
Apply the check-effects-interactions pattern.
Additional information: link
DecentraWorld.setRecentTx(bool,address,uint256) (#922-930) uses timestamp for comparisons
Dangerous comparisons:
- txSettings.lastTx[_sender].add(txSettings.txcooldown) < block.timestamp (#923)
Avoid relying on block.timestamp.
Additional information: link
DecentraWorld.checkBuyTxLimit(address,uint256) (#904-910) compares to a boolean constant:
-require(bool,string)(exclueFromMaxTx[_sender] == true || txSettings.buys[_sender].add(_amount) < txSettings.buyMaxTx,Buy transaction limit reached!) (#905-909)
DecentraWorld.checkSellTxLimit(address,uint256) (#913-919) compares to a boolean constant:
-require(bool,string)(exclueFromMaxTx[_sender] == true || txSettings.sells[_sender].add(_amount) < txSettings.sellMaxTx,Sell transaction limit reached!) (#914-918)
Remove the equality to the boolean constant.
Additional information: link
Different versions of Solidity is used:
- Version used: ['^0.8.0', '^0.8.7']
- ^0.8.0 (#36)
- ^0.8.0 (#265)
- ^0.8.0 (#291)
- ^0.8.7 (#395)
Use one Solidity version.
Additional information: link
Context._msgData() (#282-284) is never used and should be removed
SafeMath.div(uint256,uint256,string) (#223-232) is never used and should be removed
SafeMath.mod(uint256,uint256) (#183-185) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#249-258) is never used and should be removed
SafeMath.sub(uint256,uint256,string) (#200-209) is never used and should be removed
SafeMath.tryAdd(uint256,uint256) (#54-60) is never used and should be removed
SafeMath.tryDiv(uint256,uint256) (#96-101) is never used and should be removed
SafeMath.tryMod(uint256,uint256) (#108-113) is never used and should be removed
SafeMath.tryMul(uint256,uint256) (#79-89) is never used and should be removed
SafeMath.trySub(uint256,uint256) (#67-72) is never used and should be removed
Remove unused functions.
Additional information: link
Pragma version^0.8.0 (#36) allows old versions
Pragma version^0.8.0 (#265) allows old versions
Pragma version^0.8.0 (#291) 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
Function IDEXRouter.WETH() (#421) is not in mixedCase
Function IPancakeswapV2Pair.DOMAIN_SEPARATOR() (#475) is not in mixedCase
Function IPancakeswapV2Pair.PERMIT_TYPEHASH() (#476) is not in mixedCase
Function IPancakeswapV2Pair.MINIMUM_LIQUIDITY() (#493) is not in mixedCase
Parameter DecentraWorld.setBuyTaxes(uint256,uint256,uint256,uint256)._daoandfarmingBuyTax (#743) is not in mixedCase
Parameter DecentraWorld.setBuyTaxes(uint256,uint256,uint256,uint256)._coreteamBuyTax (#744) is not in mixedCase
Parameter DecentraWorld.setBuyTaxes(uint256,uint256,uint256,uint256)._developmentBuyTax (#745) is not in mixedCase
Parameter DecentraWorld.setBuyTaxes(uint256,uint256,uint256,uint256)._marketingBuyTax (#746) is not in mixedCase
Parameter DecentraWorld.setSellTaxes(uint256,uint256,uint256,uint256)._daoandfarmingSellTax (#774) is not in mixedCase
Parameter DecentraWorld.setSellTaxes(uint256,uint256,uint256,uint256)._coreteamSellTax (#775) is not in mixedCase
Parameter DecentraWorld.setSellTaxes(uint256,uint256,uint256,uint256)._developmentSellTax (#776) is not in mixedCase
Parameter DecentraWorld.setSellTaxes(uint256,uint256,uint256,uint256)._marketingSellTax (#777) is not in mixedCase
Parameter DecentraWorld.setDAOandFarmingAddress(address)._daoandfarmingAddress (#829) is not in mixedCase
Parameter DecentraWorld.setMarketingAddress(address)._marketingAddress (#834) is not in mixedCase
Parameter DecentraWorld.setDevelopmentAddress(address)._developmentAddress (#839) is not in mixedCase
Parameter DecentraWorld.setCoreTeamAddress(address)._coreteamAddress (#844) is not in mixedCase
Parameter DecentraWorld.setExcludeFromTax(address,bool)._address (#849) is not in mixedCase
Parameter DecentraWorld.setExcludeFromTax(address,bool)._value (#849) is not in mixedCase
Parameter DecentraWorld.setExclueFromMaxTx(address,bool)._address (#854) is not in mixedCase
Parameter DecentraWorld.setExclueFromMaxTx(address,bool)._value (#854) is not in mixedCase
Parameter DecentraWorld.setBuyTaxTiers(uint256,uint256,uint256,uint256)._discount1 (#859) is not in mixedCase
Parameter DecentraWorld.setBuyTaxTiers(uint256,uint256,uint256,uint256)._amount1 (#859) is not in mixedCase
Parameter DecentraWorld.setBuyTaxTiers(uint256,uint256,uint256,uint256)._discount2 (#859) is not in mixedCase
Parameter DecentraWorld.setBuyTaxTiers(uint256,uint256,uint256,uint256)._amount2 (#859) is not in mixedCase
Parameter DecentraWorld.setSellTaxTiers(uint256,uint256,uint256,uint256)._discount3 (#869) is not in mixedCase
Parameter DecentraWorld.setSellTaxTiers(uint256,uint256,uint256,uint256)._amount3 (#869) is not in mixedCase
Parameter DecentraWorld.setSellTaxTiers(uint256,uint256,uint256,uint256)._discount4 (#869) is not in mixedCase
Parameter DecentraWorld.setSellTaxTiers(uint256,uint256,uint256,uint256)._amount4 (#869) is not in mixedCase
Parameter DecentraWorld.setTxSettings(uint256,uint256,uint256)._buyMaxTx (#889) is not in mixedCase
Parameter DecentraWorld.setTxSettings(uint256,uint256,uint256)._sellMaxTx (#889) is not in mixedCase
Parameter DecentraWorld.setTxSettings(uint256,uint256,uint256)._txcooldown (#889) is not in mixedCase
Parameter DecentraWorld.checkBuyTxLimit(address,uint256)._sender (#904) is not in mixedCase
Parameter DecentraWorld.checkBuyTxLimit(address,uint256)._amount (#904) is not in mixedCase
Parameter DecentraWorld.checkSellTxLimit(address,uint256)._sender (#913) is not in mixedCase
Parameter DecentraWorld.checkSellTxLimit(address,uint256)._amount (#913) is not in mixedCase
Parameter DecentraWorld.setRecentTx(bool,address,uint256)._isSell (#922) is not in mixedCase
Parameter DecentraWorld.setRecentTx(bool,address,uint256)._sender (#922) is not in mixedCase
Parameter DecentraWorld.setRecentTx(bool,address,uint256)._amount (#922) is not in mixedCase
Parameter DecentraWorld.getRecentTx(address)._address (#933) is not in mixedCase
Parameter DecentraWorld.getTokenPrice(uint256)._amount (#938) is not in mixedCase
Variable DecentraWorld._totalSupply (#576) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Variable IDEXRouter.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (#426) is too similar to IDEXRouter.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#427)
Prevent variables from having similar names.
Additional information: link
DecentraWorld.constructor() (#620-733) uses literals with too many digits:
- _totalSupply = 100000000 * (10 ** decimals()) (#624)
DecentraWorld.constructor() (#620-733) uses literals with too many digits:
- taxTiers[0].amount = 100000 * (10 ** decimals()) (#694)
DecentraWorld.constructor() (#620-733) uses literals with too many digits:
- taxTiers[1].amount = 400000 * (10 ** decimals()) (#699)
DecentraWorld.constructor() (#620-733) uses literals with too many digits:
- taxTiers[3].amount = 300000 * (10 ** decimals()) (#709)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#339-341)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#347-350)
getSellTaxes() should be declared external:
- DecentraWorld.getSellTaxes() (#799-811)
getBuyTaxes() should be declared external:
- DecentraWorld.getBuyTaxes() (#814-826)
getBuyTaxTiers() should be declared external:
- DecentraWorld.getBuyTaxTiers() (#879-881)
getSellTaxTiers() should be declared external:
- DecentraWorld.getSellTaxTiers() (#884-886)
getTxSettings() should be declared external:
- DecentraWorld.getTxSettings() (#899-901)
getRecentTx(address) should be declared external:
- DecentraWorld.getRecentTx(address) (#933-935)
getTokenPrice(uint256) should be declared external:
- DecentraWorld.getTokenPrice(uint256) (#938-944)
name() should be declared external:
- DecentraWorld.name() (#949-951)
symbol() should be declared external:
- DecentraWorld.symbol() (#957-959)
totalSupply() should be declared external:
- DecentraWorld.totalSupply() (#965-967)
balanceOf(address) should be declared external:
- DecentraWorld.balanceOf(address) (#969-971)
transfer(address,uint256) should be declared external:
- DecentraWorld.transfer(address,uint256) (#981-985)
transferFrom(address,address,uint256) should be declared external:
- DecentraWorld.transferFrom(address,address,uint256) (#1026-1035)
increaseAllowance(address,uint256) should be declared external:
- DecentraWorld.increaseAllowance(address,uint256) (#1049-1053)
decreaseAllowance(address,uint256) should be declared external:
- DecentraWorld.decreaseAllowance(address,uint256) (#1069-1078)
Use the external attribute for functions never called from the contract.
Additional information: link
Contract ticker ($DEWO) contains non-alphanumeric characters.
Not a direct threat, but may indicate unreliable intentions of developer. Non-alphanumeric chars (,.;!#*&") are extremely rare among low risk tokens.
Unable to crawl data from the website
Unable to find token on CoinGecko
Additional information: link
Unable to find audit link on the website
Unable to find whitepaper link on the website
Token is not listed at Mobula.Finance
Additional information: link
Unable to find Telegram link on the website
Unable to find Twitter link on the website
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
Token has relatively low CoinMarketCap rank
Twitter account link seems to be invalid
Unable to find Blog account (Reddit or Medium)
Unable to find Youtube account