Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,10 @@ dependencies:
- docker-py
- pip
- pip:
- hummingbot==20250715
- msgpack>=1.0.5
- hummingbot
- pandas==2.2.3
- pandas-ta<0.4.0
- msgpack>=1.0.5
- flake8
- isort
- pre-commit
Expand Down
16 changes: 8 additions & 8 deletions services/market_data_feed_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ async def get_trading_rules(self, connector_name: str, trading_pairs: Optional[L
"""
try:
# Access connector through MarketDataProvider's _rate_sources LazyDict
connector = self.market_data_provider._rate_sources[connector_name]
connector = self.market_data_provider._non_trading_connectors[connector_name]

# Check if trading rules are initialized, if not update them
if not connector.trading_rules or len(connector.trading_rules) == 0:
Expand Down Expand Up @@ -252,7 +252,7 @@ async def get_prices(self, connector_name: str, trading_pairs: List[str]) -> Dic
"""
try:
# Access connector through MarketDataProvider's _rate_sources LazyDict
connector = self.market_data_provider._rate_sources[connector_name]
connector = self.market_data_provider._non_trading_connectors[connector_name]

# Get last traded prices
prices = await connector.get_last_traded_prices(trading_pairs)
Expand All @@ -279,8 +279,8 @@ async def get_funding_info(self, connector_name: str, trading_pair: str) -> Dict
Dictionary containing funding information
"""
try:
# Access connector through MarketDataProvider's _rate_sources LazyDict
connector = self.market_data_provider._rate_sources[connector_name]
# Access connector through MarketDataProvider's _non_trading_connectors LazyDict
connector = self.market_data_provider._non_trading_connectors[connector_name]

# Check if this is a perpetual connector and has funding info support
if hasattr(connector, '_orderbook_ds') and connector._orderbook_ds:
Expand Down Expand Up @@ -322,8 +322,8 @@ async def get_order_book_data(self, connector_name: str, trading_pair: str, dept
Dictionary containing bid and ask data
"""
try:
# Access connector through MarketDataProvider's _rate_sources LazyDict
connector = self.market_data_provider._rate_sources[connector_name]
# Access connector through MarketDataProvider's _non_trading_connectors LazyDict
connector = self.market_data_provider._non_trading_connectors[connector_name]

# Access the order book data source
if hasattr(connector, '_orderbook_ds') and connector._orderbook_ds:
Expand Down Expand Up @@ -365,8 +365,8 @@ async def get_order_book_query_result(self, connector_name: str, trading_pair: s
try:
current_time = time.time()

# Access connector through MarketDataProvider's _rate_sources LazyDict
connector = self.market_data_provider._rate_sources[connector_name]
# Access connector through MarketDataProvider's _non_trading_connectors LazyDict
connector = self.market_data_provider._non_trading_connectors[connector_name]

# Access the order book data source
if hasattr(connector, '_orderbook_ds') and connector._orderbook_ds:
Expand Down
10 changes: 4 additions & 6 deletions utils/connector_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,8 @@
# Create module-specific logger
logger = logging.getLogger(__name__)

from hummingbot.client.config.client_config_map import ClientConfigMap
from hummingbot.client.config.config_crypt import ETHKeyFileSecretManger
from hummingbot.client.config.config_helpers import ClientConfigAdapter, ReadOnlyClientConfigAdapter, get_connector_class
from hummingbot.client.config.config_helpers import get_connector_class
from hummingbot.client.settings import AllConnectorSettings
from hummingbot.connector.connector_base import ConnectorBase
from hummingbot.core.data_type.common import OrderType, PositionAction, PositionMode, TradeType
Expand Down Expand Up @@ -64,21 +63,17 @@ def _create_connector(self, account_name: str, connector_name: str):
:return: The connector object.
"""
BackendAPISecurity.login_account(account_name=account_name, secrets_manager=self.secrets_manager)
client_config_map = ClientConfigAdapter(ClientConfigMap())
conn_setting = AllConnectorSettings.get_connector_settings()[connector_name]
keys = BackendAPISecurity.api_keys(connector_name)

# Debug logging
logger.info(f"Creating connector {connector_name} for account {account_name}")
logger.debug(f"API keys retrieved: {list(keys.keys()) if keys else 'None'}")

read_only_config = ReadOnlyClientConfigAdapter.lock_config(client_config_map)

init_params = conn_setting.conn_init_parameters(
trading_pairs=[],
trading_required=True,
api_keys=keys,
client_config_map=read_only_config,
)

# Debug logging
Expand Down Expand Up @@ -324,6 +319,9 @@ async def _update_connector_state(self, connector: ConnectorBase, connector_name
This function can be called both during initialization and periodically.
"""
try:
# Update current timestamp
connector._set_current_timestamp(time.time())

# Update balances
await connector._update_balances()

Expand Down