Pandorium Token Logo

PAN [Pandorium] Token

About PAN

Listings

Token 3 years
CoinGecko 3 years
CoinMarketCap 3 years
[CoinGecko] alert: The smart-contract owner can mint new tokens, please proceed with caution.
white paper

Give a CLEAR and CONCISE description of the project. Vague or "shilly" description will result in LISTINGS DELAYS and/or REJECTION. You may use up to 10-15 sentences within 3 paragraphs or shorter to explain the project in a way that users will understand clearly the PURPOSE and FUNCTION of the project.
Pandora is a next-gen decentralized ecosystem with a dual-token model and an inclusive incentive structure for traders and farmers.

The Pandora protocol is built around NFT gaming and AMM, powered by two distinct tokens – governance token Pandora Spirit (PSR) and reward token Pandorium (PAN).
Pandora overcomes the limitations of conventional decentralized protocols by introducing an entirely pre-mined governance token PSR that shall decrease in total circulating supply over time due to its deflationary burning mechanism.
The reward token PAN is used as the primary incentive for Pandora’s user base. Its minimal value shall be defined by the NFT staking pool and the jackpot. At some point in the future, the value of PAN will not go below its minimum value.

Laser Scorebeta Last Audit: 21 July 2022

report
Token is either risky or in presale. For presale 30+ is a fine score.


Contract ownership is not renounced (belongs to a wallet)

Parameter Pandorium.burn(uint256)._amount (contracts/token/Pandorium.sol#19) is not in mixedCase
Parameter Pandorium.burnFrom(address,uint256)._account (contracts/token/Pandorium.sol#24) is not in mixedCase
Parameter Pandorium.burnFrom(address,uint256)._amount (contracts/token/Pandorium.sol#24) is not in mixedCase
Parameter Pandorium.mint(address,uint256)._account (contracts/token/Pandorium.sol#29) is not in mixedCase
Parameter Pandorium.mint(address,uint256)._amount (contracts/token/Pandorium.sol#29) is not in mixedCase
Parameter Pandorium.changeMinter(address)._newMinter (contracts/token/Pandorium.sol#35) is not in mixedCase
Follow the Solidity naming convention.

Additional information: link

EnumerableSet.values(EnumerableSet.AddressSet) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#274-283) uses assembly
- INLINE ASM (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#278-280)
EnumerableSet.values(EnumerableSet.UintSet) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#347-356) uses assembly
- INLINE ASM (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#351-353)
Do not use evm assembly.

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/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/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/structs/EnumerableSet.sol#4) 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

Pandorium.changeMinter(address)._newMinter (contracts/token/Pandorium.sol#35) lacks a zero-check on :
- minter = _newMinter (contracts/token/Pandorium.sol#37)
Check that the address is not zero.

Additional information: link

Different versions of Solidity is used:
- Version used: ['0.8.4', '^0.8.0']
- ^0.8.0 (@openzeppelin/contracts/access/Ownable.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/IERC20Metadata.sol#4)
- ^0.8.0 (@openzeppelin/contracts/utils/Context.sol#4)
- ^0.8.0 (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#4)
- 0.8.4 (contracts/token/Pandorium.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
EnumerableSet._add(EnumerableSet.Set,bytes32) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#54-64) is never used and should be removed
EnumerableSet._at(EnumerableSet.Set,uint256) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#130-132) is never used and should be removed
EnumerableSet._contains(EnumerableSet.Set,bytes32) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#109-111) is never used and should be removed
EnumerableSet._length(EnumerableSet.Set) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#116-118) is never used and should be removed
EnumerableSet._remove(EnumerableSet.Set,bytes32) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#72-104) is never used and should be removed
EnumerableSet._values(EnumerableSet.Set) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#142-144) is never used and should be removed
EnumerableSet.add(EnumerableSet.AddressSet,address) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#224-226) is never used and should be removed
EnumerableSet.add(EnumerableSet.Bytes32Set,bytes32) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#158-160) is never used and should be removed
EnumerableSet.add(EnumerableSet.UintSet,uint256) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#297-299) is never used and should be removed
EnumerableSet.at(EnumerableSet.AddressSet,uint256) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#262-264) is never used and should be removed
EnumerableSet.at(EnumerableSet.Bytes32Set,uint256) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#196-198) is never used and should be removed
EnumerableSet.at(EnumerableSet.UintSet,uint256) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#335-337) is never used and should be removed
EnumerableSet.contains(EnumerableSet.AddressSet,address) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#241-243) is never used and should be removed
EnumerableSet.contains(EnumerableSet.Bytes32Set,bytes32) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#175-177) is never used and should be removed
EnumerableSet.contains(EnumerableSet.UintSet,uint256) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#314-316) is never used and should be removed
EnumerableSet.length(EnumerableSet.AddressSet) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#248-250) is never used and should be removed
EnumerableSet.length(EnumerableSet.Bytes32Set) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#182-184) is never used and should be removed
EnumerableSet.length(EnumerableSet.UintSet) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#321-323) is never used and should be removed
EnumerableSet.remove(EnumerableSet.AddressSet,address) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#234-236) is never used and should be removed
EnumerableSet.remove(EnumerableSet.Bytes32Set,bytes32) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#168-170) is never used and should be removed
EnumerableSet.remove(EnumerableSet.UintSet,uint256) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#307-309) is never used and should be removed
EnumerableSet.values(EnumerableSet.AddressSet) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#274-283) is never used and should be removed
EnumerableSet.values(EnumerableSet.Bytes32Set) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#208-210) is never used and should be removed
EnumerableSet.values(EnumerableSet.UintSet) (@openzeppelin/contracts/utils/structs/EnumerableSet.sol#347-356) is never used and should be removed
Remove unused functions.

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)
totalSupply() should be declared external:
- ERC20.totalSupply() (@openzeppelin/contracts/token/ERC20/ERC20.sol#94-96)
balanceOf(address) should be declared external:
- ERC20.balanceOf(address) (@openzeppelin/contracts/token/ERC20/ERC20.sol#101-103)
transfer(address,uint256) should be declared external:
- ERC20.transfer(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#113-116)
approve(address,uint256) should be declared external:
- ERC20.approve(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#132-135)
transferFrom(address,address,uint256) should be declared external:
- ERC20.transferFrom(address,address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#150-164)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#178-181)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#197-205)
mint(address,uint256) should be declared external:
- Pandorium.mint(address,uint256) (contracts/token/Pandorium.sol#29-31)
changeMinter(address) should be declared external:
- Pandorium.changeMinter(address) (contracts/token/Pandorium.sol#35-39)
Use the external attribute for functions never called from the contract.

Additional information: link

Holders:


Average 30d PancakeSwap volume is low.


Average 30d PancakeSwap liquidity is low.


Average 30d number of PancakeSwap swaps is low.


Average PancakeSwap trading volume, liqudity, number of swaps are low. Token seems to be inactive.


Token is deployed only at one blockchain


Unable to find Youtube account


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


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


Token has relatively low CoinGecko rank


Token has relatively low CoinMarketCap rank

Price for PAN

News for PAN