Packages
tai
0.0.61
0.0.75
0.0.74
0.0.73
0.0.72
0.0.71
0.0.70
0.0.69
0.0.68
0.0.67
0.0.66
0.0.65
0.0.64
0.0.63
0.0.62
0.0.61
0.0.60
0.0.59
0.0.58
0.0.57
0.0.56
0.0.55
0.0.54
0.0.53
0.0.52
0.0.51
0.0.50
0.0.49
0.0.48
0.0.47
0.0.46
0.0.45
0.0.44
0.0.43
0.0.42
0.0.41
0.0.40
0.0.39
0.0.38
0.0.37
0.0.36
0.0.35
0.0.34
0.0.33
0.0.32
0.0.31
0.0.30
0.0.29
0.0.28
0.0.27
0.0.26
0.0.25
0.0.24
0.0.23
0.0.22
0.0.21
0.0.20
0.0.19
0.0.18
0.0.17
0.0.16
0.0.15
0.0.14
0.0.13
0.0.12
0.0.11
0.0.10
0.0.9
0.0.8
0.0.7
0.0.6
0.0.5
0.0.4
0.0.3
0.0.2
0.0.1
A composable, real time, market data and trade execution toolkit
Current section
Files
Jump to
Current section
Files
lib/tai/venue.ex
defmodule Tai.Venue do
alias __MODULE__
@type id :: atom
@type adapter :: Tai.Venues.Adapter.t()
@type channel :: atom
@type account :: Tai.Venues.Account.t()
@type credential_id :: atom
@type credential :: map
@type credentials :: %{optional(credential_id) => account}
@type t :: %Venue{
id: id,
adapter: adapter,
channels: [channel],
products:
String.t()
| {module, func_name :: atom}
| {module, func_name :: atom, func_args :: list},
accounts: String.t() | {module, func_name :: atom},
credentials: credentials,
quote_depth: pos_integer,
timeout: pos_integer,
stream_heartbeat_interval: pos_integer,
stream_heartbeat_timeout: pos_integer,
start_on_boot: boolean,
broadcast_change_set: boolean,
opts: map
}
@enforce_keys ~w(
id
adapter
channels
products
accounts
credentials
quote_depth
timeout
stream_heartbeat_interval
stream_heartbeat_timeout
start_on_boot
opts
)a
defstruct ~w(
id
adapter
channels
products
accounts
credentials
quote_depth
timeout
stream_heartbeat_interval
stream_heartbeat_timeout
start_on_boot
broadcast_change_set
opts
)a
defimpl Stored.Item do
@type key :: Tai.Venue.id()
@type venue :: Tai.Venue.t()
@spec key(venue) :: key
def key(v), do: v.id
end
end