From d82d16d0e5b568872a83bd9676f65fd08599313c Mon Sep 17 00:00:00 2001 From: byronwang2005 Date: Tue, 2 Dec 2025 11:56:28 +0800 Subject: [PATCH 1/2] Enforce environment proxy trust for ccxt.pro market data source --- python/valuecell/agents/common/trading/data/market.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/valuecell/agents/common/trading/data/market.py b/python/valuecell/agents/common/trading/data/market.py index 577e0837e..4843f5445 100644 --- a/python/valuecell/agents/common/trading/data/market.py +++ b/python/valuecell/agents/common/trading/data/market.py @@ -61,7 +61,7 @@ async def get_recent_candles( async def _fetch_and_process(symbol: str) -> List[Candle]: # instantiate exchange class by name (e.g., ccxtpro.kraken) exchange_cls = get_exchange_cls(self._exchange_id) - exchange = exchange_cls({"newUpdates": False}) + exchange = exchange_cls({"newUpdates": False, "aiohttp_trust_env": True}) symbol_candles: List[Candle] = [] normalized_symbol = self._normalize_symbol(symbol) @@ -207,7 +207,7 @@ async def get_market_snapshot(self, symbols: List[str]) -> MarketSnapShotType: snapshot = defaultdict(dict) exchange_cls = get_exchange_cls(self._exchange_id) - exchange = exchange_cls({"newUpdates": False}) + exchange = exchange_cls({"newUpdates": False, "aiohttp_trust_env": True}) try: for symbol in symbols: sym = normalize_symbol(symbol) From a40a3e1b5a000f3cc00e867603c19781f2bffe39 Mon Sep 17 00:00:00 2001 From: byronwang2005 Date: Tue, 2 Dec 2025 11:57:36 +0800 Subject: [PATCH 2/2] Enforce environment proxy trust for ccxt.pro market data source 2 --- python/valuecell/agents/common/trading/execution/ccxt_trading.py | 1 + 1 file changed, 1 insertion(+) diff --git a/python/valuecell/agents/common/trading/execution/ccxt_trading.py b/python/valuecell/agents/common/trading/execution/ccxt_trading.py index c771ee84d..3573fe8ca 100644 --- a/python/valuecell/agents/common/trading/execution/ccxt_trading.py +++ b/python/valuecell/agents/common/trading/execution/ccxt_trading.py @@ -118,6 +118,7 @@ async def _get_exchange(self) -> ccxt.Exchange: "defaultType": self._choose_default_type_for_exchange(), **self._ccxt_options, }, + "aiohttp_trust_env": True, } # Hyperliquid uses wallet-based authentication