Skip to content

Commit a3a9bf0

Browse files
committed
Expose types BlockType, Protocol and ProtocolInfoArgs via Cardano.Api
rather than their resident module
1 parent e2206ad commit a3a9bf0

File tree

11 files changed

+47
-48
lines changed

11 files changed

+47
-48
lines changed

cardano-api/cardano-api.cabal

+3-2
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,6 @@ library
4040
Cardano.Api.ChainSync.Client
4141
Cardano.Api.ChainSync.ClientPipelined
4242
Cardano.Api.Crypto.Ed25519Bip32
43-
Cardano.Api.EraCast
44-
Cardano.Api.Protocol.Types
4543
Cardano.Api.Shelley
4644
-- TODO: Eliminate in the future when
4745
-- we create wrapper types for the ledger types
@@ -58,6 +56,7 @@ library
5856
Cardano.Api.Convenience.Construction
5957
Cardano.Api.Convenience.Query
6058
Cardano.Api.Environment
59+
Cardano.Api.EraCast
6160
Cardano.Api.Eras
6261
Cardano.Api.Error
6362
Cardano.Api.Fees
@@ -77,7 +76,9 @@ library
7776
Cardano.Api.Modes
7877
Cardano.Api.NetworkId
7978
Cardano.Api.OperationalCertificate
79+
Cardano.Api.Protocol.Types
8080
Cardano.Api.ProtocolParameters
81+
Cardano.Api.Protocol.Types
8182
Cardano.Api.Query
8283
Cardano.Api.Script
8384
Cardano.Api.ScriptData

cardano-api/src/Cardano/Api.hs

+7
Original file line numberDiff line numberDiff line change
@@ -562,6 +562,12 @@ module Cardano.Api (
562562
CardanoMode,
563563
-- connectToRemoteNode,
564564

565+
-- ** Protocol related types
566+
BlockType(..),
567+
Protocol(..),
568+
ProtocolInfoArgs(..),
569+
570+
565571
-- *** Chain sync protocol
566572
-- | To construct a @ChainSyncClient@ see @Cardano.Api.Client@ or
567573
-- @Cardano.Api.ClientPipelined@.
@@ -728,6 +734,7 @@ import Cardano.Api.LedgerState
728734
import Cardano.Api.Modes
729735
import Cardano.Api.NetworkId
730736
import Cardano.Api.OperationalCertificate
737+
import Cardano.Api.Protocol.Types
731738
import Cardano.Api.ProtocolParameters
732739
import Cardano.Api.Query hiding (LedgerState (..))
733740
import Cardano.Api.Script

cardano-node-chairman/app/Cardano/Chairman/Commands/Run.hs

-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ import Ouroboros.Consensus.Node.ProtocolInfo
2929

3030

3131
import Cardano.Api
32-
import qualified Cardano.Api.Protocol.Types as Protocol
3332
import Cardano.Chairman (chairmanTest)
3433

3534
data RunOpts = RunOpts

cardano-node/src/Cardano/Node/Configuration/Logging.hs

+5-6
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ module Cardano.Node.Configuration.Logging
2323
, LOContent (..)
2424
) where
2525

26+
import qualified Cardano.Api as Api
2627
import Cardano.Prelude hiding (trace)
2728

2829
import qualified Control.Concurrent as Conc
@@ -76,8 +77,6 @@ import Ouroboros.Consensus.HardFork.Combinator.Degenerate
7677
import Ouroboros.Consensus.Node.ProtocolInfo
7778
import Ouroboros.Consensus.Shelley.Ledger.Ledger
7879

79-
import Cardano.Api.Protocol.Types (BlockType (..), protocolInfo)
80-
8180
import Cardano.Git.Rev (gitRev)
8281
import Cardano.Node.Configuration.POM (NodeConfiguration (..), ncProtocol)
8382
import Cardano.Node.Protocol.Types (SomeConsensusProtocol (..))
@@ -323,16 +322,16 @@ nodeBasicInfo :: NodeConfiguration
323322
-> IO [LogObject Text]
324323
nodeBasicInfo nc (SomeConsensusProtocol whichP pForInfo) nodeStartTime' = do
325324
meta <- mkLOMeta Notice Public
326-
let cfg = pInfoConfig $ protocolInfo pForInfo
325+
let cfg = pInfoConfig $ Api.protocolInfo pForInfo
327326
protocolDependentItems =
328327
case whichP of
329-
ByronBlockType ->
328+
Api.ByronBlockType ->
330329
let DegenLedgerConfig cfgByron = Consensus.configLedger cfg
331330
in getGenesisValuesByron cfg cfgByron
332-
ShelleyBlockType ->
331+
Api.ShelleyBlockType ->
333332
let DegenLedgerConfig cfgShelley = Consensus.configLedger cfg
334333
in getGenesisValues "Shelley" cfgShelley
335-
CardanoBlockType ->
334+
Api.CardanoBlockType ->
336335
let CardanoLedgerConfig cfgByron cfgShelley cfgAllegra
337336
cfgMary cfgAlonzo cfgBabbage = Consensus.configLedger cfg
338337
in getGenesisValuesByron cfg cfgByron

cardano-node/src/Cardano/Node/Protocol/Byron.hs

+2-3
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,14 @@ import qualified Data.ByteString.Lazy as LB
2020
import qualified Data.Text as Text
2121

2222
import Cardano.Api.Byron
23-
import qualified Cardano.Api.Protocol.Types as Protocol
2423

2524
import qualified Cardano.Crypto.Hash as Crypto
2625

2726
import qualified Cardano.Crypto.Hashing as Byron.Crypto
2827

2928
import qualified Cardano.Chain.Genesis as Genesis
30-
import qualified Cardano.Chain.UTxO as UTxO
3129
import qualified Cardano.Chain.Update as Update
30+
import qualified Cardano.Chain.UTxO as UTxO
3231
import Cardano.Crypto.ProtocolMagic (RequiresNetworkMagic)
3332

3433
import Cardano.Node.Types
@@ -80,7 +79,7 @@ mkSomeConsensusProtocolByron NodeByronProtocolConfiguration {
8079

8180
optionalLeaderCredentials <- readLeaderCredentials genesisConfig files
8281

83-
return $ SomeConsensusProtocol Protocol.ByronBlockType $ Protocol.ProtocolInfoArgsByron $ Consensus.ProtocolParamsByron {
82+
return $ SomeConsensusProtocol ByronBlockType $ ProtocolInfoArgsByron $ Consensus.ProtocolParamsByron {
8483
byronGenesis = genesisConfig,
8584
byronPbftSignatureThreshold =
8685
PBftSignatureThreshold <$> npcByronPbftSignatureThresh,

cardano-node/src/Cardano/Node/Protocol/Cardano.hs

-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ import qualified Ouroboros.Consensus.Mempool.TxLimits as TxLimits
3131

3232
import Cardano.Api
3333
import Cardano.Api.Orphans ()
34-
import Cardano.Api.Protocol.Types
3534
import Cardano.Node.Types
3635

3736
import Cardano.Tracing.OrphanInstances.Byron ()

cardano-node/src/Cardano/Node/Protocol/Shelley.hs

+2-3
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ module Cardano.Node.Protocol.Shelley
2020
, validateGenesis
2121
) where
2222

23+
import qualified Cardano.Api as Api
2324
import Cardano.Prelude
2425
import Prelude (String, id)
2526

@@ -44,9 +45,7 @@ import Ouroboros.Consensus.Shelley.Node (Nonce (..), ProtocolParamsShe
4445
import Cardano.Ledger.BaseTypes (ProtVer (..))
4546
import qualified Cardano.Ledger.Shelley.Genesis as Shelley
4647

47-
import qualified Cardano.Api as Api (FileError (..))
4848
import Cardano.Api.Orphans ()
49-
import qualified Cardano.Api.Protocol.Types as Protocol
5049
import Cardano.Api.Shelley hiding (FileError)
5150

5251
import Cardano.Node.Types
@@ -87,7 +86,7 @@ mkSomeConsensusProtocolShelley NodeShelleyProtocolConfiguration {
8786
leaderCredentials <- firstExceptT PraosLeaderCredentialsError $
8887
readLeaderCredentials files
8988

90-
return $ SomeConsensusProtocol Protocol.ShelleyBlockType $ Protocol.ProtocolInfoArgsShelley
89+
return $ SomeConsensusProtocol Api.ShelleyBlockType $ Api.ProtocolInfoArgsShelley
9190
Consensus.ProtocolParamsShelleyBased {
9291
shelleyBasedGenesis = genesis,
9392
shelleyBasedInitialNonce = genesisHashToPraosNonce genesisHash,

cardano-node/src/Cardano/Node/Protocol/Types.hs

+5-6
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,13 @@ module Cardano.Node.Protocol.Types
1111
, SomeConsensusProtocol(..)
1212
) where
1313

14-
import Prelude
14+
import qualified Cardano.Api as Api
1515
import Cardano.Prelude (Generic, NFData)
16+
import Prelude
1617

1718
import Data.Aeson
1819
import NoThunks.Class (NoThunks)
1920

20-
import qualified Cardano.Api.Protocol.Types as Cardano
21-
2221
import Cardano.Node.Orphans ()
2322
import Cardano.Node.Queries (HasKESInfo, HasKESMetricsData)
2423
import Cardano.Node.TraceConstraints (TraceConstraints)
@@ -55,11 +54,11 @@ instance FromJSON Protocol where
5554

5655
data SomeConsensusProtocol where
5756

58-
SomeConsensusProtocol :: forall blk. ( Cardano.Protocol IO blk
57+
SomeConsensusProtocol :: forall blk. ( Api.Protocol IO blk
5958
, HasKESMetricsData blk
6059
, HasKESInfo blk
6160
, TraceConstraints blk
6261
)
63-
=> Cardano.BlockType blk
64-
-> Cardano.ProtocolInfoArgs IO blk
62+
=> Api.BlockType blk
63+
-> Api.ProtocolInfoArgs IO blk
6564
-> SomeConsensusProtocol

cardano-node/src/Cardano/Node/Run.hs

+12-14
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ module Cardano.Node.Run
1818
, checkVRFFilePermissions
1919
) where
2020

21+
import qualified Cardano.Api as Api
2122
import Cardano.Prelude hiding (ByteString, STM, atomically, show, take, trace)
2223
import Data.IP (toSockAddr)
2324
import Prelude (String, id, show)
@@ -62,7 +63,7 @@ import Cardano.Node.Configuration.POM (NodeConfiguration (..),
6263
defaultPartialNodeConfiguration, makeNodeConfiguration, parseNodeConfigurationFP)
6364
import Cardano.Node.Startup
6465
import Cardano.Node.Tracing.API
65-
import Cardano.Node.Tracing.StateRep (NodeState(NodeKernelOnline))
66+
import Cardano.Node.Tracing.StateRep (NodeState (NodeKernelOnline))
6667
import Cardano.Node.Tracing.Tracers.Startup (getStartupInfo)
6768
import Cardano.Node.Types
6869
import Cardano.Tracing.Config (TraceOptions (..), TraceSelection (..))
@@ -86,9 +87,6 @@ import Ouroboros.Network.PeerSelection.RelayAccessPoint (RelayAccessPo
8687
import Ouroboros.Network.Subscription (DnsSubscriptionTarget (..),
8788
IPSubscriptionTarget (..))
8889

89-
import Cardano.Api
90-
import qualified Cardano.Api.Protocol.Types as Protocol
91-
9290
import Cardano.Node.Configuration.Socket (SocketOrSocketInfo (..),
9391
gatherConfiguredSockets, getSocketOrSocketInfoAddr)
9492
import qualified Cardano.Node.Configuration.Topology as TopologyNonP2P
@@ -137,13 +135,13 @@ runNode cmdPc = do
137135

138136
p :: SomeConsensusProtocol <-
139137
case eitherSomeProtocol of
140-
Left err -> putStrLn (displayError err) >> exitFailure
138+
Left err -> putStrLn (Api.displayError err) >> exitFailure
141139
Right p -> pure p
142140

143-
let networkMagic :: NetworkMagic =
141+
let networkMagic :: Api.NetworkMagic =
144142
case p of
145143
SomeConsensusProtocol _ runP ->
146-
let ProtocolInfo { pInfoConfig } = Protocol.protocolInfo runP
144+
let ProtocolInfo { pInfoConfig } = Api.protocolInfo runP
147145
in getNetworkMagic $ Consensus.configBlock pInfoConfig
148146

149147
case p of
@@ -172,19 +170,19 @@ installSigTermHandler = do
172170

173171
handleNodeWithTracers
174172
:: ( TraceConstraints blk
175-
, Protocol.Protocol IO blk
173+
, Api.Protocol IO blk
176174
)
177175
=> PartialNodeConfiguration
178176
-> NodeConfiguration
179177
-> SomeConsensusProtocol
180-
-> NetworkMagic
181-
-> Protocol.ProtocolInfoArgs IO blk
178+
-> Api.NetworkMagic
179+
-> Api.ProtocolInfoArgs IO blk
182180
-> IO ()
183181
handleNodeWithTracers cmdPc nc p networkMagic runP = do
184182
-- This IORef contains node kernel structure which holds node kernel.
185183
-- Used for ledger queries and peer connection status.
186184
nodeKernelData <- mkNodeKernelData
187-
let ProtocolInfo { pInfoConfig = cfg } = Protocol.protocolInfo runP
185+
let ProtocolInfo { pInfoConfig = cfg } = Api.protocolInfo runP
188186
case ncEnableP2P nc of
189187
SomeNetworkP2PMode p2pMode -> do
190188
let fp = maybe "No file path found!"
@@ -311,9 +309,9 @@ handlePeersListSimple tr nodeKern = forever $ do
311309
handleSimpleNode
312310
:: forall blk p2p
313311
. ( RunNode blk
314-
, Protocol.Protocol IO blk
312+
, Api.Protocol IO blk
315313
)
316-
=> Protocol.ProtocolInfoArgs IO blk
314+
=> Api.ProtocolInfoArgs IO blk
317315
-> NetworkP2PMode p2p
318316
-> Tracers RemoteConnectionId LocalConnectionId blk p2p
319317
-> NodeConfiguration
@@ -332,7 +330,7 @@ handleSimpleNode runP p2pMode tracers nc onKernel = do
332330
traceWith (startupTracer tracers)
333331
StartupDBValidation
334332

335-
let pInfo = Protocol.protocolInfo runP
333+
let pInfo = Api.protocolInfo runP
336334

337335
(publicIPv4SocketOrAddr, publicIPv6SocketOrAddr, localSocketOrPath) <- do
338336
result <- runExceptT (gatherConfiguredSockets $ ncSocketConfig nc)

cardano-node/src/Cardano/Node/Startup.hs

+5-5
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
module Cardano.Node.Startup where
99

10+
import qualified Cardano.Api as Api
1011
import Prelude
1112

1213
import Data.Aeson (FromJSON, ToJSON)
@@ -44,7 +45,6 @@ import Ouroboros.Network.PeerSelection.Types (PeerAdvertise)
4445
import Ouroboros.Network.Subscription.Dns (DnsSubscriptionTarget (..))
4546
import Ouroboros.Network.Subscription.Ip (IPSubscriptionTarget (..))
4647

47-
import Cardano.Api.Protocol.Types (BlockType (..), protocolInfo)
4848
import Cardano.Logging
4949
import Cardano.Node.Configuration.POM (NodeConfiguration (..), ncProtocol)
5050
import Cardano.Node.Configuration.Socket
@@ -184,17 +184,17 @@ prepareNodeInfo nc (SomeConsensusProtocol whichP pForInfo) tc nodeStartTime = do
184184
, niSystemStartTime = systemStartTime
185185
}
186186
where
187-
cfg = pInfoConfig $ protocolInfo pForInfo
187+
cfg = pInfoConfig $ Api.protocolInfo pForInfo
188188

189189
systemStartTime :: UTCTime
190190
systemStartTime =
191191
case whichP of
192-
ByronBlockType ->
192+
Api.ByronBlockType ->
193193
getSystemStartByron
194-
ShelleyBlockType ->
194+
Api.ShelleyBlockType ->
195195
let DegenLedgerConfig cfgShelley = configLedger cfg
196196
in getSystemStartShelley cfgShelley
197-
CardanoBlockType ->
197+
Api.CardanoBlockType ->
198198
let CardanoLedgerConfig _ cfgShelley cfgAllegra cfgMary cfgAlonzo cfgBabbage = configLedger cfg
199199
in minimum [ getSystemStartByron
200200
, getSystemStartShelley cfgShelley

cardano-node/src/Cardano/Node/Tracing/Tracers/Startup.hs

+6-7
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ module Cardano.Node.Tracing.Tracers.Startup
1313
, ppStartupInfoTrace
1414
) where
1515

16+
import Cardano.Api (NetworkMagic (..), SlotNo (..))
17+
import qualified Cardano.Api as Api
1618
import Prelude
1719

1820
import Data.Aeson (ToJSON (..), Value (..), (.=))
@@ -49,9 +51,6 @@ import Ouroboros.Consensus.Shelley.Ledger.Ledger (shelleyLedgerGenesis
4951

5052
import Cardano.Logging
5153

52-
import Cardano.Api (NetworkMagic (..), SlotNo (..))
53-
import Cardano.Api.Protocol.Types (BlockType (..), protocolInfo)
54-
5554
import Cardano.Git.Rev (gitRev)
5655

5756
import Cardano.Node.Configuration.POM (NodeConfiguration, ncProtocol)
@@ -68,7 +67,7 @@ getStartupInfo
6867
-> IO [StartupTrace blk]
6968
getStartupInfo nc (SomeConsensusProtocol whichP pForInfo) fp = do
7069
nodeStartTime <- getCurrentTime
71-
let cfg = pInfoConfig $ protocolInfo pForInfo
70+
let cfg = pInfoConfig $ Api.protocolInfo pForInfo
7271
basicInfoCommon = BICommon $ BasicInfoCommon {
7372
biProtocol = pack . show $ ncProtocol nc
7473
, biVersion = pack . showVersion $ version
@@ -79,13 +78,13 @@ getStartupInfo nc (SomeConsensusProtocol whichP pForInfo) fp = do
7978
}
8079
protocolDependentItems =
8180
case whichP of
82-
ByronBlockType ->
81+
Api.ByronBlockType ->
8382
let DegenLedgerConfig cfgByron = Consensus.configLedger cfg
8483
in [getGenesisValuesByron cfg cfgByron]
85-
ShelleyBlockType ->
84+
Api.ShelleyBlockType ->
8685
let DegenLedgerConfig cfgShelley = Consensus.configLedger cfg
8786
in [getGenesisValues "Shelley" cfgShelley]
88-
CardanoBlockType ->
87+
Api.CardanoBlockType ->
8988
let CardanoLedgerConfig cfgByron cfgShelley cfgAllegra
9089
cfgMary cfgAlonzo cfgBabbage = Consensus.configLedger cfg
9190
in getGenesisValuesByron cfg cfgByron

0 commit comments

Comments
 (0)