lib/tai/venues/stream.ex
defmodule Tai.Venues.Stream do
alias __MODULE__
@type venue :: Tai.Venue.t()
@type product :: Tai.Venues.Product.t()
@type account :: Tai.Venues.Account.t()
@type position :: Tai.Trading.Position.t()
@type t :: %Stream{
venue: venue,
markets: [product],
accounts: [account],
positions: [position]
}
@enforce_keys ~w[venue markets accounts positions]a
defstruct ~w[venue markets accounts positions]a
end