Skip to content

Latest commit

 

History

History
139 lines (78 loc) · 7.27 KB

File metadata and controls

139 lines (78 loc) · 7.27 KB
graph LR
    ExchangePyBase["ExchangePyBase"]
    PerpetualDerivativePyBase["PerpetualDerivativePyBase"]
    GatewayBase["GatewayBase"]
    GatewayHttpClient["GatewayHttpClient"]
    WebAssistantsFactory["WebAssistantsFactory"]
    RESTAssistant["RESTAssistant"]
    WSAssistant["WSAssistant"]
    AsyncThrottler["AsyncThrottler"]
    AuthBase["AuthBase"]
    TimeSynchronizer["TimeSynchronizer"]
    NetworkBase["NetworkBase"]
    ExchangePyBase -- "inherits from" --> NetworkBase
    ExchangePyBase -- "utilizes" --> WebAssistantsFactory
    PerpetualDerivativePyBase -- "inherits from" --> ExchangePyBase
    PerpetualDerivativePyBase -- "utilizes" --> WebAssistantsFactory
    ExchangePyBase -- "utilizes" --> AsyncThrottler
    PerpetualDerivativePyBase -- "utilizes" --> AsyncThrottler
    ExchangePyBase -- "utilizes" --> AuthBase
    PerpetualDerivativePyBase -- "utilizes" --> AuthBase
    ExchangePyBase -- "utilizes" --> TimeSynchronizer
    PerpetualDerivativePyBase -- "utilizes" --> TimeSynchronizer
    GatewayBase -- "utilizes" --> GatewayHttpClient
    WebAssistantsFactory -- "creates instances of" --> RESTAssistant
    WebAssistantsFactory -- "creates instances of" --> WSAssistant
    RESTAssistant -- "depends on" --> AuthBase
    WSAssistant -- "depends on" --> AuthBase
    RESTAssistant -- "depends on" --> AsyncThrottler
Loading

CodeBoardingDemoContact

Details

One paragraph explaining the functionality which is represented by this graph. What the main flow is and what is its purpose.

ExchangePyBase

Serves as the abstract base class for all centralized exchange (CEX) spot connectors. It defines the common interface and fundamental functionalities that every spot exchange connector must implement, such as order placement, cancellation, balance tracking, and market data handling.

Related Classes/Methods:

PerpetualDerivativePyBase

Serves as the abstract base class for all perpetual derivative exchange connectors. It extends ExchangePyBase and defines functionalities specific to perpetual markets, including position management, funding rates, and leverage.

Related Classes/Methods:

GatewayBase

Serves as the abstract base class for all decentralized exchange (DEX) and gateway connectors. It defines the interface for interacting with the Hummingbot Gateway, which mediates communication with various blockchain networks and DEX protocols.

Related Classes/Methods:

GatewayHttpClient

Handles HTTP communication with the Hummingbot Gateway. It is responsible for sending requests to the Gateway and receiving responses, forming the direct communication layer for DEX interactions.

Related Classes/Methods:

WebAssistantsFactory

A factory class responsible for creating and managing instances of RESTAssistant and WSAssistant. It ensures that web communication components are properly initialized and configured for each connector.

Related Classes/Methods:

RESTAssistant

Provides a standardized way to make REST API calls to exchanges. It encapsulates logic for request signing, error handling, and response parsing for RESTful interactions.

Related Classes/Methods:

WSAssistant

Provides a standardized way to manage WebSocket connections with exchanges for real-time market data and user stream updates. It handles connection establishment, message sending/receiving, and error handling for WebSocket interactions.

Related Classes/Methods:

AsyncThrottler

Manages and enforces API rate limits for all outgoing requests to exchanges. It prevents the bot from exceeding exchange-specific request limits, which could lead to temporary bans or degraded performance.

Related Classes/Methods:

AuthBase

An abstract base class defining the interface for authentication mechanisms. Concrete authentication classes for each exchange (e.g., BinanceAuth) inherit from this.

Related Classes/Methods:

TimeSynchronizer

Synchronizes the bot's local time with the exchange's server time. This is critical for many exchange APIs that require requests to be timestamped accurately to prevent replay attacks and ensure order validity.

Related Classes/Methods:

NetworkBase

Provides a foundational base for network-related functionalities, likely including common methods for managing network state and interactions.

Related Classes/Methods: