Hello community,

here is the log from the commit of package ghc-bitx-bitcoin for 
openSUSE:Factory checked in at 2017-05-10 20:47:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-bitx-bitcoin (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-bitx-bitcoin.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-bitx-bitcoin"

Wed May 10 20:47:56 2017 rev:2 rq:489352 version:0.11.0.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-bitx-bitcoin/ghc-bitx-bitcoin.changes        
2017-04-12 18:05:18.934438330 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-bitx-bitcoin.new/ghc-bitx-bitcoin.changes   
2017-05-10 20:47:57.820469425 +0200
@@ -1,0 +2,5 @@
+Mon Mar 27 12:37:27 UTC 2017 - [email protected]
+
+- Update to version 0.11.0.1 with cabal2obs.
+
+-------------------------------------------------------------------

Old:
----
  bitx-bitcoin-0.11.0.0.tar.gz

New:
----
  bitx-bitcoin-0.11.0.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ghc-bitx-bitcoin.spec ++++++
--- /var/tmp/diff_new_pack.I03bYp/_old  2017-05-10 20:47:58.580362199 +0200
+++ /var/tmp/diff_new_pack.I03bYp/_new  2017-05-10 20:47:58.588361070 +0200
@@ -19,7 +19,7 @@
 %global pkg_name bitx-bitcoin
 %bcond_with tests
 Name:           ghc-%{pkg_name}
-Version:        0.11.0.0
+Version:        0.11.0.1
 Release:        0
 Summary:        A Haskell library for working with the BitX bitcoin exchange
 License:        BSD-3-Clause

++++++ bitx-bitcoin-0.11.0.0.tar.gz -> bitx-bitcoin-0.11.0.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bitx-bitcoin-0.11.0.0/CHANGES 
new/bitx-bitcoin-0.11.0.1/CHANGES
--- old/bitx-bitcoin-0.11.0.0/CHANGES   2016-11-12 21:45:50.000000000 +0100
+++ new/bitx-bitcoin-0.11.0.1/CHANGES   2017-03-13 10:17:21.000000000 +0100
@@ -1,3 +1,6 @@
+v0.11.0.1
+* Added new fee_info endpoint.
+
 v0.11.0.0
 * The BitX API no longer gives trades when returning private orders. BREAKING 
CHANGE.
 * Due to the above change, a new function -- getAllTrades -- has been added to 
the private order API.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bitx-bitcoin-0.11.0.0/bitx-bitcoin.cabal 
new/bitx-bitcoin-0.11.0.1/bitx-bitcoin.cabal
--- old/bitx-bitcoin-0.11.0.0/bitx-bitcoin.cabal        2016-11-13 
11:53:47.000000000 +0100
+++ new/bitx-bitcoin-0.11.0.1/bitx-bitcoin.cabal        2017-03-13 
08:57:29.000000000 +0100
@@ -1,5 +1,5 @@
 name:                bitx-bitcoin
-version:             0.11.0.0
+version:             0.11.0.1
 synopsis:            A Haskell library for working with the BitX bitcoin 
exchange.
 
 description:
@@ -50,6 +50,7 @@
   --  Network.Bitcoin.BitX.Private.Auth
     Network.Bitcoin.BitX.Private.Order
     Network.Bitcoin.BitX.Private.Withdrawal
+    Network.Bitcoin.BitX.Private.Fees
     Network.Bitcoin.BitX.Response
 
   ghc-options: -Wall
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/bitx-bitcoin-0.11.0.0/src/Network/Bitcoin/BitX/Private/Fees.hs 
new/bitx-bitcoin-0.11.0.1/src/Network/Bitcoin/BitX/Private/Fees.hs
--- old/bitx-bitcoin-0.11.0.0/src/Network/Bitcoin/BitX/Private/Fees.hs  
1970-01-01 01:00:00.000000000 +0100
+++ new/bitx-bitcoin-0.11.0.1/src/Network/Bitcoin/BitX/Private/Fees.hs  
2017-03-13 08:55:51.000000000 +0100
@@ -0,0 +1,37 @@
+{-# LANGUAGE OverloadedStrings #-}
+
+-----------------------------------------------------------------------------
+-- |
+-- Module      :  Network.Bitcoin.BitX.Private.Fees
+-- Copyright   :  2017 Tebello Thejane
+-- License     :  BSD3
+--
+-- Maintainer  :  Tebello Thejane <[email protected]>
+-- Stability   :  Experimental
+-- Portability :  non-portable (GHC Extensions)
+--
+-- Retrieving fee information.
+--
+-- The BitX fee structure is cummulative-volume-based. The sole endpoint in
+-- this packagereturns the user's current fee structure and 30-day volume.
+--
+-----------------------------------------------------------------------------
+
+module Network.Bitcoin.BitX.Private.Fees
+    (
+    getFeeInfo
+    ) where
+
+import Network.Bitcoin.BitX.Internal
+import Network.Bitcoin.BitX.Types
+import Data.Text as Txt
+import Network.Bitcoin.BitX.Response
+import Data.Monoid ((<>))
+
+{- | Get fee structure and 30-day volume (as of midnight) for a currency pair
+
+@Perm_R_Orders@ permission required.
+-}
+
+getFeeInfo :: BitXAuth -> CcyPair -> IO (BitXAPIResponse FeeInfo)
+getFeeInfo auth cpair = simpleBitXGetAuth_ auth ("fee_info?pair=" <> Txt.pack 
(show cpair))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/bitx-bitcoin-0.11.0.0/src/Network/Bitcoin/BitX/Private.hs 
new/bitx-bitcoin-0.11.0.1/src/Network/Bitcoin/BitX/Private.hs
--- old/bitx-bitcoin-0.11.0.0/src/Network/Bitcoin/BitX/Private.hs       
2016-11-09 07:54:07.000000000 +0100
+++ new/bitx-bitcoin-0.11.0.1/src/Network/Bitcoin/BitX/Private.hs       
2017-03-13 08:52:50.000000000 +0100
@@ -75,7 +75,8 @@
   module Network.Bitcoin.BitX.Private.Order,
   module Network.Bitcoin.BitX.Private.Quote,
   --module Network.Bitcoin.BitX.Private.Auth
-  module Network.Bitcoin.BitX.Private.Withdrawal
+  module Network.Bitcoin.BitX.Private.Withdrawal,
+  module Network.Bitcoin.BitX.Private.Fees
   ) where
 
 import Network.Bitcoin.BitX.Internal
@@ -88,6 +89,7 @@
 --import Network.Bitcoin.BitX.Private.Auth
 import Network.Bitcoin.BitX.Private.Quote
 import Network.Bitcoin.BitX.Private.Withdrawal
+import Network.Bitcoin.BitX.Private.Fees
 import Data.Monoid ((<>))
 
 {-# ANN module ("HLint: ignore Use import/export shortcut" :: String) #-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/bitx-bitcoin-0.11.0.0/src/Network/Bitcoin/BitX/Types/Internal.hs 
new/bitx-bitcoin-0.11.0.1/src/Network/Bitcoin/BitX/Types/Internal.hs
--- old/bitx-bitcoin-0.11.0.0/src/Network/Bitcoin/BitX/Types/Internal.hs        
2016-11-12 19:42:21.000000000 +0100
+++ new/bitx-bitcoin-0.11.0.1/src/Network/Bitcoin/BitX/Types/Internal.hs        
2017-03-13 08:44:05.000000000 +0100
@@ -668,3 +668,21 @@
     type Aes [Types.PrivateTrade] = PrivateTrades_
     aesToRec PrivateTrades_ {..} =
         map aesToRec privateTrades'trades
+
+-------------------------------------------- FeeInfo type 
-------------------------------------------
+
+data FeeInfo_ = FeeInfo_
+    { feeInfo'maker_fee :: QuotedScientific
+    , feeInfo'taker_fee :: QuotedScientific
+    , feeInfo'thirty_day_volume :: QuotedScientific
+    }
+
+$(AesTH.deriveFromJSON AesTH.defaultOptions{AesTH.fieldLabelModifier = last . 
splitOn "'"}
+    ''FeeInfo_)
+
+instance BitXAesRecordConvert Types.FeeInfo where
+    type Aes Types.FeeInfo = FeeInfo_
+    aesToRec FeeInfo_ {..} =
+        Types.FeeInfo {feeInfoMakerFee = qsToScientific feeInfo'maker_fee,
+                  feeInfoTakerFee = qsToScientific feeInfo'taker_fee,
+                  feeInfoThirtyDayVolume = qsToScientific 
feeInfo'thirty_day_volume}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/bitx-bitcoin-0.11.0.0/src/Network/Bitcoin/BitX/Types.hs 
new/bitx-bitcoin-0.11.0.1/src/Network/Bitcoin/BitX/Types.hs
--- old/bitx-bitcoin-0.11.0.0/src/Network/Bitcoin/BitX/Types.hs 2016-11-13 
11:15:22.000000000 +0100
+++ new/bitx-bitcoin-0.11.0.1/src/Network/Bitcoin/BitX/Types.hs 2017-03-13 
08:38:10.000000000 +0100
@@ -49,6 +49,7 @@
     Transaction(..),
     Account(..),
     PrivateTrade(..),
+    FeeInfo(..),
 
 -- | Convenient constructors for records which serve as input parameters to 
functions. These are not
 --   completely safe (since you can forget to set a field and the Haskell 
compiler won't notice),
@@ -128,7 +129,10 @@
     HasIsBuy(..),
     HasStatus(..),
     HasBeneficiaryId(..),
-    HasOrderId(..)
+    HasOrderId(..),
+    HasMakerFee(..),
+    HasTakerFee(..),
+    HasThirtyDayVolume(..)
   ) where
 
 import Data.Aeson (FromJSON(..))
@@ -502,6 +506,15 @@
 
 makeFields ''PrivateTrade
 
+-- | Fee information
+data FeeInfo = FeeInfo {
+    feeInfoMakerFee :: Scientific,
+    feeInfoTakerFee :: Scientific,
+    feeInfoThirtyDayVolume :: Scientific
+  } deriving (Eq, Show, Generic, Data, Typeable, Ord)
+
+makeFields ''FeeInfo
+
 instance FromJSON CcyPair
 
 instance FromJSON Asset
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/bitx-bitcoin-0.11.0.0/src/Network/Bitcoin/BitX.hs 
new/bitx-bitcoin-0.11.0.1/src/Network/Bitcoin/BitX.hs
--- old/bitx-bitcoin-0.11.0.0/src/Network/Bitcoin/BitX.hs       2016-08-28 
14:40:53.000000000 +0200
+++ new/bitx-bitcoin-0.11.0.1/src/Network/Bitcoin/BitX.hs       2017-03-13 
08:55:05.000000000 +0100
@@ -23,6 +23,7 @@
     --module Network.Bitcoin.BitX.Private.Auth,
     module Network.Bitcoin.BitX.Private.Order,
     module Network.Bitcoin.BitX.Private.Withdrawal,
+    module Network.Bitcoin.BitX.Private.Fees,
     module Network.Bitcoin.BitX.Response,
     BitXAesRecordConvert(..),
     POSTEncodeable(..)
@@ -36,6 +37,7 @@
 --import Network.Bitcoin.BitX.Private.Auth
 import Network.Bitcoin.BitX.Private.Order
 import Network.Bitcoin.BitX.Private.Withdrawal
+import Network.Bitcoin.BitX.Private.Fees
 import Network.Bitcoin.BitX.Types.Internal
 import Network.Bitcoin.BitX.Response
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/bitx-bitcoin-0.11.0.0/test/Network/Bitcoin/BitX/Spec/Specs/AesonRecordSpec.hs
 
new/bitx-bitcoin-0.11.0.1/test/Network/Bitcoin/BitX/Spec/Specs/AesonRecordSpec.hs
--- 
old/bitx-bitcoin-0.11.0.0/test/Network/Bitcoin/BitX/Spec/Specs/AesonRecordSpec.hs
   2016-11-13 10:50:24.000000000 +0100
+++ 
new/bitx-bitcoin-0.11.0.1/test/Network/Bitcoin/BitX/Spec/Specs/AesonRecordSpec.hs
   2017-03-13 08:47:38.000000000 +0100
@@ -179,6 +179,13 @@
             \ \"is_buy\": false, \"order_id\": \"BXMC2CJ7HNB88U4\", \"pair\": 
\"XBTZAR\", \"price\": \"10491.00\", \
             \ \"timestamp\": 1467138492909, \"type\": \"BID\", \"volume\": 
\"0.147741\" }]}"
          [privateTradeInner]
+    it "FeeInfo is parsed properly" $
+      recordAesCheck
+        "{\"maker_fee\": \"0.00\", \"taker_fee\": \"0.10\", 
\"thirty_day_volume\": \"0.894342\"}"
+        FeeInfo
+            {feeInfoMakerFee = 0,
+             feeInfoTakerFee = 0.1,
+             feeInfoThirtyDayVolume = 0.894342}
 
 tickerInner :: Ticker
 tickerInner =
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/bitx-bitcoin-0.11.0.0/test/Network/Bitcoin/BitX/Spec/Specs/LensSpec.hs 
new/bitx-bitcoin-0.11.0.1/test/Network/Bitcoin/BitX/Spec/Specs/LensSpec.hs
--- old/bitx-bitcoin-0.11.0.0/test/Network/Bitcoin/BitX/Spec/Specs/LensSpec.hs  
2016-11-12 20:24:19.000000000 +0100
+++ new/bitx-bitcoin-0.11.0.1/test/Network/Bitcoin/BitX/Spec/Specs/LensSpec.hs  
2017-03-13 10:17:58.000000000 +0100
@@ -191,3 +191,10 @@
   let _ = x ^. BitX.volume
   Nothing
 
+_feeInfo :: Maybe Int
+_feeInfo = do
+  let x = BitX.FeeInfo 0 0 0
+  let _ = x ^. BitX.makerFee
+  let _ = x ^. BitX.takerFee
+  let _ = x ^. BitX.thirtyDayVolume
+  Nothing
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/bitx-bitcoin-0.11.0.0/test/Network/Bitcoin/BitX/Spec/Specs/PrivateSpec.hs 
new/bitx-bitcoin-0.11.0.1/test/Network/Bitcoin/BitX/Spec/Specs/PrivateSpec.hs
--- 
old/bitx-bitcoin-0.11.0.0/test/Network/Bitcoin/BitX/Spec/Specs/PrivateSpec.hs   
    2016-08-28 14:40:53.000000000 +0200
+++ 
new/bitx-bitcoin-0.11.0.1/test/Network/Bitcoin/BitX/Spec/Specs/PrivateSpec.hs   
    2017-03-13 08:49:49.000000000 +0100
@@ -41,6 +41,8 @@
               connectsAndParsesOkay $ BitX.getWithdrawalRequests auth
             it "getFundingAddress connects to BitX and works" $
               connectsAndParsesOkay $ BitX.getFundingAddress auth XBT Nothing
+            it "getFeeInfo connects to BitX and works" $
+              connectsAndParsesOkay $ BitX.getFeeInfo auth XBTZAR
         else
             it "API key file not found -- skipping private tests" $
               True `shouldBe` True


Reply via email to