bittrex 0.4.0.0 → 0.5.0.0
raw patch · 5 files changed
+49/−31 lines, 5 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Bittrex.Types: instance GHC.Generics.Generic Bittrex.Types.MarketName
- Bittrex.Types: instance GHC.Read.Read Bittrex.Types.MarketName
- Bittrex.Util: camelToDash :: String -> String
- Bittrex.Util: parse :: String -> UTCTime
+ Bittrex.Types: BTC_UKG :: MarketName'
+ Bittrex.Types: ETH_UKG :: MarketName'
+ Bittrex.Types: MarketName :: MarketName' -> MarketName
+ Bittrex.Types: NewMarket :: Text -> MarketName
+ Bittrex.Types: USDT_ADA :: MarketName'
+ Bittrex.Types: USDT_NXT :: MarketName'
+ Bittrex.Types: USDT_XVG :: MarketName'
+ Bittrex.Types: data MarketName'
+ Bittrex.Types: instance GHC.Classes.Eq Bittrex.Types.MarketName'
+ Bittrex.Types: instance GHC.Generics.Generic Bittrex.Types.MarketName'
+ Bittrex.Types: instance GHC.Read.Read Bittrex.Types.MarketName'
+ Bittrex.Types: instance GHC.Show.Show Bittrex.Types.MarketName'
+ Bittrex.Util: toMarket :: MarketName -> String
- Bittrex.Types: BTC_1ST :: MarketName
+ Bittrex.Types: BTC_1ST :: MarketName'
- Bittrex.Types: BTC_2GIVE :: MarketName
+ Bittrex.Types: BTC_2GIVE :: MarketName'
- Bittrex.Types: BTC_ABY :: MarketName
+ Bittrex.Types: BTC_ABY :: MarketName'
- Bittrex.Types: BTC_ADA :: MarketName
+ Bittrex.Types: BTC_ADA :: MarketName'
- Bittrex.Types: BTC_ADT :: MarketName
+ Bittrex.Types: BTC_ADT :: MarketName'
- Bittrex.Types: BTC_ADX :: MarketName
+ Bittrex.Types: BTC_ADX :: MarketName'
- Bittrex.Types: BTC_AEON :: MarketName
+ Bittrex.Types: BTC_AEON :: MarketName'
- Bittrex.Types: BTC_AGRS :: MarketName
+ Bittrex.Types: BTC_AGRS :: MarketName'
- Bittrex.Types: BTC_AMP :: MarketName
+ Bittrex.Types: BTC_AMP :: MarketName'
- Bittrex.Types: BTC_ANT :: MarketName
+ Bittrex.Types: BTC_ANT :: MarketName'
- Bittrex.Types: BTC_APX :: MarketName
+ Bittrex.Types: BTC_APX :: MarketName'
- Bittrex.Types: BTC_ARDR :: MarketName
+ Bittrex.Types: BTC_ARDR :: MarketName'
- Bittrex.Types: BTC_ARK :: MarketName
+ Bittrex.Types: BTC_ARK :: MarketName'
- Bittrex.Types: BTC_AUR :: MarketName
+ Bittrex.Types: BTC_AUR :: MarketName'
- Bittrex.Types: BTC_BAT :: MarketName
+ Bittrex.Types: BTC_BAT :: MarketName'
- Bittrex.Types: BTC_BAY :: MarketName
+ Bittrex.Types: BTC_BAY :: MarketName'
- Bittrex.Types: BTC_BCC :: MarketName
+ Bittrex.Types: BTC_BCC :: MarketName'
- Bittrex.Types: BTC_BCY :: MarketName
+ Bittrex.Types: BTC_BCY :: MarketName'
- Bittrex.Types: BTC_BITB :: MarketName
+ Bittrex.Types: BTC_BITB :: MarketName'
- Bittrex.Types: BTC_BLITZ :: MarketName
+ Bittrex.Types: BTC_BLITZ :: MarketName'
- Bittrex.Types: BTC_BLK :: MarketName
+ Bittrex.Types: BTC_BLK :: MarketName'
- Bittrex.Types: BTC_BLOCK :: MarketName
+ Bittrex.Types: BTC_BLOCK :: MarketName'
- Bittrex.Types: BTC_BNT :: MarketName
+ Bittrex.Types: BTC_BNT :: MarketName'
- Bittrex.Types: BTC_BRK :: MarketName
+ Bittrex.Types: BTC_BRK :: MarketName'
- Bittrex.Types: BTC_BRX :: MarketName
+ Bittrex.Types: BTC_BRX :: MarketName'
- Bittrex.Types: BTC_BSD :: MarketName
+ Bittrex.Types: BTC_BSD :: MarketName'
- Bittrex.Types: BTC_BTCD :: MarketName
+ Bittrex.Types: BTC_BTCD :: MarketName'
- Bittrex.Types: BTC_BTG :: MarketName
+ Bittrex.Types: BTC_BTG :: MarketName'
- Bittrex.Types: BTC_BURST :: MarketName
+ Bittrex.Types: BTC_BURST :: MarketName'
- Bittrex.Types: BTC_BYC :: MarketName
+ Bittrex.Types: BTC_BYC :: MarketName'
- Bittrex.Types: BTC_CANN :: MarketName
+ Bittrex.Types: BTC_CANN :: MarketName'
- Bittrex.Types: BTC_CFI :: MarketName
+ Bittrex.Types: BTC_CFI :: MarketName'
- Bittrex.Types: BTC_CLAM :: MarketName
+ Bittrex.Types: BTC_CLAM :: MarketName'
- Bittrex.Types: BTC_CLOAK :: MarketName
+ Bittrex.Types: BTC_CLOAK :: MarketName'
- Bittrex.Types: BTC_CLUB :: MarketName
+ Bittrex.Types: BTC_CLUB :: MarketName'
- Bittrex.Types: BTC_COVAL :: MarketName
+ Bittrex.Types: BTC_COVAL :: MarketName'
- Bittrex.Types: BTC_CPC :: MarketName
+ Bittrex.Types: BTC_CPC :: MarketName'
- Bittrex.Types: BTC_CRB :: MarketName
+ Bittrex.Types: BTC_CRB :: MarketName'
- Bittrex.Types: BTC_CRW :: MarketName
+ Bittrex.Types: BTC_CRW :: MarketName'
- Bittrex.Types: BTC_CURE :: MarketName
+ Bittrex.Types: BTC_CURE :: MarketName'
- Bittrex.Types: BTC_CVC :: MarketName
+ Bittrex.Types: BTC_CVC :: MarketName'
- Bittrex.Types: BTC_DASH :: MarketName
+ Bittrex.Types: BTC_DASH :: MarketName'
- Bittrex.Types: BTC_DCR :: MarketName
+ Bittrex.Types: BTC_DCR :: MarketName'
- Bittrex.Types: BTC_DCT :: MarketName
+ Bittrex.Types: BTC_DCT :: MarketName'
- Bittrex.Types: BTC_DGB :: MarketName
+ Bittrex.Types: BTC_DGB :: MarketName'
- Bittrex.Types: BTC_DGD :: MarketName
+ Bittrex.Types: BTC_DGD :: MarketName'
- Bittrex.Types: BTC_DMD :: MarketName
+ Bittrex.Types: BTC_DMD :: MarketName'
- Bittrex.Types: BTC_DNT :: MarketName
+ Bittrex.Types: BTC_DNT :: MarketName'
- Bittrex.Types: BTC_DOGE :: MarketName
+ Bittrex.Types: BTC_DOGE :: MarketName'
- Bittrex.Types: BTC_DOPE :: MarketName
+ Bittrex.Types: BTC_DOPE :: MarketName'
- Bittrex.Types: BTC_DTB :: MarketName
+ Bittrex.Types: BTC_DTB :: MarketName'
- Bittrex.Types: BTC_DYN :: MarketName
+ Bittrex.Types: BTC_DYN :: MarketName'
- Bittrex.Types: BTC_EBST :: MarketName
+ Bittrex.Types: BTC_EBST :: MarketName'
- Bittrex.Types: BTC_EDG :: MarketName
+ Bittrex.Types: BTC_EDG :: MarketName'
- Bittrex.Types: BTC_EFL :: MarketName
+ Bittrex.Types: BTC_EFL :: MarketName'
- Bittrex.Types: BTC_EGC :: MarketName
+ Bittrex.Types: BTC_EGC :: MarketName'
- Bittrex.Types: BTC_EMC :: MarketName
+ Bittrex.Types: BTC_EMC :: MarketName'
- Bittrex.Types: BTC_EMC2 :: MarketName
+ Bittrex.Types: BTC_EMC2 :: MarketName'
- Bittrex.Types: BTC_ENG :: MarketName
+ Bittrex.Types: BTC_ENG :: MarketName'
- Bittrex.Types: BTC_ENRG :: MarketName
+ Bittrex.Types: BTC_ENRG :: MarketName'
- Bittrex.Types: BTC_ERC :: MarketName
+ Bittrex.Types: BTC_ERC :: MarketName'
- Bittrex.Types: BTC_ETC :: MarketName
+ Bittrex.Types: BTC_ETC :: MarketName'
- Bittrex.Types: BTC_ETH :: MarketName
+ Bittrex.Types: BTC_ETH :: MarketName'
- Bittrex.Types: BTC_EXCL :: MarketName
+ Bittrex.Types: BTC_EXCL :: MarketName'
- Bittrex.Types: BTC_EXP :: MarketName
+ Bittrex.Types: BTC_EXP :: MarketName'
- Bittrex.Types: BTC_FAIR :: MarketName
+ Bittrex.Types: BTC_FAIR :: MarketName'
- Bittrex.Types: BTC_FCT :: MarketName
+ Bittrex.Types: BTC_FCT :: MarketName'
- Bittrex.Types: BTC_FLDC :: MarketName
+ Bittrex.Types: BTC_FLDC :: MarketName'
- Bittrex.Types: BTC_FLO :: MarketName
+ Bittrex.Types: BTC_FLO :: MarketName'
- Bittrex.Types: BTC_FTC :: MarketName
+ Bittrex.Types: BTC_FTC :: MarketName'
- Bittrex.Types: BTC_FUN :: MarketName
+ Bittrex.Types: BTC_FUN :: MarketName'
- Bittrex.Types: BTC_GAM :: MarketName
+ Bittrex.Types: BTC_GAM :: MarketName'
- Bittrex.Types: BTC_GAME :: MarketName
+ Bittrex.Types: BTC_GAME :: MarketName'
- Bittrex.Types: BTC_GBG :: MarketName
+ Bittrex.Types: BTC_GBG :: MarketName'
- Bittrex.Types: BTC_GBYTE :: MarketName
+ Bittrex.Types: BTC_GBYTE :: MarketName'
- Bittrex.Types: BTC_GCR :: MarketName
+ Bittrex.Types: BTC_GCR :: MarketName'
- Bittrex.Types: BTC_GEO :: MarketName
+ Bittrex.Types: BTC_GEO :: MarketName'
- Bittrex.Types: BTC_GLD :: MarketName
+ Bittrex.Types: BTC_GLD :: MarketName'
- Bittrex.Types: BTC_GNO :: MarketName
+ Bittrex.Types: BTC_GNO :: MarketName'
- Bittrex.Types: BTC_GNT :: MarketName
+ Bittrex.Types: BTC_GNT :: MarketName'
- Bittrex.Types: BTC_GOLOS :: MarketName
+ Bittrex.Types: BTC_GOLOS :: MarketName'
- Bittrex.Types: BTC_GRC :: MarketName
+ Bittrex.Types: BTC_GRC :: MarketName'
- Bittrex.Types: BTC_GRS :: MarketName
+ Bittrex.Types: BTC_GRS :: MarketName'
- Bittrex.Types: BTC_GUP :: MarketName
+ Bittrex.Types: BTC_GUP :: MarketName'
- Bittrex.Types: BTC_HMQ :: MarketName
+ Bittrex.Types: BTC_HMQ :: MarketName'
- Bittrex.Types: BTC_INCNT :: MarketName
+ Bittrex.Types: BTC_INCNT :: MarketName'
- Bittrex.Types: BTC_INFX :: MarketName
+ Bittrex.Types: BTC_INFX :: MarketName'
- Bittrex.Types: BTC_IOC :: MarketName
+ Bittrex.Types: BTC_IOC :: MarketName'
- Bittrex.Types: BTC_ION :: MarketName
+ Bittrex.Types: BTC_ION :: MarketName'
- Bittrex.Types: BTC_IOP :: MarketName
+ Bittrex.Types: BTC_IOP :: MarketName'
- Bittrex.Types: BTC_KMD :: MarketName
+ Bittrex.Types: BTC_KMD :: MarketName'
- Bittrex.Types: BTC_KORE :: MarketName
+ Bittrex.Types: BTC_KORE :: MarketName'
- Bittrex.Types: BTC_LBC :: MarketName
+ Bittrex.Types: BTC_LBC :: MarketName'
- Bittrex.Types: BTC_LGD :: MarketName
+ Bittrex.Types: BTC_LGD :: MarketName'
- Bittrex.Types: BTC_LMC :: MarketName
+ Bittrex.Types: BTC_LMC :: MarketName'
- Bittrex.Types: BTC_LSK :: MarketName
+ Bittrex.Types: BTC_LSK :: MarketName'
- Bittrex.Types: BTC_LTC :: MarketName
+ Bittrex.Types: BTC_LTC :: MarketName'
- Bittrex.Types: BTC_LUN :: MarketName
+ Bittrex.Types: BTC_LUN :: MarketName'
- Bittrex.Types: BTC_MAID :: MarketName
+ Bittrex.Types: BTC_MAID :: MarketName'
- Bittrex.Types: BTC_MANA :: MarketName
+ Bittrex.Types: BTC_MANA :: MarketName'
- Bittrex.Types: BTC_MCO :: MarketName
+ Bittrex.Types: BTC_MCO :: MarketName'
- Bittrex.Types: BTC_MEME :: MarketName
+ Bittrex.Types: BTC_MEME :: MarketName'
- Bittrex.Types: BTC_MER :: MarketName
+ Bittrex.Types: BTC_MER :: MarketName'
- Bittrex.Types: BTC_MLN :: MarketName
+ Bittrex.Types: BTC_MLN :: MarketName'
- Bittrex.Types: BTC_MONA :: MarketName
+ Bittrex.Types: BTC_MONA :: MarketName'
- Bittrex.Types: BTC_MTL :: MarketName
+ Bittrex.Types: BTC_MTL :: MarketName'
- Bittrex.Types: BTC_MUE :: MarketName
+ Bittrex.Types: BTC_MUE :: MarketName'
- Bittrex.Types: BTC_MUSIC :: MarketName
+ Bittrex.Types: BTC_MUSIC :: MarketName'
- Bittrex.Types: BTC_MYST :: MarketName
+ Bittrex.Types: BTC_MYST :: MarketName'
- Bittrex.Types: BTC_NAV :: MarketName
+ Bittrex.Types: BTC_NAV :: MarketName'
- Bittrex.Types: BTC_NBT :: MarketName
+ Bittrex.Types: BTC_NBT :: MarketName'
- Bittrex.Types: BTC_NEO :: MarketName
+ Bittrex.Types: BTC_NEO :: MarketName'
- Bittrex.Types: BTC_NEOS :: MarketName
+ Bittrex.Types: BTC_NEOS :: MarketName'
- Bittrex.Types: BTC_NLG :: MarketName
+ Bittrex.Types: BTC_NLG :: MarketName'
- Bittrex.Types: BTC_NMR :: MarketName
+ Bittrex.Types: BTC_NMR :: MarketName'
- Bittrex.Types: BTC_NXC :: MarketName
+ Bittrex.Types: BTC_NXC :: MarketName'
- Bittrex.Types: BTC_NXS :: MarketName
+ Bittrex.Types: BTC_NXS :: MarketName'
- Bittrex.Types: BTC_NXT :: MarketName
+ Bittrex.Types: BTC_NXT :: MarketName'
- Bittrex.Types: BTC_OK :: MarketName
+ Bittrex.Types: BTC_OK :: MarketName'
- Bittrex.Types: BTC_OMG :: MarketName
+ Bittrex.Types: BTC_OMG :: MarketName'
- Bittrex.Types: BTC_OMNI :: MarketName
+ Bittrex.Types: BTC_OMNI :: MarketName'
- Bittrex.Types: BTC_PART :: MarketName
+ Bittrex.Types: BTC_PART :: MarketName'
- Bittrex.Types: BTC_PAY :: MarketName
+ Bittrex.Types: BTC_PAY :: MarketName'
- Bittrex.Types: BTC_PDC :: MarketName
+ Bittrex.Types: BTC_PDC :: MarketName'
- Bittrex.Types: BTC_PINK :: MarketName
+ Bittrex.Types: BTC_PINK :: MarketName'
- Bittrex.Types: BTC_PIVX :: MarketName
+ Bittrex.Types: BTC_PIVX :: MarketName'
- Bittrex.Types: BTC_PKB :: MarketName
+ Bittrex.Types: BTC_PKB :: MarketName'
- Bittrex.Types: BTC_POT :: MarketName
+ Bittrex.Types: BTC_POT :: MarketName'
- Bittrex.Types: BTC_POWR :: MarketName
+ Bittrex.Types: BTC_POWR :: MarketName'
- Bittrex.Types: BTC_PPC :: MarketName
+ Bittrex.Types: BTC_PPC :: MarketName'
- Bittrex.Types: BTC_PTC :: MarketName
+ Bittrex.Types: BTC_PTC :: MarketName'
- Bittrex.Types: BTC_PTOY :: MarketName
+ Bittrex.Types: BTC_PTOY :: MarketName'
- Bittrex.Types: BTC_QRL :: MarketName
+ Bittrex.Types: BTC_QRL :: MarketName'
- Bittrex.Types: BTC_QTUM :: MarketName
+ Bittrex.Types: BTC_QTUM :: MarketName'
- Bittrex.Types: BTC_QWARK :: MarketName
+ Bittrex.Types: BTC_QWARK :: MarketName'
- Bittrex.Types: BTC_RADS :: MarketName
+ Bittrex.Types: BTC_RADS :: MarketName'
- Bittrex.Types: BTC_RBY :: MarketName
+ Bittrex.Types: BTC_RBY :: MarketName'
- Bittrex.Types: BTC_RCN :: MarketName
+ Bittrex.Types: BTC_RCN :: MarketName'
- Bittrex.Types: BTC_RDD :: MarketName
+ Bittrex.Types: BTC_RDD :: MarketName'
- Bittrex.Types: BTC_REP :: MarketName
+ Bittrex.Types: BTC_REP :: MarketName'
- Bittrex.Types: BTC_RISE :: MarketName
+ Bittrex.Types: BTC_RISE :: MarketName'
- Bittrex.Types: BTC_RLC :: MarketName
+ Bittrex.Types: BTC_RLC :: MarketName'
- Bittrex.Types: BTC_SALT :: MarketName
+ Bittrex.Types: BTC_SALT :: MarketName'
- Bittrex.Types: BTC_SBD :: MarketName
+ Bittrex.Types: BTC_SBD :: MarketName'
- Bittrex.Types: BTC_SC :: MarketName
+ Bittrex.Types: BTC_SC :: MarketName'
- Bittrex.Types: BTC_SEQ :: MarketName
+ Bittrex.Types: BTC_SEQ :: MarketName'
- Bittrex.Types: BTC_SHIFT :: MarketName
+ Bittrex.Types: BTC_SHIFT :: MarketName'
- Bittrex.Types: BTC_SIB :: MarketName
+ Bittrex.Types: BTC_SIB :: MarketName'
- Bittrex.Types: BTC_SLR :: MarketName
+ Bittrex.Types: BTC_SLR :: MarketName'
- Bittrex.Types: BTC_SLS :: MarketName
+ Bittrex.Types: BTC_SLS :: MarketName'
- Bittrex.Types: BTC_SNRG :: MarketName
+ Bittrex.Types: BTC_SNRG :: MarketName'
- Bittrex.Types: BTC_SNT :: MarketName
+ Bittrex.Types: BTC_SNT :: MarketName'
- Bittrex.Types: BTC_SPHR :: MarketName
+ Bittrex.Types: BTC_SPHR :: MarketName'
- Bittrex.Types: BTC_SPR :: MarketName
+ Bittrex.Types: BTC_SPR :: MarketName'
- Bittrex.Types: BTC_START :: MarketName
+ Bittrex.Types: BTC_START :: MarketName'
- Bittrex.Types: BTC_STEEM :: MarketName
+ Bittrex.Types: BTC_STEEM :: MarketName'
- Bittrex.Types: BTC_STORJ :: MarketName
+ Bittrex.Types: BTC_STORJ :: MarketName'
- Bittrex.Types: BTC_STRAT :: MarketName
+ Bittrex.Types: BTC_STRAT :: MarketName'
- Bittrex.Types: BTC_SWIFT :: MarketName
+ Bittrex.Types: BTC_SWIFT :: MarketName'
- Bittrex.Types: BTC_SWT :: MarketName
+ Bittrex.Types: BTC_SWT :: MarketName'
- Bittrex.Types: BTC_SYNX :: MarketName
+ Bittrex.Types: BTC_SYNX :: MarketName'
- Bittrex.Types: BTC_SYS :: MarketName
+ Bittrex.Types: BTC_SYS :: MarketName'
- Bittrex.Types: BTC_THC :: MarketName
+ Bittrex.Types: BTC_THC :: MarketName'
- Bittrex.Types: BTC_TIX :: MarketName
+ Bittrex.Types: BTC_TIX :: MarketName'
- Bittrex.Types: BTC_TKS :: MarketName
+ Bittrex.Types: BTC_TKS :: MarketName'
- Bittrex.Types: BTC_TRIG :: MarketName
+ Bittrex.Types: BTC_TRIG :: MarketName'
- Bittrex.Types: BTC_TRST :: MarketName
+ Bittrex.Types: BTC_TRST :: MarketName'
- Bittrex.Types: BTC_TRUST :: MarketName
+ Bittrex.Types: BTC_TRUST :: MarketName'
- Bittrex.Types: BTC_TX :: MarketName
+ Bittrex.Types: BTC_TX :: MarketName'
- Bittrex.Types: BTC_UBQ :: MarketName
+ Bittrex.Types: BTC_UBQ :: MarketName'
- Bittrex.Types: BTC_UNB :: MarketName
+ Bittrex.Types: BTC_UNB :: MarketName'
- Bittrex.Types: BTC_VIA :: MarketName
+ Bittrex.Types: BTC_VIA :: MarketName'
- Bittrex.Types: BTC_VIB :: MarketName
+ Bittrex.Types: BTC_VIB :: MarketName'
- Bittrex.Types: BTC_VOX :: MarketName
+ Bittrex.Types: BTC_VOX :: MarketName'
- Bittrex.Types: BTC_VRC :: MarketName
+ Bittrex.Types: BTC_VRC :: MarketName'
- Bittrex.Types: BTC_VRM :: MarketName
+ Bittrex.Types: BTC_VRM :: MarketName'
- Bittrex.Types: BTC_VTC :: MarketName
+ Bittrex.Types: BTC_VTC :: MarketName'
- Bittrex.Types: BTC_VTR :: MarketName
+ Bittrex.Types: BTC_VTR :: MarketName'
- Bittrex.Types: BTC_WAVES :: MarketName
+ Bittrex.Types: BTC_WAVES :: MarketName'
- Bittrex.Types: BTC_WINGS :: MarketName
+ Bittrex.Types: BTC_WINGS :: MarketName'
- Bittrex.Types: BTC_XCP :: MarketName
+ Bittrex.Types: BTC_XCP :: MarketName'
- Bittrex.Types: BTC_XDN :: MarketName
+ Bittrex.Types: BTC_XDN :: MarketName'
- Bittrex.Types: BTC_XEL :: MarketName
+ Bittrex.Types: BTC_XEL :: MarketName'
- Bittrex.Types: BTC_XEM :: MarketName
+ Bittrex.Types: BTC_XEM :: MarketName'
- Bittrex.Types: BTC_XLM :: MarketName
+ Bittrex.Types: BTC_XLM :: MarketName'
- Bittrex.Types: BTC_XMG :: MarketName
+ Bittrex.Types: BTC_XMG :: MarketName'
- Bittrex.Types: BTC_XMR :: MarketName
+ Bittrex.Types: BTC_XMR :: MarketName'
- Bittrex.Types: BTC_XMY :: MarketName
+ Bittrex.Types: BTC_XMY :: MarketName'
- Bittrex.Types: BTC_XRP :: MarketName
+ Bittrex.Types: BTC_XRP :: MarketName'
- Bittrex.Types: BTC_XST :: MarketName
+ Bittrex.Types: BTC_XST :: MarketName'
- Bittrex.Types: BTC_XVC :: MarketName
+ Bittrex.Types: BTC_XVC :: MarketName'
- Bittrex.Types: BTC_XVG :: MarketName
+ Bittrex.Types: BTC_XVG :: MarketName'
- Bittrex.Types: BTC_XWC :: MarketName
+ Bittrex.Types: BTC_XWC :: MarketName'
- Bittrex.Types: BTC_XZC :: MarketName
+ Bittrex.Types: BTC_XZC :: MarketName'
- Bittrex.Types: BTC_ZCL :: MarketName
+ Bittrex.Types: BTC_ZCL :: MarketName'
- Bittrex.Types: BTC_ZEC :: MarketName
+ Bittrex.Types: BTC_ZEC :: MarketName'
- Bittrex.Types: BTC_ZEN :: MarketName
+ Bittrex.Types: BTC_ZEN :: MarketName'
- Bittrex.Types: ETH_1ST :: MarketName
+ Bittrex.Types: ETH_1ST :: MarketName'
- Bittrex.Types: ETH_ADA :: MarketName
+ Bittrex.Types: ETH_ADA :: MarketName'
- Bittrex.Types: ETH_ADT :: MarketName
+ Bittrex.Types: ETH_ADT :: MarketName'
- Bittrex.Types: ETH_ADX :: MarketName
+ Bittrex.Types: ETH_ADX :: MarketName'
- Bittrex.Types: ETH_ANT :: MarketName
+ Bittrex.Types: ETH_ANT :: MarketName'
- Bittrex.Types: ETH_BAT :: MarketName
+ Bittrex.Types: ETH_BAT :: MarketName'
- Bittrex.Types: ETH_BCC :: MarketName
+ Bittrex.Types: ETH_BCC :: MarketName'
- Bittrex.Types: ETH_BNT :: MarketName
+ Bittrex.Types: ETH_BNT :: MarketName'
- Bittrex.Types: ETH_BTG :: MarketName
+ Bittrex.Types: ETH_BTG :: MarketName'
- Bittrex.Types: ETH_CFI :: MarketName
+ Bittrex.Types: ETH_CFI :: MarketName'
- Bittrex.Types: ETH_CRB :: MarketName
+ Bittrex.Types: ETH_CRB :: MarketName'
- Bittrex.Types: ETH_CVC :: MarketName
+ Bittrex.Types: ETH_CVC :: MarketName'
- Bittrex.Types: ETH_DASH :: MarketName
+ Bittrex.Types: ETH_DASH :: MarketName'
- Bittrex.Types: ETH_DGB :: MarketName
+ Bittrex.Types: ETH_DGB :: MarketName'
- Bittrex.Types: ETH_DGD :: MarketName
+ Bittrex.Types: ETH_DGD :: MarketName'
- Bittrex.Types: ETH_DNT :: MarketName
+ Bittrex.Types: ETH_DNT :: MarketName'
- Bittrex.Types: ETH_ENG :: MarketName
+ Bittrex.Types: ETH_ENG :: MarketName'
- Bittrex.Types: ETH_ETC :: MarketName
+ Bittrex.Types: ETH_ETC :: MarketName'
- Bittrex.Types: ETH_FCT :: MarketName
+ Bittrex.Types: ETH_FCT :: MarketName'
- Bittrex.Types: ETH_FUN :: MarketName
+ Bittrex.Types: ETH_FUN :: MarketName'
- Bittrex.Types: ETH_GNO :: MarketName
+ Bittrex.Types: ETH_GNO :: MarketName'
- Bittrex.Types: ETH_GNT :: MarketName
+ Bittrex.Types: ETH_GNT :: MarketName'
- Bittrex.Types: ETH_GUP :: MarketName
+ Bittrex.Types: ETH_GUP :: MarketName'
- Bittrex.Types: ETH_HMQ :: MarketName
+ Bittrex.Types: ETH_HMQ :: MarketName'
- Bittrex.Types: ETH_LGD :: MarketName
+ Bittrex.Types: ETH_LGD :: MarketName'
- Bittrex.Types: ETH_LTC :: MarketName
+ Bittrex.Types: ETH_LTC :: MarketName'
- Bittrex.Types: ETH_LUN :: MarketName
+ Bittrex.Types: ETH_LUN :: MarketName'
- Bittrex.Types: ETH_MANA :: MarketName
+ Bittrex.Types: ETH_MANA :: MarketName'
- Bittrex.Types: ETH_MCO :: MarketName
+ Bittrex.Types: ETH_MCO :: MarketName'
- Bittrex.Types: ETH_MTL :: MarketName
+ Bittrex.Types: ETH_MTL :: MarketName'
- Bittrex.Types: ETH_MYST :: MarketName
+ Bittrex.Types: ETH_MYST :: MarketName'
- Bittrex.Types: ETH_NEO :: MarketName
+ Bittrex.Types: ETH_NEO :: MarketName'
- Bittrex.Types: ETH_NMR :: MarketName
+ Bittrex.Types: ETH_NMR :: MarketName'
- Bittrex.Types: ETH_OMG :: MarketName
+ Bittrex.Types: ETH_OMG :: MarketName'
- Bittrex.Types: ETH_PAY :: MarketName
+ Bittrex.Types: ETH_PAY :: MarketName'
- Bittrex.Types: ETH_POWR :: MarketName
+ Bittrex.Types: ETH_POWR :: MarketName'
- Bittrex.Types: ETH_PTOY :: MarketName
+ Bittrex.Types: ETH_PTOY :: MarketName'
- Bittrex.Types: ETH_QRL :: MarketName
+ Bittrex.Types: ETH_QRL :: MarketName'
- Bittrex.Types: ETH_QTUM :: MarketName
+ Bittrex.Types: ETH_QTUM :: MarketName'
- Bittrex.Types: ETH_RCN :: MarketName
+ Bittrex.Types: ETH_RCN :: MarketName'
- Bittrex.Types: ETH_REP :: MarketName
+ Bittrex.Types: ETH_REP :: MarketName'
- Bittrex.Types: ETH_RLC :: MarketName
+ Bittrex.Types: ETH_RLC :: MarketName'
- Bittrex.Types: ETH_SALT :: MarketName
+ Bittrex.Types: ETH_SALT :: MarketName'
- Bittrex.Types: ETH_SC :: MarketName
+ Bittrex.Types: ETH_SC :: MarketName'
- Bittrex.Types: ETH_SNT :: MarketName
+ Bittrex.Types: ETH_SNT :: MarketName'
- Bittrex.Types: ETH_STORJ :: MarketName
+ Bittrex.Types: ETH_STORJ :: MarketName'
- Bittrex.Types: ETH_STRAT :: MarketName
+ Bittrex.Types: ETH_STRAT :: MarketName'
- Bittrex.Types: ETH_TIX :: MarketName
+ Bittrex.Types: ETH_TIX :: MarketName'
- Bittrex.Types: ETH_TRST :: MarketName
+ Bittrex.Types: ETH_TRST :: MarketName'
- Bittrex.Types: ETH_VIB :: MarketName
+ Bittrex.Types: ETH_VIB :: MarketName'
- Bittrex.Types: ETH_WAVES :: MarketName
+ Bittrex.Types: ETH_WAVES :: MarketName'
- Bittrex.Types: ETH_WINGS :: MarketName
+ Bittrex.Types: ETH_WINGS :: MarketName'
- Bittrex.Types: ETH_XEM :: MarketName
+ Bittrex.Types: ETH_XEM :: MarketName'
- Bittrex.Types: ETH_XLM :: MarketName
+ Bittrex.Types: ETH_XLM :: MarketName'
- Bittrex.Types: ETH_XMR :: MarketName
+ Bittrex.Types: ETH_XMR :: MarketName'
- Bittrex.Types: ETH_XRP :: MarketName
+ Bittrex.Types: ETH_XRP :: MarketName'
- Bittrex.Types: ETH_ZEC :: MarketName
+ Bittrex.Types: ETH_ZEC :: MarketName'
- Bittrex.Types: USDT_BCC :: MarketName
+ Bittrex.Types: USDT_BCC :: MarketName'
- Bittrex.Types: USDT_BTC :: MarketName
+ Bittrex.Types: USDT_BTC :: MarketName'
- Bittrex.Types: USDT_BTG :: MarketName
+ Bittrex.Types: USDT_BTG :: MarketName'
- Bittrex.Types: USDT_DASH :: MarketName
+ Bittrex.Types: USDT_DASH :: MarketName'
- Bittrex.Types: USDT_ETC :: MarketName
+ Bittrex.Types: USDT_ETC :: MarketName'
- Bittrex.Types: USDT_ETH :: MarketName
+ Bittrex.Types: USDT_ETH :: MarketName'
- Bittrex.Types: USDT_LTC :: MarketName
+ Bittrex.Types: USDT_LTC :: MarketName'
- Bittrex.Types: USDT_NEO :: MarketName
+ Bittrex.Types: USDT_NEO :: MarketName'
- Bittrex.Types: USDT_OMG :: MarketName
+ Bittrex.Types: USDT_OMG :: MarketName'
- Bittrex.Types: USDT_XMR :: MarketName
+ Bittrex.Types: USDT_XMR :: MarketName'
- Bittrex.Types: USDT_XRP :: MarketName
+ Bittrex.Types: USDT_XRP :: MarketName'
- Bittrex.Types: USDT_ZEC :: MarketName
+ Bittrex.Types: USDT_ZEC :: MarketName'
Files
- bittrex.cabal +1/−1
- example/Main.hs +6/−6
- src/Bittrex/API.hs +10/−9
- src/Bittrex/Types.hs +24/−8
- src/Bittrex/Util.hs +8/−7
bittrex.cabal view
@@ -1,5 +1,5 @@ name: bittrex-version: 0.4.0.0+version: 0.5.0.0 synopsis: API bindings to bittrex.com description: Haskell bindings to the Bittrex exchange homepage: https://github.com/dmjio/bittrex
example/Main.hs view
@@ -20,11 +20,11 @@ mapM_ print cs putStrLn "Ticker for BTC-DOGE market"- t <- getTicker BTC_DOGE+ t <- getTicker (MarketName BTC_DOGE) print t putStrLn "Summary of BTC-DOGE market"- Right t <- getMarketSummary BTC_DOGE+ Right t <- getMarketSummary (MarketName BTC_DOGE) print t putStrLn "Get market summaries"@@ -32,20 +32,20 @@ print t putStrLn "Order book sells for for BTC-DOGE market"- book <- getOrderBookSells BTC_DOGE+ book <- getOrderBookSells (MarketName BTC_DOGE) print book putStrLn "Order book buys for for BTC-DOGE market"- book <- getOrderBookBuys BTC_DOGE+ book <- getOrderBookBuys (MarketName BTC_DOGE) print book putStrLn "Market history for BTC-DOGE"- Right history <- getMarketHistory BTC_DOGE+ Right history <- getMarketHistory (MarketName BTC_DOGE) forM_ history print -- Market usage putStrLn "Retrieve your open orders"- Right openOrders <- getOpenOrders keys BTC_DOGE+ Right openOrders <- getOpenOrders keys (MarketName BTC_DOGE) forM_ openOrders print -- Account usage,
src/Bittrex/API.hs view
@@ -2,6 +2,7 @@ {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE LambdaCase #-} module Bittrex.API ( -- * Overview@@ -72,7 +73,7 @@ -> IO (Either ErrorMessage Ticker) getTicker market = callAPI defOpts {- qParams = [("market", camelToDash $ show market)]+ qParams = [("market", toMarket market)] , path = "getticker" } @@ -88,7 +89,7 @@ -> IO (Either ErrorMessage [MarketSummary]) getMarketSummary market = callAPI defOpts {- qParams = pure ("market", camelToDash $ show market)+ qParams = pure ("market", toMarket market) , path = "getmarketsummary" } @@ -100,7 +101,7 @@ getOrderBookBuys market = callAPI defOpts { path = "getorderbook"- , qParams = [ ("market", camelToDash $ show market)+ , qParams = [ ("market", toMarket market) , ("type", "buy") ] }@@ -113,7 +114,7 @@ getOrderBookSells market = callAPI defOpts { path = "getorderbook"- , qParams = [ ("market", camelToDash $ show market)+ , qParams = [ ("market", toMarket market) , ("type", "sell") ] }@@ -125,7 +126,7 @@ getMarketHistory market = callAPI defOpts { path = "getmarkethistory"- , qParams = pure ("market", camelToDash $ show market)+ , qParams = pure ("market", toMarket market) } -- | Get all orders that you currently have opened. A specific market can be requested@@ -137,7 +138,7 @@ callAPI defOpts { path = "getopenorders" , apiType = MarketAPI- , qParams = pure ("market", camelToDash $ show market)+ , qParams = pure ("market", toMarket market) , keys = keys } @@ -153,7 +154,7 @@ path = "buylimit" , keys = keys , apiType = MarketAPI- , qParams = [ ("market", camelToDash $ show market )+ , qParams = [ ("market", toMarket market ) , ("quantity", show quantity ) , ("rate", show rate ) ]@@ -172,7 +173,7 @@ path = "selllimit" , keys = keys , apiType = MarketAPI- , qParams = [ ("market", camelToDash $ show market )+ , qParams = [ ("market", toMarket market ) , ("quantity", show quantity ) , ("rate", show rate ) ]@@ -254,7 +255,7 @@ path = "getorderhistory" , apiType = AccountAPI , keys = keys- , qParams = [ ("market", camelToDash (show m) )+ , qParams = [ ("market", toMarket m ) | Just m <- pure market ] }
src/Bittrex/Types.hs view
@@ -3,17 +3,17 @@ {-# LANGUAGE GeneralizedNewtypeDeriving #-} module Bittrex.Types where -import Bittrex.Util (parse) import Data.Aeson import Data.Aeson.Types hiding (parse) import Data.ByteString (ByteString) import qualified Data.ByteString as B import qualified Data.ByteString.Lazy as L+import Data.Fixed import Data.Scientific import Data.Text (Text) import qualified Data.Text as T-import Data.Fixed import Data.Time+import Data.Time.Format import GHC.Generics import Text.Read (readMaybe) @@ -36,7 +36,13 @@ instance FromJSON Time where parseJSON = withText "Time" $ \t -> do pure $ Time $ parse (T.unpack t)+ where+ parse :: String -> UTCTime+ parse =+ parseTimeOrError True defaultTimeLocale $+ iso8601DateFormat (Just "%H:%M:%S%Q") + instance Show APIType where show AccountAPI = "account" show PublicAPI = "public"@@ -73,6 +79,17 @@ instance FromJSON BittrexError data MarketName+ = NewMarket Text+ | MarketName MarketName'+ deriving (Show, Eq)++instance FromJSON MarketName where+ parseJSON = withText "Market Name" $ \t ->+ pure $ case readMaybe $ T.unpack (T.replace "-" "_" t) of+ Nothing -> NewMarket t+ Just k -> MarketName k++data MarketName' = BTC_LTC | BTC_DOGE | BTC_VTC@@ -339,13 +356,12 @@ | ETH_ADA | BTC_ENG | ETH_ENG+ | USDT_ADA+ | USDT_XVG+ | USDT_NXT+ | BTC_UKG+ | ETH_UKG deriving (Show, Eq, Generic, Read)--instance FromJSON MarketName where- parseJSON = withText "MarketName" $ \s ->- case readMaybe $ T.unpack (T.replace "-" "_" s) of- Nothing -> error $ "Couldn't parse MarketName: " ++ T.unpack s- Just k -> pure k newtype Bid = Bid (Fixed E8) deriving (Show, Eq, Num, FromJSON)
src/Bittrex/Util.hs view
@@ -1,14 +1,15 @@-module Bittrex.Util ( camelToDash, parse ) where+module Bittrex.Util ( toMarket ) where -import Data.Time-import Data.Time.Format+import Data.Text (Text)+import qualified Data.Text as T +import Bittrex.Types+ camelToDash :: String -> String camelToDash [] = [] camelToDash ('_':xs) = '-':camelToDash xs camelToDash (x:xs) = x:camelToDash xs -parse :: String -> UTCTime-parse =- parseTimeOrError True defaultTimeLocale $- iso8601DateFormat (Just "%H:%M:%S%Q")+toMarket :: MarketName -> String+toMarket (NewMarket t) = T.unpack t+toMarket (MarketName k) = camelToDash (show k)