Artinals Protocol
  • Introduction
    • What is Artinals?
    • Overview of the Modules
    • Key Concepts and Terminology
  • Getting Started
    • Prerequisites
    • Cloning the Repository
    • Building and Testing the Modules
  • ART20
    • Overview and Capabilities
    • Data Structures
      • NFT
      • CollectionCap
      • UserBalance
      • TokenIdCounter
      • Dual IDs
    • Events
      • NFTMintedEvent
      • CollectionCreatedEvent
      • MetadataUpdateEvent
      • BurnEvent
      • TransferEvent
      • Additional Events
    • Functions and Entry Points
      • Initializing the Module
      • Creating Collections
      • Minting ART20 NFTs
      • Updating Metadata
      • Transfer and Burn Operations
      • Batch Operations
      • Deny List Mechanics and Authority
      • Custom Transfers
    • Value Sources (API, Oracle)
    • Best Practices & Examples
  • SALE Module
    • Purpose and Functionality
    • Interdependence
    • Price Index Module
    • Liquidity Module
    • Data Structures
      • NFTSale
      • NFTListing
  • Events
    • SaleCreated
    • NFTPurchased
    • PriceUpdateEvent
    • CurrencyWithdrawn
    • DenyList & Related Events
    • PoolCreatedEvent
    • OrderCanceled
    • OrderExecuted
  • Functions and Entry Points
    • Creating a Sale
    • Adding NFTs to a Sale
    • Purchasing NFTs from a Sale
    • Withdrawing Proceeds
    • Managing Sale State
    • Core Trading Functionality
  • Integrating with ART20
  • Examples & Best Practices
  • MARKET Module
    • Introduction
    • Testnet (Beta)
    • Smart Contract Overview
    • Data Structures
      • Trade Ledger (TradeLedger)
      • Trade Offer (TradeOffer)
      • Buy Offer (BuyOffer)
      • Ledger Registry (LedgerRegistry)
    • Event Structures
      • Offer Created (OfferCreated)
      • Offer Accepted (OfferAccepted)
      • Buy Offer Created (BuyOfferCreated)
      • Buy Offer Accepted (BuyOfferAccepted)
      • Batch Transactions
    • Event Emissions
    • Functions and Entry Points
      • Trade Ledger Management
      • Register Ledger
      • Get Trade Ledger
      • Create Sell Offer
      • Accept Sell Offer
      • Cancel Sell Offer
      • Create Buy Offer
      • Accept Buy Offer
      • Cancel Buy Offer
      • Batch Accept Sell Offers
      • Batch Accept Buy Offers
  • Security Mechanisms
  • TRADE Module
    • Introduction
    • Purpose and Ecosystem Role
    • Data Structures
      • TradingPool
      • LiquidityPosition
      • PriceOracle
      • CollectionPool
    • Events
      • PoolCreated
      • LiquidityAdded
      • LiquidityRemoved
      • TradeExecuted
      • PoolStatusChanged
      • PoolFeesUpdated
    • Functions and Entry Points
      • Creating and Managing Liquidity Pools
      • Adding/Removing Liquidity
      • Swapping NFTs and Tokens
      • Fee Mechanics and Distribution
      • Emergency Operations and Recovery
  • Working with Price Oracles
  • Metrics and Statistics (24h Volumes, TWAP, Price Impact)
  • Integration with SALE and ART20
  • Integration and Workflows
    • Typical User Journeys
      • Creating a Collection and Minting Tokens (ART20)
      • Listing and Selling NFTs (SALE)
      • Providing Liquidity and Trading NFTs (TRADE)
    • Example Scripts and Transactions
    • Interactions Between Modules
  • Security, Permissions, and Deny Lists
    • Introduction
    • Role of Deny List in ART20
    • Creator vs. Owner Permissions
    • Fee Distribution and Authority
    • Best Practices for Secure Deployment
  • Testing and Troubleshooting
    • Running Unit Tests
    • Common Issues and Solutions
    • Debugging and Emitting Debug Events
  • Advanced Topics
    • Value Sources (API Endpoints and Oracle Addresses)
    • Batch Update Operations
    • Customizing Parameters (Fees, Supply, Price Ranges)
    • Extensibility and Future Integrations
  • Appendices
    • Move Language and Sui Concepts
    • Glossary of Terms
    • Code Style and Conventions
  • Building on Top of the Artinals Contract
    • Overview
    • Package ID
    • Import Modules
    • Commom Integration Patterns
    • Best Practices
    • Common Errors and Solutions
Powered by GitBook
On this page
  1. Introduction

Key Concepts and Terminology

Key Concepts and Terminology

  • NFT (Non-Fungible Token): A unique digital asset represented on the blockchain. Each NFT is distinguishable from another due to its unique asset_id, metadata, and ownership record.

  • CollectionCap: A structure representing the entire NFT collection’s capabilities, including who can mint and manage it, maximum supply constraints, and mutability flags.

  • UserBalance: A record that keeps track of how many NFTs from a given collection a particular user holds, providing a simpler mechanism than holding each NFT object separately.

  • Deny List: A mechanism to blacklist certain addresses from receiving NFTs from a collection. Useful for compliance, security, or curated distribution.

  • Value Source (API/Oracle): A feature that allows NFTs to have their values or metadata dynamically updated from external data feeds, such as APIs or on-chain oracles. This enables NFTs whose attributes can change over time based on real-world or off-chain events.

  • Sale: A configuration within the SALE module that lists a batch of NFTs for a set price, facilitating a marketplace-like scenario without requiring direct one-to-one negotiations.

  • NFTSale / NFTListing: Data structures in the SALE module representing the entire sale and individual NFT listings. They track prices, ownership, and sale state.

  • Trading Pool: Within the TRADE module, a liquidity pool that pairs NFTs with a token (like a stablecoin or SUI) to enable automated, decentralized trading of NFTs. The pool sets prices and manages liquidity through a formula, much like Automated Market Makers (AMMs) in the DeFi world.

  • Liquidity Position / LP Tokens: Represent a user's share in a trading pool’s liquidity. By providing NFTs and tokens, a user receives LP tokens back. These LP tokens track the user’s fractional ownership of the pool and the share of fees accrued.

  • Price Oracle: An on-chain data source that tracks historical prices to produce a time-weighted average price (TWAP), helping prevent price manipulation and ensuring fair trades.

  • Slippage and Price Impact: Key trading concepts that measure how much a trade deviates from the current expected price due to liquidity depth, order size, and fees. Limits on slippage and price impact help ensure fair trading.

PreviousOverview of the ModulesNextPrerequisites

Last updated 6 months ago