Skip to content

chaincraftgames/chaincraft-contracts

Repository files navigation

ChainCraft Contracts

Smart contracts powering the ChainCraft platform

Overview

Smart contract system with three diamonds:

  • CCGR - Game registry for publishing games as ERC721 NFTs with UUID linking
  • CCTD - Token duels for PvP wagering
  • CCGA - Game assets for minting NFTs with unique URIs

Key Features

  • EIP-2535 Diamond Pattern - Upgradeable and modular architecture
  • ERC721 NFTs - Games and assets as unique, transferable tokens
  • UUID Registry - Link off-chain game IDs to on-chain tokens
  • EIP-712 Signatures - User consent required for publishing and wagering
  • Operator System - Delegate actions to trusted addresses
  • EIP-7201 Storage - Namespaced storage prevents collisions
  • Token Duels - PvP wagering with EIP-712 signatures
  • Game Assets - Mint NFTs with unique URIs
  • Faucet System - Token faucet for testnet gameplay

Deployments

Arbitrum Sepolia (Chain ID: 421614)

Token Duels (Chain ID: 421614)

Game Assets (Chain ID: 421614)

Installation

pnpm install

Quick Start

# Compile contracts
pnpm hardhat compile

# Run tests
pnpm hardhat test

# Deploy
pnpm hardhat ignition deploy ignition/modules/ChainCraft.ts --network <your-network>

Architecture

CCGRDiamond (EIP-2535 Proxy)
├── OperableFacet        - Manage operators
├── EIP712Facet          - EIP-712 signature verification
└── GameRegistryFacet    - Publish & manage game NFTs
    ├── ERC721 Standard
    ├── UUID Registry
    └── EIP-712 Auth

CCTDDiamond (EIP-2535 Proxy - Token Duels)
├── OperableFacet        - Manage operators
└── TokenDuelsFacet      - PvP token wagering
    ├── Create Sessions
    ├── Join Sessions
    ├── Resolve Duels
    └── EIP-712 Signatures

CCGADiamond (EIP-2535 Proxy - Game Assets)
├── OperableFacet        - Manage operators
├── EIP712Facet          - EIP-712 signature verification
└── GameAssetFacet       - Mint & manage game asset NFTs
    ├── ERC721 Standard
    ├── Unique URIs
    └── EIP-712 Auth

TokenFaucet
└── Claim tokens for testnet gameplay

Testing

pnpm hardhat test

All tests passing: 62/62

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published