mirror of
https://github.com/aljazceru/bitfinex-api-py.git
synced 2025-12-22 00:04:20 +01:00
Merge bfxapi.rest.types and bfxapi.websocket.types in bfxapi.tests sub-package.
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
from .. import serializers
|
||||
|
||||
from .. serializers import _Notification
|
||||
|
||||
from .. exceptions import HandlerNotFound
|
||||
|
||||
from ... types import serializers
|
||||
|
||||
from ... types.serializers import _Notification
|
||||
|
||||
class AuthenticatedEventsHandler:
|
||||
__once_abbreviations = {
|
||||
"os": "order_snapshot", "ps": "position_snapshot", "fos": "funding_offer_snapshot",
|
||||
@@ -16,8 +16,7 @@ class AuthenticatedEventsHandler:
|
||||
"fon": "funding_offer_new", "fou": "funding_offer_update", "foc": "funding_offer_cancel",
|
||||
"fcn": "funding_credit_new", "fcu": "funding_credit_update", "fcc": "funding_credit_close",
|
||||
"fln": "funding_loan_new", "flu": "funding_loan_update", "flc": "funding_loan_close",
|
||||
"te": "trade_execution", "tu": "trade_execution_update", "wu": "wallet_update",
|
||||
"bu": "balance_update"
|
||||
"te": "trade_execution", "tu": "trade_execution_update", "wu": "wallet_update"
|
||||
}
|
||||
|
||||
__abbreviations = {
|
||||
@@ -32,8 +31,7 @@ class AuthenticatedEventsHandler:
|
||||
("fos", "fon", "fou", "foc",): serializers.FundingOffer,
|
||||
("fcs", "fcn", "fcu", "fcc",): serializers.FundingCredit,
|
||||
("fls", "fln", "flu", "flc",): serializers.FundingLoan,
|
||||
("ws", "wu",): serializers.Wallet,
|
||||
("bu",): serializers.Balance
|
||||
("ws", "wu",): serializers.Wallet
|
||||
}
|
||||
|
||||
ONCE_EVENTS = [
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
from .. import serializers
|
||||
|
||||
from .. exceptions import HandlerNotFound
|
||||
|
||||
from ... types import serializers
|
||||
|
||||
class PublicChannelsHandler:
|
||||
ONCE_PER_SUBSCRIPTION_EVENTS = [
|
||||
"t_trades_snapshot", "f_trades_snapshot", "t_book_snapshot",
|
||||
|
||||
@@ -1,368 +0,0 @@
|
||||
#pylint: disable=duplicate-code
|
||||
|
||||
from . import types
|
||||
|
||||
from .. labeler import generate_labeler_serializer
|
||||
|
||||
#pylint: disable-next=unused-import
|
||||
from .. notification import _Notification
|
||||
|
||||
__serializers__ = [
|
||||
"TradingPairTicker", "FundingCurrencyTicker", "TradingPairTrade",
|
||||
"FundingCurrencyTrade", "TradingPairBook", "FundingCurrencyBook",
|
||||
"TradingPairRawBook", "FundingCurrencyRawBook", "Candle",
|
||||
"DerivativesStatus",
|
||||
|
||||
"Order", "Position", "Trade",
|
||||
"FundingOffer", "FundingCredit", "FundingLoan",
|
||||
"Wallet", "Balance",
|
||||
]
|
||||
|
||||
#region Serializers definition for WebSocket Public Channels
|
||||
|
||||
TradingPairTicker = generate_labeler_serializer(
|
||||
name="TradingPairTicker",
|
||||
klass=types.TradingPairTicker,
|
||||
labels=[
|
||||
"bid",
|
||||
"bid_size",
|
||||
"ask",
|
||||
"ask_size",
|
||||
"daily_change",
|
||||
"daily_change_relative",
|
||||
"last_price",
|
||||
"volume",
|
||||
"high",
|
||||
"low"
|
||||
]
|
||||
)
|
||||
|
||||
FundingCurrencyTicker = generate_labeler_serializer(
|
||||
name="FundingCurrencyTicker",
|
||||
klass=types.FundingCurrencyTicker,
|
||||
labels=[
|
||||
"frr",
|
||||
"bid",
|
||||
"bid_period",
|
||||
"bid_size",
|
||||
"ask",
|
||||
"ask_period",
|
||||
"ask_size",
|
||||
"daily_change",
|
||||
"daily_change_relative",
|
||||
"last_price",
|
||||
"volume",
|
||||
"high",
|
||||
"low",
|
||||
"_PLACEHOLDER",
|
||||
"_PLACEHOLDER",
|
||||
"frr_amount_available"
|
||||
]
|
||||
)
|
||||
|
||||
TradingPairTrade = generate_labeler_serializer(
|
||||
name="TradingPairTrade",
|
||||
klass=types.TradingPairTrade,
|
||||
labels=[
|
||||
"id",
|
||||
"mts",
|
||||
"amount",
|
||||
"price"
|
||||
]
|
||||
)
|
||||
|
||||
FundingCurrencyTrade = generate_labeler_serializer(
|
||||
name="FundingCurrencyTrade",
|
||||
klass=types.FundingCurrencyTrade,
|
||||
labels=[
|
||||
"id",
|
||||
"mts",
|
||||
"amount",
|
||||
"rate",
|
||||
"period"
|
||||
]
|
||||
)
|
||||
|
||||
TradingPairBook = generate_labeler_serializer(
|
||||
name="TradingPairBook",
|
||||
klass=types.TradingPairBook,
|
||||
labels=[
|
||||
"price",
|
||||
"count",
|
||||
"amount"
|
||||
]
|
||||
)
|
||||
|
||||
FundingCurrencyBook = generate_labeler_serializer(
|
||||
name="FundingCurrencyBook",
|
||||
klass=types.FundingCurrencyBook,
|
||||
labels=[
|
||||
"rate",
|
||||
"period",
|
||||
"count",
|
||||
"amount"
|
||||
]
|
||||
)
|
||||
|
||||
TradingPairRawBook = generate_labeler_serializer(
|
||||
name="TradingPairRawBook",
|
||||
klass=types.TradingPairRawBook,
|
||||
labels=[
|
||||
"order_id",
|
||||
"price",
|
||||
"amount"
|
||||
]
|
||||
)
|
||||
|
||||
FundingCurrencyRawBook = generate_labeler_serializer(
|
||||
name="FundingCurrencyRawBook",
|
||||
klass=types.FundingCurrencyRawBook,
|
||||
labels=[
|
||||
"offer_id",
|
||||
"period",
|
||||
"rate",
|
||||
"amount"
|
||||
]
|
||||
)
|
||||
|
||||
Candle = generate_labeler_serializer(
|
||||
name="Candle",
|
||||
klass=types.Candle,
|
||||
labels=[
|
||||
"mts",
|
||||
"open",
|
||||
"close",
|
||||
"high",
|
||||
"low",
|
||||
"volume"
|
||||
]
|
||||
)
|
||||
|
||||
DerivativesStatus = generate_labeler_serializer(
|
||||
name="DerivativesStatus",
|
||||
klass=types.DerivativesStatus,
|
||||
labels=[
|
||||
"mts",
|
||||
"_PLACEHOLDER",
|
||||
"deriv_price",
|
||||
"spot_price",
|
||||
"_PLACEHOLDER",
|
||||
"insurance_fund_balance",
|
||||
"_PLACEHOLDER",
|
||||
"next_funding_evt_mts",
|
||||
"next_funding_accrued",
|
||||
"next_funding_step",
|
||||
"_PLACEHOLDER",
|
||||
"current_funding",
|
||||
"_PLACEHOLDER",
|
||||
"_PLACEHOLDER",
|
||||
"mark_price",
|
||||
"_PLACEHOLDER",
|
||||
"_PLACEHOLDER",
|
||||
"open_interest",
|
||||
"_PLACEHOLDER",
|
||||
"_PLACEHOLDER",
|
||||
"_PLACEHOLDER",
|
||||
"clamp_min",
|
||||
"clamp_max"
|
||||
]
|
||||
)
|
||||
|
||||
#endregion
|
||||
|
||||
#region Serializers definition for WebSocket Authenticated Channels
|
||||
|
||||
Order = generate_labeler_serializer(
|
||||
name="Order",
|
||||
klass=types.Order,
|
||||
labels=[
|
||||
"id",
|
||||
"gid",
|
||||
"cid",
|
||||
"symbol",
|
||||
"mts_create",
|
||||
"mts_update",
|
||||
"amount",
|
||||
"amount_orig",
|
||||
"order_type",
|
||||
"type_prev",
|
||||
"mts_tif",
|
||||
"_PLACEHOLDER",
|
||||
"flags",
|
||||
"order_status",
|
||||
"_PLACEHOLDER",
|
||||
"_PLACEHOLDER",
|
||||
"price",
|
||||
"price_avg",
|
||||
"price_trailing",
|
||||
"price_aux_limit",
|
||||
"_PLACEHOLDER",
|
||||
"_PLACEHOLDER",
|
||||
"_PLACEHOLDER",
|
||||
"notify",
|
||||
"hidden",
|
||||
"placed_id",
|
||||
"_PLACEHOLDER",
|
||||
"_PLACEHOLDER",
|
||||
"routing",
|
||||
"_PLACEHOLDER",
|
||||
"_PLACEHOLDER",
|
||||
"meta"
|
||||
]
|
||||
)
|
||||
|
||||
Position = generate_labeler_serializer(
|
||||
name="Position",
|
||||
klass=types.Position,
|
||||
labels=[
|
||||
"symbol",
|
||||
"status",
|
||||
"amount",
|
||||
"base_price",
|
||||
"margin_funding",
|
||||
"margin_funding_type",
|
||||
"pl",
|
||||
"pl_perc",
|
||||
"price_liq",
|
||||
"leverage",
|
||||
"flag",
|
||||
"position_id",
|
||||
"mts_create",
|
||||
"mts_update",
|
||||
"_PLACEHOLDER",
|
||||
"type",
|
||||
"_PLACEHOLDER",
|
||||
"collateral",
|
||||
"collateral_min",
|
||||
"meta"
|
||||
]
|
||||
)
|
||||
|
||||
Trade = generate_labeler_serializer(
|
||||
name="Trade",
|
||||
klass=types.Trade,
|
||||
labels=[
|
||||
"id",
|
||||
"symbol",
|
||||
"mts_create",
|
||||
"order_id",
|
||||
"exec_amount",
|
||||
"exec_price",
|
||||
"order_type",
|
||||
"order_price",
|
||||
"maker",
|
||||
"fee",
|
||||
"fee_currency",
|
||||
"cid"
|
||||
]
|
||||
)
|
||||
|
||||
FundingOffer = generate_labeler_serializer(
|
||||
name="FundingOffer",
|
||||
klass=types.FundingOffer,
|
||||
labels=[
|
||||
"id",
|
||||
"symbol",
|
||||
"mts_create",
|
||||
"mts_update",
|
||||
"amount",
|
||||
"amount_orig",
|
||||
"offer_type",
|
||||
"_PLACEHOLDER",
|
||||
"_PLACEHOLDER",
|
||||
"flags",
|
||||
"offer_status",
|
||||
"_PLACEHOLDER",
|
||||
"_PLACEHOLDER",
|
||||
"_PLACEHOLDER",
|
||||
"rate",
|
||||
"period",
|
||||
"notify",
|
||||
"hidden",
|
||||
"_PLACEHOLDER",
|
||||
"renew",
|
||||
"_PLACEHOLDER"
|
||||
]
|
||||
)
|
||||
|
||||
FundingCredit = generate_labeler_serializer(
|
||||
name="FundingCredit",
|
||||
klass=types.FundingCredit,
|
||||
labels=[
|
||||
"id",
|
||||
"symbol",
|
||||
"side",
|
||||
"mts_create",
|
||||
"mts_update",
|
||||
"amount",
|
||||
"flags",
|
||||
"status",
|
||||
"_PLACEHOLDER",
|
||||
"_PLACEHOLDER",
|
||||
"_PLACEHOLDER",
|
||||
"rate",
|
||||
"period",
|
||||
"mts_opening",
|
||||
"mts_last_payout",
|
||||
"notify",
|
||||
"hidden",
|
||||
"_PLACEHOLDER",
|
||||
"renew",
|
||||
"_PLACEHOLDER",
|
||||
"no_close",
|
||||
"position_pair"
|
||||
]
|
||||
)
|
||||
|
||||
FundingLoan = generate_labeler_serializer(
|
||||
name="FundingLoan",
|
||||
klass=types.FundingLoan,
|
||||
labels=[
|
||||
"id",
|
||||
"symbol",
|
||||
"side",
|
||||
"mts_create",
|
||||
"mts_update",
|
||||
"amount",
|
||||
"flags",
|
||||
"status",
|
||||
"_PLACEHOLDER",
|
||||
"_PLACEHOLDER",
|
||||
"_PLACEHOLDER",
|
||||
"rate",
|
||||
"period",
|
||||
"mts_opening",
|
||||
"mts_last_payout",
|
||||
"notify",
|
||||
"hidden",
|
||||
"_PLACEHOLDER",
|
||||
"renew",
|
||||
"_PLACEHOLDER",
|
||||
"no_close"
|
||||
]
|
||||
)
|
||||
|
||||
Wallet = generate_labeler_serializer(
|
||||
name="Wallet",
|
||||
klass=types.Wallet,
|
||||
labels=[
|
||||
"wallet_type",
|
||||
"currency",
|
||||
"balance",
|
||||
"unsettled_interest",
|
||||
"available_balance",
|
||||
"last_change",
|
||||
"trade_details"
|
||||
]
|
||||
)
|
||||
|
||||
Balance = generate_labeler_serializer(
|
||||
name="Balance",
|
||||
klass=types.Balance,
|
||||
labels=[
|
||||
"aum",
|
||||
"aum_net"
|
||||
]
|
||||
)
|
||||
|
||||
#endregion
|
||||
@@ -1,247 +0,0 @@
|
||||
#pylint: disable=duplicate-code
|
||||
|
||||
#pylint: disable-next=wildcard-import,unused-wildcard-import
|
||||
from typing import *
|
||||
|
||||
from dataclasses import dataclass
|
||||
|
||||
from .. labeler import _Type
|
||||
|
||||
#pylint: disable-next=unused-import
|
||||
from .. notification import Notification
|
||||
|
||||
from ..utils.json_encoder import JSON
|
||||
|
||||
#region Type hinting for WebSocket Public Channels
|
||||
|
||||
@dataclass
|
||||
class TradingPairTicker(_Type):
|
||||
bid: float
|
||||
bid_size: float
|
||||
ask: float
|
||||
ask_size: float
|
||||
daily_change: float
|
||||
daily_change_relative: float
|
||||
last_price: float
|
||||
volume: float
|
||||
high: float
|
||||
low: float
|
||||
|
||||
@dataclass
|
||||
class FundingCurrencyTicker(_Type):
|
||||
frr: float
|
||||
bid: float
|
||||
bid_period: int
|
||||
bid_size: float
|
||||
ask: float
|
||||
ask_period: int
|
||||
ask_size: float
|
||||
daily_change: float
|
||||
daily_change_relative: float
|
||||
last_price: float
|
||||
volume: float
|
||||
high: float
|
||||
low: float
|
||||
frr_amount_available: float
|
||||
|
||||
@dataclass
|
||||
class TradingPairTrade(_Type):
|
||||
id: int
|
||||
mts: int
|
||||
amount: float
|
||||
price: float
|
||||
|
||||
@dataclass
|
||||
class FundingCurrencyTrade(_Type):
|
||||
id: int
|
||||
mts: int
|
||||
amount: float
|
||||
rate: float
|
||||
period: int
|
||||
|
||||
@dataclass
|
||||
class TradingPairBook(_Type):
|
||||
price: float
|
||||
count: int
|
||||
amount: float
|
||||
|
||||
@dataclass
|
||||
class FundingCurrencyBook(_Type):
|
||||
rate: float
|
||||
period: int
|
||||
count: int
|
||||
amount: float
|
||||
|
||||
@dataclass
|
||||
class TradingPairRawBook(_Type):
|
||||
order_id: int
|
||||
price: float
|
||||
amount: float
|
||||
|
||||
@dataclass
|
||||
class FundingCurrencyRawBook(_Type):
|
||||
offer_id: int
|
||||
period: int
|
||||
rate: float
|
||||
amount: float
|
||||
|
||||
@dataclass
|
||||
class Candle(_Type):
|
||||
mts: int
|
||||
open: int
|
||||
close: int
|
||||
high: int
|
||||
low: int
|
||||
volume: float
|
||||
|
||||
@dataclass
|
||||
class DerivativesStatus(_Type):
|
||||
mts: int
|
||||
deriv_price: float
|
||||
spot_price: float
|
||||
insurance_fund_balance: float
|
||||
next_funding_evt_mts: int
|
||||
next_funding_accrued: float
|
||||
next_funding_step: int
|
||||
current_funding: float
|
||||
mark_price: float
|
||||
open_interest: float
|
||||
clamp_min: float
|
||||
clamp_max: float
|
||||
|
||||
#endregion
|
||||
|
||||
#region Type hinting for WebSocket Authenticated Channels
|
||||
@dataclass
|
||||
class Order(_Type):
|
||||
id: int
|
||||
gid: int
|
||||
cid: int
|
||||
symbol: str
|
||||
mts_create: int
|
||||
mts_update: int
|
||||
amount: float
|
||||
amount_orig: float
|
||||
order_type: str
|
||||
type_prev: str
|
||||
mts_tif: int
|
||||
flags: int
|
||||
order_status: str
|
||||
price: float
|
||||
price_avg: float
|
||||
price_trailing: float
|
||||
price_aux_limit: float
|
||||
notify: int
|
||||
hidden: int
|
||||
placed_id: int
|
||||
routing: str
|
||||
meta: JSON
|
||||
|
||||
@dataclass
|
||||
class Position(_Type):
|
||||
symbol: str
|
||||
status: str
|
||||
amount: float
|
||||
base_price: float
|
||||
margin_funding: float
|
||||
margin_funding_type: int
|
||||
pl: float
|
||||
pl_perc: float
|
||||
price_liq: float
|
||||
leverage: float
|
||||
flag: int
|
||||
position_id: int
|
||||
mts_create: int
|
||||
mts_update: int
|
||||
type: int
|
||||
collateral: float
|
||||
collateral_min: float
|
||||
meta: JSON
|
||||
|
||||
@dataclass
|
||||
class Trade(_Type):
|
||||
id: int
|
||||
symbol: str
|
||||
mts_create: int
|
||||
order_id: int
|
||||
exec_amount: float
|
||||
exec_price: float
|
||||
order_type: str
|
||||
order_price: float
|
||||
maker:int
|
||||
fee: Optional[float]
|
||||
fee_currency: Optional[str]
|
||||
cid: int
|
||||
|
||||
@dataclass
|
||||
class FundingOffer(_Type):
|
||||
id: int
|
||||
symbol: str
|
||||
mts_create: int
|
||||
mts_update: int
|
||||
amount: float
|
||||
amount_orig: float
|
||||
offer_type: str
|
||||
flags: int
|
||||
offer_status: str
|
||||
rate: float
|
||||
period: int
|
||||
notify: int
|
||||
hidden: int
|
||||
renew: int
|
||||
|
||||
@dataclass
|
||||
class FundingCredit(_Type):
|
||||
id: int
|
||||
symbol: str
|
||||
side: int
|
||||
mts_create: int
|
||||
mts_update: int
|
||||
amount: float
|
||||
flags: int
|
||||
status: str
|
||||
rate: float
|
||||
period: int
|
||||
mts_opening: int
|
||||
mts_last_payout: int
|
||||
notify: int
|
||||
hidden: int
|
||||
renew: int
|
||||
no_close: int
|
||||
position_pair: str
|
||||
|
||||
@dataclass
|
||||
class FundingLoan(_Type):
|
||||
id: int
|
||||
symbol: str
|
||||
side: int
|
||||
mts_create: int
|
||||
mts_update: int
|
||||
amount: float
|
||||
flags: int
|
||||
status: str
|
||||
rate: float
|
||||
period: int
|
||||
mts_opening: int
|
||||
mts_last_payout: int
|
||||
notify: int
|
||||
hidden: int
|
||||
renew: int
|
||||
no_close: int
|
||||
|
||||
@dataclass
|
||||
class Wallet(_Type):
|
||||
wallet_type: str
|
||||
currency: str
|
||||
balance: float
|
||||
unsettled_interest: float
|
||||
available_balance: float
|
||||
last_change: str
|
||||
trade_details: JSON
|
||||
|
||||
@dataclass
|
||||
class Balance(_Type):
|
||||
aum: float
|
||||
aum_net: float
|
||||
|
||||
#endregion
|
||||
Reference in New Issue
Block a user