TC - A payment method designed to be used by TTcoin institutions and organizations.
Contract ownership is not renounced (belongs to a wallet)
Unable to verify that contract auditor is trusted: Certik, Quantstamp, Hacken, Solidity, Paladinsec, Openzeppelin, Verichains
FreezableToken.toKey(address,uint256) (#512-519) uses literals with too many digits:
- result = 0x5749534800000000000000000000000000000000000000000000000000000000 (#514)
MainToken.init() (#710-737) uses literals with too many digits:
- amounts = (uint256(20000000000000)) (#720)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
FreezableToken.toKey(address,uint256) (#512-519) is declared view but contains assembly code
Ensure the attributes of contracts compiled prior to Solidity 0.5.0 are correct.
Additional information: link
FreezableToken.releaseAll() (#501-510) uses timestamp for comparisons
Dangerous comparisons:
- release != 0 && block.timestamp > release (#505)
FreezableToken.freeze(address,uint64) (#521-552) uses timestamp for comparisons
Dangerous comparisons:
- require(bool)(_until > block.timestamp) (#522)
FreezableToken.releaseOnce() (#473-495) uses timestamp for comparisons
Dangerous comparisons:
- require(bool)(uint64(block.timestamp) > head) (#477)
Avoid relying on block.timestamp.
Additional information: link
FreezableToken.toKey(address,uint256) (#512-519) uses assembly
- INLINE ASM (#515-519)
Do not use evm assembly.
Additional information: link
FreezableToken.releaseOnce() (#473-495) has costly operations inside a loop:
- delete freezings[currentKey] (#483)
FreezableToken.releaseOnce() (#473-495) has costly operations inside a loop:
- delete chains[headKey] (#489)
FreezableToken.releaseOnce() (#473-495) has costly operations inside a loop:
- delete chains[currentKey] (#492)
Use a local variable to hold the loop computation result.
Additional information: link
SafeMath.mul(uint256,uint256) (#41-52) is never used and should be removed
SafeMath.div(uint256,uint256) (#57-62) is never used and should be removed
Remove unused functions.
Additional information: link
Pragma version^0.4.23 (#16) allows old versions
solc-0.4.24 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
Parameter BurnableToken.burn(uint256)._value (#568) is not in mixedCase
Parameter FreezableMintableToken.mintAndFreeze(address,uint256,uint64)._to (#641) is not in mixedCase
Parameter FreezableToken.freeze(address,uint64)._to (#521) is not in mixedCase
Parameter StandardToken.allowance(address,address)._spender (#207) is not in mixedCase
Parameter StandardToken.approve(address,uint256)._value (#193) is not in mixedCase
Parameter MainToken.transferFrom(address,address,uint256)._from (#699) is not in mixedCase
Parameter FreezableToken.getFreezing(address,uint256)._index (#437) is not in mixedCase
Parameter BasicToken.transfer(address,uint256)._value (#107) is not in mixedCase
Parameter StandardToken.allowance(address,address)._owner (#206) is not in mixedCase
Parameter MainToken.transferFrom(address,address,uint256)._value (#699) is not in mixedCase
Parameter MintableToken.mint(address,uint256)._to (#360) is not in mixedCase
Parameter FreezableToken.actualBalanceOf(address)._owner (#412) is not in mixedCase
Parameter FreezableToken.freezingCount(address)._addr (#424) is not in mixedCase
Parameter StandardToken.transferFrom(address,address,uint256)._from (#166) is not in mixedCase
Parameter FreezableToken.freezeTo(address,uint256,uint64)._amount (#455) is not in mixedCase
Parameter FreezableToken.getFreezing(address,uint256)._addr (#437) is not in mixedCase
Parameter FreezableToken.freezeTo(address,uint256,uint64)._until (#455) is not in mixedCase
Parameter FreezableToken.freezingBalanceOf(address)._owner (#416) is not in mixedCase
Parameter StandardToken.transferFrom(address,address,uint256)._to (#167) is not in mixedCase
Parameter MainToken.transfer(address,uint256)._value (#704) is not in mixedCase
Parameter MainToken.transferFrom(address,address,uint256)._to (#699) is not in mixedCase
Parameter StandardToken.approve(address,uint256)._spender (#193) is not in mixedCase
Parameter FreezableMintableToken.mintAndFreeze(address,uint256,uint64)._amount (#641) is not in mixedCase
Parameter FreezableToken.freeze(address,uint64)._until (#521) is not in mixedCase
Parameter StandardToken.increaseApproval(address,uint256)._spender (#227) is not in mixedCase
Parameter BasicToken.transfer(address,uint256)._to (#107) is not in mixedCase
Parameter StandardToken.decreaseApproval(address,uint256)._spender (#250) is not in mixedCase
Parameter FreezableToken.freezeTo(address,uint256,uint64)._to (#455) is not in mixedCase
Parameter BasicToken.balanceOf(address)._owner (#122) is not in mixedCase
Parameter MintableToken.mint(address,uint256)._amount (#361) is not in mixedCase
Parameter StandardToken.increaseApproval(address,uint256)._addedValue (#228) is not in mixedCase
Parameter StandardToken.decreaseApproval(address,uint256)._subtractedValue (#251) is not in mixedCase
Parameter MainToken.transfer(address,uint256)._to (#704) is not in mixedCase
Parameter Ownable.transferOwnership(address)._newOwner (#314) is not in mixedCase
Parameter FreezableMintableToken.mintAndFreeze(address,uint256,uint64)._until (#641) is not in mixedCase
Parameter StandardToken.transferFrom(address,address,uint256)._value (#168) is not in mixedCase
Parameter FreezableToken.balanceOf(address)._owner (#403) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
increaseApproval(address,uint256) should be declared external:
- StandardToken.increaseApproval(address,uint256) (#226-237)
totalSupply() should be declared external:
- BEP20Basic.totalSupply() (#24)
- BasicToken.totalSupply() (#98-100)
burn(uint256) should be declared external:
- BurnableToken.burn(uint256) (#568-570)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#305-308)
actualBalanceOf(address) should be declared external:
- FreezableToken.actualBalanceOf(address) (#412-414)
freezingCount(address) should be declared external:
- FreezableToken.freezingCount(address) (#424-430)
unpause() should be declared external:
- Pausable.unpause() (#624-627)
freezingBalanceOf(address) should be declared external:
- FreezableToken.freezingBalanceOf(address) (#416-418)
releaseAll() should be declared external:
- FreezableToken.releaseAll() (#501-510)
symbol() should be declared external:
- MainToken.symbol() (#691-693)
decreaseApproval(address,uint256) should be declared external:
- StandardToken.decreaseApproval(address,uint256) (#249-264)
freezeTo(address,uint256,uint64) should be declared external:
- FreezableToken.freezeTo(address,uint256,uint64) (#455-468)
decimals() should be declared external:
- MainToken.decimals() (#695-697)
name() should be declared external:
- MainToken.name() (#687-689)
allowance(address,address) should be declared external:
- BEP20.allowance(address,address) (#133-134)
- StandardToken.allowance(address,address) (#205-214)
approve(address,uint256) should be declared external:
- BEP20.approve(address,uint256) (#139)
- StandardToken.approve(address,uint256) (#193-197)
Use the external attribute for functions never called from the contract.
Additional information: link
Token has relatively low CoinMarketCap rank
Twitter account link seems to be invalid
Unable to find Discord account