{-# LANGUAGE DataKinds #-}
module Ouroboros.Consensus.Cardano (
CardanoBlock
, ProtocolByron
, ProtocolCardano
, ProtocolShelley
, CardanoHardForkTrigger (..)
, CardanoHardForkTriggers (..)
, module X
) where
import Ouroboros.Consensus.Byron.Ledger
import Ouroboros.Consensus.Byron.Node as X
import Ouroboros.Consensus.Cardano.Block
import Ouroboros.Consensus.Cardano.Node
import Ouroboros.Consensus.HardFork.Combinator
import Ouroboros.Consensus.Protocol.Praos (Praos)
import Ouroboros.Consensus.Protocol.TPraos (TPraos)
import Ouroboros.Consensus.Shelley.Ledger
import Ouroboros.Consensus.Shelley.Node as X
import Ouroboros.Consensus.Shelley.ShelleyHFC
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
, ShelleyBlock (Praos StandardCrypto) StandardConway
]