packages feed

haskoin-node 0.16.0 → 0.17.0

raw patch · 3 files changed

+19/−9 lines, 3 filesdep ~haskoin-core

Dependency ranges changed: haskoin-core

Files

CHANGELOG.md view
@@ -4,6 +4,11 @@ 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.17.0+### Added+- Support for Bitcoin Cash November 2020 hard fork.+- BlockHeaders instance for ReaderT Chain.+ ## 0.16.0 ### Changed - Add support for column families.
haskoin-node.cabal view
@@ -1,13 +1,13 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.33.0.+-- This file has been generated from package.yaml by hpack version 0.34.2. -- -- see: https://github.com/sol/hpack ----- hash: b80c691ed899f492d1f0f3165f9f4a78f85253ba1a6bd61a3b4705075572ccae+-- hash: bfbf80f5bef5255eb74c1b030e32037fa23ac5c7e70f0fd73930bd675232580a  name:           haskoin-node-version:        0.16.0+version:        0.17.0 synopsis:       P2P library for Bitcoin and Bitcoin Cash description:    Please see the README on GitHub at <https://github.com/haskoin/haskoin-node#readme> category:       Bitcoin, Finance, Network@@ -45,7 +45,7 @@     , containers     , data-default     , hashable-    , haskoin-core >=0.15.0+    , haskoin-core >=0.17.0     , monad-logger     , mtl     , network@@ -81,7 +81,7 @@     , containers     , data-default     , hashable-    , haskoin-core >=0.15.0+    , haskoin-core >=0.17.0     , haskoin-node     , hspec     , monad-logger
src/Haskoin/Node/Chain.hs view
@@ -29,7 +29,7 @@ import           Control.Monad.Except      (runExceptT, throwError) import           Control.Monad.Logger      (MonadLoggerIO, logDebugS, logErrorS,                                             logInfoS)-import           Control.Monad.Reader      (MonadReader, ReaderT, asks,+import           Control.Monad.Reader      (MonadReader, ReaderT (..), asks,                                             runReaderT) import           Control.Monad.Trans       (lift) import           Control.Monad.Trans.Maybe (MaybeT (..), runMaybeT)@@ -169,8 +169,7 @@         return BestBlockKey     put BestBlockKey = putWord8 0x91 -instance (Monad m, MonadIO m, MonadReader ChainConfig m) =>-         BlockHeaders m where+instance MonadIO m => BlockHeaders (ReaderT ChainConfig m) where     addBlockHeader bn = do         db <- asks chainConfDB         asks chainConfColumnFamily >>= \case@@ -202,12 +201,18 @@         f Nothing bn   = insertOp (BlockHeaderKey (h bn)) bn         f (Just cf) bn = insertOpCF cf (BlockHeaderKey (h bn)) bn +instance MonadIO m => BlockHeaders (ReaderT Chain m) where+    getBlockHeader bh = ReaderT $ chainGetBlock bh+    getBestBlockHeader = ReaderT chainGetBest+    addBlockHeader _ = undefined+    setBestBlockHeader _ = undefined+    addBlockHeaders _ = undefined+ withBlockHeaders :: MonadChain m => ReaderT ChainConfig m a -> m a withBlockHeaders f = do     cfg <- asks myConfig     runReaderT f cfg --- | Launch process to synchronize block headers in current thread. withChain ::        (MonadUnliftIO m, MonadLoggerIO m)     => ChainConfig