-- | Node client support for the Shelley protocol
--
module Cardano.Api.Protocol.Shelley
  ( -- * Client support
    mkNodeClientProtocolShelley
  , mkSomeNodeClientProtocolShelley
  ) where


import           Ouroboros.Consensus.Cardano (ProtocolClient (ProtocolClientShelley),
                     ProtocolShelley)
import           Ouroboros.Consensus.Cardano.ShelleyHFC

import           Ouroboros.Consensus.Shelley.Eras (StandardShelley)

import           Cardano.Api.Protocol.Types (SomeNodeClientProtocol (..))


mkNodeClientProtocolShelley :: ProtocolClient
                                 (ShelleyBlockHFC StandardShelley)
                                 ProtocolShelley
mkNodeClientProtocolShelley :: ProtocolClient (ShelleyBlockHFC StandardShelley) ProtocolShelley
mkNodeClientProtocolShelley = ProtocolClient (ShelleyBlockHFC StandardShelley) ProtocolShelley
ProtocolClientShelley


mkSomeNodeClientProtocolShelley :: SomeNodeClientProtocol
mkSomeNodeClientProtocolShelley :: SomeNodeClientProtocol
mkSomeNodeClientProtocolShelley =
    ProtocolClient
  (ShelleyBlockHFC StandardShelley)
  (BlockProtocol (ShelleyBlockHFC StandardShelley))
-> SomeNodeClientProtocol
forall blk.
RunNode blk =>
ProtocolClient blk (BlockProtocol blk) -> SomeNodeClientProtocol
SomeNodeClientProtocol ProtocolClient (ShelleyBlockHFC StandardShelley) ProtocolShelley
ProtocolClient
  (ShelleyBlockHFC StandardShelley)
  (BlockProtocol (ShelleyBlockHFC StandardShelley))
mkNodeClientProtocolShelley