2222
2323import Cardano.Api.Consensus.Internal.Mode
2424
25+ import qualified Control.Tracer as Tracer
2526import Ouroboros.Consensus.Block.Forging (BlockForging )
2627import Ouroboros.Consensus.Byron.ByronHFC (ByronBlockHFC )
2728import Ouroboros.Consensus.Cardano
@@ -31,6 +32,7 @@ import Ouroboros.Consensus.HardFork.Combinator.Embed.Unary
3132import Ouroboros.Consensus.Ledger.SupportsProtocol qualified as Consensus (LedgerSupportsProtocol )
3233import Ouroboros.Consensus.Node.ProtocolInfo (ProtocolClientInfo (.. ), ProtocolInfo (.. ))
3334import Ouroboros.Consensus.Node.Run (RunNode )
35+ import Ouroboros.Consensus.Protocol.Praos.AgentClient
3436import Ouroboros.Consensus.Protocol.TPraos qualified as Consensus
3537import Ouroboros.Consensus.Shelley.Eras qualified as Consensus (ShelleyEra )
3638import Ouroboros.Consensus.Shelley.Ledger.Block qualified as Consensus (ShelleyBlock )
@@ -44,7 +46,11 @@ import Type.Reflection ((:~:) (..))
4446
4547class (RunNode blk , IOLike m ) => Protocol m blk where
4648 data ProtocolInfoArgs blk
47- protocolInfo :: ProtocolInfoArgs blk -> (ProtocolInfo blk , m [BlockForging m blk ])
49+ protocolInfo
50+ :: ProtocolInfoArgs blk
51+ -> ( ProtocolInfo blk
52+ , Tracer. Tracer m KESAgentClientTrace -> m [BlockForging m blk ]
53+ )
4854
4955-- | Node client support for each consensus protocol.
5056--
@@ -59,10 +65,10 @@ instance IOLike m => Protocol m ByronBlockHFC where
5965 data ProtocolInfoArgs ByronBlockHFC = ProtocolInfoArgsByron ProtocolParamsByron
6066 protocolInfo (ProtocolInfoArgsByron params ) =
6167 ( inject $ protocolInfoByron params
62- , pure . map inject $ blockForgingByron params
68+ , \ _ -> pure . map inject $ blockForgingByron params
6369 )
6470
65- instance (CardanoHardForkConstraints StandardCrypto , IOLike m ) => Protocol m (CardanoBlock StandardCrypto ) where
71+ instance (CardanoHardForkConstraints StandardCrypto , IOLike m , MonadKESAgent m ) => Protocol m (CardanoBlock StandardCrypto ) where
6672 data ProtocolInfoArgs (CardanoBlock StandardCrypto )
6773 = ProtocolInfoArgsCardano
6874 (CardanoProtocolParams StandardCrypto )
@@ -89,6 +95,7 @@ instance
8995 (Consensus. TPraos StandardCrypto )
9096 ShelleyEra
9197 )
98+ , MonadKESAgent m
9299 )
93100 => Protocol m (ShelleyBlockHFC (Consensus. TPraos StandardCrypto ) ShelleyEra )
94101 where
@@ -98,7 +105,7 @@ instance
98105 (ProtocolParamsShelleyBased StandardCrypto )
99106 ProtVer
100107 protocolInfo (ProtocolInfoArgsShelley genesis paramsShelleyBased_ paramsShelley_ ) =
101- bimap inject (fmap $ map inject ) $
108+ bimap inject (fmap $ fmap $ map inject ) $
102109 protocolInfoShelley genesis paramsShelleyBased_ paramsShelley_
103110
104111instance
0 commit comments