An ECOSYSTEM in the METAVERSE - First Crypto Music Label - GREED MUSIC - Grammy Award Winning Producers COOL & DRE.
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
GreedToken.addLiquidity(uint256,uint256) (#1699-1711) sends eth to arbitrary user
Dangerous calls:
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1702-1709)
Ensure that an arbitrary user cannot withdraw unauthorized funds.
Additional information: link
Reentrancy in DividendPayingToken._withdrawDividendOfUser(address) (#719-735):
External calls:
- (success) = user.call{gas: 3000,value: _withdrawableDividend}() (#724)
State variables written after the call(s):
- withdrawnDividends[user] = withdrawnDividends[user].sub(_withdrawableDividend) (#727)
Apply the check-effects-interactions pattern.
Additional information: link
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.
Contract ticker ($GREED) 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.
GreedToken._transfer(address,address,uint256).lastProcessedIndex (#1642) 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
GreedToken.addLiquidity(uint256,uint256) (#1699-1711) ignores return value by uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1702-1709)
Ensure that all the return values of the function calls are used.
Additional information: link
DividendPayingToken.constructor(string,string)._symbol (#676) shadows:
- ERC20._symbol (#328) (state variable)
Rename the local variables that shadow another component.
Additional information: link
GreedToken.changeWalletLimit(uint256) (#1560-1562) should emit an event for:
- walletMax = newLimit (#1561)
Emit an event for critical parameter changes.
Additional information: link
GreedToken.setBdiBuyBackWallet(address).wallet (#1489) lacks a zero-check on :
- _bdiBuyBackWallet = address(wallet) (#1490)
Check that the address is not zero.
Additional information: link
Variable 'GreedToken._transfer(address,address,uint256).lastProcessedIndex (#1642)' in GreedToken._transfer(address,address,uint256) (#1583-1647) potentially used before declaration: ProcessedDividendTracker(iterations,claims,lastProcessedIndex,true,gas,tx.origin) (#1643)
Move all variable declarations prior to any usage of the variable, and ensure that reaching a variable declaration does not depend on some conditional if it is used unconditionally.
Additional information: link
Reentrancy in GreedDividendTracker.processAccount(address,bool) (#1140-1150):
External calls:
- amount = _withdrawDividendOfUser(account) (#1141)
- (success) = user.call{gas: 3000,value: _withdrawableDividend}() (#724)
State variables written after the call(s):
- lastClaimTimes[account] = block.timestamp (#1144)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in GreedToken.swapBack(uint256) (#1649-1697):
External calls:
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(amountToSwap,0,path,address(this),block.timestamp) (#1660-1666)
- addLiquidity(tokensToLP,bnbForLiquidity) (#1678)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1702-1709)
- (success) = address(dividendTracker).call{value: bnbForReflection}() (#1691)
External calls sending eth:
- addLiquidity(tokensToLP,bnbForLiquidity) (#1678)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1702-1709)
- address(_marketingWallet).transfer(bnbForMarketing) (#1681)
- address(_greedBuyBackWallet).transfer(bnbForGreedBuyBack) (#1684)
- address(_bdiBuyBackWallet).transfer(bnbForBdiBuyBack) (#1687)
- (success) = address(dividendTracker).call{value: bnbForReflection}() (#1691)
Event emitted after the call(s):
- SendDividends(tDividends,bnbForReflection) (#1694)
Apply the check-effects-interactions pattern.
Additional information: link
GreedDividendTracker.canAutoClaim(uint256) (#1068-1074) uses timestamp for comparisons
Dangerous comparisons:
- lastClaimTime > block.timestamp (#1069)
- block.timestamp.sub(lastClaimTime) >= claimWait (#1073)
Avoid relying on block.timestamp.
Additional information: link
SafeMathInt.mul(int256,int256) (#154-161) is never used and should be removed
Remove unused functions.
Additional information: link
solc-0.8.4 is not recommended for deployment
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
Low level call in GreedToken.swapBack(uint256) (#1649-1697):
- (success) = address(dividendTracker).call{value: bnbForReflection}() (#1691)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Variable GreedToken._isAddressLocked (#1388) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#221)" inContext (#215-224)
Remove redundant statements if they congest code but offer no value.
Additional information: link
Reentrancy in GreedToken.swapBack(uint256) (#1649-1697):
External calls:
- address(_marketingWallet).transfer(bnbForMarketing) (#1681)
- address(_greedBuyBackWallet).transfer(bnbForGreedBuyBack) (#1684)
- address(_bdiBuyBackWallet).transfer(bnbForBdiBuyBack) (#1687)
External calls sending eth:
- addLiquidity(tokensToLP,bnbForLiquidity) (#1678)
- uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1702-1709)
- address(_marketingWallet).transfer(bnbForMarketing) (#1681)
- address(_greedBuyBackWallet).transfer(bnbForGreedBuyBack) (#1684)
- address(_bdiBuyBackWallet).transfer(bnbForBdiBuyBack) (#1687)
- (success) = address(dividendTracker).call{value: bnbForReflection}() (#1691)
Event emitted after the call(s):
- SendDividends(tDividends,bnbForReflection) (#1694)
Apply the check-effects-interactions pattern.
Additional information: link
Variable IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (#1227) is too similar to IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#1228)
Prevent variables from having similar names.
Additional information: link
GreedToken.slitherConstructorVariables() (#1355-1714) uses literals with too many digits:
- gasForProcessing = 300000 (#1382)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
SafeMathInt.MAX_INT256 (#149) is never used in SafeMathInt (#147-205)
Remove unused state variables.
Additional information: link
dividendTokenBalanceOf(address) should be declared external:
- GreedToken.dividendTokenBalanceOf(address) (#1543-1545)
Use the external attribute for functions never called from the contract.
Additional information: link
BscScan page for the token does not contain additional info: website, socials, description, etc.
Additional information: link
Unable to find token contract audit
Unable to find audit link on the website
Unable to find token on CoinHunt
Additional information: link
Unable to find code repository for the project
Young tokens have high risks of price dump / death
Young tokens have high risks of scam / price dump / death
Young tokens have high risks of scam / price dump / death
Young tokens have high risks of price dump / death
Token has relatively low CoinGecko rank
Token has relatively low CoinMarketCap rank
Twitter account link seems to be invalid
Unable to find Youtube account
Unable to find Discord account