The main purpose of this project is to educate and introduce the digital world to the Indonesian citizens. With a community that the founder already has, LESLAR METAVERSE will be the first largest destination in the world of metaverse from Indonesia to the world.
Tokenomics.rescueBEP20Tokens(address) (contracts/abstracts/core/Tokenomics.sol#138-140) ignores return value by IERC20(tokenAddress).transfer(msg.sender,IERC20(tokenAddress).balanceOf(address(this))) (contracts/abstracts/core/Tokenomics.sol#139)
Use SafeERC20, or ensure that the transfer/transferFrom return value is checked.
Additional information: link
TxPolice.setSellCycleHours(uint256) (contracts/abstracts/features/TxPolice.sol#175-178) contains a tautology or contradiction:
- require(bool,string)(hoursCycle >= 0,Hours can't be 0.) (contracts/abstracts/features/TxPolice.sol#176)
Fix the incorrect comparison by changing the value type or the comparison.
Additional information: link
Unable to verify that contract auditor is trusted: Certik, Quantstamp, Hacken, Solidity, Paladinsec, Openzeppelin, Verichains
Contract ownership is not renounced (belongs to a wallet)
TxPolice.hasSellCycleEnded(address) (contracts/abstracts/features/TxPolice.sol#160-170) uses timestamp for comparisons
Dangerous comparisons:
- cycleEnded = timeSinceLastSell >= sellCycleHours.mul(hour) (contracts/abstracts/features/TxPolice.sol#167)
Avoid relying on block.timestamp.
Additional information: link
Tokenomics._previousTaxFee (contracts/abstracts/core/Tokenomics.sol#31) is set pre-construction with a non-constant function or state variable:
- _taxFee
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
Expensify.taxify(uint256).productDevPiece (contracts/abstracts/features/Expensify.sol#92) is a local variable never initialized
Expensify.taxify(uint256).devPiece (contracts/abstracts/features/Expensify.sol#93) is a local variable never initialized
LESLAR.constructor().exemptions (contracts/LESLAR.sol#39) is a local variable never initialized
Expensify.taxify(uint256).marketingPiece (contracts/abstracts/features/Expensify.sol#94) is a local variable never initialized
RFI._getRValues(uint256,uint256,uint256).rV (contracts/abstracts/core/RFI.sol#79) is a local variable never initialized
RFI._getTValues(uint256).tV (contracts/abstracts/core/RFI.sol#60) 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
Tokenomics.setTaxFee(uint256) (contracts/abstracts/core/Tokenomics.sol#38-44) should emit an event for:
- _taxFee = fee (contracts/abstracts/core/Tokenomics.sol#43)
Emit an event for critical parameter changes.
Additional information: link
Pancake.initDEXRouter(address).router (contracts/abstracts/core/Pancake.sol#29) lacks a zero-check on :
- routerAddr = router (contracts/abstracts/core/Pancake.sol#37)
Check that the address is not zero.
Additional information: link
Reentrancy in Pancake.initDEXRouter(address) (contracts/abstracts/core/Pancake.sol#29-46):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (contracts/abstracts/core/Pancake.sol#39-42)
State variables written after the call(s):
- addAddressToLPs(uniswapV2Pair) (contracts/abstracts/core/Pancake.sol#44)
- liquidityPools[lpAddr] = true (contracts/abstracts/core/Pancake.sol#78)
- uniswapV2Router = _uniswapV2Router (contracts/abstracts/core/Pancake.sol#43)
Apply the check-effects-interactions pattern.
Additional information: link
Reentrancy in Pancake.initDEXRouter(address) (contracts/abstracts/core/Pancake.sol#29-46):
External calls:
- uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this),_uniswapV2Router.WETH()) (contracts/abstracts/core/Pancake.sol#39-42)
Event emitted after the call(s):
- RouterSet(router,uniswapV2Pair) (contracts/abstracts/core/Pancake.sol#45)
Apply the check-effects-interactions pattern.
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.0 (@openzeppelin/contracts/access/Ownable.sol#4)
- ^0.8.0 (@openzeppelin/contracts/token/ERC20/IERC20.sol#4)
- ^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol#4)
- ^0.8.0 (@openzeppelin/contracts/utils/Context.sol#4)
- ^0.8.0 (@openzeppelin/contracts/utils/math/SafeMath.sol#4)
- >=0.5.0 (@uniswap/v2-core/contracts/interfaces/IUniswapV2Factory.sol#1)
- >=0.5.0 (@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol#1)
- >=0.6.2 (@uniswap/v2-periphery/contracts/interfaces/IUniswapV2Router01.sol#1)
- >=0.6.2 (@uniswap/v2-periphery/contracts/interfaces/IUniswapV2Router02.sol#1)
- ^0.8.4 (contracts/LESLAR.sol#2)
- ^0.8.4 (contracts/abstracts/core/Pancake.sol#2)
- ^0.8.4 (contracts/abstracts/core/RFI.sol#2)
- ^0.8.4 (contracts/abstracts/core/Supply.sol#2)
- ^0.8.4 (contracts/abstracts/core/Tokenomics.sol#2)
- ^0.8.0 (contracts/abstracts/features/Expensify.sol#2)
- ^0.8.4 (contracts/abstracts/features/TxPolice.sol#2)
- ^0.8.4 (contracts/abstracts/helpers/Helpers.sol#2)
Use one Solidity version.
Additional information: link
Context._msgData() (@openzeppelin/contracts/utils/Context.sol#21-23) is never used and should be removed
Pancake.swapTokensForBnb(uint256) (contracts/abstracts/core/Pancake.sol#52-72) is never used and should be removed
RFI.beforeTokenTransfer(address,address,uint256) (contracts/abstracts/core/RFI.sol#188-195) is never used and should be removed
RFI.takeFee(address,address) (contracts/abstracts/core/RFI.sol#197-201) is never used and should be removed
SafeMath.div(uint256,uint256,string) (@openzeppelin/contracts/utils/math/SafeMath.sol#191-200) is never used and should be removed
SafeMath.mod(uint256,uint256) (@openzeppelin/contracts/utils/math/SafeMath.sol#151-153) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (@openzeppelin/contracts/utils/math/SafeMath.sol#217-226) is never used and should be removed
SafeMath.tryAdd(uint256,uint256) (@openzeppelin/contracts/utils/math/SafeMath.sol#22-28) is never used and should be removed
SafeMath.tryDiv(uint256,uint256) (@openzeppelin/contracts/utils/math/SafeMath.sol#64-69) is never used and should be removed
SafeMath.tryMod(uint256,uint256) (@openzeppelin/contracts/utils/math/SafeMath.sol#76-81) is never used and should be removed
SafeMath.tryMul(uint256,uint256) (@openzeppelin/contracts/utils/math/SafeMath.sol#47-57) is never used and should be removed
SafeMath.trySub(uint256,uint256) (@openzeppelin/contracts/utils/math/SafeMath.sol#35-40) is never used and should be removed
Remove unused functions.
Additional information: link
Pragma version^0.8.0 (@openzeppelin/contracts/access/Ownable.sol#4) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/token/ERC20/IERC20.sol#4) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol#4) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/utils/Context.sol#4) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/utils/math/SafeMath.sol#4) allows old versions
Pragma version>=0.5.0 (@uniswap/v2-core/contracts/interfaces/IUniswapV2Factory.sol#1) allows old versions
Pragma version>=0.5.0 (@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol#1) allows old versions
Pragma version>=0.6.2 (@uniswap/v2-periphery/contracts/interfaces/IUniswapV2Router01.sol#1) allows old versions
Pragma version>=0.6.2 (@uniswap/v2-periphery/contracts/interfaces/IUniswapV2Router02.sol#1) allows old versions
Pragma version^0.8.0 (contracts/abstracts/features/Expensify.sol#2) 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
Function IUniswapV2Pair.DOMAIN_SEPARATOR() (@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol#18) is not in mixedCase
Function IUniswapV2Pair.PERMIT_TYPEHASH() (@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol#19) is not in mixedCase
Function IUniswapV2Pair.MINIMUM_LIQUIDITY() (@uniswap/v2-core/contracts/interfaces/IUniswapV2Pair.sol#36) is not in mixedCase
Function IUniswapV2Router01.WETH() (@uniswap/v2-periphery/contracts/interfaces/IUniswapV2Router01.sol#5) is not in mixedCase
Variable RFI._rOwned (contracts/abstracts/core/RFI.sol#13) is not in mixedCase
Variable RFI._tOwned (contracts/abstracts/core/RFI.sol#14) is not in mixedCase
Parameter Tokenomics.setAntibot(address,bool)._bot (contracts/abstracts/core/Tokenomics.sol#121) is not in mixedCase
Constant Tokenomics._tTotal (contracts/abstracts/core/Tokenomics.sol#21) is not in UPPER_CASE_WITH_UNDERSCORES
Variable Tokenomics._rTotal (contracts/abstracts/core/Tokenomics.sol#22) is not in mixedCase
Variable Tokenomics._taxFee (contracts/abstracts/core/Tokenomics.sol#29) is not in mixedCase
Variable Tokenomics._previousTaxFee (contracts/abstracts/core/Tokenomics.sol#31) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Variable IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (@uniswap/v2-periphery/contracts/interfaces/IUniswapV2Router01.sol#10) is too similar to IUniswapV2Router01.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (@uniswap/v2-periphery/contracts/interfaces/IUniswapV2Router01.sol#11)
Prevent variables from having similar names.
Additional information: link
LESLAR.slitherConstructorVariables() (contracts/LESLAR.sol#22-127) uses literals with too many digits:
- deadAddr = 0x000000000000000000000000000000000000dEaD (contracts/abstracts/core/Tokenomics.sol#24)
LESLAR.slitherConstructorConstantVariables() (contracts/LESLAR.sol#22-127) uses literals with too many digits:
- _tTotal = 1000000000000 * ZEROES (contracts/abstracts/core/Tokenomics.sol#21)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
RFI._tOwned (contracts/abstracts/core/RFI.sol#14) is never used in LESLAR (contracts/LESLAR.sol#22-127)
Remove unused state variables.
Additional information: link
Tokenomics._rTotal (contracts/abstracts/core/Tokenomics.sol#22) should be constant
Tokenomics.deadAddr (contracts/abstracts/core/Tokenomics.sol#24) should be constant
TxPolice.hour (contracts/abstracts/features/TxPolice.sol#87) should be constant
TxPolice.maxTxAmount (contracts/abstracts/features/TxPolice.sol#15) should be constant
TxPolice.maxWalletSize (contracts/abstracts/features/TxPolice.sol#13) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (@openzeppelin/contracts/access/Ownable.sol#54-56)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (@openzeppelin/contracts/access/Ownable.sol#62-65)
transfer(address,uint256) should be declared external:
- RFI.transfer(address,uint256) (contracts/abstracts/core/RFI.sol#226-232)
allowance(address,address) should be declared external:
- RFI.allowance(address,address) (contracts/abstracts/core/RFI.sol#234-239)
approve(address,uint256) should be declared external:
- RFI.approve(address,uint256) (contracts/abstracts/core/RFI.sol#241-247)
transferFrom(address,address,uint256) should be declared external:
- RFI.transferFrom(address,address,uint256) (contracts/abstracts/core/RFI.sol#249-264)
increaseAllowance(address,uint256) should be declared external:
- RFI.increaseAllowance(address,uint256) (contracts/abstracts/core/RFI.sol#266-276)
decreaseAllowance(address,uint256) should be declared external:
- RFI.decreaseAllowance(address,uint256) (contracts/abstracts/core/RFI.sol#278-289)
isBot(address) should be declared external:
- Tokenomics.isBot(address) (contracts/abstracts/core/Tokenomics.sol#126-128)
Use the external attribute for functions never called from the contract.
Additional information: link
Unable to find whitepaper 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 scam / 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