module Ouroboros.Consensus.HardFork.Combinator.Abstract.NoHardForks (
NoHardForks(..)
, noHardForksEpochInfo
) where
import Cardano.Slotting.EpochInfo
import Ouroboros.Consensus.Block
import Ouroboros.Consensus.Config
import Ouroboros.Consensus.HardFork.History as History
import Ouroboros.Consensus.Ledger.Abstract
import Ouroboros.Consensus.Protocol.Abstract
import Ouroboros.Consensus.HardFork.Combinator.Abstract.SingleEraBlock
import Ouroboros.Consensus.HardFork.Combinator.PartialConfig
class SingleEraBlock blk => NoHardForks blk where
getEraParams :: TopLevelConfig blk -> EraParams
toPartialConsensusConfig :: proxy blk
-> ConsensusConfig (BlockProtocol blk)
-> PartialConsensusConfig (BlockProtocol blk)
toPartialLedgerConfig :: proxy blk
-> LedgerConfig blk -> PartialLedgerConfig blk
noHardForksEpochInfo :: NoHardForks blk
=> TopLevelConfig blk -> EpochInfo Identity
noHardForksEpochInfo :: TopLevelConfig blk -> EpochInfo Identity
noHardForksEpochInfo = EpochSize -> EpochInfo Identity
forall (m :: * -> *). Monad m => EpochSize -> EpochInfo m
fixedSizeEpochInfo (EpochSize -> EpochInfo Identity)
-> (TopLevelConfig blk -> EpochSize)
-> TopLevelConfig blk
-> EpochInfo Identity
forall b c a. (b -> c) -> (a -> b) -> a -> c
. EraParams -> EpochSize
History.eraEpochSize (EraParams -> EpochSize)
-> (TopLevelConfig blk -> EraParams)
-> TopLevelConfig blk
-> EpochSize
forall b c a. (b -> c) -> (a -> b) -> a -> c
. TopLevelConfig blk -> EraParams
forall blk. NoHardForks blk => TopLevelConfig blk -> EraParams
getEraParams