Skip to content

Commit

Permalink
Integrate QueryStakePoolDefaultVote
Browse files Browse the repository at this point in the history
  • Loading branch information
jasagredo committed Mar 6, 2025
1 parent 9006b84 commit 21cc3ca
Show file tree
Hide file tree
Showing 4 changed files with 66 additions and 2 deletions.
4 changes: 2 additions & 2 deletions cabal.project
Original file line number Diff line number Diff line change
Expand Up @@ -129,8 +129,8 @@ source-repository-package
source-repository-package
type: git
location: https://github.com/input-output-hk/cardano-api
tag: de211cac855cf7e9e1bcd668a86bc121057efcc1
--sha256: sha256-PX/NITXB65xIIS1enOeHbVZCq0CAksVM1kq24Uco1pg=
tag: e9e383ab09695921cf728397d3f2e2cd986e22b9
--sha256: sha256-q1rdmMAvh+fV98tbQQhYep6zr8tOE+UsutWTZiw+FAY=
subdir:
cardano-api
cardano-api-gen
12 changes: 12 additions & 0 deletions cardano-cli/src/Cardano/CLI/EraBased/Query/Command.hs
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ module Cardano.CLI.EraBased.Query.Command
, QuerySPOStakeDistributionCmdArgs (..)
, QueryTreasuryValueCmdArgs (..)
, QueryLedgerPeerSnapshotCmdArgs (..)
, QueryStakePoolDefaultVoteCmdArgs (..)
, renderQueryCmds
, IncludeStake (..)
)
Expand Down Expand Up @@ -74,6 +75,7 @@ data QueryCmds era
| QueryTreasuryValueCmd !(QueryTreasuryValueCmdArgs era)
| QueryProposalsCmd !(QueryProposalsCmdArgs era)
| QueryLedgerPeerSnapshotCmd !QueryLedgerPeerSnapshotCmdArgs
| QueryStakePoolDefaultVoteCmd !(QueryStakePoolDefaultVoteCmdArgs era)
deriving (Generic, Show)

-- | Fields that are common to most queries
Expand Down Expand Up @@ -253,6 +255,14 @@ data QueryTreasuryValueCmdArgs era = QueryTreasuryValueCmdArgs
}
deriving Show

data QueryStakePoolDefaultVoteCmdArgs era = QueryStakePoolDefaultVoteCmdArgs
{ eon :: !(ConwayEraOnwards era)
, commons :: !QueryCommons
, spoHashSources :: !SPOHashSource
, mOutFile :: !(Maybe (File () Out))
}
deriving Show

renderQueryCmds :: QueryCmds era -> Text
renderQueryCmds = \case
QueryLeadershipScheduleCmd{} ->
Expand Down Expand Up @@ -307,6 +317,8 @@ renderQueryCmds = \case
"committee-state"
QueryTreasuryValueCmd{} ->
"treasury"
QueryStakePoolDefaultVoteCmd{} ->
"query stake-pool-default-vote"

renderTxMempoolQuery :: TxMempoolQuery -> Text
renderTxMempoolQuery = \case
Expand Down
21 changes: 21 additions & 0 deletions cardano-cli/src/Cardano/CLI/EraBased/Query/Option.hs
Original file line number Diff line number Diff line change
Expand Up @@ -297,6 +297,7 @@ pQueryCmds era envCli =
, pQueryGetCommitteeStateCmd era envCli
, pQueryTreasuryValueCmd era envCli
, pQueryProposalsCmd era envCli
, pQueryStakePoolDefaultVote era envCli
]

pQueryProtocolParametersCmd :: EnvCli -> Parser (QueryCmds era)
Expand Down Expand Up @@ -710,6 +711,26 @@ pQueryTreasuryValueCmd era envCli = do
<$> pQueryCommons era envCli
<*> pMaybeOutputFile

pQueryStakePoolDefaultVote
:: ()
=> ShelleyBasedEra era
-> EnvCli
-> Maybe (Parser (QueryCmds era))
pQueryStakePoolDefaultVote era envCli = do
w <- forShelleyBasedEraMaybeEon era
pure $
subParser "stake-pool-default-vote" $
Opt.info (QueryStakePoolDefaultVoteCmd <$> pQueryStakePoolDefaultVoteCmdArgs w) $
Opt.progDesc "Get the stake pool default vote."
where
pQueryStakePoolDefaultVoteCmdArgs
:: ConwayEraOnwards era -> Parser (QueryStakePoolDefaultVoteCmdArgs era)
pQueryStakePoolDefaultVoteCmdArgs w =
QueryStakePoolDefaultVoteCmdArgs w
<$> pQueryCommons era envCli
<*> pSPOHashSource
<*> pMaybeOutputFile

pQueryNoArgCmdArgs
:: forall era
. ()
Expand Down
31 changes: 31 additions & 0 deletions cardano-cli/src/Cardano/CLI/EraBased/Query/Run.hs
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ module Cardano.CLI.EraBased.Query.Run
)
where

import Cardano.Ledger.Api.State.Query qualified as L
import Cardano.Api hiding (QueryInShelleyBasedEra (..))
import Cardano.Api qualified as Api
import Cardano.Api.Consensus qualified as Consensus
Expand Down Expand Up @@ -123,6 +124,7 @@ runQueryCmds = \case
Cmd.QueryCommitteeMembersStateCmd args -> runQueryCommitteeMembersState args
Cmd.QueryTreasuryValueCmd args -> runQueryTreasuryValue args
Cmd.QueryProposalsCmd args -> runQueryProposals args
Cmd.QueryStakePoolDefaultVoteCmd args -> runQueryStakePoolDefaultVote args

runQueryProtocolParametersCmd
:: ()
Expand Down Expand Up @@ -1848,6 +1850,35 @@ runQueryProposals

writeOutput mOutFile govActionStates

runQueryStakePoolDefaultVote
:: Cmd.QueryStakePoolDefaultVoteCmdArgs era
-> ExceptT QueryCmdError IO ()
runQueryStakePoolDefaultVote
Cmd.QueryStakePoolDefaultVoteCmdArgs
{ Cmd.eon
, Cmd.commons =
Cmd.QueryCommons
{ Cmd.nodeConnInfo
, Cmd.target
}
, Cmd.spoHashSources
, Cmd.mOutFile
} = conwayEraOnwardsConstraints eon $ do
let spoFromSource = firstExceptT QueryCmdSPOKeyError . readSPOCredential
spo <- spoFromSource spoHashSources

defVote :: L.DefaultVote <-
runQuery nodeConnInfo target $ queryStakePoolDefaultVote eon spo

let defVoteString = show defVote
case mOutFile of
Nothing ->
liftIO $ putStrLn defVoteString
Just outFile ->
firstExceptT QueryCmdWriteFileError . ExceptT $
writeLazyByteStringFile outFile $
LBS.pack defVoteString

runQuery
:: LocalNodeConnectInfo
-> Consensus.Target ChainPoint
Expand Down

0 comments on commit 21cc3ca

Please sign in to comment.