MultiChainCapital Token Logo

MCC [MultiChainCapital] Token

About MCC

Listings

Token 2 years
CoinGecko 2 years
CoinMarketCap 2 years
[CoinMarketCap] alert: Multi-Chain Capital has been migrated to a new contract address. The old page can be visited here
[CoinGecko] alert: Old Multi-Chain Capital page at: https://www.coingecko.com/en/coins/multi-chain-capital-old?locale=en
white paper

You buy on Ethereum, we farm on multiple chains and return the profits.

Social

Laser Scorebeta Last Audit: 30 July 2022

report
Token seems to be (relatively) fine. It still become a scam, but probability is moderate.

MultiChainCapital.sendETHToTeam(uint256) (#1195-1198) sends eth to arbitrary user
Dangerous calls:
- _MCCWalletAddress.call{value: amount.div(2)}() (#1196)
- _marketingWalletAddress.call{value: amount.div(2)}() (#1197)
Ensure that an arbitrary user cannot withdraw unauthorized funds.

Additional information: link

Reentrancy in MultiChainCapital._transfer(address,address,uint256) (#1117-1175):
External calls:
- swapTokensForEth(contractTokenBalance) (#1151)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1186-1192)
- sendETHToTeam(address(this).balance) (#1155)
- _MCCWalletAddress.call{value: amount.div(2)}() (#1196)
- _marketingWalletAddress.call{value: amount.div(2)}() (#1197)
External calls sending eth:
- sendETHToTeam(address(this).balance) (#1155)
- _MCCWalletAddress.call{value: amount.div(2)}() (#1196)
- _marketingWalletAddress.call{value: amount.div(2)}() (#1197)
State variables written after the call(s):
- _tokenTransfer(sender,recipient,amount,takeFee) (#1174)
- _rOwned[address(this)] = _rOwned[address(this)].add(rTeam) (#1324)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1270)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1250)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1251)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1313)
- _rOwned[sender] = _rOwned[sender].sub(rAmount) (#1292)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1293)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1272)
- _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount) (#1315)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1174)
- _rTotal = _rTotal.sub(rFee) (#1330)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1174)
- _tOwned[address(this)] = _tOwned[address(this)].add(tTeam) (#1326)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#1312)
- _tOwned[sender] = _tOwned[sender].sub(tAmount) (#1291)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#1271)
- _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount) (#1314)
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.

MultiChainCapital.sendETHToTeam(uint256) (#1195-1198) ignores return value by _MCCWalletAddress.call{value: amount.div(2)}() (#1196)
MultiChainCapital.sendETHToTeam(uint256) (#1195-1198) ignores return value by _marketingWalletAddress.call{value: amount.div(2)}() (#1197)
Ensure that the return value of a low-level call is checked or logged.

Additional information: link

MultiChainCapital.allowance(address,address).owner (#948) shadows:
- Ownable.owner() (#376-378) (function)
MultiChainCapital._approve(address,address,uint256).owner (#1106) shadows:
- Ownable.owner() (#376-378) (function)
Rename the local variables that shadow another component.

Additional information: link

MultiChainCapital._setTaxFee(uint256) (#1443-1446) should emit an event for:
- _taxFee = taxFee (#1445)
MultiChainCapital._setTeamFee(uint256) (#1448-1451) should emit an event for:
- _teamFee = teamFee (#1450)
MultiChainCapital._setSellTaxMultiplier(uint8) (#1453-1456) should emit an event for:
- _sellTaxMultiplier = mult (#1455)
MultiChainCapital._setMaxTxAmount(uint256) (#1469-1475) should emit an event for:
- _maxTxAmount = maxTxAmount (#1474)
Emit an event for critical parameter changes.

Additional information: link

MultiChainCapital.constructor(address,address).MCCWalletAddress (#892) lacks a zero-check on :
- _MCCWalletAddress = MCCWalletAddress (#895)
MultiChainCapital.constructor(address,address).marketingWalletAddress (#893) lacks a zero-check on :
- _marketingWalletAddress = marketingWalletAddress (#896)
MultiChainCapital._setMCCWallet(address).MCCWalletAddress (#1458) lacks a zero-check on :
- _MCCWalletAddress = MCCWalletAddress (#1459)
MultiChainCapital._setMarketingWallet(address).marketingWalletAddress (#1462) lacks a zero-check on :
- _marketingWalletAddress = marketingWalletAddress (#1466)
Check that the address is not zero.

Additional information: link

MultiChainCapital.swapTokensForEth(uint256) (#1177-1193) has external calls inside a loop: path[1] = uniswapV2Router.WETH() (#1181)
MultiChainCapital.swapTokensForEth(uint256) (#1177-1193) has external calls inside a loop: uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1186-1192)
MultiChainCapital.sendETHToTeam(uint256) (#1195-1198) has external calls inside a loop: _MCCWalletAddress.call{value: amount.div(2)}() (#1196)
MultiChainCapital.sendETHToTeam(uint256) (#1195-1198) has external calls inside a loop: _marketingWalletAddress.call{value: amount.div(2)}() (#1197)
Favor pull over push strategy for external calls.

Additional information: link

Reentrancy in MultiChainCapital._transfer(address,address,uint256) (#1117-1175):
External calls:
- swapTokensForEth(contractTokenBalance) (#1151)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1186-1192)
- sendETHToTeam(address(this).balance) (#1155)
- _MCCWalletAddress.call{value: amount.div(2)}() (#1196)
- _marketingWalletAddress.call{value: amount.div(2)}() (#1197)
External calls sending eth:
- sendETHToTeam(address(this).balance) (#1155)
- _MCCWalletAddress.call{value: amount.div(2)}() (#1196)
- _marketingWalletAddress.call{value: amount.div(2)}() (#1197)
State variables written after the call(s):
- _tokenTransfer(sender,recipient,amount,takeFee) (#1174)
- _previousTaxFee = _taxFee (#1089)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1174)
- _previousTeamFee = _teamFee (#1090)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1174)
- _tFeeTotal = _tFeeTotal.add(tFee) (#1331)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1174)
- _taxFee = _previousTaxFee (#1097)
- _taxFee = 0 (#1092)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1174)
- _teamFee = _previousTeamFee (#1098)
- _teamFee = 0 (#1093)
Reentrancy in MultiChainCapital.constructor(address,address) (#891-916):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#903-906)
State variables written after the call(s):
- _isExcludedFromFee[owner()] = true (#912)
- _isExcludedFromFee[address(this)] = true (#913)
- uniswapV2Router = _uniswapV2Router (#909)
Reentrancy in MultiChainCapital.transferFrom(address,address,uint256) (#966-981):
External calls:
- _transfer(sender,recipient,amount) (#971)
- _MCCWalletAddress.call{value: amount.div(2)}() (#1196)
- _marketingWalletAddress.call{value: amount.div(2)}() (#1197)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1186-1192)
External calls sending eth:
- _transfer(sender,recipient,amount) (#971)
- _MCCWalletAddress.call{value: amount.div(2)}() (#1196)
- _marketingWalletAddress.call{value: amount.div(2)}() (#1197)
State variables written after the call(s):
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#972-979)
- _allowances[owner][spender] = amount (#1113)
Apply the check-effects-interactions pattern.

Additional information: link

Reentrancy in MultiChainCapital._transfer(address,address,uint256) (#1117-1175):
External calls:
- swapTokensForEth(contractTokenBalance) (#1151)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1186-1192)
- sendETHToTeam(address(this).balance) (#1155)
- _MCCWalletAddress.call{value: amount.div(2)}() (#1196)
- _marketingWalletAddress.call{value: amount.div(2)}() (#1197)
External calls sending eth:
- sendETHToTeam(address(this).balance) (#1155)
- _MCCWalletAddress.call{value: amount.div(2)}() (#1196)
- _marketingWalletAddress.call{value: amount.div(2)}() (#1197)
Event emitted after the call(s):
- Transfer(sender,recipient,tTransferAmount) (#1254)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1174)
- Transfer(sender,recipient,tTransferAmount) (#1296)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1174)
- Transfer(sender,recipient,tTransferAmount) (#1275)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1174)
- Transfer(sender,recipient,tTransferAmount) (#1318)
- _tokenTransfer(sender,recipient,amount,takeFee) (#1174)
Reentrancy in MultiChainCapital.constructor(address,address) (#891-916):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (#903-906)
Event emitted after the call(s):
- Transfer(address(0),_msgSender(),_tTotal) (#915)
Reentrancy in MultiChainCapital.transferFrom(address,address,uint256) (#966-981):
External calls:
- _transfer(sender,recipient,amount) (#971)
- _MCCWalletAddress.call{value: amount.div(2)}() (#1196)
- _marketingWalletAddress.call{value: amount.div(2)}() (#1197)
- uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount,0,path,address(this),block.timestamp) (#1186-1192)
External calls sending eth:
- _transfer(sender,recipient,amount) (#971)
- _MCCWalletAddress.call{value: amount.div(2)}() (#1196)
- _marketingWalletAddress.call{value: amount.div(2)}() (#1197)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#1114)
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,ERC20: transfer amount exceeds allowance)) (#972-979)
Apply the check-effects-interactions pattern.

Additional information: link

Address.isContract(address) (#439-449) uses assembly
- INLINE ASM (#445-447)
Address._verifyCallResult(bool,bytes,string) (#602-622) uses assembly
- INLINE ASM (#614-617)
Do not use evm assembly.

Additional information: link

Different versions of Solidity is used:
- Version used: ['>=0.5.0', '>=0.6.2', '^0.8.0', '^0.8.4']
- ^0.8.4 (#23)
- ^0.8.0 (#104)
- ^0.8.0 (#416)
- >=0.5.0 (#625)
- >=0.5.0 (#643)
- >=0.6.2 (#696)
Use one Solidity version.

Additional information: link

MultiChainCapital.includeAccount(address) (#1073-1084) has costly operations inside a loop:
- _excluded.pop() (#1080)
MultiChainCapital.lockTheSwap() (#885-889) has costly operations inside a loop:
- inSwap = true (#886)
MultiChainCapital.lockTheSwap() (#885-889) has costly operations inside a loop:
- inSwap = false (#888)
MultiChainCapital.removeAllFee() (#1086-1094) has costly operations inside a loop:
- _previousTaxFee = _taxFee (#1089)
MultiChainCapital.removeAllFee() (#1086-1094) has costly operations inside a loop:
- _previousTeamFee = _teamFee (#1090)
MultiChainCapital.removeAllFee() (#1086-1094) has costly operations inside a loop:
- _taxFee = 0 (#1092)
MultiChainCapital.removeAllFee() (#1086-1094) has costly operations inside a loop:
- _teamFee = 0 (#1093)
MultiChainCapital._reflectFee(uint256,uint256) (#1329-1332) has costly operations inside a loop:
- _rTotal = _rTotal.sub(rFee) (#1330)
MultiChainCapital._reflectFee(uint256,uint256) (#1329-1332) has costly operations inside a loop:
- _tFeeTotal = _tFeeTotal.add(tFee) (#1331)
MultiChainCapital.restoreAllFee() (#1096-1099) has costly operations inside a loop:
- _taxFee = _previousTaxFee (#1097)
MultiChainCapital.restoreAllFee() (#1096-1099) has costly operations inside a loop:
- _teamFee = _previousTeamFee (#1098)
Use a local variable to hold the loop computation result.

Additional information: link

Address._verifyCallResult(bool,bytes,string) (#602-622) is never used and should be removed
Address.functionCall(address,bytes) (#492-494) is never used and should be removed
Address.functionCall(address,bytes,string) (#502-508) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#521-527) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#535-546) is never used and should be removed
Address.functionDelegateCall(address,bytes) (#581-583) is never used and should be removed
Address.functionDelegateCall(address,bytes,string) (#591-600) is never used and should be removed
Address.functionStaticCall(address,bytes) (#554-556) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (#564-573) is never used and should be removed
Address.isContract(address) (#439-449) is never used and should be removed
Address.sendValue(address,uint256) (#467-472) is never used and should be removed
Context._msgData() (#344-346) is never used and should be removed
MultiChainCapital._getMaxTxAmount() (#1431-1433) is never used and should be removed
MultiChainCapital._getTaxFee() (#1427-1429) is never used and should be removed
SafeMath.div(uint256,uint256,string) (#291-300) is never used and should be removed
SafeMath.mod(uint256,uint256) (#251-253) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#317-326) is never used and should be removed
SafeMath.tryAdd(uint256,uint256) (#122-128) is never used and should be removed
SafeMath.tryDiv(uint256,uint256) (#164-169) is never used and should be removed
SafeMath.tryMod(uint256,uint256) (#176-181) is never used and should be removed
SafeMath.tryMul(uint256,uint256) (#147-157) is never used and should be removed
SafeMath.trySub(uint256,uint256) (#135-140) is never used and should be removed
Remove unused functions.

Additional information: link

MultiChainCapital._rTotal (#849) is set pre-construction with a non-constant function or state variable:
- (MAX - (MAX % _tTotal))
MultiChainCapital._previousTaxFee (#858) is set pre-construction with a non-constant function or state variable:
- _taxFee
MultiChainCapital._previousTeamFee (#859) is set pre-construction with a non-constant function or state variable:
- _teamFee
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

Pragma version^0.8.0 (#104) allows old versions
Pragma version^0.8.0 (#416) allows old versions
Pragma version>=0.5.0 (#625) allows old versions
Pragma version>=0.5.0 (#643) allows old versions
Pragma version>=0.6.2 (#696) 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

Low level call in Address.sendValue(address,uint256) (#467-472):
- (success) = recipient.call{value: amount}() (#470)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (#535-546):
- (success,returndata) = target.call{value: value}(data) (#544)
Low level call in Address.functionStaticCall(address,bytes,string) (#564-573):
- (success,returndata) = target.staticcall(data) (#571)
Low level call in Address.functionDelegateCall(address,bytes,string) (#591-600):
- (success,returndata) = target.delegatecall(data) (#598)
Low level call in MultiChainCapital.sendETHToTeam(uint256) (#1195-1198):
- _MCCWalletAddress.call{value: amount.div(2)}() (#1196)
- _marketingWalletAddress.call{value: amount.div(2)}() (#1197)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence

Additional information: link

Function IUniswapV2Pair.DOMAIN_SEPARATOR() (#660) is not in mixedCase
Function IUniswapV2Pair.PERMIT_TYPEHASH() (#661) is not in mixedCase
Function IUniswapV2Pair.MINIMUM_LIQUIDITY() (#678) is not in mixedCase
Function IUniswapV2Router01.WETH() (#700) is not in mixedCase
Function MultiChainCapital._getETHBalance() (#1439-1441) is not in mixedCase
Function MultiChainCapital._setTaxFee(uint256) (#1443-1446) is not in mixedCase
Function MultiChainCapital._setTeamFee(uint256) (#1448-1451) is not in mixedCase
Function MultiChainCapital._setSellTaxMultiplier(uint8) (#1453-1456) is not in mixedCase
Function MultiChainCapital._setMCCWallet(address) (#1458-1460) is not in mixedCase
Parameter MultiChainCapital._setMCCWallet(address).MCCWalletAddress (#1458) is not in mixedCase
Function MultiChainCapital._setMarketingWallet(address) (#1462-1467) is not in mixedCase
Function MultiChainCapital._setMaxTxAmount(uint256) (#1469-1475) is not in mixedCase
Parameter MultiChainCapital.isUniswapPair(address)._pair (#1477) is not in mixedCase
Parameter MultiChainCapital.addUniswapPair(address)._pair (#1482) is not in mixedCase
Parameter MultiChainCapital.removeUniswapPair(address)._pair (#1486) is not in mixedCase
Function MultiChainCapital.Airdrop(MultiChainCapital.AirdropReceiver[]) (#1490-1495) is not in mixedCase
Variable MultiChainCapital._MCCWalletAddress (#861) is not in mixedCase
Variable MultiChainCapital._marketingWalletAddress (#862) is not in mixedCase
Variable MultiChainCapital._sellTaxMultiplier (#871) is not in mixedCase
Follow the Solidity naming convention.

Additional information: link

Variable IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (#705) is too similar to IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#706)
Variable MultiChainCapital._transferFromExcluded(address,address,uint256).rTransferAmount (#1285) is too similar to MultiChainCapital._transferFromExcluded(address,address,uint256).tTransferAmount (#1287)
Variable MultiChainCapital._getValues(uint256,bool).rTransferAmount (#1356) is too similar to MultiChainCapital._transferBothExcluded(address,address,uint256).tTransferAmount (#1308)
Variable MultiChainCapital._transferToExcluded(address,address,uint256).rTransferAmount (#1264) is too similar to MultiChainCapital._transferBothExcluded(address,address,uint256).tTransferAmount (#1308)
Variable MultiChainCapital._transferToExcluded(address,address,uint256).rTransferAmount (#1264) is too similar to MultiChainCapital._transferToExcluded(address,address,uint256).tTransferAmount (#1266)
Variable MultiChainCapital._transferBothExcluded(address,address,uint256).rTransferAmount (#1306) is too similar to MultiChainCapital._transferFromExcluded(address,address,uint256).tTransferAmount (#1287)
Variable MultiChainCapital._transferStandard(address,address,uint256).rTransferAmount (#1244) is too similar to MultiChainCapital._transferStandard(address,address,uint256).tTransferAmount (#1246)
Variable MultiChainCapital._transferStandard(address,address,uint256).rTransferAmount (#1244) is too similar to MultiChainCapital._transferFromExcluded(address,address,uint256).tTransferAmount (#1287)
Variable MultiChainCapital._transferFromExcluded(address,address,uint256).rTransferAmount (#1285) is too similar to MultiChainCapital._transferBothExcluded(address,address,uint256).tTransferAmount (#1308)
Variable MultiChainCapital._transferBothExcluded(address,address,uint256).rTransferAmount (#1306) is too similar to MultiChainCapital._transferBothExcluded(address,address,uint256).tTransferAmount (#1308)
Variable MultiChainCapital._getValues(uint256,bool).rTransferAmount (#1356) is too similar to MultiChainCapital._transferStandard(address,address,uint256).tTransferAmount (#1246)
Variable MultiChainCapital._transferToExcluded(address,address,uint256).rTransferAmount (#1264) is too similar to MultiChainCapital._transferStandard(address,address,uint256).tTransferAmount (#1246)
Variable MultiChainCapital._transferStandard(address,address,uint256).rTransferAmount (#1244) is too similar to MultiChainCapital._transferBothExcluded(address,address,uint256).tTransferAmount (#1308)
Variable MultiChainCapital._getValues(uint256,bool).rTransferAmount (#1356) is too similar to MultiChainCapital._transferFromExcluded(address,address,uint256).tTransferAmount (#1287)
Variable MultiChainCapital._transferToExcluded(address,address,uint256).rTransferAmount (#1264) is too similar to MultiChainCapital._transferFromExcluded(address,address,uint256).tTransferAmount (#1287)
Variable MultiChainCapital._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#1405) is too similar to MultiChainCapital._transferToExcluded(address,address,uint256).tTransferAmount (#1266)
Variable MultiChainCapital._transferStandard(address,address,uint256).rTransferAmount (#1244) is too similar to MultiChainCapital._getValues(uint256,bool).tTransferAmount (#1349)
Variable MultiChainCapital._transferBothExcluded(address,address,uint256).rTransferAmount (#1306) is too similar to MultiChainCapital._transferStandard(address,address,uint256).tTransferAmount (#1246)
Variable MultiChainCapital.reflectionFromToken(uint256,bool).rTransferAmount (#1049) is too similar to MultiChainCapital._getTValues(uint256,uint256,uint256,bool).tTransferAmount (#1384)
Variable MultiChainCapital._transferFromExcluded(address,address,uint256).rTransferAmount (#1285) is too similar to MultiChainCapital._getValues(uint256,bool).tTransferAmount (#1349)
Variable MultiChainCapital.reflectionFromToken(uint256,bool).rTransferAmount (#1049) is too similar to MultiChainCapital._transferFromExcluded(address,address,uint256).tTransferAmount (#1287)
Variable MultiChainCapital._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#1405) is too similar to MultiChainCapital._getValues(uint256,bool).tTransferAmount (#1349)
Variable MultiChainCapital._transferStandard(address,address,uint256).rTransferAmount (#1244) is too similar to MultiChainCapital._getTValues(uint256,uint256,uint256,bool).tTransferAmount (#1384)
Variable MultiChainCapital._getValues(uint256,bool).rTransferAmount (#1356) is too similar to MultiChainCapital._transferToExcluded(address,address,uint256).tTransferAmount (#1266)
Variable MultiChainCapital._transferBothExcluded(address,address,uint256).rTransferAmount (#1306) is too similar to MultiChainCapital._transferToExcluded(address,address,uint256).tTransferAmount (#1266)
Variable MultiChainCapital._transferFromExcluded(address,address,uint256).rTransferAmount (#1285) is too similar to MultiChainCapital._getTValues(uint256,uint256,uint256,bool).tTransferAmount (#1384)
Variable MultiChainCapital.reflectionFromToken(uint256,bool).rTransferAmount (#1049) is too similar to MultiChainCapital._transferBothExcluded(address,address,uint256).tTransferAmount (#1308)
Variable MultiChainCapital._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#1405) is too similar to MultiChainCapital._getTValues(uint256,uint256,uint256,bool).tTransferAmount (#1384)
Variable MultiChainCapital._getValues(uint256,bool).rTransferAmount (#1356) is too similar to MultiChainCapital._getValues(uint256,bool).tTransferAmount (#1349)
Variable MultiChainCapital._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#1405) is too similar to MultiChainCapital._transferFromExcluded(address,address,uint256).tTransferAmount (#1287)
Variable MultiChainCapital._transferBothExcluded(address,address,uint256).rTransferAmount (#1306) is too similar to MultiChainCapital._getValues(uint256,bool).tTransferAmount (#1349)
Variable MultiChainCapital._transferToExcluded(address,address,uint256).rTransferAmount (#1264) is too similar to MultiChainCapital._getValues(uint256,bool).tTransferAmount (#1349)
Variable MultiChainCapital.reflectionFromToken(uint256,bool).rTransferAmount (#1049) is too similar to MultiChainCapital._transferStandard(address,address,uint256).tTransferAmount (#1246)
Variable MultiChainCapital._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#1405) is too similar to MultiChainCapital._transferBothExcluded(address,address,uint256).tTransferAmount (#1308)
Variable MultiChainCapital._getValues(uint256,bool).rTransferAmount (#1356) is too similar to MultiChainCapital._getTValues(uint256,uint256,uint256,bool).tTransferAmount (#1384)
Variable MultiChainCapital._transferBothExcluded(address,address,uint256).rTransferAmount (#1306) is too similar to MultiChainCapital._getTValues(uint256,uint256,uint256,bool).tTransferAmount (#1384)
Variable MultiChainCapital._transferToExcluded(address,address,uint256).rTransferAmount (#1264) is too similar to MultiChainCapital._getTValues(uint256,uint256,uint256,bool).tTransferAmount (#1384)
Variable MultiChainCapital._transferFromExcluded(address,address,uint256).rTransferAmount (#1285) is too similar to MultiChainCapital._transferStandard(address,address,uint256).tTransferAmount (#1246)
Variable MultiChainCapital.reflectionFromToken(uint256,bool).rTransferAmount (#1049) is too similar to MultiChainCapital._transferToExcluded(address,address,uint256).tTransferAmount (#1266)
Variable MultiChainCapital._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#1405) is too similar to MultiChainCapital._transferStandard(address,address,uint256).tTransferAmount (#1246)
Variable MultiChainCapital.reflectionFromToken(uint256,bool).rTransferAmount (#1049) is too similar to MultiChainCapital._getValues(uint256,bool).tTransferAmount (#1349)
Variable MultiChainCapital._transferStandard(address,address,uint256).rTransferAmount (#1244) is too similar to MultiChainCapital._transferToExcluded(address,address,uint256).tTransferAmount (#1266)
Variable MultiChainCapital._transferFromExcluded(address,address,uint256).rTransferAmount (#1285) is too similar to MultiChainCapital._transferToExcluded(address,address,uint256).tTransferAmount (#1266)
Prevent variables from having similar names.

Additional information: link

MultiChainCapital._setMaxTxAmount(uint256) (#1469-1475) uses literals with too many digits:
- require(bool,string)(maxTxAmount >= 100000000000000e9,maxTxAmount should be greater than 100000000000000e9) (#1470-1473)
MultiChainCapital.slitherConstructorVariables() (#834-1497) uses literals with too many digits:
- _tTotal = 4206900000000 * 10 ** 9 (#848)
MultiChainCapital.slitherConstructorVariables() (#834-1497) uses literals with too many digits:
- _maxTxAmount = 300000000000000e9 (#873)
Use: Ether suffix, Time suffix, or The scientific notation

Additional information: link

MultiChainCapital._decimals (#854) should be constant
MultiChainCapital._name (#852) should be constant
MultiChainCapital._numOfTokensToExchangeForTeam (#875) should be constant
MultiChainCapital._symbol (#853) should be constant
MultiChainCapital._tTotal (#848) should be constant
Add the constant attributes to state variables that never change.

Additional information: link

renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#395-397)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#403-406)
name() should be declared external:
- MultiChainCapital.name() (#918-920)
symbol() should be declared external:
- MultiChainCapital.symbol() (#922-924)
decimals() should be declared external:
- MultiChainCapital.decimals() (#926-928)
totalSupply() should be declared external:
- MultiChainCapital.totalSupply() (#930-932)
transfer(address,uint256) should be declared external:
- MultiChainCapital.transfer(address,uint256) (#939-946)
allowance(address,address) should be declared external:
- MultiChainCapital.allowance(address,address) (#948-955)
approve(address,uint256) should be declared external:
- MultiChainCapital.approve(address,uint256) (#957-964)
increaseAllowance(address,uint256) should be declared external:
- MultiChainCapital.increaseAllowance(address,uint256) (#983-994)
decreaseAllowance(address,uint256) should be declared external:
- MultiChainCapital.decreaseAllowance(address,uint256) (#996-1010)
isExcluded(address) should be declared external:
- MultiChainCapital.isExcluded(address) (#1012-1014)
totalFees() should be declared external:
- MultiChainCapital.totalFees() (#1023-1025)
deliver(uint256) should be declared external:
- MultiChainCapital.deliver(uint256) (#1027-1037)
reflectionFromToken(uint256,bool) should be declared external:
- MultiChainCapital.reflectionFromToken(uint256,bool) (#1039-1052)
isExcludedFromFee(address) should be declared external:
- MultiChainCapital.isExcludedFromFee(address) (#1101-1103)
_getETHBalance() should be declared external:
- MultiChainCapital._getETHBalance() (#1439-1441)
Use the external attribute for functions never called from the contract.

Additional information: link


Contract ownership is semi-renounced (passed to a contract)

Holders:

Contract has 6% buy tax and 5% sell tax.
Taxes are low and contract ownership is renounced.


Unable to find Youtube account


Unable to find token on CoinHunt

Additional information: link


Token is not listed at Mobula.Finance

Additional information: link


Young tokens have high risks of price dump / death


Young tokens have high risks of price dump / death


Young tokens have high risks of price dump / death


Token has relatively low CoinGecko rank

Price for MCC

News for MCC