Skip to content

Commit bcf138d

Browse files
committed
Share code of fields of queries
1 parent 8216024 commit bcf138d

File tree

3 files changed

+222
-249
lines changed

3 files changed

+222
-249
lines changed

cardano-cli/src/Cardano/CLI/EraBased/Commands/Query.hs

Lines changed: 27 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
module Cardano.CLI.EraBased.Commands.Query
77
( QueryCmds (..)
8+
, QueryCommons (..)
89
, QueryCommitteeMembersStateCmdArgs (..)
910
, QueryLeadershipScheduleCmdArgs (..)
1011
, QueryProtocolParametersCmdArgs (..)
@@ -67,15 +68,21 @@ data QueryCmds era
6768
| QueryTreasuryValueCmd !(QueryTreasuryValueCmdArgs era)
6869
deriving (Generic, Show)
6970

70-
data QueryLeadershipScheduleCmdArgs = QueryLeadershipScheduleCmdArgs
71+
-- | Fields that are common to most queries
72+
data QueryCommons = QueryCommons
7173
{ nodeSocketPath :: !SocketPath
7274
, consensusModeParams :: !ConsensusModeParams
7375
, networkId :: !NetworkId
76+
, target :: !(Consensus.Target ChainPoint)
77+
}
78+
deriving (Generic, Show)
79+
80+
data QueryLeadershipScheduleCmdArgs = QueryLeadershipScheduleCmdArgs
81+
{ commons :: !QueryCommons
7482
, genesisFp :: !GenesisFile
7583
, poolColdVerKeyFile :: !(VerificationKeyOrHashOrFile StakePoolKey)
7684
, vrkSkeyFp :: !(SigningKeyFile In)
7785
, whichSchedule :: !EpochLeadershipSchedule
78-
, target :: !(Consensus.Target ChainPoint)
7986
, format :: Maybe OutputFormatJsonOrText
8087
, mOutFile :: !(Maybe (File () Out))
8188
}
@@ -90,100 +97,70 @@ data QueryProtocolParametersCmdArgs = QueryProtocolParametersCmdArgs
9097
deriving (Generic, Show)
9198

9299
data QueryTipCmdArgs = QueryTipCmdArgs
93-
{ nodeSocketPath :: !SocketPath
94-
, consensusModeParams :: !ConsensusModeParams
95-
, networkId :: !NetworkId
96-
, target :: !(Consensus.Target ChainPoint)
100+
{ commons :: !QueryCommons
97101
, mOutFile :: !(Maybe (File () Out))
98102
}
99103
deriving (Generic, Show)
100104

101105
data QueryStakePoolsCmdArgs = QueryStakePoolsCmdArgs
102-
{ nodeSocketPath :: !SocketPath
103-
, consensusModeParams :: !ConsensusModeParams
104-
, networkId :: !NetworkId
105-
, target :: !(Consensus.Target ChainPoint)
106+
{ commons :: !QueryCommons
106107
, format :: Maybe OutputFormatJsonOrText
107108
, mOutFile :: !(Maybe (File () Out))
108109
}
109110
deriving (Generic, Show)
110111

111112
data QueryStakeDistributionCmdArgs = QueryStakeDistributionCmdArgs
112-
{ nodeSocketPath :: !SocketPath
113-
, consensusModeParams :: !ConsensusModeParams
114-
, networkId :: !NetworkId
115-
, target :: !(Consensus.Target ChainPoint)
113+
{ commons :: !QueryCommons
116114
, format :: Maybe OutputFormatJsonOrText
117115
, mOutFile :: !(Maybe (File () Out))
118116
}
119117
deriving (Generic, Show)
120118

121119
data QueryStakeAddressInfoCmdArgs = QueryStakeAddressInfoCmdArgs
122-
{ nodeSocketPath :: !SocketPath
123-
, consensusModeParams :: !ConsensusModeParams
120+
{ commons :: !QueryCommons
124121
, addr :: !StakeAddress
125-
, networkId :: !NetworkId
126-
, target :: !(Consensus.Target ChainPoint)
127122
, mOutFile :: !(Maybe (File () Out))
128123
}
129124
deriving (Generic, Show)
130125

131126
data QueryUTxOCmdArgs = QueryUTxOCmdArgs
132-
{ nodeSocketPath :: !SocketPath
133-
, consensusModeParams :: !ConsensusModeParams
127+
{ commons :: !QueryCommons
134128
, queryFilter :: !QueryUTxOFilter
135-
, networkId :: !NetworkId
136-
, target :: !(Consensus.Target ChainPoint)
137129
, format :: Maybe OutputFormatJsonOrText
138130
, mOutFile :: !(Maybe (File () Out))
139131
}
140132
deriving (Generic, Show)
141133

142134
data QueryLedgerStateCmdArgs = QueryLedgerStateCmdArgs
143-
{ nodeSocketPath :: !SocketPath
144-
, consensusModeParams :: !ConsensusModeParams
145-
, networkId :: !NetworkId
146-
, target :: !(Consensus.Target ChainPoint)
135+
{ commons :: !QueryCommons
147136
, mOutFile :: !(Maybe (File () Out))
148137
}
149138
deriving (Generic, Show)
150139

151140
data QueryProtocolStateCmdArgs = QueryProtocolStateCmdArgs
152-
{ nodeSocketPath :: !SocketPath
153-
, consensusModeParams :: !ConsensusModeParams
154-
, networkId :: !NetworkId
155-
, target :: !(Consensus.Target ChainPoint)
141+
{ commons :: !QueryCommons
156142
, mOutFile :: !(Maybe (File () Out))
157143
}
158144
deriving (Generic, Show)
159145

160146
data QueryStakeSnapshotCmdArgs = QueryStakeSnapshotCmdArgs
161-
{ nodeSocketPath :: !SocketPath
162-
, consensusModeParams :: !ConsensusModeParams
163-
, networkId :: !NetworkId
147+
{ commons :: !QueryCommons
164148
, allOrOnlyPoolIds :: !(AllOrOnly (Hash StakePoolKey))
165-
, target :: !(Consensus.Target ChainPoint)
166149
, mOutFile :: !(Maybe (File () Out))
167150
}
168151
deriving (Generic, Show)
169152

170153
data QueryKesPeriodInfoCmdArgs = QueryKesPeriodInfoCmdArgs
171-
{ nodeSocketPath :: !SocketPath
172-
, consensusModeParams :: !ConsensusModeParams
173-
, networkId :: !NetworkId
154+
{ commons :: !QueryCommons
174155
, nodeOpCertFp :: !(File () In)
175156
-- ^ Node operational certificate
176-
, target :: !(Consensus.Target ChainPoint)
177157
, mOutFile :: !(Maybe (File () Out))
178158
}
179159
deriving (Generic, Show)
180160

181161
data QueryPoolStateCmdArgs = QueryPoolStateCmdArgs
182-
{ nodeSocketPath :: !SocketPath
183-
, consensusModeParams :: !ConsensusModeParams
184-
, networkId :: !NetworkId
162+
{ commons :: !QueryCommons
185163
, allOrOnlyPoolIds :: !(AllOrOnly (Hash StakePoolKey))
186-
, target :: !(Consensus.Target ChainPoint)
187164
, mOutFile :: !(Maybe (File () Out))
188165
}
189166
deriving (Generic, Show)
@@ -198,88 +175,64 @@ data QueryTxMempoolCmdArgs = QueryTxMempoolCmdArgs
198175
deriving (Generic, Show)
199176

200177
data QuerySlotNumberCmdArgs = QuerySlotNumberCmdArgs
201-
{ nodeSocketPath :: !SocketPath
202-
, consensusModeParams :: !ConsensusModeParams
203-
, networkId :: !NetworkId
204-
, target :: !(Consensus.Target ChainPoint)
178+
{ commons :: !QueryCommons
205179
, utcTime :: !UTCTime
206180
}
207181
deriving (Generic, Show)
208182

209183
data QueryRefScriptSizeCmdArgs = QueryRefScriptSizeCmdArgs
210-
{ nodeSocketPath :: !SocketPath
211-
, consensusModeParams :: !ConsensusModeParams
184+
{ commons :: !QueryCommons
212185
, transactionInputs :: !(Set TxIn)
213-
, networkId :: !NetworkId
214-
, target :: !(Consensus.Target ChainPoint)
215186
, format :: Maybe OutputFormatJsonOrText
216187
, mOutFile :: !(Maybe (File () Out))
217188
}
218189
deriving (Generic, Show)
219190

220191
data QueryNoArgCmdArgs era = QueryNoArgCmdArgs
221192
{ eon :: !(ConwayEraOnwards era)
222-
, nodeSocketPath :: !SocketPath
223-
, consensusModeParams :: !ConsensusModeParams
224-
, networkId :: !NetworkId
225-
, target :: !(Consensus.Target ChainPoint)
193+
, commons :: !QueryCommons
226194
, mOutFile :: !(Maybe (File () Out))
227195
}
228196
deriving Show
229197

230198
data QueryDRepStateCmdArgs era = QueryDRepStateCmdArgs
231199
{ eon :: !(ConwayEraOnwards era)
232-
, nodeSocketPath :: !SocketPath
233-
, consensusModeParams :: !ConsensusModeParams
234-
, networkId :: !NetworkId
200+
, commons :: !QueryCommons
235201
, drepHashSources :: !(AllOrOnly DRepHashSource)
236202
, includeStake :: !IncludeStake
237-
, target :: !(Consensus.Target ChainPoint)
238203
, mOutFile :: !(Maybe (File () Out))
239204
}
240205
deriving Show
241206

242207
data QueryDRepStakeDistributionCmdArgs era = QueryDRepStakeDistributionCmdArgs
243208
{ eon :: !(ConwayEraOnwards era)
244-
, nodeSocketPath :: !SocketPath
245-
, consensusModeParams :: !ConsensusModeParams
246-
, networkId :: !NetworkId
209+
, commons :: !QueryCommons
247210
, drepHashSources :: !(AllOrOnly DRepHashSource)
248-
, target :: !(Consensus.Target ChainPoint)
249211
, mOutFile :: !(Maybe (File () Out))
250212
}
251213
deriving Show
252214

253215
data QuerySPOStakeDistributionCmdArgs era = QuerySPOStakeDistributionCmdArgs
254216
{ eon :: !(ConwayEraOnwards era)
255-
, nodeSocketPath :: !SocketPath
256-
, consensusModeParams :: !ConsensusModeParams
257-
, networkId :: !NetworkId
217+
, commons :: !QueryCommons
258218
, spoHashSources :: !(AllOrOnly SPOHashSource)
259-
, target :: !(Consensus.Target ChainPoint)
260219
, mOutFile :: !(Maybe (File () Out))
261220
}
262221
deriving Show
263222

264223
data QueryCommitteeMembersStateCmdArgs era = QueryCommitteeMembersStateCmdArgs
265224
{ eon :: !(ConwayEraOnwards era)
266-
, nodeSocketPath :: !SocketPath
267-
, consensusModeParams :: !ConsensusModeParams
268-
, networkId :: !NetworkId
225+
, commons :: !QueryCommons
269226
, committeeColdKeys :: ![VerificationKeyOrHashOrFileOrScriptHash CommitteeColdKey]
270227
, committeeHotKeys :: ![VerificationKeyOrHashOrFileOrScriptHash CommitteeHotKey]
271228
, memberStatuses :: ![MemberStatus]
272-
, target :: !(Consensus.Target ChainPoint)
273229
, mOutFile :: !(Maybe (File () Out))
274230
}
275231
deriving Show
276232

277233
data QueryTreasuryValueCmdArgs era = QueryTreasuryValueCmdArgs
278234
{ eon :: !(ConwayEraOnwards era)
279-
, nodeSocketPath :: !SocketPath
280-
, consensusModeParams :: !ConsensusModeParams
281-
, networkId :: !NetworkId
282-
, target :: !(Consensus.Target ChainPoint)
235+
, commons :: !QueryCommons
283236
, mOutFile :: !(Maybe (File () Out))
284237
}
285238
deriving Show

0 commit comments

Comments
 (0)