Paragen is a chain-agnostic game and metaverse curator, Incubator and launchpad connecting the greater mass with Advanced projects built on the binance smart chain network. Paragen creates a platform that allows gamers, traders, and investors to access the metaverse and game projects launched in the blockchain market. The utility of digital assets and the value of scarcity are the common elements between gaming and crypto. Paragen is pioneering a framework for crypto games to advance their project delivery via a revolutionary Launchpad. Paragen follows an 8 tier guaranteed allocation system with low entry barriers to ensure all users are able to participate.
Unable to verify that contract auditor is trusted: Certik, Quantstamp, Hacken, Solidity, Paladinsec, Openzeppelin, Verichains
Contract ownership is not renounced (belongs to a wallet)
Different versions of Solidity is used:
- Version used: ['0.8.11', '^0.8.0']
- ^0.8.0 (@openzeppelin/contracts/access/Ownable.sol#4)
- ^0.8.0 (@openzeppelin/contracts/security/Pausable.sol#4)
- ^0.8.0 (@openzeppelin/contracts/token/ERC20/ERC20.sol#4)
- ^0.8.0 (@openzeppelin/contracts/token/ERC20/IERC20.sol#4)
- ^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol#4)
- ^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/ERC20Capped.sol#4)
- ^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.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 (contracts/paragen_v1/paragen_v1/contracts/IPLPS.sol#2)
- 0.8.11 (contracts/paragen_v1/paragen_v1/contracts/Paragen.sol#5)
- ^0.8.0 (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#2)
- ^0.8.0 (contracts/paragen_v1/paragen_v1/contracts/external/UniswapV2Library.sol#2)
- ^0.8.0 (contracts/paragen_v1/paragen_v1/contracts/external/UniswapV3Library.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
ERC20Capped._mint(address,uint256) (@openzeppelin/contracts/token/ERC20/extensions/ERC20Capped.sol#33-36) is never used and should be removed
Paragen._mint(address,uint256) (contracts/paragen_v1/paragen_v1/contracts/Paragen.sol#39-45) is never used and should be removed
UsingLiquidityProtectionService.ProtectionSwitch_block(uint256) (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#109-111) is never used and should be removed
UsingLiquidityProtectionService.ProtectionSwitch_manual() (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#101-103) is never used and should be removed
UsingLiquidityProtectionService.blockPassed(uint256) (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#113-115) is never used and should be removed
UsingLiquidityProtectionService.counterToken() (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#50-52) is never used and should be removed
UsingLiquidityProtectionService.protectionAdminCheck() (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#46) is never used and should be removed
UsingLiquidityProtectionService.protectionChecker() (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#56-58) is never used and should be removed
UsingLiquidityProtectionService.token_balanceOf(address) (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#45) is never used and should be removed
UsingLiquidityProtectionService.token_transfer(address,address,uint256) (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#44) is never used and should be removed
UsingLiquidityProtectionService.uniswapFactory() (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#49) is never used and should be removed
UsingLiquidityProtectionService.uniswapVariety() (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#47) is never used and should be removed
UsingLiquidityProtectionService.uniswapVersion() (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#48) 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/security/Pausable.sol#4) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/token/ERC20/ERC20.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/ERC20Burnable.sol#4) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/ERC20Capped.sol#4) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.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 (contracts/paragen_v1/paragen_v1/contracts/IPLPS.sol#2) allows old versions
Pragma version0.8.11 (contracts/paragen_v1/paragen_v1/contracts/Paragen.sol#5) necessitates a version too recent to be trusted. Consider deploying with 0.6.12/0.7.6/0.8.7
Pragma version^0.8.0 (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#2) allows old versions
Pragma version^0.8.0 (contracts/paragen_v1/paragen_v1/contracts/external/UniswapV2Library.sol#2) allows old versions
Pragma version^0.8.0 (contracts/paragen_v1/paragen_v1/contracts/external/UniswapV3Library.sol#2) allows old versions
solc-0.8.11 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
Function IPLPS.LiquidityProtection_beforeTokenTransfer(address,address,address,uint256) (contracts/paragen_v1/paragen_v1/contracts/IPLPS.sol#5-6) is not in mixedCase
Function Paragen.token_transfer(address,address,uint256) (contracts/paragen_v1/paragen_v1/contracts/Paragen.sol#47-53) is not in mixedCase
Parameter Paragen.token_transfer(address,address,uint256)._from (contracts/paragen_v1/paragen_v1/contracts/Paragen.sol#48) is not in mixedCase
Parameter Paragen.token_transfer(address,address,uint256)._to (contracts/paragen_v1/paragen_v1/contracts/Paragen.sol#49) is not in mixedCase
Parameter Paragen.token_transfer(address,address,uint256)._amount (contracts/paragen_v1/paragen_v1/contracts/Paragen.sol#50) is not in mixedCase
Function Paragen.token_balanceOf(address) (contracts/paragen_v1/paragen_v1/contracts/Paragen.sol#55-62) is not in mixedCase
Parameter Paragen.token_balanceOf(address)._holder (contracts/paragen_v1/paragen_v1/contracts/Paragen.sol#55) is not in mixedCase
Function UsingLiquidityProtectionService.LiquidityProtection_setLiquidityProtectionService(IPLPS) (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#39-42) is not in mixedCase
Parameter UsingLiquidityProtectionService.LiquidityProtection_setLiquidityProtectionService(IPLPS)._plps (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#39) is not in mixedCase
Function UsingLiquidityProtectionService.token_transfer(address,address,uint256) (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#44) is not in mixedCase
Function UsingLiquidityProtectionService.token_balanceOf(address) (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#45) is not in mixedCase
Function UsingLiquidityProtectionService.LiquidityProtection_beforeTokenTransfer(address,address,uint256) (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#64-71) is not in mixedCase
Parameter UsingLiquidityProtectionService.LiquidityProtection_beforeTokenTransfer(address,address,uint256)._from (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#64) is not in mixedCase
Parameter UsingLiquidityProtectionService.LiquidityProtection_beforeTokenTransfer(address,address,uint256)._to (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#64) is not in mixedCase
Parameter UsingLiquidityProtectionService.LiquidityProtection_beforeTokenTransfer(address,address,uint256)._amount (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#64) is not in mixedCase
Parameter UsingLiquidityProtectionService.revokeBlocked(address[],address)._holders (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#73) is not in mixedCase
Parameter UsingLiquidityProtectionService.revokeBlocked(address[],address)._revokeTo (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#73) is not in mixedCase
Function UsingLiquidityProtectionService.LiquidityProtection_unblock(address[]) (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#87-91) is not in mixedCase
Parameter UsingLiquidityProtectionService.LiquidityProtection_unblock(address[])._holders (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#87) is not in mixedCase
Function UsingLiquidityProtectionService.ProtectionSwitch_manual() (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#101-103) is not in mixedCase
Function UsingLiquidityProtectionService.ProtectionSwitch_timestamp(uint256) (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#105-107) is not in mixedCase
Parameter UsingLiquidityProtectionService.ProtectionSwitch_timestamp(uint256)._timestamp (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#105) is not in mixedCase
Function UsingLiquidityProtectionService.ProtectionSwitch_block(uint256) (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#109-111) is not in mixedCase
Parameter UsingLiquidityProtectionService.ProtectionSwitch_block(uint256)._block (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#109) is not in mixedCase
Parameter UsingLiquidityProtectionService.blockPassed(uint256)._block (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#113) is not in mixedCase
Parameter UsingLiquidityProtectionService.passed(uint256)._timestamp (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#117) is not in mixedCase
Parameter UsingLiquidityProtectionService.not(bool)._condition (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#121) is not in mixedCase
Parameter UsingLiquidityProtectionService.feeToUint24(UsingLiquidityProtectionService.UniswapV3Fees)._fee (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#125) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
UsingLiquidityProtectionService.HUNDRED_PERCENT (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#11) is never used in Paragen (contracts/paragen_v1/paragen_v1/contracts/Paragen.sol#13-91)
UsingLiquidityProtectionService.QUICKSWAP (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#14) is never used in Paragen (contracts/paragen_v1/paragen_v1/contracts/Paragen.sol#13-91)
UsingLiquidityProtectionService.SUSHISWAP (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#15) is never used in Paragen (contracts/paragen_v1/paragen_v1/contracts/Paragen.sol#13-91)
UsingLiquidityProtectionService.PANGOLIN (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#16) is never used in Paragen (contracts/paragen_v1/paragen_v1/contracts/Paragen.sol#13-91)
UsingLiquidityProtectionService.TRADERJOE (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#17) is never used in Paragen (contracts/paragen_v1/paragen_v1/contracts/Paragen.sol#13-91)
Remove unused state variables.
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)
name() should be declared external:
- ERC20.name() (@openzeppelin/contracts/token/ERC20/ERC20.sol#62-64)
symbol() should be declared external:
- ERC20.symbol() (@openzeppelin/contracts/token/ERC20/ERC20.sol#70-72)
decimals() should be declared external:
- ERC20.decimals() (@openzeppelin/contracts/token/ERC20/ERC20.sol#87-89)
transfer(address,uint256) should be declared external:
- ERC20.transfer(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#113-117)
approve(address,uint256) should be declared external:
- ERC20.approve(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#136-140)
transferFrom(address,address,uint256) should be declared external:
- ERC20.transferFrom(address,address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#158-167)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#181-185)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#201-210)
burn(uint256) should be declared external:
- ERC20Burnable.burn(uint256) (@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol#20-22)
burnFrom(address,uint256) should be declared external:
- ERC20Burnable.burnFrom(address,uint256) (@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol#35-38)
togglePause() should be declared external:
- Paragen.togglePause() (contracts/paragen_v1/paragen_v1/contracts/Paragen.sol#26-28)
Use the external attribute for functions never called from the contract.
Additional information: link
UsingLiquidityProtectionService.revokeBlocked(address[],address) (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#73-85) has external calls inside a loop: lps().isBlocked(pool,holder) (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#80)
UsingLiquidityProtectionService.LiquidityProtection_beforeTokenTransfer(address,address,uint256) (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#64-71) has external calls inside a loop: lps().LiquidityProtection_beforeTokenTransfer(getLiquidityPool(),_from,_to,_amount) (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#69)
Favor pull over push strategy for external calls.
Additional information: link
UsingLiquidityProtectionService.passed(uint256) (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#117-119) uses timestamp for comparisons
Dangerous comparisons:
- _timestamp < block.timestamp (contracts/paragen_v1/paragen_v1/contracts/UsingLiquidityProtectionService.sol#118)
Avoid relying on block.timestamp.
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
Young tokens have high risks of price dump / death
Young tokens have high risks of price dump / death
Unable to find Youtube account