ouroboros-network:protocols
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Network.Protocol.LocalTxSubmission.Type

Description

The type of the local transaction submission protocol.

This is used by local clients (like wallets and CLI tools) to submit transactions to a local node.

Synopsis

Documentation

data LocalTxSubmission tx reject where Source #

The kind of the local transaction-submission protocol, and the types of the states in the protocol state machine.

It is parameterised over the type of transactions and the type of reasons used when rejecting a transaction.

Constructors

StIdle :: forall tx reject. LocalTxSubmission tx reject

The client has agency; it can submit a transaction or terminate.

There is no timeout in this state.

StBusy :: forall tx reject. LocalTxSubmission tx reject

The server has agency; it must process the submitted transaction and either accept or reject it (with a reason).

There is a timeout in this state. If the mempool is full and remains so for a period then the transaction should be rejected with a suitable temporary failure reason.

StDone :: forall tx reject. LocalTxSubmission tx reject

Nobody has agency. The terminal state.

Instances

Instances details
(ShowProxy tx, ShowProxy reject) => ShowProxy (LocalTxSubmission tx reject :: Type) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

Methods

showProxy :: Proxy (LocalTxSubmission tx reject) -> String

Protocol (LocalTxSubmission tx reject) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

Associated Types

type StateToken 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

StateTokenI ('StBusy :: LocalTxSubmission tx reject) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

Methods

stateToken :: StateToken ('StBusy :: LocalTxSubmission tx reject) #

StateTokenI ('StDone :: LocalTxSubmission tx reject) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

Methods

stateToken :: StateToken ('StDone :: LocalTxSubmission tx reject) #

StateTokenI ('StIdle :: LocalTxSubmission tx reject) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

Methods

stateToken :: StateToken ('StIdle :: LocalTxSubmission tx reject) #

(NFData tx, NFData reject) => NFData (Message (LocalTxSubmission tx reject) from to) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

Methods

rnf :: Message (LocalTxSubmission tx reject) from to -> () #

(Show tx, Show reject) => Show (Message (LocalTxSubmission tx reject) from to) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

Methods

showsPrec :: Int -> Message (LocalTxSubmission tx reject) from to -> ShowS #

show :: Message (LocalTxSubmission tx reject) from to -> String #

showList :: [Message (LocalTxSubmission tx reject) from to] -> ShowS #

(Eq tx, Eq reject) => Eq (Message (LocalTxSubmission tx reject) from to) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

Methods

(==) :: Message (LocalTxSubmission tx reject) from to -> Message (LocalTxSubmission tx reject) from to -> Bool #

(/=) :: Message (LocalTxSubmission tx reject) from to -> Message (LocalTxSubmission tx reject) from to -> Bool #

data Message (LocalTxSubmission tx reject) (from :: LocalTxSubmission tx reject) (to :: LocalTxSubmission tx reject) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

data Message (LocalTxSubmission tx reject) (from :: LocalTxSubmission tx reject) (to :: LocalTxSubmission tx reject) where
type StateToken Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

type StateAgency ('StBusy :: LocalTxSubmission tx reject) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

type StateAgency ('StDone :: LocalTxSubmission tx reject) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

type StateAgency ('StIdle :: LocalTxSubmission tx reject) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

data SingLocalTxSubmission (k :: LocalTxSubmission tx rejct) where Source #

Constructors

SingIdle :: forall {tx} {rejct}. SingLocalTxSubmission ('StIdle :: LocalTxSubmission tx rejct) 
SingBusy :: forall {tx} {rejct}. SingLocalTxSubmission ('StBusy :: LocalTxSubmission tx rejct) 
SingDone :: forall {tx} {rejct}. SingLocalTxSubmission ('StDone :: LocalTxSubmission tx rejct) 

data SubmitResult reason Source #

Isomorphic with Maybe but with a name that better describes its purpose and usage.

Constructors

SubmitSuccess 
SubmitFail reason 

Instances

Instances details
Functor SubmitResult Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

Methods

fmap :: (a -> b) -> SubmitResult a -> SubmitResult b #

(<$) :: a -> SubmitResult b -> SubmitResult a #

NFData reason => NFData (SubmitResult reason) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

Methods

rnf :: SubmitResult reason -> () #

Generic (SubmitResult reason) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

Associated Types

type Rep (SubmitResult reason) 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

type Rep (SubmitResult reason) = D1 ('MetaData "SubmitResult" "Ouroboros.Network.Protocol.LocalTxSubmission.Type" "ouroboros-network-1.0.0.0-inplace-protocols" 'False) (C1 ('MetaCons "SubmitSuccess" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SubmitFail" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 reason)))

Methods

from :: SubmitResult reason -> Rep (SubmitResult reason) x #

to :: Rep (SubmitResult reason) x -> SubmitResult reason #

Eq reason => Eq (SubmitResult reason) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

Methods

(==) :: SubmitResult reason -> SubmitResult reason -> Bool #

(/=) :: SubmitResult reason -> SubmitResult reason -> Bool #

type Rep (SubmitResult reason) Source # 
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

type Rep (SubmitResult reason) = D1 ('MetaData "SubmitResult" "Ouroboros.Network.Protocol.LocalTxSubmission.Type" "ouroboros-network-1.0.0.0-inplace-protocols" 'False) (C1 ('MetaCons "SubmitSuccess" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SubmitFail" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 reason)))