{-# LANGUAGE DataKinds #-} module Cardano.CLI.EraIndependent.Cip.Cip129.Internal.Conversion ( encodeCip129DrepVerficationKeyText , encodeCip129CommitteeColdVerficationKeyText , encodeCip129CommitteeHotVerficationKeyText , encodeCip129GovernanceActionIdText ) where import Cardano.Api import Cardano.Api.Ledger qualified as L import Cardano.CLI.Read.Committee.ColdKey import Cardano.CLI.Read.Committee.HotKey import Cardano.CLI.Read.DRep import Data.Text encodeCip129DrepVerficationKeyText :: AnyDrepVerificationKey -> Text encodeCip129DrepVerficationKeyText :: AnyDrepVerificationKey -> Text encodeCip129DrepVerficationKeyText = Credential 'DRepRole -> Text forall a. Cip129 a => a -> Text serialiseToBech32Cip129 (Credential 'DRepRole -> Text) -> (AnyDrepVerificationKey -> Credential 'DRepRole) -> AnyDrepVerificationKey -> Text forall b c a. (b -> c) -> (a -> b) -> a -> c . AnyDrepVerificationKey -> Credential 'DRepRole anyDrepVerificationKeyToCredential anyDrepVerificationKeyToCredential :: AnyDrepVerificationKey -> L.Credential L.DRepRole anyDrepVerificationKeyToCredential :: AnyDrepVerificationKey -> Credential 'DRepRole anyDrepVerificationKeyToCredential AnyDrepVerificationKey drepKey = case AnyDrepVerificationKey drepKey of AnyDrepVerificationKey VerificationKey DRepKey vk -> let DRepKeyHash KeyHash 'DRepRole hash = VerificationKey DRepKey -> Hash DRepKey forall keyrole. Key keyrole => VerificationKey keyrole -> Hash keyrole verificationKeyHash VerificationKey DRepKey vk in KeyHash 'DRepRole -> Credential 'DRepRole forall (kr :: KeyRole). KeyHash kr -> Credential kr L.KeyHashObj KeyHash 'DRepRole hash AnyDrepExtendedVerificationKey VerificationKey DRepExtendedKey vk -> let DRepExtendedKeyHash KeyHash 'DRepRole hash = VerificationKey DRepExtendedKey -> Hash DRepExtendedKey forall keyrole. Key keyrole => VerificationKey keyrole -> Hash keyrole verificationKeyHash VerificationKey DRepExtendedKey vk in KeyHash 'DRepRole -> Credential 'DRepRole forall (kr :: KeyRole). KeyHash kr -> Credential kr L.KeyHashObj KeyHash 'DRepRole hash encodeCip129CommitteeHotVerficationKeyText :: AnyCommitteeHotVerificationKey -> Text encodeCip129CommitteeHotVerficationKeyText :: AnyCommitteeHotVerificationKey -> Text encodeCip129CommitteeHotVerficationKeyText = Credential 'HotCommitteeRole -> Text forall a. Cip129 a => a -> Text serialiseToBech32Cip129 (Credential 'HotCommitteeRole -> Text) -> (AnyCommitteeHotVerificationKey -> Credential 'HotCommitteeRole) -> AnyCommitteeHotVerificationKey -> Text forall b c a. (b -> c) -> (a -> b) -> a -> c . AnyCommitteeHotVerificationKey -> Credential 'HotCommitteeRole anyCommitteeHotVerificationKeyToCredential anyCommitteeHotVerificationKeyToCredential :: AnyCommitteeHotVerificationKey -> L.Credential L.HotCommitteeRole anyCommitteeHotVerificationKeyToCredential :: AnyCommitteeHotVerificationKey -> Credential 'HotCommitteeRole anyCommitteeHotVerificationKeyToCredential AnyCommitteeHotVerificationKey committeeHotKey = case AnyCommitteeHotVerificationKey committeeHotKey of AnyCommitteeHotVerificationKey VerificationKey CommitteeHotKey vk -> let CommitteeHotKeyHash KeyHash 'HotCommitteeRole hash = VerificationKey CommitteeHotKey -> Hash CommitteeHotKey forall keyrole. Key keyrole => VerificationKey keyrole -> Hash keyrole verificationKeyHash VerificationKey CommitteeHotKey vk in KeyHash 'HotCommitteeRole -> Credential 'HotCommitteeRole forall (kr :: KeyRole). KeyHash kr -> Credential kr L.KeyHashObj KeyHash 'HotCommitteeRole hash AnyCommitteeHotExtendedVerificationKey VerificationKey CommitteeHotExtendedKey vk -> let CommitteeHotExtendedKeyHash KeyHash 'HotCommitteeRole hash = VerificationKey CommitteeHotExtendedKey -> Hash CommitteeHotExtendedKey forall keyrole. Key keyrole => VerificationKey keyrole -> Hash keyrole verificationKeyHash VerificationKey CommitteeHotExtendedKey vk in KeyHash 'HotCommitteeRole -> Credential 'HotCommitteeRole forall (kr :: KeyRole). KeyHash kr -> Credential kr L.KeyHashObj KeyHash 'HotCommitteeRole hash encodeCip129CommitteeColdVerficationKeyText :: AnyCommitteeColdVerificationKey -> Text encodeCip129CommitteeColdVerficationKeyText :: AnyCommitteeColdVerificationKey -> Text encodeCip129CommitteeColdVerficationKeyText = Credential 'ColdCommitteeRole -> Text forall a. Cip129 a => a -> Text serialiseToBech32Cip129 (Credential 'ColdCommitteeRole -> Text) -> (AnyCommitteeColdVerificationKey -> Credential 'ColdCommitteeRole) -> AnyCommitteeColdVerificationKey -> Text forall b c a. (b -> c) -> (a -> b) -> a -> c . AnyCommitteeColdVerificationKey -> Credential 'ColdCommitteeRole anyCommitteeColdVerificationKeyToCredential anyCommitteeColdVerificationKeyToCredential :: AnyCommitteeColdVerificationKey -> L.Credential L.ColdCommitteeRole anyCommitteeColdVerificationKeyToCredential :: AnyCommitteeColdVerificationKey -> Credential 'ColdCommitteeRole anyCommitteeColdVerificationKeyToCredential AnyCommitteeColdVerificationKey committeeColdKey = case AnyCommitteeColdVerificationKey committeeColdKey of AnyCommitteeColdVerificationKey VerificationKey CommitteeColdKey vk -> let CommitteeColdKeyHash KeyHash 'ColdCommitteeRole hash = VerificationKey CommitteeColdKey -> Hash CommitteeColdKey forall keyrole. Key keyrole => VerificationKey keyrole -> Hash keyrole verificationKeyHash VerificationKey CommitteeColdKey vk in KeyHash 'ColdCommitteeRole -> Credential 'ColdCommitteeRole forall (kr :: KeyRole). KeyHash kr -> Credential kr L.KeyHashObj KeyHash 'ColdCommitteeRole hash AnyCommitteeColdExtendedVerificationKey VerificationKey CommitteeColdExtendedKey vk -> let CommitteeColdExtendedKeyHash KeyHash 'ColdCommitteeRole hash = VerificationKey CommitteeColdExtendedKey -> Hash CommitteeColdExtendedKey forall keyrole. Key keyrole => VerificationKey keyrole -> Hash keyrole verificationKeyHash VerificationKey CommitteeColdExtendedKey vk in KeyHash 'ColdCommitteeRole -> Credential 'ColdCommitteeRole forall (kr :: KeyRole). KeyHash kr -> Credential kr L.KeyHashObj KeyHash 'ColdCommitteeRole hash encodeCip129GovernanceActionIdText :: L.GovActionId -> Text encodeCip129GovernanceActionIdText :: GovActionId -> Text encodeCip129GovernanceActionIdText = GovActionId -> Text forall a. Cip129 a => a -> Text serialiseToBech32Cip129