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

NFData NetworkMagic 
Instance details

Defined in Ouroboros.Network.Magic

Methods

rnf :: NetworkMagic -> () Source #

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

newtype DirectBackend a Source #

Instances

Instances details
MonadIO DirectBackend Source # 
Instance details

Defined in Hydra.Chain.Direct

Methods

liftIO :: IO a -> DirectBackend a Source #

Applicative DirectBackend Source # 
Instance details

Defined in Hydra.Chain.Direct

Functor DirectBackend Source # 
Instance details

Defined in Hydra.Chain.Direct

Methods

fmap :: (a -> b) -> DirectBackend a -> DirectBackend b Source #

(<$) :: a -> DirectBackend b -> DirectBackend a Source #

Monad DirectBackend Source # 
Instance details

Defined in Hydra.Chain.Direct

ChainBackend DirectBackend Source # 
Instance details

Defined in Hydra.Chain.Direct

MonadCatch DirectBackend Source # 
Instance details

Defined in Hydra.Chain.Direct

MonadThrow DirectBackend Source # 
Instance details

Defined in Hydra.Chain.Direct

type BlockType = BlockInMode Source #

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

newtype IntersectionNotFoundException Source #

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

Constructors

IntersectionNotFound 

Fields

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

withNodeConn :: (LocalNodeConnectInfo -> IO a) -> DirectBackend a Source #

txSubmissionClient Source #

Arguments

:: forall m. (MonadSTM m, MonadDelay m) 
=> Tracer m CardanoChainLog 
-> m NominalDiffTime

Action returning the chain's average block time (seconds), used to size the delay before reporting PostTxError so the observing side has a chance to process a competing transaction.

-> TQueue m (Tx, TMVar m (Maybe (PostTxError Tx))) 
-> LocalTxSubmissionClient TxInMode TxValidationErrorInCardanoMode m ()