Skip to content

Commit 9b851c5

Browse files
authored
Merge pull request #1184 from IntersectMBO/newhoggy/simplify-by-not-using-QueryStakeAddressInfoCmdArgs
Simplify by not using `QueryStakeAddressInfoCmdArgs` unnecessarily
2 parents 5daddff + 01e646f commit 9b851c5

File tree

1 file changed

+28
-27
lines changed
  • cardano-cli/src/Cardano/CLI/EraBased/Query

1 file changed

+28
-27
lines changed

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

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -996,12 +996,13 @@ runQueryStakeAddressInfoCmd
996996
=> Cmd.QueryStakeAddressInfoCmdArgs
997997
-> ExceptT QueryCmdError IO ()
998998
runQueryStakeAddressInfoCmd
999-
cmd@Cmd.QueryStakeAddressInfoCmdArgs
999+
Cmd.QueryStakeAddressInfoCmdArgs
10001000
{ Cmd.commons =
1001-
Cmd.QueryCommons
1001+
commons@Cmd.QueryCommons
10021002
{ Cmd.nodeConnInfo
10031003
, Cmd.target
10041004
}
1005+
, Cmd.addr
10051006
, Cmd.outputFormat
10061007
, Cmd.mOutFile
10071008
} = do
@@ -1012,11 +1013,11 @@ runQueryStakeAddressInfoCmd
10121013
& onLeft (left . QueryCmdUnsupportedNtcVersion)
10131014
sbe <- requireShelleyBasedEra era & onNothing (left QueryCmdByronEra)
10141015

1015-
said <- callQueryStakeAddressInfoCmd cmd
1016+
said <- getQueryStakeAddressInfo commons addr
10161017

10171018
writeStakeAddressInfo sbe said outputFormat mOutFile
10181019

1019-
-- | Container for data returned by 'callQueryStakeAddressInfoCmd' where:
1020+
-- | Container for data returned by 'getQueryStakeAddressInfo' where:
10201021
data StakeAddressInfoData = StakeAddressInfoData
10211022
{ rewards :: DelegationsAndRewards
10221023
-- ^ Rewards: map of stake addresses to pool ID and rewards balance.
@@ -1029,19 +1030,16 @@ data StakeAddressInfoData = StakeAddressInfoData
10291030
-- ^ Delegatees: map of stake addresses and their vote delegation preference.
10301031
}
10311032

1032-
callQueryStakeAddressInfoCmd
1033-
:: ()
1034-
=> Cmd.QueryStakeAddressInfoCmdArgs
1033+
getQueryStakeAddressInfo
1034+
:: Cmd.QueryCommons
1035+
-> StakeAddress
10351036
-> ExceptT QueryCmdError IO StakeAddressInfoData
1036-
callQueryStakeAddressInfoCmd
1037-
Cmd.QueryStakeAddressInfoCmdArgs
1038-
{ Cmd.commons =
1039-
Cmd.QueryCommons
1040-
{ Cmd.nodeConnInfo = nodeConnInfo@LocalNodeConnectInfo{localNodeNetworkId = networkId}
1041-
, Cmd.target
1042-
}
1043-
, Cmd.addr = StakeAddress _ addr
1044-
} =
1037+
getQueryStakeAddressInfo
1038+
Cmd.QueryCommons
1039+
{ Cmd.nodeConnInfo = nodeConnInfo@LocalNodeConnectInfo{localNodeNetworkId = networkId}
1040+
, Cmd.target
1041+
}
1042+
(StakeAddress _ addr) =
10451043
do
10461044
lift $ executeLocalStateQueryExpr nodeConnInfo target $ runExceptT $ do
10471045
AnyCardanoEra era <- easyRunQueryCurrentEra
@@ -1850,19 +1848,11 @@ runQuerySPOStakeDistribution
18501848
| (keyHash, addr) <- Map.toList $ L.psStakePoolParams poolState
18511849
]
18521850

1853-
mkQueryStakeAddressInfoCmdArgs addr =
1854-
Cmd.QueryStakeAddressInfoCmdArgs
1855-
{ Cmd.commons = commons
1856-
, addr
1857-
, outputFormat
1858-
, mOutFile -- unused anyway. TODO tighten this by removing the field.
1859-
}
1860-
18611851
spoToDelegatee <-
18621852
Map.fromList . concat
18631853
<$> traverse
18641854
( \stakeAddr -> do
1865-
info <- callQueryStakeAddressInfoCmd $ mkQueryStakeAddressInfoCmdArgs stakeAddr
1855+
info <- getQueryStakeAddressInfo commons stakeAddr
18661856
return $
18671857
[ (spo, delegatee)
18681858
| (Just spo, delegatee) <-
@@ -1871,15 +1861,26 @@ runQuerySPOStakeDistribution
18711861
)
18721862
(Map.keys addressesAndRewards)
18731863

1874-
let toWrite =
1864+
let json =
18751865
[ ( spo
18761866
, coin
18771867
, Map.lookup spo spoToDelegatee
18781868
)
18791869
| (spo, coin) <- Map.assocs spoStakeDistribution
18801870
]
18811871

1882-
writeOutput mOutFile toWrite
1872+
output =
1873+
outputFormat
1874+
& ( id
1875+
. Vary.on (\FormatJson -> Json.encodeJson)
1876+
. Vary.on (\FormatYaml -> Json.encodeYaml)
1877+
$ Vary.exhaustiveCase
1878+
)
1879+
$ json
1880+
1881+
firstExceptT QueryCmdWriteFileError
1882+
. newExceptT
1883+
$ writeLazyByteStringOutput mOutFile output
18831884

18841885
runQueryCommitteeMembersState
18851886
:: Cmd.QueryCommitteeMembersStateCmdArgs era

0 commit comments

Comments
 (0)