ouroboros-consensus-0.1.0.0: Consensus layer for the Ouroboros blockchain protocol
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Consensus.HardFork.Combinator.Compat

Synopsis

Documentation

data HardForkCompatQuery blk :: Type -> Type where Source #

Version of Query (HardForkBlock xs) without the restriction to have at least two eras

Constructors

CompatIfCurrent :: Query blk result -> HardForkCompatQuery blk result 
CompatAnytime :: QueryAnytime result -> EraIndex (HardForkIndices blk) -> HardForkCompatQuery blk result 
CompatHardFork :: QueryHardFork (HardForkIndices blk) result -> HardForkCompatQuery blk result 

Convenience constructors

compatIfCurrent :: Query blk result -> HardForkCompatQuery blk result Source #

Submit query to underlying ledger

compatGetEraStart :: EraIndex (HardForkIndices blk) -> HardForkCompatQuery blk (Maybe Bound) Source #

Get the start of the specified era, if known

compatGetInterpreter :: HardForkCompatQuery blk (Interpreter (HardForkIndices blk)) Source #

Get an interpreter for history queries

I.e., this can be used for slotepochtime conversions.

Wrappers

forwardCompatQuery Source #

Arguments

:: forall m x xs. IsNonEmpty xs 
=> (forall result. Query (HardForkBlock (x ': xs)) result -> m result)

Submit a query through the LocalStateQuery protocol.

-> forall result. HardForkCompatQuery (HardForkBlock (x ': xs)) result -> m result 

Wrapper used when connecting to a server that's running the HFC with at least two eras

singleEraCompatQuery Source #

Arguments

:: forall m blk era. (Monad m, HardForkIndices blk ~ '[era]) 
=> EpochSize 
-> SlotLength 
-> (forall result. Query blk result -> m result)

Submit a query through the LocalStateQuery protocol.

-> forall result. HardForkCompatQuery blk result -> m result 

Wrapper used when connecting to a server that's not using the HFC, or is using the HFC but with a single era only.