Skip to content

Commit 4aff890

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

File tree

3 files changed

+225
-292
lines changed

3 files changed

+225
-292
lines changed

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

Lines changed: 27 additions & 94 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,17 +68,23 @@ 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+
, mOutFile :: !(Maybe (File () Out))
78+
}
79+
deriving (Generic, Show)
80+
81+
data QueryLeadershipScheduleCmdArgs = QueryLeadershipScheduleCmdArgs
82+
{ commons :: !QueryCommons
7483
, genesisFp :: !GenesisFile
7584
, poolColdVerKeyFile :: !(VerificationKeyOrHashOrFile StakePoolKey)
7685
, vrkSkeyFp :: !(SigningKeyFile In)
7786
, whichSchedule :: !EpochLeadershipSchedule
78-
, target :: !(Consensus.Target ChainPoint)
7987
, format :: Maybe OutputFormatJsonOrText
80-
, mOutFile :: !(Maybe (File () Out))
8188
}
8289
deriving (Generic, Show)
8390

@@ -89,102 +96,56 @@ data QueryProtocolParametersCmdArgs = QueryProtocolParametersCmdArgs
8996
}
9097
deriving (Generic, Show)
9198

92-
data QueryTipCmdArgs = QueryTipCmdArgs
93-
{ nodeSocketPath :: !SocketPath
94-
, consensusModeParams :: !ConsensusModeParams
95-
, networkId :: !NetworkId
96-
, target :: !(Consensus.Target ChainPoint)
97-
, mOutFile :: !(Maybe (File () Out))
98-
}
99+
newtype QueryTipCmdArgs = QueryTipCmdArgs QueryCommons
99100
deriving (Generic, Show)
100101

101102
data QueryStakePoolsCmdArgs = QueryStakePoolsCmdArgs
102-
{ nodeSocketPath :: !SocketPath
103-
, consensusModeParams :: !ConsensusModeParams
104-
, networkId :: !NetworkId
105-
, target :: !(Consensus.Target ChainPoint)
103+
{ commons :: !QueryCommons
106104
, format :: Maybe OutputFormatJsonOrText
107-
, mOutFile :: !(Maybe (File () Out))
108105
}
109106
deriving (Generic, Show)
110107

111108
data QueryStakeDistributionCmdArgs = QueryStakeDistributionCmdArgs
112-
{ nodeSocketPath :: !SocketPath
113-
, consensusModeParams :: !ConsensusModeParams
114-
, networkId :: !NetworkId
115-
, target :: !(Consensus.Target ChainPoint)
109+
{ commons :: !QueryCommons
116110
, format :: Maybe OutputFormatJsonOrText
117-
, mOutFile :: !(Maybe (File () Out))
118111
}
119112
deriving (Generic, Show)
120113

121114
data QueryStakeAddressInfoCmdArgs = QueryStakeAddressInfoCmdArgs
122-
{ nodeSocketPath :: !SocketPath
123-
, consensusModeParams :: !ConsensusModeParams
115+
{ commons :: !QueryCommons
124116
, addr :: !StakeAddress
125-
, networkId :: !NetworkId
126-
, target :: !(Consensus.Target ChainPoint)
127-
, mOutFile :: !(Maybe (File () Out))
128117
}
129118
deriving (Generic, Show)
130119

131120
data QueryUTxOCmdArgs = QueryUTxOCmdArgs
132-
{ nodeSocketPath :: !SocketPath
133-
, consensusModeParams :: !ConsensusModeParams
121+
{ commons :: !QueryCommons
134122
, queryFilter :: !QueryUTxOFilter
135-
, networkId :: !NetworkId
136-
, target :: !(Consensus.Target ChainPoint)
137123
, format :: Maybe OutputFormatJsonOrText
138-
, mOutFile :: !(Maybe (File () Out))
139124
}
140125
deriving (Generic, Show)
141126

142-
data QueryLedgerStateCmdArgs = QueryLedgerStateCmdArgs
143-
{ nodeSocketPath :: !SocketPath
144-
, consensusModeParams :: !ConsensusModeParams
145-
, networkId :: !NetworkId
146-
, target :: !(Consensus.Target ChainPoint)
147-
, mOutFile :: !(Maybe (File () Out))
148-
}
127+
newtype QueryLedgerStateCmdArgs = QueryLedgerStateCmdArgs QueryCommons
149128
deriving (Generic, Show)
150129

151-
data QueryProtocolStateCmdArgs = QueryProtocolStateCmdArgs
152-
{ nodeSocketPath :: !SocketPath
153-
, consensusModeParams :: !ConsensusModeParams
154-
, networkId :: !NetworkId
155-
, target :: !(Consensus.Target ChainPoint)
156-
, mOutFile :: !(Maybe (File () Out))
157-
}
130+
newtype QueryProtocolStateCmdArgs = QueryProtocolStateCmdArgs QueryCommons
158131
deriving (Generic, Show)
159132

160133
data QueryStakeSnapshotCmdArgs = QueryStakeSnapshotCmdArgs
161-
{ nodeSocketPath :: !SocketPath
162-
, consensusModeParams :: !ConsensusModeParams
163-
, networkId :: !NetworkId
134+
{ commons :: !QueryCommons
164135
, allOrOnlyPoolIds :: !(AllOrOnly (Hash StakePoolKey))
165-
, target :: !(Consensus.Target ChainPoint)
166-
, mOutFile :: !(Maybe (File () Out))
167136
}
168137
deriving (Generic, Show)
169138

170139
data QueryKesPeriodInfoCmdArgs = QueryKesPeriodInfoCmdArgs
171-
{ nodeSocketPath :: !SocketPath
172-
, consensusModeParams :: !ConsensusModeParams
173-
, networkId :: !NetworkId
140+
{ commons :: !QueryCommons
174141
, nodeOpCertFp :: !(File () In)
175142
-- ^ Node operational certificate
176-
, target :: !(Consensus.Target ChainPoint)
177-
, mOutFile :: !(Maybe (File () Out))
178143
}
179144
deriving (Generic, Show)
180145

181146
data QueryPoolStateCmdArgs = QueryPoolStateCmdArgs
182-
{ nodeSocketPath :: !SocketPath
183-
, consensusModeParams :: !ConsensusModeParams
184-
, networkId :: !NetworkId
147+
{ commons :: !QueryCommons
185148
, allOrOnlyPoolIds :: !(AllOrOnly (Hash StakePoolKey))
186-
, target :: !(Consensus.Target ChainPoint)
187-
, mOutFile :: !(Maybe (File () Out))
188149
}
189150
deriving (Generic, Show)
190151

@@ -207,80 +168,52 @@ data QuerySlotNumberCmdArgs = QuerySlotNumberCmdArgs
207168
deriving (Generic, Show)
208169

209170
data QueryRefScriptSizeCmdArgs = QueryRefScriptSizeCmdArgs
210-
{ nodeSocketPath :: !SocketPath
211-
, consensusModeParams :: !ConsensusModeParams
171+
{ commons :: !QueryCommons
212172
, transactionInputs :: !(Set TxIn)
213-
, networkId :: !NetworkId
214-
, target :: !(Consensus.Target ChainPoint)
215173
, format :: Maybe OutputFormatJsonOrText
216-
, mOutFile :: !(Maybe (File () Out))
217174
}
218175
deriving (Generic, Show)
219176

220177
data QueryNoArgCmdArgs era = QueryNoArgCmdArgs
221178
{ eon :: !(ConwayEraOnwards era)
222-
, nodeSocketPath :: !SocketPath
223-
, consensusModeParams :: !ConsensusModeParams
224-
, networkId :: !NetworkId
225-
, target :: !(Consensus.Target ChainPoint)
226-
, mOutFile :: !(Maybe (File () Out))
179+
, commons :: !QueryCommons
227180
}
228181
deriving Show
229182

230183
data QueryDRepStateCmdArgs era = QueryDRepStateCmdArgs
231184
{ eon :: !(ConwayEraOnwards era)
232-
, nodeSocketPath :: !SocketPath
233-
, consensusModeParams :: !ConsensusModeParams
234-
, networkId :: !NetworkId
185+
, commons :: !QueryCommons
235186
, drepHashSources :: !(AllOrOnly DRepHashSource)
236187
, includeStake :: !IncludeStake
237-
, target :: !(Consensus.Target ChainPoint)
238-
, mOutFile :: !(Maybe (File () Out))
239188
}
240189
deriving Show
241190

242191
data QueryDRepStakeDistributionCmdArgs era = QueryDRepStakeDistributionCmdArgs
243192
{ eon :: !(ConwayEraOnwards era)
244-
, nodeSocketPath :: !SocketPath
245-
, consensusModeParams :: !ConsensusModeParams
246-
, networkId :: !NetworkId
193+
, commons :: !QueryCommons
247194
, drepHashSources :: !(AllOrOnly DRepHashSource)
248-
, target :: !(Consensus.Target ChainPoint)
249-
, mOutFile :: !(Maybe (File () Out))
250195
}
251196
deriving Show
252197

253198
data QuerySPOStakeDistributionCmdArgs era = QuerySPOStakeDistributionCmdArgs
254199
{ eon :: !(ConwayEraOnwards era)
255-
, nodeSocketPath :: !SocketPath
256-
, consensusModeParams :: !ConsensusModeParams
257-
, networkId :: !NetworkId
200+
, commons :: !QueryCommons
258201
, spoHashSources :: !(AllOrOnly SPOHashSource)
259-
, target :: !(Consensus.Target ChainPoint)
260-
, mOutFile :: !(Maybe (File () Out))
261202
}
262203
deriving Show
263204

264205
data QueryCommitteeMembersStateCmdArgs era = QueryCommitteeMembersStateCmdArgs
265206
{ eon :: !(ConwayEraOnwards era)
266-
, nodeSocketPath :: !SocketPath
267-
, consensusModeParams :: !ConsensusModeParams
268-
, networkId :: !NetworkId
207+
, commons :: !QueryCommons
269208
, committeeColdKeys :: ![VerificationKeyOrHashOrFileOrScriptHash CommitteeColdKey]
270209
, committeeHotKeys :: ![VerificationKeyOrHashOrFileOrScriptHash CommitteeHotKey]
271210
, memberStatuses :: ![MemberStatus]
272-
, target :: !(Consensus.Target ChainPoint)
273-
, mOutFile :: !(Maybe (File () Out))
274211
}
275212
deriving Show
276213

277214
data QueryTreasuryValueCmdArgs era = QueryTreasuryValueCmdArgs
278215
{ eon :: !(ConwayEraOnwards era)
279-
, nodeSocketPath :: !SocketPath
280-
, consensusModeParams :: !ConsensusModeParams
281-
, networkId :: !NetworkId
282-
, target :: !(Consensus.Target ChainPoint)
283-
, mOutFile :: !(Maybe (File () Out))
216+
, commons :: !QueryCommons
284217
}
285218
deriving Show
286219

0 commit comments

Comments
 (0)