bitcoin-payment-channel-1.2.0.0: src/PaymentChannel/Internal/Types/MonadConf.hs
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
module PaymentChannel.Internal.Types.MonadConf where
import Bitcoin.Types
import Control.Monad.Trans.Reader (Reader, runReader)
import Control.Monad.Reader
import PaymentChannel.Internal.Config
newtype MonadConf a = MonadConf (Reader ServerSettings a)
deriving (Functor, Applicative, Monad, MonadReader ServerSettings)
runConfM :: ServerSettings -> MonadConf a -> a
runConfM cfg (MonadConf r) = runReader r cfg
instance HasConfDustLimit MonadConf where
confDustLimit = asks serverConfDustLimit
instance HasConfSettlePeriod MonadConf where
confSettlePeriod = asks serverConfSettlePeriod