{-# LANGUAGE DataKinds #-} {-# LANGUAGE NamedFieldPuns #-} {-# LANGUAGE RankNTypes #-} module Utxorpc.Query (QueryHandlers (..), serviceHandlers) where import Control.Monad.IO.Class (MonadIO) import Network.GRPC.HTTP2.ProtoLens (RPC (RPC)) import Network.GRPC.Server (ServerStreamHandler, ServiceHandler, UnaryHandler) import Proto.Utxorpc.V1alpha.Query.Query import Utxorpc.Logged (UtxorpcServiceLogger, loggedSStream, loggedUnary) data QueryHandlers m = QueryHandlers { forall (m :: * -> *). QueryHandlers m -> UnaryHandler m ReadParamsRequest ReadParamsResponse readParams :: UnaryHandler m ReadParamsRequest ReadParamsResponse, forall (m :: * -> *). QueryHandlers m -> UnaryHandler m ReadUtxosRequest ReadUtxosResponse readUtxos :: UnaryHandler m ReadUtxosRequest ReadUtxosResponse, forall (m :: * -> *). QueryHandlers m -> UnaryHandler m SearchUtxosRequest SearchUtxosResponse searchUtxos :: UnaryHandler m SearchUtxosRequest SearchUtxosResponse, forall (m :: * -> *). QueryHandlers m -> UnaryHandler m ReadGenesisRequest ReadGenesisResponse readGenesis :: UnaryHandler m ReadGenesisRequest ReadGenesisResponse, forall (m :: * -> *). QueryHandlers m -> UnaryHandler m ReadEraSummaryRequest ReadEraSummaryResponse readEraSummary :: UnaryHandler m ReadEraSummaryRequest ReadEraSummaryResponse } serviceHandlers :: (MonadIO m) => Maybe (UtxorpcServiceLogger m) -> (forall x. m x -> IO x) -> QueryHandlers m -> [ServiceHandler] serviceHandlers :: forall (m :: * -> *). MonadIO m => Maybe (UtxorpcServiceLogger m) -> (forall x. m x -> IO x) -> QueryHandlers m -> [ServiceHandler] serviceHandlers Maybe (UtxorpcServiceLogger m) logger forall x. m x -> IO x f QueryHandlers {UnaryHandler m ReadParamsRequest ReadParamsResponse readParams :: forall (m :: * -> *). QueryHandlers m -> UnaryHandler m ReadParamsRequest ReadParamsResponse readParams :: UnaryHandler m ReadParamsRequest ReadParamsResponse readParams, UnaryHandler m ReadUtxosRequest ReadUtxosResponse readUtxos :: forall (m :: * -> *). QueryHandlers m -> UnaryHandler m ReadUtxosRequest ReadUtxosResponse readUtxos :: UnaryHandler m ReadUtxosRequest ReadUtxosResponse readUtxos, UnaryHandler m SearchUtxosRequest SearchUtxosResponse searchUtxos :: forall (m :: * -> *). QueryHandlers m -> UnaryHandler m SearchUtxosRequest SearchUtxosResponse searchUtxos :: UnaryHandler m SearchUtxosRequest SearchUtxosResponse searchUtxos, UnaryHandler m ReadGenesisRequest ReadGenesisResponse readGenesis :: forall (m :: * -> *). QueryHandlers m -> UnaryHandler m ReadGenesisRequest ReadGenesisResponse readGenesis :: UnaryHandler m ReadGenesisRequest ReadGenesisResponse readGenesis, UnaryHandler m ReadEraSummaryRequest ReadEraSummaryResponse readEraSummary :: forall (m :: * -> *). QueryHandlers m -> UnaryHandler m ReadEraSummaryRequest ReadEraSummaryResponse readEraSummary :: UnaryHandler m ReadEraSummaryRequest ReadEraSummaryResponse readEraSummary} = [ServiceHandler readParamsSH, ServiceHandler readUtxosSH, ServiceHandler searchUtxosSH, ServiceHandler readGenesisSH, ServiceHandler readEraSummarySH] where readParamsSH :: ServiceHandler readParamsSH = (forall x. m x -> IO x) -> RPC QueryService "readParams" -> UnaryHandler m ReadParamsRequest ReadParamsResponse -> Maybe (UtxorpcServiceLogger m) -> ServiceHandler forall (m :: * -> *) r i o. (MonadIO m, GRPCInput r i, GRPCOutput r o, Show i, Show o) => (forall x. m x -> IO x) -> r -> UnaryHandler m i o -> Maybe (UtxorpcServiceLogger m) -> ServiceHandler loggedUnary m x -> IO x forall x. m x -> IO x f (RPC QueryService "readParams" forall s (m :: Symbol). RPC s m RPC :: RPC QueryService "readParams") UnaryHandler m ReadParamsRequest ReadParamsResponse readParams Maybe (UtxorpcServiceLogger m) logger readUtxosSH :: ServiceHandler readUtxosSH = (forall x. m x -> IO x) -> RPC QueryService "readUtxos" -> UnaryHandler m ReadUtxosRequest ReadUtxosResponse -> Maybe (UtxorpcServiceLogger m) -> ServiceHandler forall (m :: * -> *) r i o. (MonadIO m, GRPCInput r i, GRPCOutput r o, Show i, Show o) => (forall x. m x -> IO x) -> r -> UnaryHandler m i o -> Maybe (UtxorpcServiceLogger m) -> ServiceHandler loggedUnary m x -> IO x forall x. m x -> IO x f (RPC QueryService "readUtxos" forall s (m :: Symbol). RPC s m RPC :: RPC QueryService "readUtxos") UnaryHandler m ReadUtxosRequest ReadUtxosResponse readUtxos Maybe (UtxorpcServiceLogger m) logger searchUtxosSH :: ServiceHandler searchUtxosSH = (forall x. m x -> IO x) -> RPC QueryService "searchUtxos" -> UnaryHandler m SearchUtxosRequest SearchUtxosResponse -> Maybe (UtxorpcServiceLogger m) -> ServiceHandler forall (m :: * -> *) r i o. (MonadIO m, GRPCInput r i, GRPCOutput r o, Show i, Show o) => (forall x. m x -> IO x) -> r -> UnaryHandler m i o -> Maybe (UtxorpcServiceLogger m) -> ServiceHandler loggedUnary m x -> IO x forall x. m x -> IO x f (RPC QueryService "searchUtxos" forall s (m :: Symbol). RPC s m RPC :: RPC QueryService "searchUtxos") UnaryHandler m SearchUtxosRequest SearchUtxosResponse searchUtxos Maybe (UtxorpcServiceLogger m) logger readGenesisSH :: ServiceHandler readGenesisSH = (forall x. m x -> IO x) -> RPC QueryService "readGenesis" -> UnaryHandler m ReadGenesisRequest ReadGenesisResponse -> Maybe (UtxorpcServiceLogger m) -> ServiceHandler forall (m :: * -> *) r i o. (MonadIO m, GRPCInput r i, GRPCOutput r o, Show i, Show o) => (forall x. m x -> IO x) -> r -> UnaryHandler m i o -> Maybe (UtxorpcServiceLogger m) -> ServiceHandler loggedUnary m x -> IO x forall x. m x -> IO x f (RPC QueryService "readGenesis" forall s (m :: Symbol). RPC s m RPC :: RPC QueryService "readGenesis") UnaryHandler m ReadGenesisRequest ReadGenesisResponse readGenesis Maybe (UtxorpcServiceLogger m) logger readEraSummarySH :: ServiceHandler readEraSummarySH = (forall x. m x -> IO x) -> RPC QueryService "readEraSummary" -> UnaryHandler m ReadEraSummaryRequest ReadEraSummaryResponse -> Maybe (UtxorpcServiceLogger m) -> ServiceHandler forall (m :: * -> *) r i o. (MonadIO m, GRPCInput r i, GRPCOutput r o, Show i, Show o) => (forall x. m x -> IO x) -> r -> UnaryHandler m i o -> Maybe (UtxorpcServiceLogger m) -> ServiceHandler loggedUnary m x -> IO x forall x. m x -> IO x f (RPC QueryService "readEraSummary" forall s (m :: Symbol). RPC s m RPC :: RPC QueryService "readEraSummary") UnaryHandler m ReadEraSummaryRequest ReadEraSummaryResponse readEraSummary Maybe (UtxorpcServiceLogger m) logger