Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Contract ownership is not renounced (belongs to a wallet)
CTXToken.allowance(address,address).owner (#573) shadows:
- Ownable.owner() (#123-125) (function)
CTXToken._approve(address,address,uint256).owner (#740) shadows:
- Ownable.owner() (#123-125) (function)
Rename the local variables that shadow another component.
Additional information: link
EnumerableSet.values(EnumerableSet.AddressSet) (#401-410) uses assembly
- INLINE ASM (#405-407)
EnumerableSet.values(EnumerableSet.UintSet) (#474-483) uses assembly
- INLINE ASM (#478-480)
Do not use evm assembly.
Additional information: link
Context._msgData() (#102-104) is never used and should be removed
EnumerableSet._values(EnumerableSet.Set) (#269-271) is never used and should be removed
EnumerableSet.add(EnumerableSet.Bytes32Set,bytes32) (#285-287) is never used and should be removed
EnumerableSet.add(EnumerableSet.UintSet,uint256) (#424-426) is never used and should be removed
EnumerableSet.at(EnumerableSet.Bytes32Set,uint256) (#323-325) is never used and should be removed
EnumerableSet.at(EnumerableSet.UintSet,uint256) (#462-464) is never used and should be removed
EnumerableSet.contains(EnumerableSet.Bytes32Set,bytes32) (#302-304) is never used and should be removed
EnumerableSet.contains(EnumerableSet.UintSet,uint256) (#441-443) is never used and should be removed
EnumerableSet.length(EnumerableSet.Bytes32Set) (#309-311) is never used and should be removed
EnumerableSet.length(EnumerableSet.UintSet) (#448-450) is never used and should be removed
EnumerableSet.remove(EnumerableSet.Bytes32Set,bytes32) (#295-297) is never used and should be removed
EnumerableSet.remove(EnumerableSet.UintSet,uint256) (#434-436) is never used and should be removed
EnumerableSet.values(EnumerableSet.AddressSet) (#401-410) is never used and should be removed
EnumerableSet.values(EnumerableSet.Bytes32Set) (#335-337) is never used and should be removed
EnumerableSet.values(EnumerableSet.UintSet) (#474-483) is never used and should be removed
Remove unused functions.
Additional information: link
Pragma version^0.8.0 (#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
Parameter CTXToken.mint(address,uint256)._to (#752) is not in mixedCase
Parameter CTXToken.mint(address,uint256)._amount (#752) is not in mixedCase
Parameter CTXToken.addMinter(address)._addMinter (#758) is not in mixedCase
Parameter CTXToken.delMinter(address)._delMinter (#763) is not in mixedCase
Parameter CTXToken.getMinter(uint256)._index (#776) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
CTXToken._name (#492) should be constant
CTXToken._symbol (#493) should be constant
CTXToken.initNumber (#494) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
owner() should be declared external:
- Ownable.owner() (#123-125)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#142-145)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#151-155)
name() should be declared external:
- CTXToken.name() (#514-516)
symbol() should be declared external:
- CTXToken.symbol() (#522-524)
totalSupply() should be declared external:
- CTXToken.totalSupply() (#546-548)
balanceOf(address) should be declared external:
- CTXToken.balanceOf(address) (#553-555)
transfer(address,uint256) should be declared external:
- CTXToken.transfer(address,uint256) (#565-568)
allowance(address,address) should be declared external:
- CTXToken.allowance(address,address) (#573-575)
approve(address,uint256) should be declared external:
- CTXToken.approve(address,uint256) (#587-590)
transferFrom(address,address,uint256) should be declared external:
- CTXToken.transferFrom(address,address,uint256) (#608-624)
increaseAllowance(address,uint256) should be declared external:
- CTXToken.increaseAllowance(address,uint256) (#638-641)
decreaseAllowance(address,uint256) should be declared external:
- CTXToken.decreaseAllowance(address,uint256) (#657-665)
mint(address,uint256) should be declared external:
- CTXToken.mint(address,uint256) (#752-756)
addMinter(address) should be declared external:
- CTXToken.addMinter(address) (#758-761)
delMinter(address) should be declared external:
- CTXToken.delMinter(address) (#763-766)
getMinter(uint256) should be declared external:
- CTXToken.getMinter(uint256) (#776-779)
setIsPair(address,bool) should be declared external:
- CTXToken.setIsPair(address,bool) (#789-791)
Use the external attribute for functions never called from the contract.
Additional information: link
Unable to find website, listings and other project-related information
Young tokens have high risks of scam / price dump / death
Token has no active CoinGecko listing / rank
Token has no active CoinMarketCap listing / rank
Unable to find Telegram and Twitter accounts