MobiPad is the first multi-chain launchpad with a mobile application, building on blockchain network.
Filling the gap that exist between project ideas and needed funding.
We provide project creators with an All-In-One solution right from development to fundraise stage.
MobiPad is the first blockchain launchpad with a Mobile App providing investors with effective solutions for investments in early stage ventures while ensuring a risk-free system via our Anti-Rug mechanism set up. Our ultimate goal is making Fundraise and Investing an amazing adventure.
Contract ownership is not renounced (belongs to a wallet)
MobiPad._beforeTokenTransfer(address,address,uint256) (#322-330) has external calls inside a loop: antisnipe.assureCanTransfer(msg.sender,from,to,amount) (#329)
Favor pull over push strategy for external calls.
Additional information: link
MobiPad._transferWithTax(address,address,uint256).tTax (#496) 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
MobiPad.allowance(address,address).owner (#387) shadows:
- Ownable.owner() (#142-144) (function)
MobiPad._approve(address,address,uint256).owner (#562) shadows:
- Ownable.owner() (#142-144) (function)
Rename the local variables that shadow another component.
Additional information: link
MobiPad.updateBuyTax(uint256) (#231-233) should emit an event for:
- _BUY_TAX = _percentage (#232)
MobiPad.updateSellTax(uint256) (#235-237) should emit an event for:
- _SELL_TAX = _percentage (#236)
Emit an event for critical parameter changes.
Additional information: link
MobiPad.setTaxStoreAddr(address)._addr (#247) lacks a zero-check on :
- _taxStoreAddr = _addr (#248)
Check that the address is not zero.
Additional information: link
MobiPad._transferWithTax(address,address,uint256) (#491-523) has costly operations inside a loop:
- _totalSupply = _totalSupply.sub(tTax) (#519)
MobiPad.removeTaxedAddress(address) (#344-354) has costly operations inside a loop:
- _taxedAddress.pop() (#350)
Use a local variable to hold the loop computation result.
Additional information: link
Context._msgData() (#59-62) is never used and should be removed
SafeMath.mod(uint256,uint256) (#114-116) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#118-125) is never used and should be removed
Remove unused functions.
Additional information: link
Redundant expression "this (#60)" inContext (#52-63)
Remove redundant statements if they congest code but offer no value.
Additional information: link
Reentrancy in MobiPad._transfer(address,address,uint256) (#464-489):
External calls:
- _beforeTokenTransfer(_msgSender(),recipient,amount) (#469)
- antisnipe.assureCanTransfer(msg.sender,from,to,amount) (#329)
State variables written after the call(s):
- _transferWithoutTax(sender,recipient,amount) (#477)
- _balances[sender] = _balances[sender].sub(amount,BEP20: transfer amount exceeds balance) (#530-533)
- _balances[recipient] = _balances[recipient].add(amount) (#534)
- _transferWithTax(sender,recipient,amount) (#481)
- _balances[sender] = _balances[sender].sub(amount,BEP20: transfer amount exceeds balance) (#509-512)
- _balances[recipient] = _balances[recipient].add(taxedAmount) (#513)
- _balances[_taxStoreAddr] = _balances[_taxStoreAddr].add(tTax) (#517)
- _transferWithoutTax(sender,recipient,amount) (#483)
- _balances[sender] = _balances[sender].sub(amount,BEP20: transfer amount exceeds balance) (#530-533)
- _balances[recipient] = _balances[recipient].add(amount) (#534)
- _transferWithoutTax(sender,recipient,amount) (#487)
- _balances[sender] = _balances[sender].sub(amount,BEP20: transfer amount exceeds balance) (#530-533)
- _balances[recipient] = _balances[recipient].add(amount) (#534)
- _transferWithTax(sender,recipient,amount) (#481)
- _totalSupply = _totalSupply.sub(tTax) (#519)
Reentrancy in MobiPad.transferFrom(address,address,uint256) (#405-420):
External calls:
- _transfer(sender,recipient,amount) (#410)
- antisnipe.assureCanTransfer(msg.sender,from,to,amount) (#329)
State variables written after the call(s):
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,BEP20: transfer amount exceeds allowance)) (#411-418)
- _allowances[owner][spender] = amount (#569)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in MobiPad._transfer(address,address,uint256) (#464-489):
External calls:
- _beforeTokenTransfer(_msgSender(),recipient,amount) (#469)
- antisnipe.assureCanTransfer(msg.sender,from,to,amount) (#329)
Event emitted after the call(s):
- Transfer(sender,recipient,amount) (#535)
- _transferWithoutTax(sender,recipient,amount) (#477)
- Transfer(sender,recipient,amount) (#535)
- _transferWithoutTax(sender,recipient,amount) (#483)
- Transfer(sender,recipient,amount) (#535)
- _transferWithoutTax(sender,recipient,amount) (#487)
- Transfer(sender,recipient,taxedAmount) (#522)
- _transferWithTax(sender,recipient,amount) (#481)
Reentrancy in MobiPad.transferFrom(address,address,uint256) (#405-420):
External calls:
- _transfer(sender,recipient,amount) (#410)
- antisnipe.assureCanTransfer(msg.sender,from,to,amount) (#329)
Event emitted after the call(s):
- Approval(owner,spender,amount) (#570)
- _approve(sender,_msgSender(),_allowances[sender][_msgSender()].sub(amount,BEP20: transfer amount exceeds allowance)) (#411-418)
Apply the check-effects-interactions pattern.
Additional information: link
Parameter MobiPad.updateBuyTax(uint256)._percentage (#231) is not in mixedCase
Parameter MobiPad.updateSellTax(uint256)._percentage (#235) is not in mixedCase
Parameter MobiPad.setTaxEnabled(bool)._enabled (#239) is not in mixedCase
Parameter MobiPad.setTaxStoreEnabled(bool)._enabled (#243) is not in mixedCase
Parameter MobiPad.setTaxStoreAddr(address)._addr (#247) is not in mixedCase
Variable MobiPad._BUY_TAX (#189) is not in mixedCase
Variable MobiPad._SELL_TAX (#190) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
MobiPad.constructor() (#219-229) uses literals with too many digits:
- _totalSupply = 5000000000000000000 (#223)
MobiPad.constructor() (#219-229) uses literals with too many digits:
- _maxSupply = 100000000000000000000000000 (#224)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#151-154)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#156-158)
mint(uint256) should be declared external:
- MobiPad.mint(uint256) (#449-452)
Use the external attribute for functions never called from the contract.
Additional information: link
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
Unable to find token on CoinHunt
Additional information: link
Unable to find code repository for the project
Unable to find Telegram link on the website
Unable to find Twitter link on the website
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
Young tokens have high risks of price dump / death
Young tokens have high risks of price dump / death
Token has relatively low CoinGecko rank
Unable to find Blog account (Reddit or Medium)
Unable to find Youtube account
Unable to find Discord account