While many industries are moving to blockchain to solve their current problems, the agricultural sector has mostly been forgotten. MedikhanaX is bridging this gap by using blockchain to ensure agricultural industries access to quality assurance, sales tracking, and technical cultivation support to farmers who grow cannabis, Kratom, fruits and vegetables. In addition, MedikhanaX supports those who want to engage in cannabis-related businesses in South East Asia to get licenses. It supports growing, distributing and selling cannabis-related products.
MedikhanaX uses the Japanese agricultural IoT system to ensure the high standards are maintained. The Japanese are well-known for exceeding international standards when it comes to facilities, equipment and technology. As a result, Medikhana-supported products are of premium quality.
The company has tapped into the explosive CBD industry, which is growing by the day as more and more people discover the advantages of CBD products. Using a blockchain model ensures transparency. Through blockchain, there is traceability from cultivation through manufacturing, distribution and sales. This, as a result, helps consumers track and confirm the quality and safety of their products. Blockchain also helps to filter out unethical operators in the market.
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Contract ownership is not renounced (belongs to a wallet)
SafeMath.div(uint256,uint256) (#32-37) is never used and should be removed
SafeMath.mul(uint256,uint256) (#19-27) is never used and should be removed
Remove unused functions.
Additional information: link
MedikhanaX.slitherConstructorConstantVariables() (#331-355) uses literals with too many digits:
- INITIAL_SUPPLY = 5000000000 * (10 ** uint256(decimals)) (#338)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
Pragma version^0.4.24 (#1) allows old versions
solc-0.4.24 is not recommended for deployment
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
Parameter SafeMath.mul(uint256,uint256)._a (#19) is not in mixedCase
Parameter SafeMath.mul(uint256,uint256)._b (#19) is not in mixedCase
Parameter SafeMath.div(uint256,uint256)._a (#32) is not in mixedCase
Parameter SafeMath.div(uint256,uint256)._b (#32) is not in mixedCase
Parameter SafeMath.sub(uint256,uint256)._a (#42) is not in mixedCase
Parameter SafeMath.sub(uint256,uint256)._b (#42) is not in mixedCase
Parameter SafeMath.add(uint256,uint256)._a (#50) is not in mixedCase
Parameter SafeMath.add(uint256,uint256)._b (#50) is not in mixedCase
Parameter BasicToken.transfer(address,uint256)._to (#81) is not in mixedCase
Parameter BasicToken.transfer(address,uint256)._value (#81) is not in mixedCase
Parameter BasicToken.balanceOf(address)._owner (#96) is not in mixedCase
Parameter BurnableToken.burn(uint256)._value (#115) is not in mixedCase
Parameter StandardToken.transferFrom(address,address,uint256)._from (#171) is not in mixedCase
Parameter StandardToken.transferFrom(address,address,uint256)._to (#172) is not in mixedCase
Parameter StandardToken.transferFrom(address,address,uint256)._value (#173) is not in mixedCase
Parameter StandardToken.approve(address,uint256)._spender (#198) is not in mixedCase
Parameter StandardToken.approve(address,uint256)._value (#198) is not in mixedCase
Parameter StandardToken.allowance(address,address)._owner (#211) is not in mixedCase
Parameter StandardToken.allowance(address,address)._spender (#212) is not in mixedCase
Parameter StandardToken.increaseApproval(address,uint256)._spender (#231) is not in mixedCase
Parameter StandardToken.increaseApproval(address,uint256)._addedValue (#232) is not in mixedCase
Parameter StandardToken.decreaseApproval(address,uint256)._spender (#253) is not in mixedCase
Parameter StandardToken.decreaseApproval(address,uint256)._subtractedValue (#254) is not in mixedCase
Parameter Ownable.transferOwnership(address)._newOwner (#306) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
totalSupply() should be declared external:
- BasicToken.totalSupply() (#72-74)
- ERC20Basic.totalSupply() (#4)
balanceOf(address) should be declared external:
- BasicToken.balanceOf(address) (#96-98)
- ERC20Basic.balanceOf(address) (#5)
transfer(address,uint256) should be declared external:
- BasicToken.transfer(address,uint256) (#81-89)
- ERC20Basic.transfer(address,uint256) (#6)
burn(uint256) should be declared external:
- BurnableToken.burn(uint256) (#115-117)
allowance(address,address) should be declared external:
- ERC20.allowance(address,address) (#137-138)
- StandardToken.allowance(address,address) (#210-219)
transferFrom(address,address,uint256) should be declared external:
- ERC20.transferFrom(address,address,uint256) (#140-141)
- StandardToken.transferFrom(address,address,uint256) (#170-187)
approve(address,uint256) should be declared external:
- ERC20.approve(address,uint256) (#143)
- StandardToken.approve(address,uint256) (#198-202)
increaseApproval(address,uint256) should be declared external:
- StandardToken.increaseApproval(address,uint256) (#230-241)
decreaseApproval(address,uint256) should be declared external:
- StandardToken.decreaseApproval(address,uint256) (#252-267)
transferOwnership(address) should be declared external:
- Ownable.transferOwnership(address) (#306-308)
transferAnyERC20Token(address,uint256) should be declared external:
- MedikhanaX.transferAnyERC20Token(address,uint256) (#351-353)
Use the external attribute for functions never called from the contract.
Additional information: link
BscScan page for the token does not contain additional info: website, socials, description, etc.
Additional information: link
Unable to find token contract audit
Unable to verify token contract address on the website
Token is not listed at Mobula.Finance
Additional information: link
Unable to find code repository for the project
Unable to find audit link on the website
Unable to find Telegram link on the website
Unable to find Twitter link on the website
Unable to find token on CoinHunt
Additional information: link
Young tokens have high risks of scam / price dump / death
Token has relatively low CoinGecko rank
Token has relatively low CoinMarketCap rank
Unable to find Youtube account
Unable to find Discord account