PSP is the governance token for ParaSwap with the aim to provide a decentralized exchange aggregator that is decentralized and market efficient.
Contract ownership is semi-renounced (passed to a contract)
Pragma version^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#7) allows old versions
Pragma version^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#92) allows old versions
Pragma version^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#121) allows old versions
Pragma version^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#148) allows old versions
Pragma version^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#505) allows old versions
Pragma version^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#543) allows old versions
Pragma version^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#606) allows old versions
Pragma version^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#676) allows old versions
Pragma version^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#911) allows old versions
Pragma version^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1016) allows old versions
Pragma version^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1062) allows old versions
Pragma version^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1150) allows old versions
Pragma version^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1241) allows old versions
Pragma version^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1273) allows old versions
Pragma version^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1301) allows old versions
Pragma version^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1331) allows old versions
Pragma version^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1555) allows old versions
Pragma version^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1915) allows old versions
Pragma version^0.8.2 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1978) 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
AccessControlEnumerable._grantRole(bytes32,address) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1961-1964) ignores return value by _roleMembers[role].add(account) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1963)
AccessControlEnumerable._revokeRole(bytes32,address) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1969-1972) ignores return value by _roleMembers[role].remove(account) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1971)
Ensure that all the return values of the function calls are used.
Additional information: link
ERC20Permit.constructor(string).name (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1092) shadows:
- ERC20.name() (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#204-206) (function)
- IERC20Metadata.name() (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#103) (function)
PSP_BEP20.setMinterCap(address,uint256).cap (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#2025) shadows:
- ERC20Capped.cap() (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#525-527) (function)
Rename the local variables that shadow another component.
Additional information: link
Variable 'ECDSA.tryRecover(bytes32,bytes).r (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#732)' in ECDSA.tryRecover(bytes32,bytes) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#727-756) potentially used before declaration: r = mload(uint256)(signature + 0x20) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#749)
Move all variable declarations prior to any usage of the variable, and ensure that reaching a variable declaration does not depend on some conditional if it is used unconditionally.
Additional information: link
ERC20Permit.permit(address,address,uint256,uint256,uint8,bytes32,bytes32) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1097-1116) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(block.timestamp <= deadline,ERC20Permit: expired deadline) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1106)
Avoid relying on block.timestamp.
Additional information: link
ECDSA.tryRecover(bytes32,bytes) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#727-756) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#737-741)
- INLINE ASM (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#748-751)
ECDSA.tryRecover(bytes32,bytes32,bytes32) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#785-797) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#792-795)
EnumerableSet.values(EnumerableSet.AddressSet) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1825-1834) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1829-1831)
EnumerableSet.values(EnumerableSet.UintSet) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1898-1907) uses assembly
- INLINE ASM (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1902-1904)
Do not use evm assembly.
Additional information: link
Different versions of Solidity is used:
- Version used: ['^0.8.0', '^0.8.2']
- ^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#7)
- ^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#92)
- ^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#121)
- ^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#148)
- ^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#505)
- ^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#543)
- ^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#606)
- ^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#676)
- ^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#911)
- ^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1016)
- ^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1062)
- ^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1150)
- ^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1241)
- ^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1273)
- ^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1301)
- ^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1331)
- ^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1555)
- ^0.8.0 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1915)
- ^0.8.2 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1978)
Use one Solidity version.
Additional information: link
AccessControl._setRoleAdmin(bytes32,bytes32) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1519-1523) is never used and should be removed
AccessControl._setupRole(bytes32,address) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1510-1512) is never used and should be removed
Context._msgData() (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#138-140) is never used and should be removed
Counters.decrement(Counters.Counter) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1044-1050) is never used and should be removed
Counters.reset(Counters.Counter) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1052-1054) is never used and should be removed
ECDSA.recover(bytes32,bytes) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#772-776) is never used and should be removed
ECDSA.recover(bytes32,bytes32,bytes32) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#804-812) is never used and should be removed
ECDSA.toEthSignedMessageHash(bytes) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#888-890) is never used and should be removed
ECDSA.toEthSignedMessageHash(bytes32) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#874-878) is never used and should be removed
ECDSA.tryRecover(bytes32,bytes) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#727-756) is never used and should be removed
ECDSA.tryRecover(bytes32,bytes32,bytes32) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#785-797) is never used and should be removed
EnumerableSet._values(EnumerableSet.Set) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1693-1695) is never used and should be removed
EnumerableSet.add(EnumerableSet.Bytes32Set,bytes32) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1709-1711) is never used and should be removed
EnumerableSet.add(EnumerableSet.UintSet,uint256) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1848-1850) is never used and should be removed
EnumerableSet.at(EnumerableSet.Bytes32Set,uint256) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1747-1749) is never used and should be removed
EnumerableSet.at(EnumerableSet.UintSet,uint256) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1886-1888) is never used and should be removed
EnumerableSet.contains(EnumerableSet.AddressSet,address) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1792-1794) is never used and should be removed
EnumerableSet.contains(EnumerableSet.Bytes32Set,bytes32) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1726-1728) is never used and should be removed
EnumerableSet.contains(EnumerableSet.UintSet,uint256) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1865-1867) is never used and should be removed
EnumerableSet.length(EnumerableSet.Bytes32Set) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1733-1735) is never used and should be removed
EnumerableSet.length(EnumerableSet.UintSet) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1872-1874) is never used and should be removed
EnumerableSet.remove(EnumerableSet.Bytes32Set,bytes32) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1719-1721) is never used and should be removed
EnumerableSet.remove(EnumerableSet.UintSet,uint256) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1858-1860) is never used and should be removed
EnumerableSet.values(EnumerableSet.AddressSet) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1825-1834) is never used and should be removed
EnumerableSet.values(EnumerableSet.Bytes32Set) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1759-1761) is never used and should be removed
EnumerableSet.values(EnumerableSet.UintSet) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1898-1907) is never used and should be removed
Strings.toHexString(uint256) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#642-653) is never used and should be removed
Strings.toString(uint256) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#617-637) is never used and should be removed
Remove unused functions.
Additional information: link
Function IERC20Permit.DOMAIN_SEPARATOR() (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#598) is not in mixedCase
Variable EIP712._CACHED_DOMAIN_SEPARATOR (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#936) is not in mixedCase
Variable EIP712._CACHED_CHAIN_ID (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#937) is not in mixedCase
Variable EIP712._CACHED_THIS (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#938) is not in mixedCase
Variable EIP712._HASHED_NAME (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#940) is not in mixedCase
Variable EIP712._HASHED_VERSION (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#941) is not in mixedCase
Variable EIP712._TYPE_HASH (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#942) is not in mixedCase
Function ERC20Permit.DOMAIN_SEPARATOR() (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1129-1131) is not in mixedCase
Variable ERC20Permit._PERMIT_TYPEHASH (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1084-1085) is not in mixedCase
Contract PSP_BEP20 (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1982-2030) is not in CapWords
Follow the Solidity naming convention.
Additional information: link
name() should be declared external:
- ERC20.name() (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#204-206)
symbol() should be declared external:
- ERC20.symbol() (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#212-214)
decimals() should be declared external:
- ERC20.decimals() (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#229-231)
balanceOf(address) should be declared external:
- ERC20.balanceOf(address) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#243-245)
transfer(address,uint256) should be declared external:
- ERC20.transfer(address,uint256) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#255-258)
allowance(address,address) should be declared external:
- ERC20.allowance(address,address) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#263-265)
approve(address,uint256) should be declared external:
- ERC20.approve(address,uint256) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#274-277)
transferFrom(address,address,uint256) should be declared external:
- ERC20.transferFrom(address,address,uint256) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#292-306)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#320-323)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#339-347)
permit(address,address,uint256,uint256,uint8,bytes32,bytes32) should be declared external:
- ERC20Permit.permit(address,address,uint256,uint256,uint8,bytes32,bytes32) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1097-1116)
nonces(address) should be declared external:
- ERC20Permit.nonces(address) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1121-1123)
grantRole(bytes32,address) should be declared external:
- AccessControl.grantRole(bytes32,address) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1455-1457)
revokeRole(bytes32,address) should be declared external:
- AccessControl.revokeRole(bytes32,address) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1468-1470)
renounceRole(bytes32,address) should be declared external:
- AccessControl.renounceRole(bytes32,address) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1486-1490)
getRoleMemberCount(bytes32) should be declared external:
- AccessControlEnumerable.getRoleMemberCount(bytes32) (crytic-export/etherscan-contracts/0xcafe001067cdef266afb7eb5a286dcfd277f3de5.bscscan.com-PSP_BEP20.sol#1954-1956)
Use the external attribute for functions never called from the contract.
Additional information: link
Young tokens have high risks of price dump / death
Token has no active CoinMarketCap listing / rank
Unable to find Youtube account