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