bitcoind-rpc-0.1.0.0: src/Bitcoin/Core/RPC/Control.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeOperators #-}
module Bitcoin.Core.RPC.Control
( stop
, uptime
) where
import Data.Proxy (Proxy (..))
import Data.Word (Word32)
import Servant.API ((:<|>) (..))
import Servant.Bitcoind (BitcoindClient, BitcoindEndpoint, C, CX,
toBitcoindClient)
type ControlRpc
= BitcoindEndpoint "stop" CX
:<|> BitcoindEndpoint "uptime" (C Word32)
-- | Request a graceful shutdown of Bitcoin Core.
stop :: BitcoindClient ()
-- | Returns the total uptime of the server (in seconds)
uptime :: BitcoindClient Word32
stop :<|> uptime = toBitcoindClient $ Proxy @ControlRpc