16 Solidity contracts | Solidity ^0.8.24 | OpenZeppelin v5.x | Hardhat
contracts/sol/
βββ core/ β Game logic
β βββ PlayerRegistry.sol β Player accounts, XP, levels, prestige, vault
β βββ GameEngine.sol β Actions, energy, DUST minting, cooldowns
β βββ PvPArena.sol β PvP combat (bounties, raids, heists)
β
βββ economy/ β Token & DeFi layer
β βββ DustToken.sol β $DUST ERC-20 (mintable, 10% burn tax, daily limits)
β βββ DustRedemption.sol β Burn $DUST β receive ETH (cash-out)
β βββ DustStaking.sol β Stake $DUST β earn ETH yield
β βββ DustValueEngine.sol β Floor price, lockup, LP burn, milestones
β βββ Treasury.sol β Revenue distribution (8 pools, 48h timelock)
β βββ CapoToken.sol β $CAPO ERC-20 (100M fixed supply, transfer limits)
β βββ CapoStaking.sol β Stake $CAPO β earn ETH from 5% revenue
β βββ CapoBuyback.sol β Auto buyback & burn $CAPO
β βββ DustToCapoSwap.sol β Burn $DUST β receive $CAPO (level-gated)
β
βββ governance/ β DAO voting
β βββ CapoGovernor.sol β Proposal + vote with $CAPO (quorum from votable supply)
β
βββ nft/ β Soulbound achievements
β βββ AchievementNFT.sol β Non-transferable ERC-721 (tiered: CommonβMythic)
β
βββ utility/ β NFT power system
β βββ NFTUtility.sol β XP/DUST/cooldown/staking/PvP boosts from NFTs
β
βββ automation/ β Keeper bot
βββ CryptoCapoKeeper.sol β Chainlink-compatible upkeep (6 maintenance tasks)
npm install
npx hardhat test # 308 tests, ~15s- OpenZeppelin AccessControl (role-based: MINTER, BURNER, GAME_ENGINE, OPERATOR, DISTRIBUTOR)
- ReentrancyGuard on all external-facing functions
- Pausable on Treasury, DustToCapoSwap
- 48h timelock on Treasury recipient changes
- 10% burn tax on $DUST player transfers; game contracts whitelisted
- Daily transfer limits scaled by player level
- Max wallet cap (2% of total minted)
- Soulbound NFTs (non-transferable)
- Level-gated DustToCapoSwap (min level 5)
@openzeppelin/contractsv5.xhardhat+@nomicfoundation/hardhat-toolbox- Target chains: Base (8453), Base Sepolia (84532), Polygon, Arbitrum, etc.
This package contains zero private keys, API keys, or .env files.
The hardhat.config.ts has been sanitized β all key references show REDACTED.