From 9c6fbff66e38f97ecca3dffaeea3037cccc52c52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Hurlin?= Date: Fri, 12 Apr 2024 11:39:36 +0200 Subject: [PATCH] committee key-hash: support extended CC keys --- .../CLI/EraBased/Run/Governance/Committee.hs | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/cardano-cli/src/Cardano/CLI/EraBased/Run/Governance/Committee.hs b/cardano-cli/src/Cardano/CLI/EraBased/Run/Governance/Committee.hs index 6914e951b6..99c633eaa7 100644 --- a/cardano-cli/src/Cardano/CLI/EraBased/Run/Governance/Committee.hs +++ b/cardano-cli/src/Cardano/CLI/EraBased/Run/Governance/Committee.hs @@ -81,7 +81,9 @@ runGovernanceCommitteeKeyGenHot data SomeCommitteeKey = ACommitteeHotKey (VerificationKey CommitteeHotKey) + | ACommitteeHotExtendedKey (VerificationKey CommitteeHotExtendedKey) | ACommitteeColdKey (VerificationKey CommitteeColdKey) + | ACommitteeColdExtendedKey (VerificationKey CommitteeColdExtendedKey) runGovernanceCommitteeKeyHash :: () => Cmd.GovernanceCommitteeKeyHashCmdArgs era @@ -94,15 +96,19 @@ runGovernanceCommitteeKeyHash case vkeySource of AnyVerificationKeySourceOfText vkText -> do let asTypes = - [ FromSomeType (AsVerificationKey AsCommitteeHotKey ) ACommitteeHotKey - , FromSomeType (AsVerificationKey AsCommitteeColdKey) ACommitteeColdKey + [ FromSomeType (AsVerificationKey AsCommitteeHotKey) ACommitteeHotKey + , FromSomeType (AsVerificationKey AsCommitteeHotExtendedKey) ACommitteeHotExtendedKey + , FromSomeType (AsVerificationKey AsCommitteeColdKey) ACommitteeColdKey + , FromSomeType (AsVerificationKey AsCommitteeColdExtendedKey) ACommitteeColdExtendedKey ] pure (deserialiseAnyOfFromBech32 asTypes (unAnyVerificationKeyText vkText)) & onLeft (left . GovernanceCommitteeCmdKeyDecodeError . InputBech32DecodeError) AnyVerificationKeySourceOfFile vkeyPath -> do let asTypes = - [ FromSomeType (AsVerificationKey AsCommitteeHotKey ) ACommitteeHotKey - , FromSomeType (AsVerificationKey AsCommitteeColdKey) ACommitteeColdKey + [ FromSomeType (AsVerificationKey AsCommitteeHotKey) ACommitteeHotKey + , FromSomeType (AsVerificationKey AsCommitteeHotExtendedKey) ACommitteeHotExtendedKey + , FromSomeType (AsVerificationKey AsCommitteeColdKey) ACommitteeColdKey + , FromSomeType (AsVerificationKey AsCommitteeColdExtendedKey) ACommitteeColdExtendedKey ] readFileTextEnvelopeAnyOf asTypes vkeyPath & firstExceptT GovernanceCommitteeCmdTextEnvReadFileError . newExceptT @@ -112,8 +118,10 @@ runGovernanceCommitteeKeyHash where renderKeyHash :: SomeCommitteeKey -> ByteString renderKeyHash = \case - ACommitteeHotKey vk -> renderVerificationKeyHash vk - ACommitteeColdKey vk -> renderVerificationKeyHash vk + ACommitteeHotKey vk -> renderVerificationKeyHash vk + ACommitteeHotExtendedKey vk -> renderVerificationKeyHash vk + ACommitteeColdKey vk -> renderVerificationKeyHash vk + ACommitteeColdExtendedKey vk -> renderVerificationKeyHash vk renderVerificationKeyHash :: Key keyrole => VerificationKey keyrole -> ByteString renderVerificationKeyHash = serialiseToRawBytesHex