Skip to content

Latest commit

 

History

History
86 lines (59 loc) · 2.64 KB

File metadata and controls

86 lines (59 loc) · 2.64 KB

SandboxPasses1155 - NFT Pass System

Overview

SandboxPasses1155 is a smart contract that powers a flexible NFT pass system on the Ethereum blockchain. It allows for the creation, management, and distribution of digital passes that can be used for various purposes including event access, membership benefits, and digital collectibles.

Key Features

📱 Multi-Token Support

  • A single contract can manage many different types of passes
  • Each pass type has its own configuration, supply limits, and transferability rules

🔒 Flexible Transferability

  • Passes can be configured as transferable or non-transferable (soulbound)
  • Admins can whitelist specific addresses to transfer otherwise non-transferable passes
  • Helps maintain integrity for access passes and credentials

🏷️ Supply Controls

  • Set maximum supply limits for each pass type
  • Configure how many of each pass type a single wallet can hold
  • Prevent overconcentration of passes in single wallets

💰 Payment Integration

  • Built-in support for payments in ERC20 tokens
  • Configurable treasury addresses to receive payments
  • Different pass types can have different payment recipients

🔄 Pass Transformation

  • Users can burn existing passes to receive new ones
  • Supports upgrade paths and token evolution
  • Operator-controlled transformations for managed ecosystems

🛡️ Security Features

  • Role-based access control for administrative functions
  • Pausable functionality for emergency situations
  • Signature-based minting for secure off-chain authorization
  • Meta-transaction support for better user experience

💸 Royalty Support

  • ERC2981 royalty standard implementation
  • Configure royalties for secondary market sales
  • Set default royalties or override for specific pass types

User Interactions

For Pass Holders

  • Mint passes using authorized signatures
  • Transform existing passes into new pass types
  • Transfer passes (if allowed by configuration)
  • Use passes for access to services or content

For Administrators

  • Configure new pass types with custom properties
  • Mint passes directly to users
  • Update pass configurations and metadata
  • Manage transferability and access control
  • Pause/unpause contract functions in emergencies
  • Recover accidentally sent tokens

Technical Details

This contract implements several Ethereum standards:

  • ERC1155: Multi-token standard
  • ERC2981: NFT royalty standard
  • ERC2771: Meta-transactions for gas-less operations

The contract is designed to be deployed behind a proxy for upgradeability, allowing the functionality to evolve over time while maintaining the same contract address and token balances.