diff --git a/cardano-api/src/Cardano/Api.hs b/cardano-api/src/Cardano/Api.hs index d9534efd99a..4e6f22328ea 100644 --- a/cardano-api/src/Cardano/Api.hs +++ b/cardano-api/src/Cardano/Api.hs @@ -101,6 +101,7 @@ module Cardano.Api ( StakeAddress, StakeCredential, makeStakeAddress, + stakeAddressCredential, StakeKey, StakeExtendedKey, diff --git a/cardano-api/src/Cardano/Api/Address.hs b/cardano-api/src/Cardano/Api/Address.hs index 094fa8f2b6d..1df9cf0bb80 100644 --- a/cardano-api/src/Cardano/Api/Address.hs +++ b/cardano-api/src/Cardano/Api/Address.hs @@ -44,6 +44,7 @@ module Cardano.Api.Address ( StakeAddress(..), StakeCredential(..), makeStakeAddress, + stakeAddressCredential, StakeKey, StakeExtendedKey, @@ -630,3 +631,6 @@ fromShelleyStakeReference (Shelley.StakeRefPtr ptr) = fromShelleyStakeReference Shelley.StakeRefNull = NoStakeAddress +-- | Get credential from a stake address. This drops the network information. +stakeAddressCredential :: StakeAddress -> StakeCredential +stakeAddressCredential (StakeAddress _ scred) = fromShelleyStakeCredential scred diff --git a/cardano-cli/src/Cardano/CLI/Shelley/Run/Governance.hs b/cardano-cli/src/Cardano/CLI/Shelley/Run/Governance.hs index 78791b2063f..9afbe936712 100644 --- a/cardano-cli/src/Cardano/CLI/Shelley/Run/Governance.hs +++ b/cardano-cli/src/Cardano/CLI/Shelley/Run/Governance.hs @@ -74,7 +74,7 @@ runGovernanceMIRCertificatePayStakeAddrs mirPot sAddrs rwdAmts (OutputFile oFp) left $ ShelleyGovernanceCmdMIRCertificateKeyRewardMistmach oFp (length sAddrs) (length rwdAmts) - let sCreds = map stakeAddrToStakeCredential sAddrs + let sCreds = map stakeAddressCredential sAddrs mirCert = makeMIRCertificate mirPot (StakeAddressesMIR $ zip sCreds rwdAmts) firstExceptT ShelleyGovernanceCmdTextEnvWriteError @@ -84,11 +84,6 @@ runGovernanceMIRCertificatePayStakeAddrs mirPot sAddrs rwdAmts (OutputFile oFp) mirCertDesc :: TextEnvelopeDescr mirCertDesc = "Move Instantaneous Rewards Certificate" - --TODO: expose a pattern for StakeAddress that give us the StakeCredential - stakeAddrToStakeCredential :: StakeAddress -> StakeCredential - stakeAddrToStakeCredential (StakeAddress _ scred) = - fromShelleyStakeCredential scred - runGovernanceMIRCertificateTransfer :: Lovelace -> OutputFile