hs-abci-sdk-0.1.0.0

Safe HaskellNone
LanguageHaskell2010

Tendermint.SDK.Application

Documentation

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 

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 HandlersContext alg ms r core Source #

Constructors

HandlersContext 

Fields

baseAppAnteHandler :: Members AuthEffs r => Member (Error AppError) r => AnteHandler r Source #

createIOApp :: forall r. (forall a. Sem r a -> IO a) -> App (Sem r) -> App IO Source #

makeApp :: forall alg ms r core. Members [Error AppError, Embed IO] r => RecoverableSignatureSchema alg => Message alg ~ Digest SHA256 => AppTxRouter ms r DeliverTx => AppTxRouter ms r CheckTx => AppQueryRouter ms r => HasQueryRouter (QApi ms) r => HasTxRouter (TApi ms) r DeliverTx => HasTxRouter (TApi ms) r CheckTx => Members CoreEffs core => Eval ms core => Effs ms core ~ r => HandlersContext alg ms r core -> App (Sem core) Source #