UTGDAO Token Logo

UD [UTGDAO] Token

About UD

Listings

Not Found
Token 2 years

Website

Not Found

UD is a DAC project based on the ecological development of UTG public chain

Social

Laser Scorebeta Last Audit: 5 May 2022

report
Token seems to be a scam (type: honeypot scam).


Contract creator or owner is blacklisted for past scams


Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)

UTGDAO.addLiquidity(uint256,uint256) (contracts/utgdao.sol#859-875) sends eth to arbitrary user
Dangerous calls:
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/utgdao.sol#867-874)
Ensure that an arbitrary user cannot withdraw unauthorized funds.

Additional information: link

Reentrancy in UTGDAO._transfer(address,address,uint256) (contracts/utgdao.sol#889-967):
External calls:
- swapAndExchange(swapAmount1) (contracts/utgdao.sol#947)
- (success) = to.call{value: value}(new bytes(0)) (contracts/utgdao.sol#178)
- TransferHelper.safeTransferETH(fundAddress,newBalance) (contracts/utgdao.sol#833)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (contracts/utgdao.sol#847-853)
External calls sending eth:
- swapAndExchange(swapAmount1) (contracts/utgdao.sol#947)
- (success) = to.call{value: value}(new bytes(0)) (contracts/utgdao.sol#178)
State variables written after the call(s):
- _takeLiquidity(swapAmount1) (contracts/utgdao.sol#949)
- _rOwned[address(this)] = _rOwned[address(this)].add(rLiquidity) (contracts/utgdao.sol#1036)
- _tokenTransfer(from,to,amount,takeFee,needLiquidity) (contracts/utgdao.sol#958)
- _rOwned[to] = _rOwned[to].add(rAmount) (contracts/utgdao.sol#1029)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (contracts/utgdao.sol#978)
- _rOwned[uniswapV2Pair] = _rOwned[uniswapV2Pair].add(rAmount.div(1000).mul(liquidityDivisor)) (contracts/utgdao.sol#992)
- _rOwned[uniswapV2Pair] = _rOwned[uniswapV2Pair].add(rAmount.div(1000).mul(fundDivisor)) (contracts/utgdao.sol#998)
- _rOwned[reciver] = _rOwned[reciver].add(curRAmount) (contracts/utgdao.sol#1071)
- _rOwned[_destroyAddress] = _rOwned[_destroyAddress].add(curRAmount) (contracts/utgdao.sol#1074)
- _rOwned[recipient] = _rOwned[recipient].add(rAmount.div(1000).mul(recipientRate)) (contracts/utgdao.sol#1012-1013)
- _rOwned[recipient] = _rOwned[recipient].add(rAmount) (contracts/utgdao.sol#1016)
- inviter[to] = from (contracts/utgdao.sol#964)
Apply the check-effects-interactions pattern.

Additional information: link

UTGDAO._tFeeTotal (contracts/utgdao.sol#464) is never initialized. It is used in:
- UTGDAO.totalFees() (contracts/utgdao.sol#659-661)
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


Contract ownership is not renounced (belongs to a wallet)


Combination 1: Reentrancy vulnerabilities + Functions that send Ether to arbitraty destination. Usual for scams. May be justified by some complex mechanics (e.g. rebase, reflections). DYOR & manual audit are advised.

UTGDAO.isContract(address) (contracts/utgdao.sol#735-741) uses assembly
- INLINE ASM (contracts/utgdao.sol#737-739)
Do not use evm assembly.

Additional information: link

UTGDAO.constructor(address,uint256,uint256,uint256,uint256[]) (contracts/utgdao.sol#509-550) performs a multiplication on the result of a division:
-_tTotalMaxFee = _tTotal.div(10).mul(9) (contracts/utgdao.sol#514)
UTGDAO._transfer(address,address,uint256) (contracts/utgdao.sol#889-967) performs a multiplication on the result of a division:
-swapAmount1 = amount.div(1000).mul(fundDivisor.add(liquidityDivisor)) (contracts/utgdao.sol#946)
UTGDAO._tokenTransfer(address,address,uint256,bool,bool) (contracts/utgdao.sol#969-1020) performs a multiplication on the result of a division:
-_rOwned[recipient] = _rOwned[recipient].add(rAmount.div(1000).mul(recipientRate)) (contracts/utgdao.sol#1012-1013)
UTGDAO._tokenTransfer(address,address,uint256,bool,bool) (contracts/utgdao.sol#969-1020) performs a multiplication on the result of a division:
-_takeTransfer(sender,_destroyAddress,tAmount.div(1000).mul(destroyRate),currentRate) (contracts/utgdao.sol#986-987)
UTGDAO._tokenTransfer(address,address,uint256,bool,bool) (contracts/utgdao.sol#969-1020) performs a multiplication on the result of a division:
-Transfer(sender,recipient,tAmount.div(1000).mul(recipientRate)) (contracts/utgdao.sol#1014)
UTGDAO._tokenTransfer(address,address,uint256,bool,bool) (contracts/utgdao.sol#969-1020) performs a multiplication on the result of a division:
-_rOwned[uniswapV2Pair] = _rOwned[uniswapV2Pair].add(rAmount.div(1000).mul(liquidityDivisor)) (contracts/utgdao.sol#992)
UTGDAO._tokenTransfer(address,address,uint256,bool,bool) (contracts/utgdao.sol#969-1020) performs a multiplication on the result of a division:
-_rOwned[uniswapV2Pair] = _rOwned[uniswapV2Pair].add(rAmount.div(1000).mul(fundDivisor)) (contracts/utgdao.sol#998)
UTGDAO._takeInviterFee(address,address,uint256,uint256) (contracts/utgdao.sol#1039-1079) performs a multiplication on the result of a division:
-curTAmount = tAmount.div(1000).mul(feeRate[i]) (contracts/utgdao.sol#1057)
Consider ordering multiplication before division.

Additional information: link

UTGDAO.approveForTokens(address,address,uint256) (contracts/utgdao.sol#778-782) ignores return value by IERC20(token).approve(spender,amount) (contracts/utgdao.sol#781)
UTGDAO.addLiquidity(uint256,uint256) (contracts/utgdao.sol#859-875) ignores return value by uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/utgdao.sol#867-874)
Ensure that all the return values of the function calls are used.

Additional information: link

UTGDAO.allowance(address,address).owner (contracts/utgdao.sol#599) shadows:
- Ownable.owner() (contracts/utgdao.sol#197-199) (function)
UTGDAO._approve(address,address,uint256).owner (contracts/utgdao.sol#878) shadows:
- Ownable.owner() (contracts/utgdao.sol#197-199) (function)
Rename the local variables that shadow another component.

Additional information: link

UTGDAO.setFeeArry(uint256,uint256,uint256,uint256,uint256[]) (contracts/utgdao.sol#705-728) should emit an event for:
- fundDivisor = _fundDivisor (contracts/utgdao.sol#715)
- liquidityDivisor = _liqudityDivisor (contracts/utgdao.sol#716)
- destroyRate = _destroyRate (contracts/utgdao.sol#717)
- feeLevels = _levs (contracts/utgdao.sol#718)
Emit an event for critical parameter changes.

Additional information: link

Reentrancy in UTGDAO.constructor(address,uint256,uint256,uint256,uint256[]) (contracts/utgdao.sol#509-550):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (contracts/utgdao.sol#536-537)
State variables written after the call(s):
- _owner = msg.sender (contracts/utgdao.sol#548)
- destroyRate = _destroyRate (contracts/utgdao.sol#541)
- feeLevels = initFee.length (contracts/utgdao.sol#542)
- feeRate.push(initFee[i]) (contracts/utgdao.sol#545)
- uniswapV2Router = _uniswapV2Router (contracts/utgdao.sol#539)
Reentrancy in UTGDAO.swapAndLiquify(uint256) (contracts/utgdao.sol#792-815):
External calls:
- swapTokensForEth(half) (contracts/utgdao.sol#805)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (contracts/utgdao.sol#847-853)
- addLiquidity(otherHalf,newBalance) (contracts/utgdao.sol#812)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/utgdao.sol#867-874)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (contracts/utgdao.sol#812)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/utgdao.sol#867-874)
State variables written after the call(s):
- addLiquidity(otherHalf,newBalance) (contracts/utgdao.sol#812)
- _allowances[owner][spender] = amount (contracts/utgdao.sol#885)
Reentrancy in UTGDAO.transferFrom(address,address,uint256) (contracts/utgdao.sol#617-628):
External calls:
- _transfer(sender,recipient,amount) (contracts/utgdao.sol#622)
- (success) = to.call{value: value}(new bytes(0)) (contracts/utgdao.sol#178)
- TransferHelper.safeTransferETH(fundAddress,newBalance) (contracts/utgdao.sol#833)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (contracts/utgdao.sol#847-853)
External calls sending eth:
- _transfer(sender,recipient,amount) (contracts/utgdao.sol#622)
- (success) = to.call{value: value}(new bytes(0)) (contracts/utgdao.sol#178)
State variables written after the call(s):
- _approve(sender,msg.sender,_allowances[sender][msg.sender].sub(amount,BEP20: transfer amount exceeds allowance)) (contracts/utgdao.sol#623-626)
- _allowances[owner][spender] = amount (contracts/utgdao.sol#885)
Apply the check-effects-interactions pattern.

Additional information: link

Reentrancy in UTGDAO._transfer(address,address,uint256) (contracts/utgdao.sol#889-967):
External calls:
- swapAndExchange(swapAmount1) (contracts/utgdao.sol#947)
- (success) = to.call{value: value}(new bytes(0)) (contracts/utgdao.sol#178)
- TransferHelper.safeTransferETH(fundAddress,newBalance) (contracts/utgdao.sol#833)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (contracts/utgdao.sol#847-853)
External calls sending eth:
- swapAndExchange(swapAmount1) (contracts/utgdao.sol#947)
- (success) = to.call{value: value}(new bytes(0)) (contracts/utgdao.sol#178)
Event emitted after the call(s):
- Transfer(sender,to,tAmount) (contracts/utgdao.sol#1030)
- _tokenTransfer(from,to,amount,takeFee,needLiquidity) (contracts/utgdao.sol#958)
- Transfer(sender,reciver,curTAmount) (contracts/utgdao.sol#1072)
- _tokenTransfer(from,to,amount,takeFee,needLiquidity) (contracts/utgdao.sol#958)
- Transfer(sender,_destroyAddress,curTAmount) (contracts/utgdao.sol#1075)
- _tokenTransfer(from,to,amount,takeFee,needLiquidity) (contracts/utgdao.sol#958)
- Transfer(sender,recipient,tAmount.div(1000).mul(recipientRate)) (contracts/utgdao.sol#1014)
- _tokenTransfer(from,to,amount,takeFee,needLiquidity) (contracts/utgdao.sol#958)
- Transfer(sender,recipient,tAmount) (contracts/utgdao.sol#1017)
- _tokenTransfer(from,to,amount,takeFee,needLiquidity) (contracts/utgdao.sol#958)
Reentrancy in UTGDAO.constructor(address,uint256,uint256,uint256,uint256[]) (contracts/utgdao.sol#509-550):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (contracts/utgdao.sol#536-537)
Event emitted after the call(s):
- Transfer(address(0),tokenOwner,_tTotal) (contracts/utgdao.sol#549)
Reentrancy in UTGDAO.swapAndLiquify(uint256) (contracts/utgdao.sol#792-815):
External calls:
- swapTokensForEth(half) (contracts/utgdao.sol#805)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (contracts/utgdao.sol#847-853)
- addLiquidity(otherHalf,newBalance) (contracts/utgdao.sol#812)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/utgdao.sol#867-874)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (contracts/utgdao.sol#812)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (contracts/utgdao.sol#867-874)
Event emitted after the call(s):
- Approval(owner,spender,amount) (contracts/utgdao.sol#886)
- addLiquidity(otherHalf,newBalance) (contracts/utgdao.sol#812)
- SwapAndLiquify(half,newBalance,otherHalf) (contracts/utgdao.sol#814)
Reentrancy in UTGDAO.swapTokensForEth(uint256) (contracts/utgdao.sol#838-856):
External calls:
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (contracts/utgdao.sol#847-853)
Event emitted after the call(s):
- SwapTokensForETH(tokenAmount,path) (contracts/utgdao.sol#855)
Reentrancy in UTGDAO.transferFrom(address,address,uint256) (contracts/utgdao.sol#617-628):
External calls:
- _transfer(sender,recipient,amount) (contracts/utgdao.sol#622)
- (success) = to.call{value: value}(new bytes(0)) (contracts/utgdao.sol#178)
- TransferHelper.safeTransferETH(fundAddress,newBalance) (contracts/utgdao.sol#833)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (contracts/utgdao.sol#847-853)
External calls sending eth:
- _transfer(sender,recipient,amount) (contracts/utgdao.sol#622)
- (success) = to.call{value: value}(new bytes(0)) (contracts/utgdao.sol#178)
Event emitted after the call(s):
- Approval(owner,spender,amount) (contracts/utgdao.sol#886)
- _approve(sender,msg.sender,_allowances[sender][msg.sender].sub(amount,BEP20: transfer amount exceeds allowance)) (contracts/utgdao.sol#623-626)
Apply the check-effects-interactions pattern.

Additional information: link

Ownable.unlock() (contracts/utgdao.sol#232-237) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp > _lockTime,Contract is locked until 7 days) (contracts/utgdao.sol#234)
Avoid relying on block.timestamp.

Additional information: link

Context._msgData() (contracts/utgdao.sol#97-100) is never used and should be removed
SafeMath.mod(uint256,uint256) (contracts/utgdao.sol#147-149) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (contracts/utgdao.sol#151-154) is never used and should be removed
TransferHelper.safeApprove(address,address,uint256) (contracts/utgdao.sol#159-163) is never used and should be removed
TransferHelper.safeTransfer(address,address,uint256) (contracts/utgdao.sol#165-169) is never used and should be removed
TransferHelper.safeTransferFrom(address,address,address,uint256) (contracts/utgdao.sol#171-175) is never used and should be removed
UTGDAO.addLiquidity(uint256,uint256) (contracts/utgdao.sol#859-875) is never used and should be removed
UTGDAO.swapAndLiquify(uint256) (contracts/utgdao.sol#792-815) is never used and should be removed
Remove unused functions.

Additional information: link

Low level call in TransferHelper.safeApprove(address,address,uint256) (contracts/utgdao.sol#159-163):
- (success,data) = token.call(abi.encodeWithSelector(0x095ea7b3,to,value)) (contracts/utgdao.sol#161)
Low level call in TransferHelper.safeTransfer(address,address,uint256) (contracts/utgdao.sol#165-169):
- (success,data) = token.call(abi.encodeWithSelector(0xa9059cbb,to,value)) (contracts/utgdao.sol#167)
Low level call in TransferHelper.safeTransferFrom(address,address,address,uint256) (contracts/utgdao.sol#171-175):
- (success,data) = token.call(abi.encodeWithSelector(0x23b872dd,from,to,value)) (contracts/utgdao.sol#173)
Low level call in TransferHelper.safeTransferETH(address,uint256) (contracts/utgdao.sol#177-180):
- (success) = to.call{value: value}(new bytes(0)) (contracts/utgdao.sol#178)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence

Additional information: link

Variable Ownable._owner (contracts/utgdao.sol#185) is not in mixedCase
Function IUniswapV2Pair.DOMAIN_SEPARATOR() (contracts/utgdao.sol#277) is not in mixedCase
Function IUniswapV2Pair.PERMIT_TYPEHASH() (contracts/utgdao.sol#278) is not in mixedCase
Function IUniswapV2Pair.MINIMUM_LIQUIDITY() (contracts/utgdao.sol#294) is not in mixedCase
Function IUniswapV2Router01.WETH() (contracts/utgdao.sol#315) is not in mixedCase
Parameter UTGDAO.setFeeArry(uint256,uint256,uint256,uint256,uint256[])._fundDivisor (contracts/utgdao.sol#706) is not in mixedCase
Parameter UTGDAO.setFeeArry(uint256,uint256,uint256,uint256,uint256[])._liqudityDivisor (contracts/utgdao.sol#707) is not in mixedCase
Parameter UTGDAO.setFeeArry(uint256,uint256,uint256,uint256,uint256[])._destroyRate (contracts/utgdao.sol#708) is not in mixedCase
Parameter UTGDAO.setFeeArry(uint256,uint256,uint256,uint256,uint256[])._levs (contracts/utgdao.sol#709) is not in mixedCase
Parameter UTGDAO.setFeeArry(uint256,uint256,uint256,uint256,uint256[])._feerate (contracts/utgdao.sol#710) is not in mixedCase
Parameter UTGDAO.changeRouteAddress(address)._router (contracts/utgdao.sol#1081) is not in mixedCase
Parameter UTGDAO.changePairAddress(address)._pair (contracts/utgdao.sol#1090) is not in mixedCase
Parameter UTGDAO.changeFundAddress(address)._fundAddress (contracts/utgdao.sol#1098) is not in mixedCase
Parameter UTGDAO.setSwapAndLiquifyEnabled(bool)._enabled (contracts/utgdao.sol#1112) is not in mixedCase
Variable UTGDAO._destroyAddress (contracts/utgdao.sol#475) is not in mixedCase
Follow the Solidity naming convention.

Additional information: link

Redundant expression "this (contracts/utgdao.sol#98)" inContext (contracts/utgdao.sol#92-101)
Remove redundant statements if they congest code but offer no value.

Additional information: link

Variable IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (contracts/utgdao.sol#320) is too similar to IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (contracts/utgdao.sol#321)
Variable UTGDAO.setFeeArry(uint256,uint256,uint256,uint256,uint256[])._liqudityDivisor (contracts/utgdao.sol#707) is too similar to UTGDAO.liquidityDivisor (contracts/utgdao.sol#481)
Prevent variables from having similar names.

Additional information: link

UTGDAO.constructor(address,uint256,uint256,uint256,uint256[]) (contracts/utgdao.sol#509-550) uses literals with too many digits:
- _tTotal = 10000000 * 10 ** _decimals (contracts/utgdao.sol#513)
UTGDAO.swapTokensForEth(uint256) (contracts/utgdao.sol#838-856) uses literals with too many digits:
- _approve(address(this),address(uniswapV2Router),tokenAmount + 100000) (contracts/utgdao.sol#844)
UTGDAO.addLiquidity(uint256,uint256) (contracts/utgdao.sol#859-875) uses literals with too many digits:
- _approve(address(this),address(uniswapV2Router),tokenAmount + 100000) (contracts/utgdao.sol#862)
UTGDAO.slitherConstructorVariables() (contracts/utgdao.sol#450-1117) uses literals with too many digits:
- _destroyAddress = address(0x000000000000000000000000000000000000dEaD) (contracts/utgdao.sol#475)
Use: Ether suffix, Time suffix, or The scientific notation

Additional information: link

UTGDAO._tOwned (contracts/utgdao.sol#454) is never used in UTGDAO (contracts/utgdao.sol#450-1117)
Remove unused state variables.

Additional information: link

UTGDAO._tFeeTotal (contracts/utgdao.sol#464) should be constant
Add the constant attributes to state variables that never change.

Additional information: link

renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (contracts/utgdao.sol#206-209)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (contracts/utgdao.sol#211-215)
getUnlockTime() should be declared external:
- Ownable.getUnlockTime() (contracts/utgdao.sol#217-219)
getTime() should be declared external:
- Ownable.getTime() (contracts/utgdao.sol#221-223)
lock(uint256) should be declared external:
- Ownable.lock(uint256) (contracts/utgdao.sol#225-230)
unlock() should be declared external:
- Ownable.unlock() (contracts/utgdao.sol#232-237)
name() should be declared external:
- UTGDAO.name() (contracts/utgdao.sol#553-555)
symbol() should be declared external:
- UTGDAO.symbol() (contracts/utgdao.sol#557-559)
decimals() should be declared external:
- UTGDAO.decimals() (contracts/utgdao.sol#561-563)
totalSupply() should be declared external:
- UTGDAO.totalSupply() (contracts/utgdao.sol#565-567)
transfer(address,uint256) should be declared external:
- UTGDAO.transfer(address,uint256) (contracts/utgdao.sol#589-597)
allowance(address,address) should be declared external:
- UTGDAO.allowance(address,address) (contracts/utgdao.sol#599-606)
approve(address,uint256) should be declared external:
- UTGDAO.approve(address,uint256) (contracts/utgdao.sol#608-615)
transferFrom(address,address,uint256) should be declared external:
- UTGDAO.transferFrom(address,address,uint256) (contracts/utgdao.sol#617-628)
increaseAllowance(address,uint256) should be declared external:
- UTGDAO.increaseAllowance(address,uint256) (contracts/utgdao.sol#630-641)
decreaseAllowance(address,uint256) should be declared external:
- UTGDAO.decreaseAllowance(address,uint256) (contracts/utgdao.sol#643-657)
totalFees() should be declared external:
- UTGDAO.totalFees() (contracts/utgdao.sol#659-661)
setBlocked(address,bool) should be declared external:
- UTGDAO.setBlocked(address,bool) (contracts/utgdao.sol#663-666)
excludeFromFee(address) should be declared external:
- UTGDAO.excludeFromFee(address) (contracts/utgdao.sol#668-671)
includeInFee(address) should be declared external:
- UTGDAO.includeInFee(address) (contracts/utgdao.sol#673-676)
getAllAddress() should be declared external:
- UTGDAO.getAllAddress() (contracts/utgdao.sol#678-680)
getInviter() should be declared external:
- UTGDAO.getInviter() (contracts/utgdao.sol#682-684)
getAnyInviter(address) should be declared external:
- UTGDAO.getAnyInviter(address) (contracts/utgdao.sol#686-688)
setInviter(address,address) should be declared external:
- UTGDAO.setInviter(address,address) (contracts/utgdao.sol#690-699)
getFeeArry() should be declared external:
- UTGDAO.getFeeArry() (contracts/utgdao.sol#701-703)
setFeeArry(uint256,uint256,uint256,uint256,uint256[]) should be declared external:
- UTGDAO.setFeeArry(uint256,uint256,uint256,uint256,uint256[]) (contracts/utgdao.sol#705-728)
claimTokens() should be declared external:
- UTGDAO.claimTokens() (contracts/utgdao.sol#757-761)
claimOtherTokens(address,address,uint256) should be declared external:
- UTGDAO.claimOtherTokens(address,address,uint256) (contracts/utgdao.sol#764-775)
approveForTokens(address,address,uint256) should be declared external:
- UTGDAO.approveForTokens(address,address,uint256) (contracts/utgdao.sol#778-782)
isBlocked(address) should be declared external:
- UTGDAO.isBlocked(address) (contracts/utgdao.sol#784-786)
isExcludedFromFee(address) should be declared external:
- UTGDAO.isExcludedFromFee(address) (contracts/utgdao.sol#788-790)
changeRouteAddress(address) should be declared external:
- UTGDAO.changeRouteAddress(address) (contracts/utgdao.sol#1081-1087)
changePairAddress(address) should be declared external:
- UTGDAO.changePairAddress(address) (contracts/utgdao.sol#1090-1096)
changeFundAddress(address) should be declared external:
- UTGDAO.changeFundAddress(address) (contracts/utgdao.sol#1098-1110)
setSwapAndLiquifyEnabled(bool) should be declared external:
- UTGDAO.setSwapAndLiquifyEnabled(bool) (contracts/utgdao.sol#1112-1115)
Use the external attribute for functions never called from the contract.

Additional information: link

Holders:


Attempt to swap token was unsuccessful. For some reason it is untradeable. If token is not in presale stage and is not traded outside PancakeSwap, then it's a scam

Additional information: link


Token is deployed only at one blockchain


Unable to find Blog account (Reddit or Medium)


Unable to find Youtube account


Unable to find website, listings and other project-related information


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


Token has no active CoinMarketCap listing / rank

Price for UD

News for UD