tai v0.0.25 Tai.Venues.Adapter behaviour
Link to this section Summary
Link to this section Types
Link to this type
account_id()
account_id()
account_id() :: atom()
account_id() :: atom()
Link to this type
amend_attrs()
amend_attrs()
amend_attrs() :: Tai.Trading.Orders.Amend.attrs()
amend_attrs() :: Tai.Trading.Orders.Amend.attrs()
Link to this type
amend_order_error_reason()
amend_order_error_reason()
amend_order_error_reason() ::
shared_error_reason() | :not_found | :not_supported
amend_order_error_reason() :: shared_error_reason() | :not_found | :not_supported
Link to this type
amend_response()
amend_response()
amend_response() :: Tai.Trading.OrderResponses.Amend.t()
amend_response() :: Tai.Trading.OrderResponses.Amend.t()
Link to this type
asset_balance()
asset_balance()
asset_balance() :: Tai.Venues.AssetBalance.t()
asset_balance() :: Tai.Venues.AssetBalance.t()
Link to this type
cancel_order_error_reason()
cancel_order_error_reason()
cancel_order_error_reason() :: shared_error_reason() | :not_found
cancel_order_error_reason() :: shared_error_reason() | :not_found
Link to this type
cancel_response()
cancel_response()
cancel_response() ::
Tai.Trading.OrderResponses.Cancel.t()
| Tai.Trading.OrderResponses.CancelAccepted.t()
cancel_response() :: Tai.Trading.OrderResponses.Cancel.t() | Tai.Trading.OrderResponses.CancelAccepted.t()
Link to this type
channel()
channel()
channel() :: atom()
channel() :: atom()
Link to this type
create_order_error_reason()
create_order_error_reason()
create_order_error_reason() :: shared_error_reason() | :insufficient_balance
create_order_error_reason() :: shared_error_reason() | :insufficient_balance
Link to this type
create_response()
create_response()
create_response() ::
Tai.Trading.OrderResponses.Create.t()
| Tai.Trading.OrderResponses.CreateAccepted.t()
create_response() :: Tai.Trading.OrderResponses.Create.t() | Tai.Trading.OrderResponses.CreateAccepted.t()
Link to this type
credentials()
credentials()
credentials() :: map()
credentials() :: map()
Link to this type
order()
order()
order() :: Tai.Trading.Order.t()
order() :: Tai.Trading.Order.t()
Link to this type
position()
position()
position() :: Tai.Trading.Position.t()
position() :: Tai.Trading.Position.t()
Link to this type
product()
product()
product() :: Tai.Venues.Product.t()
product() :: Tai.Venues.Product.t()
Link to this type
venue_id()
venue_id()
venue_id() :: atom()
venue_id() :: atom()
Link to this section Callbacks
Link to this callback
amend_order(order, amend_attrs, credentials)
amend_order(order, amend_attrs, credentials)
amend_order(order(), amend_attrs(), credentials()) ::
{:ok, amend_response()} | {:error, amend_order_error_reason()}
amend_order(order(), amend_attrs(), credentials()) :: {:ok, amend_response()} | {:error, amend_order_error_reason()}
Link to this callback
asset_balances(venue_id, account_id, credentials)
asset_balances(venue_id, account_id, credentials)
asset_balances(venue_id :: atom(), account_id(), credentials()) ::
{:ok, [asset_balance()]} | {:error, reason :: term()}
asset_balances(venue_id :: atom(), account_id(), credentials()) :: {:ok, [asset_balance()]} | {:error, reason :: term()}
Link to this callback
cancel_order(order, credentials)
cancel_order(order, credentials)
cancel_order(order(), credentials()) ::
{:ok, cancel_response()} | {:error, cancel_order_error_reason()}
cancel_order(order(), credentials()) :: {:ok, cancel_response()} | {:error, cancel_order_error_reason()}
Link to this callback
create_order(order, credentials)
create_order(order, credentials)
create_order(order(), credentials()) ::
{:ok, create_response()} | {:error, create_order_error_reason()}
create_order(order(), credentials()) :: {:ok, create_response()} | {:error, create_order_error_reason()}
Link to this callback
maker_taker_fees(venue_id, account_id, credentials)
maker_taker_fees(venue_id, account_id, credentials)
maker_taker_fees(venue_id(), account_id(), credentials()) ::
{:ok, {maker :: Decimal.t(), taker :: Decimal.t()} | nil}
| {:error, reason :: term()}
maker_taker_fees(venue_id(), account_id(), credentials()) :: {:ok, {maker :: Decimal.t(), taker :: Decimal.t()} | nil} | {:error, reason :: term()}
Link to this callback
order_book_feed()
order_book_feed()
order_book_feed() :: atom()
order_book_feed() :: atom()
Link to this callback
positions(venue_id, account_id, credentials)
positions(venue_id, account_id, credentials)
positions(venue_id(), account_id(), credentials()) ::
{:ok, [position()]} | {:error, :not_supported | shared_error_reason()}
positions(venue_id(), account_id(), credentials()) :: {:ok, [position()]} | {:error, :not_supported | shared_error_reason()}
Link to this callback
products(venue_id)
Link to this callback
stream_supervisor()
stream_supervisor()
stream_supervisor() :: atom()
stream_supervisor() :: atom()