11{-# LANGUAGE DataKinds #-}
2+ {-# LANGUAGE FlexibleContexts #-}
23{-# LANGUAGE GADTs #-}
34{-# LANGUAGE ScopedTypeVariables #-}
45
@@ -59,6 +60,7 @@ import Cardano.Api.Internal.NetworkId
5960import Cardano.Api.Internal.Query
6061import Cardano.Api.Internal.ReexposeLedger qualified as Ledger
6162import Cardano.Api.Internal.Tx.UTxO
63+ import Cardano.Api.Internal.Utils ((<<<$>>>) )
6264
6365import Cardano.Ledger.Api qualified as L
6466import Cardano.Ledger.Api.State.Query qualified as L
@@ -128,8 +130,7 @@ queryCurrentEpochState
128130 r
129131 IO
130132 (Either UnsupportedNtcVersionError (Either EraMismatch (SerialisedCurrentEpochState era )))
131- queryCurrentEpochState sbe =
132- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe QueryCurrentEpochState
133+ queryCurrentEpochState eon = querySbe eon QueryCurrentEpochState
133134
134135queryEpoch
135136 :: ()
@@ -141,8 +142,7 @@ queryEpoch
141142 r
142143 IO
143144 (Either UnsupportedNtcVersionError (Either EraMismatch EpochNo ))
144- queryEpoch sbe =
145- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe QueryEpoch
145+ queryEpoch eon = querySbe eon QueryEpoch
146146
147147queryDebugLedgerState
148148 :: ()
@@ -154,8 +154,7 @@ queryDebugLedgerState
154154 r
155155 IO
156156 (Either UnsupportedNtcVersionError (Either EraMismatch (SerialisedDebugLedgerState era )))
157- queryDebugLedgerState sbe =
158- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe QueryDebugLedgerState
157+ queryDebugLedgerState eon = querySbe eon QueryDebugLedgerState
159158
160159queryLedgerPeerSnapshot
161160 :: ()
@@ -167,8 +166,7 @@ queryLedgerPeerSnapshot
167166 r
168167 IO
169168 (Either UnsupportedNtcVersionError (Either EraMismatch (Serialised LedgerPeerSnapshot )))
170- queryLedgerPeerSnapshot sbe =
171- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe QueryLedgerPeerSnapshot
169+ queryLedgerPeerSnapshot eon = querySbe eon QueryLedgerPeerSnapshot
172170
173171queryEraHistory
174172 :: ()
@@ -186,8 +184,7 @@ queryGenesisParameters
186184 r
187185 IO
188186 (Either UnsupportedNtcVersionError (Either EraMismatch (GenesisParameters ShelleyEra )))
189- queryGenesisParameters sbe =
190- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe QueryGenesisParameters
187+ queryGenesisParameters eon = querySbe eon QueryGenesisParameters
191188
192189queryPoolDistribution
193190 :: ()
@@ -200,9 +197,7 @@ queryPoolDistribution
200197 r
201198 IO
202199 (Either UnsupportedNtcVersionError (Either EraMismatch (SerialisedPoolDistribution era )))
203- queryPoolDistribution era mPoolIds = do
204- let sbe = convert era
205- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe $ QueryPoolDistribution mPoolIds
200+ queryPoolDistribution eon = querySbe eon . QueryPoolDistribution
206201
207202queryPoolState
208203 :: ()
@@ -215,9 +210,7 @@ queryPoolState
215210 r
216211 IO
217212 (Either UnsupportedNtcVersionError (Either EraMismatch (SerialisedPoolState era )))
218- queryPoolState era mPoolIds = do
219- let sbe = convert era
220- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe $ QueryPoolState mPoolIds
213+ queryPoolState eon = querySbe eon . QueryPoolState
221214
222215queryProtocolParameters
223216 :: ()
@@ -229,8 +222,7 @@ queryProtocolParameters
229222 r
230223 IO
231224 (Either UnsupportedNtcVersionError (Either EraMismatch (Ledger. PParams (ShelleyLedgerEra era ))))
232- queryProtocolParameters sbe =
233- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe QueryProtocolParameters
225+ queryProtocolParameters eon = querySbe eon QueryProtocolParameters
234226
235227queryConstitutionHash
236228 :: ()
@@ -245,11 +237,9 @@ queryConstitutionHash
245237 UnsupportedNtcVersionError
246238 (Either EraMismatch (SafeHash L. AnchorData ))
247239 )
248- queryConstitutionHash sbe =
249- (fmap . fmap . fmap ) (L. anchorDataHash . L. constitutionAnchor) $
250- queryExpr $
251- QueryInEra $
252- QueryInShelleyBasedEra sbe QueryConstitution
240+ queryConstitutionHash eon =
241+ (L. anchorDataHash . L. constitutionAnchor)
242+ <<<$>>> querySbe eon QueryConstitution
253243
254244queryProtocolState
255245 :: ()
@@ -261,8 +251,7 @@ queryProtocolState
261251 r
262252 IO
263253 (Either UnsupportedNtcVersionError (Either EraMismatch (ProtocolState era )))
264- queryProtocolState sbe =
265- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe QueryProtocolState
254+ queryProtocolState eon = querySbe eon QueryProtocolState
266255
267256queryStakeAddresses
268257 :: ()
@@ -279,8 +268,7 @@ queryStakeAddresses
279268 UnsupportedNtcVersionError
280269 (Either EraMismatch (Map StakeAddress L. Coin , Map StakeAddress PoolId ))
281270 )
282- queryStakeAddresses sbe stakeCredentials networkId =
283- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe $ QueryStakeAddresses stakeCredentials networkId
271+ queryStakeAddresses eon stakeCredentials networkId = querySbe eon $ QueryStakeAddresses stakeCredentials networkId
284272
285273queryStakeDelegDeposits
286274 :: BabbageEraOnwards era
@@ -292,11 +280,9 @@ queryStakeDelegDeposits
292280 r
293281 IO
294282 (Either UnsupportedNtcVersionError (Either Consensus. EraMismatch (Map StakeCredential L. Coin )))
295- queryStakeDelegDeposits era stakeCreds
283+ queryStakeDelegDeposits eon stakeCreds
296284 | S. null stakeCreds = pure . pure $ pure mempty
297- | otherwise = do
298- let sbe = convert era
299- queryExpr $ QueryInEra . QueryInShelleyBasedEra sbe $ QueryStakeDelegDeposits stakeCreds
285+ | otherwise = querySbe eon $ QueryStakeDelegDeposits stakeCreds
300286
301287queryStakeDistribution
302288 :: ()
@@ -308,8 +294,7 @@ queryStakeDistribution
308294 r
309295 IO
310296 (Either UnsupportedNtcVersionError (Either EraMismatch (Map (Hash StakePoolKey ) Rational )))
311- queryStakeDistribution sbe =
312- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe QueryStakeDistribution
297+ queryStakeDistribution eon = querySbe eon QueryStakeDistribution
313298
314299queryStakePoolParameters
315300 :: ()
@@ -322,10 +307,10 @@ queryStakePoolParameters
322307 r
323308 IO
324309 (Either UnsupportedNtcVersionError (Either EraMismatch (Map PoolId StakePoolParameters )))
325- queryStakePoolParameters sbe poolIds
310+ queryStakePoolParameters eon poolIds
326311 | S. null poolIds = pure . pure $ pure mempty
327312 | otherwise =
328- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe $ QueryStakePoolParameters poolIds
313+ querySbe eon $ QueryStakePoolParameters poolIds
329314
330315queryStakePools
331316 :: ()
@@ -337,8 +322,7 @@ queryStakePools
337322 r
338323 IO
339324 (Either UnsupportedNtcVersionError (Either EraMismatch (Set PoolId )))
340- queryStakePools sbe =
341- queryExpr $ QueryInEra . QueryInShelleyBasedEra sbe $ QueryStakePools
325+ queryStakePools eon = querySbe eon QueryStakePools
342326
343327queryStakeSnapshot
344328 :: ()
@@ -351,9 +335,7 @@ queryStakeSnapshot
351335 r
352336 IO
353337 (Either UnsupportedNtcVersionError (Either EraMismatch (SerialisedStakeSnapshots era )))
354- queryStakeSnapshot era mPoolIds = do
355- let sbe = convert era
356- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe $ QueryStakeSnapshot mPoolIds
338+ queryStakeSnapshot eon = querySbe eon . QueryStakeSnapshot
357339
358340querySystemStart
359341 :: ()
@@ -372,8 +354,7 @@ queryUtxo
372354 r
373355 IO
374356 (Either UnsupportedNtcVersionError (Either EraMismatch (UTxO era )))
375- queryUtxo sbe utxoFilter =
376- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe $ QueryUTxO utxoFilter
357+ queryUtxo eon = querySbe eon . QueryUTxO
377358
378359queryConstitution
379360 :: ()
@@ -385,9 +366,7 @@ queryConstitution
385366 r
386367 IO
387368 (Either UnsupportedNtcVersionError (Either EraMismatch (L. Constitution (ShelleyLedgerEra era ))))
388- queryConstitution era = do
389- let sbe = convert era
390- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe QueryConstitution
369+ queryConstitution eon = querySbe eon QueryConstitution
391370
392371queryGovState
393372 :: ()
@@ -399,9 +378,7 @@ queryGovState
399378 r
400379 IO
401380 (Either UnsupportedNtcVersionError (Either EraMismatch (L. GovState (ShelleyLedgerEra era ))))
402- queryGovState era = do
403- let sbe = convert era
404- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe QueryGovState
381+ queryGovState eon = querySbe eon QueryGovState
405382
406383queryRatifyState
407384 :: ()
@@ -413,9 +390,7 @@ queryRatifyState
413390 r
414391 IO
415392 (Either UnsupportedNtcVersionError (Either EraMismatch (L. RatifyState (ShelleyLedgerEra era ))))
416- queryRatifyState era = do
417- let sbe = convert era
418- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe QueryRatifyState
393+ queryRatifyState eon = querySbe eon QueryRatifyState
419394
420395queryFuturePParams
421396 :: ()
@@ -427,9 +402,7 @@ queryFuturePParams
427402 r
428403 IO
429404 (Either UnsupportedNtcVersionError (Either EraMismatch (Maybe (L. PParams (ShelleyLedgerEra era )))))
430- queryFuturePParams era = do
431- let sbe = convert era
432- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe QueryFuturePParams
405+ queryFuturePParams eon = querySbe eon QueryFuturePParams
433406
434407queryDRepState
435408 :: ConwayEraOnwards era
@@ -445,9 +418,7 @@ queryDRepState
445418 UnsupportedNtcVersionError
446419 (Either EraMismatch (Map (L. Credential L. DRepRole ) L. DRepState ))
447420 )
448- queryDRepState era drepCreds = do
449- let sbe = convert era
450- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe $ QueryDRepState drepCreds
421+ queryDRepState eon = querySbe eon . QueryDRepState
451422
452423queryDRepStakeDistribution
453424 :: ConwayEraOnwards era
@@ -460,9 +431,7 @@ queryDRepStakeDistribution
460431 r
461432 IO
462433 (Either UnsupportedNtcVersionError (Either EraMismatch (Map L. DRep L. Coin )))
463- queryDRepStakeDistribution era dreps = do
464- let sbe = convert era
465- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe $ QueryDRepStakeDistr dreps
434+ queryDRepStakeDistribution eon = querySbe eon . QueryDRepStakeDistr
466435
467436querySPOStakeDistribution
468437 :: ConwayEraOnwards era
@@ -478,9 +447,7 @@ querySPOStakeDistribution
478447 UnsupportedNtcVersionError
479448 (Either EraMismatch (Map (L. KeyHash 'L.StakePool ) L. Coin ))
480449 )
481- querySPOStakeDistribution era spos = do
482- let sbe = convert era
483- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe $ QuerySPOStakeDistr spos
450+ querySPOStakeDistribution eon = querySbe eon . QuerySPOStakeDistr
484451
485452-- | Returns info about committee members filtered by: cold credentials, hot credentials and statuses.
486453-- If empty sets are passed as filters, then no filtering is done.
@@ -496,11 +463,8 @@ queryCommitteeMembersState
496463 r
497464 IO
498465 (Either UnsupportedNtcVersionError (Either EraMismatch L. CommitteeMembersState ))
499- queryCommitteeMembersState era coldCreds hotCreds statuses = do
500- let sbe = convert era
501- queryExpr $
502- QueryInEra $
503- QueryInShelleyBasedEra sbe (QueryCommitteeMembersState coldCreds hotCreds statuses)
466+ queryCommitteeMembersState eon coldCreds hotCreds memberStatuses =
467+ querySbe eon $ QueryCommitteeMembersState coldCreds hotCreds memberStatuses
504468
505469queryStakeVoteDelegatees
506470 :: ConwayEraOnwards era
@@ -515,9 +479,7 @@ queryStakeVoteDelegatees
515479 UnsupportedNtcVersionError
516480 (Either EraMismatch (Map StakeCredential L. DRep ))
517481 )
518- queryStakeVoteDelegatees era stakeCredentials = do
519- let sbe = convert era
520- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe $ QueryStakeVoteDelegatees stakeCredentials
482+ queryStakeVoteDelegatees eon = querySbe eon . QueryStakeVoteDelegatees
521483
522484queryAccountState
523485 :: ConwayEraOnwards era
@@ -528,10 +490,7 @@ queryAccountState
528490 r
529491 IO
530492 (Either UnsupportedNtcVersionError (Either EraMismatch L. AccountState ))
531- queryAccountState cOnwards =
532- queryExpr $
533- QueryInEra . QueryInShelleyBasedEra (convert cOnwards) $
534- QueryAccountState
493+ queryAccountState eon = querySbe eon QueryAccountState
535494
536495queryProposals
537496 :: forall era block point r
@@ -549,11 +508,7 @@ queryProposals
549508 UnsupportedNtcVersionError
550509 (Either EraMismatch (Seq (L. GovActionState (ShelleyLedgerEra era ))))
551510 )
552- queryProposals cOnwards govActionIds = do
553- let sbe = convert cOnwards
554- queryExpr $
555- QueryInEra . QueryInShelleyBasedEra sbe $
556- QueryProposals govActionIds
511+ queryProposals eon = querySbe eon . QueryProposals
557512
558513queryStakePoolDefaultVote
559514 :: forall era block point r
@@ -569,8 +524,23 @@ queryStakePoolDefaultVote
569524 UnsupportedNtcVersionError
570525 (Either EraMismatch L. DefaultVote )
571526 )
572- queryStakePoolDefaultVote cOnwards stakePools = do
573- let sbe = convert cOnwards
574- queryExpr $
575- QueryInEra . QueryInShelleyBasedEra sbe $
576- QueryStakePoolDefaultVote stakePools
527+ queryStakePoolDefaultVote eon = querySbe eon . QueryStakePoolDefaultVote
528+
529+ querySbe
530+ :: Convert eon ShelleyBasedEra
531+ => eon era
532+ -> QueryInShelleyBasedEra era result
533+ -> LocalStateQueryExpr
534+ block
535+ point
536+ QueryInMode
537+ r
538+ IO
539+ ( Either
540+ UnsupportedNtcVersionError
541+ (Either EraMismatch result )
542+ )
543+ querySbe eon queryInSbe =
544+ shelleyBasedEraConstraints (convert eon) $
545+ queryExpr . QueryInEra $
546+ QueryInShelleyBasedEra (convert eon) queryInSbe
0 commit comments