Revolutionary first of its kind fully Interactive NFT (INFT), MegaBaby INFTs have changed the future of NFTs. Interacting and playing with MegaBaby INFT e-pets will bring back nostalgia of playing with Tamagotchis. Over time interactivity points will build up and permit the owner to evolve their INFT into rarer and rarer INFTs.
First conceptualized nearly 12 months prior, Jonathan Harrocks has dedicated his time and expertise to deliver to the world a truly unique technology, Interactive NFTs in the form of a lovable character named MegaBaby. When you first see MegaBaby you will certainly find yourself wanting to play and interact with your own MegaBaby. MegaBaby gets, tired, hungry, sick and will want to play requiring you to use small amounts of MegaToken to do so. MegaBaby will need to be revived if left uncared for.
MegaBaby INFTs can be bought and sold on the platforms marketplace, with 5% commission returning to the original minter on each resale of their own creation.
MegaBaby INFTs are purchased using the native MegaToken and all interactivity and in Dapp purchases are conducted utilizing the MegaToken. These microtransactions are reflected back to all holders, this is not just play to earn it is also hold to earn. Once all limited edition MegaBaby INFTs are sold, a generic MegaBaby INFT will be created for minting. The expectation is to get MegaBaby INFTs in the hands of the masses, driving the microtransactions amd in Dapp purchases for accessories and attributes.
The possibilities are endless and future roadmap plans will include social mmo and metaverse capabilities.
MegaToken is a reflections rewards contract as well with a special ‘claim’ function. All rewards claims on the MegaBaby INFT platform will conduct a purchase of the token reflecting as a buy.
The MegaBaby INFT platform is a fully functional marketplace for the INFTs, purchasing BNB and MegaToken, with a roadmap for staking INFTs and staking MegaToken.
MegaBaby INFT — the next “Mega” revolution in the Crypto space! This token is not only going to make waves — it will take the crypto world by storm, forming big quakes under the so-called current foundation.
In 2012 when the first NFTs came out as simple colored coins who would’ve thought that in 2021 we would have Interactive NFTs? And yes, you read that correctly INTERACTIVE NFTs.
The Lead Developer created the next revolution in DEFI with the first FULLY Interactive NFT E-Humans - completely mind-blowing! Owners will have the ability to modify and upgrade them by using MegaToken. Each evolution stage will have a percentage chance to make YOUR MegaBaby rarer and rarer creating a one-of-a-kind collectible — sellable or trade-able on its own Interactive Marketplace. The ability to frequently care for, accessorize and upgrade your E-Pet is what makes this token the purchase of the year. Just imagine this — while having fun caring for it — you can watch your MegaBaby grow alongside your investment — PRICELESS! I’m pretty sure many remember Tamagotchi and how revolutionary that was; there is every reason to believe that MegaBaby will be the next huge hyper trend.
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
MegaToken.swapBack() (#730-777) sends eth to arbitrary user
Dangerous calls:
- distributor.deposit{value: amountBNBReflection}() (#756)
- address(marketingFeeReceiver).transfer(amountBNBMarketing) (#763)
- address(devFeeReciever).transfer(amountBNBDev) (#764)
Ensure that an arbitrary user cannot withdraw unauthorized funds.
Additional information: link
Reentrancy in ManualDividendDistributor.setShare(address,uint256) (#297-312):
External calls:
- distributeDividend(shareholder) (#299)
- router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,address(this),block.timestamp) (#343-348)
- rewardtoken.transfer(shareholder,toDistribute) (#352)
External calls sending eth:
- distributeDividend(shareholder) (#299)
- router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,address(this),block.timestamp) (#343-348)
State variables written after the call(s):
- rewardshares[WBNB][shareholder].totalExcluded = getCumulativeDividends(shares[shareholder].amount) (#311)
- shares[shareholder].amount = amount (#309)
Apply the check-effects-interactions pattern.
Additional information: link
MegaToken.claimtokensback(IBEP20) (#683-686) ignores return value by tokenAddress.transfer(marketingFeeReceiver,tokenAddress.balanceOf(address(this))) (#685)
Use SafeERC20, or ensure that the transfer/transferFrom return value is checked.
Additional information: link
ManualDividendDistributor._token (#194) is never initialized. It is used in:
- ManualDividendDistributor.constructor(address) (#240-247)
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
MegaToken.setSellPremium(uint256) (#588-592) contains a tautology or contradiction:
- require(bool)(premium >= 0 && premium + totalFee <= 4500) (#589)
Fix the incorrect comparison by changing the value type or the comparison.
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.
Combination 2: Unchecked transfer + 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.
Combination 3: Reentrancy vulnerabilities + Unchecked transfer vulnerability. Usual for scams. May be justified by some complex mechanics (e.g. rebase, reflections). DYOR & manual audit are advised.
MegaToken.swapBack() (#730-777) ignores return value by router.addLiquidityETH{value: amountBNBLiquidity}(address(this),amountToLiquify,0,0,autoLiquidityReceiver,block.timestamp) (#767-774)
Ensure that all the return values of the function calls are used.
Additional information: link
MegaToken.setSwapBackSettings(bool,uint256) (#789-792) should emit an event for:
- swapThreshold = _amount (#791)
Emit an event for critical parameter changes.
Additional information: link
MegaToken.setCharityWallet(address).charityWallet (#785) lacks a zero-check on :
- charityFeeReciever = charityWallet (#786)
Check that the address is not zero.
Additional information: link
Reentrancy in ManualDividendDistributor.setShare(address,uint256) (#297-312):
External calls:
- distributeDividend(shareholder) (#299)
- router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,address(this),block.timestamp) (#343-348)
- rewardtoken.transfer(shareholder,toDistribute) (#352)
External calls sending eth:
- distributeDividend(shareholder) (#299)
- router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(0,path,address(this),block.timestamp) (#343-348)
State variables written after the call(s):
- addShareholder(shareholder) (#303)
- shareholderIndexes[shareholder] = shareholders.length (#380)
- removeShareholder(shareholder) (#305)
- shareholderIndexes[shareholders[shareholders.length - 1]] = shareholderIndexes[shareholder] (#386)
- addShareholder(shareholder) (#303)
- shareholders.push(shareholder) (#381)
- removeShareholder(shareholder) (#305)
- shareholders[shareholderIndexes[shareholder]] = shareholders[shareholders.length - 1] (#385)
- shareholders.pop() (#387)
- totalShares -= (shares[shareholder].amount) (#308)
- totalShares += (amount) (#310)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in MegaToken.swapBack() (#730-777):
External calls:
- router.swapExactTokensForETHSupportingFeeOnTransferTokens(amountToSwap,0,path,address(this),block.timestamp) (#740-746)
- distributor.deposit{value: amountBNBReflection}() (#756)
- router.addLiquidityETH{value: amountBNBLiquidity}(address(this),amountToLiquify,0,0,autoLiquidityReceiver,block.timestamp) (#767-774)
External calls sending eth:
- distributor.deposit{value: amountBNBReflection}() (#756)
- address(marketingFeeReceiver).transfer(amountBNBMarketing) (#763)
- address(devFeeReciever).transfer(amountBNBDev) (#764)
- router.addLiquidityETH{value: amountBNBLiquidity}(address(this),amountToLiquify,0,0,autoLiquidityReceiver,block.timestamp) (#767-774)
Event emitted after the call(s):
- AutoLiquify(amountBNBLiquidity,amountToLiquify) (#775)
Apply the check-effects-interactions pattern.
Additional information: link
MegaToken.launched() (#688-690) uses timestamp for comparisons
Dangerous comparisons:
- launchedAt != 0 (#689)
Avoid relying on block.timestamp.
Additional information: link
MegaToken._basicTransfer(address,address,uint256) (#656-661) is never used and should be removed
Remove unused functions.
Additional information: link
MegaToken.swapThreshold (#452) is set pre-construction with a non-constant function or state variable:
- _totalSupply / 500
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
solc-0.8.7 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
MegaToken (#391-828) should inherit from IpresaleAirdrop (#187-189)
Inherit from the missing interface or contract.
Additional information: link
Variable MegaToken._allowances (#408) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Reentrancy in MegaToken.swapBack() (#730-777):
External calls:
- address(marketingFeeReceiver).transfer(amountBNBMarketing) (#763)
- address(devFeeReciever).transfer(amountBNBDev) (#764)
External calls sending eth:
- distributor.deposit{value: amountBNBReflection}() (#756)
- address(marketingFeeReceiver).transfer(amountBNBMarketing) (#763)
- address(devFeeReciever).transfer(amountBNBDev) (#764)
- router.addLiquidityETH{value: amountBNBLiquidity}(address(this),amountToLiquify,0,0,autoLiquidityReceiver,block.timestamp) (#767-774)
Event emitted after the call(s):
- AutoLiquify(amountBNBLiquidity,amountToLiquify) (#775)
Apply the check-effects-interactions pattern.
Additional information: link
Variable IDEXRouter.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (#133) is too similar to IDEXRouter.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (#134)
Prevent variables from having similar names.
Additional information: link
MegaToken.slitherConstructorVariables() (#391-828) uses literals with too many digits:
- distributorGas = 500000 (#449)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
MegaToken.rewardtokenFee (#425) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
getCirculatingSupply() should be declared external:
- MegaToken.getCirculatingSupply() (#819-821)
Use the external attribute for functions never called from the contract.
Additional information: link
Average 30d PancakeSwap volume is low.
Average PancakeSwap trading volume, liqudity, number of swaps are low. Token seems to be inactive.
Token is deployed only at one blockchain
Token has only one trading pair
Unable to find PancakeSwap trading pair to compute liquidity.
Unable to find PancakeSwap trading pair to compute number of swaps.
BscScan page for the token does not contain additional info: website, socials, description, etc.
Additional information: link
Unable to find token/project description on the website or on BscScan, CoinMarketCap
Unable to find token contract audit
Unable to verify token contract address on the website
Unable to find audit link on the website
Unable to find whitepaper link on the website
Unable to find token on CoinHunt
Additional information: link
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