{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE OverloadedStrings #-}
module Network.Polkadot.Rpc.Chain where
import Data.ByteArray.HexString (HexString)
import Network.JsonRpc.TinyClient (JsonRpc (..))
import Network.Polkadot.Rpc.Types (Header, SignedBlock)
getBlock :: JsonRpc m
=> Maybe HexString
-> m (Maybe SignedBlock)
{-# INLINE getBlock #-}
getBlock :: forall (m :: * -> *).
JsonRpc m =>
Maybe HexString -> m (Maybe SignedBlock)
getBlock = MethodName -> Maybe HexString -> m (Maybe SignedBlock)
forall a. Remote m a => MethodName -> a
forall (m :: * -> *) a. (JsonRpc m, Remote m a) => MethodName -> a
remote MethodName
"chain_getBlock"
getBlockHash :: JsonRpc m
=> Maybe Int
-> m (Maybe HexString)
{-# INLINE getBlockHash #-}
getBlockHash :: forall (m :: * -> *). JsonRpc m => Maybe Int -> m (Maybe HexString)
getBlockHash = MethodName -> Maybe Int -> m (Maybe HexString)
forall a. Remote m a => MethodName -> a
forall (m :: * -> *) a. (JsonRpc m, Remote m a) => MethodName -> a
remote MethodName
"chain_getBlockHash"
getFinalizedHead :: JsonRpc m => m HexString
{-# INLINE getFinalizedHead #-}
getFinalizedHead :: forall (m :: * -> *). JsonRpc m => m HexString
getFinalizedHead = MethodName -> m HexString
forall a. Remote m a => MethodName -> a
forall (m :: * -> *) a. (JsonRpc m, Remote m a) => MethodName -> a
remote MethodName
"chain_getFinalizedHead"
getHeader :: JsonRpc m
=> Maybe HexString
-> m (Maybe Header)
{-# INLINE getHeader #-}
= MethodName -> Maybe HexString -> m (Maybe Header)
forall a. Remote m a => MethodName -> a
forall (m :: * -> *) a. (JsonRpc m, Remote m a) => MethodName -> a
remote MethodName
"chain_getHeader"