{-# LANGUAGE DataKinds #-}
module Ouroboros.Consensus.Cardano (
CardanoBlock
, ProtocolByron
, ProtocolCardano
, ProtocolShelley
, ProtocolParamsAllegra (..)
, ProtocolParamsAlonzo (..)
, ProtocolParamsByron (..)
, ProtocolParamsMary (..)
, ProtocolParamsShelley (..)
, ProtocolTransitionParamsShelleyBased (..)
, module X
) where
import Ouroboros.Consensus.HardFork.Combinator
import Ouroboros.Consensus.Byron.Ledger
import Ouroboros.Consensus.Byron.Node as X
import Ouroboros.Consensus.Shelley.Ledger
import Ouroboros.Consensus.Shelley.Node as X
import Ouroboros.Consensus.Shelley.ShelleyHFC
import Ouroboros.Consensus.Cardano.Block
import Ouroboros.Consensus.Cardano.Node
import Ouroboros.Consensus.Protocol.Praos (Praos)
import Ouroboros.Consensus.Protocol.TPraos (TPraos)
type ProtocolByron = HardForkProtocol '[ ByronBlock ]
type ProtocolCardano = HardForkProtocol '[ ByronBlock
, ShelleyBlock (TPraos StandardCrypto) StandardShelley
, ShelleyBlock (TPraos StandardCrypto) StandardAllegra
, ShelleyBlock (TPraos StandardCrypto) StandardMary
, ShelleyBlock (TPraos StandardCrypto) StandardAlonzo
, ShelleyBlock (Praos StandardCrypto) StandardBabbage
]