Wakanda Inu - A Decentralized Meme Token
BEP20._totalSupply (contracts/BEP20.sol#42) is written in both
_totalSupply = totalSupply (contracts/BEP20.sol#66)
_totalSupply = totalSupply (contracts/BEP20.sol#68)
Fix or remove the writes.
Additional information: link
Contract ownership is semi-renounced (passed to a contract)
WakandaInuToken._price (contracts/WakandaInuToken.sol#14) should be constant
Add the constant attributes to state variables that never change.
Additional information: link
BEP20.constructor(string,string,uint8,uint256).totalSupply (contracts/BEP20.sol#61) shadows:
- BEP20.totalSupply() (contracts/BEP20.sol#109-111) (function)
- IBEP20.totalSupply() (contracts/interfaces/IBEP20.sol#12) (function)
BEP20.constructor(string,string,uint8,uint256).decimals (contracts/BEP20.sol#60) shadows:
- BEP20.decimals() (contracts/BEP20.sol#102-104) (function)
BEP20.constructor(string,string,uint8,uint256).symbol (contracts/BEP20.sol#59) shadows:
- BEP20.symbol() (contracts/BEP20.sol#85-87) (function)
BEP20.constructor(string,string,uint8,uint256).name (contracts/BEP20.sol#58) shadows:
- BEP20.name() (contracts/BEP20.sol#77-79) (function)
Rename the local variables that shadow another component.
Additional information: link
Ownable.transferOwnership(address) (contracts/Ownable.sol#23-27) should emit an event for:
- owner = newOwner (contracts/Ownable.sol#25)
Emit an event for critical parameter changes.
Additional information: link
Address.isContract(address) (contracts/Address.sol#26-35) uses assembly
- INLINE ASM (contracts/Address.sol#33)
Do not use evm assembly.
Additional information: link
Different versions of Solidity are used:
- Version used: ['0.7.0', '=0.7.0']
- 0.7.0 (contracts/Address.sol#3)
- 0.7.0 (contracts/BEP20.sol#3)
- 0.7.0 (contracts/BEP20Pausable.sol#3)
- 0.7.0 (contracts/Context.sol#3)
- 0.7.0 (contracts/Ownable.sol#3)
- 0.7.0 (contracts/Pausable.sol#3)
- 0.7.0 (contracts/SafeBEP20.sol#3)
- 0.7.0 (contracts/SafeMath.sol#3)
- =0.7.0 (contracts/WakandaInuToken.sol#2)
- 0.7.0 (contracts/interfaces/IBEP20.sol#3)
Use one Solidity version.
Additional information: link
Low level call in SafeBEP20.callOptionalReturn(IBEP20,bytes) (contracts/SafeBEP20.sol#37-46):
- (success,returndata) = address(token).call(data) (contracts/SafeBEP20.sol#40)
Low level call in Address.sendValue(address,uint256) (contracts/Address.sol#53-59):
- (success) = recipient.call{value: amount}() (contracts/Address.sol#57)
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 (contracts/Context.sol#21)" inContext (contracts/Context.sol#15-24)
Remove redundant statements if they congest code but offer no value.
Additional information: link
WakandaInuToken.constructor() (contracts/WakandaInuToken.sol#16) uses literals with too many digits:
- BEP20(Wakanda Inu Token,WKD,9,1000000000000000000000000) (contracts/WakandaInuToken.sol#16)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
WakandaInuToken._price (contracts/WakandaInuToken.sol#14) is never used in WakandaInuToken (contracts/WakandaInuToken.sol#10-66)
Remove unused state variables.
Additional information: link
SafeMath.mul(uint256,uint256) (contracts/SafeMath.sol#77-89) is never used and should be removed
SafeBEP20.safeDecreaseAllowance(IBEP20,address,uint256) (contracts/SafeBEP20.sol#33-36) is never used and should be removed
Address.sendValue(address,uint256) (contracts/Address.sol#53-59) is never used and should be removed
SafeBEP20.safeTransferFrom(IBEP20,address,address,uint256) (contracts/SafeBEP20.sol#17-19) is never used and should be removed
Pausable._pause() (contracts/Pausable.sol#75-78) is never used and should be removed
BEP20._mint(address,uint256) (contracts/BEP20.sol#293-301) is never used and should be removed
Pausable._unpause() (contracts/Pausable.sol#87-90) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (contracts/SafeMath.sol#155-162) is never used and should be removed
SafeMath.div(uint256,uint256,string) (contracts/SafeMath.sol#117-127) is never used and should be removed
Context._msgData() (contracts/Context.sol#20-23) is never used and should be removed
SafeMath.mod(uint256,uint256) (contracts/SafeMath.sol#140-142) is never used and should be removed
SafeMath.div(uint256,uint256) (contracts/SafeMath.sol#102-104) is never used and should be removed
SafeBEP20.safeIncreaseAllowance(IBEP20,address,uint256) (contracts/SafeBEP20.sol#28-31) is never used and should be removed
SafeBEP20.safeApprove(IBEP20,address,uint256) (contracts/SafeBEP20.sol#21-26) is never used and should be removed
Remove unused functions.
Additional information: link
Pragma version0.7.0 (contracts/interfaces/IBEP20.sol#3) allows old versions
Pragma version0.7.0 (contracts/BEP20.sol#3) allows old versions
Pragma version=0.7.0 (contracts/WakandaInuToken.sol#2) allows old versions
solc-0.7.0 is not recommended for deployment
Pragma version0.7.0 (contracts/SafeBEP20.sol#3) allows old versions
Pragma version0.7.0 (contracts/Address.sol#3) allows old versions
Pragma version0.7.0 (contracts/Pausable.sol#3) allows old versions
Pragma version0.7.0 (contracts/SafeMath.sol#3) allows old versions
Pragma version0.7.0 (contracts/BEP20Pausable.sol#3) allows old versions
Pragma version0.7.0 (contracts/Context.sol#3) allows old versions
Pragma version0.7.0 (contracts/Ownable.sol#3) 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
transfer(address,uint256) should be declared external:
- BEP20.transfer(address,uint256) (contracts/BEP20.sol#128-136)
symbol() should be declared external:
- BEP20.symbol() (contracts/BEP20.sol#85-87)
burnFrom(address,uint256) should be declared external:
- WakandaInuToken.burnFrom(address,uint256) (contracts/WakandaInuToken.sol#44-52)
approve(address,uint256) should be declared external:
- BEP20.approve(address,uint256) (contracts/BEP20.sol#158-166)
name() should be declared external:
- BEP20.name() (contracts/BEP20.sol#77-79)
transferFrom(address,address,uint256) should be declared external:
- BEP20.transferFrom(address,address,uint256) (contracts/BEP20.sol#180-195)
withdrawTokens() should be declared external:
- WakandaInuToken.withdrawTokens() (contracts/WakandaInuToken.sol#18-22)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (contracts/Ownable.sol#23-27)
burn(uint256) should be declared external:
- WakandaInuToken.burn(uint256) (contracts/WakandaInuToken.sol#29-31)
totalSupply() should be declared external:
- BEP20.totalSupply() (contracts/BEP20.sol#109-111)
decimals() should be declared external:
- BEP20.decimals() (contracts/BEP20.sol#102-104)
increaseAllowance(address,uint256) should be declared external:
- BEP20.increaseAllowance(address,uint256) (contracts/BEP20.sol#209-220)
decreaseAllowance(address,uint256) should be declared external:
- BEP20.decreaseAllowance(address,uint256) (contracts/BEP20.sol#236-250)
Use the external attribute for functions never called from the contract.
Additional information: link
Token has relatively low CoinGecko rank
Twitter account link seems to be invalid
Unable to find Discord account