coinbase-pro-0.5.0.0: src/lib/CoinbasePro/WebSocketFeed/Channel/Full/Match.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TemplateHaskell #-}
module CoinbasePro.WebSocketFeed.Channel.Full.Match
( Match (..)
) where
import Data.Aeson.Casing (snakeCase)
import Data.Aeson.TH (defaultOptions, deriveJSON,
fieldLabelModifier)
import Data.Time.Clock (UTCTime)
import CoinbasePro.Types (OrderId, Price, ProductId, Sequence, Side,
Size)
type TradeId = Int
data Match = Match
{ tradeId :: TradeId
, sequence :: Sequence
, makerOrderId :: OrderId
, takerOrderId :: OrderId
, time :: UTCTime
, productId :: ProductId
, size :: Size
, price :: Price
, side :: Side
} deriving (Eq, Ord, Show)
deriveJSON defaultOptions {fieldLabelModifier = snakeCase} ''Match