Skip to content

Commit 43b5879

Browse files
authored
Fix schema for listing markets of dYdX (#2240)
1 parent cd794bb commit 43b5879

File tree

3 files changed

+47
-0
lines changed

3 files changed

+47
-0
lines changed

nautilus_trader/adapters/dydx/endpoints/market/instruments_info.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ class DYDXPerpetualMarketResponseObject(msgspec.Struct, forbid_unknown_fields=Tr
7878
oraclePrice: str | None = None
7979
openInterestLowerCap: str | None = None
8080
openInterestUpperCap: str | None = None
81+
defaultFundingRate1H: str | None = None
8182

8283
def parse_base_currency(self) -> Currency:
8384
"""

tests/integration_tests/adapters/dydx/test_http_endpoints.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -445,6 +445,23 @@ def test_list_perpetual_markets(
445445
assert len(list_perpetual_markets_response.markets) == expected_num_markets
446446

447447

448+
def test_list_perpetual_markets_v8() -> None:
449+
"""
450+
Test decoding the /v4/perpetualMarkets endpoint for protocol v8.
451+
"""
452+
# Prepare
453+
expected_num_markets = 1
454+
decoder = msgspec.json.Decoder(DYDXListPerpetualMarketsResponse)
455+
456+
# Act
457+
with Path("tests/test_data/dydx/http/list_perpetual_markets_v8.json").open() as file_reader:
458+
list_perpetual_markets_response = decoder.decode(file_reader.read())
459+
460+
# Assert
461+
assert len(list_perpetual_markets_response.markets) == expected_num_markets
462+
assert list_perpetual_markets_response.markets["BTC-USD"].defaultFundingRate1H == "0"
463+
464+
448465
def test_list_perpetual_markets_null_oracle_price() -> None:
449466
"""
450467
Test decoding the /v4/perpetualMarkets endpoint with a null oracle price.
@@ -587,6 +604,7 @@ def test_parse_to_instrument(
587604
"ticker": "BTC-USD",
588605
"trades24H": 65786,
589606
"volume24H": "224881682.4025",
607+
"defaultFundingRate1H": None,
590608
},
591609
)
592610

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
{
2+
"markets":{
3+
"BTC-USD":{
4+
"clobPairId":"0",
5+
"ticker":"BTC-USD",
6+
"status":"ACTIVE",
7+
"oraclePrice":"104952.44975",
8+
"priceChange24H":"2545.6996",
9+
"volume24H":"96146.1767",
10+
"trades24H":7366,
11+
"nextFundingRate":"0",
12+
"initialMarginFraction":"0.02",
13+
"maintenanceMarginFraction":"0.012",
14+
"openInterest":"44.8741",
15+
"atomicResolution":-10,
16+
"quantumConversionExponent":-9,
17+
"tickSize":"1",
18+
"stepSize":"0.0001",
19+
"stepBaseQuantums":1000000,
20+
"subticksPerTick":100000,
21+
"marketType":"CROSS",
22+
"openInterestLowerCap":"0",
23+
"openInterestUpperCap":"0",
24+
"baseOpenInterest":"50.3776",
25+
"defaultFundingRate1H":"0"
26+
}
27+
}
28+
}

0 commit comments

Comments
 (0)