Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Chain component implementation which uses directly the Node-to-Client protocols to submit "hand-rolled" transactions.
Synopsis
- newtype NetworkMagic = NetworkMagic Word32
- type BlockType = BlockInMode
- data ConnectException = ConnectException {
- ioException :: IOException
- nodeSocket :: SocketPath
- networkId :: NetworkId
- newtype IntersectionNotFoundException = IntersectionNotFound {
- requestedPoint :: ChainPoint
- data EraNotSupportedException
- = EraNotSupportedAnymore {
- otherEraName :: Text
- | EraNotSupportedYet {
- otherEraName :: Text
- = EraNotSupportedAnymore {
- loadChainContext :: DirectChainConfig -> Party -> IO ChainContext
- mkTinyWallet :: Tracer IO DirectChainLog -> DirectChainConfig -> IO (TinyWallet IO)
- withDirectChain :: Tracer IO DirectChainLog -> DirectChainConfig -> ChainContext -> TinyWallet IO -> ChainStateHistory Tx -> ChainComponent Tx IO a
- chainSyncClient :: forall m. (MonadSTM m, MonadThrow m) => ChainSyncHandler m -> TinyWallet m -> ChainPoint -> ChainSyncClient BlockType ChainPoint ChainTip m ()
- txSubmissionClient :: forall m. (MonadSTM m, MonadDelay m) => Tracer m DirectChainLog -> TQueue m (Tx, TMVar m (Maybe (PostTxError Tx))) -> LocalTxSubmissionClient TxInMode TxValidationErrorInCardanoMode m ()
Documentation
newtype NetworkMagic #
Instances
Generic NetworkMagic | |
Defined in Ouroboros.Network.Magic from :: NetworkMagic -> Rep NetworkMagic x Source # to :: Rep NetworkMagic x -> NetworkMagic Source # | |
Show NetworkMagic | |
Defined in Ouroboros.Network.Magic | |
Eq NetworkMagic | |
Defined in Ouroboros.Network.Magic (==) :: NetworkMagic -> NetworkMagic -> Bool Source # (/=) :: NetworkMagic -> NetworkMagic -> Bool Source # | |
NoThunks NetworkMagic | |
Defined in Ouroboros.Network.Magic noThunks :: Context -> NetworkMagic -> IO (Maybe ThunkInfo) wNoThunks :: Context -> NetworkMagic -> IO (Maybe ThunkInfo) showTypeOf :: Proxy NetworkMagic -> String | |
type Rep NetworkMagic | |
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))) |
data ConnectException Source #
ConnectException | |
|
Instances
Exception ConnectException Source # | |
Defined in Hydra.Chain.Direct | |
Show ConnectException Source # | |
Defined in Hydra.Chain.Direct |
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.
IntersectionNotFound | |
|
Instances
data EraNotSupportedException Source #
Instances
:: 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.
mkTinyWallet :: Tracer IO DirectChainLog -> DirectChainConfig -> IO (TinyWallet IO) Source #
:: 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 #