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
7 changes: 7 additions & 0 deletions tplus/client/clearingengine/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

from tplus.client.clearingengine.base import BaseClearingEngineClient
from tplus.model.asset_identifier import AssetIdentifier
from tplus.model.interest_rates import InterestRates
from tplus.model.types import UserPublicKey
from tplus.utils.user import User

Expand Down Expand Up @@ -227,3 +228,9 @@ async def set_trader_as_mm(
"signature": sig,
},
)

async def set_interest_rates(self, rates: list[InterestRates]):
await self._post(
"admin/interest/inject",
json_data={"request_id": 1, "rates": [r.model_dump(mode="json") for r in rates]},
)
8 changes: 8 additions & 0 deletions tplus/model/interest_rates.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
from pydantic import BaseModel


class InterestRates(BaseModel):
asset_identifier: str
funding_rate: int
utilisation_rate: int
quote_utilisation_rate: int
7 changes: 4 additions & 3 deletions tplus/model/user_inventory.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from decimal import Decimal
from typing import Literal

from pydantic import BaseModel
Expand All @@ -6,14 +7,14 @@
class Spot(BaseModel):
"""Represents a single spot account with multiple assets"""

spot_account_balance: dict[str, int]
spot_account_balance: dict[str, Decimal]


class Balance(BaseModel):
"""Represents either credits or liabilities for given asset"""

credits: int
liabilities: int
credits: Decimal
liabilities: Decimal


class MarginPosition(BaseModel):
Expand Down