hydra-node-0.13.0: The Hydra node
Safe HaskellSafe-Inferred
LanguageHaskell2010

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.5.0.0-DOtC5oCVHp0D42rekkGuEr" 'True) (C1 ('MetaCons "NetworkMagic" 'PrefixI 'True) (S1 ('MetaSel ('Just "unNetworkMagic") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32)))

type BlockType = BlockInMode CardanoMode 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

initialChainState :: ChainStateType Tx Source #

Defines the starting state of the direct chain layer.

loadChainContext Source #

Arguments

:: ChainConfig 
-> Party

Hydra party of our hydra node.

-> [Party]

Other configured parties

-> TxId

Transaction id at which to look for Hydra scripts.

-> IO ChainContext 

Build the ChainContext from a ChainConfig and additional information.

withDirectChain Source #

Arguments

:: Tracer IO DirectChainLog 
-> ChainConfig 
-> ChainContext 
-> TinyWallet IO 
-> ChainStateAt

Last known chain state as 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 => Tracer m DirectChainLog -> TQueue m (Tx, TMVar m (Maybe (PostTxError Tx))) -> LocalTxSubmissionClient (TxInMode CardanoMode) (TxValidationErrorInMode CardanoMode) m () Source #