Jet Fuel is a yield farm and aggregator built on the Binance Smart Chain
FuelToken._writeCheckpoint(address,uint32,uint256,uint256) (#1079-1095) uses a dangerous strict equality:
- nCheckpoints > 0 && checkpoints[delegatee][nCheckpoints - 1].fromBlock == blockNumber (#1087)
Don't use strict equality to determine if an account has enough Ether or tokens.
Additional information: link
Unable to verify that contract auditor is trusted: Certik, Quantstamp, Hacken, Solidity, Paladinsec, Openzeppelin, Verichains
FuelToken.delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32) (#963-984) uses timestamp for comparisons
Dangerous comparisons:
- require(bool,string)(now <= expiry,FUEL::delegateBySig: signature expired) (#982)
Avoid relying on block.timestamp.
Additional information: link
FuelToken.getChainId() (#1102-1108) uses assembly
- INLINE ASM (#1104-1106)
Address.isContract(address) (#412-423) uses assembly
- INLINE ASM (#419-421)
Address._functionCallWithValue(address,bytes,uint256,string) (#520-546) uses assembly
- INLINE ASM (#538-541)
Do not use evm assembly.
Additional information: link
solc-0.6.6 is not recommended for deployment
Pragma version>=0.6.6 (#12) 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._functionCallWithValue(address,bytes,uint256,string) (#520-546):
- (success,returndata) = target.call{value: weiValue}(data) (#529)
Low level call in Address.sendValue(address,uint256) (#441-447):
- (success) = recipient.call{value: amount}() (#445)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Variable FuelToken._delegates (#905) is not in mixedCase
Parameter FuelToken.mintTo(address,uint256)._amount (#877) is not in mixedCase
Parameter FuelToken.mintTo(address,uint256)._to (#877) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#34)" inContext (#24-37)
Remove redundant statements if they congest code but offer no value.
Additional information: link
BEP20.allowance(address,address).owner (#667) shadows:
- Ownable.owner() (#68-70) (function)
BEP20.constructor(string,string).symbol (#595) shadows:
- BEP20.symbol() (#626-628) (function)
- IBEP20.symbol() (#124) (function)
BEP20._approve(address,address,uint256).owner (#840) shadows:
- Ownable.owner() (#68-70) (function)
BEP20.constructor(string,string).name (#595) shadows:
- BEP20.name() (#612-614) (function)
- IBEP20.name() (#129) (function)
Rename the local variables that shadow another component.
Additional information: link
FuelToken.constructor(address)._hangerReserve (#872) lacks a zero-check on :
- hangerReserve = _hangerReserve (#873)
FuelToken.changeHanger(address).hangerNewAddress (#1074) lacks a zero-check on :
- hangerReserve = hangerNewAddress (#1075)
Check that the address is not zero.
Additional information: link
Address.sendValue(address,uint256) (#441-447) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#496-502) is never used and should be removed
SafeMath.sqrt(uint256) (#377-388) is never used and should be removed
BEP20._burnFrom(address,uint256) (#857-864) is never used and should be removed
SafeMath.min(uint256,uint256) (#372-374) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#363-370) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#510-518) is never used and should be removed
Context._msgData() (#33-36) is never used and should be removed
SafeMath.mod(uint256,uint256) (#347-349) is never used and should be removed
Address._functionCallWithValue(address,bytes,uint256,string) (#520-546) is never used and should be removed
Address.isContract(address) (#412-423) is never used and should be removed
Address.functionCall(address,bytes,string) (#477-483) is never used and should be removed
Address.functionCall(address,bytes) (#467-469) is never used and should be removed
Remove unused functions.
Additional information: link
transfer(address,uint256) should be declared external:
- BEP20.transfer(address,uint256) (#659-662)
symbol() should be declared external:
- BEP20.symbol() (#626-628)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#87-90)
approve(address,uint256) should be declared external:
- BEP20.approve(address,uint256) (#691-694)
changeHanger(address) should be declared external:
- FuelToken.changeHanger(address) (#1074-1076)
transferFrom(address,address,uint256) should be declared external:
- BEP20.transferFrom(address,address,uint256) (#708-720)
mintTo(address,uint256) should be declared external:
- FuelToken.mintTo(address,uint256) (#877-880)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#96-98)
mint(uint256) should be declared external:
- BEP20.mint(uint256) (#679-682)
burntFuel() should be declared external:
- BEP20.burntFuel() (#640-642)
allowance(address,address) should be declared external:
- BEP20.allowance(address,address) (#667-669)
totalSupply() should be declared external:
- BEP20.totalSupply() (#633-635)
decimals() should be declared external:
- BEP20.decimals() (#619-621)
increaseAllowance(address,uint256) should be declared external:
- BEP20.increaseAllowance(address,uint256) (#734-737)
decreaseAllowance(address,uint256) should be declared external:
- BEP20.decreaseAllowance(address,uint256) (#753-760)
Use the external attribute for functions never called from the contract.
Additional information: link
Contract ownership is semi-renounced (passed to a contract)
Unable to find Twitter link on the website
Unable to find Telegram link on the website
Token is not listed at Mobula.Finance
Additional information: link
Unable to find Youtube account
Unable to find Discord account