소스 검색

default push urls behavior

Mike Rolish 1 개월 전
부모
커밋
4628c2547e
2개의 변경된 파일10개의 추가작업 그리고 4개의 파일을 삭제
  1. 9 2
      apps/hip-3-pusher/src/pusher/config.py
  2. 1 2
      apps/hip-3-pusher/src/pusher/publisher.py

+ 9 - 2
apps/hip-3-pusher/src/pusher/config.py

@@ -1,4 +1,5 @@
-from pydantic import BaseModel, Field
+from hyperliquid.utils.constants import MAINNET_API_URL, TESTNET_API_URL
+from pydantic import BaseModel, model_validator
 from typing import Optional
 
 STALE_TIMEOUT_SECONDS = 5
@@ -28,7 +29,7 @@ class HermesConfig(BaseModel):
 
 class HyperliquidConfig(BaseModel):
     hyperliquid_ws_urls: list[str]
-    backup_push_urls: Optional[list[str]] = Field(default_factory=list)
+    push_urls: Optional[list[str]] = None
     market_name: str
     market_symbol: str
     use_testnet: bool
@@ -36,6 +37,12 @@ class HyperliquidConfig(BaseModel):
     publish_interval: float
     enable_publish: bool
 
+    @model_validator(mode="after")
+    def set_default_urls(self):
+        if self.push_urls is None:
+            self.push_urls = [TESTNET_API_URL] if self.use_testnet else [MAINNET_API_URL]
+        return self
+
 
 class Config(BaseModel):
     stale_price_threshold_seconds: int

+ 1 - 2
apps/hip-3-pusher/src/pusher/publisher.py

@@ -5,7 +5,6 @@ from pathlib import Path
 from eth_account import Account
 from eth_account.signers.local import LocalAccount
 from hyperliquid.exchange import Exchange
-from hyperliquid.utils.constants import TESTNET_API_URL, MAINNET_API_URL
 
 from pusher.config import Config
 from pusher.kms_signer import KMSSigner
@@ -22,7 +21,7 @@ class Publisher:
     def __init__(self, config: Config, price_state: PriceState, metrics: Metrics):
         self.publish_interval = float(config.hyperliquid.publish_interval)
         self.use_testnet = config.hyperliquid.use_testnet
-        self.push_urls = [TESTNET_API_URL if self.use_testnet else MAINNET_API_URL] + config.hyperliquid.backup_push_urls
+        self.push_urls = config.hyperliquid.push_urls
 
         self.kms_signer = None
         self.enable_kms = False