ouroboros-network-0.1.0.1: A networking layer for the Ouroboros blockchain protocol
Safe Haskell Safe-Inferred
Language Haskell2010

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 parametrised over the type of transactions and the type of reasons used when rejecting a transaction.

Constructors

StIdle :: LocalTxSubmission tx reject

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

There is no timeout in this state.

StBusy :: 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 :: 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

Show ( ClientHasAgency st) Source #
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

Show ( ServerHasAgency st) Source #
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

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

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

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

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

Protocol ( 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) Source #
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

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

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

data ClientHasAgency (st :: LocalTxSubmission tx reject) where
data ServerHasAgency (st :: LocalTxSubmission tx reject) Source #
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

data ServerHasAgency (st :: LocalTxSubmission tx reject) where
data NobodyHasAgency (st :: LocalTxSubmission tx reject) Source #
Instance details

Defined in Ouroboros.Network.Protocol.LocalTxSubmission.Type

data NobodyHasAgency (st :: LocalTxSubmission tx reject) where

data SubmitResult reason Source #

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

Constructors

SubmitSuccess
SubmitFail reason