Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
GuAiling.allowance(address,address).owner (#516) shadows:
- Ownable.owner() (#425-427) (function)
GuAiling._approve(address,address,uint256).owner (#602) shadows:
- Ownable.owner() (#425-427) (function)
Rename the local variables that shadow another component.
Additional information: link
GuAiling._setTaxFee(uint256) (#734-737) should emit an event for:
- _taxFee = taxFee (#736)
GuAiling._setMaxTxAmount(uint256) (#739-742) should emit an event for:
- _maxTxAmount = maxTxAmount (#741)
Emit an event for critical parameter changes.
Additional information: link
Address.isContract(address) (#279-288) uses assembly
- INLINE ASM (#286)
Address._functionCallWithValue(address,bytes,uint256,string) (#372-393) uses assembly
- INLINE ASM (#385-388)
Do not use evm assembly.
Additional information: link
GuAiling.includeAccount(address) (#589-600) has costly operations inside a loop:
- _excluded.pop() (#596)
GuAiling._reflectFee(uint256,uint256,uint256,uint256) (#680-685) has costly operations inside a loop:
- _rTotal = _rTotal.sub(rFee).sub(rBurn) (#681)
GuAiling._reflectFee(uint256,uint256,uint256,uint256) (#680-685) has costly operations inside a loop:
- _tFeeTotal = _tFeeTotal.add(tFee) (#682)
GuAiling._reflectFee(uint256,uint256,uint256,uint256) (#680-685) has costly operations inside a loop:
- _tBurnTotal = _tBurnTotal.add(tBurn) (#683)
GuAiling._reflectFee(uint256,uint256,uint256,uint256) (#680-685) has costly operations inside a loop:
- _tTotal = _tTotal.sub(tBurn) (#684)
Use a local variable to hold the loop computation result.
Additional information: link
Address._functionCallWithValue(address,bytes,uint256,string) (#372-393) is never used and should be removed
Address.functionCall(address,bytes) (#332-334) is never used and should be removed
Address.functionCall(address,bytes,string) (#342-344) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#357-359) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#367-370) is never used and should be removed
Address.isContract(address) (#279-288) is never used and should be removed
Address.sendValue(address,uint256) (#306-312) is never used and should be removed
Context._msgData() (#18-21) is never used and should be removed
GuAiling._getMaxTxAmount() (#730-732) is never used and should be removed
GuAiling._getTaxFee() (#726-728) is never used and should be removed
SafeMath.mod(uint256,uint256) (#236-238) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#252-255) is never used and should be removed
Remove unused functions.
Additional information: link
GuAiling._rTotal (#473) is set pre-construction with a non-constant function or state variable:
- (MAX - (MAX % _tTotal))
Remove any initialization of state variables via non-constant state variables or function calls. If variables must be set upon contract deployment, locate initialization in the constructor instead.
Additional information: link
Low level call in Address.sendValue(address,uint256) (#306-312):
- (success) = recipient.call{value: amount}() (#310)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#372-393):
- (success,returndata) = target.call{value: weiValue}(data) (#376)
Avoid low-level calls. Check the call success. If the call is meant for a contract, check for code existence
Additional information: link
Function GuAiling._setTaxFee(uint256) (#734-737) is not in mixedCase
Function GuAiling._setMaxTxAmount(uint256) (#739-742) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
Redundant expression "this (#19)" inContext (#13-22)
Remove redundant statements if they congest code but offer no value.
Additional information: link
Variable GuAiling._transferFromExcluded(address,address,uint256).rTransferAmount (#659) is too similar to GuAiling._transferBothExcluded(address,address,uint256).tTransferAmount (#670)
Variable GuAiling._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#705) is too similar to GuAiling._getTValues(uint256,uint256,uint256).tTransferAmount (#697)
Variable GuAiling._transferToExcluded(address,address,uint256).rTransferAmount (#648) is too similar to GuAiling._getValues(uint256).tTransferAmount (#688)
Variable GuAiling._getValues(uint256).rTransferAmount (#690) is too similar to GuAiling._getValues(uint256).tTransferAmount (#688)
Variable GuAiling._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#705) is too similar to GuAiling._transferStandard(address,address,uint256).tTransferAmount (#638)
Variable GuAiling._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#705) is too similar to GuAiling._transferFromExcluded(address,address,uint256).tTransferAmount (#659)
Variable GuAiling.reflectionFromToken(uint256,bool).rTransferAmount (#568) is too similar to GuAiling._getValues(uint256).tTransferAmount (#688)
Variable GuAiling._transferStandard(address,address,uint256).rTransferAmount (#638) is too similar to GuAiling._getValues(uint256).tTransferAmount (#688)
Variable GuAiling._transferBothExcluded(address,address,uint256).rTransferAmount (#670) is too similar to GuAiling._transferBothExcluded(address,address,uint256).tTransferAmount (#670)
Variable GuAiling._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#705) is too similar to GuAiling._transferToExcluded(address,address,uint256).tTransferAmount (#648)
Variable GuAiling._transferFromExcluded(address,address,uint256).rTransferAmount (#659) is too similar to GuAiling._getValues(uint256).tTransferAmount (#688)
Variable GuAiling._transferToExcluded(address,address,uint256).rTransferAmount (#648) is too similar to GuAiling._transferStandard(address,address,uint256).tTransferAmount (#638)
Variable GuAiling._getValues(uint256).rTransferAmount (#690) is too similar to GuAiling._transferStandard(address,address,uint256).tTransferAmount (#638)
Variable GuAiling._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#705) is too similar to GuAiling._transferBothExcluded(address,address,uint256).tTransferAmount (#670)
Variable GuAiling._transferToExcluded(address,address,uint256).rTransferAmount (#648) is too similar to GuAiling._transferFromExcluded(address,address,uint256).tTransferAmount (#659)
Variable GuAiling._getValues(uint256).rTransferAmount (#690) is too similar to GuAiling._transferFromExcluded(address,address,uint256).tTransferAmount (#659)
Variable GuAiling._transferBothExcluded(address,address,uint256).rTransferAmount (#670) is too similar to GuAiling._getValues(uint256).tTransferAmount (#688)
Variable GuAiling.reflectionFromToken(uint256,bool).rTransferAmount (#568) is too similar to GuAiling._transferStandard(address,address,uint256).tTransferAmount (#638)
Variable GuAiling._transferStandard(address,address,uint256).rTransferAmount (#638) is too similar to GuAiling._transferStandard(address,address,uint256).tTransferAmount (#638)
Variable GuAiling._transferToExcluded(address,address,uint256).rTransferAmount (#648) is too similar to GuAiling._transferToExcluded(address,address,uint256).tTransferAmount (#648)
Variable GuAiling._getValues(uint256).rTransferAmount (#690) is too similar to GuAiling._transferToExcluded(address,address,uint256).tTransferAmount (#648)
Variable GuAiling.reflectionFromToken(uint256,bool).rTransferAmount (#568) is too similar to GuAiling._transferFromExcluded(address,address,uint256).tTransferAmount (#659)
Variable GuAiling._transferStandard(address,address,uint256).rTransferAmount (#638) is too similar to GuAiling._transferFromExcluded(address,address,uint256).tTransferAmount (#659)
Variable GuAiling._transferToExcluded(address,address,uint256).rTransferAmount (#648) is too similar to GuAiling._transferBothExcluded(address,address,uint256).tTransferAmount (#670)
Variable GuAiling.reflectionFromToken(uint256,bool).rTransferAmount (#568) is too similar to GuAiling._transferToExcluded(address,address,uint256).tTransferAmount (#648)
Variable GuAiling._getValues(uint256).rTransferAmount (#690) is too similar to GuAiling._transferBothExcluded(address,address,uint256).tTransferAmount (#670)
Variable GuAiling._transferStandard(address,address,uint256).rTransferAmount (#638) is too similar to GuAiling._transferToExcluded(address,address,uint256).tTransferAmount (#648)
Variable GuAiling._transferFromExcluded(address,address,uint256).rTransferAmount (#659) is too similar to GuAiling._transferFromExcluded(address,address,uint256).tTransferAmount (#659)
Variable GuAiling._getRValues(uint256,uint256,uint256,uint256).rTransferAmount (#705) is too similar to GuAiling._getValues(uint256).tTransferAmount (#688)
Variable GuAiling.reflectionFromToken(uint256,bool).rTransferAmount (#568) is too similar to GuAiling._transferBothExcluded(address,address,uint256).tTransferAmount (#670)
Variable GuAiling._transferStandard(address,address,uint256).rTransferAmount (#638) is too similar to GuAiling._transferBothExcluded(address,address,uint256).tTransferAmount (#670)
Variable GuAiling._transferBothExcluded(address,address,uint256).rTransferAmount (#670) is too similar to GuAiling._transferStandard(address,address,uint256).tTransferAmount (#638)
Variable GuAiling._transferBothExcluded(address,address,uint256).rTransferAmount (#670) is too similar to GuAiling._transferFromExcluded(address,address,uint256).tTransferAmount (#659)
Variable GuAiling.reflectionFromToken(uint256,bool).rTransferAmount (#568) is too similar to GuAiling._getTValues(uint256,uint256,uint256).tTransferAmount (#697)
Variable GuAiling._transferFromExcluded(address,address,uint256).rTransferAmount (#659) is too similar to GuAiling._transferToExcluded(address,address,uint256).tTransferAmount (#648)
Variable GuAiling._transferStandard(address,address,uint256).rTransferAmount (#638) is too similar to GuAiling._getTValues(uint256,uint256,uint256).tTransferAmount (#697)
Variable GuAiling._transferFromExcluded(address,address,uint256).rTransferAmount (#659) is too similar to GuAiling._getTValues(uint256,uint256,uint256).tTransferAmount (#697)
Variable GuAiling._getValues(uint256).rTransferAmount (#690) is too similar to GuAiling._getTValues(uint256,uint256,uint256).tTransferAmount (#697)
Variable GuAiling._transferFromExcluded(address,address,uint256).rTransferAmount (#659) is too similar to GuAiling._transferStandard(address,address,uint256).tTransferAmount (#638)
Variable GuAiling._transferToExcluded(address,address,uint256).rTransferAmount (#648) is too similar to GuAiling._getTValues(uint256,uint256,uint256).tTransferAmount (#697)
Variable GuAiling._transferBothExcluded(address,address,uint256).rTransferAmount (#670) is too similar to GuAiling._transferToExcluded(address,address,uint256).tTransferAmount (#648)
Variable GuAiling._transferBothExcluded(address,address,uint256).rTransferAmount (#670) is too similar to GuAiling._getTValues(uint256,uint256,uint256).tTransferAmount (#697)
Prevent variables from having similar names.
Additional information: link
GuAiling.slitherConstructorVariables() (#460-744) uses literals with too many digits:
- _tTotal = 3000000e9 (#472)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
GuAiling._burnFee (#482) should be constant
GuAiling._decimals (#479) should be constant
GuAiling._name (#477) should be constant
GuAiling._symbol (#478) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#444-447)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#453-457)
name() should be declared external:
- GuAiling.name() (#490-492)
symbol() should be declared external:
- GuAiling.symbol() (#494-496)
decimals() should be declared external:
- GuAiling.decimals() (#498-500)
totalSupply() should be declared external:
- GuAiling.totalSupply() (#502-504)
balanceOf(address) should be declared external:
- GuAiling.balanceOf(address) (#506-509)
allowance(address,address) should be declared external:
- GuAiling.allowance(address,address) (#516-518)
approve(address,uint256) should be declared external:
- GuAiling.approve(address,uint256) (#520-523)
transferFrom(address,address,uint256) should be declared external:
- GuAiling.transferFrom(address,address,uint256) (#525-529)
increaseAllowance(address,uint256) should be declared external:
- GuAiling.increaseAllowance(address,uint256) (#531-534)
decreaseAllowance(address,uint256) should be declared external:
- GuAiling.decreaseAllowance(address,uint256) (#536-539)
isExcluded(address) should be declared external:
- GuAiling.isExcluded(address) (#541-543)
totalFees() should be declared external:
- GuAiling.totalFees() (#545-547)
totalBurn() should be declared external:
- GuAiling.totalBurn() (#549-551)
deliver(uint256) should be declared external:
- GuAiling.deliver(uint256) (#553-560)
reflectionFromToken(uint256,bool) should be declared external:
- GuAiling.reflectionFromToken(uint256,bool) (#562-571)
multiTransfer(address[],uint256[]) should be declared external:
- GuAiling.multiTransfer(address[],uint256[]) (#631-634)
Use the external attribute for functions never called from the contract.
Additional information: link
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
Unable to find Telegram and Twitter accounts