{-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE ScopedTypeVariables #-} module Cardano.CLI.Byron.Delegation ( serialiseDelegationCert , serialiseByronWitness ) where import Cardano.Api.Byron hiding (delegateVK) import Cardano.Api.Serialise.Raw import Cardano.Prelude (canonicalEncodePretty) import Prelude hiding ((.)) import Control.Category import Data.ByteString (ByteString) import Data.ByteString.Lazy qualified as LB serialiseDelegationCert :: Certificate -> ByteString serialiseDelegationCert :: Certificate -> ByteString serialiseDelegationCert = LazyByteString -> ByteString LB.toStrict (LazyByteString -> ByteString) -> (Certificate -> LazyByteString) -> Certificate -> ByteString forall b c a. (b -> c) -> (a -> b) -> a -> c forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k). Category cat => cat b c -> cat a b -> cat a c . Certificate -> LazyByteString forall a. ToJSON Identity a => a -> LazyByteString canonicalEncodePretty serialiseByronWitness :: SomeByronSigningKey -> ByteString serialiseByronWitness :: SomeByronSigningKey -> ByteString serialiseByronWitness SomeByronSigningKey sk = case SomeByronSigningKey sk of AByronSigningKeyLegacy SigningKey ByronKeyLegacy bSkey -> SigningKey ByronKeyLegacy -> ByteString forall a. SerialiseAsRawBytes a => a -> ByteString serialiseToRawBytes SigningKey ByronKeyLegacy bSkey AByronSigningKey SigningKey ByronKey legBKey -> SigningKey ByronKey -> ByteString forall a. SerialiseAsRawBytes a => a -> ByteString serialiseToRawBytes SigningKey ByronKey legBKey