GOMA is a Multi-chain DeFi & NFT Protocol focused on yield optimization of DeFi, NFTfi and GAMEFi assets.
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Reentrancy in Goma._transfer(address,address,uint256) (#1327-1396):
External calls:
- swapAndLiquify(contractTokenBalance) (#1368)
- pancakeswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1317-1324)
- pancakeswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1303-1309)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1368)
- pancakeswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1317-1324)
State variables written after the call(s):
- _tokenTransfer(from,to,amount) (#1395)
- _rOwned[charityAddress] = _rOwned[charityAddress].add(rCharity) (#1166)
- _rOwned[marketingAddress] = _rOwned[marketingAddress].add(rMarketing) (#1176)
- _rOwned[address(this)] = _rOwned[address(this)].add(rLiquidity) (#1156)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1437)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1457)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1418)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1458)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1477)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1419)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1439)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1479)
- _tokenTransfer(from,to,amount) (#1395)
- _rTotal = _rTotal.sub(rFee) (#1116)
- _rTotal = _rTotal.sub(rBurn) (#1188)
- _tokenTransfer(from,to,amount) (#1395)
- _tOwned[marketingAddress] = _tOwned[marketingAddress].add(tMarketing) (#1178)
- _tOwned[address(this)] = _tOwned[address(this)].add(tLiquidity) (#1158)
- _tOwned[charityAddress] = _tOwned[charityAddress].add(tCharity) (#1168)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#1417)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#1476)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#1438)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#1478)
- _tokenTransfer(from,to,amount) (#1395)
- _tTotal = _tTotal.sub(tBurn) (#1187)
Apply the check-effects-interactions pattern.
Additional information: link
Contract ownership is not renounced (belongs to a wallet)
Variable IPancakeswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (#694) is too similar to IPancakeswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#695)
Variable Goma.reflectionFromToken(uint256,bool).rTransferAmount (#997) is too similar to Goma._transferToExcluded(address,address,uint256).tTransferAmount (#1434)
Variable Goma._transferStandard(address,address,uint256).rTransferAmount (#1455) is too similar to Goma._getTValues(uint256).tTransferAmount (#1123)
Variable Goma.reflectionFromToken(uint256,bool).rTransferAmount (#997) is too similar to Goma._getTValues(uint256).tTransferAmount (#1123)
Variable Goma._transferBothExcluded(address,address,uint256).rTransferAmount (#1474) is too similar to Goma._transferFromExcluded(address,address,uint256).tTransferAmount (#1414)
Variable Goma._transferToExcluded(address,address,uint256).rTransferAmount (#1435) is too similar to Goma._transferBothExcluded(address,address,uint256).tTransferAmount (#1473)
Variable Goma._transferToExcluded(address,address,uint256).rTransferAmount (#1435) is too similar to Goma._transferFromExcluded(address,address,uint256).tTransferAmount (#1414)
Variable Goma._transferStandard(address,address,uint256).rTransferAmount (#1455) is too similar to Goma._transferBothExcluded(address,address,uint256).tTransferAmount (#1473)
Variable Goma.reflectionFromToken(uint256,bool).rTransferAmount (#997) is too similar to Goma._transferStandard(address,address,uint256).tTransferAmount (#1454)
Variable Goma._transferStandard(address,address,uint256).rTransferAmount (#1455) is too similar to Goma._transferFromExcluded(address,address,uint256).tTransferAmount (#1414)
Variable Goma.reflectionFromToken(uint256,bool).rTransferAmount (#997) is too similar to Goma._transferBothExcluded(address,address,uint256).tTransferAmount (#1473)
Variable Goma._transferToExcluded(address,address,uint256).rTransferAmount (#1435) is too similar to Goma._getTValues(uint256).tTransferAmount (#1123)
Variable Goma.reflectionFromToken(uint256,bool).rTransferAmount (#997) is too similar to Goma._transferFromExcluded(address,address,uint256).tTransferAmount (#1414)
Variable Goma._transferStandard(address,address,uint256).rTransferAmount (#1455) is too similar to Goma._transferToExcluded(address,address,uint256).tTransferAmount (#1434)
Variable Goma._transferBothExcluded(address,address,uint256).rTransferAmount (#1474) is too similar to Goma._transferToExcluded(address,address,uint256).tTransferAmount (#1434)
Variable Goma._transferFromExcluded(address,address,uint256).rTransferAmount (#1415) is too similar to Goma._getTValues(uint256).tTransferAmount (#1123)
Variable Goma._transferBothExcluded(address,address,uint256).rTransferAmount (#1474) is too similar to Goma._transferBothExcluded(address,address,uint256).tTransferAmount (#1473)
Variable Goma._transferFromExcluded(address,address,uint256).rTransferAmount (#1415) is too similar to Goma._transferToExcluded(address,address,uint256).tTransferAmount (#1434)
Variable Goma._transferFromExcluded(address,address,uint256).rTransferAmount (#1415) is too similar to Goma._transferFromExcluded(address,address,uint256).tTransferAmount (#1414)
Variable Goma._transferStandard(address,address,uint256).rTransferAmount (#1455) is too similar to Goma._transferStandard(address,address,uint256).tTransferAmount (#1454)
Variable Goma._transferFromExcluded(address,address,uint256).rTransferAmount (#1415) is too similar to Goma._transferBothExcluded(address,address,uint256).tTransferAmount (#1473)
Variable Goma._transferBothExcluded(address,address,uint256).rTransferAmount (#1474) is too similar to Goma._transferStandard(address,address,uint256).tTransferAmount (#1454)
Variable Goma._transferToExcluded(address,address,uint256).rTransferAmount (#1435) is too similar to Goma._transferToExcluded(address,address,uint256).tTransferAmount (#1434)
Variable Goma._transferFromExcluded(address,address,uint256).rTransferAmount (#1415) is too similar to Goma._transferStandard(address,address,uint256).tTransferAmount (#1454)
Variable Goma._getRValues(uint256,uint256,uint256).rTransferAmount (#1132) is too similar to Goma._getTValues(uint256).tTransferAmount (#1123)
Variable Goma._transferToExcluded(address,address,uint256).rTransferAmount (#1435) is too similar to Goma._transferStandard(address,address,uint256).tTransferAmount (#1454)
Variable Goma._getRValues(uint256,uint256,uint256).rTransferAmount (#1132) is too similar to Goma._transferToExcluded(address,address,uint256).tTransferAmount (#1434)
Variable Goma._getRValues(uint256,uint256,uint256).rTransferAmount (#1132) is too similar to Goma._transferFromExcluded(address,address,uint256).tTransferAmount (#1414)
Variable Goma._getRValues(uint256,uint256,uint256).rTransferAmount (#1132) is too similar to Goma._transferBothExcluded(address,address,uint256).tTransferAmount (#1473)
Variable Goma._transferBothExcluded(address,address,uint256).rTransferAmount (#1474) is too similar to Goma._getTValues(uint256).tTransferAmount (#1123)
Variable Goma._getRValues(uint256,uint256,uint256).rTransferAmount (#1132) is too similar to Goma._transferStandard(address,address,uint256).tTransferAmount (#1454)
Prevent variables from having similar names.
Additional information: link
Goma.slitherConstructorVariables() (#822-1514) uses literals with too many digits:
- numTokensSellToAddToLiquidity = 10000000 * 10 ** 9 (#885)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
Goma._decimals (#844) should be constant
Goma._name (#842) should be constant
Goma._symbol (#843) should be constant
Goma.numTokensSellToAddToLiquidity (#885) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
Goma.addLiquidity(uint256,uint256) (#1312-1325) ignores return value by pancakeswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1317-1324)
Ensure that all the return values of the function calls are used.
Additional information: link
Goma.allowance(address,address).owner (#946) shadows:
- Ownable.owner() (#577-579) (function)
Goma._approve(address,address,uint256).owner (#1263) shadows:
- Ownable.owner() (#577-579) (function)
Rename the local variables that shadow another component.
Additional information: link
Goma.setCharityAddress(address)._address (#1038) lacks a zero-check on :
- charityAddress = _address (#1039)
Goma.setMarketingAddress(address)._address (#1042) lacks a zero-check on :
- marketingAddress = _address (#1043)
Check that the address is not zero.
Additional information: link
Goma.includeInReward(address) (#1017-1028) has costly operations inside a loop:
- _excluded.pop() (#1024)
Use a local variable to hold the loop computation result.
Additional information: link
Address.isContract(address) (#358-368) uses assembly
- INLINE ASM (#364-366)
Address.verifyCallResult(bool,bytes,string) (#527-547) uses assembly
- INLINE ASM (#539-542)
Do not use evm assembly.
Additional information: link
Address.functionCall(address,bytes) (#411-413) is never used and should be removed
Address.functionCall(address,bytes,string) (#421-427) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#440-446) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#454-465) is never used and should be removed
Address.functionDelegateCall(address,bytes) (#500-502) is never used and should be removed
Address.functionDelegateCall(address,bytes,string) (#510-519) is never used and should be removed
Address.functionStaticCall(address,bytes) (#473-475) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (#483-492) is never used and should be removed
Address.isContract(address) (#358-368) is never used and should be removed
Address.sendValue(address,uint256) (#386-391) is never used and should be removed
Address.verifyCallResult(bool,bytes,string) (#527-547) is never used and should be removed
Context._msgData() (#332-334) is never used and should be removed
SafeMath.div(uint256,uint256,string) (#279-288) is never used and should be removed
SafeMath.mod(uint256,uint256) (#239-241) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#305-314) is never used and should be removed
SafeMath.tryAdd(uint256,uint256) (#110-116) is never used and should be removed
SafeMath.tryDiv(uint256,uint256) (#152-157) is never used and should be removed
SafeMath.tryMod(uint256,uint256) (#164-169) is never used and should be removed
SafeMath.tryMul(uint256,uint256) (#135-145) is never used and should be removed
SafeMath.trySub(uint256,uint256) (#123-128) is never used and should be removed
Remove unused functions.
Additional information: link
Goma._rTotal (#839) is set pre-construction with a non-constant function or state variable:
- (MAX - (MAX % _tTotal))
Remove any initialization of state variables via non-constant state variables or function calls. If variables must be set upon contract deployment, locate initialization in the constructor instead.
Additional information: link
Goma.setRewardSellFeePercent(uint256) (#1046-1048) should emit an event for:
- _rewardSellFee = rewardSellFee (#1047)
Goma.setRewardBuyFeePercent(uint256) (#1050-1052) should emit an event for:
- _rewardBuyFee = rewardBuyFee (#1051)
Goma.setLiquiditySellFeePercent(uint256) (#1054-1056) should emit an event for:
- _liquiditySellFee = liquiditySellFee (#1055)
Goma.setLiquidityBuyFeePercent(uint256) (#1058-1060) should emit an event for:
- _liquidityBuyFee = liquidityBuyFee (#1059)
Goma.setMarketingSellFeePercent(uint256) (#1062-1064) should emit an event for:
- _marketingSellFee = marketingSellFee (#1063)
Goma.setMarketingBuyFeePercent(uint256) (#1066-1068) should emit an event for:
- _marketingBuyFee = marketingBuyFee (#1067)
Goma.setCharitySellFeePercent(uint256) (#1070-1072) should emit an event for:
- _charitySellFee = charitySellFee (#1071)
Goma.setCharityBuyFeePercent(uint256) (#1074-1076) should emit an event for:
- _charityBuyFee = charityBuyFee (#1075)
Goma.setBurnSellFeePercent(uint256) (#1078-1080) should emit an event for:
- _burnSellFee = burnSellFee (#1079)
Goma.setBurnBuyFeePercent(uint256) (#1082-1084) should emit an event for:
- _burnBuyFee = burnBuyFee (#1083)
Goma.setMaxTxPercent(uint256) (#1086-1090) should emit an event for:
- _maxTxAmount = _tTotal.mul(maxTxPercent).div(10 ** 4) (#1087-1089)
Emit an event for critical parameter changes.
Additional information: link
Reentrancy in Goma._transfer(address,address,uint256) (#1327-1396):
External calls:
- swapAndLiquify(contractTokenBalance) (#1368)
- pancakeswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1317-1324)
- pancakeswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1303-1309)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1368)
- pancakeswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1317-1324)
State variables written after the call(s):
- setBuyFees() (#1376)
- _burnFee = _burnBuyFee (#1244)
- setSellFees() (#1379)
- _burnFee = _burnSellFee (#1234)
- removeAllFee() (#1391)
- _burnFee = 0 (#1254)
- setBuyFees() (#1376)
- _charityFee = _charityBuyFee (#1242)
- setSellFees() (#1379)
- _charityFee = _charitySellFee (#1232)
- removeAllFee() (#1391)
- _charityFee = 0 (#1252)
- setBuyFees() (#1376)
- _liquidityFee = _liquidityBuyFee (#1241)
- setSellFees() (#1379)
- _liquidityFee = _liquiditySellFee (#1231)
- removeAllFee() (#1391)
- _liquidityFee = 0 (#1251)
- setBuyFees() (#1376)
- _marketingFee = _marketingBuyFee (#1243)
- setSellFees() (#1379)
- _marketingFee = _marketingSellFee (#1233)
- removeAllFee() (#1391)
- _marketingFee = 0 (#1253)
- setBuyFees() (#1376)
- _rewardFee = _rewardBuyFee (#1240)
- setSellFees() (#1379)
- _rewardFee = _rewardSellFee (#1230)
- removeAllFee() (#1391)
- _rewardFee = 0 (#1250)
- _tokenTransfer(from,to,amount) (#1395)
- _tFeeTotal = _tFeeTotal.add(tFee) (#1117)
- setBuyFees() (#1376)
- _totalFee = _rewardFee.add(_liquidityFee).add(_charityFee).add(_marketingFee).add(_burnFee) (#1246)
- setSellFees() (#1379)
- _totalFee = _rewardFee.add(_liquidityFee).add(_charityFee).add(_marketingFee).add(_burnFee) (#1236)
- removeAllFee() (#1391)
- _totalFee = 0 (#1256)
Reentrancy in Goma.constructor() (#901-918):
External calls:
- pancakeswapV2Pair = IPancakeswapV2Factory(_pancakeswapV2Router.factory()).createPair(address(this),_pancakeswapV2Router.WETH()) (#906)
State variables written after the call(s):
- _isExcludedFromFee[0xCda1e27a63E6c570a79CBe7f24BDFa99FFF2ECa0] = true (#914)
- _isExcludedFromFee[address(this)] = true (#915)
- _setAutomatedMarketMakerPair(pancakeswapV2Pair,true) (#911)
- automatedMarketMakerPairs[pair] = value (#1109)
- pancakeswapV2Router = _pancakeswapV2Router (#909)
Reentrancy in Goma.swapAndLiquify(uint256) (#1271-1292):
External calls:
- swapTokensForEth(half) (#1283)
- pancakeswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1303-1309)
- addLiquidity(otherHalf,newBalance) (#1289)
- pancakeswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1317-1324)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (#1289)
- pancakeswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1317-1324)
State variables written after the call(s):
- addLiquidity(otherHalf,newBalance) (#1289)
- _allowances[owner][spender] = amount (#1267)
Reentrancy in Goma.transferFrom(address,address,uint256) (#955-959):
External calls:
- _transfer(sender,recipient,amount) (#956)
- pancakeswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1317-1324)
- pancakeswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1303-1309)
External calls sending eth:
- _transfer(sender,recipient,amount) (#956)
- pancakeswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1317-1324)
State variables written after the call(s):
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#957)
- _allowances[owner][spender] = amount (#1267)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in Goma._transfer(address,address,uint256) (#1327-1396):
External calls:
- swapAndLiquify(contractTokenBalance) (#1368)
- pancakeswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1317-1324)
- pancakeswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1303-1309)
External calls sending eth:
- swapAndLiquify(contractTokenBalance) (#1368)
- pancakeswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1317-1324)
Event emitted after the call(s):
- Transfer(sender,address(0),tBurn) (#1190)
- _tokenTransfer(from,to,amount) (#1395)
- Transfer(sender,charityAddress,tCharity) (#1170)
- _tokenTransfer(from,to,amount) (#1395)
- Transfer(sender,marketingAddress,tMarketing) (#1180)
- _tokenTransfer(from,to,amount) (#1395)
- Transfer(sender,address(this),tLiquidity) (#1160)
- _tokenTransfer(from,to,amount) (#1395)
- Transfer(sender,recipient,tTransferAmount) (#1469)
- _tokenTransfer(from,to,amount) (#1395)
- Transfer(sender,recipient,tTransferAmount) (#1450)
- _tokenTransfer(from,to,amount) (#1395)
- Transfer(sender,recipient,tTransferAmount) (#1430)
- _tokenTransfer(from,to,amount) (#1395)
- Transfer(sender,recipient,tTransferAmount) (#1490)
- _tokenTransfer(from,to,amount) (#1395)
Reentrancy in Goma.constructor() (#901-918):
External calls:
- pancakeswapV2Pair = IPancakeswapV2Factory(_pancakeswapV2Router.factory()).createPair(address(this),_pancakeswapV2Router.WETH()) (#906)
Event emitted after the call(s):
- Transfer(address(0),0xCda1e27a63E6c570a79CBe7f24BDFa99FFF2ECa0,_tTotal) (#917)
Reentrancy in Goma.swapAndLiquify(uint256) (#1271-1292):
External calls:
- swapTokensForEth(half) (#1283)
- pancakeswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1303-1309)
- addLiquidity(otherHalf,newBalance) (#1289)
- pancakeswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1317-1324)
External calls sending eth:
- addLiquidity(otherHalf,newBalance) (#1289)
- pancakeswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1317-1324)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#1268)
- addLiquidity(otherHalf,newBalance) (#1289)
- SwapAndLiquify(half,newBalance,otherHalf) (#1291)
Reentrancy in Goma.transferFrom(address,address,uint256) (#955-959):
External calls:
- _transfer(sender,recipient,amount) (#956)
- pancakeswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1317-1324)
- pancakeswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1303-1309)
External calls sending eth:
- _transfer(sender,recipient,amount) (#956)
- pancakeswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp) (#1317-1324)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#1268)
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#957)
Apply the check-effects-interactions pattern.
Additional information: link
Low level call in Address.sendValue(address,uint256) (#386-391):
- (success) = recipient.call{value: amount}() (#389)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (#454-465):
- (success,returndata) = target.call{value: value}(data) (#463)
Low level call in Address.functionStaticCall(address,bytes,string) (#483-492):
- (success,returndata) = target.staticcall(data) (#490)
Low level call in Address.functionDelegateCall(address,bytes,string) (#510-519):
- (success,returndata) = target.delegatecall(data) (#517)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Function IPancakeswapV2Pair.DOMAIN_SEPARATOR() (#651) is not in mixedCase
Function IPancakeswapV2Pair.PERMIT_TYPEHASH() (#652) is not in mixedCase
Function IPancakeswapV2Pair.MINIMUM_LIQUIDITY() (#669) is not in mixedCase
Function IPancakeswapV2Router01.WETH() (#689) is not in mixedCase
Parameter Goma.setCharityAddress(address)._address (#1038) is not in mixedCase
Parameter Goma.setMarketingAddress(address)._address (#1042) is not in mixedCase
Parameter Goma.setSwapAndLiquifyEnabled(bool)._enabled (#1092) is not in mixedCase
Parameter Goma.setTradingEnabled(bool)._enabled (#1097) is not in mixedCase
Parameter Goma.calculateTaxFee(uint256)._amount (#1193) is not in mixedCase
Parameter Goma.calculateRewardFee(uint256)._amount (#1199) is not in mixedCase
Parameter Goma.calculateLiquidityFee(uint256)._amount (#1205) is not in mixedCase
Parameter Goma.calculateCharityFee(uint256)._amount (#1211) is not in mixedCase
Parameter Goma.calculateMarketingFee(uint256)._amount (#1217) is not in mixedCase
Parameter Goma.calculateBurnFee(uint256)._amount (#1223) is not in mixedCase
Variable Goma._liquiditySellFee (#846) is not in mixedCase
Variable Goma._liquidityBuyFee (#847) is not in mixedCase
Variable Goma._rewardSellFee (#849) is not in mixedCase
Variable Goma._rewardBuyFee (#850) is not in mixedCase
Variable Goma._marketingSellFee (#852) is not in mixedCase
Variable Goma._marketingBuyFee (#853) is not in mixedCase
Variable Goma._charitySellFee (#855) is not in mixedCase
Variable Goma._charityBuyFee (#856) is not in mixedCase
Variable Goma._burnSellFee (#858) is not in mixedCase
Variable Goma._burnBuyFee (#859) is not in mixedCase
Variable Goma._maxTxAmount (#884) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#596-598)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#604-607)
name() should be declared external:
- Goma.name() (#920-922)
symbol() should be declared external:
- Goma.symbol() (#924-926)
decimals() should be declared external:
- Goma.decimals() (#928-930)
totalSupply() should be declared external:
- Goma.totalSupply() (#932-934)
transfer(address,uint256) should be declared external:
- Goma.transfer(address,uint256) (#941-944)
allowance(address,address) should be declared external:
- Goma.allowance(address,address) (#946-948)
approve(address,uint256) should be declared external:
- Goma.approve(address,uint256) (#950-953)
transferFrom(address,address,uint256) should be declared external:
- Goma.transferFrom(address,address,uint256) (#955-959)
increaseAllowance(address,uint256) should be declared external:
- Goma.increaseAllowance(address,uint256) (#961-964)
decreaseAllowance(address,uint256) should be declared external:
- Goma.decreaseAllowance(address,uint256) (#966-969)
isExcludedFromReward(address) should be declared external:
- Goma.isExcludedFromReward(address) (#971-973)
totalFees() should be declared external:
- Goma.totalFees() (#975-977)
deliver(uint256) should be declared external:
- Goma.deliver(uint256) (#979-987)
reflectionFromToken(uint256,bool) should be declared external:
- Goma.reflectionFromToken(uint256,bool) (#989-1000)
excludeFromReward(address) should be declared external:
- Goma.excludeFromReward(address) (#1008-1015)
excludeFromFee(address) should be declared external:
- Goma.excludeFromFee(address) (#1030-1032)
includeInFee(address) should be declared external:
- Goma.includeInFee(address) (#1034-1036)
setSwapAndLiquifyEnabled(bool) should be declared external:
- Goma.setSwapAndLiquifyEnabled(bool) (#1092-1095)
isExcludedFromFee(address) should be declared external:
- Goma.isExcludedFromFee(address) (#1259-1261)
burn(uint256) should be declared external:
- Goma.burn(uint256) (#1493-1512)
Use the external attribute for functions never called from the contract.
Additional information: link
Unable to find token contract audit
Unable to find KYC or doxxing proof
Unable to find audit link on the website
Token is not listed at Mobula.Finance
Additional information: link
Young tokens have high risks of scam / price dump / death
Token has relatively low CoinGecko rank
Young tokens have high risks of price dump / death
Young tokens have high risks of price dump / death
Token has relatively low CoinMarketCap rank
Unable to find Discord account
Unable to find Youtube account