What Is Heroes & Empires?
Heroes & Empires is a Play-2-Earn strategy game that combines the distinctive elements of Idle RPG and the tactics of auto chess, connected with blockchain technology. The game is developed on the Unity engine with modern gameplay, blockchain integrated and high-end graphics, separating it from the rest. Heroes & Empires will be compatible on both PC and mobile to bring the best experience to players.
HE is the native utility token that is used for:
- Rewards for Play to earn
- Ingame expenses.
- Used for governance votes to determine game changes/updates.
H&E features include:
- PvE: Campagin, Madness Tower, Quest system.
- PvP: Arena.
- Hero upgrade: level up, ascension
- NFT burn: fuse heroes in same type to rank up.
- Marketplace: trade NFT
- Future updates: Dungeon Trial, Bounty Hunter, Matrix of Deity, Tournament, Grand tournament, Clans War, NFT gears, etc.
How Many HE tokens Are There in Circulation?
Heroes & Empires will launch its IDO in early October, 2021 with 1 billion HE tokens created at genesis. 8% will be circulating while the remaining tokens are subjected to vesting schedule.
Who Are the Founders of Heroes & Empires?
On August 14, 2021, CryptoViet Labs, a leading blockchain company based in Vietnam, announced that it has partnered with Imba Games to develop and publish an NFT game project called “Heroes & Empires”, which is co-incubated by Megala Ventures.
About Megala Ventures:
Megala Ventures is one of the largest institutional investors of blockchain and distributed ledger technologies at Southeast Asia, and has been a key contributor to a number of leading blockchain projects.
Website: https://megala.ventures/
About CryptoViet Labs
CryptoViet was established in 2016, founded by a group of crypto enthusiasts with the goal of providing a useful information channel. CryptoViet Labs was founded in 2020 under the sponsorship of CryptoViet & Megala Ventures. The team consists of skilled and passionate developers with a strong belief in the future of Blockchain technology. CryptoViet Labs is the current owner of Casperstats.io.
Website: https://cryptoviet.com/
About Imba Games
Imba Games is the leading mobile game developer and publisher in Vietnam, established in 2015 in Ho Chi Minh City. Imba Games focuses on developing high-quality game products that attract millions of users, including I Am Hero (AFK Tactical Teamfight), Arche Hunter — Master of Arrow, Kawaii Mansion (Cute Hidden Object Game), etc.
Website: http://imba.co
Contract name (Heroes&Empires) contains non-alphanumeric characters.
Not a direct threat, but may indicate unreliable intentions of developer. Non-alphanumeric chars (,.;!#*&") are extremely rare among low risk tokens.
Heroes.constructor() (contracts/Heroes.sol#11-15) uses literals with too many digits:
- _mint(msg.sender,1000000000 * 10 ** decimals()) (contracts/Heroes.sol#14)
Use: Ether suffix, Time suffix, or The scientific notation
Additional information: link
AccessControl._setRoleAdmin(bytes32,bytes32) (@openzeppelin/contracts/access/AccessControl.sol#232-235) is never used and should be removed
Strings.toHexString(uint256) (@openzeppelin/contracts/utils/Strings.sol#39-50) is never used and should be removed
Strings.toString(uint256) (@openzeppelin/contracts/utils/Strings.sol#14-34) is never used and should be removed
ERC20._burn(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#273-288) is never used and should be removed
Context._msgData() (@openzeppelin/contracts/utils/Context.sol#20-22) is never used and should be removed
Remove unused functions.
Additional information: link
Pragma version^0.8.0 (@openzeppelin/contracts/token/ERC20/ERC20.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/token/ERC20/IERC20.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/utils/Context.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/utils/introspection/IERC165.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/access/AccessControl.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/utils/introspection/ERC165.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/utils/Strings.sol#3) allows old versions
Pragma version^0.8.0 (@openzeppelin/contracts/security/Pausable.sol#3) allows old versions
Pragma version^0.8.0 (contracts/Heroes.sol#2) allows old versions
solc-0.8.0 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
transferFrom(address,address,uint256) should be declared external:
- ERC20.transferFrom(address,address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#148-162)
decreaseAllowance(address,uint256) should be declared external:
- ERC20.decreaseAllowance(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#195-203)
symbol() should be declared external:
- ERC20.symbol() (@openzeppelin/contracts/token/ERC20/ERC20.sol#68-70)
balanceOf(address) should be declared external:
- ERC20.balanceOf(address) (@openzeppelin/contracts/token/ERC20/ERC20.sol#99-101)
transfer(address,uint256) should be declared external:
- ERC20.transfer(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#111-114)
increaseAllowance(address,uint256) should be declared external:
- ERC20.increaseAllowance(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#176-179)
name() should be declared external:
- ERC20.name() (@openzeppelin/contracts/token/ERC20/ERC20.sol#60-62)
grantRole(bytes32,address) should be declared external:
- AccessControl.grantRole(bytes32,address) (@openzeppelin/contracts/access/AccessControl.sol#170-172)
revokeRole(bytes32,address) should be declared external:
- AccessControl.revokeRole(bytes32,address) (@openzeppelin/contracts/access/AccessControl.sol#183-185)
totalSupply() should be declared external:
- ERC20.totalSupply() (@openzeppelin/contracts/token/ERC20/ERC20.sol#92-94)
approve(address,uint256) should be declared external:
- ERC20.approve(address,uint256) (@openzeppelin/contracts/token/ERC20/ERC20.sol#130-133)
renounceRole(bytes32,address) should be declared external:
- AccessControl.renounceRole(bytes32,address) (@openzeppelin/contracts/access/AccessControl.sol#201-205)
unpause() should be declared external:
- Heroes.unpause() (contracts/Heroes.sol#21-23)
pause() should be declared external:
- Heroes.pause() (contracts/Heroes.sol#17-19)
allowance(address,address) should be declared external:
- ERC20.allowance(address,address) (@openzeppelin/contracts/token/ERC20/ERC20.sol#119-121)
Use the external attribute for functions never called from the contract.
Additional information: link
Token is not listed at Mobula.Finance
Additional information: link