packages feed

haskoin-store 0.53.8 → 0.53.9

raw patch · 6 files changed

+34/−6 lines, 6 filesdep ~haskoin-store-dataPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: haskoin-store-data

API changes (from Hackage documentation)

+ Haskoin.Store: [storeConfSyncMempool] :: StoreConfig -> !Bool
+ Haskoin.Store.BlockStore: [blockConfSyncMempool] :: BlockStoreConfig -> !Bool
+ Haskoin.Store.Manager: [storeConfSyncMempool] :: StoreConfig -> !Bool
- Haskoin.Store: StoreConfig :: !Int -> ![HostPort] -> !Bool -> !FilePath -> !Network -> !Maybe String -> !Word32 -> !Word32 -> !Int -> !Integer -> !Bool -> !Bool -> !NominalDiffTime -> !NominalDiffTime -> !SockAddr -> WithConnection -> !Int -> !Int -> !Maybe Store -> StoreConfig
+ Haskoin.Store: StoreConfig :: !Int -> ![HostPort] -> !Bool -> !FilePath -> !Network -> !Maybe String -> !Word32 -> !Word32 -> !Int -> !Integer -> !Bool -> !Bool -> !Bool -> !NominalDiffTime -> !NominalDiffTime -> !SockAddr -> WithConnection -> !Int -> !Int -> !Maybe Store -> StoreConfig
- Haskoin.Store.BlockStore: BlockStoreConfig :: !PeerManager -> !Chain -> !Publisher StoreEvent -> !DatabaseReader -> !Network -> !Bool -> !Bool -> !NominalDiffTime -> !Maybe Store -> BlockStoreConfig
+ Haskoin.Store.BlockStore: BlockStoreConfig :: !PeerManager -> !Chain -> !Publisher StoreEvent -> !DatabaseReader -> !Network -> !Bool -> !Bool -> !Bool -> !NominalDiffTime -> !Maybe Store -> BlockStoreConfig
- Haskoin.Store.Manager: StoreConfig :: !Int -> ![HostPort] -> !Bool -> !FilePath -> !Network -> !Maybe String -> !Word32 -> !Word32 -> !Int -> !Integer -> !Bool -> !Bool -> !NominalDiffTime -> !NominalDiffTime -> !SockAddr -> WithConnection -> !Int -> !Int -> !Maybe Store -> StoreConfig
+ Haskoin.Store.Manager: StoreConfig :: !Int -> ![HostPort] -> !Bool -> !FilePath -> !Network -> !Maybe String -> !Word32 -> !Word32 -> !Int -> !Integer -> !Bool -> !Bool -> !Bool -> !NominalDiffTime -> !NominalDiffTime -> !SockAddr -> WithConnection -> !Int -> !Int -> !Maybe Store -> StoreConfig

Files

CHANGELOG.md view
@@ -4,6 +4,10 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html) +## 0.35.9+### Removed+- Mempool is no longer synced by default to fix public Bitcoin Core regression.+ ## 0.35.8 ### Changed - Put derivations stat inside database.
app/Main.hs view
@@ -69,6 +69,7 @@     , configRedisMax        :: !Integer     , configWipeMempool     :: !Bool     , configNoMempool       :: !Bool+    , configSyncMempool     :: !Bool     , configPeerTimeout     :: !Int     , configPeerMaxLife     :: !Int     , configMaxPeers        :: !Int@@ -101,6 +102,7 @@                  , configRedisMax        = defRedisMax                  , configWipeMempool     = defWipeMempool                  , configNoMempool       = defNoMempool+                 , configSyncMempool     = defSyncMempool                  , configPeerTimeout     = defPeerTimeout                  , configPeerMaxLife     = defPeerMaxLife                  , configMaxPeers        = defMaxPeers@@ -175,6 +177,11 @@     defEnv "CACHE" False parseBool {-# NOINLINE defRedis #-} +defSyncMempool :: Bool+defSyncMempool = unsafePerformIO $+    defEnv "SYNC_MEMPOOL" False parseBool+{-# NOINLINE defSyncMempool #-}+ defDiscover :: Bool defDiscover = unsafePerformIO $     defEnv "DISCOVER" False parseBool@@ -499,6 +506,10 @@         flag (configWipeMempool def) True $         long "wipe-mempool"         <> help "Wipe mempool at start"+    configSyncMempool <-+        flag (configSyncMempool def) True $+        long "sync-mempool"+        <> help "Sync mempool from peers"     configMaxDiff <-         option auto $         metavar "INT"@@ -608,6 +619,7 @@            , configMaxPeers = maxpeers            , configMaxDiff = maxdiff            , configNoMempool = nomem+           , configSyncMempool = syncmem            , configCacheRefresh = crefresh            , configCacheRetryDelay = cretrydelay            , configStatsd = statsd@@ -638,6 +650,7 @@                     , storeConfMaxKeys = redismax                     , storeConfWipeMempool = wipemempool                     , storeConfNoMempool = nomem+                    , storeConfSyncMempool = syncmem                     , storeConfPeerTimeout = fromIntegral peertimeout                     , storeConfPeerMaxLife = fromIntegral peerlife                     , storeConfConnect = withConnection
haskoin-store.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 585582b76ffd5ba96243c759d59ac87300d0868ed1b082361e75f3955834a402+-- hash: ee92cb78c54effa254b70e987aa0b0e76e0f620dcab5aa11447a50e6838bbd15  name:           haskoin-store-version:        0.53.8+version:        0.53.9 synopsis:       Storage and index for Bitcoin and Bitcoin Cash description:    Please see the README on GitHub at <https://github.com/haskoin/haskoin-store#readme> category:       Bitcoin, Finance, Network@@ -62,7 +62,7 @@     , hashable >=1.3.0.0     , haskoin-core >=0.20.4     , haskoin-node >=0.17.0-    , haskoin-store-data ==0.53.8+    , haskoin-store-data ==0.53.9     , hedis >=0.12.13     , http-types >=0.12.3     , lens >=4.18.1@@ -116,7 +116,7 @@     , haskoin-core >=0.20.4     , haskoin-node >=0.17.0     , haskoin-store-    , haskoin-store-data ==0.53.8+    , haskoin-store-data ==0.53.9     , hedis >=0.12.13     , http-types >=0.12.3     , lens >=4.18.1@@ -175,7 +175,7 @@     , haskoin-core >=0.20.4     , haskoin-node >=0.17.0     , haskoin-store-    , haskoin-store-data ==0.53.8+    , haskoin-store-data ==0.53.9     , hedis >=0.12.13     , hspec >=2.7.1     , http-types >=0.12.3
src/Haskoin/Store/BlockStore.hs view
@@ -223,6 +223,8 @@         -- ^ do not index new mempool transactions         , blockConfWipeMempool :: !Bool         -- ^ wipe mempool at start+        , blockConfSyncMempool :: !Bool+        -- ^ sync mempool from peers         , blockConfPeerTimeout :: !NominalDiffTime         -- ^ disconnect syncing peer if inactive for this long         , blockConfStats       :: !(Maybe Metrics.Store)@@ -351,8 +353,13 @@     n <- asks (blockConfNoMempool . myConfig)     unless n f +syncMempool :: Monad m => BlockT m () -> BlockT m ()+syncMempool f = do+    n <- asks (blockConfSyncMempool . myConfig)+    unless n f+ mempool :: (MonadUnliftIO m, MonadLoggerIO m) => Peer -> BlockT m ()-mempool p = guardMempool $ void $ async $ do+mempool p = guardMempool $ syncMempool $ void $ async $ do     isInSync >>= \s -> when s $ do         $(logDebugS) "BlockStore" $             "Requesting mempool from peer: " <> peerText p
src/Haskoin/Store/Manager.hs view
@@ -91,6 +91,8 @@       -- ^ do not index new mempool transactions         , storeConfWipeMempool     :: !Bool       -- ^ wipe mempool when starting+        , storeConfSyncMempool         :: !Bool+      -- ^ sync mempool from peers         , storeConfPeerTimeout     :: !NominalDiffTime       -- ^ disconnect peer if message not received for this many seconds         , storeConfPeerMaxLife     :: !NominalDiffTime@@ -150,6 +152,7 @@         , blockConfNet = storeConfNetwork cfg         , blockConfNoMempool = storeConfNoMempool cfg         , blockConfWipeMempool = storeConfWipeMempool cfg+        , blockConfSyncMempool = storeConfSyncMempool cfg         , blockConfPeerTimeout = storeConfPeerTimeout cfg         , blockConfStats = storeConfStats cfg         }
test/Haskoin/StoreSpec.hs view
@@ -93,6 +93,7 @@               , storeConfMaxKeys = 100 * 1000 * 1000               , storeConfNoMempool = False               , storeConfWipeMempool = False+              , storeConfSyncMempool = False               , storeConfPeerTimeout = 60               , storeConfPeerMaxLife = 48 * 3600               , storeConfConnect = dummyPeerConnect net ad