VAST COIN Token Logo

VAST [VAST COIN] Token

About VAST

Listings

Not Found
Token 21 months

Website

Not Found

Description

Not Found

Social

Not Found

Laser Scorebeta Last Audit: 22 September 2022

report
Token seems to be anonymous. As long as we are unable to find website score is limited.

TokenRecover.recoverERC20(address,uint256) (#1128-1130) ignores return value by IERC20(tokenAddress).transfer(owner(),tokenAmount) (#1129)
Use SafeERC20, or ensure that the transfer/transferFrom return value is checked.

Additional information: link


Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)


Contract ownership is not renounced (belongs to a wallet)

Variable Ownable._owner (#1067) is not in mixedCase
Follow the Solidity naming convention.

Additional information: link

CoinToken.constructor(string,string,uint8,uint256,address,address).feeReceiver_ (#1243) lacks a zero-check on :
- address(feeReceiver_).transfer(msg.value) (#1245)
CoinToken.constructor(string,string,uint8,uint256,address,address).tokenOwner (#1242) lacks a zero-check on :
- _owner = tokenOwner (#1246)
Check that the address is not zero.

Additional information: link

Address.isContract(address) (#510-519) uses assembly
- INLINE ASM (#517)
Address._verifyCallResult(bool,bytes,string) (#655-672) uses assembly
- INLINE ASM (#664-667)
Do not use evm assembly.

Additional information: link

Address._verifyCallResult(bool,bytes,string) (#655-672) is never used and should be removed
Address.functionCall(address,bytes) (#563-565) is never used and should be removed
Address.functionCall(address,bytes,string) (#573-575) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#588-590) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#598-605) is never used and should be removed
Address.functionDelegateCall(address,bytes) (#637-639) is never used and should be removed
Address.functionDelegateCall(address,bytes,string) (#647-653) is never used and should be removed
Address.functionStaticCall(address,bytes) (#613-615) is never used and should be removed
Address.functionStaticCall(address,bytes,string) (#623-629) is never used and should be removed
Address.sendValue(address,uint256) (#537-543) is never used and should be removed
Context._msgData() (#129-132) is never used and should be removed
Remove unused functions.

Additional information: link

Pragma version^0.8.0 (#3) allows old versions
Pragma version^0.8.0 (#83) allows old versions
Pragma version^0.8.0 (#112) allows old versions
Pragma version^0.8.0 (#139) allows old versions
Pragma version^0.8.0 (#445) allows old versions
Pragma version^0.8.0 (#487) allows old versions
Pragma version^0.8.0 (#679) allows old versions
Pragma version^0.8.0 (#706) allows old versions
Pragma version^0.8.0 (#736) allows old versions
Pragma version^0.8.0 (#829) allows old versions
Pragma version^0.8.0 (#863) allows old versions
Pragma version^0.8.0 (#895) allows old versions
Pragma version^0.8.0 (#1052) allows old versions
Pragma version^0.8.0 (#1114) allows old versions
Pragma version^0.8.0 (#1137) allows old versions
Pragma version^0.8.0 (#1164) allows old versions
Pragma version^0.8.0 (#1230) 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

Low level call in Address.sendValue(address,uint256) (#537-543):
- (success) = recipient.call{value: amount}() (#541)
Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (#598-605):
- (success,returndata) = target.call{value: value}(data) (#603)
Low level call in Address.functionStaticCall(address,bytes,string) (#623-629):
- (success,returndata) = target.staticcall(data) (#627)
Low level call in Address.functionDelegateCall(address,bytes,string) (#647-653):
- (success,returndata) = target.delegatecall(data) (#651)
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 (#130)" inContext (#124-133)
Remove redundant statements if they congest code but offer no value.

Additional information: link

Reentrancy in CoinToken.constructor(string,string,uint8,uint256,address,address) (#1237-1249):
External calls:
- address(feeReceiver_).transfer(msg.value) (#1245)
State variables written after the call(s):
- _mint(tokenOwner,initialBalance_ * 10 ** uint256(decimals_)) (#1247)
- _balances[account] += amount (#375)
- _owner = tokenOwner (#1246)
- _mint(tokenOwner,initialBalance_ * 10 ** uint256(decimals_)) (#1247)
- _totalSupply += amount (#374)
Event emitted after the call(s):
- Transfer(address(0),account,amount) (#376)
- _mint(tokenOwner,initialBalance_ * 10 ** uint256(decimals_)) (#1247)
Apply the check-effects-interactions pattern.

Additional information: link

name() should be declared external:
- ERC20.name() (#195-197)
symbol() should be declared external:
- ERC20.symbol() (#203-205)
totalSupply() should be declared external:
- ERC20.totalSupply() (#227-229)
balanceOf(address) should be declared external:
- ERC20.balanceOf(address) (#234-236)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (#305-308)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (#324-330)
burn(uint256) should be declared external:
- ERC20Burnable.burn(uint256) (#460-462)
burnFrom(address,uint256) should be declared external:
- ERC20Burnable.burnFrom(address,uint256) (#475-480)
transferAndCall(address,uint256) should be declared external:
- ERC1363.transferAndCall(address,uint256) (#923-925)
transferFromAndCall(address,address,uint256) should be declared external:
- ERC1363.transferFromAndCall(address,address,uint256) (#951-957)
approveAndCall(address,uint256) should be declared external:
- ERC1363.approveAndCall(address,uint256) (#984-986)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#1094-1097)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#1103-1107)
recoverERC20(address,uint256) should be declared external:
- TokenRecover.recoverERC20(address,uint256) (#1128-1130)
Use the external attribute for functions never called from the contract.

Additional information: link

Holders:


Token seems to be untradeable: there is no PancakeSwap trading pair and no trading volumes. Ignore for presale.


Unable to find Telegram and Twitter accounts


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

Price for VAST