> For the complete documentation index, see [llms.txt](https://docs.artinals.com/artinals-protocol/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.artinals.com/artinals-protocol/sale-module/interdependence.md).

# Interdependence

These contracts form a comprehensive NFT marketplace system. Here's how they work together:

**Core Module (SALE):**

The main module handling NFT sales and trading functionality Key features:

NFT listing and sales management Order book implementation for trading Price management Liquidity pool management

Dependencies: Relies on ART20 module for NFT functionality

**NFT Standard (ART20):**

External module (imported) that defines the NFT standard Provides core NFT functionality:

NFT structure and properties Collection management Balance tracking Admin capabilities

**Price Tracking (PRICE\_INDEX):**

Handles price tracking and history Features:

Multiple time intervals (1min, 5min, 15min, 1h, 4h, 1d) OHLCV (Open, High, Low, Close, Volume) data Price history management

**Liquidity Analysis (LIQUIDITY):**

Analytics module for market liquidity Features:

Liquidity metrics calculation Order book depth analysis Bid/ask spread tracking

**Depends on SALE module for order book data**

The interdependence flows primarily from supporting modules (LIQUIDITY, PRICE\_INDEX) to the core SALE module, which in turn depends on the ART20 NFT standard. This architecture allows for:

Separation of concerns:

Core trading logic (SALE) Price tracking (PRICE\_INDEX) Liquidity analysis (LIQUIDITY) NFT standards (ART20)

Modular functionality:

Each module can be upgraded independently Clear boundaries between different aspects of the marketplace Easy to add new features without modifying core logic
