haskoin-store 1.5.5 → 1.5.6
raw patch · 5 files changed
+33/−21 lines, 5 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
+ Haskoin.Store: [bloom] :: StoreConfig -> !Bool
+ Haskoin.Store.Manager: [bloom] :: StoreConfig -> !Bool
- Haskoin.Store: StoreConfig :: !Int -> ![String] -> !Bool -> !FilePath -> !Network -> !Maybe String -> !Ctx -> !Word32 -> !Word32 -> !Int -> !Integer -> !Bool -> !Bool -> !Bool -> !NominalDiffTime -> !NominalDiffTime -> !SockAddr -> WithConnection -> !Maybe Stats -> !Int -> StoreConfig
+ Haskoin.Store: StoreConfig :: !Int -> ![String] -> !Bool -> !FilePath -> !Network -> !Maybe String -> !Ctx -> !Word32 -> !Word32 -> !Int -> !Integer -> !Bool -> !Bool -> !Bool -> !NominalDiffTime -> !NominalDiffTime -> !SockAddr -> WithConnection -> !Maybe Stats -> !Int -> !Bool -> StoreConfig
- Haskoin.Store.Database.Reader: withDatabaseReader :: MonadUnliftIO m => Network -> Ctx -> Word32 -> Word32 -> FilePath -> Maybe DataMetrics -> DatabaseReaderT m a -> m a
+ Haskoin.Store.Database.Reader: withDatabaseReader :: MonadUnliftIO m => Network -> Ctx -> Word32 -> Word32 -> FilePath -> Bool -> Maybe DataMetrics -> DatabaseReaderT m a -> m a
- Haskoin.Store.Manager: StoreConfig :: !Int -> ![String] -> !Bool -> !FilePath -> !Network -> !Maybe String -> !Ctx -> !Word32 -> !Word32 -> !Int -> !Integer -> !Bool -> !Bool -> !Bool -> !NominalDiffTime -> !NominalDiffTime -> !SockAddr -> WithConnection -> !Maybe Stats -> !Int -> StoreConfig
+ Haskoin.Store.Manager: StoreConfig :: !Int -> ![String] -> !Bool -> !FilePath -> !Network -> !Maybe String -> !Ctx -> !Word32 -> !Word32 -> !Int -> !Integer -> !Bool -> !Bool -> !Bool -> !NominalDiffTime -> !NominalDiffTime -> !SockAddr -> WithConnection -> !Maybe Stats -> !Int -> !Bool -> StoreConfig
Files
- app/Main.hs +12/−4
- haskoin-store.cabal +2/−3
- src/Haskoin/Store/Database/Reader.hs +13/−12
- src/Haskoin/Store/Manager.hs +4/−1
- test/Haskoin/StoreSpec.hs +2/−1
app/Main.hs view
@@ -129,7 +129,8 @@ priceHistoryURL :: !String, noBlockchainInfo :: !Bool, noSlow :: !Bool,- healthCheckInterval :: !Int+ healthCheckInterval :: !Int,+ bloom :: !Bool } env :: (MonadIO m) => String -> a -> (String -> Maybe a) -> m a@@ -207,6 +208,8 @@ env "NO_SLOW" False parseBool healthCheckInterval <- env "HEALTH_CHECK_INTERVAL" 30 readMaybe+ bloom <-+ env "BLOOM" False parseBool return Config {version = False, ..} where tickerString =@@ -502,11 +505,11 @@ <> showDefault <> value c.priceHistoryURL noBlockchainInfo <-- flag c.noBlockchainInfo False $+ flag c.noBlockchainInfo True $ long "no-blockchain-info" <> help "Disable Blockchain.info-style API endpoints" noSlow <-- flag c.noSlow False $+ flag c.noSlow True $ long "no-slow" <> help "Disable potentially slow API endpoints" healthCheckInterval <-@@ -516,6 +519,10 @@ <> help "Background check update interval" <> showDefault <> value c.healthCheckInterval+ bloom <-+ flag c.bloom True $+ long "bloom"+ <> help "RocksDB Bloom filters" pure Config {..} networkReader :: String -> Either String Network@@ -573,7 +580,8 @@ maxPeerLife = fromIntegral cfg.maxPeerLife, connect = withConnection, stats = stats,- redisSyncInterval = cfg.redisSyncInterval+ redisSyncInterval = cfg.redisSyncInterval,+ bloom = cfg.bloom } lift $ runWeb
haskoin-store.cabal view
@@ -5,14 +5,13 @@ -- see: https://github.com/sol/hpack name: haskoin-store-version: 1.5.5+version: 1.5.6 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 homepage: http://github.com/haskoin/haskoin-store#readme bug-reports: http://github.com/haskoin/haskoin-store/issues-author: Jean-Pierre Rupp,- Levente Kurusa+author: Jean-Pierre Rupp maintainer: jprupp@protonmail.ch license: MIT license-file: LICENSE
src/Haskoin/Store/Database/Reader.hs view
@@ -130,11 +130,12 @@ Word32 -> Word32 -> FilePath ->+ Bool -> Maybe DataMetrics -> DatabaseReaderT m a -> m a-withDatabaseReader net ctx igap gap dir stats f =- withDBCF dir cfg columnFamilyConfig $ \db -> do+withDatabaseReader net ctx igap gap dir bloom stats f =+ withDBCF dir cfg (columnFamilyConfig bloom) $ \db -> do let bdb = DatabaseReader { db = db,@@ -149,16 +150,16 @@ where cfg = def {createIfMissing = True} -columnFamilyConfig :: [(String, Config)]-columnFamilyConfig =- [ ("addr-tx", def {prefixLength = Just 22, bloomFilter = True}),- ("addr-out", def {prefixLength = Just 22, bloomFilter = True}),- ("tx", def {prefixLength = Just 33, bloomFilter = True}),- ("spender", def {prefixLength = Just 33, bloomFilter = True}), -- unused- ("unspent", def {prefixLength = Just 37, bloomFilter = True}),- ("block", def {prefixLength = Just 33, bloomFilter = True}),- ("height", def {prefixLength = Nothing, bloomFilter = True}),- ("balance", def {prefixLength = Just 22, bloomFilter = True})+columnFamilyConfig :: Bool -> [(String, Config)]+columnFamilyConfig bloom =+ [ ("addr-tx", def {prefixLength = Just 22, bloomFilter = bloom}),+ ("addr-out", def {prefixLength = Just 22, bloomFilter = bloom}),+ ("tx", def {prefixLength = Just 33, bloomFilter = bloom}),+ ("spender", def {prefixLength = Just 33, bloomFilter = bloom}), -- unused+ ("unspent", def {prefixLength = Just 37, bloomFilter = bloom}),+ ("block", def {prefixLength = Just 33, bloomFilter = bloom}),+ ("height", def {prefixLength = Nothing, bloomFilter = bloom}),+ ("balance", def {prefixLength = Just 22, bloomFilter = bloom}) ] addrTxCF :: DB -> ColumnFamily
src/Haskoin/Store/Manager.hs view
@@ -154,7 +154,9 @@ -- | StatsD stats :: !(Maybe Stats), -- | sync mempool against cache every this many seconds- redisSyncInterval :: !Int+ redisSyncInterval :: !Int,+ -- | database Bloom filters+ bloom :: !Bool } withStore ::@@ -199,6 +201,7 @@ cfg.initGap cfg.gap cfg.db+ cfg.bloom stats f
test/Haskoin/StoreSpec.hs view
@@ -108,7 +108,8 @@ maxPeerLife = 48 * 3600, connect = dummyPeerConnect net ad, stats = Nothing,- redisSyncInterval = 30+ redisSyncInterval = 30,+ bloom = True } withStore cfg $ \store -> withSubscription store.pub $ \sub ->