packages feed

haskoin-store 1.6.2 → 1.6.3

raw patch · 2 files changed

+67/−53 lines, 2 filesdep ~haskoin-store-dataPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: haskoin-store-data

API changes (from Hackage documentation)

Files

app/Main.hs view
@@ -13,7 +13,7 @@  module Main (main) where -import Control.Monad (when)+import Control.Monad (forever, void, when) import Control.Monad.Cont (ContT (ContT), runContT) import Control.Monad.Logger   ( LogLevel (..),@@ -36,12 +36,14 @@   ) import Haskoin.Node (withConnection) import Haskoin.Store-  ( StoreConfig (..),+  ( Store (..),+    StoreConfig (..),     WebConfig (..),     WebLimits (..),     runWeb,     withStore,   )+import NQE (receive, withSubscription) import Options.Applicative   ( Parser,     auto,@@ -129,7 +131,8 @@     noBlockchainInfo :: !Bool,     noXPub :: !Bool,     healthCheckInterval :: !Int,-    bloom :: !Bool+    bloom :: !Bool,+    noWeb :: !Bool   }  env :: (MonadIO m) => String -> a -> (String -> Maybe a) -> m a@@ -211,6 +214,8 @@     env "HEALTH_CHECK_INTERVAL" 30 readMaybe   bloom <-     env "BLOOM" False parseBool+  noWeb <-+    env "NO_WEB" False parseBool   return Config {version = False, ..}   where     tickerString =@@ -329,6 +334,10 @@         <> help "Minimum number of connected peers for health check"         <> showDefault         <> value c.minPeers+  noWeb <-+    flag c.noWeb True $+      long "noweb"+        <> help "Disable web server"   webLimits <- do     maxItemCount <-       option auto $@@ -566,53 +575,58 @@       $(logInfoS) "haskoin-store" $         "Creating working directory (if not found): " <> cs dir       createDirectoryIfMissing True dir-      store <--        ContT $-          withStore-            StoreConfig-              { maxPeers = cfg.maxPeers,-                initPeers = cfg.peers,-                discover = cfg.discover,-                db = dir </> "db",-                net = net,-                ctx = ctx,-                redis = if cfg.redis then Just cfg.redisURL else Nothing,-                gap = cfg.webLimits.xpubGap,-                initGap = cfg.webLimits.xpubGapInit,-                redisMinAddrs = cfg.redisMinAddrs,-                redisMaxKeys = cfg.redisMaxKeys,-                wipeMempool = cfg.wipeMempool,-                noMempool = cfg.noMempool,-                syncMempool = cfg.syncMempool,-                mempoolTimeout = cfg.mempoolTimeout,-                peerTimeout = fromIntegral cfg.peerTimeout,-                maxPeerLife = fromIntegral cfg.maxPeerLife,-                connect = withConnection,-                stats = stats,-                redisSyncInterval = cfg.redisSyncInterval,-                bloom = cfg.bloom-              }-      lift $-        runWeb-          WebConfig-            { host = cfg.host,-              port = cfg.port,-              store = store,-              limits = cfg.webLimits,-              maxPendingTxs = cfg.maxPendingTxs,-              maxLaggingBlocks = cfg.maxLaggingBlocks,-              minPeers = cfg.minPeers,-              version = haskoinStoreVersion,-              noMempool = cfg.noMempool,-              stats = stats,-              tickerRefresh = cfg.tickerRefresh,-              tickerURL = cfg.tickerURL,-              priceHistoryURL = cfg.priceHistoryURL,-              noXPub = cfg.noXPub,-              noBlockchainInfo = cfg.noBlockchainInfo,-              healthCheckInterval = cfg.healthCheckInterval-            }+      store <- ContT $ run_store net ctx stats dir+      if cfg.noWeb+        then lift . withSubscription store.pub $ \sub ->+          forever $ void (receive sub)+        else do+          lift $ run_web stats store   where+    run_store net ctx stats dir =+      withStore+        StoreConfig+          { maxPeers = cfg.maxPeers,+            initPeers = cfg.peers,+            discover = cfg.discover,+            db = dir </> "db",+            net = net,+            ctx = ctx,+            redis = if cfg.redis then Just cfg.redisURL else Nothing,+            gap = cfg.webLimits.xpubGap,+            initGap = cfg.webLimits.xpubGapInit,+            redisMinAddrs = cfg.redisMinAddrs,+            redisMaxKeys = cfg.redisMaxKeys,+            wipeMempool = cfg.wipeMempool,+            noMempool = cfg.noMempool,+            syncMempool = cfg.syncMempool,+            mempoolTimeout = cfg.mempoolTimeout,+            peerTimeout = fromIntegral cfg.peerTimeout,+            maxPeerLife = fromIntegral cfg.maxPeerLife,+            connect = withConnection,+            stats = stats,+            redisSyncInterval = cfg.redisSyncInterval,+            bloom = cfg.bloom+          }+    run_web stats store =+      runWeb+        WebConfig+          { host = cfg.host,+            port = cfg.port,+            store = store,+            limits = cfg.webLimits,+            maxPendingTxs = cfg.maxPendingTxs,+            maxLaggingBlocks = cfg.maxLaggingBlocks,+            minPeers = cfg.minPeers,+            version = haskoinStoreVersion,+            noMempool = cfg.noMempool,+            stats = stats,+            tickerRefresh = cfg.tickerRefresh,+            tickerURL = cfg.tickerURL,+            priceHistoryURL = cfg.priceHistoryURL,+            noXPub = cfg.noXPub,+            noBlockchainInfo = cfg.noBlockchainInfo,+            healthCheckInterval = cfg.healthCheckInterval+          }     with_stats net go       | cfg.statsd = do           $(logInfoS) "Main" $
haskoin-store.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           haskoin-store-version:        1.6.2+version:        1.6.3 synopsis:       Storage and index for Bitcoin and Bitcoin Cash description:    Please see the README on GitHub at <https://github.com/jprupp/haskoin-store#readme> category:       Bitcoin, Finance, Network@@ -54,7 +54,7 @@     , hashtables >=1.2.4.2     , haskoin-core >=1.3.0     , haskoin-node >=1.4.3-    , haskoin-store-data ==1.6.0+    , haskoin-store-data ==1.6.3     , hedis >=0.16.1     , http-types >=0.12.3     , lens >=4.18.1@@ -108,7 +108,7 @@     , haskoin-core >=1.3.0     , haskoin-node >=1.4.3     , haskoin-store-    , haskoin-store-data ==1.6.0+    , haskoin-store-data ==1.6.3     , hedis >=0.16.1     , http-types >=0.12.3     , lens >=4.18.1@@ -167,7 +167,7 @@     , haskoin-core >=1.3.0     , haskoin-node >=1.4.3     , haskoin-store-    , haskoin-store-data ==1.6.0+    , haskoin-store-data ==1.6.3     , hedis >=0.16.1     , hspec >=2.7.1     , http-types >=0.12.3