Skip to content

Commit 5366f99

Browse files
committed
feat(hip-3-pusher): set up pytest, websocket timeout and better reconnect handling
1 parent 7166cfe commit 5366f99

File tree

12 files changed

+155
-21
lines changed

12 files changed

+155
-21
lines changed

apps/hip-3-pusher/pyproject.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,8 @@ dependencies = [
1414
"prometheus-client~=0.23.1",
1515
"websockets~=15.0.1",
1616
]
17+
18+
[dependency-groups]
19+
dev = [
20+
"pytest>=8.4.2",
21+
]
File renamed without changes.

apps/hip-3-pusher/src/hermes_listener.py renamed to apps/hip-3-pusher/src/pusher/hermes_listener.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
import time
55
import websockets
66

7-
from config import Config
8-
from price_state import PriceState, PriceUpdate
7+
from pusher.config import Config
8+
from pusher.price_state import PriceState, PriceUpdate
99

1010

1111
class HermesListener:

apps/hip-3-pusher/src/hyperliquid_listener.py renamed to apps/hip-3-pusher/src/pusher/hyperliquid_listener.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
from loguru import logger
55
import time
66

7-
from config import Config
8-
from price_state import PriceState, PriceUpdate
7+
from pusher.config import Config
8+
from pusher.price_state import PriceState, PriceUpdate
99

1010
# This will be in config, but note here.
1111
# Other RPC providers exist but so far we've seen their support is incomplete.

apps/hip-3-pusher/src/kms_signer.py renamed to apps/hip-3-pusher/src/pusher/kms_signer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
from hyperliquid.utils.signing import get_timestamp_ms, action_hash, construct_phantom_agent, l1_payload
1111
from loguru import logger
1212

13-
from config import Config
13+
from pusher.config import Config
1414

1515
SECP256K1_N_HALF = SECP256K1_N // 2
1616

apps/hip-3-pusher/src/lazer_listener.py renamed to apps/hip-3-pusher/src/pusher/lazer_listener.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
import time
55
import websockets
66

7-
from config import Config
8-
from price_state import PriceState, PriceUpdate
7+
from pusher.config import Config
8+
from pusher.price_state import PriceState, PriceUpdate
99

1010

1111
class LazerListener:

apps/hip-3-pusher/src/main.py renamed to apps/hip-3-pusher/src/pusher/main.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55
import sys
66
import tomllib
77

8-
from config import Config
9-
from hyperliquid_listener import HyperliquidListener
10-
from lazer_listener import LazerListener
11-
from hermes_listener import HermesListener
12-
from price_state import PriceState
13-
from publisher import Publisher
14-
from metrics import Metrics
8+
from pusher.config import Config
9+
from pusher.hyperliquid_listener import HyperliquidListener
10+
from pusher.lazer_listener import LazerListener
11+
from pusher.hermes_listener import HermesListener
12+
from pusher.price_state import PriceState
13+
from pusher.publisher import Publisher
14+
from pusher.metrics import Metrics
1515

1616

1717
def load_config():

apps/hip-3-pusher/src/metrics.py renamed to apps/hip-3-pusher/src/pusher/metrics.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from opentelemetry.metrics import get_meter_provider, set_meter_provider
44
from opentelemetry.sdk.metrics import MeterProvider
55

6-
from config import Config
6+
from pusher.config import Config
77

88
METER_NAME = "hip3pusher"
99

apps/hip-3-pusher/src/price_state.py renamed to apps/hip-3-pusher/src/pusher/price_state.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from loguru import logger
22
import time
33

4-
from config import Config
4+
from pusher.config import Config
55

66
DEFAULT_STALE_PRICE_THRESHOLD_SECONDS = 5
77

apps/hip-3-pusher/src/publisher.py renamed to apps/hip-3-pusher/src/pusher/publisher.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11
import asyncio
2-
32
from loguru import logger
43

54
from eth_account import Account
65
from eth_account.signers.local import LocalAccount
76
from hyperliquid.exchange import Exchange
87
from hyperliquid.utils.constants import TESTNET_API_URL, MAINNET_API_URL
98

10-
from config import Config
11-
from kms_signer import KMSSigner
12-
from metrics import Metrics
13-
from price_state import PriceState
9+
from pusher.config import Config
10+
from pusher.kms_signer import KMSSigner
11+
from pusher.metrics import Metrics
12+
from pusher.price_state import PriceState
1413

1514

1615
class Publisher:

0 commit comments

Comments
 (0)