-- |Monad in which public API requests occur.
module Cryptsy.API.Public.Types.Monad
	( module Cryptsy.API.Public.Types.Monad
	, module Cryptsy.API.Public.Types.Error
	)
where

-- HTTP
import Network.Browser (BrowserAction)
import Network.TCP (HandleStream)

-- bytestring
import Data.ByteString.Lazy (ByteString)

-- either
import Control.Monad.Trans.Either (EitherT)

-- this package
import Cryptsy.API.Public.Types.Error

-- |request monad
type PubCryptsy = EitherT CryptsyError (BrowserAction (HandleStream ByteString))