Switcheo offers cross-chain trading protocol for any asset and its derivatives.
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
ERC20Detailed.constructor(string,string,uint8).name (contracts/libs/token/ERC20/ERC20Detailed.sol#18) shadows:
- ERC20Detailed.name() (contracts/libs/token/ERC20/ERC20Detailed.sol#27-29) (function)
ERC20Detailed.constructor(string,string,uint8).symbol (contracts/libs/token/ERC20/ERC20Detailed.sol#18) shadows:
- ERC20Detailed.symbol() (contracts/libs/token/ERC20/ERC20Detailed.sol#35-37) (function)
ERC20Detailed.constructor(string,string,uint8).decimals (contracts/libs/token/ERC20/ERC20Detailed.sol#18) shadows:
- ERC20Detailed.decimals() (contracts/libs/token/ERC20/ERC20Detailed.sol#51-53) (function)
Rename the local variables that shadow another component.
Additional information: link
SwitcheoToken.initalize(address)._lockProxyAddress (contracts/tokens/SwitcheoToken.sol#22) lacks a zero-check on :
- lockProxyAddress = _lockProxyAddress (contracts/tokens/SwitcheoToken.sol#24)
Check that the address is not zero.
Additional information: link
ERC20._burnFrom(address,uint256) (contracts/libs/token/ERC20/ERC20.sol#226-229) is never used and should be removed
SafeMath.div(uint256,uint256) (contracts/libs/math/SafeMath.sol#98-100) is never used and should be removed
SafeMath.div(uint256,uint256,string) (contracts/libs/math/SafeMath.sol#113-120) is never used and should be removed
SafeMath.mod(uint256,uint256) (contracts/libs/math/SafeMath.sol#133-135) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (contracts/libs/math/SafeMath.sol#148-151) is never used and should be removed
SafeMath.mul(uint256,uint256) (contracts/libs/math/SafeMath.sol#73-85) is never used and should be removed
Remove unused functions.
Additional information: link
Parameter SwitcheoToken.initalize(address)._lockProxyAddress (contracts/tokens/SwitcheoToken.sol#22) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
totalSupply() should be declared external:
- ERC20.totalSupply() (contracts/libs/token/ERC20/ERC20.sol#43-45)
balanceOf(address) should be declared external:
- ERC20.balanceOf(address) (contracts/libs/token/ERC20/ERC20.sol#50-52)
transfer(address,uint256) should be declared external:
- ERC20.transfer(address,uint256) (contracts/libs/token/ERC20/ERC20.sol#62-65)
allowance(address,address) should be declared external:
- ERC20.allowance(address,address) (contracts/libs/token/ERC20/ERC20.sol#70-72)
approve(address,uint256) should be declared external:
- ERC20.approve(address,uint256) (contracts/libs/token/ERC20/ERC20.sol#81-84)
transferFrom(address,address,uint256) should be declared external:
- ERC20.transferFrom(address,address,uint256) (contracts/libs/token/ERC20/ERC20.sol#98-102)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (contracts/libs/token/ERC20/ERC20.sol#116-119)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (contracts/libs/token/ERC20/ERC20.sol#135-138)
name() should be declared external:
- ERC20Detailed.name() (contracts/libs/token/ERC20/ERC20Detailed.sol#27-29)
symbol() should be declared external:
- ERC20Detailed.symbol() (contracts/libs/token/ERC20/ERC20Detailed.sol#35-37)
decimals() should be declared external:
- ERC20Detailed.decimals() (contracts/libs/token/ERC20/ERC20Detailed.sol#51-53)
initalize(address) should be declared external:
- SwitcheoToken.initalize(address) (contracts/tokens/SwitcheoToken.sol#22-25)
Use the external attribute for functions never called from the contract.
Additional information: link
Unable to find audit link on the website
Unable to find whitepaper link on the website
Young tokens have high risks of scam / price dump / death
Last post in Twitter was more than 30 days ago
Unable to find Youtube account