packages feed

bnb-staking-csvs 0.2.0.0 → 0.2.1.0

raw patch · 3 files changed

+40/−4 lines, 3 filesdep ~textPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: text

API changes (from Hackage documentation)

+ Console.BnbStaking.Main: [argYear] :: Args -> Maybe Integer
- Console.BnbStaking.Main: Args :: String -> Maybe String -> Bool -> Args
+ Console.BnbStaking.Main: Args :: String -> Maybe String -> Bool -> Maybe Integer -> Args

Files

CHANGELOG.md view
@@ -3,6 +3,12 @@ ## master  +## v0.2.1.0++* Add `--year` flag for filtering output.+* Bump dependency versions(aeson).++ ## v0.2.0.0  * Add a `--cointracking` flag to format the data for use with CoinTracking's
bnb-staking-csvs.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           bnb-staking-csvs-version:        0.2.0.0+version:        0.2.1.0 synopsis:       Generate CSV Exports of Your BNB Staking Rewards. description:    @bnb-staking-csvs@ is a CLI program that queries the Binance.org API for                 all of a delegator's rewards and exports the resulting data to a CSV file.@@ -57,7 +57,7 @@       ViewPatterns   ghc-options: -Wall -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints -O2   build-depends:-      aeson <2+      aeson <3     , base >=4.7 && <5     , bytestring <1     , cassava <1
src/Console/BnbStaking/Main.hs view
@@ -8,7 +8,13 @@     , getArgs     , Args(..)     ) where+import           Control.Monad                  ( filterM ) import           Data.Maybe                     ( fromMaybe )+import           Data.Time                      ( localDay+                                                , toGregorian+                                                , utcToLocalZonedTime+                                                , zonedTimeToLocalTime+                                                ) import           Data.Version                   ( showVersion ) import           Network.HTTP.Req               ( defaultHttpConfig                                                 , runReq@@ -28,7 +34,9 @@                                                 , typ                                                 ) -import           Console.BnbStaking.Api         ( getAllRewards )+import           Console.BnbStaking.Api         ( Reward(rRewardTime)+                                                , getAllRewards+                                                ) import           Console.BnbStaking.CoinTracking                                                 ( makeCoinTrackingImport ) import           Console.BnbStaking.Csv         ( makeCsvContents )@@ -46,7 +54,21 @@     if argCoinTracking         then makeCoinTrackingImport outputFile argPubKey rewards         else do-            output <- makeCsvContents rewards+            filteredRewards <- maybe+                (return rewards)+                (\year -> filterM+                    (\reward -> do+                        rewardTime <- utcToLocalZonedTime $ rRewardTime reward+                        return+                            . (\(y, _, _) -> y == year)+                            . toGregorian+                            . localDay+                            $ zonedTimeToLocalTime rewardTime+                    )+                    rewards+                )+                argYear+            output <- makeCsvContents filteredRewards             if outputFile == "-"                 then LBC.putStr output                 else LBC.writeFile outputFile output@@ -62,6 +84,8 @@     , argCoinTracking :: Bool     -- ^ Flag to enable writing/printing files formatted for CoinTracking     -- Bulk Imports.+    , argYear         :: Maybe Integer+    -- ^ Year for limiting the output.     }     deriving (Show, Read, Eq, Data, Typeable) @@ -84,6 +108,12 @@                                 &= help "Generate a CoinTracking Import file."                                 &= explicit                                 &= name "cointracking"+            , argYear         = Nothing+                                &= help "Limit to given year"+                                &= explicit+                                &= name "y"+                                &= name "year"+                                &= typ "YYYY"             }         &= summary                (  "bnb-staking-csvs v"