🐶Corgi - The First Meme Token with Juicy Rewards for Holders on BSC ✅No Mint function detected ✅Owner cannot set the fees ✅KYC Verified ✅InterFi Audited ✅Liquidity locked for 10 years ✅Owner cannot change Max Transaction Amount ✅Owner cannot disable trading ✅CG - CMC on the way
💎You missed Shiba, Pitbull, Floki ? It’s okay! Corgi will give you another chance!
Unable to verify that contract auditor is trusted: Certik, Quantstamp, Hacken, Solidity, Paladinsec, Openzeppelin, Verichains
Contract ownership is not renounced (belongs to a wallet)
CRG._getTValues(uint256) (#622-626) performs a multiplication on the result of a division:
-tFee = tAmount.div(100).mul(0) (#623)
Consider ordering multiplication before division.
Additional information: link
CRG.allowance(address,address).owner (#468) shadows:
- Ownable.owner() (#380-382) (function)
CRG._approve(address,address,uint256).owner (#549) shadows:
- Ownable.owner() (#380-382) (function)
Rename the local variables that shadow another component.
Additional information: link
Address.isContract(address) (#246-255) uses assembly
- INLINE ASM (#253)
Address._functionCallWithValue(address,bytes,uint256,string) (#339-360) uses assembly
- INLINE ASM (#352-355)
Do not use evm assembly.
Additional information: link
CRG.includeAccount(address) (#536-547) has costly operations inside a loop:
- _excluded.pop() (#543)
Use a local variable to hold the loop computation result.
Additional information: link
Address.sendValue(address,uint256) (#273-279) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256) (#324-326) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#222-225) is never used and should be removed
Address.functionCallWithValue(address,bytes,uint256,string) (#334-337) is never used and should be removed
Context._msgData() (#8-11) is never used and should be removed
SafeMath.mod(uint256,uint256) (#206-208) is never used and should be removed
Address._functionCallWithValue(address,bytes,uint256,string) (#339-360) is never used and should be removed
Address.isContract(address) (#246-255) is never used and should be removed
Address.functionCall(address,bytes,string) (#309-311) is never used and should be removed
Address.functionCall(address,bytes) (#299-301) is never used and should be removed
Remove unused functions.
Additional information: link
CRG._rTotal (#430) 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) (#273-279):
- (success) = recipient.call{value: amount}() (#277)
Low level call in Address._functionCallWithValue(address,bytes,uint256,string) (#339-360):
- (success,returndata) = target.call{value: weiValue}(data) (#343)
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 (#9)" inContext (#3-12)
Remove redundant statements if they congest code but offer no value.
Additional information: link
Variable CRG._transferStandard(address,address,uint256).rTransferAmount (#575) is too similar to CRG._getValues(uint256).tTransferAmount (#616)
Variable CRG._transferFromExcluded(address,address,uint256).rTransferAmount (#592) is too similar to CRG._transferFromExcluded(address,address,uint256).tTransferAmount (#592)
Variable CRG._getRValues(uint256,uint256,uint256).rTransferAmount (#631) is too similar to CRG._transferFromExcluded(address,address,uint256).tTransferAmount (#592)
Variable CRG._transferFromExcluded(address,address,uint256).rTransferAmount (#592) is too similar to CRG._getValues(uint256).tTransferAmount (#616)
Variable CRG._transferStandard(address,address,uint256).rTransferAmount (#575) is too similar to CRG._getTValues(uint256).tTransferAmount (#624)
Variable CRG._getRValues(uint256,uint256,uint256).rTransferAmount (#631) is too similar to CRG._transferToExcluded(address,address,uint256).tTransferAmount (#583)
Variable CRG._getRValues(uint256,uint256,uint256).rTransferAmount (#631) is too similar to CRG._transferStandard(address,address,uint256).tTransferAmount (#575)
Variable CRG._transferToExcluded(address,address,uint256).rTransferAmount (#583) is too similar to CRG._transferBothExcluded(address,address,uint256).tTransferAmount (#601)
Variable CRG._transferBothExcluded(address,address,uint256).rTransferAmount (#601) is too similar to CRG._transferStandard(address,address,uint256).tTransferAmount (#575)
Variable CRG._transferBothExcluded(address,address,uint256).rTransferAmount (#601) is too similar to CRG._transferBothExcluded(address,address,uint256).tTransferAmount (#601)
Variable CRG._transferToExcluded(address,address,uint256).rTransferAmount (#583) is too similar to CRG._getTValues(uint256).tTransferAmount (#624)
Variable CRG.reflectionFromToken(uint256,bool).rTransferAmount (#516) is too similar to CRG._transferFromExcluded(address,address,uint256).tTransferAmount (#592)
Variable CRG._transferBothExcluded(address,address,uint256).rTransferAmount (#601) is too similar to CRG._getTValues(uint256).tTransferAmount (#624)
Variable CRG._transferFromExcluded(address,address,uint256).rTransferAmount (#592) is too similar to CRG._getTValues(uint256).tTransferAmount (#624)
Variable CRG._transferToExcluded(address,address,uint256).rTransferAmount (#583) is too similar to CRG._transferStandard(address,address,uint256).tTransferAmount (#575)
Variable CRG._getValues(uint256).rTransferAmount (#618) is too similar to CRG._transferToExcluded(address,address,uint256).tTransferAmount (#583)
Variable CRG._transferStandard(address,address,uint256).rTransferAmount (#575) is too similar to CRG._transferFromExcluded(address,address,uint256).tTransferAmount (#592)
Variable CRG._transferStandard(address,address,uint256).rTransferAmount (#575) is too similar to CRG._transferToExcluded(address,address,uint256).tTransferAmount (#583)
Variable CRG._transferBothExcluded(address,address,uint256).rTransferAmount (#601) is too similar to CRG._getValues(uint256).tTransferAmount (#616)
Variable CRG._getValues(uint256).rTransferAmount (#618) is too similar to CRG._getTValues(uint256).tTransferAmount (#624)
Variable CRG._getValues(uint256).rTransferAmount (#618) is too similar to CRG._transferStandard(address,address,uint256).tTransferAmount (#575)
Variable CRG._transferStandard(address,address,uint256).rTransferAmount (#575) is too similar to CRG._transferStandard(address,address,uint256).tTransferAmount (#575)
Variable CRG._getRValues(uint256,uint256,uint256).rTransferAmount (#631) is too similar to CRG._getTValues(uint256).tTransferAmount (#624)
Variable CRG._transferToExcluded(address,address,uint256).rTransferAmount (#583) is too similar to CRG._transferFromExcluded(address,address,uint256).tTransferAmount (#592)
Variable CRG._getRValues(uint256,uint256,uint256).rTransferAmount (#631) is too similar to CRG._transferBothExcluded(address,address,uint256).tTransferAmount (#601)
Variable CRG._transferToExcluded(address,address,uint256).rTransferAmount (#583) is too similar to CRG._transferToExcluded(address,address,uint256).tTransferAmount (#583)
Variable CRG.reflectionFromToken(uint256,bool).rTransferAmount (#516) is too similar to CRG._getTValues(uint256).tTransferAmount (#624)
Variable CRG._transferFromExcluded(address,address,uint256).rTransferAmount (#592) is too similar to CRG._transferBothExcluded(address,address,uint256).tTransferAmount (#601)
Variable CRG._getValues(uint256).rTransferAmount (#618) is too similar to CRG._transferBothExcluded(address,address,uint256).tTransferAmount (#601)
Variable CRG._transferToExcluded(address,address,uint256).rTransferAmount (#583) is too similar to CRG._getValues(uint256).tTransferAmount (#616)
Variable CRG._getRValues(uint256,uint256,uint256).rTransferAmount (#631) is too similar to CRG._getValues(uint256).tTransferAmount (#616)
Variable CRG._transferStandard(address,address,uint256).rTransferAmount (#575) is too similar to CRG._transferBothExcluded(address,address,uint256).tTransferAmount (#601)
Variable CRG._transferBothExcluded(address,address,uint256).rTransferAmount (#601) is too similar to CRG._transferToExcluded(address,address,uint256).tTransferAmount (#583)
Variable CRG.reflectionFromToken(uint256,bool).rTransferAmount (#516) is too similar to CRG._transferBothExcluded(address,address,uint256).tTransferAmount (#601)
Variable CRG.reflectionFromToken(uint256,bool).rTransferAmount (#516) is too similar to CRG._transferToExcluded(address,address,uint256).tTransferAmount (#583)
Variable CRG._getValues(uint256).rTransferAmount (#618) is too similar to CRG._getValues(uint256).tTransferAmount (#616)
Variable CRG.reflectionFromToken(uint256,bool).rTransferAmount (#516) is too similar to CRG._transferStandard(address,address,uint256).tTransferAmount (#575)
Variable CRG._transferFromExcluded(address,address,uint256).rTransferAmount (#592) is too similar to CRG._transferStandard(address,address,uint256).tTransferAmount (#575)
Variable CRG._transferBothExcluded(address,address,uint256).rTransferAmount (#601) is too similar to CRG._transferFromExcluded(address,address,uint256).tTransferAmount (#592)
Variable CRG.reflectionFromToken(uint256,bool).rTransferAmount (#516) is too similar to CRG._getValues(uint256).tTransferAmount (#616)
Variable CRG._getValues(uint256).rTransferAmount (#618) is too similar to CRG._transferFromExcluded(address,address,uint256).tTransferAmount (#592)
Variable CRG._transferFromExcluded(address,address,uint256).rTransferAmount (#592) is too similar to CRG._transferToExcluded(address,address,uint256).tTransferAmount (#583)
Prevent variables from having similar names.
Additional information: link
CRG._decimals (#435) should be constant
CRG._name (#433) should be constant
CRG._symbol (#434) should be constant
CRG._tTotal (#429) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
approve(address,uint256) should be declared external:
- CRG.approve(address,uint256) (#472-475)
totalSupply() should be declared external:
- CRG.totalSupply() (#454-456)
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#399-402)
allowance(address,address) should be declared external:
- CRG.allowance(address,address) (#468-470)
decimals() should be declared external:
- CRG.decimals() (#450-452)
isExcluded(address) should be declared external:
- CRG.isExcluded(address) (#493-495)
balanceOf(address) should be declared external:
- CRG.balanceOf(address) (#458-461)
owner() should be declared external:
- Ownable.owner() (#380-382)
transfer(address,uint256) should be declared external:
- CRG.transfer(address,uint256) (#463-466)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#408-412)
reflectionFromToken(uint256,bool) should be declared external:
- CRG.reflectionFromToken(uint256,bool) (#510-519)
reflect(uint256) should be declared external:
- CRG.reflect(uint256) (#501-508)
name() should be declared external:
- CRG.name() (#442-444)
increaseAllowance(address,uint256) should be declared external:
- CRG.increaseAllowance(address,uint256) (#483-486)
symbol() should be declared external:
- CRG.symbol() (#446-448)
totalFees() should be declared external:
- CRG.totalFees() (#497-499)
transferFrom(address,address,uint256) should be declared external:
- CRG.transferFrom(address,address,uint256) (#477-481)
decreaseAllowance(address,uint256) should be declared external:
- CRG.decreaseAllowance(address,uint256) (#488-491)
Use the external attribute for functions never called from the contract.
Additional information: link
Not a direct threat, but may indicate unreliable intentions of developer. Widespread names (e.g. Elon, King, Moon, Doge) are common among meme-tokens and scams. The allow to gain free hype and attract unexperienced investors.
BscScan page for the token does not contain additional info: website, socials, description, etc.
Additional information: link
Unable to find KYC or doxxing proof
Unable to find Telegram link on the website
Unable to find token on CoinGecko
Additional information: link
Unable to find token on CoinMarketCap
Additional information: link
Token is not listed at Mobula.Finance
Additional information: link
Unable to find token on CoinHunt
Additional information: link
Young tokens have high risks of scam / price dump / death
Token has no active CoinGecko listing / rank
Token has no active CoinMarketCap listing / rank
Token is relatively young, but twitter if very old (probably it's fake).
Unable to find Blog account (Reddit or Medium)
Unable to find Discord account