Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Hydra.Chain.Direct
Description
Chain component implementation which uses directly the Node-to-Client protocols to submit "hand-rolled" transactions.
Synopsis
- newtype NetworkMagic = NetworkMagic Word32
- newtype DirectBackend = DirectBackend {}
- type BlockType = BlockInMode
- data DirectConnectException = DirectConnectException {
- ioException :: IOException
- nodeSocket :: SocketPath
- networkId :: NetworkId
- newtype IntersectionNotFoundException = IntersectionNotFound {
- requestedPoint :: ChainPoint
- data EraNotSupportedException
- = EraNotSupportedAnymore {
- otherEraName :: Text
- | EraNotSupportedYet {
- otherEraName :: Text
- = EraNotSupportedAnymore {
- withDirectChain :: DirectBackend -> Tracer IO CardanoChainLog -> CardanoChainConfig -> 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 CardanoChainLog -> TQueue m (Tx, TMVar m (Maybe (PostTxError Tx))) -> LocalTxSubmissionClient TxInMode TxValidationErrorInCardanoMode m ()
Documentation
newtype NetworkMagic #
Constructors
NetworkMagic Word32 |
Instances
Generic NetworkMagic | |
Defined in Ouroboros.Network.Magic Methods 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 Methods (==) :: NetworkMagic -> NetworkMagic -> Bool Source # (/=) :: NetworkMagic -> NetworkMagic -> Bool Source # | |
NoThunks NetworkMagic | |
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 | |
Defined in Ouroboros.Network.Magic type Rep NetworkMagic = D1 ('MetaData "NetworkMagic" "Ouroboros.Network.Magic" "ouroboros-network-api-0.14.0.0-FzoRUEZPHbuD5ACTMdXOlT" 'True) (C1 ('MetaCons "NetworkMagic" 'PrefixI 'True) (S1 ('MetaSel ('Just "unNetworkMagic") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32))) |
newtype DirectBackend Source #
Constructors
DirectBackend | |
Fields |
Instances
ChainBackend DirectBackend Source # | |
Defined in Hydra.Chain.Direct Methods queryGenesisParameters :: (MonadIO m, MonadThrow m) => DirectBackend -> m (GenesisParameters ShelleyEra) Source # queryScriptRegistry :: (MonadIO m, MonadThrow m) => DirectBackend -> [TxId] -> m ScriptRegistry Source # queryNetworkId :: (MonadIO m, MonadThrow m) => DirectBackend -> m NetworkId Source # queryTip :: (MonadIO m, MonadThrow m) => DirectBackend -> m ChainPoint Source # queryUTxO :: (MonadIO m, MonadThrow m) => DirectBackend -> [Address ShelleyAddr] -> m UTxO Source # queryEraHistory :: (MonadIO m, MonadThrow m) => DirectBackend -> QueryPoint -> m EraHistory Source # querySystemStart :: (MonadIO m, MonadThrow m) => DirectBackend -> QueryPoint -> m SystemStart Source # queryProtocolParameters :: (MonadIO m, MonadThrow m) => DirectBackend -> QueryPoint -> m (PParams LedgerEra) Source # queryStakePools :: (MonadIO m, MonadThrow m) => DirectBackend -> QueryPoint -> m (Set PoolId) Source # queryUTxOFor :: (MonadIO m, MonadThrow m) => DirectBackend -> QueryPoint -> VerificationKey PaymentKey -> m UTxO Source # submitTransaction :: (MonadIO m, MonadThrow m) => DirectBackend -> Tx -> m () Source # awaitTransaction :: (MonadIO m, MonadThrow m) => DirectBackend -> Tx -> m UTxO Source # |
data DirectConnectException Source #
Constructors
DirectConnectException | |
Fields
|
Instances
Exception DirectConnectException Source # | |
Defined in Hydra.Chain.Direct | |
Show DirectConnectException 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.
Constructors
IntersectionNotFound | |
Fields
|
Instances
data EraNotSupportedException Source #
Constructors
EraNotSupportedAnymore | |
Fields
| |
EraNotSupportedYet | |
Fields
|
Instances
Exception EraNotSupportedException Source # | |
Defined in Hydra.Chain.Direct | |
Show EraNotSupportedException Source # | |
Defined in Hydra.Chain.Direct |
Arguments
:: DirectBackend | |
-> Tracer IO CardanoChainLog | |
-> CardanoChainConfig | |
-> 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 CardanoChainLog -> TQueue m (Tx, TMVar m (Maybe (PostTxError Tx))) -> LocalTxSubmissionClient TxInMode TxValidationErrorInCardanoMode m () Source #