ZENFI AI provisions an Intelligent Metaverse that allows homo sapiens to create emulations of their mental state (i.e., mind and soul) that are encoded into intelligent NFTs and placed on a decentralised and everlasting storage medium.
Unable to find manual contract audit (e.g. Certik, PeckShield, Solidity...)
Contract creator or owner is blacklisted for past scams
Contract locking ether found:
Contract ZENFI (#92-214) has payable functions:
- ZENFI.fallback() (#202-204)
But does not have a function to withdraw the ether
Remove the payable attribute or add a withdraw function.
Additional information: link
Contract ownership is not renounced (belongs to a wallet)
Owned.transferOwnership(address)._newOwner (#76) lacks a zero-check on :
- newOwner = _newOwner (#77)
Check that the address is not zero.
Additional information: link
Pragma version^0.4.24 (#5) 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 Owned.transferOwnership(address)._newOwner (#76) is not in mixedCase
Variable ZENFI._totalSupply (#96) is not in mixedCase
Follow the Solidity naming convention.
Additional information: link
ZENFI.constructor() (#105-112) uses literals with too many digits:
- _totalSupply = 4200000000000000 (#109)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
safeMul(uint256,uint256) should be declared external:
- SafeMath.safeMul(uint256,uint256) (#20-23)
safeDiv(uint256,uint256) should be declared external:
- SafeMath.safeDiv(uint256,uint256) (#24-27)
totalSupply() should be declared external:
- ERC20Interface.totalSupply() (#36)
- ZENFI.totalSupply() (#118-120)
balanceOf(address) should be declared external:
- ERC20Interface.balanceOf(address) (#37)
- ZENFI.balanceOf(address) (#126-128)
allowance(address,address) should be declared external:
- ERC20Interface.allowance(address,address) (#38)
- ZENFI.allowance(address,address) (#181-183)
transfer(address,uint256) should be declared external:
- ERC20Interface.transfer(address,uint256) (#39)
- ZENFI.transfer(address,uint256) (#136-141)
approve(address,uint256) should be declared external:
- ERC20Interface.approve(address,uint256) (#40)
- ZENFI.approve(address,uint256) (#152-156)
transferFrom(address,address,uint256) should be declared external:
- ERC20Interface.transferFrom(address,address,uint256) (#41)
- ZENFI.transferFrom(address,address,uint256) (#168-174)
receiveApproval(address,uint256,address,bytes) should be declared external:
- ApproveAndCallFallBack.receiveApproval(address,uint256,address,bytes) (#54)
transferOwnership(address) should be declared external:
- Owned.transferOwnership(address) (#76-78)
acceptOwnership() should be declared external:
- Owned.acceptOwnership() (#79-84)
approveAndCall(address,uint256,bytes) should be declared external:
- ZENFI.approveAndCall(address,uint256,bytes) (#191-196)
fallback() should be declared external:
- ZENFI.fallback() (#202-204)
transferAnyERC20Token(address,uint256) should be declared external:
- ZENFI.transferAnyERC20Token(address,uint256) (#210-212)
Use the external attribute for functions never called from the contract.
Additional information: link
Token is marked as scam (rug pull, honeypot, phishing, etc.)
Additional information: link
Young tokens have high risks of price dump / death
Young tokens have high risks of price dump / death
Young tokens have high risks of price dump / death
Young tokens have high risks of price dump / death
Young tokens have high risks of price dump / death
Token has relatively low CoinGecko rank
Unable to find Blog account (Reddit or Medium)
Unable to find Discord account