Mines of Dalarnia is an action-adventure game with procedurally generated levels on Binance Smart Chain (BSC).
Players mine and collect various in-game items (i.e. minerals, rare relics and artifacts), improve their skills and gear to unlock the secrets of the Dalarnia universe.
There are different mines with varying terrains to be explored and monsters to conquer in the quest for these rare resources of the Dalarnian world.The game aims to engage the broader player audience, particularly those with little to no prior experience in crypto, and bridge the gap with the traditional gaming industry.
Through issuing the in-game assets as NFTs, players can own and monetize their game experience through trading on in-game or external marketplaces. With the governance process, players are able to influence the game development, and have ownership of the game.
Play-to-earn: The DAR token economics design includes various incentives for players to earn in the game. Depending on each player’s strategy, they could be rewarded through actively playing the game, winning in competitions or passively earning from renting out their land plots to other users.
Diverse Gameplay: Besides the exploration of mines across the Dalarnian world, there is a real estate gameplay element to the game. Players that choose to buy land plots, can rent out to other players to explore and in return earn a rental fee. Reversely, instead of out-right purchasing land plots, players can choose to rent land plots of their choice to explore and gather resources.
BEP20Token._approve(address,address,uint256).owner (#590) shadows:
- Ownable.owner() (#299-301) (function)
BEP20Token.allowance(address,address).owner (#425) shadows:
- Ownable.owner() (#299-301) (function)
BEP20Token.constructor(uint256,address).owner (#356) shadows:
- Ownable.owner() (#299-301) (function)
BEP20Token.constructor(uint256,address).totalSupply (#356) shadows:
- BEP20Token.totalSupply() (#398-400) (function)
- IBEP20.totalSupply() (#9) (function)
Rename the local variables that shadow another component.
Additional information: link
SafeMath.mul(uint256,uint256) (#189-201) is never used and should be removed
SafeMath.mod(uint256,uint256,string) (#264-267) is never used and should be removed
SafeMath.div(uint256,uint256,string) (#229-236) is never used and should be removed
Context._msgData() (#115-118) is never used and should be removed
SafeMath.mod(uint256,uint256) (#249-251) is never used and should be removed
BEP20Token._burnFrom(address,uint256) (#604-607) is never used and should be removed
SafeMath.div(uint256,uint256) (#214-216) is never used and should be removed
Remove unused functions.
Additional information: link
renounceOwnership() should be declared external:
- Ownable.renounceOwnership() (#318-321)
transferFromNative(address,uint256,bytes32) should be declared external:
- BEP20Token.transferFromNative(address,uint256,bytes32) (#552-556)
transferToNative(bytes32,uint256) should be declared external:
- BEP20Token.transferToNative(bytes32,uint256) (#540-543)
increaseAllowance(address,uint256) should be declared external:
- BEP20Token.increaseAllowance(address,uint256) (#471-474)
decreaseAllowance(address,uint256) should be declared external:
- BEP20Token.decreaseAllowance(address,uint256) (#490-493)
Use the external attribute for functions never called from the contract.
Additional information: link
Redundant expression "this (#116)" inContext (#106-119)
Remove redundant statements if they congest code but offer no value.
Additional information: link
Unable to find audit link on the website