hs-abci-sdk-0.1.0.0

Safe HaskellNone
LanguageHaskell2010

Tendermint.SDK.Application.Module

Documentation

data Module (name :: Symbol) (h :: *) (q :: *) (s :: EffectRow) (r :: EffectRow) Source #

Constructors

Module 

Fields

Instances
(Members BaseAppEffs (Effs (m' ': ms) core), Eval (m' ': ms) core) => Eval (Module name h q s r ': (m' ': ms)) core Source # 
Instance details

Defined in Tendermint.SDK.Application.Module

Associated Types

type Effs (Module name h q s r ': (m' ': ms)) core :: EffectRow Source #

Methods

eval :: Modules (Module name h q s r ': (m' ': ms)) r0 -> forall a. Sem (Effs (Module name h q s r ': (m' ': ms)) core) a -> Sem (BaseApp core) a Source #

Eval (Module name h q s r ': ([] :: [Type])) core Source # 
Instance details

Defined in Tendermint.SDK.Application.Module

Associated Types

type Effs (Module name h q s r ': []) core :: EffectRow Source #

Methods

eval :: Modules (Module name h q s r ': []) r0 -> forall a. Sem (Effs (Module name h q s r ': []) core) a -> Sem (BaseApp core) a Source #

AppQueryRouter (m' ': ms) r => AppQueryRouter (Module name h q s r ': (m' ': ms)) r Source # 
Instance details

Defined in Tendermint.SDK.Application.Module

Associated Types

type QApi (Module name h q s r ': (m' ': ms)) :: Type Source #

Methods

routeAppQuery :: Modules (Module name h q s r ': (m' ': ms)) r -> RouteQ (QApi (Module name h q s r ': (m' ': ms))) r Source #

AppQueryRouter (Module name h q s r ': ([] :: [Type])) r Source # 
Instance details

Defined in Tendermint.SDK.Application.Module

Associated Types

type QApi (Module name h q s r ': []) :: Type Source #

Methods

routeAppQuery :: Modules (Module name h q s r ': []) r -> RouteQ (QApi (Module name h q s r ': [])) r Source #

AppTxRouter (m' ': ms) r DeliverTx => AppTxRouter (Module name h q s r ': (m' ': ms)) r DeliverTx Source # 
Instance details

Defined in Tendermint.SDK.Application.Module

Associated Types

type TApi (Module name h q s r ': (m' ': ms)) :: Type Source #

Methods

routeAppTx :: Proxy DeliverTx -> Modules (Module name h q s r ': (m' ': ms)) r -> RouteTx (TApi (Module name h q s r ': (m' ': ms))) r DeliverTx Source #

AppTxRouter (Module name h q s r ': ([] :: [Type])) r DeliverTx Source # 
Instance details

Defined in Tendermint.SDK.Application.Module

Associated Types

type TApi (Module name h q s r ': []) :: Type Source #

Methods

routeAppTx :: Proxy DeliverTx -> Modules (Module name h q s r ': []) r -> RouteTx (TApi (Module name h q s r ': [])) r DeliverTx Source #

AppTxRouter (m' ': ms) r CheckTx => AppTxRouter (Module name h q s r ': (m' ': ms)) r CheckTx Source # 
Instance details

Defined in Tendermint.SDK.Application.Module

Associated Types

type TApi (Module name h q s r ': (m' ': ms)) :: Type Source #

Methods

routeAppTx :: Proxy CheckTx -> Modules (Module name h q s r ': (m' ': ms)) r -> RouteTx (TApi (Module name h q s r ': (m' ': ms))) r CheckTx Source #

AppTxRouter (Module name h q s r ': ([] :: [Type])) r CheckTx Source # 
Instance details

Defined in Tendermint.SDK.Application.Module

Associated Types

type TApi (Module name h q s r ': []) :: Type Source #

Methods

routeAppTx :: Proxy CheckTx -> Modules (Module name h q s r ': []) r -> RouteTx (TApi (Module name h q s r ': [])) r CheckTx Source #

type TApi (Module name h q s r ': (m' ': ms)) Source # 
Instance details

Defined in Tendermint.SDK.Application.Module

type TApi (Module name h q s r ': (m' ': ms)) = (name :> h) :<|> TApi (m' ': ms)
type TApi (Module name h q s r ': ([] :: [Type])) Source # 
Instance details

Defined in Tendermint.SDK.Application.Module

type TApi (Module name h q s r ': ([] :: [Type])) = name :> h
type TApi (Module name h q s r ': (m' ': ms)) Source # 
Instance details

Defined in Tendermint.SDK.Application.Module

type TApi (Module name h q s r ': (m' ': ms)) = (name :> h) :<|> TApi (m' ': ms)
type TApi (Module name h q s r ': ([] :: [Type])) Source # 
Instance details

Defined in Tendermint.SDK.Application.Module

type TApi (Module name h q s r ': ([] :: [Type])) = name :> h
type QApi (Module name h q s r ': (m' ': ms)) Source # 
Instance details

Defined in Tendermint.SDK.Application.Module

type QApi (Module name h q s r ': (m' ': ms)) = (name :> q) :<|> QApi (m' ': ms)
type QApi (Module name h q s r ': ([] :: [Type])) Source # 
Instance details

Defined in Tendermint.SDK.Application.Module

type QApi (Module name h q s r ': ([] :: [Type])) = name :> q
type Effs (Module name h q s r ': (m' ': ms)) core Source # 
Instance details

Defined in Tendermint.SDK.Application.Module

type Effs (Module name h q s r ': (m' ': ms)) core = s :& Effs (m' ': ms) core
type Effs (Module name h q s r ': ([] :: [Type])) core Source # 
Instance details

Defined in Tendermint.SDK.Application.Module

type Effs (Module name h q s r ': ([] :: [Type])) core = s :& BaseApp core

data Modules (ms :: [*]) r where Source #

Constructors

NilModules :: Modules '[] r 
(:+) :: Module name h q s r -> Modules ms r -> Modules (Module name h q s r ': ms) r infixr 5 

class AppQueryRouter ms r where Source #

Associated Types

type QApi ms :: * Source #

Methods

routeAppQuery :: Modules ms r -> RouteQ (QApi ms) r Source #

Instances
AppQueryRouter (m' ': ms) r => AppQueryRouter (Module name h q s r ': (m' ': ms)) r Source # 
Instance details

Defined in Tendermint.SDK.Application.Module

Associated Types

type QApi (Module name h q s r ': (m' ': ms)) :: Type Source #

Methods

routeAppQuery :: Modules (Module name h q s r ': (m' ': ms)) r -> RouteQ (QApi (Module name h q s r ': (m' ': ms))) r Source #

AppQueryRouter (Module name h q s r ': ([] :: [Type])) r Source # 
Instance details

Defined in Tendermint.SDK.Application.Module

Associated Types

type QApi (Module name h q s r ': []) :: Type Source #

Methods

routeAppQuery :: Modules (Module name h q s r ': []) r -> RouteQ (QApi (Module name h q s r ': [])) r Source #

class AppTxRouter ms r (c :: RouteContext) where Source #

Associated Types

type TApi ms :: * Source #

Methods

routeAppTx :: Proxy c -> Modules ms r -> RouteTx (TApi ms) r c Source #

Instances
AppTxRouter (m' ': ms) r DeliverTx => AppTxRouter (Module name h q s r ': (m' ': ms)) r DeliverTx Source # 
Instance details

Defined in Tendermint.SDK.Application.Module

Associated Types

type TApi (Module name h q s r ': (m' ': ms)) :: Type Source #

Methods

routeAppTx :: Proxy DeliverTx -> Modules (Module name h q s r ': (m' ': ms)) r -> RouteTx (TApi (Module name h q s r ': (m' ': ms))) r DeliverTx Source #

AppTxRouter (Module name h q s r ': ([] :: [Type])) r DeliverTx Source # 
Instance details

Defined in Tendermint.SDK.Application.Module

Associated Types

type TApi (Module name h q s r ': []) :: Type Source #

Methods

routeAppTx :: Proxy DeliverTx -> Modules (Module name h q s r ': []) r -> RouteTx (TApi (Module name h q s r ': [])) r DeliverTx Source #

AppTxRouter (m' ': ms) r CheckTx => AppTxRouter (Module name h q s r ': (m' ': ms)) r CheckTx Source # 
Instance details

Defined in Tendermint.SDK.Application.Module

Associated Types

type TApi (Module name h q s r ': (m' ': ms)) :: Type Source #

Methods

routeAppTx :: Proxy CheckTx -> Modules (Module name h q s r ': (m' ': ms)) r -> RouteTx (TApi (Module name h q s r ': (m' ': ms))) r CheckTx Source #

AppTxRouter (Module name h q s r ': ([] :: [Type])) r CheckTx Source # 
Instance details

Defined in Tendermint.SDK.Application.Module

Associated Types

type TApi (Module name h q s r ': []) :: Type Source #

Methods

routeAppTx :: Proxy CheckTx -> Modules (Module name h q s r ': []) r -> RouteTx (TApi (Module name h q s r ': [])) r CheckTx Source #

class Eval ms core where Source #

Associated Types

type Effs ms core :: EffectRow Source #

Methods

eval :: Modules ms r -> forall a. Sem (Effs ms core) a -> Sem (BaseApp core) a Source #

Instances
(Members BaseAppEffs (Effs (m' ': ms) core), Eval (m' ': ms) core) => Eval (Module name h q s r ': (m' ': ms)) core Source # 
Instance details

Defined in Tendermint.SDK.Application.Module

Associated Types

type Effs (Module name h q s r ': (m' ': ms)) core :: EffectRow Source #

Methods

eval :: Modules (Module name h q s r ': (m' ': ms)) r0 -> forall a. Sem (Effs (Module name h q s r ': (m' ': ms)) core) a -> Sem (BaseApp core) a Source #

Eval (Module name h q s r ': ([] :: [Type])) core Source # 
Instance details

Defined in Tendermint.SDK.Application.Module

Associated Types

type Effs (Module name h q s r ': []) core :: EffectRow Source #

Methods

eval :: Modules (Module name h q s r ': []) r0 -> forall a. Sem (Effs (Module name h q s r ': []) core) a -> Sem (BaseApp core) a Source #