Skip to content
Closed
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
161 changes: 161 additions & 0 deletions pybit/_v5_account.py
Original file line number Diff line number Diff line change
Expand Up @@ -314,3 +314,164 @@ def get_mmp_state(self, **kwargs):
query=kwargs,
auth=True,
)

def set_no_convert_repay(self, **kwargs):
"""Turn off auto repayment using liability. Available only for UTA 2.0.

Required args:
noConvertRepay (string): "on" or "off"

Returns:
Request results as dictionary.

Additional information:
https://bybit-exchange.github.io/docs/v5/account/set-no-convert-repay
"""
return self._submit_request(
method="POST",
path=f"{self.endpoint}{Account.SET_NO_CONVERT_REPAY}",
query=kwargs,
auth=True,
)

def borrow(self, **kwargs):
"""Borrow a certain amount of a coin.

Required args:
coin (string): Coin name
qty (string): Amount to borrow

Returns:
Request results as dictionary.

Additional information:
https://bybit-exchange.github.io/docs/v5/account/borrow
"""
return self._submit_request(
method="POST",
path=f"{self.endpoint}{Account.BORROW}",
query=kwargs,
auth=True,
)

def get_instruments_info(self, **kwargs):
"""Get available instruments info for unified account.

Returns:
Request results as dictionary.

Additional information:
https://bybit-exchange.github.io/docs/v5/account/instruments-info
"""
return self._submit_request(
method="GET",
path=f"{self.endpoint}{Account.GET_INSTRUMENTS_INFO}",
query=kwargs,
auth=True,
)

def repay(self, **kwargs):
"""Repay a certain amount of a coin.

Required args:
coin (string): Coin name
qty (string): Amount to repay

Returns:
Request results as dictionary.

Additional information:
https://bybit-exchange.github.io/docs/v5/account/repay
"""
return self._submit_request(
method="POST",
path=f"{self.endpoint}{Account.REPAY}",
query=kwargs,
auth=True,
)

def query_dcp_info(self, **kwargs):
"""Query the DCP configuration of the account.

Returns:
Request results as dictionary.

Additional information:
https://bybit-exchange.github.io/docs/v5/account/dcp-info
"""
return self._submit_request(
method="GET",
path=f"{self.endpoint}{Account.QUERY_DCP_INFO}",
query=kwargs,
auth=True,
)

def set_hedging_mode(self, **kwargs):
"""Set hedging mode for the account.

Required args:
hedgingMode (string): "on" or "off"

Returns:
Request results as dictionary.

Additional information:
https://bybit-exchange.github.io/docs/v5/account/set-hedging-mode
"""
return self._submit_request(
method="POST",
path=f"{self.endpoint}{Account.SET_HEDGING_MODE}",
query=kwargs,
auth=True,
)

def get_smp_group(self, **kwargs):
"""Get the SMP group ID of the account.

Returns:
Request results as dictionary.

Additional information:
https://bybit-exchange.github.io/docs/v5/account/smp-group
"""
return self._submit_request(
method="GET",
path=f"{self.endpoint}{Account.GET_SMP_GROUP}",
query=kwargs,
auth=True,
)

def get_user_setting_config(self, **kwargs):
"""Get user setting configuration.

Returns:
Request results as dictionary.

Additional information:
https://bybit-exchange.github.io/docs/v5/account/user-setting-config
"""
return self._submit_request(
method="GET",
path=f"{self.endpoint}{Account.GET_USER_SETTING_CONFIG}",
query=kwargs,
auth=True,
)

def set_limit_price_action(self, **kwargs):
"""Set the limit price action behavior.

Required args:
limitPxAction (string): "ForceAdjust" or "RejectOrder"

Returns:
Request results as dictionary.

Additional information:
https://bybit-exchange.github.io/docs/v5/account/set-limit-px-action
"""
return self._submit_request(
method="POST",
path=f"{self.endpoint}{Account.SET_LIMIT_PRICE_ACTION}",
query=kwargs,
auth=True,
)
38 changes: 38 additions & 0 deletions pybit/_v5_earn.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,3 +75,41 @@ def get_staked_position(self, **kwargs):
query=kwargs,
auth=True,
)

def get_yield(self, **kwargs):
"""Get the yield information for earn products.

Required args:
category (string): FlexibleSaving

Returns:
Request results as dictionary.

Additional information:
https://bybit-exchange.github.io/docs/v5/earn/yield
"""
return self._submit_request(
method="GET",
path=f"{self.endpoint}{Earn.GET_YIELD}",
query=kwargs,
auth=True,
)

def get_hourly_yield(self, **kwargs):
"""Get hourly yield information for earn products.

Required args:
category (string): FlexibleSaving

Returns:
Request results as dictionary.

Additional information:
https://bybit-exchange.github.io/docs/v5/earn/hourly-yield
"""
return self._submit_request(
method="GET",
path=f"{self.endpoint}{Earn.GET_HOURLY_YIELD}",
query=kwargs,
auth=True,
)
132 changes: 132 additions & 0 deletions pybit/_v5_fiat.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
from ._http_manager import _V5HTTPManager
from .fiat import Fiat


class FiatHTTP(_V5HTTPManager):
def get_fiat_coin_list(self, **kwargs):
"""Get the list of supported fiat coins.

Returns:
Request results as dictionary.

Additional information:
https://bybit-exchange.github.io/docs/v5/fiat/coin-list
"""
return self._submit_request(
method="GET",
path=f"{self.endpoint}{Fiat.GET_COIN_LIST}",
query=kwargs,
auth=True,
)

def get_fiat_reference_price(self, **kwargs):
"""Get the reference price for fiat trading.

Required args:
fiatCoin (string): Fiat coin name
cryptoCoin (string): Crypto coin name

Returns:
Request results as dictionary.

Additional information:
https://bybit-exchange.github.io/docs/v5/fiat/reference-price
"""
return self._submit_request(
method="GET",
path=f"{self.endpoint}{Fiat.GET_REFERENCE_PRICE}",
query=kwargs,
auth=True,
)

def request_fiat_quote(self, **kwargs):
"""Request a quote for fiat trading.

Required args:
fiatCoin (string): Fiat coin name
cryptoCoin (string): Crypto coin name
side (string): "buy" or "sell"
size (string): Amount

Returns:
Request results as dictionary.

Additional information:
https://bybit-exchange.github.io/docs/v5/fiat/quote-apply
"""
return self._submit_request(
method="POST",
path=f"{self.endpoint}{Fiat.REQUEST_QUOTE}",
query=kwargs,
auth=True,
)

def execute_fiat_trade(self, **kwargs):
"""Execute a fiat trade based on a quote.

Required args:
quoteId (string): Quote ID from quote-apply

Returns:
Request results as dictionary.

Additional information:
https://bybit-exchange.github.io/docs/v5/fiat/trade-execute
"""
return self._submit_request(
method="POST",
path=f"{self.endpoint}{Fiat.EXECUTE_TRADE}",
query=kwargs,
auth=True,
)

def query_fiat_trade(self, **kwargs):
"""Query the status of a fiat trade.

Required args:
orderId (string): Order ID

Returns:
Request results as dictionary.

Additional information:
https://bybit-exchange.github.io/docs/v5/fiat/trade-query
"""
return self._submit_request(
method="GET",
path=f"{self.endpoint}{Fiat.QUERY_TRADE}",
query=kwargs,
auth=True,
)

def get_fiat_trade_history(self, **kwargs):
"""Get fiat trade history.

Returns:
Request results as dictionary.

Additional information:
https://bybit-exchange.github.io/docs/v5/fiat/trade-history
"""
return self._submit_request(
method="GET",
path=f"{self.endpoint}{Fiat.GET_TRADE_HISTORY}",
query=kwargs,
auth=True,
)

def get_fiat_balance(self, **kwargs):
"""Get fiat balance.

Returns:
Request results as dictionary.

Additional information:
https://bybit-exchange.github.io/docs/v5/fiat/balance-query
"""
return self._submit_request(
method="GET",
path=f"{self.endpoint}{Fiat.GET_BALANCE}",
query=kwargs,
auth=True,
)
17 changes: 17 additions & 0 deletions pybit/_v5_institutional_loan.py
Original file line number Diff line number Diff line change
Expand Up @@ -98,3 +98,20 @@ def bind_or_unbind_uid(self, **kwargs) -> dict:
query=kwargs,
auth=True,
)

def repay_loan(self, **kwargs) -> dict:
"""
Repay the institutional loan.

Returns:
Request results as dictionary.

Additional information:
https://bybit-exchange.github.io/docs/v5/otc/repay-loan
"""
return self._submit_request(
method="POST",
path=f"{self.endpoint}{InsLoan.REPAY_LOAN}",
query=kwargs,
auth=True,
)
Loading