ouroboros-consensus-0.21.0.0: Consensus layer for the Ouroboros blockchain protocol
Safe HaskellSafe-Inferred
LanguageHaskell2010

Ouroboros.Consensus.HardFork.Combinator.InjectTxs

Description

Injecting a transaction from one block type to another

Synopsis

Polymorphic

data InjectPolyTx tx blk blk' Source #

tx is either GenTx or WrapValidatedGenTx

See InjectTx and InjectValidatedTx, respectively.

Constructors

InjectPolyTx 

Fields

cannotInjectPolyTxInjectPolyTx tx blk blk' Source #

The injection that always fails

matchPolyTxSListI xs ⇒ InPairs (InjectPolyTx tx) xs → NS tx xs → HardForkState f xs → Either (Mismatch tx (Current f) xs) (HardForkState (Product tx f) xs) Source #

matchPolyTxsNS ∷ ∀ tx f xs. SListI xs ⇒ InPairs (InjectPolyTx tx) xs → NS f xs → [NS tx xs] → ([Mismatch tx f xs], NS (Product f (List :.: tx)) xs) Source #

Match a list of transactions with an NS, attempting to inject where possible

Unvalidated transactions

pattern InjectTx ∷ (GenTx blk → Maybe (GenTx blk')) → InjectTx blk blk' Source #

Validated transactions