Skip to main content

Module capability

Module capability 

Source
Expand description

Exchange Capabilities Module

This module provides efficient representation and manipulation of exchange capabilities using bitflags for compact storage (8 bytes instead of 46+ bytes) and type-safe operations.

§Design

The capability system uses a hybrid approach:

  • Capability enum: Individual capability identifiers for type-safe API
  • Capabilities bitflags: Efficient storage and set operations
  • ExchangeCapabilities struct: High-level API with backward compatibility

§Example

use ccxt_core::capability::{Capability, Capabilities, ExchangeCapabilities};

// Using bitflags directly
let caps = Capabilities::MARKET_DATA | Capabilities::TRADING;
assert!(caps.contains(Capabilities::FETCH_TICKER));

// Using the high-level API
let exchange_caps = ExchangeCapabilities::public_only();
assert!(exchange_caps.has("fetchTicker"));
assert!(!exchange_caps.has("createOrder"));

Structs§

Capabilities
Efficient bitflags representation of exchange capabilities
ExchangeCapabilities
Exchange capabilities configuration
ExchangeCapabilitiesBuilder
Builder for ExchangeCapabilities

Enums§

Capability
Individual capability identifier
TraitCategory
Trait category for capability-to-trait mapping