Changed funding fee implementation

This commit is contained in:
Sam Germain
2021-08-25 22:09:32 -06:00
parent 194bb24a55
commit b854350e8d
8 changed files with 30 additions and 146 deletions

View File

@@ -1516,19 +1516,22 @@ class Exchange:
self._async_get_trade_history(pair=pair, since=since,
until=until, from_id=from_id))
def fetch_funding_rates(self):
return self._api.fetch_funding_rates()
# https://www.binance.com/en/support/faq/360033525031
def get_funding_fee(
self,
contract_size: float,
mark_price: float,
rate: Optional[float],
# index_price: float,
# interest_rate: float
):
raise OperationalException(f"{self.name} has not implemented get_funding_rate")
def get_funding_fees(self, pair: str, since: datetime):
try:
funding_history = self._api.fetch_funding_history(
pair=pair,
since=since
)
# TODO: sum all the funding fees in funding_history together
funding_fees = funding_history
return funding_fees
except ccxt.DDoSProtection as e:
raise DDosProtection(e) from e
except (ccxt.NetworkError, ccxt.ExchangeError) as e:
raise TemporaryError(
f'Could not get funding fees due to {e.__class__.__name__}. Message: {e}') from e
except ccxt.BaseError as e:
raise OperationalException(e) from e
def is_exchange_known_ccxt(exchange_name: str, ccxt_module: CcxtModuleType = None) -> bool: