hs-abci-sdk-0.1.0.0
Safe HaskellNone
LanguageHaskell2010

Tendermint.SDK.BaseApp.Transaction

Contents

Synopsis

Documentation

serveTxApplication :: HasTxRouter layout r scope => Proxy layout -> Proxy r -> Proxy scope -> RouteTx layout (TxEffs :& r) -> TransactionApplication (Sem r) Source #

Re-Exports

class HasTxRouter layout (r :: EffectRow) (scope :: Scope) where Source #

Associated Types

type RouteTx layout (s :: EffectRow) :: Type Source #

Methods

routeTx :: Proxy layout -> Proxy r -> Proxy scope -> Delayed (Sem r) env (RoutingTx ByteString) (RouteTx layout (TxEffs :& r)) -> Router env r (RoutingTx ByteString) (TxResult, Maybe Cache) Source #

applyAnteHandler :: Proxy layout -> Proxy r -> Proxy scope -> AnteHandler r -> RouteTx layout r -> RouteTx layout r Source #

hoistTxRouter :: Proxy layout -> Proxy r -> Proxy scope -> (forall a. Sem s a -> Sem s' a) -> RouteTx layout s -> RouteTx layout s' Source #

Instances

Instances details
HasTxRouter EmptyTxServer r scope Source # 
Instance details

Defined in Tendermint.SDK.BaseApp.Transaction.Router

Associated Types

type RouteTx EmptyTxServer s Source #

Methods

routeTx :: Proxy EmptyTxServer -> Proxy r -> Proxy scope -> Delayed (Sem r) env (RoutingTx ByteString) (RouteTx EmptyTxServer (TxEffs :& r)) -> Router env r (RoutingTx ByteString) (TxResult, Maybe Cache) Source #

applyAnteHandler :: Proxy EmptyTxServer -> Proxy r -> Proxy scope -> AnteHandler r -> RouteTx EmptyTxServer r -> RouteTx EmptyTxServer r Source #

hoistTxRouter :: forall (s :: EffectRow) (s' :: EffectRow). Proxy EmptyTxServer -> Proxy r -> Proxy scope -> (forall a. Sem s a -> Sem s' a) -> RouteTx EmptyTxServer s -> RouteTx EmptyTxServer s' Source #

(HasTxRouter a r scope, HasTxRouter b r scope) => HasTxRouter (a :<|> b :: Type) r scope Source # 
Instance details

Defined in Tendermint.SDK.BaseApp.Transaction.Router

Associated Types

type RouteTx (a :<|> b) s Source #

Methods

routeTx :: Proxy (a :<|> b) -> Proxy r -> Proxy scope -> Delayed (Sem r) env (RoutingTx ByteString) (RouteTx (a :<|> b) (TxEffs :& r)) -> Router env r (RoutingTx ByteString) (TxResult, Maybe Cache) Source #

applyAnteHandler :: Proxy (a :<|> b) -> Proxy r -> Proxy scope -> AnteHandler r -> RouteTx (a :<|> b) r -> RouteTx (a :<|> b) r Source #

hoistTxRouter :: forall (s :: EffectRow) (s' :: EffectRow). Proxy (a :<|> b) -> Proxy r -> Proxy scope -> (forall a0. Sem s a0 -> Sem s' a0) -> RouteTx (a :<|> b) s -> RouteTx (a :<|> b) s' Source #

(HasTxRouter sublayout r scope, KnownSymbol path) => HasTxRouter (path :> sublayout :: Type) r scope Source # 
Instance details

Defined in Tendermint.SDK.BaseApp.Transaction.Router

Associated Types

type RouteTx (path :> sublayout) s Source #

Methods

routeTx :: Proxy (path :> sublayout) -> Proxy r -> Proxy scope -> Delayed (Sem r) env (RoutingTx ByteString) (RouteTx (path :> sublayout) (TxEffs :& r)) -> Router env r (RoutingTx ByteString) (TxResult, Maybe Cache) Source #

applyAnteHandler :: Proxy (path :> sublayout) -> Proxy r -> Proxy scope -> AnteHandler r -> RouteTx (path :> sublayout) r -> RouteTx (path :> sublayout) r Source #

hoistTxRouter :: forall (s :: EffectRow) (s' :: EffectRow). Proxy (path :> sublayout) -> Proxy r -> Proxy scope -> (forall a. Sem s a -> Sem s' a) -> RouteTx (path :> sublayout) s -> RouteTx (path :> sublayout) s' Source #

(HasMessageType msg, HasCodec msg, Members '[Tagged scope (ReadStore :: (Type -> Type) -> Type -> Type), Embed IO] r, HasCodec a) => HasTxRouter (TypedMessage msg :~> Return a :: Type) r scope Source # 
Instance details

Defined in Tendermint.SDK.BaseApp.Transaction.Router

Associated Types

type RouteTx (TypedMessage msg :~> Return a) s Source #

Methods

routeTx :: Proxy (TypedMessage msg :~> Return a) -> Proxy r -> Proxy scope -> Delayed (Sem r) env (RoutingTx ByteString) (RouteTx (TypedMessage msg :~> Return a) (TxEffs :& r)) -> Router env r (RoutingTx ByteString) (TxResult, Maybe Cache) Source #

applyAnteHandler :: Proxy (TypedMessage msg :~> Return a) -> Proxy r -> Proxy scope -> AnteHandler r -> RouteTx (TypedMessage msg :~> Return a) r -> RouteTx (TypedMessage msg :~> Return a) r Source #

hoistTxRouter :: forall (s :: EffectRow) (s' :: EffectRow). Proxy (TypedMessage msg :~> Return a) -> Proxy r -> Proxy scope -> (forall a0. Sem s a0 -> Sem s' a0) -> RouteTx (TypedMessage msg :~> Return a) s -> RouteTx (TypedMessage msg :~> Return a) s' Source #

class DefaultCheckTx api (r :: EffectRow) where Source #

Associated Types

type DefaultCheckTxT api r :: Type Source #

Methods

defaultCheckTx :: Proxy api -> Proxy r -> DefaultCheckTxT api r Source #

Instances

Instances details
DefaultCheckTx EmptyTxServer r Source # 
Instance details

Defined in Tendermint.SDK.BaseApp.Transaction.Checker

Associated Types

type DefaultCheckTxT EmptyTxServer r Source #

(DefaultCheckTx a r, DefaultCheckTx b r) => DefaultCheckTx (a :<|> b :: Type) r Source # 
Instance details

Defined in Tendermint.SDK.BaseApp.Transaction.Checker

Associated Types

type DefaultCheckTxT (a :<|> b) r Source #

Methods

defaultCheckTx :: Proxy (a :<|> b) -> Proxy r -> DefaultCheckTxT (a :<|> b) r Source #

DefaultCheckTx rest r => DefaultCheckTx (path :> rest :: Type) r Source # 
Instance details

Defined in Tendermint.SDK.BaseApp.Transaction.Checker

Associated Types

type DefaultCheckTxT (path :> rest) r Source #

Methods

defaultCheckTx :: Proxy (path :> rest) -> Proxy r -> DefaultCheckTxT (path :> rest) r Source #

(Member (Error AppError :: (Type -> Type) -> Type -> Type) r, ValidateMessage msg) => DefaultCheckTx (TypedMessage msg :~> Return a :: Type) r Source # 
Instance details

Defined in Tendermint.SDK.BaseApp.Transaction.Checker

Associated Types

type DefaultCheckTxT (TypedMessage msg :~> Return a) r Source #

type family VoidReturn (api :: Type) :: Type where ... Source #

Equations

VoidReturn (a :<|> b) = VoidReturn a :<|> VoidReturn b 
VoidReturn (path :> a) = path :> VoidReturn a 
VoidReturn (TypedMessage msg :~> Return a) = TypedMessage msg :~> Return () 

evalReadOnly :: forall r. forall a. Sem (TxEffs :& r) a -> Sem (ReadStore ': (Error AppError ': r)) a Source #

type AnteHandler r = forall msg a. Endo (RoutingTx msg -> Sem r a) Source #