lnd-client-0.1.0.0: src/LndClient/Data/ClosedChannels.hs
{-# LANGUAGE FlexibleContexts #-}
module LndClient.Data.ClosedChannels
( ClosedChannelsRequest (..),
defReq,
)
where
import Data.ProtoLens.Message
import LndClient.Import
import qualified Proto.LndGrpc as LnGRPC
import qualified Proto.LndGrpc_Fields as LnGRPC
data ClosedChannelsRequest
= ClosedChannelsRequest
{ cooperative :: Bool,
localForce :: Bool,
remoteForce :: Bool,
breach :: Bool,
fundingCanceled :: Bool,
abandoned :: Bool
}
deriving (Eq, Ord, Show)
instance ToGrpc ClosedChannelsRequest LnGRPC.ClosedChannelsRequest where
toGrpc x =
msg
<$> toGrpc (cooperative x)
<*> toGrpc (localForce x)
<*> toGrpc (remoteForce x)
<*> toGrpc (breach x)
<*> toGrpc (fundingCanceled x)
<*> toGrpc (abandoned x)
where
msg gCooperative gLocalForce gRemoteForce gBreach gFundingCanceled gAbandoned =
defMessage
& LnGRPC.cooperative .~ gCooperative
& LnGRPC.localForce .~ gLocalForce
& LnGRPC.remoteForce .~ gRemoteForce
& LnGRPC.breach .~ gBreach
& LnGRPC.fundingCanceled .~ gFundingCanceled
& LnGRPC.abandoned .~ gAbandoned
defReq :: ClosedChannelsRequest
defReq =
ClosedChannelsRequest
{ cooperative = True,
localForce = True,
remoteForce = True,
breach = True,
fundingCanceled = True,
abandoned = True
}