add endpoints, minor fixs, use format instead of str

Co-authored-by: itsdeka <dario.moceri@bitfinex.com>
This commit is contained in:
Davide Casale
2023-01-25 18:25:47 +01:00
parent ed12bf473f
commit 0278825d35
6 changed files with 67 additions and 3 deletions

View File

@@ -496,3 +496,6 @@ class _RestAuthenticatedEndpoints(_Requests):
def get_base_margin_info(self) -> BaseMarginInfo:
return serializers.BaseMarginInfo.parse(*(self._POST(f"auth/r/info/margin/base")[1]))
def claim_position(self, id: int, amount: Optional[Union[Decimal, float, str]] = None) -> Notification[Claim]:
return serializers._Notification[Claim](serializer=serializers.Claim).parse(*self._POST("auth/w/position/claim", data={ "id": id, "amount": amount }))

View File

@@ -235,7 +235,6 @@ TradingMarketAveragePrice = generate_labeler_serializer("TradingMarketAveragePri
"AMOUNT"
])
FundingMarketAveragePrice = generate_labeler_serializer("FundingMarketAveragePrice", klass=types.FundingMarketAveragePrice, labels=[
"RATE_AVG",
"AMOUNT"
@@ -299,8 +298,8 @@ Position = generate_labeler_serializer("Position", klass=types.Position, labels=
"STATUS",
"AMOUNT",
"BASE_PRICE",
"FUNDING",
"FUNDING_TYPE",
"MARGIN_FUNDING",
"MARGIN_FUNDING_TYPE",
"PL",
"PL_PERC",
"PRICE_LIQ",
@@ -489,4 +488,27 @@ BaseMarginInfo = generate_labeler_serializer("BaseMarginInfo", klass=types.BaseM
"MARGIN_MIN"
])
Claim = generate_labeler_serializer("Claim", klass=types.Claim, labels=[
"SYMBOL",
"POSITION_STATUS",
"AMOUNT",
"BASE_PRICE",
"MARGIN_FUNDING",
"MARGIN_FUNDING_TYPE",
"_PLACEHOLDER",
"_PLACEHOLDER",
"_PLACEHOLDER",
"_PLACEHOLDER",
"_PLACEHOLDER",
"POSITION_ID",
"MTS_CREATE",
"MTS_UPDATE",
"_PLACEHOLDER",
"POS_TYPE",
"_PLACEHOLDER",
"COLLATERAL",
"MIN_COLLATERAL",
"META"
])
#endregion

View File

@@ -388,4 +388,20 @@ class BaseMarginInfo(_Type):
MARGIN_NET: float
MARGIN_MIN: float
@dataclass
class Claim(_Type):
SYMBOL: str
POSITION_STATUS: str
AMOUNT: float
BASE_PRICE: float
MARGIN_FUNDING: float
MARGIN_FUNDING_TYPE: int
POSITION_ID: int
MTS_CREATE: int
MTS_UPDATE: int
POS_TYPE: int
COLLATERAL: str
MIN_COLLATERAL: str
META: JSON
#endregion

View File

@@ -0,0 +1,19 @@
# python -c "from examples.rest.claim_position import *"
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")
)
open_margin_positions = bfx.rest.auth.get_positions()
# claim all positions
for position in open_margin_positions:
print(f"Position {position}")
claim = bfx.rest.auth.claim_position(position.POSITION_ID, amount=0.000001)
print(f"Claim {claim.NOTIFY_INFO}")

View File

@@ -1,3 +1,5 @@
# python -c "from examples.rest.create_funding_offer import *"
import os
from bfxapi.client import Client, Constants

View File

@@ -1,3 +1,5 @@
# python -c "from examples.rest.create_order import *"
import os
from bfxapi.client import Client, Constants