hydra-node-0.20.0: The Hydra node
Safe HaskellSafe-Inferred
LanguageGHC2021

Hydra.Chain.Direct

Description

Chain component implementation which uses directly the Node-to-Client protocols to submit "hand-rolled" transactions.

Synopsis

Documentation

newtype NetworkMagic #

Constructors

NetworkMagic Word32 

Instances

Instances details
Generic NetworkMagic 
Instance details

Defined in Ouroboros.Network.Magic

Associated Types

type Rep NetworkMagic :: Type -> Type Source #

Show NetworkMagic 
Instance details

Defined in Ouroboros.Network.Magic

Eq NetworkMagic 
Instance details

Defined in Ouroboros.Network.Magic

NoThunks NetworkMagic 
Instance details

Defined in Ouroboros.Network.Magic

Methods

noThunks :: Context -> NetworkMagic -> IO (Maybe ThunkInfo)

wNoThunks :: Context -> NetworkMagic -> IO (Maybe ThunkInfo)

showTypeOf :: Proxy NetworkMagic -> String

type Rep NetworkMagic 
Instance details

Defined in Ouroboros.Network.Magic

type Rep NetworkMagic = D1 ('MetaData "NetworkMagic" "Ouroboros.Network.Magic" "ouroboros-network-api-0.9.0.1-KoeIbGOvqroJCBRGexvhHC" 'True) (C1 ('MetaCons "NetworkMagic" 'PrefixI 'True) (S1 ('MetaSel ('Just "unNetworkMagic") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32)))

type BlockType = BlockInMode Source #

The block type used in the node-to-client protocols.

newtype IntersectionNotFoundException Source #

Thrown when the user-provided custom point of intersection is unknown to the local node. This may happen if users shut down their node quickly after starting them and hold on a not-so-stable point of the chain. When they turn the node back on, that point may no longer exist on the network if a fork with deeper roots has been adopted in the meantime.

Constructors

IntersectionNotFound 

Fields

loadChainContext Source #

Arguments

:: DirectChainConfig 
-> Party

Hydra party of our hydra node.

-> IO ChainContext

The current running era we can use to query the node

Build the ChainContext from a ChainConfig and additional information.

withDirectChain Source #

Arguments

:: Tracer IO DirectChainLog 
-> DirectChainConfig 
-> ChainContext 
-> TinyWallet IO 
-> ChainStateHistory Tx

Chain state loaded from persistence.

-> ChainComponent Tx IO a 

chainSyncClient :: forall m. (MonadSTM m, MonadThrow m) => ChainSyncHandler m -> TinyWallet m -> ChainPoint -> ChainSyncClient BlockType ChainPoint ChainTip m () Source #

txSubmissionClient :: forall m. (MonadSTM m, MonadDelay m) => Tracer m DirectChainLog -> TQueue m (Tx, TMVar m (Maybe (PostTxError Tx))) -> LocalTxSubmissionClient TxInMode TxValidationErrorInCardanoMode m () Source #