Skip to content

Commit

Permalink
Update cli query commands to handle Allega/Mary eras
Browse files Browse the repository at this point in the history
  • Loading branch information
Jimbo4350 authored and dcoutts committed Nov 30, 2020
1 parent 13cc50b commit 74877cb
Show file tree
Hide file tree
Showing 5 changed files with 344 additions and 199 deletions.
1 change: 1 addition & 0 deletions cardano-api/src/Cardano/Api/Address.hs
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ module Cardano.Api.Address (
fromShelleyStakeAddr,
fromShelleyStakeCredential,
fromShelleyStakeReference,
coerceShelleyStakeCredential,

-- * Serialising addresses
SerialiseAddress(..),
Expand Down
1 change: 1 addition & 0 deletions cardano-api/src/Cardano/Api/Typed.hs
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,7 @@ module Cardano.Api.Typed (
makeStakeAddress,
StakeKey,
StakeExtendedKey,
coerceShelleyStakeCredential,

-- * Currency values
-- ** Ada \/ Lovelace
Expand Down
12 changes: 6 additions & 6 deletions cardano-cli/src/Cardano/CLI/Shelley/Commands.hs
Original file line number Diff line number Diff line change
Expand Up @@ -270,13 +270,13 @@ renderPoolCmd cmd =
PoolMetaDataHash {} -> "stake-pool metadata-hash"

data QueryCmd =
QueryProtocolParameters Protocol NetworkId (Maybe OutputFile)
QueryProtocolParameters AnyCardanoEra Protocol NetworkId (Maybe OutputFile)
| QueryTip Protocol NetworkId (Maybe OutputFile)
| QueryStakeDistribution Protocol NetworkId (Maybe OutputFile)
| QueryStakeAddressInfo Protocol StakeAddress NetworkId (Maybe OutputFile)
| QueryUTxO Protocol QueryFilter NetworkId (Maybe OutputFile)
| QueryLedgerState Protocol NetworkId (Maybe OutputFile)
| QueryProtocolState Protocol NetworkId (Maybe OutputFile)
| QueryStakeDistribution AnyCardanoEra Protocol NetworkId (Maybe OutputFile)
| QueryStakeAddressInfo AnyCardanoEra Protocol StakeAddress NetworkId (Maybe OutputFile)
| QueryUTxO AnyCardanoEra Protocol QueryFilter NetworkId (Maybe OutputFile)
| QueryLedgerState AnyCardanoEra Protocol NetworkId (Maybe OutputFile)
| QueryProtocolState AnyCardanoEra Protocol NetworkId (Maybe OutputFile)
deriving (Eq, Show)

renderQueryCmd :: QueryCmd -> Text
Expand Down
43 changes: 27 additions & 16 deletions cardano-cli/src/Cardano/CLI/Shelley/Parsers.hs
Original file line number Diff line number Diff line change
Expand Up @@ -663,41 +663,52 @@ pQueryCmd =
pQueryProtocolParameters :: Parser QueryCmd
pQueryProtocolParameters =
QueryProtocolParameters
<$> pProtocol
<$> pCardanoEra
<*> pProtocol
<*> pNetworkId
<*> pMaybeOutputFile

pQueryTip :: Parser QueryCmd
pQueryTip = QueryTip <$> pProtocol <*> pNetworkId <*> pMaybeOutputFile
pQueryTip = QueryTip
<$> pProtocol
<*> pNetworkId
<*> pMaybeOutputFile

pQueryUTxO :: Parser QueryCmd
pQueryUTxO =
QueryUTxO
<$> pProtocol
<$> pCardanoEra
<*> pProtocol
<*> pQueryFilter
<*> pNetworkId
<*> pMaybeOutputFile

pQueryStakeDistribution :: Parser QueryCmd
pQueryStakeDistribution =
QueryStakeDistribution
<$> pProtocol
<$> pCardanoEra
<*> pProtocol
<*> pNetworkId
<*> pMaybeOutputFile

pQueryStakeAddressInfo :: Parser QueryCmd
pQueryStakeAddressInfo =
QueryStakeAddressInfo
<$> pProtocol
<$> pCardanoEra
<*> pProtocol
<*> pFilterByStakeAddress
<*> pNetworkId
<*> pMaybeOutputFile

pQueryLedgerState :: Parser QueryCmd
pQueryLedgerState = QueryLedgerState <$> pProtocol <*> pNetworkId <*> pMaybeOutputFile
pQueryLedgerState = QueryLedgerState <$> pCardanoEra <*> pProtocol <*> pNetworkId <*> pMaybeOutputFile

pQueryProtocolState :: Parser QueryCmd
pQueryProtocolState = QueryProtocolState <$> pProtocol <*> pNetworkId <*> pMaybeOutputFile
pQueryProtocolState = QueryProtocolState
<$> pCardanoEra
<*> pProtocol
<*> pNetworkId
<*> pMaybeOutputFile

pGovernanceCmd :: Parser GovernanceCmd
pGovernanceCmd =
Expand Down Expand Up @@ -2266,36 +2277,36 @@ pProtocol =
( Opt.long "shelley-mode"
<> Opt.help "For talking to a node running in Shelley-only mode."
)
*> pShelley
*> pShelleyMode
)
<|>
( Opt.flag' ()
( Opt.long "byron-mode"
<> Opt.help "For talking to a node running in Byron-only mode."
)
*> pByron
*> pByronMode
)
<|>
( Opt.flag' ()
( Opt.long "cardano-mode"
<> Opt.help "For talking to a node running in full Cardano mode (default)."
)
*> pCardano
*> pCardanoMode
)
<|>
-- Default to the Cardano protocol.
pure
(CardanoProtocol
(EpochSlots defaultByronEpochSlots))
where
pByron :: Parser Protocol
pByron = ByronProtocol <$> pEpochSlots
pByronMode :: Parser Protocol
pByronMode = ByronProtocol <$> pEpochSlots

pShelley :: Parser Protocol
pShelley = pure ShelleyProtocol
pShelleyMode :: Parser Protocol
pShelleyMode = pure ShelleyProtocol

pCardano :: Parser Protocol
pCardano = CardanoProtocol <$> pEpochSlots
pCardanoMode :: Parser Protocol
pCardanoMode = CardanoProtocol <$> pEpochSlots

pEpochSlots :: Parser EpochSlots
pEpochSlots =
Expand Down

0 comments on commit 74877cb

Please sign in to comment.