MagicCraft Token Logo

MCRT [MagicCraft] Token

About MCRT

Listings

Token 6 months
CoinGecko 6 months
CoinMarketCap 6 months
white paper

In the Magic Craft metaverse there are powerful Castles built by the Elders. Every week your clan goes to war for the ownership of one of the 7 castles, where the King of the castle gets taxation in our native cryptocurrency $MCRT.

Each character has different collectible NFT traits, items, weapons, armor, spells, magic scrolls, clothes, attacks, and poses. You can trade these collectibles in the NFT marketplace for $MCRT.

On the platform there are higher staking rewards for powerful castles, weapons, armor and castles. You hold the value of your character in $MCRT

Laser Scorebeta Last Audit: 19 May 2022

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

Token.unFinalized(uint8) (#81-84) uses a dangerous strict equality:
- require(bool,string)(privateSaleEnd[saleIndex] == 0,already distributed) (#82)
Don't use strict equality to determine if an account has enough Ether or tokens.

Additional information: link

Pragma version>=0.8.0 (#3) 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

Token._transfer(address,address,uint256) (#104-109) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(spendableBalance(sender) >= amount,insuffficient unlocked balance) (#105)
Token.distributePrivateSale(uint8) (#166-182) uses timestamp for comparisons
Dangerous comparisons:
- require(bool)(block.timestamp != 0) (#167)
Token.spendableBalance(address) (#183-197) uses timestamp for comparisons
Dangerous comparisons:
- i < privateSaleEnd.length (#185)
- teamVestingStart > 0 && teamTokenBalance[account] > 0 && block.timestamp < teamVestingStart + 31557600 (#188)
- block.timestamp > teamVestingStart (#189)
Token.lockedBalanceFromSale(address,uint8) (#198-211) uses timestamp for comparisons
Dangerous comparisons:
- privateSaleBalance[saleIndex][account] > 0 && block.timestamp < privateSaleEnd[saleIndex] + 39447000 (#200)
- block.timestamp < privateSaleEnd[saleIndex] + 7889400 (#202)
Token.withdrawLeftoverPrivateSale(uint8) (#212-217) uses timestamp for comparisons
Dangerous comparisons:
- require(bool)(teamVestingStart != 0 && canWithdraw == true) (#213)
Avoid relying on block.timestamp.

Additional information: link

Token.withdrawLeftoverPrivateSale(uint8) (#212-217) compares to a boolean constant:
-require(bool)(teamVestingStart != 0 && canWithdraw == true) (#213)
Remove the equality to the boolean constant.

Additional information: link

Token.addMultipleToTeam(address[],uint256[]) (#158-165) has costly operations inside a loop:
- teamToDistribute = teamToDistribute.add(amounts[i]) (#163)
Use a local variable to hold the loop computation result.

Additional information: link

Token.constructor(string,string,uint8) (#94-103) uses literals with too many digits:
- _totalSupply = 10000000000 * 10 ** _decimals (#96)
Token.constructor(string,string,uint8) (#94-103) uses literals with too many digits:
- balanceOf[address(0)] = 3800000000 * 10 ** _decimals (#98)
Token.constructor(string,string,uint8) (#94-103) uses literals with too many digits:
- balanceOf[msg.sender] = 6200000000 * 10 ** _decimals (#99)
Token.constructor(string,string,uint8) (#94-103) uses literals with too many digits:
- privateSaleTotalTokens[0] = 250000000 * 10 ** _decimals (#100)
Token.constructor(string,string,uint8) (#94-103) uses literals with too many digits:
- privateSaleTotalTokens[1] = 350000000 * 10 ** _decimals (#101)
Token.constructor(string,string,uint8) (#94-103) uses literals with too many digits:
- privateSaleTotalTokens[2] = 400000000 * 10 ** _decimals (#102)
Token.slitherConstructorVariables() (#49-221) uses literals with too many digits:
- totalTeamTokens = 2800000000 (#63)
Use: Ether suffix, Time suffix, or The scientific notation

Additional information: link

Token.totalTeamTokens (#63) should be constant
Add the constant attributes to state variables that never change.

Additional information: link

Holders:
No disclosed threats
No disclosed threats


BscScan page for the token does not contain additional info: website, socials, description, etc.

Additional information: link


Unable to verify token contract address on the website


Unable to find whitepaper link on the website


Unable to find token on CoinHunt

Additional information: link


Unable to find code repository for the project


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


Young tokens have high risks of price dump / death


Token has relatively low CoinGecko rank

Price for MCRT

News for MCRT