Wault Finance is dedicated to making an effective and user-friendly yield generators and lending aggregators.
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Address.isContract(address) (#631-640) uses assembly
- INLINE ASM (#638)
Address._verifyCallResult(bool,bytes,string) (#776-793) uses assembly
- INLINE ASM (#785-788)
Do not use evm assembly.
Additional information: link
Address._verifyCallResult(bool,bytes,string) (#776-793) is never used and should be removed
Address.functionCall(address,bytes) (#684-686) is never used and should be removed
Address.functionCall(address,bytes,string) (#694-696) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#709-711) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#719-726) is never used and should be removed
Address.functionDelegateCall(address,bytes) (#758-760) is never used and should be removed
Address.functionDelegateCall(address,bytes,string) (#768-774) is never used and should be removed
Address.functionStaticCall(address,bytes) (#734-736) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (#744-750) is never used and should be removed
Address.isContract(address) (#631-640) is never used and should be removed
Address.sendValue(address,uint256) (#658-664) is never used and should be removed
Context._msgData() (#20-23) is never used and should be removed
ERC20._burn(address,uint256) (#551-559) is never used and should be removed
ERC20._setupDecimals(uint8) (#589-591) is never used and should be removed
SafeERC20._callOptionalReturn(IERC20,bytes) (#914-924) is never used and should be removed
SafeERC20.safeApprove(IERC20,address,uint256) (#887-896) is never used and should be removed
SafeERC20.safeDecreaseAllowance(IERC20,address,uint256) (#903-906) is never used and should be removed
SafeERC20.safeIncreaseAllowance(IERC20,address,uint256) (#898-901) is never used and should be removed
SafeERC20.safeTransfer(IERC20,address,uint256) (#872-874) is never used and should be removed
SafeERC20.safeTransferFrom(IERC20,address,address,uint256) (#876-878) is never used and should be removed
SafeMath.div(uint256,uint256) (#230-233) is never used and should be removed
SafeMath.div(uint256,uint256,string) (#285-288) is never used and should be removed
SafeMath.mod(uint256,uint256) (#247-250) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#305-308) is never used and should be removed
SafeMath.mul(uint256,uint256) (#211-216) is never used and should be removed
SafeMath.sub(uint256,uint256) (#196-199) is never used and should be removed
SafeMath.tryAdd(uint256,uint256) (#119-123) is never used and should be removed
SafeMath.tryDiv(uint256,uint256) (#155-158) is never used and should be removed
SafeMath.tryMod(uint256,uint256) (#165-168) is never used and should be removed
SafeMath.tryMul(uint256,uint256) (#140-148) is never used and should be removed
SafeMath.trySub(uint256,uint256) (#130-133) is never used and should be removed
Remove unused functions.
Additional information: link
Pragma version>=0.6.0<0.8.0 (#3) is too complex
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
Low level call in Address.sendValue(address,uint256) (#658-664):
- (success) = recipient.call{value: amount}() (#662)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (#719-726):
- (success,returndata) = target.call{value: value}(data) (#724)
Low level call in Address.functionStaticCall(address,bytes,string) (#744-750):
- (success,returndata) = target.staticcall(data) (#748)
Low level call in Address.functionDelegateCall(address,bytes,string) (#768-774):
- (success,returndata) = target.delegatecall(data) (#772)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Redundant expression "this (#21)" inContext (#15-24)
Remove redundant statements if they congest code but offer no value.
Additional information: link
Wault.constructor() (#928-930) uses literals with too many digits:
- _mint(msg.sender,1000000000 * (10 ** uint256(decimals()))) (#929)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
name() should be declared external:
- ERC20.name() (#366-368)
symbol() should be declared external:
- ERC20.symbol() (#374-376)
totalSupply() should be declared external:
- ERC20.totalSupply() (#398-400)
balanceOf(address) should be declared external:
- ERC20.balanceOf(address) (#405-407)
transfer(address,uint256) should be declared external:
- ERC20.transfer(address,uint256) (#417-420)
allowance(address,address) should be declared external:
- ERC20.allowance(address,address) (#425-427)
approve(address,uint256) should be declared external:
- ERC20.approve(address,uint256) (#436-439)
transferFrom(address,address,uint256) should be declared external:
- ERC20.transferFrom(address,address,uint256) (#454-458)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (#472-475)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (#491-494)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#843-846)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#852-856)
Use the external attribute for functions never called from the contract.
Additional information: link
Token has relatively low CoinMarketCap rank
Last post in Twitter was more than 30 days ago