1
1
{-# LANGUAGE DataKinds #-}
2
+ {-# LANGUAGE FlexibleContexts #-}
2
3
{-# LANGUAGE GADTs #-}
3
4
{-# LANGUAGE ScopedTypeVariables #-}
4
5
@@ -59,6 +60,7 @@ import Cardano.Api.Internal.NetworkId
59
60
import Cardano.Api.Internal.Query
60
61
import Cardano.Api.Internal.ReexposeLedger qualified as Ledger
61
62
import Cardano.Api.Internal.Tx.UTxO
63
+ import Cardano.Api.Internal.Utils ((<<<$>>>) )
62
64
63
65
import Cardano.Ledger.Api qualified as L
64
66
import Cardano.Ledger.Api.State.Query qualified as L
@@ -128,8 +130,7 @@ queryCurrentEpochState
128
130
r
129
131
IO
130
132
(Either UnsupportedNtcVersionError (Either EraMismatch (SerialisedCurrentEpochState era )))
131
- queryCurrentEpochState sbe =
132
- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe QueryCurrentEpochState
133
+ queryCurrentEpochState eon = querySbe eon QueryCurrentEpochState
133
134
134
135
queryEpoch
135
136
:: ()
@@ -141,8 +142,7 @@ queryEpoch
141
142
r
142
143
IO
143
144
(Either UnsupportedNtcVersionError (Either EraMismatch EpochNo ))
144
- queryEpoch sbe =
145
- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe QueryEpoch
145
+ queryEpoch eon = querySbe eon QueryEpoch
146
146
147
147
queryDebugLedgerState
148
148
:: ()
@@ -154,8 +154,7 @@ queryDebugLedgerState
154
154
r
155
155
IO
156
156
(Either UnsupportedNtcVersionError (Either EraMismatch (SerialisedDebugLedgerState era )))
157
- queryDebugLedgerState sbe =
158
- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe QueryDebugLedgerState
157
+ queryDebugLedgerState eon = querySbe eon QueryDebugLedgerState
159
158
160
159
queryLedgerPeerSnapshot
161
160
:: ()
@@ -167,8 +166,7 @@ queryLedgerPeerSnapshot
167
166
r
168
167
IO
169
168
(Either UnsupportedNtcVersionError (Either EraMismatch (Serialised LedgerPeerSnapshot )))
170
- queryLedgerPeerSnapshot sbe =
171
- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe QueryLedgerPeerSnapshot
169
+ queryLedgerPeerSnapshot eon = querySbe eon QueryLedgerPeerSnapshot
172
170
173
171
queryEraHistory
174
172
:: ()
@@ -186,8 +184,7 @@ queryGenesisParameters
186
184
r
187
185
IO
188
186
(Either UnsupportedNtcVersionError (Either EraMismatch (GenesisParameters ShelleyEra )))
189
- queryGenesisParameters sbe =
190
- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe QueryGenesisParameters
187
+ queryGenesisParameters eon = querySbe eon QueryGenesisParameters
191
188
192
189
queryPoolDistribution
193
190
:: ()
@@ -200,9 +197,7 @@ queryPoolDistribution
200
197
r
201
198
IO
202
199
(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
206
201
207
202
queryPoolState
208
203
:: ()
@@ -215,9 +210,7 @@ queryPoolState
215
210
r
216
211
IO
217
212
(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
221
214
222
215
queryProtocolParameters
223
216
:: ()
@@ -229,8 +222,7 @@ queryProtocolParameters
229
222
r
230
223
IO
231
224
(Either UnsupportedNtcVersionError (Either EraMismatch (Ledger. PParams (ShelleyLedgerEra era ))))
232
- queryProtocolParameters sbe =
233
- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe QueryProtocolParameters
225
+ queryProtocolParameters eon = querySbe eon QueryProtocolParameters
234
226
235
227
queryConstitutionHash
236
228
:: ()
@@ -245,11 +237,9 @@ queryConstitutionHash
245
237
UnsupportedNtcVersionError
246
238
(Either EraMismatch (SafeHash L. AnchorData ))
247
239
)
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
253
243
254
244
queryProtocolState
255
245
:: ()
@@ -261,8 +251,7 @@ queryProtocolState
261
251
r
262
252
IO
263
253
(Either UnsupportedNtcVersionError (Either EraMismatch (ProtocolState era )))
264
- queryProtocolState sbe =
265
- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe QueryProtocolState
254
+ queryProtocolState eon = querySbe eon QueryProtocolState
266
255
267
256
queryStakeAddresses
268
257
:: ()
@@ -279,8 +268,7 @@ queryStakeAddresses
279
268
UnsupportedNtcVersionError
280
269
(Either EraMismatch (Map StakeAddress L. Coin , Map StakeAddress PoolId ))
281
270
)
282
- queryStakeAddresses sbe stakeCredentials networkId =
283
- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe $ QueryStakeAddresses stakeCredentials networkId
271
+ queryStakeAddresses eon stakeCredentials networkId = querySbe eon $ QueryStakeAddresses stakeCredentials networkId
284
272
285
273
queryStakeDelegDeposits
286
274
:: BabbageEraOnwards era
@@ -292,11 +280,9 @@ queryStakeDelegDeposits
292
280
r
293
281
IO
294
282
(Either UnsupportedNtcVersionError (Either Consensus. EraMismatch (Map StakeCredential L. Coin )))
295
- queryStakeDelegDeposits era stakeCreds
283
+ queryStakeDelegDeposits eon stakeCreds
296
284
| 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
300
286
301
287
queryStakeDistribution
302
288
:: ()
@@ -308,8 +294,7 @@ queryStakeDistribution
308
294
r
309
295
IO
310
296
(Either UnsupportedNtcVersionError (Either EraMismatch (Map (Hash StakePoolKey ) Rational )))
311
- queryStakeDistribution sbe =
312
- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe QueryStakeDistribution
297
+ queryStakeDistribution eon = querySbe eon QueryStakeDistribution
313
298
314
299
queryStakePoolParameters
315
300
:: ()
@@ -322,10 +307,10 @@ queryStakePoolParameters
322
307
r
323
308
IO
324
309
(Either UnsupportedNtcVersionError (Either EraMismatch (Map PoolId StakePoolParameters )))
325
- queryStakePoolParameters sbe poolIds
310
+ queryStakePoolParameters eon poolIds
326
311
| S. null poolIds = pure . pure $ pure mempty
327
312
| otherwise =
328
- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe $ QueryStakePoolParameters poolIds
313
+ querySbe eon $ QueryStakePoolParameters poolIds
329
314
330
315
queryStakePools
331
316
:: ()
@@ -337,8 +322,7 @@ queryStakePools
337
322
r
338
323
IO
339
324
(Either UnsupportedNtcVersionError (Either EraMismatch (Set PoolId )))
340
- queryStakePools sbe =
341
- queryExpr $ QueryInEra . QueryInShelleyBasedEra sbe $ QueryStakePools
325
+ queryStakePools eon = querySbe eon QueryStakePools
342
326
343
327
queryStakeSnapshot
344
328
:: ()
@@ -351,9 +335,7 @@ queryStakeSnapshot
351
335
r
352
336
IO
353
337
(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
357
339
358
340
querySystemStart
359
341
:: ()
@@ -372,8 +354,7 @@ queryUtxo
372
354
r
373
355
IO
374
356
(Either UnsupportedNtcVersionError (Either EraMismatch (UTxO era )))
375
- queryUtxo sbe utxoFilter =
376
- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe $ QueryUTxO utxoFilter
357
+ queryUtxo eon = querySbe eon . QueryUTxO
377
358
378
359
queryConstitution
379
360
:: ()
@@ -385,9 +366,7 @@ queryConstitution
385
366
r
386
367
IO
387
368
(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
391
370
392
371
queryGovState
393
372
:: ()
@@ -399,9 +378,7 @@ queryGovState
399
378
r
400
379
IO
401
380
(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
405
382
406
383
queryRatifyState
407
384
:: ()
@@ -413,9 +390,7 @@ queryRatifyState
413
390
r
414
391
IO
415
392
(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
419
394
420
395
queryFuturePParams
421
396
:: ()
@@ -427,9 +402,7 @@ queryFuturePParams
427
402
r
428
403
IO
429
404
(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
433
406
434
407
queryDRepState
435
408
:: ConwayEraOnwards era
@@ -445,9 +418,7 @@ queryDRepState
445
418
UnsupportedNtcVersionError
446
419
(Either EraMismatch (Map (L. Credential L. DRepRole ) L. DRepState ))
447
420
)
448
- queryDRepState era drepCreds = do
449
- let sbe = convert era
450
- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe $ QueryDRepState drepCreds
421
+ queryDRepState eon = querySbe eon . QueryDRepState
451
422
452
423
queryDRepStakeDistribution
453
424
:: ConwayEraOnwards era
@@ -460,9 +431,7 @@ queryDRepStakeDistribution
460
431
r
461
432
IO
462
433
(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
466
435
467
436
querySPOStakeDistribution
468
437
:: ConwayEraOnwards era
@@ -478,9 +447,7 @@ querySPOStakeDistribution
478
447
UnsupportedNtcVersionError
479
448
(Either EraMismatch (Map (L. KeyHash 'L.StakePool ) L. Coin ))
480
449
)
481
- querySPOStakeDistribution era spos = do
482
- let sbe = convert era
483
- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe $ QuerySPOStakeDistr spos
450
+ querySPOStakeDistribution eon = querySbe eon . QuerySPOStakeDistr
484
451
485
452
-- | Returns info about committee members filtered by: cold credentials, hot credentials and statuses.
486
453
-- If empty sets are passed as filters, then no filtering is done.
@@ -496,11 +463,8 @@ queryCommitteeMembersState
496
463
r
497
464
IO
498
465
(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
504
468
505
469
queryStakeVoteDelegatees
506
470
:: ConwayEraOnwards era
@@ -515,9 +479,7 @@ queryStakeVoteDelegatees
515
479
UnsupportedNtcVersionError
516
480
(Either EraMismatch (Map StakeCredential L. DRep ))
517
481
)
518
- queryStakeVoteDelegatees era stakeCredentials = do
519
- let sbe = convert era
520
- queryExpr $ QueryInEra $ QueryInShelleyBasedEra sbe $ QueryStakeVoteDelegatees stakeCredentials
482
+ queryStakeVoteDelegatees eon = querySbe eon . QueryStakeVoteDelegatees
521
483
522
484
queryAccountState
523
485
:: ConwayEraOnwards era
@@ -528,10 +490,7 @@ queryAccountState
528
490
r
529
491
IO
530
492
(Either UnsupportedNtcVersionError (Either EraMismatch L. AccountState ))
531
- queryAccountState cOnwards =
532
- queryExpr $
533
- QueryInEra . QueryInShelleyBasedEra (convert cOnwards) $
534
- QueryAccountState
493
+ queryAccountState eon = querySbe eon QueryAccountState
535
494
536
495
queryProposals
537
496
:: forall era block point r
@@ -549,11 +508,7 @@ queryProposals
549
508
UnsupportedNtcVersionError
550
509
(Either EraMismatch (Seq (L. GovActionState (ShelleyLedgerEra era ))))
551
510
)
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
557
512
558
513
queryStakePoolDefaultVote
559
514
:: forall era block point r
@@ -569,8 +524,23 @@ queryStakePoolDefaultVote
569
524
UnsupportedNtcVersionError
570
525
(Either EraMismatch L. DefaultVote )
571
526
)
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