funding trades

Co-Authored-By: itsdeka <dario.moceri@bitfinex.com>
This commit is contained in:
Davide Casale
2023-01-30 17:36:50 +01:00
parent b9850fa451
commit 0ddbd6e76e
4 changed files with 46 additions and 0 deletions

View File

@@ -99,6 +99,19 @@ class _RestAuthenticatedEndpoints(_Requests):
return [ serializers.Trade.parse(*sub_data) for sub_data in self._POST(endpoint, data=data) ]
def get_funding_trades_history(self, symbol: Optional[str] = None, sort: Optional[Sort] = None, start: Optional[str] = None, end: Optional[str] = None, limit: Optional[int] = None) -> List[FundingTrade]:
if symbol == None:
endpoint = "auth/r/funding/trades/hist"
else: endpoint = f"auth/r/funding/trades/{symbol}/hist"
data = {
"sort": sort,
"start": start, "end": end,
"limit": limit
}
return [ serializers.FundingTrade.parse(*sub_data) for sub_data in self._POST(endpoint, data=data) ]
def get_order_trades(self, symbol: str, id: int) -> List[OrderTrade]:
return [ serializers.OrderTrade.parse(*sub_data) for sub_data in self._POST(f"auth/r/order/{symbol}:{id}/trades") ]

View File

@@ -355,6 +355,16 @@ Trade = generate_labeler_serializer("Trade", klass=types.Trade, labels=[
"cid"
])
FundingTrade = generate_labeler_serializer("FundingTrade", klass=types.FundingTrade, labels=[
"id",
"currency",
"mts_create",
"offer_id",
"amount",
"rate",
"period"
])
OrderTrade = generate_labeler_serializer("OrderTrade", klass=types.OrderTrade, labels=[
"id",
"pair",

View File

@@ -284,6 +284,16 @@ class Trade(_Type):
fee_currency: str
cid: int
@dataclass()
class FundingTrade(_Type):
id: int
currency: str
mts_create: int
offer_id: int
amount: float
rate: float
period: int
@dataclass
class OrderTrade(_Type):
id: int

View File

@@ -0,0 +1,13 @@
# python -c "import examples.rest.get_funding_trades_history"
import os
from bfxapi.client import Client, Constants
bfx = Client(
REST_HOST=Constants.REST_HOST,
API_KEY=os.getenv("BFX_API_KEY"),
API_SECRET=os.getenv("BFX_API_SECRET")
)
print(bfx.rest.auth.get_funding_trades_history())