{- This file was auto-generated from utxorpc/v1alpha/cardano/cardano.proto by the proto-lens-protoc program. -}
{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies, UndecidableInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances, PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds, BangPatterns, TypeApplications, OverloadedStrings, DerivingStrategies#-}
{-# OPTIONS_GHC -Wno-unused-imports#-}
{-# OPTIONS_GHC -Wno-duplicate-exports#-}
{-# OPTIONS_GHC -Wno-dodgy-exports#-}
module Proto.Utxorpc.V1alpha.Cardano.Cardano (
        AddressPattern(), Anchor(), Asset(), AssetPattern(),
        AuthCommitteeHotCert(), AuxData(), BigInt(), BigInt'BigInt(..),
        _BigInt'Int, _BigInt'BigUInt, _BigInt'BigNInt, Block(),
        BlockBody(), BlockHeader(), Certificate(),
        Certificate'Certificate(..), _Certificate'StakeRegistration,
        _Certificate'StakeDeregistration, _Certificate'StakeDelegation,
        _Certificate'PoolRegistration, _Certificate'PoolRetirement,
        _Certificate'GenesisKeyDelegation, _Certificate'MirCert,
        _Certificate'RegCert, _Certificate'UnregCert,
        _Certificate'VoteDelegCert, _Certificate'StakeVoteDelegCert,
        _Certificate'StakeRegDelegCert, _Certificate'VoteRegDelegCert,
        _Certificate'StakeVoteRegDelegCert,
        _Certificate'AuthCommitteeHotCert,
        _Certificate'ResignCommitteeColdCert, _Certificate'RegDrepCert,
        _Certificate'UnregDrepCert, _Certificate'UpdateDrepCert,
        Collateral(), Constitution(), Constr(), CostModel(), CostModels(),
        DRep(), DRep'Drep(..), _DRep'AddrKeyHash, _DRep'ScriptHash,
        _DRep'Abstain, _DRep'NoConfidence, Datum(), EvalError(),
        EvalTrace(), ExPrices(), ExUnits(), GenesisKeyDelegationCert(),
        GovernanceAction(), GovernanceAction'GovernanceAction(..),
        _GovernanceAction'ParameterChangeAction,
        _GovernanceAction'HardForkInitiationAction,
        _GovernanceAction'TreasuryWithdrawalsAction,
        _GovernanceAction'NoConfidenceAction,
        _GovernanceAction'UpdateCommitteeAction,
        _GovernanceAction'NewConstitutionAction,
        _GovernanceAction'InfoAction, GovernanceActionId(),
        GovernanceActionProposal(), HardForkInitiationAction(), Metadata(),
        Metadatum(), Metadatum'Metadatum(..), _Metadatum'Int,
        _Metadatum'Bytes, _Metadatum'Text, _Metadatum'Array,
        _Metadatum'Map, MetadatumArray(), MetadatumMap(), MetadatumPair(),
        MirCert(), MirSource(..), MirSource(), MirSource'UnrecognizedValue,
        MirTarget(), Multiasset(), NativeScript(),
        NativeScript'NativeScript(..), _NativeScript'ScriptPubkey,
        _NativeScript'ScriptAll, _NativeScript'ScriptAny,
        _NativeScript'ScriptNOfK, _NativeScript'InvalidBefore,
        _NativeScript'InvalidHereafter, NativeScriptList(),
        NewCommitteeCredentials(), NewConstitutionAction(),
        NoConfidenceAction(), PParams(), ParameterChangeAction(),
        PlutusData(), PlutusData'PlutusData(..), _PlutusData'Constr,
        _PlutusData'Map, _PlutusData'BigInt, _PlutusData'BoundedBytes,
        _PlutusData'Array, PlutusDataArray(), PlutusDataMap(),
        PlutusDataPair(), PoolMetadata(), PoolRegistrationCert(),
        PoolRetirementCert(), ProtocolVersion(), RationalNumber(),
        Redeemer(), RedeemerPurpose(..), RedeemerPurpose(),
        RedeemerPurpose'UnrecognizedValue, RegCert(), RegDRepCert(),
        Relay(), ResignCommitteeColdCert(), Script(), Script'Script(..),
        _Script'Native, _Script'PlutusV1, _Script'PlutusV2,
        _Script'PlutusV3, ScriptNOfK(), StakeCredential(),
        StakeCredential'StakeCredential(..), _StakeCredential'AddrKeyHash,
        _StakeCredential'ScriptHash, StakeDelegationCert(),
        StakeRegDelegCert(), StakeVoteDelegCert(), StakeVoteRegDelegCert(),
        TreasuryWithdrawalsAction(), Tx(), TxEval(), TxInput(), TxOutput(),
        TxOutputPattern(), TxPattern(), TxValidity(), UnRegCert(),
        UnRegDRepCert(), UpdateCommitteeAction(), UpdateDRepCert(),
        VKeyWitness(), VoteDelegCert(), VoteRegDelegCert(),
        VotingThresholds(), Withdrawal(), WithdrawalAmount(), WitnessSet()
    ) where
import qualified Data.ProtoLens.Runtime.Control.DeepSeq as Control.DeepSeq
import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Prism as Data.ProtoLens.Prism
import qualified Data.ProtoLens.Runtime.Prelude as Prelude
import qualified Data.ProtoLens.Runtime.Data.Int as Data.Int
import qualified Data.ProtoLens.Runtime.Data.Monoid as Data.Monoid
import qualified Data.ProtoLens.Runtime.Data.Word as Data.Word
import qualified Data.ProtoLens.Runtime.Data.ProtoLens as Data.ProtoLens
import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Bytes as Data.ProtoLens.Encoding.Bytes
import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Growing as Data.ProtoLens.Encoding.Growing
import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Parser.Unsafe as Data.ProtoLens.Encoding.Parser.Unsafe
import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Wire as Data.ProtoLens.Encoding.Wire
import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Field as Data.ProtoLens.Field
import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Message.Enum as Data.ProtoLens.Message.Enum
import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Service.Types as Data.ProtoLens.Service.Types
import qualified Data.ProtoLens.Runtime.Lens.Family2 as Lens.Family2
import qualified Data.ProtoLens.Runtime.Lens.Family2.Unchecked as Lens.Family2.Unchecked
import qualified Data.ProtoLens.Runtime.Data.Text as Data.Text
import qualified Data.ProtoLens.Runtime.Data.Map as Data.Map
import qualified Data.ProtoLens.Runtime.Data.ByteString as Data.ByteString
import qualified Data.ProtoLens.Runtime.Data.ByteString.Char8 as Data.ByteString.Char8
import qualified Data.ProtoLens.Runtime.Data.Text.Encoding as Data.Text.Encoding
import qualified Data.ProtoLens.Runtime.Data.Vector as Data.Vector
import qualified Data.ProtoLens.Runtime.Data.Vector.Generic as Data.Vector.Generic
import qualified Data.ProtoLens.Runtime.Data.Vector.Unboxed as Data.Vector.Unboxed
import qualified Data.ProtoLens.Runtime.Text.Read as Text.Read
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.exactAddress' @:: Lens' AddressPattern Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.paymentPart' @:: Lens' AddressPattern Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.delegationPart' @:: Lens' AddressPattern Data.ByteString.ByteString@ -}
data AddressPattern
  = AddressPattern'_constructor {_AddressPattern'exactAddress :: !Data.ByteString.ByteString,
                                 _AddressPattern'paymentPart :: !Data.ByteString.ByteString,
                                 _AddressPattern'delegationPart :: !Data.ByteString.ByteString,
                                 _AddressPattern'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show AddressPattern where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField AddressPattern "exactAddress" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _AddressPattern'exactAddress
           (\ x__ y__ -> x__ {_AddressPattern'exactAddress = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField AddressPattern "paymentPart" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _AddressPattern'paymentPart
           (\ x__ y__ -> x__ {_AddressPattern'paymentPart = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField AddressPattern "delegationPart" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _AddressPattern'delegationPart
           (\ x__ y__ -> x__ {_AddressPattern'delegationPart = y__}))
        Prelude.id
instance Data.ProtoLens.Message AddressPattern where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.AddressPattern"
  packedMessageDescriptor _
    = "\n\
      \\SOAddressPattern\DC2#\n\
      \\rexact_address\CAN\SOH \SOH(\fR\fexactAddress\DC2!\n\
      \\fpayment_part\CAN\STX \SOH(\fR\vpaymentPart\DC2'\n\
      \\SIdelegation_part\CAN\ETX \SOH(\fR\SOdelegationPart"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        exactAddress__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "exact_address"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"exactAddress")) ::
              Data.ProtoLens.FieldDescriptor AddressPattern
        paymentPart__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "payment_part"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"paymentPart")) ::
              Data.ProtoLens.FieldDescriptor AddressPattern
        delegationPart__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "delegation_part"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"delegationPart")) ::
              Data.ProtoLens.FieldDescriptor AddressPattern
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, exactAddress__field_descriptor),
           (Data.ProtoLens.Tag 2, paymentPart__field_descriptor),
           (Data.ProtoLens.Tag 3, delegationPart__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _AddressPattern'_unknownFields
        (\ x__ y__ -> x__ {_AddressPattern'_unknownFields = y__})
  defMessage
    = AddressPattern'_constructor
        {_AddressPattern'exactAddress = Data.ProtoLens.fieldDefault,
         _AddressPattern'paymentPart = Data.ProtoLens.fieldDefault,
         _AddressPattern'delegationPart = Data.ProtoLens.fieldDefault,
         _AddressPattern'_unknownFields = []}
  parseMessage
    = let
        loop ::
          AddressPattern
          -> Data.ProtoLens.Encoding.Bytes.Parser AddressPattern
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "exact_address"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"exactAddress") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "payment_part"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"paymentPart") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "delegation_part"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"delegationPart") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "AddressPattern"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v
                  = Lens.Family2.view (Data.ProtoLens.Field.field @"exactAddress") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view (Data.ProtoLens.Field.field @"paymentPart") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                ((Data.Monoid.<>)
                   (let
                      _v
                        = Lens.Family2.view
                            (Data.ProtoLens.Field.field @"delegationPart") _x
                    in
                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                          Data.Monoid.mempty
                      else
                          (Data.Monoid.<>)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                            ((\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                               _v))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData AddressPattern where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_AddressPattern'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_AddressPattern'exactAddress x__)
                (Control.DeepSeq.deepseq
                   (_AddressPattern'paymentPart x__)
                   (Control.DeepSeq.deepseq (_AddressPattern'delegationPart x__) ())))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.url' @:: Lens' Anchor Data.Text.Text@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.contentHash' @:: Lens' Anchor Data.ByteString.ByteString@ -}
data Anchor
  = Anchor'_constructor {_Anchor'url :: !Data.Text.Text,
                         _Anchor'contentHash :: !Data.ByteString.ByteString,
                         _Anchor'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Anchor where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Anchor "url" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Anchor'url (\ x__ y__ -> x__ {_Anchor'url = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Anchor "contentHash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Anchor'contentHash (\ x__ y__ -> x__ {_Anchor'contentHash = y__}))
        Prelude.id
instance Data.ProtoLens.Message Anchor where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.Anchor"
  packedMessageDescriptor _
    = "\n\
      \\ACKAnchor\DC2\DLE\n\
      \\ETXurl\CAN\SOH \SOH(\tR\ETXurl\DC2!\n\
      \\fcontent_hash\CAN\STX \SOH(\fR\vcontentHash"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        url__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "url"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"url")) ::
              Data.ProtoLens.FieldDescriptor Anchor
        contentHash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "content_hash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"contentHash")) ::
              Data.ProtoLens.FieldDescriptor Anchor
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, url__field_descriptor),
           (Data.ProtoLens.Tag 2, contentHash__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Anchor'_unknownFields
        (\ x__ y__ -> x__ {_Anchor'_unknownFields = y__})
  defMessage
    = Anchor'_constructor
        {_Anchor'url = Data.ProtoLens.fieldDefault,
         _Anchor'contentHash = Data.ProtoLens.fieldDefault,
         _Anchor'_unknownFields = []}
  parseMessage
    = let
        loop :: Anchor -> Data.ProtoLens.Encoding.Bytes.Parser Anchor
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "url"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"url") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "content_hash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"contentHash") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "Anchor"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"url") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((Prelude..)
                         (\ bs
                            -> (Data.Monoid.<>)
                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
                                    (Prelude.fromIntegral (Data.ByteString.length bs)))
                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         Data.Text.Encoding.encodeUtf8 _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view (Data.ProtoLens.Field.field @"contentHash") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData Anchor where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Anchor'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Anchor'url x__)
                (Control.DeepSeq.deepseq (_Anchor'contentHash x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.name' @:: Lens' Asset Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.outputCoin' @:: Lens' Asset Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.mintCoin' @:: Lens' Asset Data.Int.Int64@ -}
data Asset
  = Asset'_constructor {_Asset'name :: !Data.ByteString.ByteString,
                        _Asset'outputCoin :: !Data.Word.Word64,
                        _Asset'mintCoin :: !Data.Int.Int64,
                        _Asset'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Asset where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Asset "name" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Asset'name (\ x__ y__ -> x__ {_Asset'name = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Asset "outputCoin" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Asset'outputCoin (\ x__ y__ -> x__ {_Asset'outputCoin = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Asset "mintCoin" Data.Int.Int64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Asset'mintCoin (\ x__ y__ -> x__ {_Asset'mintCoin = y__}))
        Prelude.id
instance Data.ProtoLens.Message Asset where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.Asset"
  packedMessageDescriptor _
    = "\n\
      \\ENQAsset\DC2\DC2\n\
      \\EOTname\CAN\SOH \SOH(\fR\EOTname\DC2\US\n\
      \\voutput_coin\CAN\STX \SOH(\EOTR\n\
      \outputCoin\DC2\ESC\n\
      \\tmint_coin\CAN\ETX \SOH(\ETXR\bmintCoin"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        name__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "name"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"name")) ::
              Data.ProtoLens.FieldDescriptor Asset
        outputCoin__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "output_coin"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"outputCoin")) ::
              Data.ProtoLens.FieldDescriptor Asset
        mintCoin__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "mint_coin"
              (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"mintCoin")) ::
              Data.ProtoLens.FieldDescriptor Asset
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, name__field_descriptor),
           (Data.ProtoLens.Tag 2, outputCoin__field_descriptor),
           (Data.ProtoLens.Tag 3, mintCoin__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Asset'_unknownFields
        (\ x__ y__ -> x__ {_Asset'_unknownFields = y__})
  defMessage
    = Asset'_constructor
        {_Asset'name = Data.ProtoLens.fieldDefault,
         _Asset'outputCoin = Data.ProtoLens.fieldDefault,
         _Asset'mintCoin = Data.ProtoLens.fieldDefault,
         _Asset'_unknownFields = []}
  parseMessage
    = let
        loop :: Asset -> Data.ProtoLens.Encoding.Bytes.Parser Asset
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "name"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"name") y x)
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "output_coin"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"outputCoin") y x)
                        24
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "mint_coin"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"mintCoin") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "Asset"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"name") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view (Data.ProtoLens.Field.field @"outputCoin") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                ((Data.Monoid.<>)
                   (let
                      _v = Lens.Family2.view (Data.ProtoLens.Field.field @"mintCoin") _x
                    in
                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                          Data.Monoid.mempty
                      else
                          (Data.Monoid.<>)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
                            ((Prelude..)
                               Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData Asset where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Asset'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Asset'name x__)
                (Control.DeepSeq.deepseq
                   (_Asset'outputCoin x__)
                   (Control.DeepSeq.deepseq (_Asset'mintCoin x__) ())))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.policyId' @:: Lens' AssetPattern Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.assetName' @:: Lens' AssetPattern Data.ByteString.ByteString@ -}
data AssetPattern
  = AssetPattern'_constructor {_AssetPattern'policyId :: !Data.ByteString.ByteString,
                               _AssetPattern'assetName :: !Data.ByteString.ByteString,
                               _AssetPattern'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show AssetPattern where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField AssetPattern "policyId" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _AssetPattern'policyId
           (\ x__ y__ -> x__ {_AssetPattern'policyId = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField AssetPattern "assetName" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _AssetPattern'assetName
           (\ x__ y__ -> x__ {_AssetPattern'assetName = y__}))
        Prelude.id
instance Data.ProtoLens.Message AssetPattern where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.AssetPattern"
  packedMessageDescriptor _
    = "\n\
      \\fAssetPattern\DC2\ESC\n\
      \\tpolicy_id\CAN\SOH \SOH(\fR\bpolicyId\DC2\GS\n\
      \\n\
      \asset_name\CAN\STX \SOH(\fR\tassetName"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        policyId__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "policy_id"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"policyId")) ::
              Data.ProtoLens.FieldDescriptor AssetPattern
        assetName__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "asset_name"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"assetName")) ::
              Data.ProtoLens.FieldDescriptor AssetPattern
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, policyId__field_descriptor),
           (Data.ProtoLens.Tag 2, assetName__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _AssetPattern'_unknownFields
        (\ x__ y__ -> x__ {_AssetPattern'_unknownFields = y__})
  defMessage
    = AssetPattern'_constructor
        {_AssetPattern'policyId = Data.ProtoLens.fieldDefault,
         _AssetPattern'assetName = Data.ProtoLens.fieldDefault,
         _AssetPattern'_unknownFields = []}
  parseMessage
    = let
        loop ::
          AssetPattern -> Data.ProtoLens.Encoding.Bytes.Parser AssetPattern
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "policy_id"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"policyId") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "asset_name"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"assetName") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "AssetPattern"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"policyId") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         _v))
             ((Data.Monoid.<>)
                (let
                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"assetName") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData AssetPattern where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_AssetPattern'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_AssetPattern'policyId x__)
                (Control.DeepSeq.deepseq (_AssetPattern'assetName x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.committeeColdCredential' @:: Lens' AuthCommitteeHotCert StakeCredential@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'committeeColdCredential' @:: Lens' AuthCommitteeHotCert (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.committeeHotCredential' @:: Lens' AuthCommitteeHotCert StakeCredential@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'committeeHotCredential' @:: Lens' AuthCommitteeHotCert (Prelude.Maybe StakeCredential)@ -}
data AuthCommitteeHotCert
  = AuthCommitteeHotCert'_constructor {_AuthCommitteeHotCert'committeeColdCredential :: !(Prelude.Maybe StakeCredential),
                                       _AuthCommitteeHotCert'committeeHotCredential :: !(Prelude.Maybe StakeCredential),
                                       _AuthCommitteeHotCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show AuthCommitteeHotCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField AuthCommitteeHotCert "committeeColdCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _AuthCommitteeHotCert'committeeColdCredential
           (\ x__ y__
              -> x__ {_AuthCommitteeHotCert'committeeColdCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField AuthCommitteeHotCert "maybe'committeeColdCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _AuthCommitteeHotCert'committeeColdCredential
           (\ x__ y__
              -> x__ {_AuthCommitteeHotCert'committeeColdCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField AuthCommitteeHotCert "committeeHotCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _AuthCommitteeHotCert'committeeHotCredential
           (\ x__ y__
              -> x__ {_AuthCommitteeHotCert'committeeHotCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField AuthCommitteeHotCert "maybe'committeeHotCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _AuthCommitteeHotCert'committeeHotCredential
           (\ x__ y__
              -> x__ {_AuthCommitteeHotCert'committeeHotCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Message AuthCommitteeHotCert where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.AuthCommitteeHotCert"
  packedMessageDescriptor _
    = "\n\
      \\DC4AuthCommitteeHotCert\DC2d\n\
      \\EMcommittee_cold_credential\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\ETBcommitteeColdCredential\DC2b\n\
      \\CANcommittee_hot_credential\CAN\STX \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\SYNcommitteeHotCredential"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        committeeColdCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "committee_cold_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'committeeColdCredential")) ::
              Data.ProtoLens.FieldDescriptor AuthCommitteeHotCert
        committeeHotCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "committee_hot_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'committeeHotCredential")) ::
              Data.ProtoLens.FieldDescriptor AuthCommitteeHotCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, committeeColdCredential__field_descriptor),
           (Data.ProtoLens.Tag 2, committeeHotCredential__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _AuthCommitteeHotCert'_unknownFields
        (\ x__ y__ -> x__ {_AuthCommitteeHotCert'_unknownFields = y__})
  defMessage
    = AuthCommitteeHotCert'_constructor
        {_AuthCommitteeHotCert'committeeColdCredential = Prelude.Nothing,
         _AuthCommitteeHotCert'committeeHotCredential = Prelude.Nothing,
         _AuthCommitteeHotCert'_unknownFields = []}
  parseMessage
    = let
        loop ::
          AuthCommitteeHotCert
          -> Data.ProtoLens.Encoding.Bytes.Parser AuthCommitteeHotCert
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "committee_cold_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"committeeColdCredential") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "committee_hot_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"committeeHotCredential") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "AuthCommitteeHotCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'committeeColdCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view
                       (Data.ProtoLens.Field.field @"maybe'committeeHotCredential") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData AuthCommitteeHotCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_AuthCommitteeHotCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_AuthCommitteeHotCert'committeeColdCredential x__)
                (Control.DeepSeq.deepseq
                   (_AuthCommitteeHotCert'committeeHotCredential x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.metadata' @:: Lens' AuxData [Metadata]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'metadata' @:: Lens' AuxData (Data.Vector.Vector Metadata)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.scripts' @:: Lens' AuxData [Script]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'scripts' @:: Lens' AuxData (Data.Vector.Vector Script)@ -}
data AuxData
  = AuxData'_constructor {_AuxData'metadata :: !(Data.Vector.Vector Metadata),
                          _AuxData'scripts :: !(Data.Vector.Vector Script),
                          _AuxData'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show AuxData where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField AuxData "metadata" [Metadata] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _AuxData'metadata (\ x__ y__ -> x__ {_AuxData'metadata = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField AuxData "vec'metadata" (Data.Vector.Vector Metadata) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _AuxData'metadata (\ x__ y__ -> x__ {_AuxData'metadata = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField AuxData "scripts" [Script] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _AuxData'scripts (\ x__ y__ -> x__ {_AuxData'scripts = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField AuxData "vec'scripts" (Data.Vector.Vector Script) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _AuxData'scripts (\ x__ y__ -> x__ {_AuxData'scripts = y__}))
        Prelude.id
instance Data.ProtoLens.Message AuxData where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.AuxData"
  packedMessageDescriptor _
    = "\n\
      \\aAuxData\DC2=\n\
      \\bmetadata\CAN\SOH \ETX(\v2!.utxorpc.v1alpha.cardano.MetadataR\bmetadata\DC29\n\
      \\ascripts\CAN\STX \ETX(\v2\US.utxorpc.v1alpha.cardano.ScriptR\ascripts"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        metadata__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "metadata"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Metadata)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked
                 (Data.ProtoLens.Field.field @"metadata")) ::
              Data.ProtoLens.FieldDescriptor AuxData
        scripts__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "scripts"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Script)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"scripts")) ::
              Data.ProtoLens.FieldDescriptor AuxData
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, metadata__field_descriptor),
           (Data.ProtoLens.Tag 2, scripts__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _AuxData'_unknownFields
        (\ x__ y__ -> x__ {_AuxData'_unknownFields = y__})
  defMessage
    = AuxData'_constructor
        {_AuxData'metadata = Data.Vector.Generic.empty,
         _AuxData'scripts = Data.Vector.Generic.empty,
         _AuxData'_unknownFields = []}
  parseMessage
    = let
        loop ::
          AuxData
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Metadata
             -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Script
                -> Data.ProtoLens.Encoding.Bytes.Parser AuxData
        loop x mutable'metadata mutable'scripts
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'metadata <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                           (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                              mutable'metadata)
                      frozen'scripts <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                          (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                             mutable'scripts)
                      (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'metadata") frozen'metadata
                              (Lens.Family2.set
                                 (Data.ProtoLens.Field.field @"vec'scripts") frozen'scripts x)))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "metadata"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'metadata y)
                                loop x v mutable'scripts
                        18
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "scripts"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'scripts y)
                                loop x mutable'metadata v
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
                                  mutable'metadata mutable'scripts
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'metadata <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                    Data.ProtoLens.Encoding.Growing.new
              mutable'scripts <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                   Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'metadata mutable'scripts)
          "AuxData"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                (\ _v
                   -> (Data.Monoid.<>)
                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                        ((Prelude..)
                           (\ bs
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                           Data.ProtoLens.encodeMessage _v))
                (Lens.Family2.view
                   (Data.ProtoLens.Field.field @"vec'metadata") _x))
             ((Data.Monoid.<>)
                (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                   (\ _v
                      -> (Data.Monoid.<>)
                           (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                           ((Prelude..)
                              (\ bs
                                 -> (Data.Monoid.<>)
                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                              Data.ProtoLens.encodeMessage _v))
                   (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'scripts") _x))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData AuxData where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_AuxData'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_AuxData'metadata x__)
                (Control.DeepSeq.deepseq (_AuxData'scripts x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'bigInt' @:: Lens' BigInt (Prelude.Maybe BigInt'BigInt)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'int' @:: Lens' BigInt (Prelude.Maybe Data.Int.Int64)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.int' @:: Lens' BigInt Data.Int.Int64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'bigUInt' @:: Lens' BigInt (Prelude.Maybe Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.bigUInt' @:: Lens' BigInt Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'bigNInt' @:: Lens' BigInt (Prelude.Maybe Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.bigNInt' @:: Lens' BigInt Data.ByteString.ByteString@ -}
data BigInt
  = BigInt'_constructor {_BigInt'bigInt :: !(Prelude.Maybe BigInt'BigInt),
                         _BigInt'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show BigInt where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
data BigInt'BigInt
  = BigInt'Int !Data.Int.Int64 |
    BigInt'BigUInt !Data.ByteString.ByteString |
    BigInt'BigNInt !Data.ByteString.ByteString
  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
instance Data.ProtoLens.Field.HasField BigInt "maybe'bigInt" (Prelude.Maybe BigInt'BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BigInt'bigInt (\ x__ y__ -> x__ {_BigInt'bigInt = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField BigInt "maybe'int" (Prelude.Maybe Data.Int.Int64) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BigInt'bigInt (\ x__ y__ -> x__ {_BigInt'bigInt = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (BigInt'Int x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap BigInt'Int y__))
instance Data.ProtoLens.Field.HasField BigInt "int" Data.Int.Int64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BigInt'bigInt (\ x__ y__ -> x__ {_BigInt'bigInt = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (BigInt'Int x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap BigInt'Int y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Field.HasField BigInt "maybe'bigUInt" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BigInt'bigInt (\ x__ y__ -> x__ {_BigInt'bigInt = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (BigInt'BigUInt x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap BigInt'BigUInt y__))
instance Data.ProtoLens.Field.HasField BigInt "bigUInt" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BigInt'bigInt (\ x__ y__ -> x__ {_BigInt'bigInt = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (BigInt'BigUInt x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap BigInt'BigUInt y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Field.HasField BigInt "maybe'bigNInt" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BigInt'bigInt (\ x__ y__ -> x__ {_BigInt'bigInt = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (BigInt'BigNInt x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap BigInt'BigNInt y__))
instance Data.ProtoLens.Field.HasField BigInt "bigNInt" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BigInt'bigInt (\ x__ y__ -> x__ {_BigInt'bigInt = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (BigInt'BigNInt x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap BigInt'BigNInt y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Message BigInt where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.BigInt"
  packedMessageDescriptor _
    = "\n\
      \\ACKBigInt\DC2\DC2\n\
      \\ETXint\CAN\SOH \SOH(\ETXH\NULR\ETXint\DC2\FS\n\
      \\tbig_u_int\CAN\STX \SOH(\fH\NULR\abigUInt\DC2\FS\n\
      \\tbig_n_int\CAN\ETX \SOH(\fH\NULR\abigNIntB\t\n\
      \\abig_int"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        int__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "int"
              (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'int")) ::
              Data.ProtoLens.FieldDescriptor BigInt
        bigUInt__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "big_u_int"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'bigUInt")) ::
              Data.ProtoLens.FieldDescriptor BigInt
        bigNInt__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "big_n_int"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'bigNInt")) ::
              Data.ProtoLens.FieldDescriptor BigInt
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, int__field_descriptor),
           (Data.ProtoLens.Tag 2, bigUInt__field_descriptor),
           (Data.ProtoLens.Tag 3, bigNInt__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _BigInt'_unknownFields
        (\ x__ y__ -> x__ {_BigInt'_unknownFields = y__})
  defMessage
    = BigInt'_constructor
        {_BigInt'bigInt = Prelude.Nothing, _BigInt'_unknownFields = []}
  parseMessage
    = let
        loop :: BigInt -> Data.ProtoLens.Encoding.Bytes.Parser BigInt
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "int"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"int") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "big_u_int"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"bigUInt") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "big_n_int"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"bigNInt") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "BigInt"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'bigInt") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just (BigInt'Int v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
                       ((Prelude..)
                          Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral v)
                (Prelude.Just (BigInt'BigUInt v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                       ((\ bs
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
                                (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          v)
                (Prelude.Just (BigInt'BigNInt v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                       ((\ bs
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
                                (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          v))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData BigInt where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_BigInt'_unknownFields x__)
             (Control.DeepSeq.deepseq (_BigInt'bigInt x__) ())
instance Control.DeepSeq.NFData BigInt'BigInt where
  rnf (BigInt'Int x__) = Control.DeepSeq.rnf x__
  rnf (BigInt'BigUInt x__) = Control.DeepSeq.rnf x__
  rnf (BigInt'BigNInt x__) = Control.DeepSeq.rnf x__
_BigInt'Int ::
  Data.ProtoLens.Prism.Prism' BigInt'BigInt Data.Int.Int64
_BigInt'Int
  = Data.ProtoLens.Prism.prism'
      BigInt'Int
      (\ p__
         -> case p__ of
              (BigInt'Int p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_BigInt'BigUInt ::
  Data.ProtoLens.Prism.Prism' BigInt'BigInt Data.ByteString.ByteString
_BigInt'BigUInt
  = Data.ProtoLens.Prism.prism'
      BigInt'BigUInt
      (\ p__
         -> case p__ of
              (BigInt'BigUInt p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_BigInt'BigNInt ::
  Data.ProtoLens.Prism.Prism' BigInt'BigInt Data.ByteString.ByteString
_BigInt'BigNInt
  = Data.ProtoLens.Prism.prism'
      BigInt'BigNInt
      (\ p__
         -> case p__ of
              (BigInt'BigNInt p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.header' @:: Lens' Block BlockHeader@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'header' @:: Lens' Block (Prelude.Maybe BlockHeader)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.body' @:: Lens' Block BlockBody@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'body' @:: Lens' Block (Prelude.Maybe BlockBody)@ -}
data Block
  = Block'_constructor {_Block'header :: !(Prelude.Maybe BlockHeader),
                        _Block'body :: !(Prelude.Maybe BlockBody),
                        _Block'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Block where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Block "header" BlockHeader where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Block'header (\ x__ y__ -> x__ {_Block'header = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Block "maybe'header" (Prelude.Maybe BlockHeader) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Block'header (\ x__ y__ -> x__ {_Block'header = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Block "body" BlockBody where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Block'body (\ x__ y__ -> x__ {_Block'body = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Block "maybe'body" (Prelude.Maybe BlockBody) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Block'body (\ x__ y__ -> x__ {_Block'body = y__}))
        Prelude.id
instance Data.ProtoLens.Message Block where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.Block"
  packedMessageDescriptor _
    = "\n\
      \\ENQBlock\DC2<\n\
      \\ACKheader\CAN\SOH \SOH(\v2$.utxorpc.v1alpha.cardano.BlockHeaderR\ACKheader\DC26\n\
      \\EOTbody\CAN\STX \SOH(\v2\".utxorpc.v1alpha.cardano.BlockBodyR\EOTbody"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        header__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "header"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BlockHeader)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'header")) ::
              Data.ProtoLens.FieldDescriptor Block
        body__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "body"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BlockBody)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'body")) ::
              Data.ProtoLens.FieldDescriptor Block
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, header__field_descriptor),
           (Data.ProtoLens.Tag 2, body__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Block'_unknownFields
        (\ x__ y__ -> x__ {_Block'_unknownFields = y__})
  defMessage
    = Block'_constructor
        {_Block'header = Prelude.Nothing, _Block'body = Prelude.Nothing,
         _Block'_unknownFields = []}
  parseMessage
    = let
        loop :: Block -> Data.ProtoLens.Encoding.Bytes.Parser Block
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "header"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"header") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "body"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"body") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "Block"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'header") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'body") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData Block where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Block'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Block'header x__) (Control.DeepSeq.deepseq (_Block'body x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.tx' @:: Lens' BlockBody [Tx]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'tx' @:: Lens' BlockBody (Data.Vector.Vector Tx)@ -}
data BlockBody
  = BlockBody'_constructor {_BlockBody'tx :: !(Data.Vector.Vector Tx),
                            _BlockBody'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show BlockBody where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField BlockBody "tx" [Tx] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BlockBody'tx (\ x__ y__ -> x__ {_BlockBody'tx = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField BlockBody "vec'tx" (Data.Vector.Vector Tx) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BlockBody'tx (\ x__ y__ -> x__ {_BlockBody'tx = y__}))
        Prelude.id
instance Data.ProtoLens.Message BlockBody where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.BlockBody"
  packedMessageDescriptor _
    = "\n\
      \\tBlockBody\DC2+\n\
      \\STXtx\CAN\SOH \ETX(\v2\ESC.utxorpc.v1alpha.cardano.TxR\STXtx"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        tx__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "tx"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Tx)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"tx")) ::
              Data.ProtoLens.FieldDescriptor BlockBody
      in Data.Map.fromList [(Data.ProtoLens.Tag 1, tx__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _BlockBody'_unknownFields
        (\ x__ y__ -> x__ {_BlockBody'_unknownFields = y__})
  defMessage
    = BlockBody'_constructor
        {_BlockBody'tx = Data.Vector.Generic.empty,
         _BlockBody'_unknownFields = []}
  parseMessage
    = let
        loop ::
          BlockBody
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Tx
             -> Data.ProtoLens.Encoding.Bytes.Parser BlockBody
        loop x mutable'tx
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'tx <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                     (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'tx)
                      (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'tx") frozen'tx x))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "tx"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'tx y)
                                loop x v
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
                                  mutable'tx
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'tx <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                              Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'tx)
          "BlockBody"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                (\ _v
                   -> (Data.Monoid.<>)
                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                        ((Prelude..)
                           (\ bs
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                           Data.ProtoLens.encodeMessage _v))
                (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'tx") _x))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData BlockBody where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_BlockBody'_unknownFields x__)
             (Control.DeepSeq.deepseq (_BlockBody'tx x__) ())
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.slot' @:: Lens' BlockHeader Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.hash' @:: Lens' BlockHeader Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.height' @:: Lens' BlockHeader Data.Word.Word64@ -}
data BlockHeader
  = BlockHeader'_constructor {_BlockHeader'slot :: !Data.Word.Word64,
                              _BlockHeader'hash :: !Data.ByteString.ByteString,
                              _BlockHeader'height :: !Data.Word.Word64,
                              _BlockHeader'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show BlockHeader where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField BlockHeader "slot" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BlockHeader'slot (\ x__ y__ -> x__ {_BlockHeader'slot = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField BlockHeader "hash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BlockHeader'hash (\ x__ y__ -> x__ {_BlockHeader'hash = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField BlockHeader "height" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _BlockHeader'height (\ x__ y__ -> x__ {_BlockHeader'height = y__}))
        Prelude.id
instance Data.ProtoLens.Message BlockHeader where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.BlockHeader"
  packedMessageDescriptor _
    = "\n\
      \\vBlockHeader\DC2\DC2\n\
      \\EOTslot\CAN\SOH \SOH(\EOTR\EOTslot\DC2\DC2\n\
      \\EOThash\CAN\STX \SOH(\fR\EOThash\DC2\SYN\n\
      \\ACKheight\CAN\ETX \SOH(\EOTR\ACKheight"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        slot__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "slot"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"slot")) ::
              Data.ProtoLens.FieldDescriptor BlockHeader
        hash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "hash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"hash")) ::
              Data.ProtoLens.FieldDescriptor BlockHeader
        height__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "height"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"height")) ::
              Data.ProtoLens.FieldDescriptor BlockHeader
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, slot__field_descriptor),
           (Data.ProtoLens.Tag 2, hash__field_descriptor),
           (Data.ProtoLens.Tag 3, height__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _BlockHeader'_unknownFields
        (\ x__ y__ -> x__ {_BlockHeader'_unknownFields = y__})
  defMessage
    = BlockHeader'_constructor
        {_BlockHeader'slot = Data.ProtoLens.fieldDefault,
         _BlockHeader'hash = Data.ProtoLens.fieldDefault,
         _BlockHeader'height = Data.ProtoLens.fieldDefault,
         _BlockHeader'_unknownFields = []}
  parseMessage
    = let
        loop ::
          BlockHeader -> Data.ProtoLens.Encoding.Bytes.Parser BlockHeader
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "slot"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"slot") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "hash"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"hash") y x)
                        24
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "height"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"height") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "BlockHeader"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"slot") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
             ((Data.Monoid.<>)
                (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"hash") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                ((Data.Monoid.<>)
                   (let
                      _v = Lens.Family2.view (Data.ProtoLens.Field.field @"height") _x
                    in
                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                          Data.Monoid.mempty
                      else
                          (Data.Monoid.<>)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData BlockHeader where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_BlockHeader'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_BlockHeader'slot x__)
                (Control.DeepSeq.deepseq
                   (_BlockHeader'hash x__)
                   (Control.DeepSeq.deepseq (_BlockHeader'height x__) ())))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.redeemer' @:: Lens' Certificate Redeemer@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'redeemer' @:: Lens' Certificate (Prelude.Maybe Redeemer)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'certificate' @:: Lens' Certificate (Prelude.Maybe Certificate'Certificate)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'stakeRegistration' @:: Lens' Certificate (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.stakeRegistration' @:: Lens' Certificate StakeCredential@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'stakeDeregistration' @:: Lens' Certificate (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.stakeDeregistration' @:: Lens' Certificate StakeCredential@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'stakeDelegation' @:: Lens' Certificate (Prelude.Maybe StakeDelegationCert)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.stakeDelegation' @:: Lens' Certificate StakeDelegationCert@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'poolRegistration' @:: Lens' Certificate (Prelude.Maybe PoolRegistrationCert)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.poolRegistration' @:: Lens' Certificate PoolRegistrationCert@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'poolRetirement' @:: Lens' Certificate (Prelude.Maybe PoolRetirementCert)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.poolRetirement' @:: Lens' Certificate PoolRetirementCert@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'genesisKeyDelegation' @:: Lens' Certificate (Prelude.Maybe GenesisKeyDelegationCert)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.genesisKeyDelegation' @:: Lens' Certificate GenesisKeyDelegationCert@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'mirCert' @:: Lens' Certificate (Prelude.Maybe MirCert)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.mirCert' @:: Lens' Certificate MirCert@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'regCert' @:: Lens' Certificate (Prelude.Maybe RegCert)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.regCert' @:: Lens' Certificate RegCert@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'unregCert' @:: Lens' Certificate (Prelude.Maybe UnRegCert)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.unregCert' @:: Lens' Certificate UnRegCert@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'voteDelegCert' @:: Lens' Certificate (Prelude.Maybe VoteDelegCert)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.voteDelegCert' @:: Lens' Certificate VoteDelegCert@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'stakeVoteDelegCert' @:: Lens' Certificate (Prelude.Maybe StakeVoteDelegCert)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.stakeVoteDelegCert' @:: Lens' Certificate StakeVoteDelegCert@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'stakeRegDelegCert' @:: Lens' Certificate (Prelude.Maybe StakeRegDelegCert)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.stakeRegDelegCert' @:: Lens' Certificate StakeRegDelegCert@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'voteRegDelegCert' @:: Lens' Certificate (Prelude.Maybe VoteRegDelegCert)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.voteRegDelegCert' @:: Lens' Certificate VoteRegDelegCert@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'stakeVoteRegDelegCert' @:: Lens' Certificate (Prelude.Maybe StakeVoteRegDelegCert)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.stakeVoteRegDelegCert' @:: Lens' Certificate StakeVoteRegDelegCert@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'authCommitteeHotCert' @:: Lens' Certificate (Prelude.Maybe AuthCommitteeHotCert)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.authCommitteeHotCert' @:: Lens' Certificate AuthCommitteeHotCert@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'resignCommitteeColdCert' @:: Lens' Certificate (Prelude.Maybe ResignCommitteeColdCert)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.resignCommitteeColdCert' @:: Lens' Certificate ResignCommitteeColdCert@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'regDrepCert' @:: Lens' Certificate (Prelude.Maybe RegDRepCert)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.regDrepCert' @:: Lens' Certificate RegDRepCert@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'unregDrepCert' @:: Lens' Certificate (Prelude.Maybe UnRegDRepCert)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.unregDrepCert' @:: Lens' Certificate UnRegDRepCert@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'updateDrepCert' @:: Lens' Certificate (Prelude.Maybe UpdateDRepCert)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.updateDrepCert' @:: Lens' Certificate UpdateDRepCert@ -}
data Certificate
  = Certificate'_constructor {_Certificate'redeemer :: !(Prelude.Maybe Redeemer),
                              _Certificate'certificate :: !(Prelude.Maybe Certificate'Certificate),
                              _Certificate'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Certificate where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
data Certificate'Certificate
  = Certificate'StakeRegistration !StakeCredential |
    Certificate'StakeDeregistration !StakeCredential |
    Certificate'StakeDelegation !StakeDelegationCert |
    Certificate'PoolRegistration !PoolRegistrationCert |
    Certificate'PoolRetirement !PoolRetirementCert |
    Certificate'GenesisKeyDelegation !GenesisKeyDelegationCert |
    Certificate'MirCert !MirCert |
    Certificate'RegCert !RegCert |
    Certificate'UnregCert !UnRegCert |
    Certificate'VoteDelegCert !VoteDelegCert |
    Certificate'StakeVoteDelegCert !StakeVoteDelegCert |
    Certificate'StakeRegDelegCert !StakeRegDelegCert |
    Certificate'VoteRegDelegCert !VoteRegDelegCert |
    Certificate'StakeVoteRegDelegCert !StakeVoteRegDelegCert |
    Certificate'AuthCommitteeHotCert !AuthCommitteeHotCert |
    Certificate'ResignCommitteeColdCert !ResignCommitteeColdCert |
    Certificate'RegDrepCert !RegDRepCert |
    Certificate'UnregDrepCert !UnRegDRepCert |
    Certificate'UpdateDrepCert !UpdateDRepCert
  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
instance Data.ProtoLens.Field.HasField Certificate "redeemer" Redeemer where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'redeemer
           (\ x__ y__ -> x__ {_Certificate'redeemer = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Certificate "maybe'redeemer" (Prelude.Maybe Redeemer) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'redeemer
           (\ x__ y__ -> x__ {_Certificate'redeemer = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Certificate "maybe'certificate" (Prelude.Maybe Certificate'Certificate) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Certificate "maybe'stakeRegistration" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'StakeRegistration x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'StakeRegistration y__))
instance Data.ProtoLens.Field.HasField Certificate "stakeRegistration" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'StakeRegistration x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'StakeRegistration y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'stakeDeregistration" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'StakeDeregistration x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'StakeDeregistration y__))
instance Data.ProtoLens.Field.HasField Certificate "stakeDeregistration" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'StakeDeregistration x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'StakeDeregistration y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'stakeDelegation" (Prelude.Maybe StakeDelegationCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'StakeDelegation x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'StakeDelegation y__))
instance Data.ProtoLens.Field.HasField Certificate "stakeDelegation" StakeDelegationCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'StakeDelegation x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'StakeDelegation y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'poolRegistration" (Prelude.Maybe PoolRegistrationCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'PoolRegistration x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'PoolRegistration y__))
instance Data.ProtoLens.Field.HasField Certificate "poolRegistration" PoolRegistrationCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'PoolRegistration x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'PoolRegistration y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'poolRetirement" (Prelude.Maybe PoolRetirementCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'PoolRetirement x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'PoolRetirement y__))
instance Data.ProtoLens.Field.HasField Certificate "poolRetirement" PoolRetirementCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'PoolRetirement x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'PoolRetirement y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'genesisKeyDelegation" (Prelude.Maybe GenesisKeyDelegationCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'GenesisKeyDelegation x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'GenesisKeyDelegation y__))
instance Data.ProtoLens.Field.HasField Certificate "genesisKeyDelegation" GenesisKeyDelegationCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'GenesisKeyDelegation x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'GenesisKeyDelegation y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'mirCert" (Prelude.Maybe MirCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'MirCert x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'MirCert y__))
instance Data.ProtoLens.Field.HasField Certificate "mirCert" MirCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'MirCert x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'MirCert y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'regCert" (Prelude.Maybe RegCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'RegCert x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'RegCert y__))
instance Data.ProtoLens.Field.HasField Certificate "regCert" RegCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'RegCert x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'RegCert y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'unregCert" (Prelude.Maybe UnRegCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'UnregCert x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'UnregCert y__))
instance Data.ProtoLens.Field.HasField Certificate "unregCert" UnRegCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'UnregCert x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'UnregCert y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'voteDelegCert" (Prelude.Maybe VoteDelegCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'VoteDelegCert x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'VoteDelegCert y__))
instance Data.ProtoLens.Field.HasField Certificate "voteDelegCert" VoteDelegCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'VoteDelegCert x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'VoteDelegCert y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'stakeVoteDelegCert" (Prelude.Maybe StakeVoteDelegCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'StakeVoteDelegCert x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'StakeVoteDelegCert y__))
instance Data.ProtoLens.Field.HasField Certificate "stakeVoteDelegCert" StakeVoteDelegCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'StakeVoteDelegCert x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'StakeVoteDelegCert y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'stakeRegDelegCert" (Prelude.Maybe StakeRegDelegCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'StakeRegDelegCert x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'StakeRegDelegCert y__))
instance Data.ProtoLens.Field.HasField Certificate "stakeRegDelegCert" StakeRegDelegCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'StakeRegDelegCert x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'StakeRegDelegCert y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'voteRegDelegCert" (Prelude.Maybe VoteRegDelegCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'VoteRegDelegCert x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'VoteRegDelegCert y__))
instance Data.ProtoLens.Field.HasField Certificate "voteRegDelegCert" VoteRegDelegCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'VoteRegDelegCert x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'VoteRegDelegCert y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'stakeVoteRegDelegCert" (Prelude.Maybe StakeVoteRegDelegCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'StakeVoteRegDelegCert x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'StakeVoteRegDelegCert y__))
instance Data.ProtoLens.Field.HasField Certificate "stakeVoteRegDelegCert" StakeVoteRegDelegCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'StakeVoteRegDelegCert x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'StakeVoteRegDelegCert y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'authCommitteeHotCert" (Prelude.Maybe AuthCommitteeHotCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'AuthCommitteeHotCert x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'AuthCommitteeHotCert y__))
instance Data.ProtoLens.Field.HasField Certificate "authCommitteeHotCert" AuthCommitteeHotCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'AuthCommitteeHotCert x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'AuthCommitteeHotCert y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'resignCommitteeColdCert" (Prelude.Maybe ResignCommitteeColdCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'ResignCommitteeColdCert x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'ResignCommitteeColdCert y__))
instance Data.ProtoLens.Field.HasField Certificate "resignCommitteeColdCert" ResignCommitteeColdCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'ResignCommitteeColdCert x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'ResignCommitteeColdCert y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'regDrepCert" (Prelude.Maybe RegDRepCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'RegDrepCert x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'RegDrepCert y__))
instance Data.ProtoLens.Field.HasField Certificate "regDrepCert" RegDRepCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'RegDrepCert x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'RegDrepCert y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'unregDrepCert" (Prelude.Maybe UnRegDRepCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'UnregDrepCert x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'UnregDrepCert y__))
instance Data.ProtoLens.Field.HasField Certificate "unregDrepCert" UnRegDRepCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'UnregDrepCert x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'UnregDrepCert y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Certificate "maybe'updateDrepCert" (Prelude.Maybe UpdateDRepCert) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Certificate'UpdateDrepCert x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Certificate'UpdateDrepCert y__))
instance Data.ProtoLens.Field.HasField Certificate "updateDrepCert" UpdateDRepCert where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Certificate'certificate
           (\ x__ y__ -> x__ {_Certificate'certificate = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Certificate'UpdateDrepCert x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Certificate'UpdateDrepCert y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Message Certificate where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.Certificate"
  packedMessageDescriptor _
    = "\n\
      \\vCertificate\DC2Y\n\
      \\DC2stake_registration\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialH\NULR\DC1stakeRegistration\DC2]\n\
      \\DC4stake_deregistration\CAN\STX \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialH\NULR\DC3stakeDeregistration\DC2Y\n\
      \\DLEstake_delegation\CAN\ETX \SOH(\v2,.utxorpc.v1alpha.cardano.StakeDelegationCertH\NULR\SIstakeDelegation\DC2\\\n\
      \\DC1pool_registration\CAN\EOT \SOH(\v2-.utxorpc.v1alpha.cardano.PoolRegistrationCertH\NULR\DLEpoolRegistration\DC2V\n\
      \\SIpool_retirement\CAN\ENQ \SOH(\v2+.utxorpc.v1alpha.cardano.PoolRetirementCertH\NULR\SOpoolRetirement\DC2i\n\
      \\SYNgenesis_key_delegation\CAN\ACK \SOH(\v21.utxorpc.v1alpha.cardano.GenesisKeyDelegationCertH\NULR\DC4genesisKeyDelegation\DC2=\n\
      \\bmir_cert\CAN\a \SOH(\v2 .utxorpc.v1alpha.cardano.MirCertH\NULR\amirCert\DC2=\n\
      \\breg_cert\CAN\b \SOH(\v2 .utxorpc.v1alpha.cardano.RegCertH\NULR\aregCert\DC2C\n\
      \\n\
      \unreg_cert\CAN\t \SOH(\v2\".utxorpc.v1alpha.cardano.UnRegCertH\NULR\tunregCert\DC2P\n\
      \\SIvote_deleg_cert\CAN\n\
      \ \SOH(\v2&.utxorpc.v1alpha.cardano.VoteDelegCertH\NULR\rvoteDelegCert\DC2`\n\
      \\NAKstake_vote_deleg_cert\CAN\v \SOH(\v2+.utxorpc.v1alpha.cardano.StakeVoteDelegCertH\NULR\DC2stakeVoteDelegCert\DC2]\n\
      \\DC4stake_reg_deleg_cert\CAN\f \SOH(\v2*.utxorpc.v1alpha.cardano.StakeRegDelegCertH\NULR\DC1stakeRegDelegCert\DC2Z\n\
      \\DC3vote_reg_deleg_cert\CAN\r \SOH(\v2).utxorpc.v1alpha.cardano.VoteRegDelegCertH\NULR\DLEvoteRegDelegCert\DC2j\n\
      \\EMstake_vote_reg_deleg_cert\CAN\SO \SOH(\v2..utxorpc.v1alpha.cardano.StakeVoteRegDelegCertH\NULR\NAKstakeVoteRegDelegCert\DC2f\n\
      \\ETBauth_committee_hot_cert\CAN\SI \SOH(\v2-.utxorpc.v1alpha.cardano.AuthCommitteeHotCertH\NULR\DC4authCommitteeHotCert\DC2o\n\
      \\SUBresign_committee_cold_cert\CAN\DLE \SOH(\v20.utxorpc.v1alpha.cardano.ResignCommitteeColdCertH\NULR\ETBresignCommitteeColdCert\DC2J\n\
      \\rreg_drep_cert\CAN\DC1 \SOH(\v2$.utxorpc.v1alpha.cardano.RegDRepCertH\NULR\vregDrepCert\DC2P\n\
      \\SIunreg_drep_cert\CAN\DC2 \SOH(\v2&.utxorpc.v1alpha.cardano.UnRegDRepCertH\NULR\runregDrepCert\DC2S\n\
      \\DLEupdate_drep_cert\CAN\DC3 \SOH(\v2'.utxorpc.v1alpha.cardano.UpdateDRepCertH\NULR\SOupdateDrepCert\DC2=\n\
      \\bredeemer\CANd \SOH(\v2!.utxorpc.v1alpha.cardano.RedeemerR\bredeemerB\r\n\
      \\vcertificate"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        redeemer__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "redeemer"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Redeemer)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'redeemer")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        stakeRegistration__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_registration"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeRegistration")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        stakeDeregistration__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_deregistration"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeDeregistration")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        stakeDelegation__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_delegation"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeDelegationCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeDelegation")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        poolRegistration__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pool_registration"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PoolRegistrationCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'poolRegistration")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        poolRetirement__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pool_retirement"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PoolRetirementCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'poolRetirement")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        genesisKeyDelegation__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "genesis_key_delegation"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor GenesisKeyDelegationCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'genesisKeyDelegation")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        mirCert__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "mir_cert"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor MirCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'mirCert")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        regCert__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "reg_cert"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RegCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'regCert")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        unregCert__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "unreg_cert"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor UnRegCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'unregCert")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        voteDelegCert__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "vote_deleg_cert"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor VoteDelegCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'voteDelegCert")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        stakeVoteDelegCert__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_vote_deleg_cert"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeVoteDelegCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeVoteDelegCert")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        stakeRegDelegCert__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_reg_deleg_cert"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeRegDelegCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeRegDelegCert")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        voteRegDelegCert__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "vote_reg_deleg_cert"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor VoteRegDelegCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'voteRegDelegCert")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        stakeVoteRegDelegCert__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_vote_reg_deleg_cert"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeVoteRegDelegCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeVoteRegDelegCert")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        authCommitteeHotCert__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "auth_committee_hot_cert"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor AuthCommitteeHotCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'authCommitteeHotCert")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        resignCommitteeColdCert__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "resign_committee_cold_cert"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor ResignCommitteeColdCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'resignCommitteeColdCert")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        regDrepCert__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "reg_drep_cert"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RegDRepCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'regDrepCert")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        unregDrepCert__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "unreg_drep_cert"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor UnRegDRepCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'unregDrepCert")) ::
              Data.ProtoLens.FieldDescriptor Certificate
        updateDrepCert__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "update_drep_cert"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor UpdateDRepCert)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'updateDrepCert")) ::
              Data.ProtoLens.FieldDescriptor Certificate
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 100, redeemer__field_descriptor),
           (Data.ProtoLens.Tag 1, stakeRegistration__field_descriptor),
           (Data.ProtoLens.Tag 2, stakeDeregistration__field_descriptor),
           (Data.ProtoLens.Tag 3, stakeDelegation__field_descriptor),
           (Data.ProtoLens.Tag 4, poolRegistration__field_descriptor),
           (Data.ProtoLens.Tag 5, poolRetirement__field_descriptor),
           (Data.ProtoLens.Tag 6, genesisKeyDelegation__field_descriptor),
           (Data.ProtoLens.Tag 7, mirCert__field_descriptor),
           (Data.ProtoLens.Tag 8, regCert__field_descriptor),
           (Data.ProtoLens.Tag 9, unregCert__field_descriptor),
           (Data.ProtoLens.Tag 10, voteDelegCert__field_descriptor),
           (Data.ProtoLens.Tag 11, stakeVoteDelegCert__field_descriptor),
           (Data.ProtoLens.Tag 12, stakeRegDelegCert__field_descriptor),
           (Data.ProtoLens.Tag 13, voteRegDelegCert__field_descriptor),
           (Data.ProtoLens.Tag 14, stakeVoteRegDelegCert__field_descriptor),
           (Data.ProtoLens.Tag 15, authCommitteeHotCert__field_descriptor),
           (Data.ProtoLens.Tag 16, resignCommitteeColdCert__field_descriptor),
           (Data.ProtoLens.Tag 17, regDrepCert__field_descriptor),
           (Data.ProtoLens.Tag 18, unregDrepCert__field_descriptor),
           (Data.ProtoLens.Tag 19, updateDrepCert__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Certificate'_unknownFields
        (\ x__ y__ -> x__ {_Certificate'_unknownFields = y__})
  defMessage
    = Certificate'_constructor
        {_Certificate'redeemer = Prelude.Nothing,
         _Certificate'certificate = Prelude.Nothing,
         _Certificate'_unknownFields = []}
  parseMessage
    = let
        loop ::
          Certificate -> Data.ProtoLens.Encoding.Bytes.Parser Certificate
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        802
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "redeemer"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"redeemer") y x)
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_registration"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeRegistration") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_deregistration"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeDeregistration") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_delegation"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeDelegation") y x)
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "pool_registration"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"poolRegistration") y x)
                        42
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "pool_retirement"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"poolRetirement") y x)
                        50
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "genesis_key_delegation"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"genesisKeyDelegation") y x)
                        58
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "mir_cert"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"mirCert") y x)
                        66
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "reg_cert"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"regCert") y x)
                        74
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "unreg_cert"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"unregCert") y x)
                        82
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "vote_deleg_cert"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"voteDelegCert") y x)
                        90
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_vote_deleg_cert"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeVoteDelegCert") y x)
                        98
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_reg_deleg_cert"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeRegDelegCert") y x)
                        106
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "vote_reg_deleg_cert"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"voteRegDelegCert") y x)
                        114
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_vote_reg_deleg_cert"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeVoteRegDelegCert") y x)
                        122
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "auth_committee_hot_cert"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"authCommitteeHotCert") y x)
                        130
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "resign_committee_cold_cert"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"resignCommitteeColdCert") y x)
                        138
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "reg_drep_cert"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"regDrepCert") y x)
                        146
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "unreg_drep_cert"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"unregDrepCert") y x)
                        154
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "update_drep_cert"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"updateDrepCert") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "Certificate"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'redeemer") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 802)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view
                       (Data.ProtoLens.Field.field @"maybe'certificate") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just (Certificate'StakeRegistration v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'StakeDeregistration v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'StakeDelegation v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'PoolRegistration v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'PoolRetirement v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'GenesisKeyDelegation v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 50)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'MirCert v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 58)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'RegCert v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 66)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'UnregCert v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 74)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'VoteDelegCert v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 82)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'StakeVoteDelegCert v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 90)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'StakeRegDelegCert v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 98)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'VoteRegDelegCert v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 106)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'StakeVoteRegDelegCert v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 114)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'AuthCommitteeHotCert v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 122)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'ResignCommitteeColdCert v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 130)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'RegDrepCert v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 138)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'UnregDrepCert v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 146)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v)
                   (Prelude.Just (Certificate'UpdateDrepCert v))
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 154)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData Certificate where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Certificate'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Certificate'redeemer x__)
                (Control.DeepSeq.deepseq (_Certificate'certificate x__) ()))
instance Control.DeepSeq.NFData Certificate'Certificate where
  rnf (Certificate'StakeRegistration x__) = Control.DeepSeq.rnf x__
  rnf (Certificate'StakeDeregistration x__) = Control.DeepSeq.rnf x__
  rnf (Certificate'StakeDelegation x__) = Control.DeepSeq.rnf x__
  rnf (Certificate'PoolRegistration x__) = Control.DeepSeq.rnf x__
  rnf (Certificate'PoolRetirement x__) = Control.DeepSeq.rnf x__
  rnf (Certificate'GenesisKeyDelegation x__)
    = Control.DeepSeq.rnf x__
  rnf (Certificate'MirCert x__) = Control.DeepSeq.rnf x__
  rnf (Certificate'RegCert x__) = Control.DeepSeq.rnf x__
  rnf (Certificate'UnregCert x__) = Control.DeepSeq.rnf x__
  rnf (Certificate'VoteDelegCert x__) = Control.DeepSeq.rnf x__
  rnf (Certificate'StakeVoteDelegCert x__) = Control.DeepSeq.rnf x__
  rnf (Certificate'StakeRegDelegCert x__) = Control.DeepSeq.rnf x__
  rnf (Certificate'VoteRegDelegCert x__) = Control.DeepSeq.rnf x__
  rnf (Certificate'StakeVoteRegDelegCert x__)
    = Control.DeepSeq.rnf x__
  rnf (Certificate'AuthCommitteeHotCert x__)
    = Control.DeepSeq.rnf x__
  rnf (Certificate'ResignCommitteeColdCert x__)
    = Control.DeepSeq.rnf x__
  rnf (Certificate'RegDrepCert x__) = Control.DeepSeq.rnf x__
  rnf (Certificate'UnregDrepCert x__) = Control.DeepSeq.rnf x__
  rnf (Certificate'UpdateDrepCert x__) = Control.DeepSeq.rnf x__
_Certificate'StakeRegistration ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate StakeCredential
_Certificate'StakeRegistration
  = Data.ProtoLens.Prism.prism'
      Certificate'StakeRegistration
      (\ p__
         -> case p__ of
              (Certificate'StakeRegistration p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'StakeDeregistration ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate StakeCredential
_Certificate'StakeDeregistration
  = Data.ProtoLens.Prism.prism'
      Certificate'StakeDeregistration
      (\ p__
         -> case p__ of
              (Certificate'StakeDeregistration p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'StakeDelegation ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate StakeDelegationCert
_Certificate'StakeDelegation
  = Data.ProtoLens.Prism.prism'
      Certificate'StakeDelegation
      (\ p__
         -> case p__ of
              (Certificate'StakeDelegation p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'PoolRegistration ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate PoolRegistrationCert
_Certificate'PoolRegistration
  = Data.ProtoLens.Prism.prism'
      Certificate'PoolRegistration
      (\ p__
         -> case p__ of
              (Certificate'PoolRegistration p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'PoolRetirement ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate PoolRetirementCert
_Certificate'PoolRetirement
  = Data.ProtoLens.Prism.prism'
      Certificate'PoolRetirement
      (\ p__
         -> case p__ of
              (Certificate'PoolRetirement p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'GenesisKeyDelegation ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate GenesisKeyDelegationCert
_Certificate'GenesisKeyDelegation
  = Data.ProtoLens.Prism.prism'
      Certificate'GenesisKeyDelegation
      (\ p__
         -> case p__ of
              (Certificate'GenesisKeyDelegation p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'MirCert ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate MirCert
_Certificate'MirCert
  = Data.ProtoLens.Prism.prism'
      Certificate'MirCert
      (\ p__
         -> case p__ of
              (Certificate'MirCert p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'RegCert ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate RegCert
_Certificate'RegCert
  = Data.ProtoLens.Prism.prism'
      Certificate'RegCert
      (\ p__
         -> case p__ of
              (Certificate'RegCert p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'UnregCert ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate UnRegCert
_Certificate'UnregCert
  = Data.ProtoLens.Prism.prism'
      Certificate'UnregCert
      (\ p__
         -> case p__ of
              (Certificate'UnregCert p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'VoteDelegCert ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate VoteDelegCert
_Certificate'VoteDelegCert
  = Data.ProtoLens.Prism.prism'
      Certificate'VoteDelegCert
      (\ p__
         -> case p__ of
              (Certificate'VoteDelegCert p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'StakeVoteDelegCert ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate StakeVoteDelegCert
_Certificate'StakeVoteDelegCert
  = Data.ProtoLens.Prism.prism'
      Certificate'StakeVoteDelegCert
      (\ p__
         -> case p__ of
              (Certificate'StakeVoteDelegCert p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'StakeRegDelegCert ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate StakeRegDelegCert
_Certificate'StakeRegDelegCert
  = Data.ProtoLens.Prism.prism'
      Certificate'StakeRegDelegCert
      (\ p__
         -> case p__ of
              (Certificate'StakeRegDelegCert p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'VoteRegDelegCert ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate VoteRegDelegCert
_Certificate'VoteRegDelegCert
  = Data.ProtoLens.Prism.prism'
      Certificate'VoteRegDelegCert
      (\ p__
         -> case p__ of
              (Certificate'VoteRegDelegCert p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'StakeVoteRegDelegCert ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate StakeVoteRegDelegCert
_Certificate'StakeVoteRegDelegCert
  = Data.ProtoLens.Prism.prism'
      Certificate'StakeVoteRegDelegCert
      (\ p__
         -> case p__ of
              (Certificate'StakeVoteRegDelegCert p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'AuthCommitteeHotCert ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate AuthCommitteeHotCert
_Certificate'AuthCommitteeHotCert
  = Data.ProtoLens.Prism.prism'
      Certificate'AuthCommitteeHotCert
      (\ p__
         -> case p__ of
              (Certificate'AuthCommitteeHotCert p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'ResignCommitteeColdCert ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate ResignCommitteeColdCert
_Certificate'ResignCommitteeColdCert
  = Data.ProtoLens.Prism.prism'
      Certificate'ResignCommitteeColdCert
      (\ p__
         -> case p__ of
              (Certificate'ResignCommitteeColdCert p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'RegDrepCert ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate RegDRepCert
_Certificate'RegDrepCert
  = Data.ProtoLens.Prism.prism'
      Certificate'RegDrepCert
      (\ p__
         -> case p__ of
              (Certificate'RegDrepCert p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'UnregDrepCert ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate UnRegDRepCert
_Certificate'UnregDrepCert
  = Data.ProtoLens.Prism.prism'
      Certificate'UnregDrepCert
      (\ p__
         -> case p__ of
              (Certificate'UnregDrepCert p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Certificate'UpdateDrepCert ::
  Data.ProtoLens.Prism.Prism' Certificate'Certificate UpdateDRepCert
_Certificate'UpdateDrepCert
  = Data.ProtoLens.Prism.prism'
      Certificate'UpdateDrepCert
      (\ p__
         -> case p__ of
              (Certificate'UpdateDrepCert p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.collateral' @:: Lens' Collateral [TxInput]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'collateral' @:: Lens' Collateral (Data.Vector.Vector TxInput)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.collateralReturn' @:: Lens' Collateral TxOutput@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'collateralReturn' @:: Lens' Collateral (Prelude.Maybe TxOutput)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.totalCollateral' @:: Lens' Collateral Data.Word.Word64@ -}
data Collateral
  = Collateral'_constructor {_Collateral'collateral :: !(Data.Vector.Vector TxInput),
                             _Collateral'collateralReturn :: !(Prelude.Maybe TxOutput),
                             _Collateral'totalCollateral :: !Data.Word.Word64,
                             _Collateral'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Collateral where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Collateral "collateral" [TxInput] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Collateral'collateral
           (\ x__ y__ -> x__ {_Collateral'collateral = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField Collateral "vec'collateral" (Data.Vector.Vector TxInput) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Collateral'collateral
           (\ x__ y__ -> x__ {_Collateral'collateral = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Collateral "collateralReturn" TxOutput where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Collateral'collateralReturn
           (\ x__ y__ -> x__ {_Collateral'collateralReturn = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Collateral "maybe'collateralReturn" (Prelude.Maybe TxOutput) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Collateral'collateralReturn
           (\ x__ y__ -> x__ {_Collateral'collateralReturn = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Collateral "totalCollateral" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Collateral'totalCollateral
           (\ x__ y__ -> x__ {_Collateral'totalCollateral = y__}))
        Prelude.id
instance Data.ProtoLens.Message Collateral where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.Collateral"
  packedMessageDescriptor _
    = "\n\
      \\n\
      \Collateral\DC2@\n\
      \\n\
      \collateral\CAN\SOH \ETX(\v2 .utxorpc.v1alpha.cardano.TxInputR\n\
      \collateral\DC2N\n\
      \\DC1collateral_return\CAN\STX \SOH(\v2!.utxorpc.v1alpha.cardano.TxOutputR\DLEcollateralReturn\DC2)\n\
      \\DLEtotal_collateral\CAN\ETX \SOH(\EOTR\SItotalCollateral"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        collateral__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "collateral"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor TxInput)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked
                 (Data.ProtoLens.Field.field @"collateral")) ::
              Data.ProtoLens.FieldDescriptor Collateral
        collateralReturn__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "collateral_return"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor TxOutput)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'collateralReturn")) ::
              Data.ProtoLens.FieldDescriptor Collateral
        totalCollateral__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "total_collateral"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"totalCollateral")) ::
              Data.ProtoLens.FieldDescriptor Collateral
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, collateral__field_descriptor),
           (Data.ProtoLens.Tag 2, collateralReturn__field_descriptor),
           (Data.ProtoLens.Tag 3, totalCollateral__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Collateral'_unknownFields
        (\ x__ y__ -> x__ {_Collateral'_unknownFields = y__})
  defMessage
    = Collateral'_constructor
        {_Collateral'collateral = Data.Vector.Generic.empty,
         _Collateral'collateralReturn = Prelude.Nothing,
         _Collateral'totalCollateral = Data.ProtoLens.fieldDefault,
         _Collateral'_unknownFields = []}
  parseMessage
    = let
        loop ::
          Collateral
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld TxInput
             -> Data.ProtoLens.Encoding.Bytes.Parser Collateral
        loop x mutable'collateral
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'collateral <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                                mutable'collateral)
                      (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'collateral") frozen'collateral
                              x))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "collateral"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'collateral y)
                                loop x v
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "collateral_return"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"collateralReturn") y x)
                                  mutable'collateral
                        24
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "total_collateral"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"totalCollateral") y x)
                                  mutable'collateral
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
                                  mutable'collateral
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'collateral <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                      Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'collateral)
          "Collateral"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                (\ _v
                   -> (Data.Monoid.<>)
                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                        ((Prelude..)
                           (\ bs
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                           Data.ProtoLens.encodeMessage _v))
                (Lens.Family2.view
                   (Data.ProtoLens.Field.field @"vec'collateral") _x))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view
                       (Data.ProtoLens.Field.field @"maybe'collateralReturn") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                ((Data.Monoid.<>)
                   (let
                      _v
                        = Lens.Family2.view
                            (Data.ProtoLens.Field.field @"totalCollateral") _x
                    in
                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                          Data.Monoid.mempty
                      else
                          (Data.Monoid.<>)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData Collateral where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Collateral'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Collateral'collateral x__)
                (Control.DeepSeq.deepseq
                   (_Collateral'collateralReturn x__)
                   (Control.DeepSeq.deepseq (_Collateral'totalCollateral x__) ())))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.anchor' @:: Lens' Constitution Anchor@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'anchor' @:: Lens' Constitution (Prelude.Maybe Anchor)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.hash' @:: Lens' Constitution Data.ByteString.ByteString@ -}
data Constitution
  = Constitution'_constructor {_Constitution'anchor :: !(Prelude.Maybe Anchor),
                               _Constitution'hash :: !Data.ByteString.ByteString,
                               _Constitution'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Constitution where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Constitution "anchor" Anchor where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Constitution'anchor
           (\ x__ y__ -> x__ {_Constitution'anchor = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Constitution "maybe'anchor" (Prelude.Maybe Anchor) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Constitution'anchor
           (\ x__ y__ -> x__ {_Constitution'anchor = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Constitution "hash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Constitution'hash (\ x__ y__ -> x__ {_Constitution'hash = y__}))
        Prelude.id
instance Data.ProtoLens.Message Constitution where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.Constitution"
  packedMessageDescriptor _
    = "\n\
      \\fConstitution\DC27\n\
      \\ACKanchor\CAN\SOH \SOH(\v2\US.utxorpc.v1alpha.cardano.AnchorR\ACKanchor\DC2\DC2\n\
      \\EOThash\CAN\STX \SOH(\fR\EOThash"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        anchor__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "anchor"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Anchor)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'anchor")) ::
              Data.ProtoLens.FieldDescriptor Constitution
        hash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "hash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"hash")) ::
              Data.ProtoLens.FieldDescriptor Constitution
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, anchor__field_descriptor),
           (Data.ProtoLens.Tag 2, hash__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Constitution'_unknownFields
        (\ x__ y__ -> x__ {_Constitution'_unknownFields = y__})
  defMessage
    = Constitution'_constructor
        {_Constitution'anchor = Prelude.Nothing,
         _Constitution'hash = Data.ProtoLens.fieldDefault,
         _Constitution'_unknownFields = []}
  parseMessage
    = let
        loop ::
          Constitution -> Data.ProtoLens.Encoding.Bytes.Parser Constitution
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "anchor"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"anchor") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "hash"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"hash") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "Constitution"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'anchor") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"hash") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData Constitution where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Constitution'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Constitution'anchor x__)
                (Control.DeepSeq.deepseq (_Constitution'hash x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.tag' @:: Lens' Constr Data.Word.Word32@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.anyConstructor' @:: Lens' Constr Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.fields' @:: Lens' Constr [PlutusData]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'fields' @:: Lens' Constr (Data.Vector.Vector PlutusData)@ -}
data Constr
  = Constr'_constructor {_Constr'tag :: !Data.Word.Word32,
                         _Constr'anyConstructor :: !Data.Word.Word64,
                         _Constr'fields :: !(Data.Vector.Vector PlutusData),
                         _Constr'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Constr where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Constr "tag" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Constr'tag (\ x__ y__ -> x__ {_Constr'tag = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Constr "anyConstructor" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Constr'anyConstructor
           (\ x__ y__ -> x__ {_Constr'anyConstructor = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Constr "fields" [PlutusData] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Constr'fields (\ x__ y__ -> x__ {_Constr'fields = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField Constr "vec'fields" (Data.Vector.Vector PlutusData) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Constr'fields (\ x__ y__ -> x__ {_Constr'fields = y__}))
        Prelude.id
instance Data.ProtoLens.Message Constr where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.Constr"
  packedMessageDescriptor _
    = "\n\
      \\ACKConstr\DC2\DLE\n\
      \\ETXtag\CAN\SOH \SOH(\rR\ETXtag\DC2'\n\
      \\SIany_constructor\CAN\STX \SOH(\EOTR\SOanyConstructor\DC2;\n\
      \\ACKfields\CAN\ETX \ETX(\v2#.utxorpc.v1alpha.cardano.PlutusDataR\ACKfields"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        tag__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "tag"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"tag")) ::
              Data.ProtoLens.FieldDescriptor Constr
        anyConstructor__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "any_constructor"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"anyConstructor")) ::
              Data.ProtoLens.FieldDescriptor Constr
        fields__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "fields"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PlutusData)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"fields")) ::
              Data.ProtoLens.FieldDescriptor Constr
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, tag__field_descriptor),
           (Data.ProtoLens.Tag 2, anyConstructor__field_descriptor),
           (Data.ProtoLens.Tag 3, fields__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Constr'_unknownFields
        (\ x__ y__ -> x__ {_Constr'_unknownFields = y__})
  defMessage
    = Constr'_constructor
        {_Constr'tag = Data.ProtoLens.fieldDefault,
         _Constr'anyConstructor = Data.ProtoLens.fieldDefault,
         _Constr'fields = Data.Vector.Generic.empty,
         _Constr'_unknownFields = []}
  parseMessage
    = let
        loop ::
          Constr
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld PlutusData
             -> Data.ProtoLens.Encoding.Bytes.Parser Constr
        loop x mutable'fields
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'fields <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                         (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                            mutable'fields)
                      (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'fields") frozen'fields x))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "tag"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"tag") y x)
                                  mutable'fields
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "any_constructor"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"anyConstructor") y x)
                                  mutable'fields
                        26
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "fields"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'fields y)
                                loop x v
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
                                  mutable'fields
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'fields <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                  Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'fields)
          "Constr"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"tag") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
                      ((Prelude..)
                         Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view
                         (Data.ProtoLens.Field.field @"anyConstructor") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                ((Data.Monoid.<>)
                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                      (\ _v
                         -> (Data.Monoid.<>)
                              (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                              ((Prelude..)
                                 (\ bs
                                    -> (Data.Monoid.<>)
                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
                                            (Prelude.fromIntegral (Data.ByteString.length bs)))
                                         (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                 Data.ProtoLens.encodeMessage _v))
                      (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'fields") _x))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData Constr where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Constr'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Constr'tag x__)
                (Control.DeepSeq.deepseq
                   (_Constr'anyConstructor x__)
                   (Control.DeepSeq.deepseq (_Constr'fields x__) ())))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.values' @:: Lens' CostModel [Data.Int.Int64]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'values' @:: Lens' CostModel (Data.Vector.Unboxed.Vector Data.Int.Int64)@ -}
data CostModel
  = CostModel'_constructor {_CostModel'values :: !(Data.Vector.Unboxed.Vector Data.Int.Int64),
                            _CostModel'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show CostModel where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField CostModel "values" [Data.Int.Int64] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CostModel'values (\ x__ y__ -> x__ {_CostModel'values = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField CostModel "vec'values" (Data.Vector.Unboxed.Vector Data.Int.Int64) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CostModel'values (\ x__ y__ -> x__ {_CostModel'values = y__}))
        Prelude.id
instance Data.ProtoLens.Message CostModel where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.CostModel"
  packedMessageDescriptor _
    = "\n\
      \\tCostModel\DC2\SYN\n\
      \\ACKvalues\CAN\SOH \ETX(\ETXR\ACKvalues"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        values__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "values"
              (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Packed (Data.ProtoLens.Field.field @"values")) ::
              Data.ProtoLens.FieldDescriptor CostModel
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, values__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _CostModel'_unknownFields
        (\ x__ y__ -> x__ {_CostModel'_unknownFields = y__})
  defMessage
    = CostModel'_constructor
        {_CostModel'values = Data.Vector.Generic.empty,
         _CostModel'_unknownFields = []}
  parseMessage
    = let
        loop ::
          CostModel
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Unboxed.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Int.Int64
             -> Data.ProtoLens.Encoding.Bytes.Parser CostModel
        loop x mutable'values
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'values <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                         (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                            mutable'values)
                      (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'values") frozen'values x))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        8 -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (Prelude.fmap
                                           Prelude.fromIntegral
                                           Data.ProtoLens.Encoding.Bytes.getVarInt)
                                        "values"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'values y)
                                loop x v
                        10
                          -> do y <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                        Data.ProtoLens.Encoding.Bytes.isolate
                                          (Prelude.fromIntegral len)
                                          ((let
                                              ploop qs
                                                = do packedEnd <- Data.ProtoLens.Encoding.Bytes.atEnd
                                                     if packedEnd then
                                                         Prelude.return qs
                                                     else
                                                         do !q <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                                                    (Prelude.fmap
                                                                       Prelude.fromIntegral
                                                                       Data.ProtoLens.Encoding.Bytes.getVarInt)
                                                                    "values"
                                                            qs' <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                                                     (Data.ProtoLens.Encoding.Growing.append
                                                                        qs q)
                                                            ploop qs'
                                            in ploop)
                                             mutable'values)
                                loop x y
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
                                  mutable'values
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'values <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                  Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'values)
          "CostModel"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                p = Lens.Family2.view (Data.ProtoLens.Field.field @"vec'values") _x
              in
                if Data.Vector.Generic.null p then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         (Data.ProtoLens.Encoding.Bytes.runBuilder
                            (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                               ((Prelude..)
                                  Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)
                               p))))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData CostModel where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_CostModel'_unknownFields x__)
             (Control.DeepSeq.deepseq (_CostModel'values x__) ())
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.plutusV1' @:: Lens' CostModels CostModel@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'plutusV1' @:: Lens' CostModels (Prelude.Maybe CostModel)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.plutusV2' @:: Lens' CostModels CostModel@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'plutusV2' @:: Lens' CostModels (Prelude.Maybe CostModel)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.plutusV3' @:: Lens' CostModels CostModel@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'plutusV3' @:: Lens' CostModels (Prelude.Maybe CostModel)@ -}
data CostModels
  = CostModels'_constructor {_CostModels'plutusV1 :: !(Prelude.Maybe CostModel),
                             _CostModels'plutusV2 :: !(Prelude.Maybe CostModel),
                             _CostModels'plutusV3 :: !(Prelude.Maybe CostModel),
                             _CostModels'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show CostModels where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField CostModels "plutusV1" CostModel where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CostModels'plutusV1
           (\ x__ y__ -> x__ {_CostModels'plutusV1 = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField CostModels "maybe'plutusV1" (Prelude.Maybe CostModel) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CostModels'plutusV1
           (\ x__ y__ -> x__ {_CostModels'plutusV1 = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField CostModels "plutusV2" CostModel where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CostModels'plutusV2
           (\ x__ y__ -> x__ {_CostModels'plutusV2 = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField CostModels "maybe'plutusV2" (Prelude.Maybe CostModel) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CostModels'plutusV2
           (\ x__ y__ -> x__ {_CostModels'plutusV2 = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField CostModels "plutusV3" CostModel where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CostModels'plutusV3
           (\ x__ y__ -> x__ {_CostModels'plutusV3 = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField CostModels "maybe'plutusV3" (Prelude.Maybe CostModel) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _CostModels'plutusV3
           (\ x__ y__ -> x__ {_CostModels'plutusV3 = y__}))
        Prelude.id
instance Data.ProtoLens.Message CostModels where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.CostModels"
  packedMessageDescriptor _
    = "\n\
      \\n\
      \CostModels\DC2?\n\
      \\tplutus_v1\CAN\SOH \SOH(\v2\".utxorpc.v1alpha.cardano.CostModelR\bplutusV1\DC2?\n\
      \\tplutus_v2\CAN\STX \SOH(\v2\".utxorpc.v1alpha.cardano.CostModelR\bplutusV2\DC2?\n\
      \\tplutus_v3\CAN\ETX \SOH(\v2\".utxorpc.v1alpha.cardano.CostModelR\bplutusV3"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        plutusV1__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "plutus_v1"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor CostModel)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'plutusV1")) ::
              Data.ProtoLens.FieldDescriptor CostModels
        plutusV2__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "plutus_v2"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor CostModel)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'plutusV2")) ::
              Data.ProtoLens.FieldDescriptor CostModels
        plutusV3__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "plutus_v3"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor CostModel)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'plutusV3")) ::
              Data.ProtoLens.FieldDescriptor CostModels
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, plutusV1__field_descriptor),
           (Data.ProtoLens.Tag 2, plutusV2__field_descriptor),
           (Data.ProtoLens.Tag 3, plutusV3__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _CostModels'_unknownFields
        (\ x__ y__ -> x__ {_CostModels'_unknownFields = y__})
  defMessage
    = CostModels'_constructor
        {_CostModels'plutusV1 = Prelude.Nothing,
         _CostModels'plutusV2 = Prelude.Nothing,
         _CostModels'plutusV3 = Prelude.Nothing,
         _CostModels'_unknownFields = []}
  parseMessage
    = let
        loop ::
          CostModels -> Data.ProtoLens.Encoding.Bytes.Parser CostModels
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "plutus_v1"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"plutusV1") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "plutus_v2"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"plutusV2") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "plutus_v3"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"plutusV3") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "CostModels"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'plutusV1") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'plutusV2") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                ((Data.Monoid.<>)
                   (case
                        Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'plutusV3") _x
                    of
                      Prelude.Nothing -> Data.Monoid.mempty
                      (Prelude.Just _v)
                        -> (Data.Monoid.<>)
                             (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                             ((Prelude..)
                                (\ bs
                                   -> (Data.Monoid.<>)
                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                Data.ProtoLens.encodeMessage _v))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData CostModels where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_CostModels'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_CostModels'plutusV1 x__)
                (Control.DeepSeq.deepseq
                   (_CostModels'plutusV2 x__)
                   (Control.DeepSeq.deepseq (_CostModels'plutusV3 x__) ())))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'drep' @:: Lens' DRep (Prelude.Maybe DRep'Drep)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'addrKeyHash' @:: Lens' DRep (Prelude.Maybe Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.addrKeyHash' @:: Lens' DRep Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'scriptHash' @:: Lens' DRep (Prelude.Maybe Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.scriptHash' @:: Lens' DRep Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'abstain' @:: Lens' DRep (Prelude.Maybe Prelude.Bool)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.abstain' @:: Lens' DRep Prelude.Bool@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'noConfidence' @:: Lens' DRep (Prelude.Maybe Prelude.Bool)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.noConfidence' @:: Lens' DRep Prelude.Bool@ -}
data DRep
  = DRep'_constructor {_DRep'drep :: !(Prelude.Maybe DRep'Drep),
                       _DRep'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show DRep where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
data DRep'Drep
  = DRep'AddrKeyHash !Data.ByteString.ByteString |
    DRep'ScriptHash !Data.ByteString.ByteString |
    DRep'Abstain !Prelude.Bool |
    DRep'NoConfidence !Prelude.Bool
  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
instance Data.ProtoLens.Field.HasField DRep "maybe'drep" (Prelude.Maybe DRep'Drep) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRep'drep (\ x__ y__ -> x__ {_DRep'drep = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField DRep "maybe'addrKeyHash" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRep'drep (\ x__ y__ -> x__ {_DRep'drep = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (DRep'AddrKeyHash x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap DRep'AddrKeyHash y__))
instance Data.ProtoLens.Field.HasField DRep "addrKeyHash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRep'drep (\ x__ y__ -> x__ {_DRep'drep = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (DRep'AddrKeyHash x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap DRep'AddrKeyHash y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Field.HasField DRep "maybe'scriptHash" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRep'drep (\ x__ y__ -> x__ {_DRep'drep = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (DRep'ScriptHash x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap DRep'ScriptHash y__))
instance Data.ProtoLens.Field.HasField DRep "scriptHash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRep'drep (\ x__ y__ -> x__ {_DRep'drep = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (DRep'ScriptHash x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap DRep'ScriptHash y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Field.HasField DRep "maybe'abstain" (Prelude.Maybe Prelude.Bool) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRep'drep (\ x__ y__ -> x__ {_DRep'drep = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (DRep'Abstain x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap DRep'Abstain y__))
instance Data.ProtoLens.Field.HasField DRep "abstain" Prelude.Bool where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRep'drep (\ x__ y__ -> x__ {_DRep'drep = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (DRep'Abstain x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap DRep'Abstain y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Field.HasField DRep "maybe'noConfidence" (Prelude.Maybe Prelude.Bool) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRep'drep (\ x__ y__ -> x__ {_DRep'drep = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (DRep'NoConfidence x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap DRep'NoConfidence y__))
instance Data.ProtoLens.Field.HasField DRep "noConfidence" Prelude.Bool where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _DRep'drep (\ x__ y__ -> x__ {_DRep'drep = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (DRep'NoConfidence x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap DRep'NoConfidence y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Message DRep where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.DRep"
  packedMessageDescriptor _
    = "\n\
      \\EOTDRep\DC2$\n\
      \\raddr_key_hash\CAN\SOH \SOH(\fH\NULR\vaddrKeyHash\DC2!\n\
      \\vscript_hash\CAN\STX \SOH(\fH\NULR\n\
      \scriptHash\DC2\SUB\n\
      \\aabstain\CAN\ETX \SOH(\bH\NULR\aabstain\DC2%\n\
      \\rno_confidence\CAN\EOT \SOH(\bH\NULR\fnoConfidenceB\ACK\n\
      \\EOTdrep"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        addrKeyHash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "addr_key_hash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'addrKeyHash")) ::
              Data.ProtoLens.FieldDescriptor DRep
        scriptHash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "script_hash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'scriptHash")) ::
              Data.ProtoLens.FieldDescriptor DRep
        abstain__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "abstain"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
                 Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'abstain")) ::
              Data.ProtoLens.FieldDescriptor DRep
        noConfidence__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "no_confidence"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
                 Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'noConfidence")) ::
              Data.ProtoLens.FieldDescriptor DRep
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, addrKeyHash__field_descriptor),
           (Data.ProtoLens.Tag 2, scriptHash__field_descriptor),
           (Data.ProtoLens.Tag 3, abstain__field_descriptor),
           (Data.ProtoLens.Tag 4, noConfidence__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _DRep'_unknownFields
        (\ x__ y__ -> x__ {_DRep'_unknownFields = y__})
  defMessage
    = DRep'_constructor
        {_DRep'drep = Prelude.Nothing, _DRep'_unknownFields = []}
  parseMessage
    = let
        loop :: DRep -> Data.ProtoLens.Encoding.Bytes.Parser DRep
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "addr_key_hash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"addrKeyHash") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "script_hash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"scriptHash") y x)
                        24
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "abstain"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"abstain") y x)
                        32
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "no_confidence"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"noConfidence") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "DRep"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'drep") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just (DRep'AddrKeyHash v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((\ bs
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
                                (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          v)
                (Prelude.Just (DRep'ScriptHash v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                       ((\ bs
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
                                (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          v)
                (Prelude.Just (DRep'Abstain v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
                       ((Prelude..)
                          Data.ProtoLens.Encoding.Bytes.putVarInt (\ b -> if b then 1 else 0)
                          v)
                (Prelude.Just (DRep'NoConfidence v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 32)
                       ((Prelude..)
                          Data.ProtoLens.Encoding.Bytes.putVarInt (\ b -> if b then 1 else 0)
                          v))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData DRep where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_DRep'_unknownFields x__)
             (Control.DeepSeq.deepseq (_DRep'drep x__) ())
instance Control.DeepSeq.NFData DRep'Drep where
  rnf (DRep'AddrKeyHash x__) = Control.DeepSeq.rnf x__
  rnf (DRep'ScriptHash x__) = Control.DeepSeq.rnf x__
  rnf (DRep'Abstain x__) = Control.DeepSeq.rnf x__
  rnf (DRep'NoConfidence x__) = Control.DeepSeq.rnf x__
_DRep'AddrKeyHash ::
  Data.ProtoLens.Prism.Prism' DRep'Drep Data.ByteString.ByteString
_DRep'AddrKeyHash
  = Data.ProtoLens.Prism.prism'
      DRep'AddrKeyHash
      (\ p__
         -> case p__ of
              (DRep'AddrKeyHash p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_DRep'ScriptHash ::
  Data.ProtoLens.Prism.Prism' DRep'Drep Data.ByteString.ByteString
_DRep'ScriptHash
  = Data.ProtoLens.Prism.prism'
      DRep'ScriptHash
      (\ p__
         -> case p__ of
              (DRep'ScriptHash p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_DRep'Abstain :: Data.ProtoLens.Prism.Prism' DRep'Drep Prelude.Bool
_DRep'Abstain
  = Data.ProtoLens.Prism.prism'
      DRep'Abstain
      (\ p__
         -> case p__ of
              (DRep'Abstain p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_DRep'NoConfidence ::
  Data.ProtoLens.Prism.Prism' DRep'Drep Prelude.Bool
_DRep'NoConfidence
  = Data.ProtoLens.Prism.prism'
      DRep'NoConfidence
      (\ p__
         -> case p__ of
              (DRep'NoConfidence p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.hash' @:: Lens' Datum Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.payload' @:: Lens' Datum PlutusData@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'payload' @:: Lens' Datum (Prelude.Maybe PlutusData)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.originalCbor' @:: Lens' Datum Data.ByteString.ByteString@ -}
data Datum
  = Datum'_constructor {_Datum'hash :: !Data.ByteString.ByteString,
                        _Datum'payload :: !(Prelude.Maybe PlutusData),
                        _Datum'originalCbor :: !Data.ByteString.ByteString,
                        _Datum'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Datum where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Datum "hash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Datum'hash (\ x__ y__ -> x__ {_Datum'hash = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Datum "payload" PlutusData where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Datum'payload (\ x__ y__ -> x__ {_Datum'payload = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Datum "maybe'payload" (Prelude.Maybe PlutusData) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Datum'payload (\ x__ y__ -> x__ {_Datum'payload = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Datum "originalCbor" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Datum'originalCbor (\ x__ y__ -> x__ {_Datum'originalCbor = y__}))
        Prelude.id
instance Data.ProtoLens.Message Datum where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.Datum"
  packedMessageDescriptor _
    = "\n\
      \\ENQDatum\DC2\DC2\n\
      \\EOThash\CAN\SOH \SOH(\fR\EOThash\DC2=\n\
      \\apayload\CAN\STX \SOH(\v2#.utxorpc.v1alpha.cardano.PlutusDataR\apayload\DC2#\n\
      \\roriginal_cbor\CAN\ETX \SOH(\fR\foriginalCbor"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        hash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "hash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"hash")) ::
              Data.ProtoLens.FieldDescriptor Datum
        payload__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "payload"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PlutusData)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'payload")) ::
              Data.ProtoLens.FieldDescriptor Datum
        originalCbor__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "original_cbor"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"originalCbor")) ::
              Data.ProtoLens.FieldDescriptor Datum
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, hash__field_descriptor),
           (Data.ProtoLens.Tag 2, payload__field_descriptor),
           (Data.ProtoLens.Tag 3, originalCbor__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Datum'_unknownFields
        (\ x__ y__ -> x__ {_Datum'_unknownFields = y__})
  defMessage
    = Datum'_constructor
        {_Datum'hash = Data.ProtoLens.fieldDefault,
         _Datum'payload = Prelude.Nothing,
         _Datum'originalCbor = Data.ProtoLens.fieldDefault,
         _Datum'_unknownFields = []}
  parseMessage
    = let
        loop :: Datum -> Data.ProtoLens.Encoding.Bytes.Parser Datum
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "hash"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"hash") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "payload"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"payload") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "original_cbor"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"originalCbor") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "Datum"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"hash") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'payload") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                ((Data.Monoid.<>)
                   (let
                      _v
                        = Lens.Family2.view (Data.ProtoLens.Field.field @"originalCbor") _x
                    in
                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                          Data.Monoid.mempty
                      else
                          (Data.Monoid.<>)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                            ((\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                               _v))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData Datum where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Datum'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Datum'hash x__)
                (Control.DeepSeq.deepseq
                   (_Datum'payload x__)
                   (Control.DeepSeq.deepseq (_Datum'originalCbor x__) ())))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.msg' @:: Lens' EvalError Data.Text.Text@ -}
data EvalError
  = EvalError'_constructor {_EvalError'msg :: !Data.Text.Text,
                            _EvalError'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show EvalError where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField EvalError "msg" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _EvalError'msg (\ x__ y__ -> x__ {_EvalError'msg = y__}))
        Prelude.id
instance Data.ProtoLens.Message EvalError where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.EvalError"
  packedMessageDescriptor _
    = "\n\
      \\tEvalError\DC2\DLE\n\
      \\ETXmsg\CAN\SOH \SOH(\tR\ETXmsg"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        msg__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "msg"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"msg")) ::
              Data.ProtoLens.FieldDescriptor EvalError
      in
        Data.Map.fromList [(Data.ProtoLens.Tag 1, msg__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _EvalError'_unknownFields
        (\ x__ y__ -> x__ {_EvalError'_unknownFields = y__})
  defMessage
    = EvalError'_constructor
        {_EvalError'msg = Data.ProtoLens.fieldDefault,
         _EvalError'_unknownFields = []}
  parseMessage
    = let
        loop :: EvalError -> Data.ProtoLens.Encoding.Bytes.Parser EvalError
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "msg"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"msg") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "EvalError"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"msg") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((Prelude..)
                         (\ bs
                            -> (Data.Monoid.<>)
                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
                                    (Prelude.fromIntegral (Data.ByteString.length bs)))
                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         Data.Text.Encoding.encodeUtf8 _v))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData EvalError where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_EvalError'_unknownFields x__)
             (Control.DeepSeq.deepseq (_EvalError'msg x__) ())
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.msg' @:: Lens' EvalTrace Data.Text.Text@ -}
data EvalTrace
  = EvalTrace'_constructor {_EvalTrace'msg :: !Data.Text.Text,
                            _EvalTrace'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show EvalTrace where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField EvalTrace "msg" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _EvalTrace'msg (\ x__ y__ -> x__ {_EvalTrace'msg = y__}))
        Prelude.id
instance Data.ProtoLens.Message EvalTrace where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.EvalTrace"
  packedMessageDescriptor _
    = "\n\
      \\tEvalTrace\DC2\DLE\n\
      \\ETXmsg\CAN\SOH \SOH(\tR\ETXmsg"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        msg__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "msg"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"msg")) ::
              Data.ProtoLens.FieldDescriptor EvalTrace
      in
        Data.Map.fromList [(Data.ProtoLens.Tag 1, msg__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _EvalTrace'_unknownFields
        (\ x__ y__ -> x__ {_EvalTrace'_unknownFields = y__})
  defMessage
    = EvalTrace'_constructor
        {_EvalTrace'msg = Data.ProtoLens.fieldDefault,
         _EvalTrace'_unknownFields = []}
  parseMessage
    = let
        loop :: EvalTrace -> Data.ProtoLens.Encoding.Bytes.Parser EvalTrace
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "msg"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"msg") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "EvalTrace"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"msg") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((Prelude..)
                         (\ bs
                            -> (Data.Monoid.<>)
                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
                                    (Prelude.fromIntegral (Data.ByteString.length bs)))
                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         Data.Text.Encoding.encodeUtf8 _v))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData EvalTrace where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_EvalTrace'_unknownFields x__)
             (Control.DeepSeq.deepseq (_EvalTrace'msg x__) ())
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.steps' @:: Lens' ExPrices RationalNumber@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'steps' @:: Lens' ExPrices (Prelude.Maybe RationalNumber)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.memory' @:: Lens' ExPrices RationalNumber@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'memory' @:: Lens' ExPrices (Prelude.Maybe RationalNumber)@ -}
data ExPrices
  = ExPrices'_constructor {_ExPrices'steps :: !(Prelude.Maybe RationalNumber),
                           _ExPrices'memory :: !(Prelude.Maybe RationalNumber),
                           _ExPrices'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show ExPrices where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField ExPrices "steps" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ExPrices'steps (\ x__ y__ -> x__ {_ExPrices'steps = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField ExPrices "maybe'steps" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ExPrices'steps (\ x__ y__ -> x__ {_ExPrices'steps = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField ExPrices "memory" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ExPrices'memory (\ x__ y__ -> x__ {_ExPrices'memory = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField ExPrices "maybe'memory" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ExPrices'memory (\ x__ y__ -> x__ {_ExPrices'memory = y__}))
        Prelude.id
instance Data.ProtoLens.Message ExPrices where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.ExPrices"
  packedMessageDescriptor _
    = "\n\
      \\bExPrices\DC2=\n\
      \\ENQsteps\CAN\SOH \SOH(\v2'.utxorpc.v1alpha.cardano.RationalNumberR\ENQsteps\DC2?\n\
      \\ACKmemory\CAN\STX \SOH(\v2'.utxorpc.v1alpha.cardano.RationalNumberR\ACKmemory"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        steps__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "steps"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'steps")) ::
              Data.ProtoLens.FieldDescriptor ExPrices
        memory__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "memory"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'memory")) ::
              Data.ProtoLens.FieldDescriptor ExPrices
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, steps__field_descriptor),
           (Data.ProtoLens.Tag 2, memory__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _ExPrices'_unknownFields
        (\ x__ y__ -> x__ {_ExPrices'_unknownFields = y__})
  defMessage
    = ExPrices'_constructor
        {_ExPrices'steps = Prelude.Nothing,
         _ExPrices'memory = Prelude.Nothing, _ExPrices'_unknownFields = []}
  parseMessage
    = let
        loop :: ExPrices -> Data.ProtoLens.Encoding.Bytes.Parser ExPrices
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "steps"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"steps") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "memory"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"memory") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "ExPrices"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'steps") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'memory") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData ExPrices where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_ExPrices'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_ExPrices'steps x__)
                (Control.DeepSeq.deepseq (_ExPrices'memory x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.steps' @:: Lens' ExUnits Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.memory' @:: Lens' ExUnits Data.Word.Word64@ -}
data ExUnits
  = ExUnits'_constructor {_ExUnits'steps :: !Data.Word.Word64,
                          _ExUnits'memory :: !Data.Word.Word64,
                          _ExUnits'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show ExUnits where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField ExUnits "steps" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ExUnits'steps (\ x__ y__ -> x__ {_ExUnits'steps = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField ExUnits "memory" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ExUnits'memory (\ x__ y__ -> x__ {_ExUnits'memory = y__}))
        Prelude.id
instance Data.ProtoLens.Message ExUnits where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.ExUnits"
  packedMessageDescriptor _
    = "\n\
      \\aExUnits\DC2\DC4\n\
      \\ENQsteps\CAN\SOH \SOH(\EOTR\ENQsteps\DC2\SYN\n\
      \\ACKmemory\CAN\STX \SOH(\EOTR\ACKmemory"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        steps__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "steps"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"steps")) ::
              Data.ProtoLens.FieldDescriptor ExUnits
        memory__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "memory"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"memory")) ::
              Data.ProtoLens.FieldDescriptor ExUnits
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, steps__field_descriptor),
           (Data.ProtoLens.Tag 2, memory__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _ExUnits'_unknownFields
        (\ x__ y__ -> x__ {_ExUnits'_unknownFields = y__})
  defMessage
    = ExUnits'_constructor
        {_ExUnits'steps = Data.ProtoLens.fieldDefault,
         _ExUnits'memory = Data.ProtoLens.fieldDefault,
         _ExUnits'_unknownFields = []}
  parseMessage
    = let
        loop :: ExUnits -> Data.ProtoLens.Encoding.Bytes.Parser ExUnits
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "steps"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"steps") y x)
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "memory"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"memory") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "ExUnits"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"steps") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
             ((Data.Monoid.<>)
                (let
                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"memory") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData ExUnits where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_ExUnits'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_ExUnits'steps x__)
                (Control.DeepSeq.deepseq (_ExUnits'memory x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.genesisHash' @:: Lens' GenesisKeyDelegationCert Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.genesisDelegateHash' @:: Lens' GenesisKeyDelegationCert Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vrfKeyhash' @:: Lens' GenesisKeyDelegationCert Data.ByteString.ByteString@ -}
data GenesisKeyDelegationCert
  = GenesisKeyDelegationCert'_constructor {_GenesisKeyDelegationCert'genesisHash :: !Data.ByteString.ByteString,
                                           _GenesisKeyDelegationCert'genesisDelegateHash :: !Data.ByteString.ByteString,
                                           _GenesisKeyDelegationCert'vrfKeyhash :: !Data.ByteString.ByteString,
                                           _GenesisKeyDelegationCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show GenesisKeyDelegationCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField GenesisKeyDelegationCert "genesisHash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GenesisKeyDelegationCert'genesisHash
           (\ x__ y__ -> x__ {_GenesisKeyDelegationCert'genesisHash = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField GenesisKeyDelegationCert "genesisDelegateHash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GenesisKeyDelegationCert'genesisDelegateHash
           (\ x__ y__
              -> x__ {_GenesisKeyDelegationCert'genesisDelegateHash = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField GenesisKeyDelegationCert "vrfKeyhash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GenesisKeyDelegationCert'vrfKeyhash
           (\ x__ y__ -> x__ {_GenesisKeyDelegationCert'vrfKeyhash = y__}))
        Prelude.id
instance Data.ProtoLens.Message GenesisKeyDelegationCert where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.GenesisKeyDelegationCert"
  packedMessageDescriptor _
    = "\n\
      \\CANGenesisKeyDelegationCert\DC2!\n\
      \\fgenesis_hash\CAN\SOH \SOH(\fR\vgenesisHash\DC22\n\
      \\NAKgenesis_delegate_hash\CAN\STX \SOH(\fR\DC3genesisDelegateHash\DC2\US\n\
      \\vvrf_keyhash\CAN\ETX \SOH(\fR\n\
      \vrfKeyhash"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        genesisHash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "genesis_hash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"genesisHash")) ::
              Data.ProtoLens.FieldDescriptor GenesisKeyDelegationCert
        genesisDelegateHash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "genesis_delegate_hash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"genesisDelegateHash")) ::
              Data.ProtoLens.FieldDescriptor GenesisKeyDelegationCert
        vrfKeyhash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "vrf_keyhash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"vrfKeyhash")) ::
              Data.ProtoLens.FieldDescriptor GenesisKeyDelegationCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, genesisHash__field_descriptor),
           (Data.ProtoLens.Tag 2, genesisDelegateHash__field_descriptor),
           (Data.ProtoLens.Tag 3, vrfKeyhash__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _GenesisKeyDelegationCert'_unknownFields
        (\ x__ y__ -> x__ {_GenesisKeyDelegationCert'_unknownFields = y__})
  defMessage
    = GenesisKeyDelegationCert'_constructor
        {_GenesisKeyDelegationCert'genesisHash = Data.ProtoLens.fieldDefault,
         _GenesisKeyDelegationCert'genesisDelegateHash = Data.ProtoLens.fieldDefault,
         _GenesisKeyDelegationCert'vrfKeyhash = Data.ProtoLens.fieldDefault,
         _GenesisKeyDelegationCert'_unknownFields = []}
  parseMessage
    = let
        loop ::
          GenesisKeyDelegationCert
          -> Data.ProtoLens.Encoding.Bytes.Parser GenesisKeyDelegationCert
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "genesis_hash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"genesisHash") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "genesis_delegate_hash"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"genesisDelegateHash") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "vrf_keyhash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"vrfKeyhash") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "GenesisKeyDelegationCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v
                  = Lens.Family2.view (Data.ProtoLens.Field.field @"genesisHash") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view
                         (Data.ProtoLens.Field.field @"genesisDelegateHash") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                ((Data.Monoid.<>)
                   (let
                      _v
                        = Lens.Family2.view (Data.ProtoLens.Field.field @"vrfKeyhash") _x
                    in
                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                          Data.Monoid.mempty
                      else
                          (Data.Monoid.<>)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                            ((\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                               _v))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData GenesisKeyDelegationCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_GenesisKeyDelegationCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_GenesisKeyDelegationCert'genesisHash x__)
                (Control.DeepSeq.deepseq
                   (_GenesisKeyDelegationCert'genesisDelegateHash x__)
                   (Control.DeepSeq.deepseq
                      (_GenesisKeyDelegationCert'vrfKeyhash x__) ())))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'governanceAction' @:: Lens' GovernanceAction (Prelude.Maybe GovernanceAction'GovernanceAction)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'parameterChangeAction' @:: Lens' GovernanceAction (Prelude.Maybe ParameterChangeAction)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.parameterChangeAction' @:: Lens' GovernanceAction ParameterChangeAction@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'hardForkInitiationAction' @:: Lens' GovernanceAction (Prelude.Maybe HardForkInitiationAction)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.hardForkInitiationAction' @:: Lens' GovernanceAction HardForkInitiationAction@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'treasuryWithdrawalsAction' @:: Lens' GovernanceAction (Prelude.Maybe TreasuryWithdrawalsAction)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.treasuryWithdrawalsAction' @:: Lens' GovernanceAction TreasuryWithdrawalsAction@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'noConfidenceAction' @:: Lens' GovernanceAction (Prelude.Maybe NoConfidenceAction)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.noConfidenceAction' @:: Lens' GovernanceAction NoConfidenceAction@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'updateCommitteeAction' @:: Lens' GovernanceAction (Prelude.Maybe UpdateCommitteeAction)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.updateCommitteeAction' @:: Lens' GovernanceAction UpdateCommitteeAction@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'newConstitutionAction' @:: Lens' GovernanceAction (Prelude.Maybe NewConstitutionAction)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.newConstitutionAction' @:: Lens' GovernanceAction NewConstitutionAction@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'infoAction' @:: Lens' GovernanceAction (Prelude.Maybe Data.Word.Word32)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.infoAction' @:: Lens' GovernanceAction Data.Word.Word32@ -}
data GovernanceAction
  = GovernanceAction'_constructor {_GovernanceAction'governanceAction :: !(Prelude.Maybe GovernanceAction'GovernanceAction),
                                   _GovernanceAction'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show GovernanceAction where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
data GovernanceAction'GovernanceAction
  = GovernanceAction'ParameterChangeAction !ParameterChangeAction |
    GovernanceAction'HardForkInitiationAction !HardForkInitiationAction |
    GovernanceAction'TreasuryWithdrawalsAction !TreasuryWithdrawalsAction |
    GovernanceAction'NoConfidenceAction !NoConfidenceAction |
    GovernanceAction'UpdateCommitteeAction !UpdateCommitteeAction |
    GovernanceAction'NewConstitutionAction !NewConstitutionAction |
    GovernanceAction'InfoAction !Data.Word.Word32
  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
instance Data.ProtoLens.Field.HasField GovernanceAction "maybe'governanceAction" (Prelude.Maybe GovernanceAction'GovernanceAction) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceAction'governanceAction
           (\ x__ y__ -> x__ {_GovernanceAction'governanceAction = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField GovernanceAction "maybe'parameterChangeAction" (Prelude.Maybe ParameterChangeAction) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceAction'governanceAction
           (\ x__ y__ -> x__ {_GovernanceAction'governanceAction = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (GovernanceAction'ParameterChangeAction x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__
              -> Prelude.fmap GovernanceAction'ParameterChangeAction y__))
instance Data.ProtoLens.Field.HasField GovernanceAction "parameterChangeAction" ParameterChangeAction where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceAction'governanceAction
           (\ x__ y__ -> x__ {_GovernanceAction'governanceAction = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (GovernanceAction'ParameterChangeAction x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__
                 -> Prelude.fmap GovernanceAction'ParameterChangeAction y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField GovernanceAction "maybe'hardForkInitiationAction" (Prelude.Maybe HardForkInitiationAction) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceAction'governanceAction
           (\ x__ y__ -> x__ {_GovernanceAction'governanceAction = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (GovernanceAction'HardForkInitiationAction x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__
              -> Prelude.fmap GovernanceAction'HardForkInitiationAction y__))
instance Data.ProtoLens.Field.HasField GovernanceAction "hardForkInitiationAction" HardForkInitiationAction where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceAction'governanceAction
           (\ x__ y__ -> x__ {_GovernanceAction'governanceAction = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (GovernanceAction'HardForkInitiationAction x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__
                 -> Prelude.fmap GovernanceAction'HardForkInitiationAction y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField GovernanceAction "maybe'treasuryWithdrawalsAction" (Prelude.Maybe TreasuryWithdrawalsAction) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceAction'governanceAction
           (\ x__ y__ -> x__ {_GovernanceAction'governanceAction = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (GovernanceAction'TreasuryWithdrawalsAction x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__
              -> Prelude.fmap GovernanceAction'TreasuryWithdrawalsAction y__))
instance Data.ProtoLens.Field.HasField GovernanceAction "treasuryWithdrawalsAction" TreasuryWithdrawalsAction where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceAction'governanceAction
           (\ x__ y__ -> x__ {_GovernanceAction'governanceAction = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (GovernanceAction'TreasuryWithdrawalsAction x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__
                 -> Prelude.fmap GovernanceAction'TreasuryWithdrawalsAction y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField GovernanceAction "maybe'noConfidenceAction" (Prelude.Maybe NoConfidenceAction) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceAction'governanceAction
           (\ x__ y__ -> x__ {_GovernanceAction'governanceAction = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (GovernanceAction'NoConfidenceAction x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap GovernanceAction'NoConfidenceAction y__))
instance Data.ProtoLens.Field.HasField GovernanceAction "noConfidenceAction" NoConfidenceAction where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceAction'governanceAction
           (\ x__ y__ -> x__ {_GovernanceAction'governanceAction = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (GovernanceAction'NoConfidenceAction x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap GovernanceAction'NoConfidenceAction y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField GovernanceAction "maybe'updateCommitteeAction" (Prelude.Maybe UpdateCommitteeAction) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceAction'governanceAction
           (\ x__ y__ -> x__ {_GovernanceAction'governanceAction = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (GovernanceAction'UpdateCommitteeAction x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__
              -> Prelude.fmap GovernanceAction'UpdateCommitteeAction y__))
instance Data.ProtoLens.Field.HasField GovernanceAction "updateCommitteeAction" UpdateCommitteeAction where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceAction'governanceAction
           (\ x__ y__ -> x__ {_GovernanceAction'governanceAction = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (GovernanceAction'UpdateCommitteeAction x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__
                 -> Prelude.fmap GovernanceAction'UpdateCommitteeAction y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField GovernanceAction "maybe'newConstitutionAction" (Prelude.Maybe NewConstitutionAction) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceAction'governanceAction
           (\ x__ y__ -> x__ {_GovernanceAction'governanceAction = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (GovernanceAction'NewConstitutionAction x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__
              -> Prelude.fmap GovernanceAction'NewConstitutionAction y__))
instance Data.ProtoLens.Field.HasField GovernanceAction "newConstitutionAction" NewConstitutionAction where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceAction'governanceAction
           (\ x__ y__ -> x__ {_GovernanceAction'governanceAction = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (GovernanceAction'NewConstitutionAction x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__
                 -> Prelude.fmap GovernanceAction'NewConstitutionAction y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField GovernanceAction "maybe'infoAction" (Prelude.Maybe Data.Word.Word32) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceAction'governanceAction
           (\ x__ y__ -> x__ {_GovernanceAction'governanceAction = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (GovernanceAction'InfoAction x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap GovernanceAction'InfoAction y__))
instance Data.ProtoLens.Field.HasField GovernanceAction "infoAction" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceAction'governanceAction
           (\ x__ y__ -> x__ {_GovernanceAction'governanceAction = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (GovernanceAction'InfoAction x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap GovernanceAction'InfoAction y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Message GovernanceAction where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.GovernanceAction"
  packedMessageDescriptor _
    = "\n\
      \\DLEGovernanceAction\DC2h\n\
      \\ETBparameter_change_action\CAN\SOH \SOH(\v2..utxorpc.v1alpha.cardano.ParameterChangeActionH\NULR\NAKparameterChangeAction\DC2r\n\
      \\ESChard_fork_initiation_action\CAN\STX \SOH(\v21.utxorpc.v1alpha.cardano.HardForkInitiationActionH\NULR\CANhardForkInitiationAction\DC2t\n\
      \\ESCtreasury_withdrawals_action\CAN\ETX \SOH(\v22.utxorpc.v1alpha.cardano.TreasuryWithdrawalsActionH\NULR\EMtreasuryWithdrawalsAction\DC2_\n\
      \\DC4no_confidence_action\CAN\EOT \SOH(\v2+.utxorpc.v1alpha.cardano.NoConfidenceActionH\NULR\DC2noConfidenceAction\DC2h\n\
      \\ETBupdate_committee_action\CAN\ENQ \SOH(\v2..utxorpc.v1alpha.cardano.UpdateCommitteeActionH\NULR\NAKupdateCommitteeAction\DC2h\n\
      \\ETBnew_constitution_action\CAN\ACK \SOH(\v2..utxorpc.v1alpha.cardano.NewConstitutionActionH\NULR\NAKnewConstitutionAction\DC2!\n\
      \\vinfo_action\CAN\a \SOH(\rH\NULR\n\
      \infoActionB\DC3\n\
      \\DC1governance_action"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        parameterChangeAction__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "parameter_change_action"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor ParameterChangeAction)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'parameterChangeAction")) ::
              Data.ProtoLens.FieldDescriptor GovernanceAction
        hardForkInitiationAction__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "hard_fork_initiation_action"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor HardForkInitiationAction)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'hardForkInitiationAction")) ::
              Data.ProtoLens.FieldDescriptor GovernanceAction
        treasuryWithdrawalsAction__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "treasury_withdrawals_action"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor TreasuryWithdrawalsAction)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'treasuryWithdrawalsAction")) ::
              Data.ProtoLens.FieldDescriptor GovernanceAction
        noConfidenceAction__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "no_confidence_action"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor NoConfidenceAction)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'noConfidenceAction")) ::
              Data.ProtoLens.FieldDescriptor GovernanceAction
        updateCommitteeAction__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "update_committee_action"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor UpdateCommitteeAction)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'updateCommitteeAction")) ::
              Data.ProtoLens.FieldDescriptor GovernanceAction
        newConstitutionAction__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "new_constitution_action"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor NewConstitutionAction)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'newConstitutionAction")) ::
              Data.ProtoLens.FieldDescriptor GovernanceAction
        infoAction__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "info_action"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'infoAction")) ::
              Data.ProtoLens.FieldDescriptor GovernanceAction
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, parameterChangeAction__field_descriptor),
           (Data.ProtoLens.Tag 2, hardForkInitiationAction__field_descriptor),
           (Data.ProtoLens.Tag 3, 
            treasuryWithdrawalsAction__field_descriptor),
           (Data.ProtoLens.Tag 4, noConfidenceAction__field_descriptor),
           (Data.ProtoLens.Tag 5, updateCommitteeAction__field_descriptor),
           (Data.ProtoLens.Tag 6, newConstitutionAction__field_descriptor),
           (Data.ProtoLens.Tag 7, infoAction__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _GovernanceAction'_unknownFields
        (\ x__ y__ -> x__ {_GovernanceAction'_unknownFields = y__})
  defMessage
    = GovernanceAction'_constructor
        {_GovernanceAction'governanceAction = Prelude.Nothing,
         _GovernanceAction'_unknownFields = []}
  parseMessage
    = let
        loop ::
          GovernanceAction
          -> Data.ProtoLens.Encoding.Bytes.Parser GovernanceAction
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "parameter_change_action"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"parameterChangeAction") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "hard_fork_initiation_action"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"hardForkInitiationAction") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "treasury_withdrawals_action"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"treasuryWithdrawalsAction") y x)
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "no_confidence_action"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"noConfidenceAction") y x)
                        42
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "update_committee_action"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"updateCommitteeAction") y x)
                        50
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "new_constitution_action"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"newConstitutionAction") y x)
                        56
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "info_action"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"infoAction") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "GovernanceAction"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'governanceAction") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just (GovernanceAction'ParameterChangeAction v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (GovernanceAction'HardForkInitiationAction v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (GovernanceAction'TreasuryWithdrawalsAction v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (GovernanceAction'NoConfidenceAction v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (GovernanceAction'UpdateCommitteeAction v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (GovernanceAction'NewConstitutionAction v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 50)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (GovernanceAction'InfoAction v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 56)
                       ((Prelude..)
                          Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral v))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData GovernanceAction where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_GovernanceAction'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_GovernanceAction'governanceAction x__) ())
instance Control.DeepSeq.NFData GovernanceAction'GovernanceAction where
  rnf (GovernanceAction'ParameterChangeAction x__)
    = Control.DeepSeq.rnf x__
  rnf (GovernanceAction'HardForkInitiationAction x__)
    = Control.DeepSeq.rnf x__
  rnf (GovernanceAction'TreasuryWithdrawalsAction x__)
    = Control.DeepSeq.rnf x__
  rnf (GovernanceAction'NoConfidenceAction x__)
    = Control.DeepSeq.rnf x__
  rnf (GovernanceAction'UpdateCommitteeAction x__)
    = Control.DeepSeq.rnf x__
  rnf (GovernanceAction'NewConstitutionAction x__)
    = Control.DeepSeq.rnf x__
  rnf (GovernanceAction'InfoAction x__) = Control.DeepSeq.rnf x__
_GovernanceAction'ParameterChangeAction ::
  Data.ProtoLens.Prism.Prism' GovernanceAction'GovernanceAction ParameterChangeAction
_GovernanceAction'ParameterChangeAction
  = Data.ProtoLens.Prism.prism'
      GovernanceAction'ParameterChangeAction
      (\ p__
         -> case p__ of
              (GovernanceAction'ParameterChangeAction p__val)
                -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_GovernanceAction'HardForkInitiationAction ::
  Data.ProtoLens.Prism.Prism' GovernanceAction'GovernanceAction HardForkInitiationAction
_GovernanceAction'HardForkInitiationAction
  = Data.ProtoLens.Prism.prism'
      GovernanceAction'HardForkInitiationAction
      (\ p__
         -> case p__ of
              (GovernanceAction'HardForkInitiationAction p__val)
                -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_GovernanceAction'TreasuryWithdrawalsAction ::
  Data.ProtoLens.Prism.Prism' GovernanceAction'GovernanceAction TreasuryWithdrawalsAction
_GovernanceAction'TreasuryWithdrawalsAction
  = Data.ProtoLens.Prism.prism'
      GovernanceAction'TreasuryWithdrawalsAction
      (\ p__
         -> case p__ of
              (GovernanceAction'TreasuryWithdrawalsAction p__val)
                -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_GovernanceAction'NoConfidenceAction ::
  Data.ProtoLens.Prism.Prism' GovernanceAction'GovernanceAction NoConfidenceAction
_GovernanceAction'NoConfidenceAction
  = Data.ProtoLens.Prism.prism'
      GovernanceAction'NoConfidenceAction
      (\ p__
         -> case p__ of
              (GovernanceAction'NoConfidenceAction p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_GovernanceAction'UpdateCommitteeAction ::
  Data.ProtoLens.Prism.Prism' GovernanceAction'GovernanceAction UpdateCommitteeAction
_GovernanceAction'UpdateCommitteeAction
  = Data.ProtoLens.Prism.prism'
      GovernanceAction'UpdateCommitteeAction
      (\ p__
         -> case p__ of
              (GovernanceAction'UpdateCommitteeAction p__val)
                -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_GovernanceAction'NewConstitutionAction ::
  Data.ProtoLens.Prism.Prism' GovernanceAction'GovernanceAction NewConstitutionAction
_GovernanceAction'NewConstitutionAction
  = Data.ProtoLens.Prism.prism'
      GovernanceAction'NewConstitutionAction
      (\ p__
         -> case p__ of
              (GovernanceAction'NewConstitutionAction p__val)
                -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_GovernanceAction'InfoAction ::
  Data.ProtoLens.Prism.Prism' GovernanceAction'GovernanceAction Data.Word.Word32
_GovernanceAction'InfoAction
  = Data.ProtoLens.Prism.prism'
      GovernanceAction'InfoAction
      (\ p__
         -> case p__ of
              (GovernanceAction'InfoAction p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.transactionId' @:: Lens' GovernanceActionId Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.governanceActionIndex' @:: Lens' GovernanceActionId Data.Word.Word32@ -}
data GovernanceActionId
  = GovernanceActionId'_constructor {_GovernanceActionId'transactionId :: !Data.ByteString.ByteString,
                                     _GovernanceActionId'governanceActionIndex :: !Data.Word.Word32,
                                     _GovernanceActionId'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show GovernanceActionId where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField GovernanceActionId "transactionId" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceActionId'transactionId
           (\ x__ y__ -> x__ {_GovernanceActionId'transactionId = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField GovernanceActionId "governanceActionIndex" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceActionId'governanceActionIndex
           (\ x__ y__
              -> x__ {_GovernanceActionId'governanceActionIndex = y__}))
        Prelude.id
instance Data.ProtoLens.Message GovernanceActionId where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.GovernanceActionId"
  packedMessageDescriptor _
    = "\n\
      \\DC2GovernanceActionId\DC2%\n\
      \\SOtransaction_id\CAN\SOH \SOH(\fR\rtransactionId\DC26\n\
      \\ETBgovernance_action_index\CAN\STX \SOH(\rR\NAKgovernanceActionIndex"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        transactionId__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "transaction_id"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"transactionId")) ::
              Data.ProtoLens.FieldDescriptor GovernanceActionId
        governanceActionIndex__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "governance_action_index"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"governanceActionIndex")) ::
              Data.ProtoLens.FieldDescriptor GovernanceActionId
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, transactionId__field_descriptor),
           (Data.ProtoLens.Tag 2, governanceActionIndex__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _GovernanceActionId'_unknownFields
        (\ x__ y__ -> x__ {_GovernanceActionId'_unknownFields = y__})
  defMessage
    = GovernanceActionId'_constructor
        {_GovernanceActionId'transactionId = Data.ProtoLens.fieldDefault,
         _GovernanceActionId'governanceActionIndex = Data.ProtoLens.fieldDefault,
         _GovernanceActionId'_unknownFields = []}
  parseMessage
    = let
        loop ::
          GovernanceActionId
          -> Data.ProtoLens.Encoding.Bytes.Parser GovernanceActionId
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "transaction_id"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"transactionId") y x)
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "governance_action_index"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"governanceActionIndex") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "GovernanceActionId"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v
                  = Lens.Family2.view
                      (Data.ProtoLens.Field.field @"transactionId") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view
                         (Data.ProtoLens.Field.field @"governanceActionIndex") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         ((Prelude..)
                            Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData GovernanceActionId where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_GovernanceActionId'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_GovernanceActionId'transactionId x__)
                (Control.DeepSeq.deepseq
                   (_GovernanceActionId'governanceActionIndex x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.deposit' @:: Lens' GovernanceActionProposal Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.rewardAccount' @:: Lens' GovernanceActionProposal Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.govAction' @:: Lens' GovernanceActionProposal GovernanceAction@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'govAction' @:: Lens' GovernanceActionProposal (Prelude.Maybe GovernanceAction)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.anchor' @:: Lens' GovernanceActionProposal Anchor@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'anchor' @:: Lens' GovernanceActionProposal (Prelude.Maybe Anchor)@ -}
data GovernanceActionProposal
  = GovernanceActionProposal'_constructor {_GovernanceActionProposal'deposit :: !Data.Word.Word64,
                                           _GovernanceActionProposal'rewardAccount :: !Data.ByteString.ByteString,
                                           _GovernanceActionProposal'govAction :: !(Prelude.Maybe GovernanceAction),
                                           _GovernanceActionProposal'anchor :: !(Prelude.Maybe Anchor),
                                           _GovernanceActionProposal'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show GovernanceActionProposal where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField GovernanceActionProposal "deposit" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceActionProposal'deposit
           (\ x__ y__ -> x__ {_GovernanceActionProposal'deposit = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField GovernanceActionProposal "rewardAccount" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceActionProposal'rewardAccount
           (\ x__ y__ -> x__ {_GovernanceActionProposal'rewardAccount = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField GovernanceActionProposal "govAction" GovernanceAction where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceActionProposal'govAction
           (\ x__ y__ -> x__ {_GovernanceActionProposal'govAction = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField GovernanceActionProposal "maybe'govAction" (Prelude.Maybe GovernanceAction) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceActionProposal'govAction
           (\ x__ y__ -> x__ {_GovernanceActionProposal'govAction = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField GovernanceActionProposal "anchor" Anchor where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceActionProposal'anchor
           (\ x__ y__ -> x__ {_GovernanceActionProposal'anchor = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField GovernanceActionProposal "maybe'anchor" (Prelude.Maybe Anchor) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _GovernanceActionProposal'anchor
           (\ x__ y__ -> x__ {_GovernanceActionProposal'anchor = y__}))
        Prelude.id
instance Data.ProtoLens.Message GovernanceActionProposal where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.GovernanceActionProposal"
  packedMessageDescriptor _
    = "\n\
      \\CANGovernanceActionProposal\DC2\CAN\n\
      \\adeposit\CAN\SOH \SOH(\EOTR\adeposit\DC2%\n\
      \\SOreward_account\CAN\STX \SOH(\fR\rrewardAccount\DC2H\n\
      \\n\
      \gov_action\CAN\ETX \SOH(\v2).utxorpc.v1alpha.cardano.GovernanceActionR\tgovAction\DC27\n\
      \\ACKanchor\CAN\EOT \SOH(\v2\US.utxorpc.v1alpha.cardano.AnchorR\ACKanchor"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        deposit__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "deposit"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"deposit")) ::
              Data.ProtoLens.FieldDescriptor GovernanceActionProposal
        rewardAccount__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "reward_account"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"rewardAccount")) ::
              Data.ProtoLens.FieldDescriptor GovernanceActionProposal
        govAction__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "gov_action"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor GovernanceAction)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'govAction")) ::
              Data.ProtoLens.FieldDescriptor GovernanceActionProposal
        anchor__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "anchor"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Anchor)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'anchor")) ::
              Data.ProtoLens.FieldDescriptor GovernanceActionProposal
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, deposit__field_descriptor),
           (Data.ProtoLens.Tag 2, rewardAccount__field_descriptor),
           (Data.ProtoLens.Tag 3, govAction__field_descriptor),
           (Data.ProtoLens.Tag 4, anchor__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _GovernanceActionProposal'_unknownFields
        (\ x__ y__ -> x__ {_GovernanceActionProposal'_unknownFields = y__})
  defMessage
    = GovernanceActionProposal'_constructor
        {_GovernanceActionProposal'deposit = Data.ProtoLens.fieldDefault,
         _GovernanceActionProposal'rewardAccount = Data.ProtoLens.fieldDefault,
         _GovernanceActionProposal'govAction = Prelude.Nothing,
         _GovernanceActionProposal'anchor = Prelude.Nothing,
         _GovernanceActionProposal'_unknownFields = []}
  parseMessage
    = let
        loop ::
          GovernanceActionProposal
          -> Data.ProtoLens.Encoding.Bytes.Parser GovernanceActionProposal
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "deposit"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"deposit") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "reward_account"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"rewardAccount") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "gov_action"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"govAction") y x)
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "anchor"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"anchor") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "GovernanceActionProposal"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"deposit") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view
                         (Data.ProtoLens.Field.field @"rewardAccount") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                ((Data.Monoid.<>)
                   (case
                        Lens.Family2.view
                          (Data.ProtoLens.Field.field @"maybe'govAction") _x
                    of
                      Prelude.Nothing -> Data.Monoid.mempty
                      (Prelude.Just _v)
                        -> (Data.Monoid.<>)
                             (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                             ((Prelude..)
                                (\ bs
                                   -> (Data.Monoid.<>)
                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                Data.ProtoLens.encodeMessage _v))
                   ((Data.Monoid.<>)
                      (case
                           Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'anchor") _x
                       of
                         Prelude.Nothing -> Data.Monoid.mempty
                         (Prelude.Just _v)
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                                ((Prelude..)
                                   (\ bs
                                      -> (Data.Monoid.<>)
                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                   Data.ProtoLens.encodeMessage _v))
                      (Data.ProtoLens.Encoding.Wire.buildFieldSet
                         (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))
instance Control.DeepSeq.NFData GovernanceActionProposal where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_GovernanceActionProposal'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_GovernanceActionProposal'deposit x__)
                (Control.DeepSeq.deepseq
                   (_GovernanceActionProposal'rewardAccount x__)
                   (Control.DeepSeq.deepseq
                      (_GovernanceActionProposal'govAction x__)
                      (Control.DeepSeq.deepseq
                         (_GovernanceActionProposal'anchor x__) ()))))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.govActionId' @:: Lens' HardForkInitiationAction GovernanceActionId@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'govActionId' @:: Lens' HardForkInitiationAction (Prelude.Maybe GovernanceActionId)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.protocolVersion' @:: Lens' HardForkInitiationAction ProtocolVersion@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'protocolVersion' @:: Lens' HardForkInitiationAction (Prelude.Maybe ProtocolVersion)@ -}
data HardForkInitiationAction
  = HardForkInitiationAction'_constructor {_HardForkInitiationAction'govActionId :: !(Prelude.Maybe GovernanceActionId),
                                           _HardForkInitiationAction'protocolVersion :: !(Prelude.Maybe ProtocolVersion),
                                           _HardForkInitiationAction'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show HardForkInitiationAction where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField HardForkInitiationAction "govActionId" GovernanceActionId where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _HardForkInitiationAction'govActionId
           (\ x__ y__ -> x__ {_HardForkInitiationAction'govActionId = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField HardForkInitiationAction "maybe'govActionId" (Prelude.Maybe GovernanceActionId) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _HardForkInitiationAction'govActionId
           (\ x__ y__ -> x__ {_HardForkInitiationAction'govActionId = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField HardForkInitiationAction "protocolVersion" ProtocolVersion where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _HardForkInitiationAction'protocolVersion
           (\ x__ y__
              -> x__ {_HardForkInitiationAction'protocolVersion = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField HardForkInitiationAction "maybe'protocolVersion" (Prelude.Maybe ProtocolVersion) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _HardForkInitiationAction'protocolVersion
           (\ x__ y__
              -> x__ {_HardForkInitiationAction'protocolVersion = y__}))
        Prelude.id
instance Data.ProtoLens.Message HardForkInitiationAction where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.HardForkInitiationAction"
  packedMessageDescriptor _
    = "\n\
      \\CANHardForkInitiationAction\DC2O\n\
      \\rgov_action_id\CAN\SOH \SOH(\v2+.utxorpc.v1alpha.cardano.GovernanceActionIdR\vgovActionId\DC2S\n\
      \\DLEprotocol_version\CAN\STX \SOH(\v2(.utxorpc.v1alpha.cardano.ProtocolVersionR\SIprotocolVersion"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        govActionId__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "gov_action_id"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor GovernanceActionId)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'govActionId")) ::
              Data.ProtoLens.FieldDescriptor HardForkInitiationAction
        protocolVersion__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "protocol_version"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor ProtocolVersion)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'protocolVersion")) ::
              Data.ProtoLens.FieldDescriptor HardForkInitiationAction
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, govActionId__field_descriptor),
           (Data.ProtoLens.Tag 2, protocolVersion__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _HardForkInitiationAction'_unknownFields
        (\ x__ y__ -> x__ {_HardForkInitiationAction'_unknownFields = y__})
  defMessage
    = HardForkInitiationAction'_constructor
        {_HardForkInitiationAction'govActionId = Prelude.Nothing,
         _HardForkInitiationAction'protocolVersion = Prelude.Nothing,
         _HardForkInitiationAction'_unknownFields = []}
  parseMessage
    = let
        loop ::
          HardForkInitiationAction
          -> Data.ProtoLens.Encoding.Bytes.Parser HardForkInitiationAction
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "gov_action_id"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"govActionId") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "protocol_version"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"protocolVersion") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "HardForkInitiationAction"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'govActionId") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view
                       (Data.ProtoLens.Field.field @"maybe'protocolVersion") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData HardForkInitiationAction where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_HardForkInitiationAction'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_HardForkInitiationAction'govActionId x__)
                (Control.DeepSeq.deepseq
                   (_HardForkInitiationAction'protocolVersion x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.label' @:: Lens' Metadata Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.value' @:: Lens' Metadata Metadatum@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'value' @:: Lens' Metadata (Prelude.Maybe Metadatum)@ -}
data Metadata
  = Metadata'_constructor {_Metadata'label :: !Data.Word.Word64,
                           _Metadata'value :: !(Prelude.Maybe Metadatum),
                           _Metadata'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Metadata where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Metadata "label" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Metadata'label (\ x__ y__ -> x__ {_Metadata'label = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Metadata "value" Metadatum where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Metadata'value (\ x__ y__ -> x__ {_Metadata'value = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Metadata "maybe'value" (Prelude.Maybe Metadatum) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Metadata'value (\ x__ y__ -> x__ {_Metadata'value = y__}))
        Prelude.id
instance Data.ProtoLens.Message Metadata where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.Metadata"
  packedMessageDescriptor _
    = "\n\
      \\bMetadata\DC2\DC4\n\
      \\ENQlabel\CAN\SOH \SOH(\EOTR\ENQlabel\DC28\n\
      \\ENQvalue\CAN\STX \SOH(\v2\".utxorpc.v1alpha.cardano.MetadatumR\ENQvalue"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        label__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "label"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"label")) ::
              Data.ProtoLens.FieldDescriptor Metadata
        value__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "value"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Metadatum)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'value")) ::
              Data.ProtoLens.FieldDescriptor Metadata
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, label__field_descriptor),
           (Data.ProtoLens.Tag 2, value__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Metadata'_unknownFields
        (\ x__ y__ -> x__ {_Metadata'_unknownFields = y__})
  defMessage
    = Metadata'_constructor
        {_Metadata'label = Data.ProtoLens.fieldDefault,
         _Metadata'value = Prelude.Nothing, _Metadata'_unknownFields = []}
  parseMessage
    = let
        loop :: Metadata -> Data.ProtoLens.Encoding.Bytes.Parser Metadata
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "label"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"label") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "value"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"value") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "Metadata"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"label") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'value") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData Metadata where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Metadata'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Metadata'label x__)
                (Control.DeepSeq.deepseq (_Metadata'value x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'metadatum' @:: Lens' Metadatum (Prelude.Maybe Metadatum'Metadatum)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'int' @:: Lens' Metadatum (Prelude.Maybe Data.Int.Int64)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.int' @:: Lens' Metadatum Data.Int.Int64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'bytes' @:: Lens' Metadatum (Prelude.Maybe Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.bytes' @:: Lens' Metadatum Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'text' @:: Lens' Metadatum (Prelude.Maybe Data.Text.Text)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.text' @:: Lens' Metadatum Data.Text.Text@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'array' @:: Lens' Metadatum (Prelude.Maybe MetadatumArray)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.array' @:: Lens' Metadatum MetadatumArray@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'map' @:: Lens' Metadatum (Prelude.Maybe MetadatumMap)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.map' @:: Lens' Metadatum MetadatumMap@ -}
data Metadatum
  = Metadatum'_constructor {_Metadatum'metadatum :: !(Prelude.Maybe Metadatum'Metadatum),
                            _Metadatum'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Metadatum where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
data Metadatum'Metadatum
  = Metadatum'Int !Data.Int.Int64 |
    Metadatum'Bytes !Data.ByteString.ByteString |
    Metadatum'Text !Data.Text.Text |
    Metadatum'Array !MetadatumArray |
    Metadatum'Map !MetadatumMap
  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
instance Data.ProtoLens.Field.HasField Metadatum "maybe'metadatum" (Prelude.Maybe Metadatum'Metadatum) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Metadatum'metadatum
           (\ x__ y__ -> x__ {_Metadatum'metadatum = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Metadatum "maybe'int" (Prelude.Maybe Data.Int.Int64) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Metadatum'metadatum
           (\ x__ y__ -> x__ {_Metadatum'metadatum = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Metadatum'Int x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Metadatum'Int y__))
instance Data.ProtoLens.Field.HasField Metadatum "int" Data.Int.Int64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Metadatum'metadatum
           (\ x__ y__ -> x__ {_Metadatum'metadatum = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Metadatum'Int x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Metadatum'Int y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Field.HasField Metadatum "maybe'bytes" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Metadatum'metadatum
           (\ x__ y__ -> x__ {_Metadatum'metadatum = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Metadatum'Bytes x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Metadatum'Bytes y__))
instance Data.ProtoLens.Field.HasField Metadatum "bytes" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Metadatum'metadatum
           (\ x__ y__ -> x__ {_Metadatum'metadatum = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Metadatum'Bytes x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Metadatum'Bytes y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Field.HasField Metadatum "maybe'text" (Prelude.Maybe Data.Text.Text) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Metadatum'metadatum
           (\ x__ y__ -> x__ {_Metadatum'metadatum = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Metadatum'Text x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Metadatum'Text y__))
instance Data.ProtoLens.Field.HasField Metadatum "text" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Metadatum'metadatum
           (\ x__ y__ -> x__ {_Metadatum'metadatum = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Metadatum'Text x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Metadatum'Text y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Field.HasField Metadatum "maybe'array" (Prelude.Maybe MetadatumArray) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Metadatum'metadatum
           (\ x__ y__ -> x__ {_Metadatum'metadatum = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Metadatum'Array x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Metadatum'Array y__))
instance Data.ProtoLens.Field.HasField Metadatum "array" MetadatumArray where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Metadatum'metadatum
           (\ x__ y__ -> x__ {_Metadatum'metadatum = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Metadatum'Array x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Metadatum'Array y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Metadatum "maybe'map" (Prelude.Maybe MetadatumMap) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Metadatum'metadatum
           (\ x__ y__ -> x__ {_Metadatum'metadatum = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Metadatum'Map x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Metadatum'Map y__))
instance Data.ProtoLens.Field.HasField Metadatum "map" MetadatumMap where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Metadatum'metadatum
           (\ x__ y__ -> x__ {_Metadatum'metadatum = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Metadatum'Map x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Metadatum'Map y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Message Metadatum where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.Metadatum"
  packedMessageDescriptor _
    = "\n\
      \\tMetadatum\DC2\DC2\n\
      \\ETXint\CAN\SOH \SOH(\ETXH\NULR\ETXint\DC2\SYN\n\
      \\ENQbytes\CAN\STX \SOH(\fH\NULR\ENQbytes\DC2\DC4\n\
      \\EOTtext\CAN\ETX \SOH(\tH\NULR\EOTtext\DC2?\n\
      \\ENQarray\CAN\EOT \SOH(\v2'.utxorpc.v1alpha.cardano.MetadatumArrayH\NULR\ENQarray\DC29\n\
      \\ETXmap\CAN\ENQ \SOH(\v2%.utxorpc.v1alpha.cardano.MetadatumMapH\NULR\ETXmapB\v\n\
      \\tmetadatum"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        int__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "int"
              (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'int")) ::
              Data.ProtoLens.FieldDescriptor Metadatum
        bytes__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "bytes"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'bytes")) ::
              Data.ProtoLens.FieldDescriptor Metadatum
        text__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "text"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'text")) ::
              Data.ProtoLens.FieldDescriptor Metadatum
        array__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "array"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor MetadatumArray)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'array")) ::
              Data.ProtoLens.FieldDescriptor Metadatum
        map__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "map"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor MetadatumMap)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'map")) ::
              Data.ProtoLens.FieldDescriptor Metadatum
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, int__field_descriptor),
           (Data.ProtoLens.Tag 2, bytes__field_descriptor),
           (Data.ProtoLens.Tag 3, text__field_descriptor),
           (Data.ProtoLens.Tag 4, array__field_descriptor),
           (Data.ProtoLens.Tag 5, map__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Metadatum'_unknownFields
        (\ x__ y__ -> x__ {_Metadatum'_unknownFields = y__})
  defMessage
    = Metadatum'_constructor
        {_Metadatum'metadatum = Prelude.Nothing,
         _Metadatum'_unknownFields = []}
  parseMessage
    = let
        loop :: Metadatum -> Data.ProtoLens.Encoding.Bytes.Parser Metadatum
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "int"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"int") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "bytes"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"bytes") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "text"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"text") y x)
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "array"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"array") y x)
                        42
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "map"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"map") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "Metadatum"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'metadatum") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just (Metadatum'Int v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
                       ((Prelude..)
                          Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral v)
                (Prelude.Just (Metadatum'Bytes v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                       ((\ bs
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
                                (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          v)
                (Prelude.Just (Metadatum'Text v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.Text.Encoding.encodeUtf8 v)
                (Prelude.Just (Metadatum'Array v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (Metadatum'Map v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData Metadatum where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Metadatum'_unknownFields x__)
             (Control.DeepSeq.deepseq (_Metadatum'metadatum x__) ())
instance Control.DeepSeq.NFData Metadatum'Metadatum where
  rnf (Metadatum'Int x__) = Control.DeepSeq.rnf x__
  rnf (Metadatum'Bytes x__) = Control.DeepSeq.rnf x__
  rnf (Metadatum'Text x__) = Control.DeepSeq.rnf x__
  rnf (Metadatum'Array x__) = Control.DeepSeq.rnf x__
  rnf (Metadatum'Map x__) = Control.DeepSeq.rnf x__
_Metadatum'Int ::
  Data.ProtoLens.Prism.Prism' Metadatum'Metadatum Data.Int.Int64
_Metadatum'Int
  = Data.ProtoLens.Prism.prism'
      Metadatum'Int
      (\ p__
         -> case p__ of
              (Metadatum'Int p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Metadatum'Bytes ::
  Data.ProtoLens.Prism.Prism' Metadatum'Metadatum Data.ByteString.ByteString
_Metadatum'Bytes
  = Data.ProtoLens.Prism.prism'
      Metadatum'Bytes
      (\ p__
         -> case p__ of
              (Metadatum'Bytes p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Metadatum'Text ::
  Data.ProtoLens.Prism.Prism' Metadatum'Metadatum Data.Text.Text
_Metadatum'Text
  = Data.ProtoLens.Prism.prism'
      Metadatum'Text
      (\ p__
         -> case p__ of
              (Metadatum'Text p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Metadatum'Array ::
  Data.ProtoLens.Prism.Prism' Metadatum'Metadatum MetadatumArray
_Metadatum'Array
  = Data.ProtoLens.Prism.prism'
      Metadatum'Array
      (\ p__
         -> case p__ of
              (Metadatum'Array p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Metadatum'Map ::
  Data.ProtoLens.Prism.Prism' Metadatum'Metadatum MetadatumMap
_Metadatum'Map
  = Data.ProtoLens.Prism.prism'
      Metadatum'Map
      (\ p__
         -> case p__ of
              (Metadatum'Map p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.items' @:: Lens' MetadatumArray [Metadatum]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'items' @:: Lens' MetadatumArray (Data.Vector.Vector Metadatum)@ -}
data MetadatumArray
  = MetadatumArray'_constructor {_MetadatumArray'items :: !(Data.Vector.Vector Metadatum),
                                 _MetadatumArray'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show MetadatumArray where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField MetadatumArray "items" [Metadatum] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _MetadatumArray'items
           (\ x__ y__ -> x__ {_MetadatumArray'items = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField MetadatumArray "vec'items" (Data.Vector.Vector Metadatum) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _MetadatumArray'items
           (\ x__ y__ -> x__ {_MetadatumArray'items = y__}))
        Prelude.id
instance Data.ProtoLens.Message MetadatumArray where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.MetadatumArray"
  packedMessageDescriptor _
    = "\n\
      \\SOMetadatumArray\DC28\n\
      \\ENQitems\CAN\SOH \ETX(\v2\".utxorpc.v1alpha.cardano.MetadatumR\ENQitems"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        items__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "items"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Metadatum)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"items")) ::
              Data.ProtoLens.FieldDescriptor MetadatumArray
      in
        Data.Map.fromList [(Data.ProtoLens.Tag 1, items__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _MetadatumArray'_unknownFields
        (\ x__ y__ -> x__ {_MetadatumArray'_unknownFields = y__})
  defMessage
    = MetadatumArray'_constructor
        {_MetadatumArray'items = Data.Vector.Generic.empty,
         _MetadatumArray'_unknownFields = []}
  parseMessage
    = let
        loop ::
          MetadatumArray
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Metadatum
             -> Data.ProtoLens.Encoding.Bytes.Parser MetadatumArray
        loop x mutable'items
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'items <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                        (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'items)
                      (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'items") frozen'items x))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "items"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'items y)
                                loop x v
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
                                  mutable'items
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'items <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                 Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'items)
          "MetadatumArray"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                (\ _v
                   -> (Data.Monoid.<>)
                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                        ((Prelude..)
                           (\ bs
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                           Data.ProtoLens.encodeMessage _v))
                (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'items") _x))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData MetadatumArray where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_MetadatumArray'_unknownFields x__)
             (Control.DeepSeq.deepseq (_MetadatumArray'items x__) ())
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.pairs' @:: Lens' MetadatumMap [MetadatumPair]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'pairs' @:: Lens' MetadatumMap (Data.Vector.Vector MetadatumPair)@ -}
data MetadatumMap
  = MetadatumMap'_constructor {_MetadatumMap'pairs :: !(Data.Vector.Vector MetadatumPair),
                               _MetadatumMap'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show MetadatumMap where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField MetadatumMap "pairs" [MetadatumPair] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _MetadatumMap'pairs (\ x__ y__ -> x__ {_MetadatumMap'pairs = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField MetadatumMap "vec'pairs" (Data.Vector.Vector MetadatumPair) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _MetadatumMap'pairs (\ x__ y__ -> x__ {_MetadatumMap'pairs = y__}))
        Prelude.id
instance Data.ProtoLens.Message MetadatumMap where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.MetadatumMap"
  packedMessageDescriptor _
    = "\n\
      \\fMetadatumMap\DC2<\n\
      \\ENQpairs\CAN\SOH \ETX(\v2&.utxorpc.v1alpha.cardano.MetadatumPairR\ENQpairs"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        pairs__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pairs"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor MetadatumPair)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"pairs")) ::
              Data.ProtoLens.FieldDescriptor MetadatumMap
      in
        Data.Map.fromList [(Data.ProtoLens.Tag 1, pairs__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _MetadatumMap'_unknownFields
        (\ x__ y__ -> x__ {_MetadatumMap'_unknownFields = y__})
  defMessage
    = MetadatumMap'_constructor
        {_MetadatumMap'pairs = Data.Vector.Generic.empty,
         _MetadatumMap'_unknownFields = []}
  parseMessage
    = let
        loop ::
          MetadatumMap
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld MetadatumPair
             -> Data.ProtoLens.Encoding.Bytes.Parser MetadatumMap
        loop x mutable'pairs
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'pairs <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                        (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'pairs)
                      (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'pairs") frozen'pairs x))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "pairs"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'pairs y)
                                loop x v
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
                                  mutable'pairs
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'pairs <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                 Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'pairs)
          "MetadatumMap"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                (\ _v
                   -> (Data.Monoid.<>)
                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                        ((Prelude..)
                           (\ bs
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                           Data.ProtoLens.encodeMessage _v))
                (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'pairs") _x))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData MetadatumMap where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_MetadatumMap'_unknownFields x__)
             (Control.DeepSeq.deepseq (_MetadatumMap'pairs x__) ())
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.key' @:: Lens' MetadatumPair Metadatum@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'key' @:: Lens' MetadatumPair (Prelude.Maybe Metadatum)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.value' @:: Lens' MetadatumPair Metadatum@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'value' @:: Lens' MetadatumPair (Prelude.Maybe Metadatum)@ -}
data MetadatumPair
  = MetadatumPair'_constructor {_MetadatumPair'key :: !(Prelude.Maybe Metadatum),
                                _MetadatumPair'value :: !(Prelude.Maybe Metadatum),
                                _MetadatumPair'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show MetadatumPair where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField MetadatumPair "key" Metadatum where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _MetadatumPair'key (\ x__ y__ -> x__ {_MetadatumPair'key = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField MetadatumPair "maybe'key" (Prelude.Maybe Metadatum) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _MetadatumPair'key (\ x__ y__ -> x__ {_MetadatumPair'key = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField MetadatumPair "value" Metadatum where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _MetadatumPair'value
           (\ x__ y__ -> x__ {_MetadatumPair'value = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField MetadatumPair "maybe'value" (Prelude.Maybe Metadatum) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _MetadatumPair'value
           (\ x__ y__ -> x__ {_MetadatumPair'value = y__}))
        Prelude.id
instance Data.ProtoLens.Message MetadatumPair where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.MetadatumPair"
  packedMessageDescriptor _
    = "\n\
      \\rMetadatumPair\DC24\n\
      \\ETXkey\CAN\SOH \SOH(\v2\".utxorpc.v1alpha.cardano.MetadatumR\ETXkey\DC28\n\
      \\ENQvalue\CAN\STX \SOH(\v2\".utxorpc.v1alpha.cardano.MetadatumR\ENQvalue"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        key__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "key"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Metadatum)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'key")) ::
              Data.ProtoLens.FieldDescriptor MetadatumPair
        value__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "value"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Metadatum)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'value")) ::
              Data.ProtoLens.FieldDescriptor MetadatumPair
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, key__field_descriptor),
           (Data.ProtoLens.Tag 2, value__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _MetadatumPair'_unknownFields
        (\ x__ y__ -> x__ {_MetadatumPair'_unknownFields = y__})
  defMessage
    = MetadatumPair'_constructor
        {_MetadatumPair'key = Prelude.Nothing,
         _MetadatumPair'value = Prelude.Nothing,
         _MetadatumPair'_unknownFields = []}
  parseMessage
    = let
        loop ::
          MetadatumPair -> Data.ProtoLens.Encoding.Bytes.Parser MetadatumPair
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "key"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"key") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "value"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"value") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "MetadatumPair"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'key") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'value") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData MetadatumPair where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_MetadatumPair'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_MetadatumPair'key x__)
                (Control.DeepSeq.deepseq (_MetadatumPair'value x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.from' @:: Lens' MirCert MirSource@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.to' @:: Lens' MirCert [MirTarget]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'to' @:: Lens' MirCert (Data.Vector.Vector MirTarget)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.otherPot' @:: Lens' MirCert Data.Word.Word64@ -}
data MirCert
  = MirCert'_constructor {_MirCert'from :: !MirSource,
                          _MirCert'to :: !(Data.Vector.Vector MirTarget),
                          _MirCert'otherPot :: !Data.Word.Word64,
                          _MirCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show MirCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField MirCert "from" MirSource where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _MirCert'from (\ x__ y__ -> x__ {_MirCert'from = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField MirCert "to" [MirTarget] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _MirCert'to (\ x__ y__ -> x__ {_MirCert'to = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField MirCert "vec'to" (Data.Vector.Vector MirTarget) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _MirCert'to (\ x__ y__ -> x__ {_MirCert'to = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField MirCert "otherPot" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _MirCert'otherPot (\ x__ y__ -> x__ {_MirCert'otherPot = y__}))
        Prelude.id
instance Data.ProtoLens.Message MirCert where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.MirCert"
  packedMessageDescriptor _
    = "\n\
      \\aMirCert\DC26\n\
      \\EOTfrom\CAN\SOH \SOH(\SO2\".utxorpc.v1alpha.cardano.MirSourceR\EOTfrom\DC22\n\
      \\STXto\CAN\STX \ETX(\v2\".utxorpc.v1alpha.cardano.MirTargetR\STXto\DC2\ESC\n\
      \\tother_pot\CAN\ETX \SOH(\EOTR\botherPot"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        from__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "from"
              (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
                 Data.ProtoLens.FieldTypeDescriptor MirSource)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"from")) ::
              Data.ProtoLens.FieldDescriptor MirCert
        to__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "to"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor MirTarget)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"to")) ::
              Data.ProtoLens.FieldDescriptor MirCert
        otherPot__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "other_pot"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"otherPot")) ::
              Data.ProtoLens.FieldDescriptor MirCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, from__field_descriptor),
           (Data.ProtoLens.Tag 2, to__field_descriptor),
           (Data.ProtoLens.Tag 3, otherPot__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _MirCert'_unknownFields
        (\ x__ y__ -> x__ {_MirCert'_unknownFields = y__})
  defMessage
    = MirCert'_constructor
        {_MirCert'from = Data.ProtoLens.fieldDefault,
         _MirCert'to = Data.Vector.Generic.empty,
         _MirCert'otherPot = Data.ProtoLens.fieldDefault,
         _MirCert'_unknownFields = []}
  parseMessage
    = let
        loop ::
          MirCert
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld MirTarget
             -> Data.ProtoLens.Encoding.Bytes.Parser MirCert
        loop x mutable'to
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'to <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                     (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'to)
                      (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'to") frozen'to x))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.toEnum
                                          (Prelude.fmap
                                             Prelude.fromIntegral
                                             Data.ProtoLens.Encoding.Bytes.getVarInt))
                                       "from"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"from") y x)
                                  mutable'to
                        18
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "to"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'to y)
                                loop x v
                        24
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "other_pot"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"otherPot") y x)
                                  mutable'to
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
                                  mutable'to
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'to <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                              Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'to)
          "MirCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"from") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
                      ((Prelude..)
                         ((Prelude..)
                            Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)
                         Prelude.fromEnum _v))
             ((Data.Monoid.<>)
                (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                   (\ _v
                      -> (Data.Monoid.<>)
                           (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                           ((Prelude..)
                              (\ bs
                                 -> (Data.Monoid.<>)
                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                              Data.ProtoLens.encodeMessage _v))
                   (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'to") _x))
                ((Data.Monoid.<>)
                   (let
                      _v = Lens.Family2.view (Data.ProtoLens.Field.field @"otherPot") _x
                    in
                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                          Data.Monoid.mempty
                      else
                          (Data.Monoid.<>)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData MirCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_MirCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_MirCert'from x__)
                (Control.DeepSeq.deepseq
                   (_MirCert'to x__)
                   (Control.DeepSeq.deepseq (_MirCert'otherPot x__) ())))
newtype MirSource'UnrecognizedValue
  = MirSource'UnrecognizedValue Data.Int.Int32
  deriving stock (Prelude.Eq, Prelude.Ord, Prelude.Show)
data MirSource
  = MIR_SOURCE_UNSPECIFIED |
    MIR_SOURCE_RESERVES |
    MIR_SOURCE_TREASURY |
    MirSource'Unrecognized !MirSource'UnrecognizedValue
  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
instance Data.ProtoLens.MessageEnum MirSource where
  maybeToEnum 0 = Prelude.Just MIR_SOURCE_UNSPECIFIED
  maybeToEnum 1 = Prelude.Just MIR_SOURCE_RESERVES
  maybeToEnum 2 = Prelude.Just MIR_SOURCE_TREASURY
  maybeToEnum k
    = Prelude.Just
        (MirSource'Unrecognized
           (MirSource'UnrecognizedValue (Prelude.fromIntegral k)))
  showEnum MIR_SOURCE_UNSPECIFIED = "MIR_SOURCE_UNSPECIFIED"
  showEnum MIR_SOURCE_RESERVES = "MIR_SOURCE_RESERVES"
  showEnum MIR_SOURCE_TREASURY = "MIR_SOURCE_TREASURY"
  showEnum (MirSource'Unrecognized (MirSource'UnrecognizedValue k))
    = Prelude.show k
  readEnum k
    | (Prelude.==) k "MIR_SOURCE_UNSPECIFIED"
    = Prelude.Just MIR_SOURCE_UNSPECIFIED
    | (Prelude.==) k "MIR_SOURCE_RESERVES"
    = Prelude.Just MIR_SOURCE_RESERVES
    | (Prelude.==) k "MIR_SOURCE_TREASURY"
    = Prelude.Just MIR_SOURCE_TREASURY
    | Prelude.otherwise
    = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum
instance Prelude.Bounded MirSource where
  minBound = MIR_SOURCE_UNSPECIFIED
  maxBound = MIR_SOURCE_TREASURY
instance Prelude.Enum MirSource where
  toEnum k__
    = Prelude.maybe
        (Prelude.error
           ((Prelude.++)
              "toEnum: unknown value for enum MirSource: " (Prelude.show k__)))
        Prelude.id (Data.ProtoLens.maybeToEnum k__)
  fromEnum MIR_SOURCE_UNSPECIFIED = 0
  fromEnum MIR_SOURCE_RESERVES = 1
  fromEnum MIR_SOURCE_TREASURY = 2
  fromEnum (MirSource'Unrecognized (MirSource'UnrecognizedValue k))
    = Prelude.fromIntegral k
  succ MIR_SOURCE_TREASURY
    = Prelude.error
        "MirSource.succ: bad argument MIR_SOURCE_TREASURY. This value would be out of bounds."
  succ MIR_SOURCE_UNSPECIFIED = MIR_SOURCE_RESERVES
  succ MIR_SOURCE_RESERVES = MIR_SOURCE_TREASURY
  succ (MirSource'Unrecognized _)
    = Prelude.error "MirSource.succ: bad argument: unrecognized value"
  pred MIR_SOURCE_UNSPECIFIED
    = Prelude.error
        "MirSource.pred: bad argument MIR_SOURCE_UNSPECIFIED. This value would be out of bounds."
  pred MIR_SOURCE_RESERVES = MIR_SOURCE_UNSPECIFIED
  pred MIR_SOURCE_TREASURY = MIR_SOURCE_RESERVES
  pred (MirSource'Unrecognized _)
    = Prelude.error "MirSource.pred: bad argument: unrecognized value"
  enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom
  enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo
  enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen
  enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo
instance Data.ProtoLens.FieldDefault MirSource where
  fieldDefault = MIR_SOURCE_UNSPECIFIED
instance Control.DeepSeq.NFData MirSource where
  rnf x__ = Prelude.seq x__ ()
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.stakeCredential' @:: Lens' MirTarget StakeCredential@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'stakeCredential' @:: Lens' MirTarget (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.deltaCoin' @:: Lens' MirTarget Data.Int.Int64@ -}
data MirTarget
  = MirTarget'_constructor {_MirTarget'stakeCredential :: !(Prelude.Maybe StakeCredential),
                            _MirTarget'deltaCoin :: !Data.Int.Int64,
                            _MirTarget'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show MirTarget where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField MirTarget "stakeCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _MirTarget'stakeCredential
           (\ x__ y__ -> x__ {_MirTarget'stakeCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField MirTarget "maybe'stakeCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _MirTarget'stakeCredential
           (\ x__ y__ -> x__ {_MirTarget'stakeCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField MirTarget "deltaCoin" Data.Int.Int64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _MirTarget'deltaCoin
           (\ x__ y__ -> x__ {_MirTarget'deltaCoin = y__}))
        Prelude.id
instance Data.ProtoLens.Message MirTarget where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.MirTarget"
  packedMessageDescriptor _
    = "\n\
      \\tMirTarget\DC2S\n\
      \\DLEstake_credential\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\SIstakeCredential\DC2\GS\n\
      \\n\
      \delta_coin\CAN\STX \SOH(\ETXR\tdeltaCoin"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        stakeCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeCredential")) ::
              Data.ProtoLens.FieldDescriptor MirTarget
        deltaCoin__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "delta_coin"
              (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"deltaCoin")) ::
              Data.ProtoLens.FieldDescriptor MirTarget
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, stakeCredential__field_descriptor),
           (Data.ProtoLens.Tag 2, deltaCoin__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _MirTarget'_unknownFields
        (\ x__ y__ -> x__ {_MirTarget'_unknownFields = y__})
  defMessage
    = MirTarget'_constructor
        {_MirTarget'stakeCredential = Prelude.Nothing,
         _MirTarget'deltaCoin = Data.ProtoLens.fieldDefault,
         _MirTarget'_unknownFields = []}
  parseMessage
    = let
        loop :: MirTarget -> Data.ProtoLens.Encoding.Bytes.Parser MirTarget
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeCredential") y x)
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "delta_coin"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"deltaCoin") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "MirTarget"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'stakeCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (let
                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"deltaCoin") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         ((Prelude..)
                            Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData MirTarget where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_MirTarget'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_MirTarget'stakeCredential x__)
                (Control.DeepSeq.deepseq (_MirTarget'deltaCoin x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.policyId' @:: Lens' Multiasset Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.assets' @:: Lens' Multiasset [Asset]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'assets' @:: Lens' Multiasset (Data.Vector.Vector Asset)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.redeemer' @:: Lens' Multiasset Redeemer@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'redeemer' @:: Lens' Multiasset (Prelude.Maybe Redeemer)@ -}
data Multiasset
  = Multiasset'_constructor {_Multiasset'policyId :: !Data.ByteString.ByteString,
                             _Multiasset'assets :: !(Data.Vector.Vector Asset),
                             _Multiasset'redeemer :: !(Prelude.Maybe Redeemer),
                             _Multiasset'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Multiasset where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Multiasset "policyId" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Multiasset'policyId
           (\ x__ y__ -> x__ {_Multiasset'policyId = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Multiasset "assets" [Asset] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Multiasset'assets (\ x__ y__ -> x__ {_Multiasset'assets = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField Multiasset "vec'assets" (Data.Vector.Vector Asset) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Multiasset'assets (\ x__ y__ -> x__ {_Multiasset'assets = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Multiasset "redeemer" Redeemer where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Multiasset'redeemer
           (\ x__ y__ -> x__ {_Multiasset'redeemer = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Multiasset "maybe'redeemer" (Prelude.Maybe Redeemer) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Multiasset'redeemer
           (\ x__ y__ -> x__ {_Multiasset'redeemer = y__}))
        Prelude.id
instance Data.ProtoLens.Message Multiasset where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.Multiasset"
  packedMessageDescriptor _
    = "\n\
      \\n\
      \Multiasset\DC2\ESC\n\
      \\tpolicy_id\CAN\SOH \SOH(\fR\bpolicyId\DC26\n\
      \\ACKassets\CAN\STX \ETX(\v2\RS.utxorpc.v1alpha.cardano.AssetR\ACKassets\DC2=\n\
      \\bredeemer\CAN\ETX \SOH(\v2!.utxorpc.v1alpha.cardano.RedeemerR\bredeemer"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        policyId__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "policy_id"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"policyId")) ::
              Data.ProtoLens.FieldDescriptor Multiasset
        assets__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "assets"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Asset)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"assets")) ::
              Data.ProtoLens.FieldDescriptor Multiasset
        redeemer__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "redeemer"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Redeemer)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'redeemer")) ::
              Data.ProtoLens.FieldDescriptor Multiasset
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, policyId__field_descriptor),
           (Data.ProtoLens.Tag 2, assets__field_descriptor),
           (Data.ProtoLens.Tag 3, redeemer__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Multiasset'_unknownFields
        (\ x__ y__ -> x__ {_Multiasset'_unknownFields = y__})
  defMessage
    = Multiasset'_constructor
        {_Multiasset'policyId = Data.ProtoLens.fieldDefault,
         _Multiasset'assets = Data.Vector.Generic.empty,
         _Multiasset'redeemer = Prelude.Nothing,
         _Multiasset'_unknownFields = []}
  parseMessage
    = let
        loop ::
          Multiasset
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Asset
             -> Data.ProtoLens.Encoding.Bytes.Parser Multiasset
        loop x mutable'assets
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'assets <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                         (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                            mutable'assets)
                      (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'assets") frozen'assets x))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "policy_id"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"policyId") y x)
                                  mutable'assets
                        18
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "assets"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'assets y)
                                loop x v
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "redeemer"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"redeemer") y x)
                                  mutable'assets
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
                                  mutable'assets
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'assets <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                  Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'assets)
          "Multiasset"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"policyId") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         _v))
             ((Data.Monoid.<>)
                (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                   (\ _v
                      -> (Data.Monoid.<>)
                           (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                           ((Prelude..)
                              (\ bs
                                 -> (Data.Monoid.<>)
                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                              Data.ProtoLens.encodeMessage _v))
                   (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'assets") _x))
                ((Data.Monoid.<>)
                   (case
                        Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'redeemer") _x
                    of
                      Prelude.Nothing -> Data.Monoid.mempty
                      (Prelude.Just _v)
                        -> (Data.Monoid.<>)
                             (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                             ((Prelude..)
                                (\ bs
                                   -> (Data.Monoid.<>)
                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                Data.ProtoLens.encodeMessage _v))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData Multiasset where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Multiasset'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Multiasset'policyId x__)
                (Control.DeepSeq.deepseq
                   (_Multiasset'assets x__)
                   (Control.DeepSeq.deepseq (_Multiasset'redeemer x__) ())))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'nativeScript' @:: Lens' NativeScript (Prelude.Maybe NativeScript'NativeScript)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'scriptPubkey' @:: Lens' NativeScript (Prelude.Maybe Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.scriptPubkey' @:: Lens' NativeScript Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'scriptAll' @:: Lens' NativeScript (Prelude.Maybe NativeScriptList)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.scriptAll' @:: Lens' NativeScript NativeScriptList@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'scriptAny' @:: Lens' NativeScript (Prelude.Maybe NativeScriptList)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.scriptAny' @:: Lens' NativeScript NativeScriptList@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'scriptNOfK' @:: Lens' NativeScript (Prelude.Maybe ScriptNOfK)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.scriptNOfK' @:: Lens' NativeScript ScriptNOfK@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'invalidBefore' @:: Lens' NativeScript (Prelude.Maybe Data.Word.Word64)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.invalidBefore' @:: Lens' NativeScript Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'invalidHereafter' @:: Lens' NativeScript (Prelude.Maybe Data.Word.Word64)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.invalidHereafter' @:: Lens' NativeScript Data.Word.Word64@ -}
data NativeScript
  = NativeScript'_constructor {_NativeScript'nativeScript :: !(Prelude.Maybe NativeScript'NativeScript),
                               _NativeScript'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show NativeScript where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
data NativeScript'NativeScript
  = NativeScript'ScriptPubkey !Data.ByteString.ByteString |
    NativeScript'ScriptAll !NativeScriptList |
    NativeScript'ScriptAny !NativeScriptList |
    NativeScript'ScriptNOfK !ScriptNOfK |
    NativeScript'InvalidBefore !Data.Word.Word64 |
    NativeScript'InvalidHereafter !Data.Word.Word64
  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
instance Data.ProtoLens.Field.HasField NativeScript "maybe'nativeScript" (Prelude.Maybe NativeScript'NativeScript) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NativeScript'nativeScript
           (\ x__ y__ -> x__ {_NativeScript'nativeScript = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField NativeScript "maybe'scriptPubkey" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NativeScript'nativeScript
           (\ x__ y__ -> x__ {_NativeScript'nativeScript = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (NativeScript'ScriptPubkey x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap NativeScript'ScriptPubkey y__))
instance Data.ProtoLens.Field.HasField NativeScript "scriptPubkey" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NativeScript'nativeScript
           (\ x__ y__ -> x__ {_NativeScript'nativeScript = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (NativeScript'ScriptPubkey x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap NativeScript'ScriptPubkey y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Field.HasField NativeScript "maybe'scriptAll" (Prelude.Maybe NativeScriptList) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NativeScript'nativeScript
           (\ x__ y__ -> x__ {_NativeScript'nativeScript = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (NativeScript'ScriptAll x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap NativeScript'ScriptAll y__))
instance Data.ProtoLens.Field.HasField NativeScript "scriptAll" NativeScriptList where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NativeScript'nativeScript
           (\ x__ y__ -> x__ {_NativeScript'nativeScript = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (NativeScript'ScriptAll x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap NativeScript'ScriptAll y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField NativeScript "maybe'scriptAny" (Prelude.Maybe NativeScriptList) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NativeScript'nativeScript
           (\ x__ y__ -> x__ {_NativeScript'nativeScript = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (NativeScript'ScriptAny x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap NativeScript'ScriptAny y__))
instance Data.ProtoLens.Field.HasField NativeScript "scriptAny" NativeScriptList where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NativeScript'nativeScript
           (\ x__ y__ -> x__ {_NativeScript'nativeScript = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (NativeScript'ScriptAny x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap NativeScript'ScriptAny y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField NativeScript "maybe'scriptNOfK" (Prelude.Maybe ScriptNOfK) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NativeScript'nativeScript
           (\ x__ y__ -> x__ {_NativeScript'nativeScript = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (NativeScript'ScriptNOfK x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap NativeScript'ScriptNOfK y__))
instance Data.ProtoLens.Field.HasField NativeScript "scriptNOfK" ScriptNOfK where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NativeScript'nativeScript
           (\ x__ y__ -> x__ {_NativeScript'nativeScript = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (NativeScript'ScriptNOfK x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap NativeScript'ScriptNOfK y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField NativeScript "maybe'invalidBefore" (Prelude.Maybe Data.Word.Word64) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NativeScript'nativeScript
           (\ x__ y__ -> x__ {_NativeScript'nativeScript = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (NativeScript'InvalidBefore x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap NativeScript'InvalidBefore y__))
instance Data.ProtoLens.Field.HasField NativeScript "invalidBefore" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NativeScript'nativeScript
           (\ x__ y__ -> x__ {_NativeScript'nativeScript = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (NativeScript'InvalidBefore x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap NativeScript'InvalidBefore y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Field.HasField NativeScript "maybe'invalidHereafter" (Prelude.Maybe Data.Word.Word64) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NativeScript'nativeScript
           (\ x__ y__ -> x__ {_NativeScript'nativeScript = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (NativeScript'InvalidHereafter x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap NativeScript'InvalidHereafter y__))
instance Data.ProtoLens.Field.HasField NativeScript "invalidHereafter" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NativeScript'nativeScript
           (\ x__ y__ -> x__ {_NativeScript'nativeScript = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (NativeScript'InvalidHereafter x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap NativeScript'InvalidHereafter y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Message NativeScript where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.NativeScript"
  packedMessageDescriptor _
    = "\n\
      \\fNativeScript\DC2%\n\
      \\rscript_pubkey\CAN\SOH \SOH(\fH\NULR\fscriptPubkey\DC2J\n\
      \\n\
      \script_all\CAN\STX \SOH(\v2).utxorpc.v1alpha.cardano.NativeScriptListH\NULR\tscriptAll\DC2J\n\
      \\n\
      \script_any\CAN\ETX \SOH(\v2).utxorpc.v1alpha.cardano.NativeScriptListH\NULR\tscriptAny\DC2H\n\
      \\rscript_n_of_k\CAN\EOT \SOH(\v2#.utxorpc.v1alpha.cardano.ScriptNOfKH\NULR\n\
      \scriptNOfK\DC2'\n\
      \\SOinvalid_before\CAN\ENQ \SOH(\EOTH\NULR\rinvalidBefore\DC2-\n\
      \\DC1invalid_hereafter\CAN\ACK \SOH(\EOTH\NULR\DLEinvalidHereafterB\SI\n\
      \\rnative_script"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        scriptPubkey__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "script_pubkey"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'scriptPubkey")) ::
              Data.ProtoLens.FieldDescriptor NativeScript
        scriptAll__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "script_all"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor NativeScriptList)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'scriptAll")) ::
              Data.ProtoLens.FieldDescriptor NativeScript
        scriptAny__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "script_any"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor NativeScriptList)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'scriptAny")) ::
              Data.ProtoLens.FieldDescriptor NativeScript
        scriptNOfK__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "script_n_of_k"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor ScriptNOfK)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'scriptNOfK")) ::
              Data.ProtoLens.FieldDescriptor NativeScript
        invalidBefore__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "invalid_before"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'invalidBefore")) ::
              Data.ProtoLens.FieldDescriptor NativeScript
        invalidHereafter__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "invalid_hereafter"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'invalidHereafter")) ::
              Data.ProtoLens.FieldDescriptor NativeScript
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, scriptPubkey__field_descriptor),
           (Data.ProtoLens.Tag 2, scriptAll__field_descriptor),
           (Data.ProtoLens.Tag 3, scriptAny__field_descriptor),
           (Data.ProtoLens.Tag 4, scriptNOfK__field_descriptor),
           (Data.ProtoLens.Tag 5, invalidBefore__field_descriptor),
           (Data.ProtoLens.Tag 6, invalidHereafter__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _NativeScript'_unknownFields
        (\ x__ y__ -> x__ {_NativeScript'_unknownFields = y__})
  defMessage
    = NativeScript'_constructor
        {_NativeScript'nativeScript = Prelude.Nothing,
         _NativeScript'_unknownFields = []}
  parseMessage
    = let
        loop ::
          NativeScript -> Data.ProtoLens.Encoding.Bytes.Parser NativeScript
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "script_pubkey"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"scriptPubkey") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "script_all"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"scriptAll") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "script_any"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"scriptAny") y x)
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "script_n_of_k"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"scriptNOfK") y x)
                        40
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "invalid_before"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"invalidBefore") y x)
                        48
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "invalid_hereafter"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"invalidHereafter") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "NativeScript"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'nativeScript") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just (NativeScript'ScriptPubkey v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((\ bs
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
                                (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          v)
                (Prelude.Just (NativeScript'ScriptAll v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (NativeScript'ScriptAny v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (NativeScript'ScriptNOfK v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (NativeScript'InvalidBefore v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 40)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt v)
                (Prelude.Just (NativeScript'InvalidHereafter v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 48)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt v))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData NativeScript where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_NativeScript'_unknownFields x__)
             (Control.DeepSeq.deepseq (_NativeScript'nativeScript x__) ())
instance Control.DeepSeq.NFData NativeScript'NativeScript where
  rnf (NativeScript'ScriptPubkey x__) = Control.DeepSeq.rnf x__
  rnf (NativeScript'ScriptAll x__) = Control.DeepSeq.rnf x__
  rnf (NativeScript'ScriptAny x__) = Control.DeepSeq.rnf x__
  rnf (NativeScript'ScriptNOfK x__) = Control.DeepSeq.rnf x__
  rnf (NativeScript'InvalidBefore x__) = Control.DeepSeq.rnf x__
  rnf (NativeScript'InvalidHereafter x__) = Control.DeepSeq.rnf x__
_NativeScript'ScriptPubkey ::
  Data.ProtoLens.Prism.Prism' NativeScript'NativeScript Data.ByteString.ByteString
_NativeScript'ScriptPubkey
  = Data.ProtoLens.Prism.prism'
      NativeScript'ScriptPubkey
      (\ p__
         -> case p__ of
              (NativeScript'ScriptPubkey p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_NativeScript'ScriptAll ::
  Data.ProtoLens.Prism.Prism' NativeScript'NativeScript NativeScriptList
_NativeScript'ScriptAll
  = Data.ProtoLens.Prism.prism'
      NativeScript'ScriptAll
      (\ p__
         -> case p__ of
              (NativeScript'ScriptAll p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_NativeScript'ScriptAny ::
  Data.ProtoLens.Prism.Prism' NativeScript'NativeScript NativeScriptList
_NativeScript'ScriptAny
  = Data.ProtoLens.Prism.prism'
      NativeScript'ScriptAny
      (\ p__
         -> case p__ of
              (NativeScript'ScriptAny p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_NativeScript'ScriptNOfK ::
  Data.ProtoLens.Prism.Prism' NativeScript'NativeScript ScriptNOfK
_NativeScript'ScriptNOfK
  = Data.ProtoLens.Prism.prism'
      NativeScript'ScriptNOfK
      (\ p__
         -> case p__ of
              (NativeScript'ScriptNOfK p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_NativeScript'InvalidBefore ::
  Data.ProtoLens.Prism.Prism' NativeScript'NativeScript Data.Word.Word64
_NativeScript'InvalidBefore
  = Data.ProtoLens.Prism.prism'
      NativeScript'InvalidBefore
      (\ p__
         -> case p__ of
              (NativeScript'InvalidBefore p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_NativeScript'InvalidHereafter ::
  Data.ProtoLens.Prism.Prism' NativeScript'NativeScript Data.Word.Word64
_NativeScript'InvalidHereafter
  = Data.ProtoLens.Prism.prism'
      NativeScript'InvalidHereafter
      (\ p__
         -> case p__ of
              (NativeScript'InvalidHereafter p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.items' @:: Lens' NativeScriptList [NativeScript]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'items' @:: Lens' NativeScriptList (Data.Vector.Vector NativeScript)@ -}
data NativeScriptList
  = NativeScriptList'_constructor {_NativeScriptList'items :: !(Data.Vector.Vector NativeScript),
                                   _NativeScriptList'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show NativeScriptList where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField NativeScriptList "items" [NativeScript] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NativeScriptList'items
           (\ x__ y__ -> x__ {_NativeScriptList'items = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField NativeScriptList "vec'items" (Data.Vector.Vector NativeScript) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NativeScriptList'items
           (\ x__ y__ -> x__ {_NativeScriptList'items = y__}))
        Prelude.id
instance Data.ProtoLens.Message NativeScriptList where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.NativeScriptList"
  packedMessageDescriptor _
    = "\n\
      \\DLENativeScriptList\DC2;\n\
      \\ENQitems\CAN\SOH \ETX(\v2%.utxorpc.v1alpha.cardano.NativeScriptR\ENQitems"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        items__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "items"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor NativeScript)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"items")) ::
              Data.ProtoLens.FieldDescriptor NativeScriptList
      in
        Data.Map.fromList [(Data.ProtoLens.Tag 1, items__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _NativeScriptList'_unknownFields
        (\ x__ y__ -> x__ {_NativeScriptList'_unknownFields = y__})
  defMessage
    = NativeScriptList'_constructor
        {_NativeScriptList'items = Data.Vector.Generic.empty,
         _NativeScriptList'_unknownFields = []}
  parseMessage
    = let
        loop ::
          NativeScriptList
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld NativeScript
             -> Data.ProtoLens.Encoding.Bytes.Parser NativeScriptList
        loop x mutable'items
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'items <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                        (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'items)
                      (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'items") frozen'items x))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "items"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'items y)
                                loop x v
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
                                  mutable'items
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'items <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                 Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'items)
          "NativeScriptList"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                (\ _v
                   -> (Data.Monoid.<>)
                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                        ((Prelude..)
                           (\ bs
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                           Data.ProtoLens.encodeMessage _v))
                (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'items") _x))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData NativeScriptList where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_NativeScriptList'_unknownFields x__)
             (Control.DeepSeq.deepseq (_NativeScriptList'items x__) ())
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.committeeColdCredential' @:: Lens' NewCommitteeCredentials StakeCredential@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'committeeColdCredential' @:: Lens' NewCommitteeCredentials (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.expiresEpoch' @:: Lens' NewCommitteeCredentials Data.Word.Word32@ -}
data NewCommitteeCredentials
  = NewCommitteeCredentials'_constructor {_NewCommitteeCredentials'committeeColdCredential :: !(Prelude.Maybe StakeCredential),
                                          _NewCommitteeCredentials'expiresEpoch :: !Data.Word.Word32,
                                          _NewCommitteeCredentials'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show NewCommitteeCredentials where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField NewCommitteeCredentials "committeeColdCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NewCommitteeCredentials'committeeColdCredential
           (\ x__ y__
              -> x__ {_NewCommitteeCredentials'committeeColdCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField NewCommitteeCredentials "maybe'committeeColdCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NewCommitteeCredentials'committeeColdCredential
           (\ x__ y__
              -> x__ {_NewCommitteeCredentials'committeeColdCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField NewCommitteeCredentials "expiresEpoch" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NewCommitteeCredentials'expiresEpoch
           (\ x__ y__ -> x__ {_NewCommitteeCredentials'expiresEpoch = y__}))
        Prelude.id
instance Data.ProtoLens.Message NewCommitteeCredentials where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.NewCommitteeCredentials"
  packedMessageDescriptor _
    = "\n\
      \\ETBNewCommitteeCredentials\DC2d\n\
      \\EMcommittee_cold_credential\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\ETBcommitteeColdCredential\DC2#\n\
      \\rexpires_epoch\CAN\STX \SOH(\rR\fexpiresEpoch"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        committeeColdCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "committee_cold_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'committeeColdCredential")) ::
              Data.ProtoLens.FieldDescriptor NewCommitteeCredentials
        expiresEpoch__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "expires_epoch"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"expiresEpoch")) ::
              Data.ProtoLens.FieldDescriptor NewCommitteeCredentials
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, committeeColdCredential__field_descriptor),
           (Data.ProtoLens.Tag 2, expiresEpoch__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _NewCommitteeCredentials'_unknownFields
        (\ x__ y__ -> x__ {_NewCommitteeCredentials'_unknownFields = y__})
  defMessage
    = NewCommitteeCredentials'_constructor
        {_NewCommitteeCredentials'committeeColdCredential = Prelude.Nothing,
         _NewCommitteeCredentials'expiresEpoch = Data.ProtoLens.fieldDefault,
         _NewCommitteeCredentials'_unknownFields = []}
  parseMessage
    = let
        loop ::
          NewCommitteeCredentials
          -> Data.ProtoLens.Encoding.Bytes.Parser NewCommitteeCredentials
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "committee_cold_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"committeeColdCredential") y x)
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "expires_epoch"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"expiresEpoch") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "NewCommitteeCredentials"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'committeeColdCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view (Data.ProtoLens.Field.field @"expiresEpoch") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         ((Prelude..)
                            Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData NewCommitteeCredentials where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_NewCommitteeCredentials'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_NewCommitteeCredentials'committeeColdCredential x__)
                (Control.DeepSeq.deepseq
                   (_NewCommitteeCredentials'expiresEpoch x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.govActionId' @:: Lens' NewConstitutionAction GovernanceActionId@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'govActionId' @:: Lens' NewConstitutionAction (Prelude.Maybe GovernanceActionId)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.constitution' @:: Lens' NewConstitutionAction Constitution@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'constitution' @:: Lens' NewConstitutionAction (Prelude.Maybe Constitution)@ -}
data NewConstitutionAction
  = NewConstitutionAction'_constructor {_NewConstitutionAction'govActionId :: !(Prelude.Maybe GovernanceActionId),
                                        _NewConstitutionAction'constitution :: !(Prelude.Maybe Constitution),
                                        _NewConstitutionAction'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show NewConstitutionAction where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField NewConstitutionAction "govActionId" GovernanceActionId where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NewConstitutionAction'govActionId
           (\ x__ y__ -> x__ {_NewConstitutionAction'govActionId = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField NewConstitutionAction "maybe'govActionId" (Prelude.Maybe GovernanceActionId) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NewConstitutionAction'govActionId
           (\ x__ y__ -> x__ {_NewConstitutionAction'govActionId = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField NewConstitutionAction "constitution" Constitution where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NewConstitutionAction'constitution
           (\ x__ y__ -> x__ {_NewConstitutionAction'constitution = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField NewConstitutionAction "maybe'constitution" (Prelude.Maybe Constitution) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NewConstitutionAction'constitution
           (\ x__ y__ -> x__ {_NewConstitutionAction'constitution = y__}))
        Prelude.id
instance Data.ProtoLens.Message NewConstitutionAction where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.NewConstitutionAction"
  packedMessageDescriptor _
    = "\n\
      \\NAKNewConstitutionAction\DC2O\n\
      \\rgov_action_id\CAN\SOH \SOH(\v2+.utxorpc.v1alpha.cardano.GovernanceActionIdR\vgovActionId\DC2I\n\
      \\fconstitution\CAN\STX \SOH(\v2%.utxorpc.v1alpha.cardano.ConstitutionR\fconstitution"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        govActionId__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "gov_action_id"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor GovernanceActionId)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'govActionId")) ::
              Data.ProtoLens.FieldDescriptor NewConstitutionAction
        constitution__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "constitution"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Constitution)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'constitution")) ::
              Data.ProtoLens.FieldDescriptor NewConstitutionAction
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, govActionId__field_descriptor),
           (Data.ProtoLens.Tag 2, constitution__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _NewConstitutionAction'_unknownFields
        (\ x__ y__ -> x__ {_NewConstitutionAction'_unknownFields = y__})
  defMessage
    = NewConstitutionAction'_constructor
        {_NewConstitutionAction'govActionId = Prelude.Nothing,
         _NewConstitutionAction'constitution = Prelude.Nothing,
         _NewConstitutionAction'_unknownFields = []}
  parseMessage
    = let
        loop ::
          NewConstitutionAction
          -> Data.ProtoLens.Encoding.Bytes.Parser NewConstitutionAction
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "gov_action_id"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"govActionId") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "constitution"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"constitution") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "NewConstitutionAction"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'govActionId") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view
                       (Data.ProtoLens.Field.field @"maybe'constitution") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData NewConstitutionAction where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_NewConstitutionAction'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_NewConstitutionAction'govActionId x__)
                (Control.DeepSeq.deepseq
                   (_NewConstitutionAction'constitution x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.govActionId' @:: Lens' NoConfidenceAction GovernanceActionId@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'govActionId' @:: Lens' NoConfidenceAction (Prelude.Maybe GovernanceActionId)@ -}
data NoConfidenceAction
  = NoConfidenceAction'_constructor {_NoConfidenceAction'govActionId :: !(Prelude.Maybe GovernanceActionId),
                                     _NoConfidenceAction'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show NoConfidenceAction where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField NoConfidenceAction "govActionId" GovernanceActionId where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NoConfidenceAction'govActionId
           (\ x__ y__ -> x__ {_NoConfidenceAction'govActionId = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField NoConfidenceAction "maybe'govActionId" (Prelude.Maybe GovernanceActionId) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _NoConfidenceAction'govActionId
           (\ x__ y__ -> x__ {_NoConfidenceAction'govActionId = y__}))
        Prelude.id
instance Data.ProtoLens.Message NoConfidenceAction where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.NoConfidenceAction"
  packedMessageDescriptor _
    = "\n\
      \\DC2NoConfidenceAction\DC2O\n\
      \\rgov_action_id\CAN\SOH \SOH(\v2+.utxorpc.v1alpha.cardano.GovernanceActionIdR\vgovActionId"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        govActionId__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "gov_action_id"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor GovernanceActionId)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'govActionId")) ::
              Data.ProtoLens.FieldDescriptor NoConfidenceAction
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, govActionId__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _NoConfidenceAction'_unknownFields
        (\ x__ y__ -> x__ {_NoConfidenceAction'_unknownFields = y__})
  defMessage
    = NoConfidenceAction'_constructor
        {_NoConfidenceAction'govActionId = Prelude.Nothing,
         _NoConfidenceAction'_unknownFields = []}
  parseMessage
    = let
        loop ::
          NoConfidenceAction
          -> Data.ProtoLens.Encoding.Bytes.Parser NoConfidenceAction
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "gov_action_id"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"govActionId") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "NoConfidenceAction"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'govActionId") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData NoConfidenceAction where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_NoConfidenceAction'_unknownFields x__)
             (Control.DeepSeq.deepseq (_NoConfidenceAction'govActionId x__) ())
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.coinsPerUtxoByte' @:: Lens' PParams Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maxTxSize' @:: Lens' PParams Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.minFeeCoefficient' @:: Lens' PParams Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.minFeeConstant' @:: Lens' PParams Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maxBlockBodySize' @:: Lens' PParams Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maxBlockHeaderSize' @:: Lens' PParams Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.stakeKeyDeposit' @:: Lens' PParams Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.poolDeposit' @:: Lens' PParams Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.poolRetirementEpochBound' @:: Lens' PParams Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.desiredNumberOfPools' @:: Lens' PParams Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.poolInfluence' @:: Lens' PParams RationalNumber@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'poolInfluence' @:: Lens' PParams (Prelude.Maybe RationalNumber)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.monetaryExpansion' @:: Lens' PParams RationalNumber@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'monetaryExpansion' @:: Lens' PParams (Prelude.Maybe RationalNumber)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.treasuryExpansion' @:: Lens' PParams RationalNumber@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'treasuryExpansion' @:: Lens' PParams (Prelude.Maybe RationalNumber)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.minPoolCost' @:: Lens' PParams Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.protocolVersion' @:: Lens' PParams ProtocolVersion@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'protocolVersion' @:: Lens' PParams (Prelude.Maybe ProtocolVersion)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maxValueSize' @:: Lens' PParams Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.collateralPercentage' @:: Lens' PParams Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maxCollateralInputs' @:: Lens' PParams Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.costModels' @:: Lens' PParams CostModels@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'costModels' @:: Lens' PParams (Prelude.Maybe CostModels)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.prices' @:: Lens' PParams ExPrices@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'prices' @:: Lens' PParams (Prelude.Maybe ExPrices)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maxExecutionUnitsPerTransaction' @:: Lens' PParams ExUnits@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'maxExecutionUnitsPerTransaction' @:: Lens' PParams (Prelude.Maybe ExUnits)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maxExecutionUnitsPerBlock' @:: Lens' PParams ExUnits@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'maxExecutionUnitsPerBlock' @:: Lens' PParams (Prelude.Maybe ExUnits)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.minFeeScriptRefCostPerByte' @:: Lens' PParams RationalNumber@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'minFeeScriptRefCostPerByte' @:: Lens' PParams (Prelude.Maybe RationalNumber)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.poolVotingThresholds' @:: Lens' PParams VotingThresholds@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'poolVotingThresholds' @:: Lens' PParams (Prelude.Maybe VotingThresholds)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.drepVotingThresholds' @:: Lens' PParams VotingThresholds@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'drepVotingThresholds' @:: Lens' PParams (Prelude.Maybe VotingThresholds)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.minCommitteeSize' @:: Lens' PParams Data.Word.Word32@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.committeeTermLimit' @:: Lens' PParams Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.governanceActionValidityPeriod' @:: Lens' PParams Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.governanceActionDeposit' @:: Lens' PParams Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.drepDeposit' @:: Lens' PParams Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.drepInactivityPeriod' @:: Lens' PParams Data.Word.Word64@ -}
data PParams
  = PParams'_constructor {_PParams'coinsPerUtxoByte :: !Data.Word.Word64,
                          _PParams'maxTxSize :: !Data.Word.Word64,
                          _PParams'minFeeCoefficient :: !Data.Word.Word64,
                          _PParams'minFeeConstant :: !Data.Word.Word64,
                          _PParams'maxBlockBodySize :: !Data.Word.Word64,
                          _PParams'maxBlockHeaderSize :: !Data.Word.Word64,
                          _PParams'stakeKeyDeposit :: !Data.Word.Word64,
                          _PParams'poolDeposit :: !Data.Word.Word64,
                          _PParams'poolRetirementEpochBound :: !Data.Word.Word64,
                          _PParams'desiredNumberOfPools :: !Data.Word.Word64,
                          _PParams'poolInfluence :: !(Prelude.Maybe RationalNumber),
                          _PParams'monetaryExpansion :: !(Prelude.Maybe RationalNumber),
                          _PParams'treasuryExpansion :: !(Prelude.Maybe RationalNumber),
                          _PParams'minPoolCost :: !Data.Word.Word64,
                          _PParams'protocolVersion :: !(Prelude.Maybe ProtocolVersion),
                          _PParams'maxValueSize :: !Data.Word.Word64,
                          _PParams'collateralPercentage :: !Data.Word.Word64,
                          _PParams'maxCollateralInputs :: !Data.Word.Word64,
                          _PParams'costModels :: !(Prelude.Maybe CostModels),
                          _PParams'prices :: !(Prelude.Maybe ExPrices),
                          _PParams'maxExecutionUnitsPerTransaction :: !(Prelude.Maybe ExUnits),
                          _PParams'maxExecutionUnitsPerBlock :: !(Prelude.Maybe ExUnits),
                          _PParams'minFeeScriptRefCostPerByte :: !(Prelude.Maybe RationalNumber),
                          _PParams'poolVotingThresholds :: !(Prelude.Maybe VotingThresholds),
                          _PParams'drepVotingThresholds :: !(Prelude.Maybe VotingThresholds),
                          _PParams'minCommitteeSize :: !Data.Word.Word32,
                          _PParams'committeeTermLimit :: !Data.Word.Word64,
                          _PParams'governanceActionValidityPeriod :: !Data.Word.Word64,
                          _PParams'governanceActionDeposit :: !Data.Word.Word64,
                          _PParams'drepDeposit :: !Data.Word.Word64,
                          _PParams'drepInactivityPeriod :: !Data.Word.Word64,
                          _PParams'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show PParams where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField PParams "coinsPerUtxoByte" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'coinsPerUtxoByte
           (\ x__ y__ -> x__ {_PParams'coinsPerUtxoByte = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "maxTxSize" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'maxTxSize (\ x__ y__ -> x__ {_PParams'maxTxSize = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "minFeeCoefficient" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'minFeeCoefficient
           (\ x__ y__ -> x__ {_PParams'minFeeCoefficient = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "minFeeConstant" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'minFeeConstant
           (\ x__ y__ -> x__ {_PParams'minFeeConstant = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "maxBlockBodySize" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'maxBlockBodySize
           (\ x__ y__ -> x__ {_PParams'maxBlockBodySize = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "maxBlockHeaderSize" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'maxBlockHeaderSize
           (\ x__ y__ -> x__ {_PParams'maxBlockHeaderSize = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "stakeKeyDeposit" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'stakeKeyDeposit
           (\ x__ y__ -> x__ {_PParams'stakeKeyDeposit = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "poolDeposit" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'poolDeposit
           (\ x__ y__ -> x__ {_PParams'poolDeposit = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "poolRetirementEpochBound" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'poolRetirementEpochBound
           (\ x__ y__ -> x__ {_PParams'poolRetirementEpochBound = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "desiredNumberOfPools" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'desiredNumberOfPools
           (\ x__ y__ -> x__ {_PParams'desiredNumberOfPools = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "poolInfluence" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'poolInfluence
           (\ x__ y__ -> x__ {_PParams'poolInfluence = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PParams "maybe'poolInfluence" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'poolInfluence
           (\ x__ y__ -> x__ {_PParams'poolInfluence = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "monetaryExpansion" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'monetaryExpansion
           (\ x__ y__ -> x__ {_PParams'monetaryExpansion = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PParams "maybe'monetaryExpansion" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'monetaryExpansion
           (\ x__ y__ -> x__ {_PParams'monetaryExpansion = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "treasuryExpansion" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'treasuryExpansion
           (\ x__ y__ -> x__ {_PParams'treasuryExpansion = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PParams "maybe'treasuryExpansion" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'treasuryExpansion
           (\ x__ y__ -> x__ {_PParams'treasuryExpansion = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "minPoolCost" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'minPoolCost
           (\ x__ y__ -> x__ {_PParams'minPoolCost = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "protocolVersion" ProtocolVersion where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'protocolVersion
           (\ x__ y__ -> x__ {_PParams'protocolVersion = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PParams "maybe'protocolVersion" (Prelude.Maybe ProtocolVersion) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'protocolVersion
           (\ x__ y__ -> x__ {_PParams'protocolVersion = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "maxValueSize" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'maxValueSize
           (\ x__ y__ -> x__ {_PParams'maxValueSize = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "collateralPercentage" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'collateralPercentage
           (\ x__ y__ -> x__ {_PParams'collateralPercentage = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "maxCollateralInputs" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'maxCollateralInputs
           (\ x__ y__ -> x__ {_PParams'maxCollateralInputs = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "costModels" CostModels where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'costModels (\ x__ y__ -> x__ {_PParams'costModels = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PParams "maybe'costModels" (Prelude.Maybe CostModels) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'costModels (\ x__ y__ -> x__ {_PParams'costModels = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "prices" ExPrices where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'prices (\ x__ y__ -> x__ {_PParams'prices = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PParams "maybe'prices" (Prelude.Maybe ExPrices) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'prices (\ x__ y__ -> x__ {_PParams'prices = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "maxExecutionUnitsPerTransaction" ExUnits where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'maxExecutionUnitsPerTransaction
           (\ x__ y__
              -> x__ {_PParams'maxExecutionUnitsPerTransaction = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PParams "maybe'maxExecutionUnitsPerTransaction" (Prelude.Maybe ExUnits) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'maxExecutionUnitsPerTransaction
           (\ x__ y__
              -> x__ {_PParams'maxExecutionUnitsPerTransaction = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "maxExecutionUnitsPerBlock" ExUnits where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'maxExecutionUnitsPerBlock
           (\ x__ y__ -> x__ {_PParams'maxExecutionUnitsPerBlock = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PParams "maybe'maxExecutionUnitsPerBlock" (Prelude.Maybe ExUnits) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'maxExecutionUnitsPerBlock
           (\ x__ y__ -> x__ {_PParams'maxExecutionUnitsPerBlock = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "minFeeScriptRefCostPerByte" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'minFeeScriptRefCostPerByte
           (\ x__ y__ -> x__ {_PParams'minFeeScriptRefCostPerByte = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PParams "maybe'minFeeScriptRefCostPerByte" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'minFeeScriptRefCostPerByte
           (\ x__ y__ -> x__ {_PParams'minFeeScriptRefCostPerByte = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "poolVotingThresholds" VotingThresholds where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'poolVotingThresholds
           (\ x__ y__ -> x__ {_PParams'poolVotingThresholds = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PParams "maybe'poolVotingThresholds" (Prelude.Maybe VotingThresholds) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'poolVotingThresholds
           (\ x__ y__ -> x__ {_PParams'poolVotingThresholds = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "drepVotingThresholds" VotingThresholds where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'drepVotingThresholds
           (\ x__ y__ -> x__ {_PParams'drepVotingThresholds = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PParams "maybe'drepVotingThresholds" (Prelude.Maybe VotingThresholds) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'drepVotingThresholds
           (\ x__ y__ -> x__ {_PParams'drepVotingThresholds = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "minCommitteeSize" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'minCommitteeSize
           (\ x__ y__ -> x__ {_PParams'minCommitteeSize = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "committeeTermLimit" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'committeeTermLimit
           (\ x__ y__ -> x__ {_PParams'committeeTermLimit = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "governanceActionValidityPeriod" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'governanceActionValidityPeriod
           (\ x__ y__ -> x__ {_PParams'governanceActionValidityPeriod = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "governanceActionDeposit" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'governanceActionDeposit
           (\ x__ y__ -> x__ {_PParams'governanceActionDeposit = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "drepDeposit" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'drepDeposit
           (\ x__ y__ -> x__ {_PParams'drepDeposit = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PParams "drepInactivityPeriod" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PParams'drepInactivityPeriod
           (\ x__ y__ -> x__ {_PParams'drepInactivityPeriod = y__}))
        Prelude.id
instance Data.ProtoLens.Message PParams where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.PParams"
  packedMessageDescriptor _
    = "\n\
      \\aPParams\DC2-\n\
      \\DC3coins_per_utxo_byte\CAN\SOH \SOH(\EOTR\DLEcoinsPerUtxoByte\DC2\RS\n\
      \\vmax_tx_size\CAN\STX \SOH(\EOTR\tmaxTxSize\DC2.\n\
      \\DC3min_fee_coefficient\CAN\ETX \SOH(\EOTR\DC1minFeeCoefficient\DC2(\n\
      \\DLEmin_fee_constant\CAN\EOT \SOH(\EOTR\SOminFeeConstant\DC2-\n\
      \\DC3max_block_body_size\CAN\ENQ \SOH(\EOTR\DLEmaxBlockBodySize\DC21\n\
      \\NAKmax_block_header_size\CAN\ACK \SOH(\EOTR\DC2maxBlockHeaderSize\DC2*\n\
      \\DC1stake_key_deposit\CAN\a \SOH(\EOTR\SIstakeKeyDeposit\DC2!\n\
      \\fpool_deposit\CAN\b \SOH(\EOTR\vpoolDeposit\DC2=\n\
      \\ESCpool_retirement_epoch_bound\CAN\t \SOH(\EOTR\CANpoolRetirementEpochBound\DC25\n\
      \\ETBdesired_number_of_pools\CAN\n\
      \ \SOH(\EOTR\DC4desiredNumberOfPools\DC2N\n\
      \\SOpool_influence\CAN\v \SOH(\v2'.utxorpc.v1alpha.cardano.RationalNumberR\rpoolInfluence\DC2V\n\
      \\DC2monetary_expansion\CAN\f \SOH(\v2'.utxorpc.v1alpha.cardano.RationalNumberR\DC1monetaryExpansion\DC2V\n\
      \\DC2treasury_expansion\CAN\r \SOH(\v2'.utxorpc.v1alpha.cardano.RationalNumberR\DC1treasuryExpansion\DC2\"\n\
      \\rmin_pool_cost\CAN\SO \SOH(\EOTR\vminPoolCost\DC2S\n\
      \\DLEprotocol_version\CAN\SI \SOH(\v2(.utxorpc.v1alpha.cardano.ProtocolVersionR\SIprotocolVersion\DC2$\n\
      \\SOmax_value_size\CAN\DLE \SOH(\EOTR\fmaxValueSize\DC23\n\
      \\NAKcollateral_percentage\CAN\DC1 \SOH(\EOTR\DC4collateralPercentage\DC22\n\
      \\NAKmax_collateral_inputs\CAN\DC2 \SOH(\EOTR\DC3maxCollateralInputs\DC2D\n\
      \\vcost_models\CAN\DC3 \SOH(\v2#.utxorpc.v1alpha.cardano.CostModelsR\n\
      \costModels\DC29\n\
      \\ACKprices\CAN\DC4 \SOH(\v2!.utxorpc.v1alpha.cardano.ExPricesR\ACKprices\DC2n\n\
      \#max_execution_units_per_transaction\CAN\NAK \SOH(\v2 .utxorpc.v1alpha.cardano.ExUnitsR\USmaxExecutionUnitsPerTransaction\DC2b\n\
      \\GSmax_execution_units_per_block\CAN\SYN \SOH(\v2 .utxorpc.v1alpha.cardano.ExUnitsR\EMmaxExecutionUnitsPerBlock\DC2m\n\
      \ min_fee_script_ref_cost_per_byte\CAN\ETB \SOH(\v2'.utxorpc.v1alpha.cardano.RationalNumberR\SUBminFeeScriptRefCostPerByte\DC2_\n\
      \\SYNpool_voting_thresholds\CAN\CAN \SOH(\v2).utxorpc.v1alpha.cardano.VotingThresholdsR\DC4poolVotingThresholds\DC2_\n\
      \\SYNdrep_voting_thresholds\CAN\EM \SOH(\v2).utxorpc.v1alpha.cardano.VotingThresholdsR\DC4drepVotingThresholds\DC2,\n\
      \\DC2min_committee_size\CAN\SUB \SOH(\rR\DLEminCommitteeSize\DC20\n\
      \\DC4committee_term_limit\CAN\ESC \SOH(\EOTR\DC2committeeTermLimit\DC2I\n\
      \!governance_action_validity_period\CAN\FS \SOH(\EOTR\RSgovernanceActionValidityPeriod\DC2:\n\
      \\EMgovernance_action_deposit\CAN\GS \SOH(\EOTR\ETBgovernanceActionDeposit\DC2!\n\
      \\fdrep_deposit\CAN\RS \SOH(\EOTR\vdrepDeposit\DC24\n\
      \\SYNdrep_inactivity_period\CAN\US \SOH(\EOTR\DC4drepInactivityPeriod"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        coinsPerUtxoByte__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "coins_per_utxo_byte"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"coinsPerUtxoByte")) ::
              Data.ProtoLens.FieldDescriptor PParams
        maxTxSize__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "max_tx_size"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"maxTxSize")) ::
              Data.ProtoLens.FieldDescriptor PParams
        minFeeCoefficient__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "min_fee_coefficient"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"minFeeCoefficient")) ::
              Data.ProtoLens.FieldDescriptor PParams
        minFeeConstant__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "min_fee_constant"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"minFeeConstant")) ::
              Data.ProtoLens.FieldDescriptor PParams
        maxBlockBodySize__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "max_block_body_size"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"maxBlockBodySize")) ::
              Data.ProtoLens.FieldDescriptor PParams
        maxBlockHeaderSize__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "max_block_header_size"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"maxBlockHeaderSize")) ::
              Data.ProtoLens.FieldDescriptor PParams
        stakeKeyDeposit__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_key_deposit"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"stakeKeyDeposit")) ::
              Data.ProtoLens.FieldDescriptor PParams
        poolDeposit__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pool_deposit"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"poolDeposit")) ::
              Data.ProtoLens.FieldDescriptor PParams
        poolRetirementEpochBound__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pool_retirement_epoch_bound"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"poolRetirementEpochBound")) ::
              Data.ProtoLens.FieldDescriptor PParams
        desiredNumberOfPools__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "desired_number_of_pools"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"desiredNumberOfPools")) ::
              Data.ProtoLens.FieldDescriptor PParams
        poolInfluence__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pool_influence"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'poolInfluence")) ::
              Data.ProtoLens.FieldDescriptor PParams
        monetaryExpansion__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "monetary_expansion"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'monetaryExpansion")) ::
              Data.ProtoLens.FieldDescriptor PParams
        treasuryExpansion__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "treasury_expansion"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'treasuryExpansion")) ::
              Data.ProtoLens.FieldDescriptor PParams
        minPoolCost__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "min_pool_cost"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"minPoolCost")) ::
              Data.ProtoLens.FieldDescriptor PParams
        protocolVersion__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "protocol_version"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor ProtocolVersion)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'protocolVersion")) ::
              Data.ProtoLens.FieldDescriptor PParams
        maxValueSize__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "max_value_size"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"maxValueSize")) ::
              Data.ProtoLens.FieldDescriptor PParams
        collateralPercentage__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "collateral_percentage"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"collateralPercentage")) ::
              Data.ProtoLens.FieldDescriptor PParams
        maxCollateralInputs__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "max_collateral_inputs"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"maxCollateralInputs")) ::
              Data.ProtoLens.FieldDescriptor PParams
        costModels__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "cost_models"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor CostModels)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'costModels")) ::
              Data.ProtoLens.FieldDescriptor PParams
        prices__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "prices"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor ExPrices)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'prices")) ::
              Data.ProtoLens.FieldDescriptor PParams
        maxExecutionUnitsPerTransaction__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "max_execution_units_per_transaction"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor ExUnits)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field
                    @"maybe'maxExecutionUnitsPerTransaction")) ::
              Data.ProtoLens.FieldDescriptor PParams
        maxExecutionUnitsPerBlock__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "max_execution_units_per_block"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor ExUnits)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'maxExecutionUnitsPerBlock")) ::
              Data.ProtoLens.FieldDescriptor PParams
        minFeeScriptRefCostPerByte__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "min_fee_script_ref_cost_per_byte"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field
                    @"maybe'minFeeScriptRefCostPerByte")) ::
              Data.ProtoLens.FieldDescriptor PParams
        poolVotingThresholds__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pool_voting_thresholds"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor VotingThresholds)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'poolVotingThresholds")) ::
              Data.ProtoLens.FieldDescriptor PParams
        drepVotingThresholds__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "drep_voting_thresholds"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor VotingThresholds)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'drepVotingThresholds")) ::
              Data.ProtoLens.FieldDescriptor PParams
        minCommitteeSize__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "min_committee_size"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"minCommitteeSize")) ::
              Data.ProtoLens.FieldDescriptor PParams
        committeeTermLimit__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "committee_term_limit"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"committeeTermLimit")) ::
              Data.ProtoLens.FieldDescriptor PParams
        governanceActionValidityPeriod__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "governance_action_validity_period"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"governanceActionValidityPeriod")) ::
              Data.ProtoLens.FieldDescriptor PParams
        governanceActionDeposit__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "governance_action_deposit"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"governanceActionDeposit")) ::
              Data.ProtoLens.FieldDescriptor PParams
        drepDeposit__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "drep_deposit"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"drepDeposit")) ::
              Data.ProtoLens.FieldDescriptor PParams
        drepInactivityPeriod__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "drep_inactivity_period"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"drepInactivityPeriod")) ::
              Data.ProtoLens.FieldDescriptor PParams
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, coinsPerUtxoByte__field_descriptor),
           (Data.ProtoLens.Tag 2, maxTxSize__field_descriptor),
           (Data.ProtoLens.Tag 3, minFeeCoefficient__field_descriptor),
           (Data.ProtoLens.Tag 4, minFeeConstant__field_descriptor),
           (Data.ProtoLens.Tag 5, maxBlockBodySize__field_descriptor),
           (Data.ProtoLens.Tag 6, maxBlockHeaderSize__field_descriptor),
           (Data.ProtoLens.Tag 7, stakeKeyDeposit__field_descriptor),
           (Data.ProtoLens.Tag 8, poolDeposit__field_descriptor),
           (Data.ProtoLens.Tag 9, poolRetirementEpochBound__field_descriptor),
           (Data.ProtoLens.Tag 10, desiredNumberOfPools__field_descriptor),
           (Data.ProtoLens.Tag 11, poolInfluence__field_descriptor),
           (Data.ProtoLens.Tag 12, monetaryExpansion__field_descriptor),
           (Data.ProtoLens.Tag 13, treasuryExpansion__field_descriptor),
           (Data.ProtoLens.Tag 14, minPoolCost__field_descriptor),
           (Data.ProtoLens.Tag 15, protocolVersion__field_descriptor),
           (Data.ProtoLens.Tag 16, maxValueSize__field_descriptor),
           (Data.ProtoLens.Tag 17, collateralPercentage__field_descriptor),
           (Data.ProtoLens.Tag 18, maxCollateralInputs__field_descriptor),
           (Data.ProtoLens.Tag 19, costModels__field_descriptor),
           (Data.ProtoLens.Tag 20, prices__field_descriptor),
           (Data.ProtoLens.Tag 21, 
            maxExecutionUnitsPerTransaction__field_descriptor),
           (Data.ProtoLens.Tag 22, 
            maxExecutionUnitsPerBlock__field_descriptor),
           (Data.ProtoLens.Tag 23, 
            minFeeScriptRefCostPerByte__field_descriptor),
           (Data.ProtoLens.Tag 24, poolVotingThresholds__field_descriptor),
           (Data.ProtoLens.Tag 25, drepVotingThresholds__field_descriptor),
           (Data.ProtoLens.Tag 26, minCommitteeSize__field_descriptor),
           (Data.ProtoLens.Tag 27, committeeTermLimit__field_descriptor),
           (Data.ProtoLens.Tag 28, 
            governanceActionValidityPeriod__field_descriptor),
           (Data.ProtoLens.Tag 29, governanceActionDeposit__field_descriptor),
           (Data.ProtoLens.Tag 30, drepDeposit__field_descriptor),
           (Data.ProtoLens.Tag 31, drepInactivityPeriod__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _PParams'_unknownFields
        (\ x__ y__ -> x__ {_PParams'_unknownFields = y__})
  defMessage
    = PParams'_constructor
        {_PParams'coinsPerUtxoByte = Data.ProtoLens.fieldDefault,
         _PParams'maxTxSize = Data.ProtoLens.fieldDefault,
         _PParams'minFeeCoefficient = Data.ProtoLens.fieldDefault,
         _PParams'minFeeConstant = Data.ProtoLens.fieldDefault,
         _PParams'maxBlockBodySize = Data.ProtoLens.fieldDefault,
         _PParams'maxBlockHeaderSize = Data.ProtoLens.fieldDefault,
         _PParams'stakeKeyDeposit = Data.ProtoLens.fieldDefault,
         _PParams'poolDeposit = Data.ProtoLens.fieldDefault,
         _PParams'poolRetirementEpochBound = Data.ProtoLens.fieldDefault,
         _PParams'desiredNumberOfPools = Data.ProtoLens.fieldDefault,
         _PParams'poolInfluence = Prelude.Nothing,
         _PParams'monetaryExpansion = Prelude.Nothing,
         _PParams'treasuryExpansion = Prelude.Nothing,
         _PParams'minPoolCost = Data.ProtoLens.fieldDefault,
         _PParams'protocolVersion = Prelude.Nothing,
         _PParams'maxValueSize = Data.ProtoLens.fieldDefault,
         _PParams'collateralPercentage = Data.ProtoLens.fieldDefault,
         _PParams'maxCollateralInputs = Data.ProtoLens.fieldDefault,
         _PParams'costModels = Prelude.Nothing,
         _PParams'prices = Prelude.Nothing,
         _PParams'maxExecutionUnitsPerTransaction = Prelude.Nothing,
         _PParams'maxExecutionUnitsPerBlock = Prelude.Nothing,
         _PParams'minFeeScriptRefCostPerByte = Prelude.Nothing,
         _PParams'poolVotingThresholds = Prelude.Nothing,
         _PParams'drepVotingThresholds = Prelude.Nothing,
         _PParams'minCommitteeSize = Data.ProtoLens.fieldDefault,
         _PParams'committeeTermLimit = Data.ProtoLens.fieldDefault,
         _PParams'governanceActionValidityPeriod = Data.ProtoLens.fieldDefault,
         _PParams'governanceActionDeposit = Data.ProtoLens.fieldDefault,
         _PParams'drepDeposit = Data.ProtoLens.fieldDefault,
         _PParams'drepInactivityPeriod = Data.ProtoLens.fieldDefault,
         _PParams'_unknownFields = []}
  parseMessage
    = let
        loop :: PParams -> Data.ProtoLens.Encoding.Bytes.Parser PParams
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "coins_per_utxo_byte"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"coinsPerUtxoByte") y x)
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "max_tx_size"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"maxTxSize") y x)
                        24
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "min_fee_coefficient"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"minFeeCoefficient") y x)
                        32
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "min_fee_constant"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"minFeeConstant") y x)
                        40
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "max_block_body_size"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"maxBlockBodySize") y x)
                        48
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt
                                       "max_block_header_size"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"maxBlockHeaderSize") y x)
                        56
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "stake_key_deposit"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeKeyDeposit") y x)
                        64
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "pool_deposit"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"poolDeposit") y x)
                        72
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt
                                       "pool_retirement_epoch_bound"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"poolRetirementEpochBound") y x)
                        80
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt
                                       "desired_number_of_pools"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"desiredNumberOfPools") y x)
                        90
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "pool_influence"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"poolInfluence") y x)
                        98
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "monetary_expansion"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"monetaryExpansion") y x)
                        106
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "treasury_expansion"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"treasuryExpansion") y x)
                        112
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "min_pool_cost"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"minPoolCost") y x)
                        122
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "protocol_version"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"protocolVersion") y x)
                        128
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "max_value_size"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"maxValueSize") y x)
                        136
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt
                                       "collateral_percentage"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"collateralPercentage") y x)
                        144
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt
                                       "max_collateral_inputs"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"maxCollateralInputs") y x)
                        154
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "cost_models"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"costModels") y x)
                        162
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "prices"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"prices") y x)
                        170
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "max_execution_units_per_transaction"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"maxExecutionUnitsPerTransaction")
                                     y x)
                        178
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "max_execution_units_per_block"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"maxExecutionUnitsPerBlock") y x)
                        186
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "min_fee_script_ref_cost_per_byte"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"minFeeScriptRefCostPerByte") y x)
                        194
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "pool_voting_thresholds"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"poolVotingThresholds") y x)
                        202
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "drep_voting_thresholds"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"drepVotingThresholds") y x)
                        208
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "min_committee_size"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"minCommitteeSize") y x)
                        216
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt
                                       "committee_term_limit"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"committeeTermLimit") y x)
                        224
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt
                                       "governance_action_validity_period"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"governanceActionValidityPeriod")
                                     y x)
                        232
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt
                                       "governance_action_deposit"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"governanceActionDeposit") y x)
                        240
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "drep_deposit"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"drepDeposit") y x)
                        248
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt
                                       "drep_inactivity_period"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"drepInactivityPeriod") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "PParams"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v
                  = Lens.Family2.view
                      (Data.ProtoLens.Field.field @"coinsPerUtxoByte") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
             ((Data.Monoid.<>)
                (let
                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"maxTxSize") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                ((Data.Monoid.<>)
                   (let
                      _v
                        = Lens.Family2.view
                            (Data.ProtoLens.Field.field @"minFeeCoefficient") _x
                    in
                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                          Data.Monoid.mempty
                      else
                          (Data.Monoid.<>)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                   ((Data.Monoid.<>)
                      (let
                         _v
                           = Lens.Family2.view
                               (Data.ProtoLens.Field.field @"minFeeConstant") _x
                       in
                         if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                             Data.Monoid.mempty
                         else
                             (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt 32)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                      ((Data.Monoid.<>)
                         (let
                            _v
                              = Lens.Family2.view
                                  (Data.ProtoLens.Field.field @"maxBlockBodySize") _x
                          in
                            if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                                Data.Monoid.mempty
                            else
                                (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt 40)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                         ((Data.Monoid.<>)
                            (let
                               _v
                                 = Lens.Family2.view
                                     (Data.ProtoLens.Field.field @"maxBlockHeaderSize") _x
                             in
                               if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                                   Data.Monoid.mempty
                               else
                                   (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt 48)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                            ((Data.Monoid.<>)
                               (let
                                  _v
                                    = Lens.Family2.view
                                        (Data.ProtoLens.Field.field @"stakeKeyDeposit") _x
                                in
                                  if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                                      Data.Monoid.mempty
                                  else
                                      (Data.Monoid.<>)
                                        (Data.ProtoLens.Encoding.Bytes.putVarInt 56)
                                        (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                               ((Data.Monoid.<>)
                                  (let
                                     _v
                                       = Lens.Family2.view
                                           (Data.ProtoLens.Field.field @"poolDeposit") _x
                                   in
                                     if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                                         Data.Monoid.mempty
                                     else
                                         (Data.Monoid.<>)
                                           (Data.ProtoLens.Encoding.Bytes.putVarInt 64)
                                           (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                                  ((Data.Monoid.<>)
                                     (let
                                        _v
                                          = Lens.Family2.view
                                              (Data.ProtoLens.Field.field
                                                 @"poolRetirementEpochBound")
                                              _x
                                      in
                                        if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                                            Data.Monoid.mempty
                                        else
                                            (Data.Monoid.<>)
                                              (Data.ProtoLens.Encoding.Bytes.putVarInt 72)
                                              (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                                     ((Data.Monoid.<>)
                                        (let
                                           _v
                                             = Lens.Family2.view
                                                 (Data.ProtoLens.Field.field
                                                    @"desiredNumberOfPools")
                                                 _x
                                         in
                                           if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                                               Data.Monoid.mempty
                                           else
                                               (Data.Monoid.<>)
                                                 (Data.ProtoLens.Encoding.Bytes.putVarInt 80)
                                                 (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                                        ((Data.Monoid.<>)
                                           (case
                                                Lens.Family2.view
                                                  (Data.ProtoLens.Field.field
                                                     @"maybe'poolInfluence")
                                                  _x
                                            of
                                              Prelude.Nothing -> Data.Monoid.mempty
                                              (Prelude.Just _v)
                                                -> (Data.Monoid.<>)
                                                     (Data.ProtoLens.Encoding.Bytes.putVarInt 90)
                                                     ((Prelude..)
                                                        (\ bs
                                                           -> (Data.Monoid.<>)
                                                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                   (Prelude.fromIntegral
                                                                      (Data.ByteString.length bs)))
                                                                (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                   bs))
                                                        Data.ProtoLens.encodeMessage _v))
                                           ((Data.Monoid.<>)
                                              (case
                                                   Lens.Family2.view
                                                     (Data.ProtoLens.Field.field
                                                        @"maybe'monetaryExpansion")
                                                     _x
                                               of
                                                 Prelude.Nothing -> Data.Monoid.mempty
                                                 (Prelude.Just _v)
                                                   -> (Data.Monoid.<>)
                                                        (Data.ProtoLens.Encoding.Bytes.putVarInt 98)
                                                        ((Prelude..)
                                                           (\ bs
                                                              -> (Data.Monoid.<>)
                                                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                      (Prelude.fromIntegral
                                                                         (Data.ByteString.length
                                                                            bs)))
                                                                   (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                      bs))
                                                           Data.ProtoLens.encodeMessage _v))
                                              ((Data.Monoid.<>)
                                                 (case
                                                      Lens.Family2.view
                                                        (Data.ProtoLens.Field.field
                                                           @"maybe'treasuryExpansion")
                                                        _x
                                                  of
                                                    Prelude.Nothing -> Data.Monoid.mempty
                                                    (Prelude.Just _v)
                                                      -> (Data.Monoid.<>)
                                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                              106)
                                                           ((Prelude..)
                                                              (\ bs
                                                                 -> (Data.Monoid.<>)
                                                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                         (Prelude.fromIntegral
                                                                            (Data.ByteString.length
                                                                               bs)))
                                                                      (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                         bs))
                                                              Data.ProtoLens.encodeMessage _v))
                                                 ((Data.Monoid.<>)
                                                    (let
                                                       _v
                                                         = Lens.Family2.view
                                                             (Data.ProtoLens.Field.field
                                                                @"minPoolCost")
                                                             _x
                                                     in
                                                       if (Prelude.==)
                                                            _v Data.ProtoLens.fieldDefault then
                                                           Data.Monoid.mempty
                                                       else
                                                           (Data.Monoid.<>)
                                                             (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                112)
                                                             (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                _v))
                                                    ((Data.Monoid.<>)
                                                       (case
                                                            Lens.Family2.view
                                                              (Data.ProtoLens.Field.field
                                                                 @"maybe'protocolVersion")
                                                              _x
                                                        of
                                                          Prelude.Nothing -> Data.Monoid.mempty
                                                          (Prelude.Just _v)
                                                            -> (Data.Monoid.<>)
                                                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                    122)
                                                                 ((Prelude..)
                                                                    (\ bs
                                                                       -> (Data.Monoid.<>)
                                                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                               (Prelude.fromIntegral
                                                                                  (Data.ByteString.length
                                                                                     bs)))
                                                                            (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                               bs))
                                                                    Data.ProtoLens.encodeMessage
                                                                    _v))
                                                       ((Data.Monoid.<>)
                                                          (let
                                                             _v
                                                               = Lens.Family2.view
                                                                   (Data.ProtoLens.Field.field
                                                                      @"maxValueSize")
                                                                   _x
                                                           in
                                                             if (Prelude.==)
                                                                  _v
                                                                  Data.ProtoLens.fieldDefault then
                                                                 Data.Monoid.mempty
                                                             else
                                                                 (Data.Monoid.<>)
                                                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                      128)
                                                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                      _v))
                                                          ((Data.Monoid.<>)
                                                             (let
                                                                _v
                                                                  = Lens.Family2.view
                                                                      (Data.ProtoLens.Field.field
                                                                         @"collateralPercentage")
                                                                      _x
                                                              in
                                                                if (Prelude.==)
                                                                     _v
                                                                     Data.ProtoLens.fieldDefault then
                                                                    Data.Monoid.mempty
                                                                else
                                                                    (Data.Monoid.<>)
                                                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                         136)
                                                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                         _v))
                                                             ((Data.Monoid.<>)
                                                                (let
                                                                   _v
                                                                     = Lens.Family2.view
                                                                         (Data.ProtoLens.Field.field
                                                                            @"maxCollateralInputs")
                                                                         _x
                                                                 in
                                                                   if (Prelude.==)
                                                                        _v
                                                                        Data.ProtoLens.fieldDefault then
                                                                       Data.Monoid.mempty
                                                                   else
                                                                       (Data.Monoid.<>)
                                                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                            144)
                                                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                            _v))
                                                                ((Data.Monoid.<>)
                                                                   (case
                                                                        Lens.Family2.view
                                                                          (Data.ProtoLens.Field.field
                                                                             @"maybe'costModels")
                                                                          _x
                                                                    of
                                                                      Prelude.Nothing
                                                                        -> Data.Monoid.mempty
                                                                      (Prelude.Just _v)
                                                                        -> (Data.Monoid.<>)
                                                                             (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                154)
                                                                             ((Prelude..)
                                                                                (\ bs
                                                                                   -> (Data.Monoid.<>)
                                                                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                           (Prelude.fromIntegral
                                                                                              (Data.ByteString.length
                                                                                                 bs)))
                                                                                        (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                                           bs))
                                                                                Data.ProtoLens.encodeMessage
                                                                                _v))
                                                                   ((Data.Monoid.<>)
                                                                      (case
                                                                           Lens.Family2.view
                                                                             (Data.ProtoLens.Field.field
                                                                                @"maybe'prices")
                                                                             _x
                                                                       of
                                                                         Prelude.Nothing
                                                                           -> Data.Monoid.mempty
                                                                         (Prelude.Just _v)
                                                                           -> (Data.Monoid.<>)
                                                                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                   162)
                                                                                ((Prelude..)
                                                                                   (\ bs
                                                                                      -> (Data.Monoid.<>)
                                                                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                              (Prelude.fromIntegral
                                                                                                 (Data.ByteString.length
                                                                                                    bs)))
                                                                                           (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                                              bs))
                                                                                   Data.ProtoLens.encodeMessage
                                                                                   _v))
                                                                      ((Data.Monoid.<>)
                                                                         (case
                                                                              Lens.Family2.view
                                                                                (Data.ProtoLens.Field.field
                                                                                   @"maybe'maxExecutionUnitsPerTransaction")
                                                                                _x
                                                                          of
                                                                            Prelude.Nothing
                                                                              -> Data.Monoid.mempty
                                                                            (Prelude.Just _v)
                                                                              -> (Data.Monoid.<>)
                                                                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                      170)
                                                                                   ((Prelude..)
                                                                                      (\ bs
                                                                                         -> (Data.Monoid.<>)
                                                                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                 (Prelude.fromIntegral
                                                                                                    (Data.ByteString.length
                                                                                                       bs)))
                                                                                              (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                                                 bs))
                                                                                      Data.ProtoLens.encodeMessage
                                                                                      _v))
                                                                         ((Data.Monoid.<>)
                                                                            (case
                                                                                 Lens.Family2.view
                                                                                   (Data.ProtoLens.Field.field
                                                                                      @"maybe'maxExecutionUnitsPerBlock")
                                                                                   _x
                                                                             of
                                                                               Prelude.Nothing
                                                                                 -> Data.Monoid.mempty
                                                                               (Prelude.Just _v)
                                                                                 -> (Data.Monoid.<>)
                                                                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                         178)
                                                                                      ((Prelude..)
                                                                                         (\ bs
                                                                                            -> (Data.Monoid.<>)
                                                                                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                    (Prelude.fromIntegral
                                                                                                       (Data.ByteString.length
                                                                                                          bs)))
                                                                                                 (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                                                    bs))
                                                                                         Data.ProtoLens.encodeMessage
                                                                                         _v))
                                                                            ((Data.Monoid.<>)
                                                                               (case
                                                                                    Lens.Family2.view
                                                                                      (Data.ProtoLens.Field.field
                                                                                         @"maybe'minFeeScriptRefCostPerByte")
                                                                                      _x
                                                                                of
                                                                                  Prelude.Nothing
                                                                                    -> Data.Monoid.mempty
                                                                                  (Prelude.Just _v)
                                                                                    -> (Data.Monoid.<>)
                                                                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                            186)
                                                                                         ((Prelude..)
                                                                                            (\ bs
                                                                                               -> (Data.Monoid.<>)
                                                                                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                       (Prelude.fromIntegral
                                                                                                          (Data.ByteString.length
                                                                                                             bs)))
                                                                                                    (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                                                       bs))
                                                                                            Data.ProtoLens.encodeMessage
                                                                                            _v))
                                                                               ((Data.Monoid.<>)
                                                                                  (case
                                                                                       Lens.Family2.view
                                                                                         (Data.ProtoLens.Field.field
                                                                                            @"maybe'poolVotingThresholds")
                                                                                         _x
                                                                                   of
                                                                                     Prelude.Nothing
                                                                                       -> Data.Monoid.mempty
                                                                                     (Prelude.Just _v)
                                                                                       -> (Data.Monoid.<>)
                                                                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                               194)
                                                                                            ((Prelude..)
                                                                                               (\ bs
                                                                                                  -> (Data.Monoid.<>)
                                                                                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                          (Prelude.fromIntegral
                                                                                                             (Data.ByteString.length
                                                                                                                bs)))
                                                                                                       (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                                                          bs))
                                                                                               Data.ProtoLens.encodeMessage
                                                                                               _v))
                                                                                  ((Data.Monoid.<>)
                                                                                     (case
                                                                                          Lens.Family2.view
                                                                                            (Data.ProtoLens.Field.field
                                                                                               @"maybe'drepVotingThresholds")
                                                                                            _x
                                                                                      of
                                                                                        Prelude.Nothing
                                                                                          -> Data.Monoid.mempty
                                                                                        (Prelude.Just _v)
                                                                                          -> (Data.Monoid.<>)
                                                                                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                  202)
                                                                                               ((Prelude..)
                                                                                                  (\ bs
                                                                                                     -> (Data.Monoid.<>)
                                                                                                          (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                             (Prelude.fromIntegral
                                                                                                                (Data.ByteString.length
                                                                                                                   bs)))
                                                                                                          (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                                                             bs))
                                                                                                  Data.ProtoLens.encodeMessage
                                                                                                  _v))
                                                                                     ((Data.Monoid.<>)
                                                                                        (let
                                                                                           _v
                                                                                             = Lens.Family2.view
                                                                                                 (Data.ProtoLens.Field.field
                                                                                                    @"minCommitteeSize")
                                                                                                 _x
                                                                                         in
                                                                                           if (Prelude.==)
                                                                                                _v
                                                                                                Data.ProtoLens.fieldDefault then
                                                                                               Data.Monoid.mempty
                                                                                           else
                                                                                               (Data.Monoid.<>)
                                                                                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                    208)
                                                                                                 ((Prelude..)
                                                                                                    Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                    Prelude.fromIntegral
                                                                                                    _v))
                                                                                        ((Data.Monoid.<>)
                                                                                           (let
                                                                                              _v
                                                                                                = Lens.Family2.view
                                                                                                    (Data.ProtoLens.Field.field
                                                                                                       @"committeeTermLimit")
                                                                                                    _x
                                                                                            in
                                                                                              if (Prelude.==)
                                                                                                   _v
                                                                                                   Data.ProtoLens.fieldDefault then
                                                                                                  Data.Monoid.mempty
                                                                                              else
                                                                                                  (Data.Monoid.<>)
                                                                                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                       216)
                                                                                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                       _v))
                                                                                           ((Data.Monoid.<>)
                                                                                              (let
                                                                                                 _v
                                                                                                   = Lens.Family2.view
                                                                                                       (Data.ProtoLens.Field.field
                                                                                                          @"governanceActionValidityPeriod")
                                                                                                       _x
                                                                                               in
                                                                                                 if (Prelude.==)
                                                                                                      _v
                                                                                                      Data.ProtoLens.fieldDefault then
                                                                                                     Data.Monoid.mempty
                                                                                                 else
                                                                                                     (Data.Monoid.<>)
                                                                                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                          224)
                                                                                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                          _v))
                                                                                              ((Data.Monoid.<>)
                                                                                                 (let
                                                                                                    _v
                                                                                                      = Lens.Family2.view
                                                                                                          (Data.ProtoLens.Field.field
                                                                                                             @"governanceActionDeposit")
                                                                                                          _x
                                                                                                  in
                                                                                                    if (Prelude.==)
                                                                                                         _v
                                                                                                         Data.ProtoLens.fieldDefault then
                                                                                                        Data.Monoid.mempty
                                                                                                    else
                                                                                                        (Data.Monoid.<>)
                                                                                                          (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                             232)
                                                                                                          (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                             _v))
                                                                                                 ((Data.Monoid.<>)
                                                                                                    (let
                                                                                                       _v
                                                                                                         = Lens.Family2.view
                                                                                                             (Data.ProtoLens.Field.field
                                                                                                                @"drepDeposit")
                                                                                                             _x
                                                                                                     in
                                                                                                       if (Prelude.==)
                                                                                                            _v
                                                                                                            Data.ProtoLens.fieldDefault then
                                                                                                           Data.Monoid.mempty
                                                                                                       else
                                                                                                           (Data.Monoid.<>)
                                                                                                             (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                240)
                                                                                                             (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                _v))
                                                                                                    ((Data.Monoid.<>)
                                                                                                       (let
                                                                                                          _v
                                                                                                            = Lens.Family2.view
                                                                                                                (Data.ProtoLens.Field.field
                                                                                                                   @"drepInactivityPeriod")
                                                                                                                _x
                                                                                                        in
                                                                                                          if (Prelude.==)
                                                                                                               _v
                                                                                                               Data.ProtoLens.fieldDefault then
                                                                                                              Data.Monoid.mempty
                                                                                                          else
                                                                                                              (Data.Monoid.<>)
                                                                                                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                   248)
                                                                                                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                                                                   _v))
                                                                                                       (Data.ProtoLens.Encoding.Wire.buildFieldSet
                                                                                                          (Lens.Family2.view
                                                                                                             Data.ProtoLens.unknownFields
                                                                                                             _x))))))))))))))))))))))))))))))))
instance Control.DeepSeq.NFData PParams where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_PParams'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_PParams'coinsPerUtxoByte x__)
                (Control.DeepSeq.deepseq
                   (_PParams'maxTxSize x__)
                   (Control.DeepSeq.deepseq
                      (_PParams'minFeeCoefficient x__)
                      (Control.DeepSeq.deepseq
                         (_PParams'minFeeConstant x__)
                         (Control.DeepSeq.deepseq
                            (_PParams'maxBlockBodySize x__)
                            (Control.DeepSeq.deepseq
                               (_PParams'maxBlockHeaderSize x__)
                               (Control.DeepSeq.deepseq
                                  (_PParams'stakeKeyDeposit x__)
                                  (Control.DeepSeq.deepseq
                                     (_PParams'poolDeposit x__)
                                     (Control.DeepSeq.deepseq
                                        (_PParams'poolRetirementEpochBound x__)
                                        (Control.DeepSeq.deepseq
                                           (_PParams'desiredNumberOfPools x__)
                                           (Control.DeepSeq.deepseq
                                              (_PParams'poolInfluence x__)
                                              (Control.DeepSeq.deepseq
                                                 (_PParams'monetaryExpansion x__)
                                                 (Control.DeepSeq.deepseq
                                                    (_PParams'treasuryExpansion x__)
                                                    (Control.DeepSeq.deepseq
                                                       (_PParams'minPoolCost x__)
                                                       (Control.DeepSeq.deepseq
                                                          (_PParams'protocolVersion x__)
                                                          (Control.DeepSeq.deepseq
                                                             (_PParams'maxValueSize x__)
                                                             (Control.DeepSeq.deepseq
                                                                (_PParams'collateralPercentage x__)
                                                                (Control.DeepSeq.deepseq
                                                                   (_PParams'maxCollateralInputs
                                                                      x__)
                                                                   (Control.DeepSeq.deepseq
                                                                      (_PParams'costModels x__)
                                                                      (Control.DeepSeq.deepseq
                                                                         (_PParams'prices x__)
                                                                         (Control.DeepSeq.deepseq
                                                                            (_PParams'maxExecutionUnitsPerTransaction
                                                                               x__)
                                                                            (Control.DeepSeq.deepseq
                                                                               (_PParams'maxExecutionUnitsPerBlock
                                                                                  x__)
                                                                               (Control.DeepSeq.deepseq
                                                                                  (_PParams'minFeeScriptRefCostPerByte
                                                                                     x__)
                                                                                  (Control.DeepSeq.deepseq
                                                                                     (_PParams'poolVotingThresholds
                                                                                        x__)
                                                                                     (Control.DeepSeq.deepseq
                                                                                        (_PParams'drepVotingThresholds
                                                                                           x__)
                                                                                        (Control.DeepSeq.deepseq
                                                                                           (_PParams'minCommitteeSize
                                                                                              x__)
                                                                                           (Control.DeepSeq.deepseq
                                                                                              (_PParams'committeeTermLimit
                                                                                                 x__)
                                                                                              (Control.DeepSeq.deepseq
                                                                                                 (_PParams'governanceActionValidityPeriod
                                                                                                    x__)
                                                                                                 (Control.DeepSeq.deepseq
                                                                                                    (_PParams'governanceActionDeposit
                                                                                                       x__)
                                                                                                    (Control.DeepSeq.deepseq
                                                                                                       (_PParams'drepDeposit
                                                                                                          x__)
                                                                                                       (Control.DeepSeq.deepseq
                                                                                                          (_PParams'drepInactivityPeriod
                                                                                                             x__)
                                                                                                          ())))))))))))))))))))))))))))))))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.govActionId' @:: Lens' ParameterChangeAction GovernanceActionId@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'govActionId' @:: Lens' ParameterChangeAction (Prelude.Maybe GovernanceActionId)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.protocolParamUpdate' @:: Lens' ParameterChangeAction PParams@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'protocolParamUpdate' @:: Lens' ParameterChangeAction (Prelude.Maybe PParams)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.policyHash' @:: Lens' ParameterChangeAction Data.ByteString.ByteString@ -}
data ParameterChangeAction
  = ParameterChangeAction'_constructor {_ParameterChangeAction'govActionId :: !(Prelude.Maybe GovernanceActionId),
                                        _ParameterChangeAction'protocolParamUpdate :: !(Prelude.Maybe PParams),
                                        _ParameterChangeAction'policyHash :: !Data.ByteString.ByteString,
                                        _ParameterChangeAction'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show ParameterChangeAction where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField ParameterChangeAction "govActionId" GovernanceActionId where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ParameterChangeAction'govActionId
           (\ x__ y__ -> x__ {_ParameterChangeAction'govActionId = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField ParameterChangeAction "maybe'govActionId" (Prelude.Maybe GovernanceActionId) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ParameterChangeAction'govActionId
           (\ x__ y__ -> x__ {_ParameterChangeAction'govActionId = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField ParameterChangeAction "protocolParamUpdate" PParams where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ParameterChangeAction'protocolParamUpdate
           (\ x__ y__
              -> x__ {_ParameterChangeAction'protocolParamUpdate = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField ParameterChangeAction "maybe'protocolParamUpdate" (Prelude.Maybe PParams) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ParameterChangeAction'protocolParamUpdate
           (\ x__ y__
              -> x__ {_ParameterChangeAction'protocolParamUpdate = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField ParameterChangeAction "policyHash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ParameterChangeAction'policyHash
           (\ x__ y__ -> x__ {_ParameterChangeAction'policyHash = y__}))
        Prelude.id
instance Data.ProtoLens.Message ParameterChangeAction where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.ParameterChangeAction"
  packedMessageDescriptor _
    = "\n\
      \\NAKParameterChangeAction\DC2O\n\
      \\rgov_action_id\CAN\SOH \SOH(\v2+.utxorpc.v1alpha.cardano.GovernanceActionIdR\vgovActionId\DC2T\n\
      \\NAKprotocol_param_update\CAN\STX \SOH(\v2 .utxorpc.v1alpha.cardano.PParamsR\DC3protocolParamUpdate\DC2\US\n\
      \\vpolicy_hash\CAN\ETX \SOH(\fR\n\
      \policyHash"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        govActionId__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "gov_action_id"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor GovernanceActionId)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'govActionId")) ::
              Data.ProtoLens.FieldDescriptor ParameterChangeAction
        protocolParamUpdate__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "protocol_param_update"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PParams)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'protocolParamUpdate")) ::
              Data.ProtoLens.FieldDescriptor ParameterChangeAction
        policyHash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "policy_hash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"policyHash")) ::
              Data.ProtoLens.FieldDescriptor ParameterChangeAction
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, govActionId__field_descriptor),
           (Data.ProtoLens.Tag 2, protocolParamUpdate__field_descriptor),
           (Data.ProtoLens.Tag 3, policyHash__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _ParameterChangeAction'_unknownFields
        (\ x__ y__ -> x__ {_ParameterChangeAction'_unknownFields = y__})
  defMessage
    = ParameterChangeAction'_constructor
        {_ParameterChangeAction'govActionId = Prelude.Nothing,
         _ParameterChangeAction'protocolParamUpdate = Prelude.Nothing,
         _ParameterChangeAction'policyHash = Data.ProtoLens.fieldDefault,
         _ParameterChangeAction'_unknownFields = []}
  parseMessage
    = let
        loop ::
          ParameterChangeAction
          -> Data.ProtoLens.Encoding.Bytes.Parser ParameterChangeAction
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "gov_action_id"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"govActionId") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "protocol_param_update"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"protocolParamUpdate") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "policy_hash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"policyHash") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "ParameterChangeAction"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'govActionId") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view
                       (Data.ProtoLens.Field.field @"maybe'protocolParamUpdate") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                ((Data.Monoid.<>)
                   (let
                      _v
                        = Lens.Family2.view (Data.ProtoLens.Field.field @"policyHash") _x
                    in
                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                          Data.Monoid.mempty
                      else
                          (Data.Monoid.<>)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                            ((\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                               _v))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData ParameterChangeAction where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_ParameterChangeAction'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_ParameterChangeAction'govActionId x__)
                (Control.DeepSeq.deepseq
                   (_ParameterChangeAction'protocolParamUpdate x__)
                   (Control.DeepSeq.deepseq
                      (_ParameterChangeAction'policyHash x__) ())))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'plutusData' @:: Lens' PlutusData (Prelude.Maybe PlutusData'PlutusData)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'constr' @:: Lens' PlutusData (Prelude.Maybe Constr)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.constr' @:: Lens' PlutusData Constr@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'map' @:: Lens' PlutusData (Prelude.Maybe PlutusDataMap)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.map' @:: Lens' PlutusData PlutusDataMap@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'bigInt' @:: Lens' PlutusData (Prelude.Maybe BigInt)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.bigInt' @:: Lens' PlutusData BigInt@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'boundedBytes' @:: Lens' PlutusData (Prelude.Maybe Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.boundedBytes' @:: Lens' PlutusData Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'array' @:: Lens' PlutusData (Prelude.Maybe PlutusDataArray)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.array' @:: Lens' PlutusData PlutusDataArray@ -}
data PlutusData
  = PlutusData'_constructor {_PlutusData'plutusData :: !(Prelude.Maybe PlutusData'PlutusData),
                             _PlutusData'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show PlutusData where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
data PlutusData'PlutusData
  = PlutusData'Constr !Constr |
    PlutusData'Map !PlutusDataMap |
    PlutusData'BigInt !BigInt |
    PlutusData'BoundedBytes !Data.ByteString.ByteString |
    PlutusData'Array !PlutusDataArray
  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
instance Data.ProtoLens.Field.HasField PlutusData "maybe'plutusData" (Prelude.Maybe PlutusData'PlutusData) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusData'plutusData
           (\ x__ y__ -> x__ {_PlutusData'plutusData = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PlutusData "maybe'constr" (Prelude.Maybe Constr) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusData'plutusData
           (\ x__ y__ -> x__ {_PlutusData'plutusData = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (PlutusData'Constr x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap PlutusData'Constr y__))
instance Data.ProtoLens.Field.HasField PlutusData "constr" Constr where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusData'plutusData
           (\ x__ y__ -> x__ {_PlutusData'plutusData = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (PlutusData'Constr x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap PlutusData'Constr y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField PlutusData "maybe'map" (Prelude.Maybe PlutusDataMap) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusData'plutusData
           (\ x__ y__ -> x__ {_PlutusData'plutusData = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (PlutusData'Map x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap PlutusData'Map y__))
instance Data.ProtoLens.Field.HasField PlutusData "map" PlutusDataMap where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusData'plutusData
           (\ x__ y__ -> x__ {_PlutusData'plutusData = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (PlutusData'Map x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap PlutusData'Map y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField PlutusData "maybe'bigInt" (Prelude.Maybe BigInt) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusData'plutusData
           (\ x__ y__ -> x__ {_PlutusData'plutusData = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (PlutusData'BigInt x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap PlutusData'BigInt y__))
instance Data.ProtoLens.Field.HasField PlutusData "bigInt" BigInt where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusData'plutusData
           (\ x__ y__ -> x__ {_PlutusData'plutusData = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (PlutusData'BigInt x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap PlutusData'BigInt y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField PlutusData "maybe'boundedBytes" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusData'plutusData
           (\ x__ y__ -> x__ {_PlutusData'plutusData = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (PlutusData'BoundedBytes x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap PlutusData'BoundedBytes y__))
instance Data.ProtoLens.Field.HasField PlutusData "boundedBytes" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusData'plutusData
           (\ x__ y__ -> x__ {_PlutusData'plutusData = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (PlutusData'BoundedBytes x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap PlutusData'BoundedBytes y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Field.HasField PlutusData "maybe'array" (Prelude.Maybe PlutusDataArray) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusData'plutusData
           (\ x__ y__ -> x__ {_PlutusData'plutusData = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (PlutusData'Array x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap PlutusData'Array y__))
instance Data.ProtoLens.Field.HasField PlutusData "array" PlutusDataArray where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusData'plutusData
           (\ x__ y__ -> x__ {_PlutusData'plutusData = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (PlutusData'Array x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap PlutusData'Array y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Message PlutusData where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.PlutusData"
  packedMessageDescriptor _
    = "\n\
      \\n\
      \PlutusData\DC29\n\
      \\ACKconstr\CAN\STX \SOH(\v2\US.utxorpc.v1alpha.cardano.ConstrH\NULR\ACKconstr\DC2:\n\
      \\ETXmap\CAN\ETX \SOH(\v2&.utxorpc.v1alpha.cardano.PlutusDataMapH\NULR\ETXmap\DC2:\n\
      \\abig_int\CAN\EOT \SOH(\v2\US.utxorpc.v1alpha.cardano.BigIntH\NULR\ACKbigInt\DC2%\n\
      \\rbounded_bytes\CAN\ENQ \SOH(\fH\NULR\fboundedBytes\DC2@\n\
      \\ENQarray\CAN\ACK \SOH(\v2(.utxorpc.v1alpha.cardano.PlutusDataArrayH\NULR\ENQarrayB\r\n\
      \\vplutus_data"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        constr__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "constr"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Constr)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'constr")) ::
              Data.ProtoLens.FieldDescriptor PlutusData
        map__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "map"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PlutusDataMap)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'map")) ::
              Data.ProtoLens.FieldDescriptor PlutusData
        bigInt__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "big_int"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor BigInt)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'bigInt")) ::
              Data.ProtoLens.FieldDescriptor PlutusData
        boundedBytes__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "bounded_bytes"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'boundedBytes")) ::
              Data.ProtoLens.FieldDescriptor PlutusData
        array__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "array"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PlutusDataArray)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'array")) ::
              Data.ProtoLens.FieldDescriptor PlutusData
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 2, constr__field_descriptor),
           (Data.ProtoLens.Tag 3, map__field_descriptor),
           (Data.ProtoLens.Tag 4, bigInt__field_descriptor),
           (Data.ProtoLens.Tag 5, boundedBytes__field_descriptor),
           (Data.ProtoLens.Tag 6, array__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _PlutusData'_unknownFields
        (\ x__ y__ -> x__ {_PlutusData'_unknownFields = y__})
  defMessage
    = PlutusData'_constructor
        {_PlutusData'plutusData = Prelude.Nothing,
         _PlutusData'_unknownFields = []}
  parseMessage
    = let
        loop ::
          PlutusData -> Data.ProtoLens.Encoding.Bytes.Parser PlutusData
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "constr"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"constr") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "map"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"map") y x)
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "big_int"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"bigInt") y x)
                        42
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "bounded_bytes"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"boundedBytes") y x)
                        50
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "array"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"array") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "PlutusData"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'plutusData") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just (PlutusData'Constr v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (PlutusData'Map v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (PlutusData'BigInt v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (PlutusData'BoundedBytes v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
                       ((\ bs
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
                                (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          v)
                (Prelude.Just (PlutusData'Array v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 50)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData PlutusData where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_PlutusData'_unknownFields x__)
             (Control.DeepSeq.deepseq (_PlutusData'plutusData x__) ())
instance Control.DeepSeq.NFData PlutusData'PlutusData where
  rnf (PlutusData'Constr x__) = Control.DeepSeq.rnf x__
  rnf (PlutusData'Map x__) = Control.DeepSeq.rnf x__
  rnf (PlutusData'BigInt x__) = Control.DeepSeq.rnf x__
  rnf (PlutusData'BoundedBytes x__) = Control.DeepSeq.rnf x__
  rnf (PlutusData'Array x__) = Control.DeepSeq.rnf x__
_PlutusData'Constr ::
  Data.ProtoLens.Prism.Prism' PlutusData'PlutusData Constr
_PlutusData'Constr
  = Data.ProtoLens.Prism.prism'
      PlutusData'Constr
      (\ p__
         -> case p__ of
              (PlutusData'Constr p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_PlutusData'Map ::
  Data.ProtoLens.Prism.Prism' PlutusData'PlutusData PlutusDataMap
_PlutusData'Map
  = Data.ProtoLens.Prism.prism'
      PlutusData'Map
      (\ p__
         -> case p__ of
              (PlutusData'Map p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_PlutusData'BigInt ::
  Data.ProtoLens.Prism.Prism' PlutusData'PlutusData BigInt
_PlutusData'BigInt
  = Data.ProtoLens.Prism.prism'
      PlutusData'BigInt
      (\ p__
         -> case p__ of
              (PlutusData'BigInt p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_PlutusData'BoundedBytes ::
  Data.ProtoLens.Prism.Prism' PlutusData'PlutusData Data.ByteString.ByteString
_PlutusData'BoundedBytes
  = Data.ProtoLens.Prism.prism'
      PlutusData'BoundedBytes
      (\ p__
         -> case p__ of
              (PlutusData'BoundedBytes p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_PlutusData'Array ::
  Data.ProtoLens.Prism.Prism' PlutusData'PlutusData PlutusDataArray
_PlutusData'Array
  = Data.ProtoLens.Prism.prism'
      PlutusData'Array
      (\ p__
         -> case p__ of
              (PlutusData'Array p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.items' @:: Lens' PlutusDataArray [PlutusData]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'items' @:: Lens' PlutusDataArray (Data.Vector.Vector PlutusData)@ -}
data PlutusDataArray
  = PlutusDataArray'_constructor {_PlutusDataArray'items :: !(Data.Vector.Vector PlutusData),
                                  _PlutusDataArray'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show PlutusDataArray where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField PlutusDataArray "items" [PlutusData] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusDataArray'items
           (\ x__ y__ -> x__ {_PlutusDataArray'items = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField PlutusDataArray "vec'items" (Data.Vector.Vector PlutusData) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusDataArray'items
           (\ x__ y__ -> x__ {_PlutusDataArray'items = y__}))
        Prelude.id
instance Data.ProtoLens.Message PlutusDataArray where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.PlutusDataArray"
  packedMessageDescriptor _
    = "\n\
      \\SIPlutusDataArray\DC29\n\
      \\ENQitems\CAN\SOH \ETX(\v2#.utxorpc.v1alpha.cardano.PlutusDataR\ENQitems"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        items__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "items"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PlutusData)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"items")) ::
              Data.ProtoLens.FieldDescriptor PlutusDataArray
      in
        Data.Map.fromList [(Data.ProtoLens.Tag 1, items__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _PlutusDataArray'_unknownFields
        (\ x__ y__ -> x__ {_PlutusDataArray'_unknownFields = y__})
  defMessage
    = PlutusDataArray'_constructor
        {_PlutusDataArray'items = Data.Vector.Generic.empty,
         _PlutusDataArray'_unknownFields = []}
  parseMessage
    = let
        loop ::
          PlutusDataArray
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld PlutusData
             -> Data.ProtoLens.Encoding.Bytes.Parser PlutusDataArray
        loop x mutable'items
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'items <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                        (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'items)
                      (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'items") frozen'items x))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "items"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'items y)
                                loop x v
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
                                  mutable'items
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'items <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                 Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'items)
          "PlutusDataArray"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                (\ _v
                   -> (Data.Monoid.<>)
                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                        ((Prelude..)
                           (\ bs
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                           Data.ProtoLens.encodeMessage _v))
                (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'items") _x))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData PlutusDataArray where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_PlutusDataArray'_unknownFields x__)
             (Control.DeepSeq.deepseq (_PlutusDataArray'items x__) ())
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.pairs' @:: Lens' PlutusDataMap [PlutusDataPair]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'pairs' @:: Lens' PlutusDataMap (Data.Vector.Vector PlutusDataPair)@ -}
data PlutusDataMap
  = PlutusDataMap'_constructor {_PlutusDataMap'pairs :: !(Data.Vector.Vector PlutusDataPair),
                                _PlutusDataMap'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show PlutusDataMap where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField PlutusDataMap "pairs" [PlutusDataPair] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusDataMap'pairs
           (\ x__ y__ -> x__ {_PlutusDataMap'pairs = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField PlutusDataMap "vec'pairs" (Data.Vector.Vector PlutusDataPair) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusDataMap'pairs
           (\ x__ y__ -> x__ {_PlutusDataMap'pairs = y__}))
        Prelude.id
instance Data.ProtoLens.Message PlutusDataMap where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.PlutusDataMap"
  packedMessageDescriptor _
    = "\n\
      \\rPlutusDataMap\DC2=\n\
      \\ENQpairs\CAN\SOH \ETX(\v2'.utxorpc.v1alpha.cardano.PlutusDataPairR\ENQpairs"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        pairs__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pairs"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PlutusDataPair)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"pairs")) ::
              Data.ProtoLens.FieldDescriptor PlutusDataMap
      in
        Data.Map.fromList [(Data.ProtoLens.Tag 1, pairs__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _PlutusDataMap'_unknownFields
        (\ x__ y__ -> x__ {_PlutusDataMap'_unknownFields = y__})
  defMessage
    = PlutusDataMap'_constructor
        {_PlutusDataMap'pairs = Data.Vector.Generic.empty,
         _PlutusDataMap'_unknownFields = []}
  parseMessage
    = let
        loop ::
          PlutusDataMap
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld PlutusDataPair
             -> Data.ProtoLens.Encoding.Bytes.Parser PlutusDataMap
        loop x mutable'pairs
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'pairs <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                        (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'pairs)
                      (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'pairs") frozen'pairs x))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "pairs"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'pairs y)
                                loop x v
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
                                  mutable'pairs
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'pairs <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                 Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'pairs)
          "PlutusDataMap"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                (\ _v
                   -> (Data.Monoid.<>)
                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                        ((Prelude..)
                           (\ bs
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                           Data.ProtoLens.encodeMessage _v))
                (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'pairs") _x))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData PlutusDataMap where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_PlutusDataMap'_unknownFields x__)
             (Control.DeepSeq.deepseq (_PlutusDataMap'pairs x__) ())
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.key' @:: Lens' PlutusDataPair PlutusData@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'key' @:: Lens' PlutusDataPair (Prelude.Maybe PlutusData)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.value' @:: Lens' PlutusDataPair PlutusData@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'value' @:: Lens' PlutusDataPair (Prelude.Maybe PlutusData)@ -}
data PlutusDataPair
  = PlutusDataPair'_constructor {_PlutusDataPair'key :: !(Prelude.Maybe PlutusData),
                                 _PlutusDataPair'value :: !(Prelude.Maybe PlutusData),
                                 _PlutusDataPair'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show PlutusDataPair where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField PlutusDataPair "key" PlutusData where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusDataPair'key (\ x__ y__ -> x__ {_PlutusDataPair'key = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PlutusDataPair "maybe'key" (Prelude.Maybe PlutusData) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusDataPair'key (\ x__ y__ -> x__ {_PlutusDataPair'key = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PlutusDataPair "value" PlutusData where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusDataPair'value
           (\ x__ y__ -> x__ {_PlutusDataPair'value = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PlutusDataPair "maybe'value" (Prelude.Maybe PlutusData) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PlutusDataPair'value
           (\ x__ y__ -> x__ {_PlutusDataPair'value = y__}))
        Prelude.id
instance Data.ProtoLens.Message PlutusDataPair where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.PlutusDataPair"
  packedMessageDescriptor _
    = "\n\
      \\SOPlutusDataPair\DC25\n\
      \\ETXkey\CAN\SOH \SOH(\v2#.utxorpc.v1alpha.cardano.PlutusDataR\ETXkey\DC29\n\
      \\ENQvalue\CAN\STX \SOH(\v2#.utxorpc.v1alpha.cardano.PlutusDataR\ENQvalue"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        key__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "key"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PlutusData)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'key")) ::
              Data.ProtoLens.FieldDescriptor PlutusDataPair
        value__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "value"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PlutusData)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'value")) ::
              Data.ProtoLens.FieldDescriptor PlutusDataPair
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, key__field_descriptor),
           (Data.ProtoLens.Tag 2, value__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _PlutusDataPair'_unknownFields
        (\ x__ y__ -> x__ {_PlutusDataPair'_unknownFields = y__})
  defMessage
    = PlutusDataPair'_constructor
        {_PlutusDataPair'key = Prelude.Nothing,
         _PlutusDataPair'value = Prelude.Nothing,
         _PlutusDataPair'_unknownFields = []}
  parseMessage
    = let
        loop ::
          PlutusDataPair
          -> Data.ProtoLens.Encoding.Bytes.Parser PlutusDataPair
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "key"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"key") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "value"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"value") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "PlutusDataPair"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'key") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'value") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData PlutusDataPair where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_PlutusDataPair'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_PlutusDataPair'key x__)
                (Control.DeepSeq.deepseq (_PlutusDataPair'value x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.url' @:: Lens' PoolMetadata Data.Text.Text@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.hash' @:: Lens' PoolMetadata Data.ByteString.ByteString@ -}
data PoolMetadata
  = PoolMetadata'_constructor {_PoolMetadata'url :: !Data.Text.Text,
                               _PoolMetadata'hash :: !Data.ByteString.ByteString,
                               _PoolMetadata'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show PoolMetadata where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField PoolMetadata "url" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolMetadata'url (\ x__ y__ -> x__ {_PoolMetadata'url = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PoolMetadata "hash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolMetadata'hash (\ x__ y__ -> x__ {_PoolMetadata'hash = y__}))
        Prelude.id
instance Data.ProtoLens.Message PoolMetadata where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.PoolMetadata"
  packedMessageDescriptor _
    = "\n\
      \\fPoolMetadata\DC2\DLE\n\
      \\ETXurl\CAN\SOH \SOH(\tR\ETXurl\DC2\DC2\n\
      \\EOThash\CAN\STX \SOH(\fR\EOThash"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        url__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "url"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"url")) ::
              Data.ProtoLens.FieldDescriptor PoolMetadata
        hash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "hash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"hash")) ::
              Data.ProtoLens.FieldDescriptor PoolMetadata
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, url__field_descriptor),
           (Data.ProtoLens.Tag 2, hash__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _PoolMetadata'_unknownFields
        (\ x__ y__ -> x__ {_PoolMetadata'_unknownFields = y__})
  defMessage
    = PoolMetadata'_constructor
        {_PoolMetadata'url = Data.ProtoLens.fieldDefault,
         _PoolMetadata'hash = Data.ProtoLens.fieldDefault,
         _PoolMetadata'_unknownFields = []}
  parseMessage
    = let
        loop ::
          PoolMetadata -> Data.ProtoLens.Encoding.Bytes.Parser PoolMetadata
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "url"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"url") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "hash"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"hash") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "PoolMetadata"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"url") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((Prelude..)
                         (\ bs
                            -> (Data.Monoid.<>)
                                 (Data.ProtoLens.Encoding.Bytes.putVarInt
                                    (Prelude.fromIntegral (Data.ByteString.length bs)))
                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         Data.Text.Encoding.encodeUtf8 _v))
             ((Data.Monoid.<>)
                (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"hash") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData PoolMetadata where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_PoolMetadata'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_PoolMetadata'url x__)
                (Control.DeepSeq.deepseq (_PoolMetadata'hash x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.operator' @:: Lens' PoolRegistrationCert Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vrfKeyhash' @:: Lens' PoolRegistrationCert Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.pledge' @:: Lens' PoolRegistrationCert Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.cost' @:: Lens' PoolRegistrationCert Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.margin' @:: Lens' PoolRegistrationCert RationalNumber@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'margin' @:: Lens' PoolRegistrationCert (Prelude.Maybe RationalNumber)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.rewardAccount' @:: Lens' PoolRegistrationCert Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.poolOwners' @:: Lens' PoolRegistrationCert [Data.ByteString.ByteString]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'poolOwners' @:: Lens' PoolRegistrationCert (Data.Vector.Vector Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.relays' @:: Lens' PoolRegistrationCert [Relay]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'relays' @:: Lens' PoolRegistrationCert (Data.Vector.Vector Relay)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.poolMetadata' @:: Lens' PoolRegistrationCert PoolMetadata@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'poolMetadata' @:: Lens' PoolRegistrationCert (Prelude.Maybe PoolMetadata)@ -}
data PoolRegistrationCert
  = PoolRegistrationCert'_constructor {_PoolRegistrationCert'operator :: !Data.ByteString.ByteString,
                                       _PoolRegistrationCert'vrfKeyhash :: !Data.ByteString.ByteString,
                                       _PoolRegistrationCert'pledge :: !Data.Word.Word64,
                                       _PoolRegistrationCert'cost :: !Data.Word.Word64,
                                       _PoolRegistrationCert'margin :: !(Prelude.Maybe RationalNumber),
                                       _PoolRegistrationCert'rewardAccount :: !Data.ByteString.ByteString,
                                       _PoolRegistrationCert'poolOwners :: !(Data.Vector.Vector Data.ByteString.ByteString),
                                       _PoolRegistrationCert'relays :: !(Data.Vector.Vector Relay),
                                       _PoolRegistrationCert'poolMetadata :: !(Prelude.Maybe PoolMetadata),
                                       _PoolRegistrationCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show PoolRegistrationCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField PoolRegistrationCert "operator" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRegistrationCert'operator
           (\ x__ y__ -> x__ {_PoolRegistrationCert'operator = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PoolRegistrationCert "vrfKeyhash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRegistrationCert'vrfKeyhash
           (\ x__ y__ -> x__ {_PoolRegistrationCert'vrfKeyhash = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PoolRegistrationCert "pledge" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRegistrationCert'pledge
           (\ x__ y__ -> x__ {_PoolRegistrationCert'pledge = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PoolRegistrationCert "cost" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRegistrationCert'cost
           (\ x__ y__ -> x__ {_PoolRegistrationCert'cost = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PoolRegistrationCert "margin" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRegistrationCert'margin
           (\ x__ y__ -> x__ {_PoolRegistrationCert'margin = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PoolRegistrationCert "maybe'margin" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRegistrationCert'margin
           (\ x__ y__ -> x__ {_PoolRegistrationCert'margin = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PoolRegistrationCert "rewardAccount" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRegistrationCert'rewardAccount
           (\ x__ y__ -> x__ {_PoolRegistrationCert'rewardAccount = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PoolRegistrationCert "poolOwners" [Data.ByteString.ByteString] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRegistrationCert'poolOwners
           (\ x__ y__ -> x__ {_PoolRegistrationCert'poolOwners = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField PoolRegistrationCert "vec'poolOwners" (Data.Vector.Vector Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRegistrationCert'poolOwners
           (\ x__ y__ -> x__ {_PoolRegistrationCert'poolOwners = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PoolRegistrationCert "relays" [Relay] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRegistrationCert'relays
           (\ x__ y__ -> x__ {_PoolRegistrationCert'relays = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField PoolRegistrationCert "vec'relays" (Data.Vector.Vector Relay) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRegistrationCert'relays
           (\ x__ y__ -> x__ {_PoolRegistrationCert'relays = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PoolRegistrationCert "poolMetadata" PoolMetadata where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRegistrationCert'poolMetadata
           (\ x__ y__ -> x__ {_PoolRegistrationCert'poolMetadata = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField PoolRegistrationCert "maybe'poolMetadata" (Prelude.Maybe PoolMetadata) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRegistrationCert'poolMetadata
           (\ x__ y__ -> x__ {_PoolRegistrationCert'poolMetadata = y__}))
        Prelude.id
instance Data.ProtoLens.Message PoolRegistrationCert where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.PoolRegistrationCert"
  packedMessageDescriptor _
    = "\n\
      \\DC4PoolRegistrationCert\DC2\SUB\n\
      \\boperator\CAN\SOH \SOH(\fR\boperator\DC2\US\n\
      \\vvrf_keyhash\CAN\STX \SOH(\fR\n\
      \vrfKeyhash\DC2\SYN\n\
      \\ACKpledge\CAN\ETX \SOH(\EOTR\ACKpledge\DC2\DC2\n\
      \\EOTcost\CAN\EOT \SOH(\EOTR\EOTcost\DC2?\n\
      \\ACKmargin\CAN\ENQ \SOH(\v2'.utxorpc.v1alpha.cardano.RationalNumberR\ACKmargin\DC2%\n\
      \\SOreward_account\CAN\ACK \SOH(\fR\rrewardAccount\DC2\US\n\
      \\vpool_owners\CAN\a \ETX(\fR\n\
      \poolOwners\DC26\n\
      \\ACKrelays\CAN\b \ETX(\v2\RS.utxorpc.v1alpha.cardano.RelayR\ACKrelays\DC2J\n\
      \\rpool_metadata\CAN\t \SOH(\v2%.utxorpc.v1alpha.cardano.PoolMetadataR\fpoolMetadata"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        operator__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "operator"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"operator")) ::
              Data.ProtoLens.FieldDescriptor PoolRegistrationCert
        vrfKeyhash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "vrf_keyhash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"vrfKeyhash")) ::
              Data.ProtoLens.FieldDescriptor PoolRegistrationCert
        pledge__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pledge"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"pledge")) ::
              Data.ProtoLens.FieldDescriptor PoolRegistrationCert
        cost__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "cost"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"cost")) ::
              Data.ProtoLens.FieldDescriptor PoolRegistrationCert
        margin__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "margin"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'margin")) ::
              Data.ProtoLens.FieldDescriptor PoolRegistrationCert
        rewardAccount__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "reward_account"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"rewardAccount")) ::
              Data.ProtoLens.FieldDescriptor PoolRegistrationCert
        poolOwners__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pool_owners"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked
                 (Data.ProtoLens.Field.field @"poolOwners")) ::
              Data.ProtoLens.FieldDescriptor PoolRegistrationCert
        relays__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "relays"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Relay)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"relays")) ::
              Data.ProtoLens.FieldDescriptor PoolRegistrationCert
        poolMetadata__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pool_metadata"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PoolMetadata)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'poolMetadata")) ::
              Data.ProtoLens.FieldDescriptor PoolRegistrationCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, operator__field_descriptor),
           (Data.ProtoLens.Tag 2, vrfKeyhash__field_descriptor),
           (Data.ProtoLens.Tag 3, pledge__field_descriptor),
           (Data.ProtoLens.Tag 4, cost__field_descriptor),
           (Data.ProtoLens.Tag 5, margin__field_descriptor),
           (Data.ProtoLens.Tag 6, rewardAccount__field_descriptor),
           (Data.ProtoLens.Tag 7, poolOwners__field_descriptor),
           (Data.ProtoLens.Tag 8, relays__field_descriptor),
           (Data.ProtoLens.Tag 9, poolMetadata__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _PoolRegistrationCert'_unknownFields
        (\ x__ y__ -> x__ {_PoolRegistrationCert'_unknownFields = y__})
  defMessage
    = PoolRegistrationCert'_constructor
        {_PoolRegistrationCert'operator = Data.ProtoLens.fieldDefault,
         _PoolRegistrationCert'vrfKeyhash = Data.ProtoLens.fieldDefault,
         _PoolRegistrationCert'pledge = Data.ProtoLens.fieldDefault,
         _PoolRegistrationCert'cost = Data.ProtoLens.fieldDefault,
         _PoolRegistrationCert'margin = Prelude.Nothing,
         _PoolRegistrationCert'rewardAccount = Data.ProtoLens.fieldDefault,
         _PoolRegistrationCert'poolOwners = Data.Vector.Generic.empty,
         _PoolRegistrationCert'relays = Data.Vector.Generic.empty,
         _PoolRegistrationCert'poolMetadata = Prelude.Nothing,
         _PoolRegistrationCert'_unknownFields = []}
  parseMessage
    = let
        loop ::
          PoolRegistrationCert
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.ByteString.ByteString
             -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Relay
                -> Data.ProtoLens.Encoding.Bytes.Parser PoolRegistrationCert
        loop x mutable'poolOwners mutable'relays
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'poolOwners <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                                mutable'poolOwners)
                      frozen'relays <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                         (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                            mutable'relays)
                      (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'poolOwners") frozen'poolOwners
                              (Lens.Family2.set
                                 (Data.ProtoLens.Field.field @"vec'relays") frozen'relays x)))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "operator"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"operator") y x)
                                  mutable'poolOwners mutable'relays
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "vrf_keyhash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"vrfKeyhash") y x)
                                  mutable'poolOwners mutable'relays
                        24
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "pledge"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"pledge") y x)
                                  mutable'poolOwners mutable'relays
                        32
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "cost"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"cost") y x)
                                  mutable'poolOwners mutable'relays
                        42
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "margin"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"margin") y x)
                                  mutable'poolOwners mutable'relays
                        50
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "reward_account"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"rewardAccount") y x)
                                  mutable'poolOwners mutable'relays
                        58
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.getBytes
                                              (Prelude.fromIntegral len))
                                        "pool_owners"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'poolOwners y)
                                loop x v mutable'relays
                        66
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "relays"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'relays y)
                                loop x mutable'poolOwners v
                        74
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "pool_metadata"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"poolMetadata") y x)
                                  mutable'poolOwners mutable'relays
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
                                  mutable'poolOwners mutable'relays
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'poolOwners <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                      Data.ProtoLens.Encoding.Growing.new
              mutable'relays <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                  Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'poolOwners mutable'relays)
          "PoolRegistrationCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"operator") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view (Data.ProtoLens.Field.field @"vrfKeyhash") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                ((Data.Monoid.<>)
                   (let
                      _v = Lens.Family2.view (Data.ProtoLens.Field.field @"pledge") _x
                    in
                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                          Data.Monoid.mempty
                      else
                          (Data.Monoid.<>)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                   ((Data.Monoid.<>)
                      (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"cost") _x
                       in
                         if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                             Data.Monoid.mempty
                         else
                             (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt 32)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                      ((Data.Monoid.<>)
                         (case
                              Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'margin") _x
                          of
                            Prelude.Nothing -> Data.Monoid.mempty
                            (Prelude.Just _v)
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
                                   ((Prelude..)
                                      (\ bs
                                         -> (Data.Monoid.<>)
                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
                                              (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                      Data.ProtoLens.encodeMessage _v))
                         ((Data.Monoid.<>)
                            (let
                               _v
                                 = Lens.Family2.view
                                     (Data.ProtoLens.Field.field @"rewardAccount") _x
                             in
                               if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                                   Data.Monoid.mempty
                               else
                                   (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt 50)
                                     ((\ bs
                                         -> (Data.Monoid.<>)
                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
                                              (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                        _v))
                            ((Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                                  (\ _v
                                     -> (Data.Monoid.<>)
                                          (Data.ProtoLens.Encoding.Bytes.putVarInt 58)
                                          ((\ bs
                                              -> (Data.Monoid.<>)
                                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                      (Prelude.fromIntegral
                                                         (Data.ByteString.length bs)))
                                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                             _v))
                                  (Lens.Family2.view
                                     (Data.ProtoLens.Field.field @"vec'poolOwners") _x))
                               ((Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                                     (\ _v
                                        -> (Data.Monoid.<>)
                                             (Data.ProtoLens.Encoding.Bytes.putVarInt 66)
                                             ((Prelude..)
                                                (\ bs
                                                   -> (Data.Monoid.<>)
                                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                           (Prelude.fromIntegral
                                                              (Data.ByteString.length bs)))
                                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                                Data.ProtoLens.encodeMessage _v))
                                     (Lens.Family2.view
                                        (Data.ProtoLens.Field.field @"vec'relays") _x))
                                  ((Data.Monoid.<>)
                                     (case
                                          Lens.Family2.view
                                            (Data.ProtoLens.Field.field @"maybe'poolMetadata") _x
                                      of
                                        Prelude.Nothing -> Data.Monoid.mempty
                                        (Prelude.Just _v)
                                          -> (Data.Monoid.<>)
                                               (Data.ProtoLens.Encoding.Bytes.putVarInt 74)
                                               ((Prelude..)
                                                  (\ bs
                                                     -> (Data.Monoid.<>)
                                                          (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                             (Prelude.fromIntegral
                                                                (Data.ByteString.length bs)))
                                                          (Data.ProtoLens.Encoding.Bytes.putBytes
                                                             bs))
                                                  Data.ProtoLens.encodeMessage _v))
                                     (Data.ProtoLens.Encoding.Wire.buildFieldSet
                                        (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))))))
instance Control.DeepSeq.NFData PoolRegistrationCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_PoolRegistrationCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_PoolRegistrationCert'operator x__)
                (Control.DeepSeq.deepseq
                   (_PoolRegistrationCert'vrfKeyhash x__)
                   (Control.DeepSeq.deepseq
                      (_PoolRegistrationCert'pledge x__)
                      (Control.DeepSeq.deepseq
                         (_PoolRegistrationCert'cost x__)
                         (Control.DeepSeq.deepseq
                            (_PoolRegistrationCert'margin x__)
                            (Control.DeepSeq.deepseq
                               (_PoolRegistrationCert'rewardAccount x__)
                               (Control.DeepSeq.deepseq
                                  (_PoolRegistrationCert'poolOwners x__)
                                  (Control.DeepSeq.deepseq
                                     (_PoolRegistrationCert'relays x__)
                                     (Control.DeepSeq.deepseq
                                        (_PoolRegistrationCert'poolMetadata x__) ())))))))))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.poolKeyhash' @:: Lens' PoolRetirementCert Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.epoch' @:: Lens' PoolRetirementCert Data.Word.Word64@ -}
data PoolRetirementCert
  = PoolRetirementCert'_constructor {_PoolRetirementCert'poolKeyhash :: !Data.ByteString.ByteString,
                                     _PoolRetirementCert'epoch :: !Data.Word.Word64,
                                     _PoolRetirementCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show PoolRetirementCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField PoolRetirementCert "poolKeyhash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRetirementCert'poolKeyhash
           (\ x__ y__ -> x__ {_PoolRetirementCert'poolKeyhash = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField PoolRetirementCert "epoch" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _PoolRetirementCert'epoch
           (\ x__ y__ -> x__ {_PoolRetirementCert'epoch = y__}))
        Prelude.id
instance Data.ProtoLens.Message PoolRetirementCert where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.PoolRetirementCert"
  packedMessageDescriptor _
    = "\n\
      \\DC2PoolRetirementCert\DC2!\n\
      \\fpool_keyhash\CAN\SOH \SOH(\fR\vpoolKeyhash\DC2\DC4\n\
      \\ENQepoch\CAN\STX \SOH(\EOTR\ENQepoch"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        poolKeyhash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pool_keyhash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"poolKeyhash")) ::
              Data.ProtoLens.FieldDescriptor PoolRetirementCert
        epoch__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "epoch"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"epoch")) ::
              Data.ProtoLens.FieldDescriptor PoolRetirementCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, poolKeyhash__field_descriptor),
           (Data.ProtoLens.Tag 2, epoch__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _PoolRetirementCert'_unknownFields
        (\ x__ y__ -> x__ {_PoolRetirementCert'_unknownFields = y__})
  defMessage
    = PoolRetirementCert'_constructor
        {_PoolRetirementCert'poolKeyhash = Data.ProtoLens.fieldDefault,
         _PoolRetirementCert'epoch = Data.ProtoLens.fieldDefault,
         _PoolRetirementCert'_unknownFields = []}
  parseMessage
    = let
        loop ::
          PoolRetirementCert
          -> Data.ProtoLens.Encoding.Bytes.Parser PoolRetirementCert
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "pool_keyhash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"poolKeyhash") y x)
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "epoch"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"epoch") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "PoolRetirementCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v
                  = Lens.Family2.view (Data.ProtoLens.Field.field @"poolKeyhash") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         _v))
             ((Data.Monoid.<>)
                (let
                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"epoch") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData PoolRetirementCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_PoolRetirementCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_PoolRetirementCert'poolKeyhash x__)
                (Control.DeepSeq.deepseq (_PoolRetirementCert'epoch x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.major' @:: Lens' ProtocolVersion Data.Word.Word32@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.minor' @:: Lens' ProtocolVersion Data.Word.Word32@ -}
data ProtocolVersion
  = ProtocolVersion'_constructor {_ProtocolVersion'major :: !Data.Word.Word32,
                                  _ProtocolVersion'minor :: !Data.Word.Word32,
                                  _ProtocolVersion'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show ProtocolVersion where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField ProtocolVersion "major" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ProtocolVersion'major
           (\ x__ y__ -> x__ {_ProtocolVersion'major = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField ProtocolVersion "minor" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ProtocolVersion'minor
           (\ x__ y__ -> x__ {_ProtocolVersion'minor = y__}))
        Prelude.id
instance Data.ProtoLens.Message ProtocolVersion where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.ProtocolVersion"
  packedMessageDescriptor _
    = "\n\
      \\SIProtocolVersion\DC2\DC4\n\
      \\ENQmajor\CAN\SOH \SOH(\rR\ENQmajor\DC2\DC4\n\
      \\ENQminor\CAN\STX \SOH(\rR\ENQminor"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        major__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "major"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"major")) ::
              Data.ProtoLens.FieldDescriptor ProtocolVersion
        minor__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "minor"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"minor")) ::
              Data.ProtoLens.FieldDescriptor ProtocolVersion
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, major__field_descriptor),
           (Data.ProtoLens.Tag 2, minor__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _ProtocolVersion'_unknownFields
        (\ x__ y__ -> x__ {_ProtocolVersion'_unknownFields = y__})
  defMessage
    = ProtocolVersion'_constructor
        {_ProtocolVersion'major = Data.ProtoLens.fieldDefault,
         _ProtocolVersion'minor = Data.ProtoLens.fieldDefault,
         _ProtocolVersion'_unknownFields = []}
  parseMessage
    = let
        loop ::
          ProtocolVersion
          -> Data.ProtoLens.Encoding.Bytes.Parser ProtocolVersion
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "major"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"major") y x)
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "minor"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"minor") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "ProtocolVersion"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"major") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
                      ((Prelude..)
                         Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
             ((Data.Monoid.<>)
                (let
                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"minor") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         ((Prelude..)
                            Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData ProtocolVersion where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_ProtocolVersion'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_ProtocolVersion'major x__)
                (Control.DeepSeq.deepseq (_ProtocolVersion'minor x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.numerator' @:: Lens' RationalNumber Data.Int.Int32@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.denominator' @:: Lens' RationalNumber Data.Word.Word32@ -}
data RationalNumber
  = RationalNumber'_constructor {_RationalNumber'numerator :: !Data.Int.Int32,
                                 _RationalNumber'denominator :: !Data.Word.Word32,
                                 _RationalNumber'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show RationalNumber where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField RationalNumber "numerator" Data.Int.Int32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _RationalNumber'numerator
           (\ x__ y__ -> x__ {_RationalNumber'numerator = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField RationalNumber "denominator" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _RationalNumber'denominator
           (\ x__ y__ -> x__ {_RationalNumber'denominator = y__}))
        Prelude.id
instance Data.ProtoLens.Message RationalNumber where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.RationalNumber"
  packedMessageDescriptor _
    = "\n\
      \\SORationalNumber\DC2\FS\n\
      \\tnumerator\CAN\SOH \SOH(\ENQR\tnumerator\DC2 \n\
      \\vdenominator\CAN\STX \SOH(\rR\vdenominator"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        numerator__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "numerator"
              (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"numerator")) ::
              Data.ProtoLens.FieldDescriptor RationalNumber
        denominator__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "denominator"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"denominator")) ::
              Data.ProtoLens.FieldDescriptor RationalNumber
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, numerator__field_descriptor),
           (Data.ProtoLens.Tag 2, denominator__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _RationalNumber'_unknownFields
        (\ x__ y__ -> x__ {_RationalNumber'_unknownFields = y__})
  defMessage
    = RationalNumber'_constructor
        {_RationalNumber'numerator = Data.ProtoLens.fieldDefault,
         _RationalNumber'denominator = Data.ProtoLens.fieldDefault,
         _RationalNumber'_unknownFields = []}
  parseMessage
    = let
        loop ::
          RationalNumber
          -> Data.ProtoLens.Encoding.Bytes.Parser RationalNumber
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "numerator"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"numerator") y x)
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "denominator"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"denominator") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "RationalNumber"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"numerator") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
                      ((Prelude..)
                         Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view (Data.ProtoLens.Field.field @"denominator") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         ((Prelude..)
                            Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData RationalNumber where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_RationalNumber'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_RationalNumber'numerator x__)
                (Control.DeepSeq.deepseq (_RationalNumber'denominator x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.purpose' @:: Lens' Redeemer RedeemerPurpose@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.payload' @:: Lens' Redeemer PlutusData@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'payload' @:: Lens' Redeemer (Prelude.Maybe PlutusData)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.index' @:: Lens' Redeemer Data.Word.Word32@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.exUnits' @:: Lens' Redeemer ExUnits@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'exUnits' @:: Lens' Redeemer (Prelude.Maybe ExUnits)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.originalCbor' @:: Lens' Redeemer Data.ByteString.ByteString@ -}
data Redeemer
  = Redeemer'_constructor {_Redeemer'purpose :: !RedeemerPurpose,
                           _Redeemer'payload :: !(Prelude.Maybe PlutusData),
                           _Redeemer'index :: !Data.Word.Word32,
                           _Redeemer'exUnits :: !(Prelude.Maybe ExUnits),
                           _Redeemer'originalCbor :: !Data.ByteString.ByteString,
                           _Redeemer'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Redeemer where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Redeemer "purpose" RedeemerPurpose where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Redeemer'purpose (\ x__ y__ -> x__ {_Redeemer'purpose = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Redeemer "payload" PlutusData where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Redeemer'payload (\ x__ y__ -> x__ {_Redeemer'payload = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Redeemer "maybe'payload" (Prelude.Maybe PlutusData) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Redeemer'payload (\ x__ y__ -> x__ {_Redeemer'payload = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Redeemer "index" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Redeemer'index (\ x__ y__ -> x__ {_Redeemer'index = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Redeemer "exUnits" ExUnits where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Redeemer'exUnits (\ x__ y__ -> x__ {_Redeemer'exUnits = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Redeemer "maybe'exUnits" (Prelude.Maybe ExUnits) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Redeemer'exUnits (\ x__ y__ -> x__ {_Redeemer'exUnits = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Redeemer "originalCbor" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Redeemer'originalCbor
           (\ x__ y__ -> x__ {_Redeemer'originalCbor = y__}))
        Prelude.id
instance Data.ProtoLens.Message Redeemer where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.Redeemer"
  packedMessageDescriptor _
    = "\n\
      \\bRedeemer\DC2B\n\
      \\apurpose\CAN\SOH \SOH(\SO2(.utxorpc.v1alpha.cardano.RedeemerPurposeR\apurpose\DC2=\n\
      \\apayload\CAN\STX \SOH(\v2#.utxorpc.v1alpha.cardano.PlutusDataR\apayload\DC2\DC4\n\
      \\ENQindex\CAN\ETX \SOH(\rR\ENQindex\DC2;\n\
      \\bex_units\CAN\EOT \SOH(\v2 .utxorpc.v1alpha.cardano.ExUnitsR\aexUnits\DC2#\n\
      \\roriginal_cbor\CAN\ENQ \SOH(\fR\foriginalCbor"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        purpose__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "purpose"
              (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
                 Data.ProtoLens.FieldTypeDescriptor RedeemerPurpose)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"purpose")) ::
              Data.ProtoLens.FieldDescriptor Redeemer
        payload__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "payload"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PlutusData)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'payload")) ::
              Data.ProtoLens.FieldDescriptor Redeemer
        index__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "index"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"index")) ::
              Data.ProtoLens.FieldDescriptor Redeemer
        exUnits__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "ex_units"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor ExUnits)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'exUnits")) ::
              Data.ProtoLens.FieldDescriptor Redeemer
        originalCbor__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "original_cbor"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"originalCbor")) ::
              Data.ProtoLens.FieldDescriptor Redeemer
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, purpose__field_descriptor),
           (Data.ProtoLens.Tag 2, payload__field_descriptor),
           (Data.ProtoLens.Tag 3, index__field_descriptor),
           (Data.ProtoLens.Tag 4, exUnits__field_descriptor),
           (Data.ProtoLens.Tag 5, originalCbor__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Redeemer'_unknownFields
        (\ x__ y__ -> x__ {_Redeemer'_unknownFields = y__})
  defMessage
    = Redeemer'_constructor
        {_Redeemer'purpose = Data.ProtoLens.fieldDefault,
         _Redeemer'payload = Prelude.Nothing,
         _Redeemer'index = Data.ProtoLens.fieldDefault,
         _Redeemer'exUnits = Prelude.Nothing,
         _Redeemer'originalCbor = Data.ProtoLens.fieldDefault,
         _Redeemer'_unknownFields = []}
  parseMessage
    = let
        loop :: Redeemer -> Data.ProtoLens.Encoding.Bytes.Parser Redeemer
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.toEnum
                                          (Prelude.fmap
                                             Prelude.fromIntegral
                                             Data.ProtoLens.Encoding.Bytes.getVarInt))
                                       "purpose"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"purpose") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "payload"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"payload") y x)
                        24
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "index"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"index") y x)
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "ex_units"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"exUnits") y x)
                        42
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "original_cbor"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"originalCbor") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "Redeemer"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"purpose") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
                      ((Prelude..)
                         ((Prelude..)
                            Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)
                         Prelude.fromEnum _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'payload") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                ((Data.Monoid.<>)
                   (let
                      _v = Lens.Family2.view (Data.ProtoLens.Field.field @"index") _x
                    in
                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                          Data.Monoid.mempty
                      else
                          (Data.Monoid.<>)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
                            ((Prelude..)
                               Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
                   ((Data.Monoid.<>)
                      (case
                           Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'exUnits") _x
                       of
                         Prelude.Nothing -> Data.Monoid.mempty
                         (Prelude.Just _v)
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                                ((Prelude..)
                                   (\ bs
                                      -> (Data.Monoid.<>)
                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                   Data.ProtoLens.encodeMessage _v))
                      ((Data.Monoid.<>)
                         (let
                            _v
                              = Lens.Family2.view (Data.ProtoLens.Field.field @"originalCbor") _x
                          in
                            if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                                Data.Monoid.mempty
                            else
                                (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
                                  ((\ bs
                                      -> (Data.Monoid.<>)
                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                     _v))
                         (Data.ProtoLens.Encoding.Wire.buildFieldSet
                            (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))
instance Control.DeepSeq.NFData Redeemer where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Redeemer'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Redeemer'purpose x__)
                (Control.DeepSeq.deepseq
                   (_Redeemer'payload x__)
                   (Control.DeepSeq.deepseq
                      (_Redeemer'index x__)
                      (Control.DeepSeq.deepseq
                         (_Redeemer'exUnits x__)
                         (Control.DeepSeq.deepseq (_Redeemer'originalCbor x__) ())))))
newtype RedeemerPurpose'UnrecognizedValue
  = RedeemerPurpose'UnrecognizedValue Data.Int.Int32
  deriving stock (Prelude.Eq, Prelude.Ord, Prelude.Show)
data RedeemerPurpose
  = REDEEMER_PURPOSE_UNSPECIFIED |
    REDEEMER_PURPOSE_SPEND |
    REDEEMER_PURPOSE_MINT |
    REDEEMER_PURPOSE_CERT |
    REDEEMER_PURPOSE_REWARD |
    REDEEMER_PURPOSE_VOTE |
    REDEEMER_PURPOSE_PROPOSE |
    RedeemerPurpose'Unrecognized !RedeemerPurpose'UnrecognizedValue
  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
instance Data.ProtoLens.MessageEnum RedeemerPurpose where
  maybeToEnum 0 = Prelude.Just REDEEMER_PURPOSE_UNSPECIFIED
  maybeToEnum 1 = Prelude.Just REDEEMER_PURPOSE_SPEND
  maybeToEnum 2 = Prelude.Just REDEEMER_PURPOSE_MINT
  maybeToEnum 3 = Prelude.Just REDEEMER_PURPOSE_CERT
  maybeToEnum 4 = Prelude.Just REDEEMER_PURPOSE_REWARD
  maybeToEnum 5 = Prelude.Just REDEEMER_PURPOSE_VOTE
  maybeToEnum 6 = Prelude.Just REDEEMER_PURPOSE_PROPOSE
  maybeToEnum k
    = Prelude.Just
        (RedeemerPurpose'Unrecognized
           (RedeemerPurpose'UnrecognizedValue (Prelude.fromIntegral k)))
  showEnum REDEEMER_PURPOSE_UNSPECIFIED
    = "REDEEMER_PURPOSE_UNSPECIFIED"
  showEnum REDEEMER_PURPOSE_SPEND = "REDEEMER_PURPOSE_SPEND"
  showEnum REDEEMER_PURPOSE_MINT = "REDEEMER_PURPOSE_MINT"
  showEnum REDEEMER_PURPOSE_CERT = "REDEEMER_PURPOSE_CERT"
  showEnum REDEEMER_PURPOSE_REWARD = "REDEEMER_PURPOSE_REWARD"
  showEnum REDEEMER_PURPOSE_VOTE = "REDEEMER_PURPOSE_VOTE"
  showEnum REDEEMER_PURPOSE_PROPOSE = "REDEEMER_PURPOSE_PROPOSE"
  showEnum
    (RedeemerPurpose'Unrecognized (RedeemerPurpose'UnrecognizedValue k))
    = Prelude.show k
  readEnum k
    | (Prelude.==) k "REDEEMER_PURPOSE_UNSPECIFIED"
    = Prelude.Just REDEEMER_PURPOSE_UNSPECIFIED
    | (Prelude.==) k "REDEEMER_PURPOSE_SPEND"
    = Prelude.Just REDEEMER_PURPOSE_SPEND
    | (Prelude.==) k "REDEEMER_PURPOSE_MINT"
    = Prelude.Just REDEEMER_PURPOSE_MINT
    | (Prelude.==) k "REDEEMER_PURPOSE_CERT"
    = Prelude.Just REDEEMER_PURPOSE_CERT
    | (Prelude.==) k "REDEEMER_PURPOSE_REWARD"
    = Prelude.Just REDEEMER_PURPOSE_REWARD
    | (Prelude.==) k "REDEEMER_PURPOSE_VOTE"
    = Prelude.Just REDEEMER_PURPOSE_VOTE
    | (Prelude.==) k "REDEEMER_PURPOSE_PROPOSE"
    = Prelude.Just REDEEMER_PURPOSE_PROPOSE
    | Prelude.otherwise
    = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum
instance Prelude.Bounded RedeemerPurpose where
  minBound = REDEEMER_PURPOSE_UNSPECIFIED
  maxBound = REDEEMER_PURPOSE_PROPOSE
instance Prelude.Enum RedeemerPurpose where
  toEnum k__
    = Prelude.maybe
        (Prelude.error
           ((Prelude.++)
              "toEnum: unknown value for enum RedeemerPurpose: "
              (Prelude.show k__)))
        Prelude.id (Data.ProtoLens.maybeToEnum k__)
  fromEnum REDEEMER_PURPOSE_UNSPECIFIED = 0
  fromEnum REDEEMER_PURPOSE_SPEND = 1
  fromEnum REDEEMER_PURPOSE_MINT = 2
  fromEnum REDEEMER_PURPOSE_CERT = 3
  fromEnum REDEEMER_PURPOSE_REWARD = 4
  fromEnum REDEEMER_PURPOSE_VOTE = 5
  fromEnum REDEEMER_PURPOSE_PROPOSE = 6
  fromEnum
    (RedeemerPurpose'Unrecognized (RedeemerPurpose'UnrecognizedValue k))
    = Prelude.fromIntegral k
  succ REDEEMER_PURPOSE_PROPOSE
    = Prelude.error
        "RedeemerPurpose.succ: bad argument REDEEMER_PURPOSE_PROPOSE. This value would be out of bounds."
  succ REDEEMER_PURPOSE_UNSPECIFIED = REDEEMER_PURPOSE_SPEND
  succ REDEEMER_PURPOSE_SPEND = REDEEMER_PURPOSE_MINT
  succ REDEEMER_PURPOSE_MINT = REDEEMER_PURPOSE_CERT
  succ REDEEMER_PURPOSE_CERT = REDEEMER_PURPOSE_REWARD
  succ REDEEMER_PURPOSE_REWARD = REDEEMER_PURPOSE_VOTE
  succ REDEEMER_PURPOSE_VOTE = REDEEMER_PURPOSE_PROPOSE
  succ (RedeemerPurpose'Unrecognized _)
    = Prelude.error
        "RedeemerPurpose.succ: bad argument: unrecognized value"
  pred REDEEMER_PURPOSE_UNSPECIFIED
    = Prelude.error
        "RedeemerPurpose.pred: bad argument REDEEMER_PURPOSE_UNSPECIFIED. This value would be out of bounds."
  pred REDEEMER_PURPOSE_SPEND = REDEEMER_PURPOSE_UNSPECIFIED
  pred REDEEMER_PURPOSE_MINT = REDEEMER_PURPOSE_SPEND
  pred REDEEMER_PURPOSE_CERT = REDEEMER_PURPOSE_MINT
  pred REDEEMER_PURPOSE_REWARD = REDEEMER_PURPOSE_CERT
  pred REDEEMER_PURPOSE_VOTE = REDEEMER_PURPOSE_REWARD
  pred REDEEMER_PURPOSE_PROPOSE = REDEEMER_PURPOSE_VOTE
  pred (RedeemerPurpose'Unrecognized _)
    = Prelude.error
        "RedeemerPurpose.pred: bad argument: unrecognized value"
  enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom
  enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo
  enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen
  enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo
instance Data.ProtoLens.FieldDefault RedeemerPurpose where
  fieldDefault = REDEEMER_PURPOSE_UNSPECIFIED
instance Control.DeepSeq.NFData RedeemerPurpose where
  rnf x__ = Prelude.seq x__ ()
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.stakeCredential' @:: Lens' RegCert StakeCredential@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'stakeCredential' @:: Lens' RegCert (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.coin' @:: Lens' RegCert Data.Word.Word64@ -}
data RegCert
  = RegCert'_constructor {_RegCert'stakeCredential :: !(Prelude.Maybe StakeCredential),
                          _RegCert'coin :: !Data.Word.Word64,
                          _RegCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show RegCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField RegCert "stakeCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _RegCert'stakeCredential
           (\ x__ y__ -> x__ {_RegCert'stakeCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField RegCert "maybe'stakeCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _RegCert'stakeCredential
           (\ x__ y__ -> x__ {_RegCert'stakeCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField RegCert "coin" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _RegCert'coin (\ x__ y__ -> x__ {_RegCert'coin = y__}))
        Prelude.id
instance Data.ProtoLens.Message RegCert where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.RegCert"
  packedMessageDescriptor _
    = "\n\
      \\aRegCert\DC2S\n\
      \\DLEstake_credential\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\SIstakeCredential\DC2\DC2\n\
      \\EOTcoin\CAN\STX \SOH(\EOTR\EOTcoin"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        stakeCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeCredential")) ::
              Data.ProtoLens.FieldDescriptor RegCert
        coin__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "coin"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"coin")) ::
              Data.ProtoLens.FieldDescriptor RegCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, stakeCredential__field_descriptor),
           (Data.ProtoLens.Tag 2, coin__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _RegCert'_unknownFields
        (\ x__ y__ -> x__ {_RegCert'_unknownFields = y__})
  defMessage
    = RegCert'_constructor
        {_RegCert'stakeCredential = Prelude.Nothing,
         _RegCert'coin = Data.ProtoLens.fieldDefault,
         _RegCert'_unknownFields = []}
  parseMessage
    = let
        loop :: RegCert -> Data.ProtoLens.Encoding.Bytes.Parser RegCert
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeCredential") y x)
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "coin"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"coin") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "RegCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'stakeCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"coin") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData RegCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_RegCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_RegCert'stakeCredential x__)
                (Control.DeepSeq.deepseq (_RegCert'coin x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.drepCredential' @:: Lens' RegDRepCert StakeCredential@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'drepCredential' @:: Lens' RegDRepCert (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.coin' @:: Lens' RegDRepCert Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.anchor' @:: Lens' RegDRepCert Anchor@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'anchor' @:: Lens' RegDRepCert (Prelude.Maybe Anchor)@ -}
data RegDRepCert
  = RegDRepCert'_constructor {_RegDRepCert'drepCredential :: !(Prelude.Maybe StakeCredential),
                              _RegDRepCert'coin :: !Data.Word.Word64,
                              _RegDRepCert'anchor :: !(Prelude.Maybe Anchor),
                              _RegDRepCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show RegDRepCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField RegDRepCert "drepCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _RegDRepCert'drepCredential
           (\ x__ y__ -> x__ {_RegDRepCert'drepCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField RegDRepCert "maybe'drepCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _RegDRepCert'drepCredential
           (\ x__ y__ -> x__ {_RegDRepCert'drepCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField RegDRepCert "coin" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _RegDRepCert'coin (\ x__ y__ -> x__ {_RegDRepCert'coin = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField RegDRepCert "anchor" Anchor where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _RegDRepCert'anchor (\ x__ y__ -> x__ {_RegDRepCert'anchor = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField RegDRepCert "maybe'anchor" (Prelude.Maybe Anchor) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _RegDRepCert'anchor (\ x__ y__ -> x__ {_RegDRepCert'anchor = y__}))
        Prelude.id
instance Data.ProtoLens.Message RegDRepCert where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.RegDRepCert"
  packedMessageDescriptor _
    = "\n\
      \\vRegDRepCert\DC2Q\n\
      \\SIdrep_credential\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\SOdrepCredential\DC2\DC2\n\
      \\EOTcoin\CAN\STX \SOH(\EOTR\EOTcoin\DC27\n\
      \\ACKanchor\CAN\ETX \SOH(\v2\US.utxorpc.v1alpha.cardano.AnchorR\ACKanchor"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        drepCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "drep_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'drepCredential")) ::
              Data.ProtoLens.FieldDescriptor RegDRepCert
        coin__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "coin"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"coin")) ::
              Data.ProtoLens.FieldDescriptor RegDRepCert
        anchor__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "anchor"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Anchor)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'anchor")) ::
              Data.ProtoLens.FieldDescriptor RegDRepCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, drepCredential__field_descriptor),
           (Data.ProtoLens.Tag 2, coin__field_descriptor),
           (Data.ProtoLens.Tag 3, anchor__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _RegDRepCert'_unknownFields
        (\ x__ y__ -> x__ {_RegDRepCert'_unknownFields = y__})
  defMessage
    = RegDRepCert'_constructor
        {_RegDRepCert'drepCredential = Prelude.Nothing,
         _RegDRepCert'coin = Data.ProtoLens.fieldDefault,
         _RegDRepCert'anchor = Prelude.Nothing,
         _RegDRepCert'_unknownFields = []}
  parseMessage
    = let
        loop ::
          RegDRepCert -> Data.ProtoLens.Encoding.Bytes.Parser RegDRepCert
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "drep_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"drepCredential") y x)
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "coin"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"coin") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "anchor"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"anchor") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "RegDRepCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'drepCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"coin") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                ((Data.Monoid.<>)
                   (case
                        Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'anchor") _x
                    of
                      Prelude.Nothing -> Data.Monoid.mempty
                      (Prelude.Just _v)
                        -> (Data.Monoid.<>)
                             (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                             ((Prelude..)
                                (\ bs
                                   -> (Data.Monoid.<>)
                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                Data.ProtoLens.encodeMessage _v))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData RegDRepCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_RegDRepCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_RegDRepCert'drepCredential x__)
                (Control.DeepSeq.deepseq
                   (_RegDRepCert'coin x__)
                   (Control.DeepSeq.deepseq (_RegDRepCert'anchor x__) ())))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.ipV4' @:: Lens' Relay Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.ipV6' @:: Lens' Relay Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.dnsName' @:: Lens' Relay Data.Text.Text@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.port' @:: Lens' Relay Data.Word.Word32@ -}
data Relay
  = Relay'_constructor {_Relay'ipV4 :: !Data.ByteString.ByteString,
                        _Relay'ipV6 :: !Data.ByteString.ByteString,
                        _Relay'dnsName :: !Data.Text.Text,
                        _Relay'port :: !Data.Word.Word32,
                        _Relay'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Relay where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Relay "ipV4" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Relay'ipV4 (\ x__ y__ -> x__ {_Relay'ipV4 = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Relay "ipV6" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Relay'ipV6 (\ x__ y__ -> x__ {_Relay'ipV6 = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Relay "dnsName" Data.Text.Text where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Relay'dnsName (\ x__ y__ -> x__ {_Relay'dnsName = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Relay "port" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Relay'port (\ x__ y__ -> x__ {_Relay'port = y__}))
        Prelude.id
instance Data.ProtoLens.Message Relay where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.Relay"
  packedMessageDescriptor _
    = "\n\
      \\ENQRelay\DC2\DC3\n\
      \\ENQip_v4\CAN\SOH \SOH(\fR\EOTipV4\DC2\DC3\n\
      \\ENQip_v6\CAN\STX \SOH(\fR\EOTipV6\DC2\EM\n\
      \\bdns_name\CAN\ETX \SOH(\tR\adnsName\DC2\DC2\n\
      \\EOTport\CAN\EOT \SOH(\rR\EOTport"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        ipV4__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "ip_v4"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"ipV4")) ::
              Data.ProtoLens.FieldDescriptor Relay
        ipV6__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "ip_v6"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"ipV6")) ::
              Data.ProtoLens.FieldDescriptor Relay
        dnsName__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "dns_name"
              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"dnsName")) ::
              Data.ProtoLens.FieldDescriptor Relay
        port__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "port"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"port")) ::
              Data.ProtoLens.FieldDescriptor Relay
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, ipV4__field_descriptor),
           (Data.ProtoLens.Tag 2, ipV6__field_descriptor),
           (Data.ProtoLens.Tag 3, dnsName__field_descriptor),
           (Data.ProtoLens.Tag 4, port__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Relay'_unknownFields
        (\ x__ y__ -> x__ {_Relay'_unknownFields = y__})
  defMessage
    = Relay'_constructor
        {_Relay'ipV4 = Data.ProtoLens.fieldDefault,
         _Relay'ipV6 = Data.ProtoLens.fieldDefault,
         _Relay'dnsName = Data.ProtoLens.fieldDefault,
         _Relay'port = Data.ProtoLens.fieldDefault,
         _Relay'_unknownFields = []}
  parseMessage
    = let
        loop :: Relay -> Data.ProtoLens.Encoding.Bytes.Parser Relay
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "ip_v4"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"ipV4") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "ip_v6"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"ipV6") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getText
                                             (Prelude.fromIntegral len))
                                       "dns_name"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"dnsName") y x)
                        32
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "port"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"port") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "Relay"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"ipV4") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         _v))
             ((Data.Monoid.<>)
                (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"ipV6") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                ((Data.Monoid.<>)
                   (let
                      _v = Lens.Family2.view (Data.ProtoLens.Field.field @"dnsName") _x
                    in
                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                          Data.Monoid.mempty
                      else
                          (Data.Monoid.<>)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                            ((Prelude..)
                               (\ bs
                                  -> (Data.Monoid.<>)
                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
                                          (Prelude.fromIntegral (Data.ByteString.length bs)))
                                       (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                               Data.Text.Encoding.encodeUtf8 _v))
                   ((Data.Monoid.<>)
                      (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"port") _x
                       in
                         if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                             Data.Monoid.mempty
                         else
                             (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt 32)
                               ((Prelude..)
                                  Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
                      (Data.ProtoLens.Encoding.Wire.buildFieldSet
                         (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))
instance Control.DeepSeq.NFData Relay where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Relay'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Relay'ipV4 x__)
                (Control.DeepSeq.deepseq
                   (_Relay'ipV6 x__)
                   (Control.DeepSeq.deepseq
                      (_Relay'dnsName x__)
                      (Control.DeepSeq.deepseq (_Relay'port x__) ()))))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.committeeColdCredential' @:: Lens' ResignCommitteeColdCert StakeCredential@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'committeeColdCredential' @:: Lens' ResignCommitteeColdCert (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.anchor' @:: Lens' ResignCommitteeColdCert Anchor@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'anchor' @:: Lens' ResignCommitteeColdCert (Prelude.Maybe Anchor)@ -}
data ResignCommitteeColdCert
  = ResignCommitteeColdCert'_constructor {_ResignCommitteeColdCert'committeeColdCredential :: !(Prelude.Maybe StakeCredential),
                                          _ResignCommitteeColdCert'anchor :: !(Prelude.Maybe Anchor),
                                          _ResignCommitteeColdCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show ResignCommitteeColdCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField ResignCommitteeColdCert "committeeColdCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ResignCommitteeColdCert'committeeColdCredential
           (\ x__ y__
              -> x__ {_ResignCommitteeColdCert'committeeColdCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField ResignCommitteeColdCert "maybe'committeeColdCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ResignCommitteeColdCert'committeeColdCredential
           (\ x__ y__
              -> x__ {_ResignCommitteeColdCert'committeeColdCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField ResignCommitteeColdCert "anchor" Anchor where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ResignCommitteeColdCert'anchor
           (\ x__ y__ -> x__ {_ResignCommitteeColdCert'anchor = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField ResignCommitteeColdCert "maybe'anchor" (Prelude.Maybe Anchor) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ResignCommitteeColdCert'anchor
           (\ x__ y__ -> x__ {_ResignCommitteeColdCert'anchor = y__}))
        Prelude.id
instance Data.ProtoLens.Message ResignCommitteeColdCert where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.ResignCommitteeColdCert"
  packedMessageDescriptor _
    = "\n\
      \\ETBResignCommitteeColdCert\DC2d\n\
      \\EMcommittee_cold_credential\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\ETBcommitteeColdCredential\DC27\n\
      \\ACKanchor\CAN\STX \SOH(\v2\US.utxorpc.v1alpha.cardano.AnchorR\ACKanchor"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        committeeColdCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "committee_cold_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'committeeColdCredential")) ::
              Data.ProtoLens.FieldDescriptor ResignCommitteeColdCert
        anchor__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "anchor"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Anchor)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'anchor")) ::
              Data.ProtoLens.FieldDescriptor ResignCommitteeColdCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, committeeColdCredential__field_descriptor),
           (Data.ProtoLens.Tag 2, anchor__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _ResignCommitteeColdCert'_unknownFields
        (\ x__ y__ -> x__ {_ResignCommitteeColdCert'_unknownFields = y__})
  defMessage
    = ResignCommitteeColdCert'_constructor
        {_ResignCommitteeColdCert'committeeColdCredential = Prelude.Nothing,
         _ResignCommitteeColdCert'anchor = Prelude.Nothing,
         _ResignCommitteeColdCert'_unknownFields = []}
  parseMessage
    = let
        loop ::
          ResignCommitteeColdCert
          -> Data.ProtoLens.Encoding.Bytes.Parser ResignCommitteeColdCert
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "committee_cold_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"committeeColdCredential") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "anchor"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"anchor") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "ResignCommitteeColdCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'committeeColdCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'anchor") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData ResignCommitteeColdCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_ResignCommitteeColdCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_ResignCommitteeColdCert'committeeColdCredential x__)
                (Control.DeepSeq.deepseq (_ResignCommitteeColdCert'anchor x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'script' @:: Lens' Script (Prelude.Maybe Script'Script)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'native' @:: Lens' Script (Prelude.Maybe NativeScript)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.native' @:: Lens' Script NativeScript@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'plutusV1' @:: Lens' Script (Prelude.Maybe Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.plutusV1' @:: Lens' Script Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'plutusV2' @:: Lens' Script (Prelude.Maybe Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.plutusV2' @:: Lens' Script Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'plutusV3' @:: Lens' Script (Prelude.Maybe Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.plutusV3' @:: Lens' Script Data.ByteString.ByteString@ -}
data Script
  = Script'_constructor {_Script'script :: !(Prelude.Maybe Script'Script),
                         _Script'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Script where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
data Script'Script
  = Script'Native !NativeScript |
    Script'PlutusV1 !Data.ByteString.ByteString |
    Script'PlutusV2 !Data.ByteString.ByteString |
    Script'PlutusV3 !Data.ByteString.ByteString
  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
instance Data.ProtoLens.Field.HasField Script "maybe'script" (Prelude.Maybe Script'Script) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Script'script (\ x__ y__ -> x__ {_Script'script = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Script "maybe'native" (Prelude.Maybe NativeScript) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Script'script (\ x__ y__ -> x__ {_Script'script = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Script'Native x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Script'Native y__))
instance Data.ProtoLens.Field.HasField Script "native" NativeScript where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Script'script (\ x__ y__ -> x__ {_Script'script = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Script'Native x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Script'Native y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage))
instance Data.ProtoLens.Field.HasField Script "maybe'plutusV1" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Script'script (\ x__ y__ -> x__ {_Script'script = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Script'PlutusV1 x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Script'PlutusV1 y__))
instance Data.ProtoLens.Field.HasField Script "plutusV1" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Script'script (\ x__ y__ -> x__ {_Script'script = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Script'PlutusV1 x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Script'PlutusV1 y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Field.HasField Script "maybe'plutusV2" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Script'script (\ x__ y__ -> x__ {_Script'script = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Script'PlutusV2 x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Script'PlutusV2 y__))
instance Data.ProtoLens.Field.HasField Script "plutusV2" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Script'script (\ x__ y__ -> x__ {_Script'script = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Script'PlutusV2 x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Script'PlutusV2 y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Field.HasField Script "maybe'plutusV3" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Script'script (\ x__ y__ -> x__ {_Script'script = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (Script'PlutusV3 x__val)) -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap Script'PlutusV3 y__))
instance Data.ProtoLens.Field.HasField Script "plutusV3" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Script'script (\ x__ y__ -> x__ {_Script'script = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (Script'PlutusV3 x__val)) -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap Script'PlutusV3 y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Message Script where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.Script"
  packedMessageDescriptor _
    = "\n\
      \\ACKScript\DC2?\n\
      \\ACKnative\CAN\SOH \SOH(\v2%.utxorpc.v1alpha.cardano.NativeScriptH\NULR\ACKnative\DC2\GS\n\
      \\tplutus_v1\CAN\STX \SOH(\fH\NULR\bplutusV1\DC2\GS\n\
      \\tplutus_v2\CAN\ETX \SOH(\fH\NULR\bplutusV2\DC2\GS\n\
      \\tplutus_v3\CAN\EOT \SOH(\fH\NULR\bplutusV3B\b\n\
      \\ACKscript"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        native__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "native"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor NativeScript)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'native")) ::
              Data.ProtoLens.FieldDescriptor Script
        plutusV1__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "plutus_v1"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'plutusV1")) ::
              Data.ProtoLens.FieldDescriptor Script
        plutusV2__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "plutus_v2"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'plutusV2")) ::
              Data.ProtoLens.FieldDescriptor Script
        plutusV3__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "plutus_v3"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'plutusV3")) ::
              Data.ProtoLens.FieldDescriptor Script
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, native__field_descriptor),
           (Data.ProtoLens.Tag 2, plutusV1__field_descriptor),
           (Data.ProtoLens.Tag 3, plutusV2__field_descriptor),
           (Data.ProtoLens.Tag 4, plutusV3__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Script'_unknownFields
        (\ x__ y__ -> x__ {_Script'_unknownFields = y__})
  defMessage
    = Script'_constructor
        {_Script'script = Prelude.Nothing, _Script'_unknownFields = []}
  parseMessage
    = let
        loop :: Script -> Data.ProtoLens.Encoding.Bytes.Parser Script
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "native"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"native") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "plutus_v1"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"plutusV1") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "plutus_v2"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"plutusV2") y x)
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "plutus_v3"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"plutusV3") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "Script"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'script") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just (Script'Native v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage v)
                (Prelude.Just (Script'PlutusV1 v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                       ((\ bs
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
                                (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          v)
                (Prelude.Just (Script'PlutusV2 v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                       ((\ bs
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
                                (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          v)
                (Prelude.Just (Script'PlutusV3 v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                       ((\ bs
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
                                (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          v))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData Script where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Script'_unknownFields x__)
             (Control.DeepSeq.deepseq (_Script'script x__) ())
instance Control.DeepSeq.NFData Script'Script where
  rnf (Script'Native x__) = Control.DeepSeq.rnf x__
  rnf (Script'PlutusV1 x__) = Control.DeepSeq.rnf x__
  rnf (Script'PlutusV2 x__) = Control.DeepSeq.rnf x__
  rnf (Script'PlutusV3 x__) = Control.DeepSeq.rnf x__
_Script'Native ::
  Data.ProtoLens.Prism.Prism' Script'Script NativeScript
_Script'Native
  = Data.ProtoLens.Prism.prism'
      Script'Native
      (\ p__
         -> case p__ of
              (Script'Native p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Script'PlutusV1 ::
  Data.ProtoLens.Prism.Prism' Script'Script Data.ByteString.ByteString
_Script'PlutusV1
  = Data.ProtoLens.Prism.prism'
      Script'PlutusV1
      (\ p__
         -> case p__ of
              (Script'PlutusV1 p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Script'PlutusV2 ::
  Data.ProtoLens.Prism.Prism' Script'Script Data.ByteString.ByteString
_Script'PlutusV2
  = Data.ProtoLens.Prism.prism'
      Script'PlutusV2
      (\ p__
         -> case p__ of
              (Script'PlutusV2 p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_Script'PlutusV3 ::
  Data.ProtoLens.Prism.Prism' Script'Script Data.ByteString.ByteString
_Script'PlutusV3
  = Data.ProtoLens.Prism.prism'
      Script'PlutusV3
      (\ p__
         -> case p__ of
              (Script'PlutusV3 p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.k' @:: Lens' ScriptNOfK Data.Word.Word32@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.scripts' @:: Lens' ScriptNOfK [NativeScript]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'scripts' @:: Lens' ScriptNOfK (Data.Vector.Vector NativeScript)@ -}
data ScriptNOfK
  = ScriptNOfK'_constructor {_ScriptNOfK'k :: !Data.Word.Word32,
                             _ScriptNOfK'scripts :: !(Data.Vector.Vector NativeScript),
                             _ScriptNOfK'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show ScriptNOfK where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField ScriptNOfK "k" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ScriptNOfK'k (\ x__ y__ -> x__ {_ScriptNOfK'k = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField ScriptNOfK "scripts" [NativeScript] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ScriptNOfK'scripts (\ x__ y__ -> x__ {_ScriptNOfK'scripts = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField ScriptNOfK "vec'scripts" (Data.Vector.Vector NativeScript) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _ScriptNOfK'scripts (\ x__ y__ -> x__ {_ScriptNOfK'scripts = y__}))
        Prelude.id
instance Data.ProtoLens.Message ScriptNOfK where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.ScriptNOfK"
  packedMessageDescriptor _
    = "\n\
      \\n\
      \ScriptNOfK\DC2\f\n\
      \\SOHk\CAN\SOH \SOH(\rR\SOHk\DC2?\n\
      \\ascripts\CAN\STX \ETX(\v2%.utxorpc.v1alpha.cardano.NativeScriptR\ascripts"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        k__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "k"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"k")) ::
              Data.ProtoLens.FieldDescriptor ScriptNOfK
        scripts__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "scripts"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor NativeScript)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"scripts")) ::
              Data.ProtoLens.FieldDescriptor ScriptNOfK
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, k__field_descriptor),
           (Data.ProtoLens.Tag 2, scripts__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _ScriptNOfK'_unknownFields
        (\ x__ y__ -> x__ {_ScriptNOfK'_unknownFields = y__})
  defMessage
    = ScriptNOfK'_constructor
        {_ScriptNOfK'k = Data.ProtoLens.fieldDefault,
         _ScriptNOfK'scripts = Data.Vector.Generic.empty,
         _ScriptNOfK'_unknownFields = []}
  parseMessage
    = let
        loop ::
          ScriptNOfK
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld NativeScript
             -> Data.ProtoLens.Encoding.Bytes.Parser ScriptNOfK
        loop x mutable'scripts
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'scripts <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                          (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                             mutable'scripts)
                      (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'scripts") frozen'scripts x))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "k"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"k") y x)
                                  mutable'scripts
                        18
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "scripts"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'scripts y)
                                loop x v
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
                                  mutable'scripts
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'scripts <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                   Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'scripts)
          "ScriptNOfK"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"k") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
                      ((Prelude..)
                         Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
             ((Data.Monoid.<>)
                (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                   (\ _v
                      -> (Data.Monoid.<>)
                           (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                           ((Prelude..)
                              (\ bs
                                 -> (Data.Monoid.<>)
                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                              Data.ProtoLens.encodeMessage _v))
                   (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'scripts") _x))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData ScriptNOfK where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_ScriptNOfK'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_ScriptNOfK'k x__)
                (Control.DeepSeq.deepseq (_ScriptNOfK'scripts x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'stakeCredential' @:: Lens' StakeCredential (Prelude.Maybe StakeCredential'StakeCredential)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'addrKeyHash' @:: Lens' StakeCredential (Prelude.Maybe Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.addrKeyHash' @:: Lens' StakeCredential Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'scriptHash' @:: Lens' StakeCredential (Prelude.Maybe Data.ByteString.ByteString)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.scriptHash' @:: Lens' StakeCredential Data.ByteString.ByteString@ -}
data StakeCredential
  = StakeCredential'_constructor {_StakeCredential'stakeCredential :: !(Prelude.Maybe StakeCredential'StakeCredential),
                                  _StakeCredential'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show StakeCredential where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
data StakeCredential'StakeCredential
  = StakeCredential'AddrKeyHash !Data.ByteString.ByteString |
    StakeCredential'ScriptHash !Data.ByteString.ByteString
  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
instance Data.ProtoLens.Field.HasField StakeCredential "maybe'stakeCredential" (Prelude.Maybe StakeCredential'StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeCredential'stakeCredential
           (\ x__ y__ -> x__ {_StakeCredential'stakeCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField StakeCredential "maybe'addrKeyHash" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeCredential'stakeCredential
           (\ x__ y__ -> x__ {_StakeCredential'stakeCredential = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (StakeCredential'AddrKeyHash x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap StakeCredential'AddrKeyHash y__))
instance Data.ProtoLens.Field.HasField StakeCredential "addrKeyHash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeCredential'stakeCredential
           (\ x__ y__ -> x__ {_StakeCredential'stakeCredential = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (StakeCredential'AddrKeyHash x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap StakeCredential'AddrKeyHash y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Field.HasField StakeCredential "maybe'scriptHash" (Prelude.Maybe Data.ByteString.ByteString) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeCredential'stakeCredential
           (\ x__ y__ -> x__ {_StakeCredential'stakeCredential = y__}))
        (Lens.Family2.Unchecked.lens
           (\ x__
              -> case x__ of
                   (Prelude.Just (StakeCredential'ScriptHash x__val))
                     -> Prelude.Just x__val
                   _otherwise -> Prelude.Nothing)
           (\ _ y__ -> Prelude.fmap StakeCredential'ScriptHash y__))
instance Data.ProtoLens.Field.HasField StakeCredential "scriptHash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeCredential'stakeCredential
           (\ x__ y__ -> x__ {_StakeCredential'stakeCredential = y__}))
        ((Prelude..)
           (Lens.Family2.Unchecked.lens
              (\ x__
                 -> case x__ of
                      (Prelude.Just (StakeCredential'ScriptHash x__val))
                        -> Prelude.Just x__val
                      _otherwise -> Prelude.Nothing)
              (\ _ y__ -> Prelude.fmap StakeCredential'ScriptHash y__))
           (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault))
instance Data.ProtoLens.Message StakeCredential where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.StakeCredential"
  packedMessageDescriptor _
    = "\n\
      \\SIStakeCredential\DC2$\n\
      \\raddr_key_hash\CAN\SOH \SOH(\fH\NULR\vaddrKeyHash\DC2!\n\
      \\vscript_hash\CAN\STX \SOH(\fH\NULR\n\
      \scriptHashB\DC2\n\
      \\DLEstake_credential"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        addrKeyHash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "addr_key_hash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'addrKeyHash")) ::
              Data.ProtoLens.FieldDescriptor StakeCredential
        scriptHash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "script_hash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'scriptHash")) ::
              Data.ProtoLens.FieldDescriptor StakeCredential
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, addrKeyHash__field_descriptor),
           (Data.ProtoLens.Tag 2, scriptHash__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _StakeCredential'_unknownFields
        (\ x__ y__ -> x__ {_StakeCredential'_unknownFields = y__})
  defMessage
    = StakeCredential'_constructor
        {_StakeCredential'stakeCredential = Prelude.Nothing,
         _StakeCredential'_unknownFields = []}
  parseMessage
    = let
        loop ::
          StakeCredential
          -> Data.ProtoLens.Encoding.Bytes.Parser StakeCredential
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "addr_key_hash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"addrKeyHash") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "script_hash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"scriptHash") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "StakeCredential"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'stakeCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just (StakeCredential'AddrKeyHash v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((\ bs
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
                                (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          v)
                (Prelude.Just (StakeCredential'ScriptHash v))
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                       ((\ bs
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt
                                   (Prelude.fromIntegral (Data.ByteString.length bs)))
                                (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          v))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData StakeCredential where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_StakeCredential'_unknownFields x__)
             (Control.DeepSeq.deepseq (_StakeCredential'stakeCredential x__) ())
instance Control.DeepSeq.NFData StakeCredential'StakeCredential where
  rnf (StakeCredential'AddrKeyHash x__) = Control.DeepSeq.rnf x__
  rnf (StakeCredential'ScriptHash x__) = Control.DeepSeq.rnf x__
_StakeCredential'AddrKeyHash ::
  Data.ProtoLens.Prism.Prism' StakeCredential'StakeCredential Data.ByteString.ByteString
_StakeCredential'AddrKeyHash
  = Data.ProtoLens.Prism.prism'
      StakeCredential'AddrKeyHash
      (\ p__
         -> case p__ of
              (StakeCredential'AddrKeyHash p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
_StakeCredential'ScriptHash ::
  Data.ProtoLens.Prism.Prism' StakeCredential'StakeCredential Data.ByteString.ByteString
_StakeCredential'ScriptHash
  = Data.ProtoLens.Prism.prism'
      StakeCredential'ScriptHash
      (\ p__
         -> case p__ of
              (StakeCredential'ScriptHash p__val) -> Prelude.Just p__val
              _otherwise -> Prelude.Nothing)
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.stakeCredential' @:: Lens' StakeDelegationCert StakeCredential@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'stakeCredential' @:: Lens' StakeDelegationCert (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.poolKeyhash' @:: Lens' StakeDelegationCert Data.ByteString.ByteString@ -}
data StakeDelegationCert
  = StakeDelegationCert'_constructor {_StakeDelegationCert'stakeCredential :: !(Prelude.Maybe StakeCredential),
                                      _StakeDelegationCert'poolKeyhash :: !Data.ByteString.ByteString,
                                      _StakeDelegationCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show StakeDelegationCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField StakeDelegationCert "stakeCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeDelegationCert'stakeCredential
           (\ x__ y__ -> x__ {_StakeDelegationCert'stakeCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField StakeDelegationCert "maybe'stakeCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeDelegationCert'stakeCredential
           (\ x__ y__ -> x__ {_StakeDelegationCert'stakeCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField StakeDelegationCert "poolKeyhash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeDelegationCert'poolKeyhash
           (\ x__ y__ -> x__ {_StakeDelegationCert'poolKeyhash = y__}))
        Prelude.id
instance Data.ProtoLens.Message StakeDelegationCert where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.StakeDelegationCert"
  packedMessageDescriptor _
    = "\n\
      \\DC3StakeDelegationCert\DC2S\n\
      \\DLEstake_credential\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\SIstakeCredential\DC2!\n\
      \\fpool_keyhash\CAN\STX \SOH(\fR\vpoolKeyhash"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        stakeCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeCredential")) ::
              Data.ProtoLens.FieldDescriptor StakeDelegationCert
        poolKeyhash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pool_keyhash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"poolKeyhash")) ::
              Data.ProtoLens.FieldDescriptor StakeDelegationCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, stakeCredential__field_descriptor),
           (Data.ProtoLens.Tag 2, poolKeyhash__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _StakeDelegationCert'_unknownFields
        (\ x__ y__ -> x__ {_StakeDelegationCert'_unknownFields = y__})
  defMessage
    = StakeDelegationCert'_constructor
        {_StakeDelegationCert'stakeCredential = Prelude.Nothing,
         _StakeDelegationCert'poolKeyhash = Data.ProtoLens.fieldDefault,
         _StakeDelegationCert'_unknownFields = []}
  parseMessage
    = let
        loop ::
          StakeDelegationCert
          -> Data.ProtoLens.Encoding.Bytes.Parser StakeDelegationCert
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeCredential") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "pool_keyhash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"poolKeyhash") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "StakeDelegationCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'stakeCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view (Data.ProtoLens.Field.field @"poolKeyhash") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData StakeDelegationCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_StakeDelegationCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_StakeDelegationCert'stakeCredential x__)
                (Control.DeepSeq.deepseq
                   (_StakeDelegationCert'poolKeyhash x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.stakeCredential' @:: Lens' StakeRegDelegCert StakeCredential@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'stakeCredential' @:: Lens' StakeRegDelegCert (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.poolKeyhash' @:: Lens' StakeRegDelegCert Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.coin' @:: Lens' StakeRegDelegCert Data.Word.Word64@ -}
data StakeRegDelegCert
  = StakeRegDelegCert'_constructor {_StakeRegDelegCert'stakeCredential :: !(Prelude.Maybe StakeCredential),
                                    _StakeRegDelegCert'poolKeyhash :: !Data.ByteString.ByteString,
                                    _StakeRegDelegCert'coin :: !Data.Word.Word64,
                                    _StakeRegDelegCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show StakeRegDelegCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField StakeRegDelegCert "stakeCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeRegDelegCert'stakeCredential
           (\ x__ y__ -> x__ {_StakeRegDelegCert'stakeCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField StakeRegDelegCert "maybe'stakeCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeRegDelegCert'stakeCredential
           (\ x__ y__ -> x__ {_StakeRegDelegCert'stakeCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField StakeRegDelegCert "poolKeyhash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeRegDelegCert'poolKeyhash
           (\ x__ y__ -> x__ {_StakeRegDelegCert'poolKeyhash = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField StakeRegDelegCert "coin" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeRegDelegCert'coin
           (\ x__ y__ -> x__ {_StakeRegDelegCert'coin = y__}))
        Prelude.id
instance Data.ProtoLens.Message StakeRegDelegCert where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.StakeRegDelegCert"
  packedMessageDescriptor _
    = "\n\
      \\DC1StakeRegDelegCert\DC2S\n\
      \\DLEstake_credential\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\SIstakeCredential\DC2!\n\
      \\fpool_keyhash\CAN\STX \SOH(\fR\vpoolKeyhash\DC2\DC2\n\
      \\EOTcoin\CAN\ETX \SOH(\EOTR\EOTcoin"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        stakeCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeCredential")) ::
              Data.ProtoLens.FieldDescriptor StakeRegDelegCert
        poolKeyhash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pool_keyhash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"poolKeyhash")) ::
              Data.ProtoLens.FieldDescriptor StakeRegDelegCert
        coin__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "coin"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"coin")) ::
              Data.ProtoLens.FieldDescriptor StakeRegDelegCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, stakeCredential__field_descriptor),
           (Data.ProtoLens.Tag 2, poolKeyhash__field_descriptor),
           (Data.ProtoLens.Tag 3, coin__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _StakeRegDelegCert'_unknownFields
        (\ x__ y__ -> x__ {_StakeRegDelegCert'_unknownFields = y__})
  defMessage
    = StakeRegDelegCert'_constructor
        {_StakeRegDelegCert'stakeCredential = Prelude.Nothing,
         _StakeRegDelegCert'poolKeyhash = Data.ProtoLens.fieldDefault,
         _StakeRegDelegCert'coin = Data.ProtoLens.fieldDefault,
         _StakeRegDelegCert'_unknownFields = []}
  parseMessage
    = let
        loop ::
          StakeRegDelegCert
          -> Data.ProtoLens.Encoding.Bytes.Parser StakeRegDelegCert
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeCredential") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "pool_keyhash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"poolKeyhash") y x)
                        24
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "coin"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"coin") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "StakeRegDelegCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'stakeCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view (Data.ProtoLens.Field.field @"poolKeyhash") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                ((Data.Monoid.<>)
                   (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"coin") _x
                    in
                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                          Data.Monoid.mempty
                      else
                          (Data.Monoid.<>)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData StakeRegDelegCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_StakeRegDelegCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_StakeRegDelegCert'stakeCredential x__)
                (Control.DeepSeq.deepseq
                   (_StakeRegDelegCert'poolKeyhash x__)
                   (Control.DeepSeq.deepseq (_StakeRegDelegCert'coin x__) ())))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.stakeCredential' @:: Lens' StakeVoteDelegCert StakeCredential@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'stakeCredential' @:: Lens' StakeVoteDelegCert (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.poolKeyhash' @:: Lens' StakeVoteDelegCert Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.drep' @:: Lens' StakeVoteDelegCert DRep@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'drep' @:: Lens' StakeVoteDelegCert (Prelude.Maybe DRep)@ -}
data StakeVoteDelegCert
  = StakeVoteDelegCert'_constructor {_StakeVoteDelegCert'stakeCredential :: !(Prelude.Maybe StakeCredential),
                                     _StakeVoteDelegCert'poolKeyhash :: !Data.ByteString.ByteString,
                                     _StakeVoteDelegCert'drep :: !(Prelude.Maybe DRep),
                                     _StakeVoteDelegCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show StakeVoteDelegCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField StakeVoteDelegCert "stakeCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeVoteDelegCert'stakeCredential
           (\ x__ y__ -> x__ {_StakeVoteDelegCert'stakeCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField StakeVoteDelegCert "maybe'stakeCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeVoteDelegCert'stakeCredential
           (\ x__ y__ -> x__ {_StakeVoteDelegCert'stakeCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField StakeVoteDelegCert "poolKeyhash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeVoteDelegCert'poolKeyhash
           (\ x__ y__ -> x__ {_StakeVoteDelegCert'poolKeyhash = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField StakeVoteDelegCert "drep" DRep where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeVoteDelegCert'drep
           (\ x__ y__ -> x__ {_StakeVoteDelegCert'drep = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField StakeVoteDelegCert "maybe'drep" (Prelude.Maybe DRep) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeVoteDelegCert'drep
           (\ x__ y__ -> x__ {_StakeVoteDelegCert'drep = y__}))
        Prelude.id
instance Data.ProtoLens.Message StakeVoteDelegCert where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.StakeVoteDelegCert"
  packedMessageDescriptor _
    = "\n\
      \\DC2StakeVoteDelegCert\DC2S\n\
      \\DLEstake_credential\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\SIstakeCredential\DC2!\n\
      \\fpool_keyhash\CAN\STX \SOH(\fR\vpoolKeyhash\DC21\n\
      \\EOTdrep\CAN\ETX \SOH(\v2\GS.utxorpc.v1alpha.cardano.DRepR\EOTdrep"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        stakeCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeCredential")) ::
              Data.ProtoLens.FieldDescriptor StakeVoteDelegCert
        poolKeyhash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pool_keyhash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"poolKeyhash")) ::
              Data.ProtoLens.FieldDescriptor StakeVoteDelegCert
        drep__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "drep"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor DRep)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'drep")) ::
              Data.ProtoLens.FieldDescriptor StakeVoteDelegCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, stakeCredential__field_descriptor),
           (Data.ProtoLens.Tag 2, poolKeyhash__field_descriptor),
           (Data.ProtoLens.Tag 3, drep__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _StakeVoteDelegCert'_unknownFields
        (\ x__ y__ -> x__ {_StakeVoteDelegCert'_unknownFields = y__})
  defMessage
    = StakeVoteDelegCert'_constructor
        {_StakeVoteDelegCert'stakeCredential = Prelude.Nothing,
         _StakeVoteDelegCert'poolKeyhash = Data.ProtoLens.fieldDefault,
         _StakeVoteDelegCert'drep = Prelude.Nothing,
         _StakeVoteDelegCert'_unknownFields = []}
  parseMessage
    = let
        loop ::
          StakeVoteDelegCert
          -> Data.ProtoLens.Encoding.Bytes.Parser StakeVoteDelegCert
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeCredential") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "pool_keyhash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"poolKeyhash") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "drep"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"drep") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "StakeVoteDelegCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'stakeCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view (Data.ProtoLens.Field.field @"poolKeyhash") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                ((Data.Monoid.<>)
                   (case
                        Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'drep") _x
                    of
                      Prelude.Nothing -> Data.Monoid.mempty
                      (Prelude.Just _v)
                        -> (Data.Monoid.<>)
                             (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                             ((Prelude..)
                                (\ bs
                                   -> (Data.Monoid.<>)
                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                Data.ProtoLens.encodeMessage _v))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData StakeVoteDelegCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_StakeVoteDelegCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_StakeVoteDelegCert'stakeCredential x__)
                (Control.DeepSeq.deepseq
                   (_StakeVoteDelegCert'poolKeyhash x__)
                   (Control.DeepSeq.deepseq (_StakeVoteDelegCert'drep x__) ())))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.stakeCredential' @:: Lens' StakeVoteRegDelegCert StakeCredential@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'stakeCredential' @:: Lens' StakeVoteRegDelegCert (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.poolKeyhash' @:: Lens' StakeVoteRegDelegCert Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.drep' @:: Lens' StakeVoteRegDelegCert DRep@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'drep' @:: Lens' StakeVoteRegDelegCert (Prelude.Maybe DRep)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.coin' @:: Lens' StakeVoteRegDelegCert Data.Word.Word64@ -}
data StakeVoteRegDelegCert
  = StakeVoteRegDelegCert'_constructor {_StakeVoteRegDelegCert'stakeCredential :: !(Prelude.Maybe StakeCredential),
                                        _StakeVoteRegDelegCert'poolKeyhash :: !Data.ByteString.ByteString,
                                        _StakeVoteRegDelegCert'drep :: !(Prelude.Maybe DRep),
                                        _StakeVoteRegDelegCert'coin :: !Data.Word.Word64,
                                        _StakeVoteRegDelegCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show StakeVoteRegDelegCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField StakeVoteRegDelegCert "stakeCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeVoteRegDelegCert'stakeCredential
           (\ x__ y__ -> x__ {_StakeVoteRegDelegCert'stakeCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField StakeVoteRegDelegCert "maybe'stakeCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeVoteRegDelegCert'stakeCredential
           (\ x__ y__ -> x__ {_StakeVoteRegDelegCert'stakeCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField StakeVoteRegDelegCert "poolKeyhash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeVoteRegDelegCert'poolKeyhash
           (\ x__ y__ -> x__ {_StakeVoteRegDelegCert'poolKeyhash = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField StakeVoteRegDelegCert "drep" DRep where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeVoteRegDelegCert'drep
           (\ x__ y__ -> x__ {_StakeVoteRegDelegCert'drep = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField StakeVoteRegDelegCert "maybe'drep" (Prelude.Maybe DRep) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeVoteRegDelegCert'drep
           (\ x__ y__ -> x__ {_StakeVoteRegDelegCert'drep = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField StakeVoteRegDelegCert "coin" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _StakeVoteRegDelegCert'coin
           (\ x__ y__ -> x__ {_StakeVoteRegDelegCert'coin = y__}))
        Prelude.id
instance Data.ProtoLens.Message StakeVoteRegDelegCert where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.StakeVoteRegDelegCert"
  packedMessageDescriptor _
    = "\n\
      \\NAKStakeVoteRegDelegCert\DC2S\n\
      \\DLEstake_credential\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\SIstakeCredential\DC2!\n\
      \\fpool_keyhash\CAN\STX \SOH(\fR\vpoolKeyhash\DC21\n\
      \\EOTdrep\CAN\ETX \SOH(\v2\GS.utxorpc.v1alpha.cardano.DRepR\EOTdrep\DC2\DC2\n\
      \\EOTcoin\CAN\EOT \SOH(\EOTR\EOTcoin"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        stakeCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeCredential")) ::
              Data.ProtoLens.FieldDescriptor StakeVoteRegDelegCert
        poolKeyhash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "pool_keyhash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"poolKeyhash")) ::
              Data.ProtoLens.FieldDescriptor StakeVoteRegDelegCert
        drep__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "drep"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor DRep)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'drep")) ::
              Data.ProtoLens.FieldDescriptor StakeVoteRegDelegCert
        coin__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "coin"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"coin")) ::
              Data.ProtoLens.FieldDescriptor StakeVoteRegDelegCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, stakeCredential__field_descriptor),
           (Data.ProtoLens.Tag 2, poolKeyhash__field_descriptor),
           (Data.ProtoLens.Tag 3, drep__field_descriptor),
           (Data.ProtoLens.Tag 4, coin__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _StakeVoteRegDelegCert'_unknownFields
        (\ x__ y__ -> x__ {_StakeVoteRegDelegCert'_unknownFields = y__})
  defMessage
    = StakeVoteRegDelegCert'_constructor
        {_StakeVoteRegDelegCert'stakeCredential = Prelude.Nothing,
         _StakeVoteRegDelegCert'poolKeyhash = Data.ProtoLens.fieldDefault,
         _StakeVoteRegDelegCert'drep = Prelude.Nothing,
         _StakeVoteRegDelegCert'coin = Data.ProtoLens.fieldDefault,
         _StakeVoteRegDelegCert'_unknownFields = []}
  parseMessage
    = let
        loop ::
          StakeVoteRegDelegCert
          -> Data.ProtoLens.Encoding.Bytes.Parser StakeVoteRegDelegCert
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeCredential") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "pool_keyhash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"poolKeyhash") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "drep"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"drep") y x)
                        32
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "coin"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"coin") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "StakeVoteRegDelegCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'stakeCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view (Data.ProtoLens.Field.field @"poolKeyhash") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                ((Data.Monoid.<>)
                   (case
                        Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'drep") _x
                    of
                      Prelude.Nothing -> Data.Monoid.mempty
                      (Prelude.Just _v)
                        -> (Data.Monoid.<>)
                             (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                             ((Prelude..)
                                (\ bs
                                   -> (Data.Monoid.<>)
                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                Data.ProtoLens.encodeMessage _v))
                   ((Data.Monoid.<>)
                      (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"coin") _x
                       in
                         if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                             Data.Monoid.mempty
                         else
                             (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt 32)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                      (Data.ProtoLens.Encoding.Wire.buildFieldSet
                         (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))
instance Control.DeepSeq.NFData StakeVoteRegDelegCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_StakeVoteRegDelegCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_StakeVoteRegDelegCert'stakeCredential x__)
                (Control.DeepSeq.deepseq
                   (_StakeVoteRegDelegCert'poolKeyhash x__)
                   (Control.DeepSeq.deepseq
                      (_StakeVoteRegDelegCert'drep x__)
                      (Control.DeepSeq.deepseq (_StakeVoteRegDelegCert'coin x__) ()))))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.withdrawals' @:: Lens' TreasuryWithdrawalsAction [WithdrawalAmount]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'withdrawals' @:: Lens' TreasuryWithdrawalsAction (Data.Vector.Vector WithdrawalAmount)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.policyHash' @:: Lens' TreasuryWithdrawalsAction Data.ByteString.ByteString@ -}
data TreasuryWithdrawalsAction
  = TreasuryWithdrawalsAction'_constructor {_TreasuryWithdrawalsAction'withdrawals :: !(Data.Vector.Vector WithdrawalAmount),
                                            _TreasuryWithdrawalsAction'policyHash :: !Data.ByteString.ByteString,
                                            _TreasuryWithdrawalsAction'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show TreasuryWithdrawalsAction where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField TreasuryWithdrawalsAction "withdrawals" [WithdrawalAmount] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TreasuryWithdrawalsAction'withdrawals
           (\ x__ y__ -> x__ {_TreasuryWithdrawalsAction'withdrawals = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField TreasuryWithdrawalsAction "vec'withdrawals" (Data.Vector.Vector WithdrawalAmount) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TreasuryWithdrawalsAction'withdrawals
           (\ x__ y__ -> x__ {_TreasuryWithdrawalsAction'withdrawals = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TreasuryWithdrawalsAction "policyHash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TreasuryWithdrawalsAction'policyHash
           (\ x__ y__ -> x__ {_TreasuryWithdrawalsAction'policyHash = y__}))
        Prelude.id
instance Data.ProtoLens.Message TreasuryWithdrawalsAction where
  messageName _
    = Data.Text.pack
        "utxorpc.v1alpha.cardano.TreasuryWithdrawalsAction"
  packedMessageDescriptor _
    = "\n\
      \\EMTreasuryWithdrawalsAction\DC2K\n\
      \\vwithdrawals\CAN\SOH \ETX(\v2).utxorpc.v1alpha.cardano.WithdrawalAmountR\vwithdrawals\DC2\US\n\
      \\vpolicy_hash\CAN\STX \SOH(\fR\n\
      \policyHash"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        withdrawals__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "withdrawals"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor WithdrawalAmount)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked
                 (Data.ProtoLens.Field.field @"withdrawals")) ::
              Data.ProtoLens.FieldDescriptor TreasuryWithdrawalsAction
        policyHash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "policy_hash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"policyHash")) ::
              Data.ProtoLens.FieldDescriptor TreasuryWithdrawalsAction
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, withdrawals__field_descriptor),
           (Data.ProtoLens.Tag 2, policyHash__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _TreasuryWithdrawalsAction'_unknownFields
        (\ x__ y__
           -> x__ {_TreasuryWithdrawalsAction'_unknownFields = y__})
  defMessage
    = TreasuryWithdrawalsAction'_constructor
        {_TreasuryWithdrawalsAction'withdrawals = Data.Vector.Generic.empty,
         _TreasuryWithdrawalsAction'policyHash = Data.ProtoLens.fieldDefault,
         _TreasuryWithdrawalsAction'_unknownFields = []}
  parseMessage
    = let
        loop ::
          TreasuryWithdrawalsAction
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld WithdrawalAmount
             -> Data.ProtoLens.Encoding.Bytes.Parser TreasuryWithdrawalsAction
        loop x mutable'withdrawals
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'withdrawals <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                              (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                                 mutable'withdrawals)
                      (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'withdrawals") frozen'withdrawals
                              x))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "withdrawals"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append
                                          mutable'withdrawals y)
                                loop x v
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "policy_hash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"policyHash") y x)
                                  mutable'withdrawals
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
                                  mutable'withdrawals
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'withdrawals <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'withdrawals)
          "TreasuryWithdrawalsAction"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                (\ _v
                   -> (Data.Monoid.<>)
                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                        ((Prelude..)
                           (\ bs
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                           Data.ProtoLens.encodeMessage _v))
                (Lens.Family2.view
                   (Data.ProtoLens.Field.field @"vec'withdrawals") _x))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view (Data.ProtoLens.Field.field @"policyHash") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData TreasuryWithdrawalsAction where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_TreasuryWithdrawalsAction'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_TreasuryWithdrawalsAction'withdrawals x__)
                (Control.DeepSeq.deepseq
                   (_TreasuryWithdrawalsAction'policyHash x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.inputs' @:: Lens' Tx [TxInput]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'inputs' @:: Lens' Tx (Data.Vector.Vector TxInput)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.outputs' @:: Lens' Tx [TxOutput]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'outputs' @:: Lens' Tx (Data.Vector.Vector TxOutput)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.certificates' @:: Lens' Tx [Certificate]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'certificates' @:: Lens' Tx (Data.Vector.Vector Certificate)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.withdrawals' @:: Lens' Tx [Withdrawal]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'withdrawals' @:: Lens' Tx (Data.Vector.Vector Withdrawal)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.mint' @:: Lens' Tx [Multiasset]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'mint' @:: Lens' Tx (Data.Vector.Vector Multiasset)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.referenceInputs' @:: Lens' Tx [TxInput]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'referenceInputs' @:: Lens' Tx (Data.Vector.Vector TxInput)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.witnesses' @:: Lens' Tx WitnessSet@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'witnesses' @:: Lens' Tx (Prelude.Maybe WitnessSet)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.collateral' @:: Lens' Tx Collateral@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'collateral' @:: Lens' Tx (Prelude.Maybe Collateral)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.fee' @:: Lens' Tx Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.validity' @:: Lens' Tx TxValidity@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'validity' @:: Lens' Tx (Prelude.Maybe TxValidity)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.successful' @:: Lens' Tx Prelude.Bool@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.auxiliary' @:: Lens' Tx AuxData@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'auxiliary' @:: Lens' Tx (Prelude.Maybe AuxData)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.hash' @:: Lens' Tx Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.proposals' @:: Lens' Tx [GovernanceActionProposal]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'proposals' @:: Lens' Tx (Data.Vector.Vector GovernanceActionProposal)@ -}
data Tx
  = Tx'_constructor {_Tx'inputs :: !(Data.Vector.Vector TxInput),
                     _Tx'outputs :: !(Data.Vector.Vector TxOutput),
                     _Tx'certificates :: !(Data.Vector.Vector Certificate),
                     _Tx'withdrawals :: !(Data.Vector.Vector Withdrawal),
                     _Tx'mint :: !(Data.Vector.Vector Multiasset),
                     _Tx'referenceInputs :: !(Data.Vector.Vector TxInput),
                     _Tx'witnesses :: !(Prelude.Maybe WitnessSet),
                     _Tx'collateral :: !(Prelude.Maybe Collateral),
                     _Tx'fee :: !Data.Word.Word64,
                     _Tx'validity :: !(Prelude.Maybe TxValidity),
                     _Tx'successful :: !Prelude.Bool,
                     _Tx'auxiliary :: !(Prelude.Maybe AuxData),
                     _Tx'hash :: !Data.ByteString.ByteString,
                     _Tx'proposals :: !(Data.Vector.Vector GovernanceActionProposal),
                     _Tx'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Tx where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Tx "inputs" [TxInput] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'inputs (\ x__ y__ -> x__ {_Tx'inputs = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField Tx "vec'inputs" (Data.Vector.Vector TxInput) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'inputs (\ x__ y__ -> x__ {_Tx'inputs = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Tx "outputs" [TxOutput] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'outputs (\ x__ y__ -> x__ {_Tx'outputs = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField Tx "vec'outputs" (Data.Vector.Vector TxOutput) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'outputs (\ x__ y__ -> x__ {_Tx'outputs = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Tx "certificates" [Certificate] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'certificates (\ x__ y__ -> x__ {_Tx'certificates = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField Tx "vec'certificates" (Data.Vector.Vector Certificate) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'certificates (\ x__ y__ -> x__ {_Tx'certificates = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Tx "withdrawals" [Withdrawal] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'withdrawals (\ x__ y__ -> x__ {_Tx'withdrawals = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField Tx "vec'withdrawals" (Data.Vector.Vector Withdrawal) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'withdrawals (\ x__ y__ -> x__ {_Tx'withdrawals = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Tx "mint" [Multiasset] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'mint (\ x__ y__ -> x__ {_Tx'mint = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField Tx "vec'mint" (Data.Vector.Vector Multiasset) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'mint (\ x__ y__ -> x__ {_Tx'mint = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Tx "referenceInputs" [TxInput] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'referenceInputs (\ x__ y__ -> x__ {_Tx'referenceInputs = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField Tx "vec'referenceInputs" (Data.Vector.Vector TxInput) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'referenceInputs (\ x__ y__ -> x__ {_Tx'referenceInputs = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Tx "witnesses" WitnessSet where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'witnesses (\ x__ y__ -> x__ {_Tx'witnesses = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Tx "maybe'witnesses" (Prelude.Maybe WitnessSet) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'witnesses (\ x__ y__ -> x__ {_Tx'witnesses = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Tx "collateral" Collateral where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'collateral (\ x__ y__ -> x__ {_Tx'collateral = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Tx "maybe'collateral" (Prelude.Maybe Collateral) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'collateral (\ x__ y__ -> x__ {_Tx'collateral = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Tx "fee" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'fee (\ x__ y__ -> x__ {_Tx'fee = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Tx "validity" TxValidity where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'validity (\ x__ y__ -> x__ {_Tx'validity = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Tx "maybe'validity" (Prelude.Maybe TxValidity) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'validity (\ x__ y__ -> x__ {_Tx'validity = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Tx "successful" Prelude.Bool where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'successful (\ x__ y__ -> x__ {_Tx'successful = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Tx "auxiliary" AuxData where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'auxiliary (\ x__ y__ -> x__ {_Tx'auxiliary = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Tx "maybe'auxiliary" (Prelude.Maybe AuxData) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'auxiliary (\ x__ y__ -> x__ {_Tx'auxiliary = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Tx "hash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'hash (\ x__ y__ -> x__ {_Tx'hash = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Tx "proposals" [GovernanceActionProposal] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'proposals (\ x__ y__ -> x__ {_Tx'proposals = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField Tx "vec'proposals" (Data.Vector.Vector GovernanceActionProposal) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Tx'proposals (\ x__ y__ -> x__ {_Tx'proposals = y__}))
        Prelude.id
instance Data.ProtoLens.Message Tx where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.Tx"
  packedMessageDescriptor _
    = "\n\
      \\STXTx\DC28\n\
      \\ACKinputs\CAN\SOH \ETX(\v2 .utxorpc.v1alpha.cardano.TxInputR\ACKinputs\DC2;\n\
      \\aoutputs\CAN\STX \ETX(\v2!.utxorpc.v1alpha.cardano.TxOutputR\aoutputs\DC2H\n\
      \\fcertificates\CAN\ETX \ETX(\v2$.utxorpc.v1alpha.cardano.CertificateR\fcertificates\DC2E\n\
      \\vwithdrawals\CAN\EOT \ETX(\v2#.utxorpc.v1alpha.cardano.WithdrawalR\vwithdrawals\DC27\n\
      \\EOTmint\CAN\ENQ \ETX(\v2#.utxorpc.v1alpha.cardano.MultiassetR\EOTmint\DC2K\n\
      \\DLEreference_inputs\CAN\ACK \ETX(\v2 .utxorpc.v1alpha.cardano.TxInputR\SIreferenceInputs\DC2A\n\
      \\twitnesses\CAN\a \SOH(\v2#.utxorpc.v1alpha.cardano.WitnessSetR\twitnesses\DC2C\n\
      \\n\
      \collateral\CAN\b \SOH(\v2#.utxorpc.v1alpha.cardano.CollateralR\n\
      \collateral\DC2\DLE\n\
      \\ETXfee\CAN\t \SOH(\EOTR\ETXfee\DC2?\n\
      \\bvalidity\CAN\n\
      \ \SOH(\v2#.utxorpc.v1alpha.cardano.TxValidityR\bvalidity\DC2\RS\n\
      \\n\
      \successful\CAN\v \SOH(\bR\n\
      \successful\DC2>\n\
      \\tauxiliary\CAN\f \SOH(\v2 .utxorpc.v1alpha.cardano.AuxDataR\tauxiliary\DC2\DC2\n\
      \\EOThash\CAN\r \SOH(\fR\EOThash\DC2O\n\
      \\tproposals\CAN\SO \ETX(\v21.utxorpc.v1alpha.cardano.GovernanceActionProposalR\tproposals"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        inputs__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "inputs"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor TxInput)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"inputs")) ::
              Data.ProtoLens.FieldDescriptor Tx
        outputs__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "outputs"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor TxOutput)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"outputs")) ::
              Data.ProtoLens.FieldDescriptor Tx
        certificates__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "certificates"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Certificate)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked
                 (Data.ProtoLens.Field.field @"certificates")) ::
              Data.ProtoLens.FieldDescriptor Tx
        withdrawals__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "withdrawals"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Withdrawal)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked
                 (Data.ProtoLens.Field.field @"withdrawals")) ::
              Data.ProtoLens.FieldDescriptor Tx
        mint__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "mint"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Multiasset)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"mint")) ::
              Data.ProtoLens.FieldDescriptor Tx
        referenceInputs__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "reference_inputs"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor TxInput)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked
                 (Data.ProtoLens.Field.field @"referenceInputs")) ::
              Data.ProtoLens.FieldDescriptor Tx
        witnesses__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "witnesses"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor WitnessSet)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'witnesses")) ::
              Data.ProtoLens.FieldDescriptor Tx
        collateral__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "collateral"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Collateral)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'collateral")) ::
              Data.ProtoLens.FieldDescriptor Tx
        fee__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "fee"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"fee")) ::
              Data.ProtoLens.FieldDescriptor Tx
        validity__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "validity"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor TxValidity)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'validity")) ::
              Data.ProtoLens.FieldDescriptor Tx
        successful__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "successful"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
                 Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"successful")) ::
              Data.ProtoLens.FieldDescriptor Tx
        auxiliary__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "auxiliary"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor AuxData)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'auxiliary")) ::
              Data.ProtoLens.FieldDescriptor Tx
        hash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "hash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"hash")) ::
              Data.ProtoLens.FieldDescriptor Tx
        proposals__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "proposals"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor GovernanceActionProposal)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked
                 (Data.ProtoLens.Field.field @"proposals")) ::
              Data.ProtoLens.FieldDescriptor Tx
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, inputs__field_descriptor),
           (Data.ProtoLens.Tag 2, outputs__field_descriptor),
           (Data.ProtoLens.Tag 3, certificates__field_descriptor),
           (Data.ProtoLens.Tag 4, withdrawals__field_descriptor),
           (Data.ProtoLens.Tag 5, mint__field_descriptor),
           (Data.ProtoLens.Tag 6, referenceInputs__field_descriptor),
           (Data.ProtoLens.Tag 7, witnesses__field_descriptor),
           (Data.ProtoLens.Tag 8, collateral__field_descriptor),
           (Data.ProtoLens.Tag 9, fee__field_descriptor),
           (Data.ProtoLens.Tag 10, validity__field_descriptor),
           (Data.ProtoLens.Tag 11, successful__field_descriptor),
           (Data.ProtoLens.Tag 12, auxiliary__field_descriptor),
           (Data.ProtoLens.Tag 13, hash__field_descriptor),
           (Data.ProtoLens.Tag 14, proposals__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Tx'_unknownFields (\ x__ y__ -> x__ {_Tx'_unknownFields = y__})
  defMessage
    = Tx'_constructor
        {_Tx'inputs = Data.Vector.Generic.empty,
         _Tx'outputs = Data.Vector.Generic.empty,
         _Tx'certificates = Data.Vector.Generic.empty,
         _Tx'withdrawals = Data.Vector.Generic.empty,
         _Tx'mint = Data.Vector.Generic.empty,
         _Tx'referenceInputs = Data.Vector.Generic.empty,
         _Tx'witnesses = Prelude.Nothing, _Tx'collateral = Prelude.Nothing,
         _Tx'fee = Data.ProtoLens.fieldDefault,
         _Tx'validity = Prelude.Nothing,
         _Tx'successful = Data.ProtoLens.fieldDefault,
         _Tx'auxiliary = Prelude.Nothing,
         _Tx'hash = Data.ProtoLens.fieldDefault,
         _Tx'proposals = Data.Vector.Generic.empty, _Tx'_unknownFields = []}
  parseMessage
    = let
        loop ::
          Tx
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Certificate
             -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld TxInput
                -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Multiasset
                   -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld TxOutput
                      -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld GovernanceActionProposal
                         -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld TxInput
                            -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Withdrawal
                               -> Data.ProtoLens.Encoding.Bytes.Parser Tx
        loop
          x
          mutable'certificates
          mutable'inputs
          mutable'mint
          mutable'outputs
          mutable'proposals
          mutable'referenceInputs
          mutable'withdrawals
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'certificates <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                               (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                                  mutable'certificates)
                      frozen'inputs <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                         (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                            mutable'inputs)
                      frozen'mint <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'mint)
                      frozen'outputs <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                          (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                             mutable'outputs)
                      frozen'proposals <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                            (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                               mutable'proposals)
                      frozen'referenceInputs <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                                  (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                                     mutable'referenceInputs)
                      frozen'withdrawals <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                              (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                                 mutable'withdrawals)
                      (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'certificates")
                              frozen'certificates
                              (Lens.Family2.set
                                 (Data.ProtoLens.Field.field @"vec'inputs") frozen'inputs
                                 (Lens.Family2.set
                                    (Data.ProtoLens.Field.field @"vec'mint") frozen'mint
                                    (Lens.Family2.set
                                       (Data.ProtoLens.Field.field @"vec'outputs") frozen'outputs
                                       (Lens.Family2.set
                                          (Data.ProtoLens.Field.field @"vec'proposals")
                                          frozen'proposals
                                          (Lens.Family2.set
                                             (Data.ProtoLens.Field.field @"vec'referenceInputs")
                                             frozen'referenceInputs
                                             (Lens.Family2.set
                                                (Data.ProtoLens.Field.field @"vec'withdrawals")
                                                frozen'withdrawals x))))))))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "inputs"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'inputs y)
                                loop
                                  x mutable'certificates v mutable'mint mutable'outputs
                                  mutable'proposals mutable'referenceInputs mutable'withdrawals
                        18
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "outputs"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'outputs y)
                                loop
                                  x mutable'certificates mutable'inputs mutable'mint v
                                  mutable'proposals mutable'referenceInputs mutable'withdrawals
                        26
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "certificates"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append
                                          mutable'certificates y)
                                loop
                                  x v mutable'inputs mutable'mint mutable'outputs mutable'proposals
                                  mutable'referenceInputs mutable'withdrawals
                        34
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "withdrawals"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append
                                          mutable'withdrawals y)
                                loop
                                  x mutable'certificates mutable'inputs mutable'mint mutable'outputs
                                  mutable'proposals mutable'referenceInputs v
                        42
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "mint"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'mint y)
                                loop
                                  x mutable'certificates mutable'inputs v mutable'outputs
                                  mutable'proposals mutable'referenceInputs mutable'withdrawals
                        50
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "reference_inputs"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append
                                          mutable'referenceInputs y)
                                loop
                                  x mutable'certificates mutable'inputs mutable'mint mutable'outputs
                                  mutable'proposals v mutable'withdrawals
                        58
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "witnesses"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"witnesses") y x)
                                  mutable'certificates mutable'inputs mutable'mint mutable'outputs
                                  mutable'proposals mutable'referenceInputs mutable'withdrawals
                        66
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "collateral"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"collateral") y x)
                                  mutable'certificates mutable'inputs mutable'mint mutable'outputs
                                  mutable'proposals mutable'referenceInputs mutable'withdrawals
                        72
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "fee"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"fee") y x)
                                  mutable'certificates mutable'inputs mutable'mint mutable'outputs
                                  mutable'proposals mutable'referenceInputs mutable'withdrawals
                        82
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "validity"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"validity") y x)
                                  mutable'certificates mutable'inputs mutable'mint mutable'outputs
                                  mutable'proposals mutable'referenceInputs mutable'withdrawals
                        88
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "successful"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"successful") y x)
                                  mutable'certificates mutable'inputs mutable'mint mutable'outputs
                                  mutable'proposals mutable'referenceInputs mutable'withdrawals
                        98
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "auxiliary"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"auxiliary") y x)
                                  mutable'certificates mutable'inputs mutable'mint mutable'outputs
                                  mutable'proposals mutable'referenceInputs mutable'withdrawals
                        106
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "hash"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"hash") y x)
                                  mutable'certificates mutable'inputs mutable'mint mutable'outputs
                                  mutable'proposals mutable'referenceInputs mutable'withdrawals
                        114
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "proposals"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'proposals y)
                                loop
                                  x mutable'certificates mutable'inputs mutable'mint mutable'outputs
                                  v mutable'referenceInputs mutable'withdrawals
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
                                  mutable'certificates mutable'inputs mutable'mint mutable'outputs
                                  mutable'proposals mutable'referenceInputs mutable'withdrawals
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'certificates <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                        Data.ProtoLens.Encoding.Growing.new
              mutable'inputs <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                  Data.ProtoLens.Encoding.Growing.new
              mutable'mint <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                Data.ProtoLens.Encoding.Growing.new
              mutable'outputs <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                   Data.ProtoLens.Encoding.Growing.new
              mutable'proposals <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                     Data.ProtoLens.Encoding.Growing.new
              mutable'referenceInputs <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                           Data.ProtoLens.Encoding.Growing.new
              mutable'withdrawals <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       Data.ProtoLens.Encoding.Growing.new
              loop
                Data.ProtoLens.defMessage mutable'certificates mutable'inputs
                mutable'mint mutable'outputs mutable'proposals
                mutable'referenceInputs mutable'withdrawals)
          "Tx"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                (\ _v
                   -> (Data.Monoid.<>)
                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                        ((Prelude..)
                           (\ bs
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                           Data.ProtoLens.encodeMessage _v))
                (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'inputs") _x))
             ((Data.Monoid.<>)
                (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                   (\ _v
                      -> (Data.Monoid.<>)
                           (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                           ((Prelude..)
                              (\ bs
                                 -> (Data.Monoid.<>)
                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                              Data.ProtoLens.encodeMessage _v))
                   (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'outputs") _x))
                ((Data.Monoid.<>)
                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                      (\ _v
                         -> (Data.Monoid.<>)
                              (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                              ((Prelude..)
                                 (\ bs
                                    -> (Data.Monoid.<>)
                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
                                            (Prelude.fromIntegral (Data.ByteString.length bs)))
                                         (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                 Data.ProtoLens.encodeMessage _v))
                      (Lens.Family2.view
                         (Data.ProtoLens.Field.field @"vec'certificates") _x))
                   ((Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                         (\ _v
                            -> (Data.Monoid.<>)
                                 (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                                 ((Prelude..)
                                    (\ bs
                                       -> (Data.Monoid.<>)
                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
                                               (Prelude.fromIntegral (Data.ByteString.length bs)))
                                            (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                    Data.ProtoLens.encodeMessage _v))
                         (Lens.Family2.view
                            (Data.ProtoLens.Field.field @"vec'withdrawals") _x))
                      ((Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                            (\ _v
                               -> (Data.Monoid.<>)
                                    (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
                                    ((Prelude..)
                                       (\ bs
                                          -> (Data.Monoid.<>)
                                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                  (Prelude.fromIntegral
                                                     (Data.ByteString.length bs)))
                                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                       Data.ProtoLens.encodeMessage _v))
                            (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'mint") _x))
                         ((Data.Monoid.<>)
                            (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                               (\ _v
                                  -> (Data.Monoid.<>)
                                       (Data.ProtoLens.Encoding.Bytes.putVarInt 50)
                                       ((Prelude..)
                                          (\ bs
                                             -> (Data.Monoid.<>)
                                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                     (Prelude.fromIntegral
                                                        (Data.ByteString.length bs)))
                                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                          Data.ProtoLens.encodeMessage _v))
                               (Lens.Family2.view
                                  (Data.ProtoLens.Field.field @"vec'referenceInputs") _x))
                            ((Data.Monoid.<>)
                               (case
                                    Lens.Family2.view
                                      (Data.ProtoLens.Field.field @"maybe'witnesses") _x
                                of
                                  Prelude.Nothing -> Data.Monoid.mempty
                                  (Prelude.Just _v)
                                    -> (Data.Monoid.<>)
                                         (Data.ProtoLens.Encoding.Bytes.putVarInt 58)
                                         ((Prelude..)
                                            (\ bs
                                               -> (Data.Monoid.<>)
                                                    (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                       (Prelude.fromIntegral
                                                          (Data.ByteString.length bs)))
                                                    (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                            Data.ProtoLens.encodeMessage _v))
                               ((Data.Monoid.<>)
                                  (case
                                       Lens.Family2.view
                                         (Data.ProtoLens.Field.field @"maybe'collateral") _x
                                   of
                                     Prelude.Nothing -> Data.Monoid.mempty
                                     (Prelude.Just _v)
                                       -> (Data.Monoid.<>)
                                            (Data.ProtoLens.Encoding.Bytes.putVarInt 66)
                                            ((Prelude..)
                                               (\ bs
                                                  -> (Data.Monoid.<>)
                                                       (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                          (Prelude.fromIntegral
                                                             (Data.ByteString.length bs)))
                                                       (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                               Data.ProtoLens.encodeMessage _v))
                                  ((Data.Monoid.<>)
                                     (let
                                        _v
                                          = Lens.Family2.view (Data.ProtoLens.Field.field @"fee") _x
                                      in
                                        if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                                            Data.Monoid.mempty
                                        else
                                            (Data.Monoid.<>)
                                              (Data.ProtoLens.Encoding.Bytes.putVarInt 72)
                                              (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                                     ((Data.Monoid.<>)
                                        (case
                                             Lens.Family2.view
                                               (Data.ProtoLens.Field.field @"maybe'validity") _x
                                         of
                                           Prelude.Nothing -> Data.Monoid.mempty
                                           (Prelude.Just _v)
                                             -> (Data.Monoid.<>)
                                                  (Data.ProtoLens.Encoding.Bytes.putVarInt 82)
                                                  ((Prelude..)
                                                     (\ bs
                                                        -> (Data.Monoid.<>)
                                                             (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                (Prelude.fromIntegral
                                                                   (Data.ByteString.length bs)))
                                                             (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                bs))
                                                     Data.ProtoLens.encodeMessage _v))
                                        ((Data.Monoid.<>)
                                           (let
                                              _v
                                                = Lens.Family2.view
                                                    (Data.ProtoLens.Field.field @"successful") _x
                                            in
                                              if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                                                  Data.Monoid.mempty
                                              else
                                                  (Data.Monoid.<>)
                                                    (Data.ProtoLens.Encoding.Bytes.putVarInt 88)
                                                    ((Prelude..)
                                                       Data.ProtoLens.Encoding.Bytes.putVarInt
                                                       (\ b -> if b then 1 else 0) _v))
                                           ((Data.Monoid.<>)
                                              (case
                                                   Lens.Family2.view
                                                     (Data.ProtoLens.Field.field @"maybe'auxiliary")
                                                     _x
                                               of
                                                 Prelude.Nothing -> Data.Monoid.mempty
                                                 (Prelude.Just _v)
                                                   -> (Data.Monoid.<>)
                                                        (Data.ProtoLens.Encoding.Bytes.putVarInt 98)
                                                        ((Prelude..)
                                                           (\ bs
                                                              -> (Data.Monoid.<>)
                                                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                      (Prelude.fromIntegral
                                                                         (Data.ByteString.length
                                                                            bs)))
                                                                   (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                      bs))
                                                           Data.ProtoLens.encodeMessage _v))
                                              ((Data.Monoid.<>)
                                                 (let
                                                    _v
                                                      = Lens.Family2.view
                                                          (Data.ProtoLens.Field.field @"hash") _x
                                                  in
                                                    if (Prelude.==)
                                                         _v Data.ProtoLens.fieldDefault then
                                                        Data.Monoid.mempty
                                                    else
                                                        (Data.Monoid.<>)
                                                          (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                             106)
                                                          ((\ bs
                                                              -> (Data.Monoid.<>)
                                                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                      (Prelude.fromIntegral
                                                                         (Data.ByteString.length
                                                                            bs)))
                                                                   (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                      bs))
                                                             _v))
                                                 ((Data.Monoid.<>)
                                                    (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                                                       (\ _v
                                                          -> (Data.Monoid.<>)
                                                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                  114)
                                                               ((Prelude..)
                                                                  (\ bs
                                                                     -> (Data.Monoid.<>)
                                                                          (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                                             (Prelude.fromIntegral
                                                                                (Data.ByteString.length
                                                                                   bs)))
                                                                          (Data.ProtoLens.Encoding.Bytes.putBytes
                                                                             bs))
                                                                  Data.ProtoLens.encodeMessage _v))
                                                       (Lens.Family2.view
                                                          (Data.ProtoLens.Field.field
                                                             @"vec'proposals")
                                                          _x))
                                                    (Data.ProtoLens.Encoding.Wire.buildFieldSet
                                                       (Lens.Family2.view
                                                          Data.ProtoLens.unknownFields
                                                          _x)))))))))))))))
instance Control.DeepSeq.NFData Tx where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Tx'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Tx'inputs x__)
                (Control.DeepSeq.deepseq
                   (_Tx'outputs x__)
                   (Control.DeepSeq.deepseq
                      (_Tx'certificates x__)
                      (Control.DeepSeq.deepseq
                         (_Tx'withdrawals x__)
                         (Control.DeepSeq.deepseq
                            (_Tx'mint x__)
                            (Control.DeepSeq.deepseq
                               (_Tx'referenceInputs x__)
                               (Control.DeepSeq.deepseq
                                  (_Tx'witnesses x__)
                                  (Control.DeepSeq.deepseq
                                     (_Tx'collateral x__)
                                     (Control.DeepSeq.deepseq
                                        (_Tx'fee x__)
                                        (Control.DeepSeq.deepseq
                                           (_Tx'validity x__)
                                           (Control.DeepSeq.deepseq
                                              (_Tx'successful x__)
                                              (Control.DeepSeq.deepseq
                                                 (_Tx'auxiliary x__)
                                                 (Control.DeepSeq.deepseq
                                                    (_Tx'hash x__)
                                                    (Control.DeepSeq.deepseq
                                                       (_Tx'proposals x__) ()))))))))))))))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.fee' @:: Lens' TxEval Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.exUnits' @:: Lens' TxEval ExUnits@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'exUnits' @:: Lens' TxEval (Prelude.Maybe ExUnits)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.errors' @:: Lens' TxEval [EvalError]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'errors' @:: Lens' TxEval (Data.Vector.Vector EvalError)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.traces' @:: Lens' TxEval [EvalTrace]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'traces' @:: Lens' TxEval (Data.Vector.Vector EvalTrace)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.redeemers' @:: Lens' TxEval [Redeemer]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'redeemers' @:: Lens' TxEval (Data.Vector.Vector Redeemer)@ -}
data TxEval
  = TxEval'_constructor {_TxEval'fee :: !Data.Word.Word64,
                         _TxEval'exUnits :: !(Prelude.Maybe ExUnits),
                         _TxEval'errors :: !(Data.Vector.Vector EvalError),
                         _TxEval'traces :: !(Data.Vector.Vector EvalTrace),
                         _TxEval'redeemers :: !(Data.Vector.Vector Redeemer),
                         _TxEval'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show TxEval where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField TxEval "fee" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxEval'fee (\ x__ y__ -> x__ {_TxEval'fee = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxEval "exUnits" ExUnits where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxEval'exUnits (\ x__ y__ -> x__ {_TxEval'exUnits = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField TxEval "maybe'exUnits" (Prelude.Maybe ExUnits) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxEval'exUnits (\ x__ y__ -> x__ {_TxEval'exUnits = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxEval "errors" [EvalError] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxEval'errors (\ x__ y__ -> x__ {_TxEval'errors = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField TxEval "vec'errors" (Data.Vector.Vector EvalError) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxEval'errors (\ x__ y__ -> x__ {_TxEval'errors = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxEval "traces" [EvalTrace] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxEval'traces (\ x__ y__ -> x__ {_TxEval'traces = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField TxEval "vec'traces" (Data.Vector.Vector EvalTrace) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxEval'traces (\ x__ y__ -> x__ {_TxEval'traces = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxEval "redeemers" [Redeemer] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxEval'redeemers (\ x__ y__ -> x__ {_TxEval'redeemers = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField TxEval "vec'redeemers" (Data.Vector.Vector Redeemer) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxEval'redeemers (\ x__ y__ -> x__ {_TxEval'redeemers = y__}))
        Prelude.id
instance Data.ProtoLens.Message TxEval where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.TxEval"
  packedMessageDescriptor _
    = "\n\
      \\ACKTxEval\DC2\DLE\n\
      \\ETXfee\CAN\SOH \SOH(\EOTR\ETXfee\DC2;\n\
      \\bex_units\CAN\STX \SOH(\v2 .utxorpc.v1alpha.cardano.ExUnitsR\aexUnits\DC2:\n\
      \\ACKerrors\CAN\ETX \ETX(\v2\".utxorpc.v1alpha.cardano.EvalErrorR\ACKerrors\DC2:\n\
      \\ACKtraces\CAN\EOT \ETX(\v2\".utxorpc.v1alpha.cardano.EvalTraceR\ACKtraces\DC2?\n\
      \\tredeemers\CAN\ENQ \ETX(\v2!.utxorpc.v1alpha.cardano.RedeemerR\tredeemers"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        fee__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "fee"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"fee")) ::
              Data.ProtoLens.FieldDescriptor TxEval
        exUnits__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "ex_units"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor ExUnits)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'exUnits")) ::
              Data.ProtoLens.FieldDescriptor TxEval
        errors__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "errors"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor EvalError)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"errors")) ::
              Data.ProtoLens.FieldDescriptor TxEval
        traces__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "traces"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor EvalTrace)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"traces")) ::
              Data.ProtoLens.FieldDescriptor TxEval
        redeemers__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "redeemers"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Redeemer)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked
                 (Data.ProtoLens.Field.field @"redeemers")) ::
              Data.ProtoLens.FieldDescriptor TxEval
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, fee__field_descriptor),
           (Data.ProtoLens.Tag 2, exUnits__field_descriptor),
           (Data.ProtoLens.Tag 3, errors__field_descriptor),
           (Data.ProtoLens.Tag 4, traces__field_descriptor),
           (Data.ProtoLens.Tag 5, redeemers__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _TxEval'_unknownFields
        (\ x__ y__ -> x__ {_TxEval'_unknownFields = y__})
  defMessage
    = TxEval'_constructor
        {_TxEval'fee = Data.ProtoLens.fieldDefault,
         _TxEval'exUnits = Prelude.Nothing,
         _TxEval'errors = Data.Vector.Generic.empty,
         _TxEval'traces = Data.Vector.Generic.empty,
         _TxEval'redeemers = Data.Vector.Generic.empty,
         _TxEval'_unknownFields = []}
  parseMessage
    = let
        loop ::
          TxEval
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld EvalError
             -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Redeemer
                -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld EvalTrace
                   -> Data.ProtoLens.Encoding.Bytes.Parser TxEval
        loop x mutable'errors mutable'redeemers mutable'traces
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'errors <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                         (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                            mutable'errors)
                      frozen'redeemers <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                            (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                               mutable'redeemers)
                      frozen'traces <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                         (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                            mutable'traces)
                      (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'errors") frozen'errors
                              (Lens.Family2.set
                                 (Data.ProtoLens.Field.field @"vec'redeemers") frozen'redeemers
                                 (Lens.Family2.set
                                    (Data.ProtoLens.Field.field @"vec'traces") frozen'traces x))))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "fee"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"fee") y x)
                                  mutable'errors mutable'redeemers mutable'traces
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "ex_units"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"exUnits") y x)
                                  mutable'errors mutable'redeemers mutable'traces
                        26
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "errors"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'errors y)
                                loop x v mutable'redeemers mutable'traces
                        34
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "traces"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'traces y)
                                loop x mutable'errors mutable'redeemers v
                        42
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "redeemers"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'redeemers y)
                                loop x mutable'errors v mutable'traces
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
                                  mutable'errors mutable'redeemers mutable'traces
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'errors <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                  Data.ProtoLens.Encoding.Growing.new
              mutable'redeemers <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                     Data.ProtoLens.Encoding.Growing.new
              mutable'traces <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                  Data.ProtoLens.Encoding.Growing.new
              loop
                Data.ProtoLens.defMessage mutable'errors mutable'redeemers
                mutable'traces)
          "TxEval"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"fee") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'exUnits") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                ((Data.Monoid.<>)
                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                      (\ _v
                         -> (Data.Monoid.<>)
                              (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                              ((Prelude..)
                                 (\ bs
                                    -> (Data.Monoid.<>)
                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
                                            (Prelude.fromIntegral (Data.ByteString.length bs)))
                                         (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                 Data.ProtoLens.encodeMessage _v))
                      (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'errors") _x))
                   ((Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                         (\ _v
                            -> (Data.Monoid.<>)
                                 (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                                 ((Prelude..)
                                    (\ bs
                                       -> (Data.Monoid.<>)
                                            (Data.ProtoLens.Encoding.Bytes.putVarInt
                                               (Prelude.fromIntegral (Data.ByteString.length bs)))
                                            (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                    Data.ProtoLens.encodeMessage _v))
                         (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'traces") _x))
                      ((Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                            (\ _v
                               -> (Data.Monoid.<>)
                                    (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
                                    ((Prelude..)
                                       (\ bs
                                          -> (Data.Monoid.<>)
                                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                  (Prelude.fromIntegral
                                                     (Data.ByteString.length bs)))
                                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                       Data.ProtoLens.encodeMessage _v))
                            (Lens.Family2.view
                               (Data.ProtoLens.Field.field @"vec'redeemers") _x))
                         (Data.ProtoLens.Encoding.Wire.buildFieldSet
                            (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))
instance Control.DeepSeq.NFData TxEval where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_TxEval'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_TxEval'fee x__)
                (Control.DeepSeq.deepseq
                   (_TxEval'exUnits x__)
                   (Control.DeepSeq.deepseq
                      (_TxEval'errors x__)
                      (Control.DeepSeq.deepseq
                         (_TxEval'traces x__)
                         (Control.DeepSeq.deepseq (_TxEval'redeemers x__) ())))))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.txHash' @:: Lens' TxInput Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.outputIndex' @:: Lens' TxInput Data.Word.Word32@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.asOutput' @:: Lens' TxInput TxOutput@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'asOutput' @:: Lens' TxInput (Prelude.Maybe TxOutput)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.redeemer' @:: Lens' TxInput Redeemer@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'redeemer' @:: Lens' TxInput (Prelude.Maybe Redeemer)@ -}
data TxInput
  = TxInput'_constructor {_TxInput'txHash :: !Data.ByteString.ByteString,
                          _TxInput'outputIndex :: !Data.Word.Word32,
                          _TxInput'asOutput :: !(Prelude.Maybe TxOutput),
                          _TxInput'redeemer :: !(Prelude.Maybe Redeemer),
                          _TxInput'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show TxInput where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField TxInput "txHash" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxInput'txHash (\ x__ y__ -> x__ {_TxInput'txHash = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxInput "outputIndex" Data.Word.Word32 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxInput'outputIndex
           (\ x__ y__ -> x__ {_TxInput'outputIndex = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxInput "asOutput" TxOutput where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxInput'asOutput (\ x__ y__ -> x__ {_TxInput'asOutput = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField TxInput "maybe'asOutput" (Prelude.Maybe TxOutput) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxInput'asOutput (\ x__ y__ -> x__ {_TxInput'asOutput = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxInput "redeemer" Redeemer where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxInput'redeemer (\ x__ y__ -> x__ {_TxInput'redeemer = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField TxInput "maybe'redeemer" (Prelude.Maybe Redeemer) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxInput'redeemer (\ x__ y__ -> x__ {_TxInput'redeemer = y__}))
        Prelude.id
instance Data.ProtoLens.Message TxInput where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.TxInput"
  packedMessageDescriptor _
    = "\n\
      \\aTxInput\DC2\ETB\n\
      \\atx_hash\CAN\SOH \SOH(\fR\ACKtxHash\DC2!\n\
      \\foutput_index\CAN\STX \SOH(\rR\voutputIndex\DC2>\n\
      \\tas_output\CAN\ETX \SOH(\v2!.utxorpc.v1alpha.cardano.TxOutputR\basOutput\DC2=\n\
      \\bredeemer\CAN\EOT \SOH(\v2!.utxorpc.v1alpha.cardano.RedeemerR\bredeemer"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        txHash__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "tx_hash"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"txHash")) ::
              Data.ProtoLens.FieldDescriptor TxInput
        outputIndex__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "output_index"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"outputIndex")) ::
              Data.ProtoLens.FieldDescriptor TxInput
        asOutput__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "as_output"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor TxOutput)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'asOutput")) ::
              Data.ProtoLens.FieldDescriptor TxInput
        redeemer__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "redeemer"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Redeemer)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'redeemer")) ::
              Data.ProtoLens.FieldDescriptor TxInput
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, txHash__field_descriptor),
           (Data.ProtoLens.Tag 2, outputIndex__field_descriptor),
           (Data.ProtoLens.Tag 3, asOutput__field_descriptor),
           (Data.ProtoLens.Tag 4, redeemer__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _TxInput'_unknownFields
        (\ x__ y__ -> x__ {_TxInput'_unknownFields = y__})
  defMessage
    = TxInput'_constructor
        {_TxInput'txHash = Data.ProtoLens.fieldDefault,
         _TxInput'outputIndex = Data.ProtoLens.fieldDefault,
         _TxInput'asOutput = Prelude.Nothing,
         _TxInput'redeemer = Prelude.Nothing, _TxInput'_unknownFields = []}
  parseMessage
    = let
        loop :: TxInput -> Data.ProtoLens.Encoding.Bytes.Parser TxInput
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "tx_hash"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"txHash") y x)
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (Prelude.fmap
                                          Prelude.fromIntegral
                                          Data.ProtoLens.Encoding.Bytes.getVarInt)
                                       "output_index"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"outputIndex") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "as_output"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"asOutput") y x)
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "redeemer"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"redeemer") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "TxInput"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"txHash") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         _v))
             ((Data.Monoid.<>)
                (let
                   _v
                     = Lens.Family2.view (Data.ProtoLens.Field.field @"outputIndex") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         ((Prelude..)
                            Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
                ((Data.Monoid.<>)
                   (case
                        Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'asOutput") _x
                    of
                      Prelude.Nothing -> Data.Monoid.mempty
                      (Prelude.Just _v)
                        -> (Data.Monoid.<>)
                             (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                             ((Prelude..)
                                (\ bs
                                   -> (Data.Monoid.<>)
                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                Data.ProtoLens.encodeMessage _v))
                   ((Data.Monoid.<>)
                      (case
                           Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'redeemer") _x
                       of
                         Prelude.Nothing -> Data.Monoid.mempty
                         (Prelude.Just _v)
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                                ((Prelude..)
                                   (\ bs
                                      -> (Data.Monoid.<>)
                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                   Data.ProtoLens.encodeMessage _v))
                      (Data.ProtoLens.Encoding.Wire.buildFieldSet
                         (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))
instance Control.DeepSeq.NFData TxInput where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_TxInput'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_TxInput'txHash x__)
                (Control.DeepSeq.deepseq
                   (_TxInput'outputIndex x__)
                   (Control.DeepSeq.deepseq
                      (_TxInput'asOutput x__)
                      (Control.DeepSeq.deepseq (_TxInput'redeemer x__) ()))))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.address' @:: Lens' TxOutput Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.coin' @:: Lens' TxOutput Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.assets' @:: Lens' TxOutput [Multiasset]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'assets' @:: Lens' TxOutput (Data.Vector.Vector Multiasset)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.datum' @:: Lens' TxOutput Datum@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'datum' @:: Lens' TxOutput (Prelude.Maybe Datum)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.script' @:: Lens' TxOutput Script@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'script' @:: Lens' TxOutput (Prelude.Maybe Script)@ -}
data TxOutput
  = TxOutput'_constructor {_TxOutput'address :: !Data.ByteString.ByteString,
                           _TxOutput'coin :: !Data.Word.Word64,
                           _TxOutput'assets :: !(Data.Vector.Vector Multiasset),
                           _TxOutput'datum :: !(Prelude.Maybe Datum),
                           _TxOutput'script :: !(Prelude.Maybe Script),
                           _TxOutput'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show TxOutput where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField TxOutput "address" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxOutput'address (\ x__ y__ -> x__ {_TxOutput'address = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxOutput "coin" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxOutput'coin (\ x__ y__ -> x__ {_TxOutput'coin = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxOutput "assets" [Multiasset] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxOutput'assets (\ x__ y__ -> x__ {_TxOutput'assets = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField TxOutput "vec'assets" (Data.Vector.Vector Multiasset) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxOutput'assets (\ x__ y__ -> x__ {_TxOutput'assets = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxOutput "datum" Datum where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxOutput'datum (\ x__ y__ -> x__ {_TxOutput'datum = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField TxOutput "maybe'datum" (Prelude.Maybe Datum) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxOutput'datum (\ x__ y__ -> x__ {_TxOutput'datum = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxOutput "script" Script where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxOutput'script (\ x__ y__ -> x__ {_TxOutput'script = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField TxOutput "maybe'script" (Prelude.Maybe Script) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxOutput'script (\ x__ y__ -> x__ {_TxOutput'script = y__}))
        Prelude.id
instance Data.ProtoLens.Message TxOutput where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.TxOutput"
  packedMessageDescriptor _
    = "\n\
      \\bTxOutput\DC2\CAN\n\
      \\aaddress\CAN\SOH \SOH(\fR\aaddress\DC2\DC2\n\
      \\EOTcoin\CAN\STX \SOH(\EOTR\EOTcoin\DC2;\n\
      \\ACKassets\CAN\ETX \ETX(\v2#.utxorpc.v1alpha.cardano.MultiassetR\ACKassets\DC24\n\
      \\ENQdatum\CAN\EOT \SOH(\v2\RS.utxorpc.v1alpha.cardano.DatumR\ENQdatum\DC27\n\
      \\ACKscript\CAN\ENQ \SOH(\v2\US.utxorpc.v1alpha.cardano.ScriptR\ACKscript"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        address__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "address"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"address")) ::
              Data.ProtoLens.FieldDescriptor TxOutput
        coin__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "coin"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"coin")) ::
              Data.ProtoLens.FieldDescriptor TxOutput
        assets__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "assets"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Multiasset)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"assets")) ::
              Data.ProtoLens.FieldDescriptor TxOutput
        datum__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "datum"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Datum)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'datum")) ::
              Data.ProtoLens.FieldDescriptor TxOutput
        script__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "script"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Script)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'script")) ::
              Data.ProtoLens.FieldDescriptor TxOutput
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, address__field_descriptor),
           (Data.ProtoLens.Tag 2, coin__field_descriptor),
           (Data.ProtoLens.Tag 3, assets__field_descriptor),
           (Data.ProtoLens.Tag 4, datum__field_descriptor),
           (Data.ProtoLens.Tag 5, script__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _TxOutput'_unknownFields
        (\ x__ y__ -> x__ {_TxOutput'_unknownFields = y__})
  defMessage
    = TxOutput'_constructor
        {_TxOutput'address = Data.ProtoLens.fieldDefault,
         _TxOutput'coin = Data.ProtoLens.fieldDefault,
         _TxOutput'assets = Data.Vector.Generic.empty,
         _TxOutput'datum = Prelude.Nothing,
         _TxOutput'script = Prelude.Nothing, _TxOutput'_unknownFields = []}
  parseMessage
    = let
        loop ::
          TxOutput
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Multiasset
             -> Data.ProtoLens.Encoding.Bytes.Parser TxOutput
        loop x mutable'assets
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'assets <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                         (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                            mutable'assets)
                      (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'assets") frozen'assets x))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "address"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"address") y x)
                                  mutable'assets
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "coin"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"coin") y x)
                                  mutable'assets
                        26
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "assets"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'assets y)
                                loop x v
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "datum"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"datum") y x)
                                  mutable'assets
                        42
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "script"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"script") y x)
                                  mutable'assets
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
                                  mutable'assets
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'assets <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                  Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'assets)
          "TxOutput"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"address") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         _v))
             ((Data.Monoid.<>)
                (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"coin") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                ((Data.Monoid.<>)
                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                      (\ _v
                         -> (Data.Monoid.<>)
                              (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                              ((Prelude..)
                                 (\ bs
                                    -> (Data.Monoid.<>)
                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
                                            (Prelude.fromIntegral (Data.ByteString.length bs)))
                                         (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                 Data.ProtoLens.encodeMessage _v))
                      (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'assets") _x))
                   ((Data.Monoid.<>)
                      (case
                           Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'datum") _x
                       of
                         Prelude.Nothing -> Data.Monoid.mempty
                         (Prelude.Just _v)
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                                ((Prelude..)
                                   (\ bs
                                      -> (Data.Monoid.<>)
                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                   Data.ProtoLens.encodeMessage _v))
                      ((Data.Monoid.<>)
                         (case
                              Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'script") _x
                          of
                            Prelude.Nothing -> Data.Monoid.mempty
                            (Prelude.Just _v)
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
                                   ((Prelude..)
                                      (\ bs
                                         -> (Data.Monoid.<>)
                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
                                              (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                      Data.ProtoLens.encodeMessage _v))
                         (Data.ProtoLens.Encoding.Wire.buildFieldSet
                            (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))
instance Control.DeepSeq.NFData TxOutput where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_TxOutput'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_TxOutput'address x__)
                (Control.DeepSeq.deepseq
                   (_TxOutput'coin x__)
                   (Control.DeepSeq.deepseq
                      (_TxOutput'assets x__)
                      (Control.DeepSeq.deepseq
                         (_TxOutput'datum x__)
                         (Control.DeepSeq.deepseq (_TxOutput'script x__) ())))))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.address' @:: Lens' TxOutputPattern AddressPattern@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'address' @:: Lens' TxOutputPattern (Prelude.Maybe AddressPattern)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.asset' @:: Lens' TxOutputPattern AssetPattern@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'asset' @:: Lens' TxOutputPattern (Prelude.Maybe AssetPattern)@ -}
data TxOutputPattern
  = TxOutputPattern'_constructor {_TxOutputPattern'address :: !(Prelude.Maybe AddressPattern),
                                  _TxOutputPattern'asset :: !(Prelude.Maybe AssetPattern),
                                  _TxOutputPattern'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show TxOutputPattern where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField TxOutputPattern "address" AddressPattern where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxOutputPattern'address
           (\ x__ y__ -> x__ {_TxOutputPattern'address = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField TxOutputPattern "maybe'address" (Prelude.Maybe AddressPattern) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxOutputPattern'address
           (\ x__ y__ -> x__ {_TxOutputPattern'address = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxOutputPattern "asset" AssetPattern where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxOutputPattern'asset
           (\ x__ y__ -> x__ {_TxOutputPattern'asset = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField TxOutputPattern "maybe'asset" (Prelude.Maybe AssetPattern) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxOutputPattern'asset
           (\ x__ y__ -> x__ {_TxOutputPattern'asset = y__}))
        Prelude.id
instance Data.ProtoLens.Message TxOutputPattern where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.TxOutputPattern"
  packedMessageDescriptor _
    = "\n\
      \\SITxOutputPattern\DC2A\n\
      \\aaddress\CAN\SOH \SOH(\v2'.utxorpc.v1alpha.cardano.AddressPatternR\aaddress\DC2;\n\
      \\ENQasset\CAN\STX \SOH(\v2%.utxorpc.v1alpha.cardano.AssetPatternR\ENQasset"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        address__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "address"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor AddressPattern)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'address")) ::
              Data.ProtoLens.FieldDescriptor TxOutputPattern
        asset__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "asset"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor AssetPattern)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'asset")) ::
              Data.ProtoLens.FieldDescriptor TxOutputPattern
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, address__field_descriptor),
           (Data.ProtoLens.Tag 2, asset__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _TxOutputPattern'_unknownFields
        (\ x__ y__ -> x__ {_TxOutputPattern'_unknownFields = y__})
  defMessage
    = TxOutputPattern'_constructor
        {_TxOutputPattern'address = Prelude.Nothing,
         _TxOutputPattern'asset = Prelude.Nothing,
         _TxOutputPattern'_unknownFields = []}
  parseMessage
    = let
        loop ::
          TxOutputPattern
          -> Data.ProtoLens.Encoding.Bytes.Parser TxOutputPattern
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "address"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"address") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "asset"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"asset") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "TxOutputPattern"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'address") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'asset") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData TxOutputPattern where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_TxOutputPattern'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_TxOutputPattern'address x__)
                (Control.DeepSeq.deepseq (_TxOutputPattern'asset x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.consumes' @:: Lens' TxPattern TxOutputPattern@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'consumes' @:: Lens' TxPattern (Prelude.Maybe TxOutputPattern)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.produces' @:: Lens' TxPattern TxOutputPattern@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'produces' @:: Lens' TxPattern (Prelude.Maybe TxOutputPattern)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.hasAddress' @:: Lens' TxPattern AddressPattern@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'hasAddress' @:: Lens' TxPattern (Prelude.Maybe AddressPattern)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.movesAsset' @:: Lens' TxPattern AssetPattern@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'movesAsset' @:: Lens' TxPattern (Prelude.Maybe AssetPattern)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.mintsAsset' @:: Lens' TxPattern AssetPattern@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'mintsAsset' @:: Lens' TxPattern (Prelude.Maybe AssetPattern)@ -}
data TxPattern
  = TxPattern'_constructor {_TxPattern'consumes :: !(Prelude.Maybe TxOutputPattern),
                            _TxPattern'produces :: !(Prelude.Maybe TxOutputPattern),
                            _TxPattern'hasAddress :: !(Prelude.Maybe AddressPattern),
                            _TxPattern'movesAsset :: !(Prelude.Maybe AssetPattern),
                            _TxPattern'mintsAsset :: !(Prelude.Maybe AssetPattern),
                            _TxPattern'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show TxPattern where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField TxPattern "consumes" TxOutputPattern where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxPattern'consumes (\ x__ y__ -> x__ {_TxPattern'consumes = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField TxPattern "maybe'consumes" (Prelude.Maybe TxOutputPattern) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxPattern'consumes (\ x__ y__ -> x__ {_TxPattern'consumes = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxPattern "produces" TxOutputPattern where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxPattern'produces (\ x__ y__ -> x__ {_TxPattern'produces = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField TxPattern "maybe'produces" (Prelude.Maybe TxOutputPattern) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxPattern'produces (\ x__ y__ -> x__ {_TxPattern'produces = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxPattern "hasAddress" AddressPattern where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxPattern'hasAddress
           (\ x__ y__ -> x__ {_TxPattern'hasAddress = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField TxPattern "maybe'hasAddress" (Prelude.Maybe AddressPattern) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxPattern'hasAddress
           (\ x__ y__ -> x__ {_TxPattern'hasAddress = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxPattern "movesAsset" AssetPattern where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxPattern'movesAsset
           (\ x__ y__ -> x__ {_TxPattern'movesAsset = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField TxPattern "maybe'movesAsset" (Prelude.Maybe AssetPattern) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxPattern'movesAsset
           (\ x__ y__ -> x__ {_TxPattern'movesAsset = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxPattern "mintsAsset" AssetPattern where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxPattern'mintsAsset
           (\ x__ y__ -> x__ {_TxPattern'mintsAsset = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField TxPattern "maybe'mintsAsset" (Prelude.Maybe AssetPattern) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxPattern'mintsAsset
           (\ x__ y__ -> x__ {_TxPattern'mintsAsset = y__}))
        Prelude.id
instance Data.ProtoLens.Message TxPattern where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.TxPattern"
  packedMessageDescriptor _
    = "\n\
      \\tTxPattern\DC2D\n\
      \\bconsumes\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.TxOutputPatternR\bconsumes\DC2D\n\
      \\bproduces\CAN\STX \SOH(\v2(.utxorpc.v1alpha.cardano.TxOutputPatternR\bproduces\DC2H\n\
      \\vhas_address\CAN\ETX \SOH(\v2'.utxorpc.v1alpha.cardano.AddressPatternR\n\
      \hasAddress\DC2F\n\
      \\vmoves_asset\CAN\EOT \SOH(\v2%.utxorpc.v1alpha.cardano.AssetPatternR\n\
      \movesAsset\DC2F\n\
      \\vmints_asset\CAN\ENQ \SOH(\v2%.utxorpc.v1alpha.cardano.AssetPatternR\n\
      \mintsAsset"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        consumes__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "consumes"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor TxOutputPattern)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'consumes")) ::
              Data.ProtoLens.FieldDescriptor TxPattern
        produces__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "produces"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor TxOutputPattern)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'produces")) ::
              Data.ProtoLens.FieldDescriptor TxPattern
        hasAddress__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "has_address"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor AddressPattern)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'hasAddress")) ::
              Data.ProtoLens.FieldDescriptor TxPattern
        movesAsset__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "moves_asset"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor AssetPattern)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'movesAsset")) ::
              Data.ProtoLens.FieldDescriptor TxPattern
        mintsAsset__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "mints_asset"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor AssetPattern)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'mintsAsset")) ::
              Data.ProtoLens.FieldDescriptor TxPattern
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, consumes__field_descriptor),
           (Data.ProtoLens.Tag 2, produces__field_descriptor),
           (Data.ProtoLens.Tag 3, hasAddress__field_descriptor),
           (Data.ProtoLens.Tag 4, movesAsset__field_descriptor),
           (Data.ProtoLens.Tag 5, mintsAsset__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _TxPattern'_unknownFields
        (\ x__ y__ -> x__ {_TxPattern'_unknownFields = y__})
  defMessage
    = TxPattern'_constructor
        {_TxPattern'consumes = Prelude.Nothing,
         _TxPattern'produces = Prelude.Nothing,
         _TxPattern'hasAddress = Prelude.Nothing,
         _TxPattern'movesAsset = Prelude.Nothing,
         _TxPattern'mintsAsset = Prelude.Nothing,
         _TxPattern'_unknownFields = []}
  parseMessage
    = let
        loop :: TxPattern -> Data.ProtoLens.Encoding.Bytes.Parser TxPattern
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "consumes"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"consumes") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "produces"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"produces") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "has_address"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"hasAddress") y x)
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "moves_asset"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"movesAsset") y x)
                        42
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "mints_asset"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"mintsAsset") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "TxPattern"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'consumes") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'produces") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                ((Data.Monoid.<>)
                   (case
                        Lens.Family2.view
                          (Data.ProtoLens.Field.field @"maybe'hasAddress") _x
                    of
                      Prelude.Nothing -> Data.Monoid.mempty
                      (Prelude.Just _v)
                        -> (Data.Monoid.<>)
                             (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                             ((Prelude..)
                                (\ bs
                                   -> (Data.Monoid.<>)
                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                Data.ProtoLens.encodeMessage _v))
                   ((Data.Monoid.<>)
                      (case
                           Lens.Family2.view
                             (Data.ProtoLens.Field.field @"maybe'movesAsset") _x
                       of
                         Prelude.Nothing -> Data.Monoid.mempty
                         (Prelude.Just _v)
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                                ((Prelude..)
                                   (\ bs
                                      -> (Data.Monoid.<>)
                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                   Data.ProtoLens.encodeMessage _v))
                      ((Data.Monoid.<>)
                         (case
                              Lens.Family2.view
                                (Data.ProtoLens.Field.field @"maybe'mintsAsset") _x
                          of
                            Prelude.Nothing -> Data.Monoid.mempty
                            (Prelude.Just _v)
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
                                   ((Prelude..)
                                      (\ bs
                                         -> (Data.Monoid.<>)
                                              (Data.ProtoLens.Encoding.Bytes.putVarInt
                                                 (Prelude.fromIntegral (Data.ByteString.length bs)))
                                              (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                      Data.ProtoLens.encodeMessage _v))
                         (Data.ProtoLens.Encoding.Wire.buildFieldSet
                            (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))
instance Control.DeepSeq.NFData TxPattern where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_TxPattern'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_TxPattern'consumes x__)
                (Control.DeepSeq.deepseq
                   (_TxPattern'produces x__)
                   (Control.DeepSeq.deepseq
                      (_TxPattern'hasAddress x__)
                      (Control.DeepSeq.deepseq
                         (_TxPattern'movesAsset x__)
                         (Control.DeepSeq.deepseq (_TxPattern'mintsAsset x__) ())))))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.start' @:: Lens' TxValidity Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.ttl' @:: Lens' TxValidity Data.Word.Word64@ -}
data TxValidity
  = TxValidity'_constructor {_TxValidity'start :: !Data.Word.Word64,
                             _TxValidity'ttl :: !Data.Word.Word64,
                             _TxValidity'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show TxValidity where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField TxValidity "start" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxValidity'start (\ x__ y__ -> x__ {_TxValidity'start = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField TxValidity "ttl" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _TxValidity'ttl (\ x__ y__ -> x__ {_TxValidity'ttl = y__}))
        Prelude.id
instance Data.ProtoLens.Message TxValidity where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.TxValidity"
  packedMessageDescriptor _
    = "\n\
      \\n\
      \TxValidity\DC2\DC4\n\
      \\ENQstart\CAN\SOH \SOH(\EOTR\ENQstart\DC2\DLE\n\
      \\ETXttl\CAN\STX \SOH(\EOTR\ETXttl"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        start__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "start"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"start")) ::
              Data.ProtoLens.FieldDescriptor TxValidity
        ttl__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "ttl"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"ttl")) ::
              Data.ProtoLens.FieldDescriptor TxValidity
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, start__field_descriptor),
           (Data.ProtoLens.Tag 2, ttl__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _TxValidity'_unknownFields
        (\ x__ y__ -> x__ {_TxValidity'_unknownFields = y__})
  defMessage
    = TxValidity'_constructor
        {_TxValidity'start = Data.ProtoLens.fieldDefault,
         _TxValidity'ttl = Data.ProtoLens.fieldDefault,
         _TxValidity'_unknownFields = []}
  parseMessage
    = let
        loop ::
          TxValidity -> Data.ProtoLens.Encoding.Bytes.Parser TxValidity
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "start"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"start") y x)
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "ttl"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"ttl") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "TxValidity"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"start") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
             ((Data.Monoid.<>)
                (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"ttl") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData TxValidity where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_TxValidity'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_TxValidity'start x__)
                (Control.DeepSeq.deepseq (_TxValidity'ttl x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.stakeCredential' @:: Lens' UnRegCert StakeCredential@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'stakeCredential' @:: Lens' UnRegCert (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.coin' @:: Lens' UnRegCert Data.Word.Word64@ -}
data UnRegCert
  = UnRegCert'_constructor {_UnRegCert'stakeCredential :: !(Prelude.Maybe StakeCredential),
                            _UnRegCert'coin :: !Data.Word.Word64,
                            _UnRegCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show UnRegCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField UnRegCert "stakeCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UnRegCert'stakeCredential
           (\ x__ y__ -> x__ {_UnRegCert'stakeCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField UnRegCert "maybe'stakeCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UnRegCert'stakeCredential
           (\ x__ y__ -> x__ {_UnRegCert'stakeCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField UnRegCert "coin" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UnRegCert'coin (\ x__ y__ -> x__ {_UnRegCert'coin = y__}))
        Prelude.id
instance Data.ProtoLens.Message UnRegCert where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.UnRegCert"
  packedMessageDescriptor _
    = "\n\
      \\tUnRegCert\DC2S\n\
      \\DLEstake_credential\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\SIstakeCredential\DC2\DC2\n\
      \\EOTcoin\CAN\STX \SOH(\EOTR\EOTcoin"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        stakeCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeCredential")) ::
              Data.ProtoLens.FieldDescriptor UnRegCert
        coin__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "coin"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"coin")) ::
              Data.ProtoLens.FieldDescriptor UnRegCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, stakeCredential__field_descriptor),
           (Data.ProtoLens.Tag 2, coin__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _UnRegCert'_unknownFields
        (\ x__ y__ -> x__ {_UnRegCert'_unknownFields = y__})
  defMessage
    = UnRegCert'_constructor
        {_UnRegCert'stakeCredential = Prelude.Nothing,
         _UnRegCert'coin = Data.ProtoLens.fieldDefault,
         _UnRegCert'_unknownFields = []}
  parseMessage
    = let
        loop :: UnRegCert -> Data.ProtoLens.Encoding.Bytes.Parser UnRegCert
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeCredential") y x)
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "coin"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"coin") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "UnRegCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'stakeCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"coin") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData UnRegCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_UnRegCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_UnRegCert'stakeCredential x__)
                (Control.DeepSeq.deepseq (_UnRegCert'coin x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.drepCredential' @:: Lens' UnRegDRepCert StakeCredential@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'drepCredential' @:: Lens' UnRegDRepCert (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.coin' @:: Lens' UnRegDRepCert Data.Word.Word64@ -}
data UnRegDRepCert
  = UnRegDRepCert'_constructor {_UnRegDRepCert'drepCredential :: !(Prelude.Maybe StakeCredential),
                                _UnRegDRepCert'coin :: !Data.Word.Word64,
                                _UnRegDRepCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show UnRegDRepCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField UnRegDRepCert "drepCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UnRegDRepCert'drepCredential
           (\ x__ y__ -> x__ {_UnRegDRepCert'drepCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField UnRegDRepCert "maybe'drepCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UnRegDRepCert'drepCredential
           (\ x__ y__ -> x__ {_UnRegDRepCert'drepCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField UnRegDRepCert "coin" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UnRegDRepCert'coin (\ x__ y__ -> x__ {_UnRegDRepCert'coin = y__}))
        Prelude.id
instance Data.ProtoLens.Message UnRegDRepCert where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.UnRegDRepCert"
  packedMessageDescriptor _
    = "\n\
      \\rUnRegDRepCert\DC2Q\n\
      \\SIdrep_credential\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\SOdrepCredential\DC2\DC2\n\
      \\EOTcoin\CAN\STX \SOH(\EOTR\EOTcoin"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        drepCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "drep_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'drepCredential")) ::
              Data.ProtoLens.FieldDescriptor UnRegDRepCert
        coin__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "coin"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"coin")) ::
              Data.ProtoLens.FieldDescriptor UnRegDRepCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, drepCredential__field_descriptor),
           (Data.ProtoLens.Tag 2, coin__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _UnRegDRepCert'_unknownFields
        (\ x__ y__ -> x__ {_UnRegDRepCert'_unknownFields = y__})
  defMessage
    = UnRegDRepCert'_constructor
        {_UnRegDRepCert'drepCredential = Prelude.Nothing,
         _UnRegDRepCert'coin = Data.ProtoLens.fieldDefault,
         _UnRegDRepCert'_unknownFields = []}
  parseMessage
    = let
        loop ::
          UnRegDRepCert -> Data.ProtoLens.Encoding.Bytes.Parser UnRegDRepCert
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "drep_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"drepCredential") y x)
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "coin"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"coin") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "UnRegDRepCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'drepCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"coin") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData UnRegDRepCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_UnRegDRepCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_UnRegDRepCert'drepCredential x__)
                (Control.DeepSeq.deepseq (_UnRegDRepCert'coin x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.govActionId' @:: Lens' UpdateCommitteeAction GovernanceActionId@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'govActionId' @:: Lens' UpdateCommitteeAction (Prelude.Maybe GovernanceActionId)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.removeCommitteeCredentials' @:: Lens' UpdateCommitteeAction [StakeCredential]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'removeCommitteeCredentials' @:: Lens' UpdateCommitteeAction (Data.Vector.Vector StakeCredential)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.newCommitteeCredentials' @:: Lens' UpdateCommitteeAction [NewCommitteeCredentials]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'newCommitteeCredentials' @:: Lens' UpdateCommitteeAction (Data.Vector.Vector NewCommitteeCredentials)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.newCommitteeThreshold' @:: Lens' UpdateCommitteeAction RationalNumber@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'newCommitteeThreshold' @:: Lens' UpdateCommitteeAction (Prelude.Maybe RationalNumber)@ -}
data UpdateCommitteeAction
  = UpdateCommitteeAction'_constructor {_UpdateCommitteeAction'govActionId :: !(Prelude.Maybe GovernanceActionId),
                                        _UpdateCommitteeAction'removeCommitteeCredentials :: !(Data.Vector.Vector StakeCredential),
                                        _UpdateCommitteeAction'newCommitteeCredentials :: !(Data.Vector.Vector NewCommitteeCredentials),
                                        _UpdateCommitteeAction'newCommitteeThreshold :: !(Prelude.Maybe RationalNumber),
                                        _UpdateCommitteeAction'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show UpdateCommitteeAction where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField UpdateCommitteeAction "govActionId" GovernanceActionId where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UpdateCommitteeAction'govActionId
           (\ x__ y__ -> x__ {_UpdateCommitteeAction'govActionId = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField UpdateCommitteeAction "maybe'govActionId" (Prelude.Maybe GovernanceActionId) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UpdateCommitteeAction'govActionId
           (\ x__ y__ -> x__ {_UpdateCommitteeAction'govActionId = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField UpdateCommitteeAction "removeCommitteeCredentials" [StakeCredential] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UpdateCommitteeAction'removeCommitteeCredentials
           (\ x__ y__
              -> x__ {_UpdateCommitteeAction'removeCommitteeCredentials = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField UpdateCommitteeAction "vec'removeCommitteeCredentials" (Data.Vector.Vector StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UpdateCommitteeAction'removeCommitteeCredentials
           (\ x__ y__
              -> x__ {_UpdateCommitteeAction'removeCommitteeCredentials = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField UpdateCommitteeAction "newCommitteeCredentials" [NewCommitteeCredentials] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UpdateCommitteeAction'newCommitteeCredentials
           (\ x__ y__
              -> x__ {_UpdateCommitteeAction'newCommitteeCredentials = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField UpdateCommitteeAction "vec'newCommitteeCredentials" (Data.Vector.Vector NewCommitteeCredentials) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UpdateCommitteeAction'newCommitteeCredentials
           (\ x__ y__
              -> x__ {_UpdateCommitteeAction'newCommitteeCredentials = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField UpdateCommitteeAction "newCommitteeThreshold" RationalNumber where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UpdateCommitteeAction'newCommitteeThreshold
           (\ x__ y__
              -> x__ {_UpdateCommitteeAction'newCommitteeThreshold = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField UpdateCommitteeAction "maybe'newCommitteeThreshold" (Prelude.Maybe RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UpdateCommitteeAction'newCommitteeThreshold
           (\ x__ y__
              -> x__ {_UpdateCommitteeAction'newCommitteeThreshold = y__}))
        Prelude.id
instance Data.ProtoLens.Message UpdateCommitteeAction where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.UpdateCommitteeAction"
  packedMessageDescriptor _
    = "\n\
      \\NAKUpdateCommitteeAction\DC2O\n\
      \\rgov_action_id\CAN\SOH \SOH(\v2+.utxorpc.v1alpha.cardano.GovernanceActionIdR\vgovActionId\DC2j\n\
      \\FSremove_committee_credentials\CAN\STX \ETX(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\SUBremoveCommitteeCredentials\DC2l\n\
      \\EMnew_committee_credentials\CAN\ETX \ETX(\v20.utxorpc.v1alpha.cardano.NewCommitteeCredentialsR\ETBnewCommitteeCredentials\DC2_\n\
      \\ETBnew_committee_threshold\CAN\EOT \SOH(\v2'.utxorpc.v1alpha.cardano.RationalNumberR\NAKnewCommitteeThreshold"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        govActionId__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "gov_action_id"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor GovernanceActionId)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'govActionId")) ::
              Data.ProtoLens.FieldDescriptor UpdateCommitteeAction
        removeCommitteeCredentials__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "remove_committee_credentials"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked
                 (Data.ProtoLens.Field.field @"removeCommitteeCredentials")) ::
              Data.ProtoLens.FieldDescriptor UpdateCommitteeAction
        newCommitteeCredentials__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "new_committee_credentials"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor NewCommitteeCredentials)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked
                 (Data.ProtoLens.Field.field @"newCommitteeCredentials")) ::
              Data.ProtoLens.FieldDescriptor UpdateCommitteeAction
        newCommitteeThreshold__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "new_committee_threshold"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'newCommitteeThreshold")) ::
              Data.ProtoLens.FieldDescriptor UpdateCommitteeAction
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, govActionId__field_descriptor),
           (Data.ProtoLens.Tag 2, 
            removeCommitteeCredentials__field_descriptor),
           (Data.ProtoLens.Tag 3, newCommitteeCredentials__field_descriptor),
           (Data.ProtoLens.Tag 4, newCommitteeThreshold__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _UpdateCommitteeAction'_unknownFields
        (\ x__ y__ -> x__ {_UpdateCommitteeAction'_unknownFields = y__})
  defMessage
    = UpdateCommitteeAction'_constructor
        {_UpdateCommitteeAction'govActionId = Prelude.Nothing,
         _UpdateCommitteeAction'removeCommitteeCredentials = Data.Vector.Generic.empty,
         _UpdateCommitteeAction'newCommitteeCredentials = Data.Vector.Generic.empty,
         _UpdateCommitteeAction'newCommitteeThreshold = Prelude.Nothing,
         _UpdateCommitteeAction'_unknownFields = []}
  parseMessage
    = let
        loop ::
          UpdateCommitteeAction
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld NewCommitteeCredentials
             -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld StakeCredential
                -> Data.ProtoLens.Encoding.Bytes.Parser UpdateCommitteeAction
        loop
          x
          mutable'newCommitteeCredentials
          mutable'removeCommitteeCredentials
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'newCommitteeCredentials <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                                          (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                                             mutable'newCommitteeCredentials)
                      frozen'removeCommitteeCredentials <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                                                mutable'removeCommitteeCredentials)
                      (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'newCommitteeCredentials")
                              frozen'newCommitteeCredentials
                              (Lens.Family2.set
                                 (Data.ProtoLens.Field.field @"vec'removeCommitteeCredentials")
                                 frozen'removeCommitteeCredentials x)))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "gov_action_id"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"govActionId") y x)
                                  mutable'newCommitteeCredentials mutable'removeCommitteeCredentials
                        18
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "remove_committee_credentials"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append
                                          mutable'removeCommitteeCredentials y)
                                loop x mutable'newCommitteeCredentials v
                        26
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "new_committee_credentials"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append
                                          mutable'newCommitteeCredentials y)
                                loop x v mutable'removeCommitteeCredentials
                        34
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "new_committee_threshold"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"newCommitteeThreshold") y x)
                                  mutable'newCommitteeCredentials mutable'removeCommitteeCredentials
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
                                  mutable'newCommitteeCredentials mutable'removeCommitteeCredentials
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'newCommitteeCredentials <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                                   Data.ProtoLens.Encoding.Growing.new
              mutable'removeCommitteeCredentials <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                                      Data.ProtoLens.Encoding.Growing.new
              loop
                Data.ProtoLens.defMessage mutable'newCommitteeCredentials
                mutable'removeCommitteeCredentials)
          "UpdateCommitteeAction"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'govActionId") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                   (\ _v
                      -> (Data.Monoid.<>)
                           (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                           ((Prelude..)
                              (\ bs
                                 -> (Data.Monoid.<>)
                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                              Data.ProtoLens.encodeMessage _v))
                   (Lens.Family2.view
                      (Data.ProtoLens.Field.field @"vec'removeCommitteeCredentials") _x))
                ((Data.Monoid.<>)
                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                      (\ _v
                         -> (Data.Monoid.<>)
                              (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                              ((Prelude..)
                                 (\ bs
                                    -> (Data.Monoid.<>)
                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
                                            (Prelude.fromIntegral (Data.ByteString.length bs)))
                                         (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                 Data.ProtoLens.encodeMessage _v))
                      (Lens.Family2.view
                         (Data.ProtoLens.Field.field @"vec'newCommitteeCredentials") _x))
                   ((Data.Monoid.<>)
                      (case
                           Lens.Family2.view
                             (Data.ProtoLens.Field.field @"maybe'newCommitteeThreshold") _x
                       of
                         Prelude.Nothing -> Data.Monoid.mempty
                         (Prelude.Just _v)
                           -> (Data.Monoid.<>)
                                (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
                                ((Prelude..)
                                   (\ bs
                                      -> (Data.Monoid.<>)
                                           (Data.ProtoLens.Encoding.Bytes.putVarInt
                                              (Prelude.fromIntegral (Data.ByteString.length bs)))
                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                   Data.ProtoLens.encodeMessage _v))
                      (Data.ProtoLens.Encoding.Wire.buildFieldSet
                         (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))
instance Control.DeepSeq.NFData UpdateCommitteeAction where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_UpdateCommitteeAction'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_UpdateCommitteeAction'govActionId x__)
                (Control.DeepSeq.deepseq
                   (_UpdateCommitteeAction'removeCommitteeCredentials x__)
                   (Control.DeepSeq.deepseq
                      (_UpdateCommitteeAction'newCommitteeCredentials x__)
                      (Control.DeepSeq.deepseq
                         (_UpdateCommitteeAction'newCommitteeThreshold x__) ()))))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.drepCredential' @:: Lens' UpdateDRepCert StakeCredential@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'drepCredential' @:: Lens' UpdateDRepCert (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.anchor' @:: Lens' UpdateDRepCert Anchor@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'anchor' @:: Lens' UpdateDRepCert (Prelude.Maybe Anchor)@ -}
data UpdateDRepCert
  = UpdateDRepCert'_constructor {_UpdateDRepCert'drepCredential :: !(Prelude.Maybe StakeCredential),
                                 _UpdateDRepCert'anchor :: !(Prelude.Maybe Anchor),
                                 _UpdateDRepCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show UpdateDRepCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField UpdateDRepCert "drepCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UpdateDRepCert'drepCredential
           (\ x__ y__ -> x__ {_UpdateDRepCert'drepCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField UpdateDRepCert "maybe'drepCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UpdateDRepCert'drepCredential
           (\ x__ y__ -> x__ {_UpdateDRepCert'drepCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField UpdateDRepCert "anchor" Anchor where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UpdateDRepCert'anchor
           (\ x__ y__ -> x__ {_UpdateDRepCert'anchor = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField UpdateDRepCert "maybe'anchor" (Prelude.Maybe Anchor) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _UpdateDRepCert'anchor
           (\ x__ y__ -> x__ {_UpdateDRepCert'anchor = y__}))
        Prelude.id
instance Data.ProtoLens.Message UpdateDRepCert where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.UpdateDRepCert"
  packedMessageDescriptor _
    = "\n\
      \\SOUpdateDRepCert\DC2Q\n\
      \\SIdrep_credential\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\SOdrepCredential\DC27\n\
      \\ACKanchor\CAN\STX \SOH(\v2\US.utxorpc.v1alpha.cardano.AnchorR\ACKanchor"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        drepCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "drep_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'drepCredential")) ::
              Data.ProtoLens.FieldDescriptor UpdateDRepCert
        anchor__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "anchor"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Anchor)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'anchor")) ::
              Data.ProtoLens.FieldDescriptor UpdateDRepCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, drepCredential__field_descriptor),
           (Data.ProtoLens.Tag 2, anchor__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _UpdateDRepCert'_unknownFields
        (\ x__ y__ -> x__ {_UpdateDRepCert'_unknownFields = y__})
  defMessage
    = UpdateDRepCert'_constructor
        {_UpdateDRepCert'drepCredential = Prelude.Nothing,
         _UpdateDRepCert'anchor = Prelude.Nothing,
         _UpdateDRepCert'_unknownFields = []}
  parseMessage
    = let
        loop ::
          UpdateDRepCert
          -> Data.ProtoLens.Encoding.Bytes.Parser UpdateDRepCert
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "drep_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"drepCredential") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "anchor"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"anchor") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "UpdateDRepCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'drepCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'anchor") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData UpdateDRepCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_UpdateDRepCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_UpdateDRepCert'drepCredential x__)
                (Control.DeepSeq.deepseq (_UpdateDRepCert'anchor x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vkey' @:: Lens' VKeyWitness Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.signature' @:: Lens' VKeyWitness Data.ByteString.ByteString@ -}
data VKeyWitness
  = VKeyWitness'_constructor {_VKeyWitness'vkey :: !Data.ByteString.ByteString,
                              _VKeyWitness'signature :: !Data.ByteString.ByteString,
                              _VKeyWitness'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show VKeyWitness where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField VKeyWitness "vkey" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _VKeyWitness'vkey (\ x__ y__ -> x__ {_VKeyWitness'vkey = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField VKeyWitness "signature" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _VKeyWitness'signature
           (\ x__ y__ -> x__ {_VKeyWitness'signature = y__}))
        Prelude.id
instance Data.ProtoLens.Message VKeyWitness where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.VKeyWitness"
  packedMessageDescriptor _
    = "\n\
      \\vVKeyWitness\DC2\DC2\n\
      \\EOTvkey\CAN\SOH \SOH(\fR\EOTvkey\DC2\FS\n\
      \\tsignature\CAN\STX \SOH(\fR\tsignature"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        vkey__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "vkey"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"vkey")) ::
              Data.ProtoLens.FieldDescriptor VKeyWitness
        signature__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "signature"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"signature")) ::
              Data.ProtoLens.FieldDescriptor VKeyWitness
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, vkey__field_descriptor),
           (Data.ProtoLens.Tag 2, signature__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _VKeyWitness'_unknownFields
        (\ x__ y__ -> x__ {_VKeyWitness'_unknownFields = y__})
  defMessage
    = VKeyWitness'_constructor
        {_VKeyWitness'vkey = Data.ProtoLens.fieldDefault,
         _VKeyWitness'signature = Data.ProtoLens.fieldDefault,
         _VKeyWitness'_unknownFields = []}
  parseMessage
    = let
        loop ::
          VKeyWitness -> Data.ProtoLens.Encoding.Bytes.Parser VKeyWitness
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "vkey"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"vkey") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "signature"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"signature") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "VKeyWitness"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"vkey") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         _v))
             ((Data.Monoid.<>)
                (let
                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"signature") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                         ((\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                            _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData VKeyWitness where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_VKeyWitness'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_VKeyWitness'vkey x__)
                (Control.DeepSeq.deepseq (_VKeyWitness'signature x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.stakeCredential' @:: Lens' VoteDelegCert StakeCredential@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'stakeCredential' @:: Lens' VoteDelegCert (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.drep' @:: Lens' VoteDelegCert DRep@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'drep' @:: Lens' VoteDelegCert (Prelude.Maybe DRep)@ -}
data VoteDelegCert
  = VoteDelegCert'_constructor {_VoteDelegCert'stakeCredential :: !(Prelude.Maybe StakeCredential),
                                _VoteDelegCert'drep :: !(Prelude.Maybe DRep),
                                _VoteDelegCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show VoteDelegCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField VoteDelegCert "stakeCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _VoteDelegCert'stakeCredential
           (\ x__ y__ -> x__ {_VoteDelegCert'stakeCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField VoteDelegCert "maybe'stakeCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _VoteDelegCert'stakeCredential
           (\ x__ y__ -> x__ {_VoteDelegCert'stakeCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField VoteDelegCert "drep" DRep where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _VoteDelegCert'drep (\ x__ y__ -> x__ {_VoteDelegCert'drep = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField VoteDelegCert "maybe'drep" (Prelude.Maybe DRep) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _VoteDelegCert'drep (\ x__ y__ -> x__ {_VoteDelegCert'drep = y__}))
        Prelude.id
instance Data.ProtoLens.Message VoteDelegCert where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.VoteDelegCert"
  packedMessageDescriptor _
    = "\n\
      \\rVoteDelegCert\DC2S\n\
      \\DLEstake_credential\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\SIstakeCredential\DC21\n\
      \\EOTdrep\CAN\STX \SOH(\v2\GS.utxorpc.v1alpha.cardano.DRepR\EOTdrep"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        stakeCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeCredential")) ::
              Data.ProtoLens.FieldDescriptor VoteDelegCert
        drep__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "drep"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor DRep)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'drep")) ::
              Data.ProtoLens.FieldDescriptor VoteDelegCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, stakeCredential__field_descriptor),
           (Data.ProtoLens.Tag 2, drep__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _VoteDelegCert'_unknownFields
        (\ x__ y__ -> x__ {_VoteDelegCert'_unknownFields = y__})
  defMessage
    = VoteDelegCert'_constructor
        {_VoteDelegCert'stakeCredential = Prelude.Nothing,
         _VoteDelegCert'drep = Prelude.Nothing,
         _VoteDelegCert'_unknownFields = []}
  parseMessage
    = let
        loop ::
          VoteDelegCert -> Data.ProtoLens.Encoding.Bytes.Parser VoteDelegCert
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeCredential") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "drep"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"drep") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "VoteDelegCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'stakeCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'drep") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData VoteDelegCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_VoteDelegCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_VoteDelegCert'stakeCredential x__)
                (Control.DeepSeq.deepseq (_VoteDelegCert'drep x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.stakeCredential' @:: Lens' VoteRegDelegCert StakeCredential@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'stakeCredential' @:: Lens' VoteRegDelegCert (Prelude.Maybe StakeCredential)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.drep' @:: Lens' VoteRegDelegCert DRep@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'drep' @:: Lens' VoteRegDelegCert (Prelude.Maybe DRep)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.coin' @:: Lens' VoteRegDelegCert Data.Word.Word64@ -}
data VoteRegDelegCert
  = VoteRegDelegCert'_constructor {_VoteRegDelegCert'stakeCredential :: !(Prelude.Maybe StakeCredential),
                                   _VoteRegDelegCert'drep :: !(Prelude.Maybe DRep),
                                   _VoteRegDelegCert'coin :: !Data.Word.Word64,
                                   _VoteRegDelegCert'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show VoteRegDelegCert where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField VoteRegDelegCert "stakeCredential" StakeCredential where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _VoteRegDelegCert'stakeCredential
           (\ x__ y__ -> x__ {_VoteRegDelegCert'stakeCredential = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField VoteRegDelegCert "maybe'stakeCredential" (Prelude.Maybe StakeCredential) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _VoteRegDelegCert'stakeCredential
           (\ x__ y__ -> x__ {_VoteRegDelegCert'stakeCredential = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField VoteRegDelegCert "drep" DRep where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _VoteRegDelegCert'drep
           (\ x__ y__ -> x__ {_VoteRegDelegCert'drep = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField VoteRegDelegCert "maybe'drep" (Prelude.Maybe DRep) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _VoteRegDelegCert'drep
           (\ x__ y__ -> x__ {_VoteRegDelegCert'drep = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField VoteRegDelegCert "coin" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _VoteRegDelegCert'coin
           (\ x__ y__ -> x__ {_VoteRegDelegCert'coin = y__}))
        Prelude.id
instance Data.ProtoLens.Message VoteRegDelegCert where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.VoteRegDelegCert"
  packedMessageDescriptor _
    = "\n\
      \\DLEVoteRegDelegCert\DC2S\n\
      \\DLEstake_credential\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\SIstakeCredential\DC21\n\
      \\EOTdrep\CAN\STX \SOH(\v2\GS.utxorpc.v1alpha.cardano.DRepR\EOTdrep\DC2\DC2\n\
      \\EOTcoin\CAN\ETX \SOH(\EOTR\EOTcoin"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        stakeCredential__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "stake_credential"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor StakeCredential)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'stakeCredential")) ::
              Data.ProtoLens.FieldDescriptor VoteRegDelegCert
        drep__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "drep"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor DRep)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'drep")) ::
              Data.ProtoLens.FieldDescriptor VoteRegDelegCert
        coin__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "coin"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"coin")) ::
              Data.ProtoLens.FieldDescriptor VoteRegDelegCert
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, stakeCredential__field_descriptor),
           (Data.ProtoLens.Tag 2, drep__field_descriptor),
           (Data.ProtoLens.Tag 3, coin__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _VoteRegDelegCert'_unknownFields
        (\ x__ y__ -> x__ {_VoteRegDelegCert'_unknownFields = y__})
  defMessage
    = VoteRegDelegCert'_constructor
        {_VoteRegDelegCert'stakeCredential = Prelude.Nothing,
         _VoteRegDelegCert'drep = Prelude.Nothing,
         _VoteRegDelegCert'coin = Data.ProtoLens.fieldDefault,
         _VoteRegDelegCert'_unknownFields = []}
  parseMessage
    = let
        loop ::
          VoteRegDelegCert
          -> Data.ProtoLens.Encoding.Bytes.Parser VoteRegDelegCert
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "stake_credential"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"stakeCredential") y x)
                        18
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "drep"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"drep") y x)
                        24
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "coin"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"coin") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "VoteRegDelegCert"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (case
                  Lens.Family2.view
                    (Data.ProtoLens.Field.field @"maybe'stakeCredential") _x
              of
                Prelude.Nothing -> Data.Monoid.mempty
                (Prelude.Just _v)
                  -> (Data.Monoid.<>)
                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                       ((Prelude..)
                          (\ bs
                             -> (Data.Monoid.<>)
                                  (Data.ProtoLens.Encoding.Bytes.putVarInt
                                     (Prelude.fromIntegral (Data.ByteString.length bs)))
                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                          Data.ProtoLens.encodeMessage _v))
             ((Data.Monoid.<>)
                (case
                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'drep") _x
                 of
                   Prelude.Nothing -> Data.Monoid.mempty
                   (Prelude.Just _v)
                     -> (Data.Monoid.<>)
                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                          ((Prelude..)
                             (\ bs
                                -> (Data.Monoid.<>)
                                     (Data.ProtoLens.Encoding.Bytes.putVarInt
                                        (Prelude.fromIntegral (Data.ByteString.length bs)))
                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                             Data.ProtoLens.encodeMessage _v))
                ((Data.Monoid.<>)
                   (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"coin") _x
                    in
                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                          Data.Monoid.mempty
                      else
                          (Data.Monoid.<>)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
                            (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData VoteRegDelegCert where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_VoteRegDelegCert'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_VoteRegDelegCert'stakeCredential x__)
                (Control.DeepSeq.deepseq
                   (_VoteRegDelegCert'drep x__)
                   (Control.DeepSeq.deepseq (_VoteRegDelegCert'coin x__) ())))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.thresholds' @:: Lens' VotingThresholds [RationalNumber]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'thresholds' @:: Lens' VotingThresholds (Data.Vector.Vector RationalNumber)@ -}
data VotingThresholds
  = VotingThresholds'_constructor {_VotingThresholds'thresholds :: !(Data.Vector.Vector RationalNumber),
                                   _VotingThresholds'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show VotingThresholds where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField VotingThresholds "thresholds" [RationalNumber] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _VotingThresholds'thresholds
           (\ x__ y__ -> x__ {_VotingThresholds'thresholds = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField VotingThresholds "vec'thresholds" (Data.Vector.Vector RationalNumber) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _VotingThresholds'thresholds
           (\ x__ y__ -> x__ {_VotingThresholds'thresholds = y__}))
        Prelude.id
instance Data.ProtoLens.Message VotingThresholds where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.VotingThresholds"
  packedMessageDescriptor _
    = "\n\
      \\DLEVotingThresholds\DC2G\n\
      \\n\
      \thresholds\CAN\SOH \ETX(\v2'.utxorpc.v1alpha.cardano.RationalNumberR\n\
      \thresholds"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        thresholds__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "thresholds"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor RationalNumber)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked
                 (Data.ProtoLens.Field.field @"thresholds")) ::
              Data.ProtoLens.FieldDescriptor VotingThresholds
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, thresholds__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _VotingThresholds'_unknownFields
        (\ x__ y__ -> x__ {_VotingThresholds'_unknownFields = y__})
  defMessage
    = VotingThresholds'_constructor
        {_VotingThresholds'thresholds = Data.Vector.Generic.empty,
         _VotingThresholds'_unknownFields = []}
  parseMessage
    = let
        loop ::
          VotingThresholds
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld RationalNumber
             -> Data.ProtoLens.Encoding.Bytes.Parser VotingThresholds
        loop x mutable'thresholds
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'thresholds <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                             (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                                mutable'thresholds)
                      (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'thresholds") frozen'thresholds
                              x))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "thresholds"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'thresholds y)
                                loop x v
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
                                  mutable'thresholds
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'thresholds <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                      Data.ProtoLens.Encoding.Growing.new
              loop Data.ProtoLens.defMessage mutable'thresholds)
          "VotingThresholds"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                (\ _v
                   -> (Data.Monoid.<>)
                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                        ((Prelude..)
                           (\ bs
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                           Data.ProtoLens.encodeMessage _v))
                (Lens.Family2.view
                   (Data.ProtoLens.Field.field @"vec'thresholds") _x))
             (Data.ProtoLens.Encoding.Wire.buildFieldSet
                (Lens.Family2.view Data.ProtoLens.unknownFields _x))
instance Control.DeepSeq.NFData VotingThresholds where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_VotingThresholds'_unknownFields x__)
             (Control.DeepSeq.deepseq (_VotingThresholds'thresholds x__) ())
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.rewardAccount' @:: Lens' Withdrawal Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.coin' @:: Lens' Withdrawal Data.Word.Word64@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.redeemer' @:: Lens' Withdrawal Redeemer@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.maybe'redeemer' @:: Lens' Withdrawal (Prelude.Maybe Redeemer)@ -}
data Withdrawal
  = Withdrawal'_constructor {_Withdrawal'rewardAccount :: !Data.ByteString.ByteString,
                             _Withdrawal'coin :: !Data.Word.Word64,
                             _Withdrawal'redeemer :: !(Prelude.Maybe Redeemer),
                             _Withdrawal'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show Withdrawal where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField Withdrawal "rewardAccount" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Withdrawal'rewardAccount
           (\ x__ y__ -> x__ {_Withdrawal'rewardAccount = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Withdrawal "coin" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Withdrawal'coin (\ x__ y__ -> x__ {_Withdrawal'coin = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField Withdrawal "redeemer" Redeemer where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Withdrawal'redeemer
           (\ x__ y__ -> x__ {_Withdrawal'redeemer = y__}))
        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
instance Data.ProtoLens.Field.HasField Withdrawal "maybe'redeemer" (Prelude.Maybe Redeemer) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _Withdrawal'redeemer
           (\ x__ y__ -> x__ {_Withdrawal'redeemer = y__}))
        Prelude.id
instance Data.ProtoLens.Message Withdrawal where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.Withdrawal"
  packedMessageDescriptor _
    = "\n\
      \\n\
      \Withdrawal\DC2%\n\
      \\SOreward_account\CAN\SOH \SOH(\fR\rrewardAccount\DC2\DC2\n\
      \\EOTcoin\CAN\STX \SOH(\EOTR\EOTcoin\DC2=\n\
      \\bredeemer\CAN\ETX \SOH(\v2!.utxorpc.v1alpha.cardano.RedeemerR\bredeemer"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        rewardAccount__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "reward_account"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"rewardAccount")) ::
              Data.ProtoLens.FieldDescriptor Withdrawal
        coin__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "coin"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"coin")) ::
              Data.ProtoLens.FieldDescriptor Withdrawal
        redeemer__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "redeemer"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Redeemer)
              (Data.ProtoLens.OptionalField
                 (Data.ProtoLens.Field.field @"maybe'redeemer")) ::
              Data.ProtoLens.FieldDescriptor Withdrawal
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, rewardAccount__field_descriptor),
           (Data.ProtoLens.Tag 2, coin__field_descriptor),
           (Data.ProtoLens.Tag 3, redeemer__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _Withdrawal'_unknownFields
        (\ x__ y__ -> x__ {_Withdrawal'_unknownFields = y__})
  defMessage
    = Withdrawal'_constructor
        {_Withdrawal'rewardAccount = Data.ProtoLens.fieldDefault,
         _Withdrawal'coin = Data.ProtoLens.fieldDefault,
         _Withdrawal'redeemer = Prelude.Nothing,
         _Withdrawal'_unknownFields = []}
  parseMessage
    = let
        loop ::
          Withdrawal -> Data.ProtoLens.Encoding.Bytes.Parser Withdrawal
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "reward_account"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"rewardAccount") y x)
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "coin"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"coin") y x)
                        26
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.isolate
                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
                                       "redeemer"
                                loop
                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"redeemer") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "Withdrawal"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v
                  = Lens.Family2.view
                      (Data.ProtoLens.Field.field @"rewardAccount") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         _v))
             ((Data.Monoid.<>)
                (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"coin") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                ((Data.Monoid.<>)
                   (case
                        Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'redeemer") _x
                    of
                      Prelude.Nothing -> Data.Monoid.mempty
                      (Prelude.Just _v)
                        -> (Data.Monoid.<>)
                             (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                             ((Prelude..)
                                (\ bs
                                   -> (Data.Monoid.<>)
                                        (Data.ProtoLens.Encoding.Bytes.putVarInt
                                           (Prelude.fromIntegral (Data.ByteString.length bs)))
                                        (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                Data.ProtoLens.encodeMessage _v))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData Withdrawal where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_Withdrawal'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_Withdrawal'rewardAccount x__)
                (Control.DeepSeq.deepseq
                   (_Withdrawal'coin x__)
                   (Control.DeepSeq.deepseq (_Withdrawal'redeemer x__) ())))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.rewardAccount' @:: Lens' WithdrawalAmount Data.ByteString.ByteString@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.coin' @:: Lens' WithdrawalAmount Data.Word.Word64@ -}
data WithdrawalAmount
  = WithdrawalAmount'_constructor {_WithdrawalAmount'rewardAccount :: !Data.ByteString.ByteString,
                                   _WithdrawalAmount'coin :: !Data.Word.Word64,
                                   _WithdrawalAmount'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show WithdrawalAmount where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField WithdrawalAmount "rewardAccount" Data.ByteString.ByteString where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _WithdrawalAmount'rewardAccount
           (\ x__ y__ -> x__ {_WithdrawalAmount'rewardAccount = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField WithdrawalAmount "coin" Data.Word.Word64 where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _WithdrawalAmount'coin
           (\ x__ y__ -> x__ {_WithdrawalAmount'coin = y__}))
        Prelude.id
instance Data.ProtoLens.Message WithdrawalAmount where
  messageName _
    = Data.Text.pack "utxorpc.v1alpha.cardano.WithdrawalAmount"
  packedMessageDescriptor _
    = "\n\
      \\DLEWithdrawalAmount\DC2%\n\
      \\SOreward_account\CAN\SOH \SOH(\fR\rrewardAccount\DC2\DC2\n\
      \\EOTcoin\CAN\STX \SOH(\EOTR\EOTcoin"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        rewardAccount__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "reward_account"
              (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
                 Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional
                 (Data.ProtoLens.Field.field @"rewardAccount")) ::
              Data.ProtoLens.FieldDescriptor WithdrawalAmount
        coin__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "coin"
              (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
                 Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
              (Data.ProtoLens.PlainField
                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"coin")) ::
              Data.ProtoLens.FieldDescriptor WithdrawalAmount
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, rewardAccount__field_descriptor),
           (Data.ProtoLens.Tag 2, coin__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _WithdrawalAmount'_unknownFields
        (\ x__ y__ -> x__ {_WithdrawalAmount'_unknownFields = y__})
  defMessage
    = WithdrawalAmount'_constructor
        {_WithdrawalAmount'rewardAccount = Data.ProtoLens.fieldDefault,
         _WithdrawalAmount'coin = Data.ProtoLens.fieldDefault,
         _WithdrawalAmount'_unknownFields = []}
  parseMessage
    = let
        loop ::
          WithdrawalAmount
          -> Data.ProtoLens.Encoding.Bytes.Parser WithdrawalAmount
        loop x
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                           Data.ProtoLens.Encoding.Bytes.getBytes
                                             (Prelude.fromIntegral len))
                                       "reward_account"
                                loop
                                  (Lens.Family2.set
                                     (Data.ProtoLens.Field.field @"rewardAccount") y x)
                        16
                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                       Data.ProtoLens.Encoding.Bytes.getVarInt "coin"
                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"coin") y x)
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do loop Data.ProtoLens.defMessage) "WithdrawalAmount"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (let
                _v
                  = Lens.Family2.view
                      (Data.ProtoLens.Field.field @"rewardAccount") _x
              in
                if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                    Data.Monoid.mempty
                else
                    (Data.Monoid.<>)
                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                      ((\ bs
                          -> (Data.Monoid.<>)
                               (Data.ProtoLens.Encoding.Bytes.putVarInt
                                  (Prelude.fromIntegral (Data.ByteString.length bs)))
                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                         _v))
             ((Data.Monoid.<>)
                (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"coin") _x
                 in
                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then
                       Data.Monoid.mempty
                   else
                       (Data.Monoid.<>)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
                         (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
                (Data.ProtoLens.Encoding.Wire.buildFieldSet
                   (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
instance Control.DeepSeq.NFData WithdrawalAmount where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_WithdrawalAmount'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_WithdrawalAmount'rewardAccount x__)
                (Control.DeepSeq.deepseq (_WithdrawalAmount'coin x__) ()))
{- | Fields :
     
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vkeywitness' @:: Lens' WitnessSet [VKeyWitness]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'vkeywitness' @:: Lens' WitnessSet (Data.Vector.Vector VKeyWitness)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.script' @:: Lens' WitnessSet [Script]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'script' @:: Lens' WitnessSet (Data.Vector.Vector Script)@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.plutusDatums' @:: Lens' WitnessSet [PlutusData]@
         * 'Proto.Utxorpc.V1alpha.Cardano.Cardano_Fields.vec'plutusDatums' @:: Lens' WitnessSet (Data.Vector.Vector PlutusData)@ -}
data WitnessSet
  = WitnessSet'_constructor {_WitnessSet'vkeywitness :: !(Data.Vector.Vector VKeyWitness),
                             _WitnessSet'script :: !(Data.Vector.Vector Script),
                             _WitnessSet'plutusDatums :: !(Data.Vector.Vector PlutusData),
                             _WitnessSet'_unknownFields :: !Data.ProtoLens.FieldSet}
  deriving stock (Prelude.Eq, Prelude.Ord)
instance Prelude.Show WitnessSet where
  showsPrec _ __x __s
    = Prelude.showChar
        '{'
        (Prelude.showString
           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
instance Data.ProtoLens.Field.HasField WitnessSet "vkeywitness" [VKeyWitness] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _WitnessSet'vkeywitness
           (\ x__ y__ -> x__ {_WitnessSet'vkeywitness = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField WitnessSet "vec'vkeywitness" (Data.Vector.Vector VKeyWitness) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _WitnessSet'vkeywitness
           (\ x__ y__ -> x__ {_WitnessSet'vkeywitness = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField WitnessSet "script" [Script] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _WitnessSet'script (\ x__ y__ -> x__ {_WitnessSet'script = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField WitnessSet "vec'script" (Data.Vector.Vector Script) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _WitnessSet'script (\ x__ y__ -> x__ {_WitnessSet'script = y__}))
        Prelude.id
instance Data.ProtoLens.Field.HasField WitnessSet "plutusDatums" [PlutusData] where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _WitnessSet'plutusDatums
           (\ x__ y__ -> x__ {_WitnessSet'plutusDatums = y__}))
        (Lens.Family2.Unchecked.lens
           Data.Vector.Generic.toList
           (\ _ y__ -> Data.Vector.Generic.fromList y__))
instance Data.ProtoLens.Field.HasField WitnessSet "vec'plutusDatums" (Data.Vector.Vector PlutusData) where
  fieldOf _
    = (Prelude..)
        (Lens.Family2.Unchecked.lens
           _WitnessSet'plutusDatums
           (\ x__ y__ -> x__ {_WitnessSet'plutusDatums = y__}))
        Prelude.id
instance Data.ProtoLens.Message WitnessSet where
  messageName _ = Data.Text.pack "utxorpc.v1alpha.cardano.WitnessSet"
  packedMessageDescriptor _
    = "\n\
      \\n\
      \WitnessSet\DC2F\n\
      \\vvkeywitness\CAN\SOH \ETX(\v2$.utxorpc.v1alpha.cardano.VKeyWitnessR\vvkeywitness\DC27\n\
      \\ACKscript\CAN\STX \ETX(\v2\US.utxorpc.v1alpha.cardano.ScriptR\ACKscript\DC2H\n\
      \\rplutus_datums\CAN\ETX \ETX(\v2#.utxorpc.v1alpha.cardano.PlutusDataR\fplutusDatums"
  packedFileDescriptor _ = packedFileDescriptor
  fieldsByTag
    = let
        vkeywitness__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "vkeywitness"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor VKeyWitness)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked
                 (Data.ProtoLens.Field.field @"vkeywitness")) ::
              Data.ProtoLens.FieldDescriptor WitnessSet
        script__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "script"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor Script)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"script")) ::
              Data.ProtoLens.FieldDescriptor WitnessSet
        plutusDatums__field_descriptor
          = Data.ProtoLens.FieldDescriptor
              "plutus_datums"
              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                 Data.ProtoLens.FieldTypeDescriptor PlutusData)
              (Data.ProtoLens.RepeatedField
                 Data.ProtoLens.Unpacked
                 (Data.ProtoLens.Field.field @"plutusDatums")) ::
              Data.ProtoLens.FieldDescriptor WitnessSet
      in
        Data.Map.fromList
          [(Data.ProtoLens.Tag 1, vkeywitness__field_descriptor),
           (Data.ProtoLens.Tag 2, script__field_descriptor),
           (Data.ProtoLens.Tag 3, plutusDatums__field_descriptor)]
  unknownFields
    = Lens.Family2.Unchecked.lens
        _WitnessSet'_unknownFields
        (\ x__ y__ -> x__ {_WitnessSet'_unknownFields = y__})
  defMessage
    = WitnessSet'_constructor
        {_WitnessSet'vkeywitness = Data.Vector.Generic.empty,
         _WitnessSet'script = Data.Vector.Generic.empty,
         _WitnessSet'plutusDatums = Data.Vector.Generic.empty,
         _WitnessSet'_unknownFields = []}
  parseMessage
    = let
        loop ::
          WitnessSet
          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld PlutusData
             -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Script
                -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld VKeyWitness
                   -> Data.ProtoLens.Encoding.Bytes.Parser WitnessSet
        loop x mutable'plutusDatums mutable'script mutable'vkeywitness
          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
               if end then
                   do frozen'plutusDatums <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                               (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                                  mutable'plutusDatums)
                      frozen'script <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                         (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                            mutable'script)
                      frozen'vkeywitness <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                              (Data.ProtoLens.Encoding.Growing.unsafeFreeze
                                                 mutable'vkeywitness)
                      (let missing = []
                       in
                         if Prelude.null missing then
                             Prelude.return ()
                         else
                             Prelude.fail
                               ((Prelude.++)
                                  "Missing required fields: "
                                  (Prelude.show (missing :: [Prelude.String]))))
                      Prelude.return
                        (Lens.Family2.over
                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
                           (Lens.Family2.set
                              (Data.ProtoLens.Field.field @"vec'plutusDatums")
                              frozen'plutusDatums
                              (Lens.Family2.set
                                 (Data.ProtoLens.Field.field @"vec'script") frozen'script
                                 (Lens.Family2.set
                                    (Data.ProtoLens.Field.field @"vec'vkeywitness")
                                    frozen'vkeywitness x))))
               else
                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
                      case tag of
                        10
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "vkeywitness"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append
                                          mutable'vkeywitness y)
                                loop x mutable'plutusDatums mutable'script v
                        18
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "script"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append mutable'script y)
                                loop x mutable'plutusDatums v mutable'vkeywitness
                        26
                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
                                            Data.ProtoLens.Encoding.Bytes.isolate
                                              (Prelude.fromIntegral len)
                                              Data.ProtoLens.parseMessage)
                                        "plutus_datums"
                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       (Data.ProtoLens.Encoding.Growing.append
                                          mutable'plutusDatums y)
                                loop x v mutable'script mutable'vkeywitness
                        wire
                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
                                        wire
                                loop
                                  (Lens.Family2.over
                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
                                  mutable'plutusDatums mutable'script mutable'vkeywitness
      in
        (Data.ProtoLens.Encoding.Bytes.<?>)
          (do mutable'plutusDatums <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                        Data.ProtoLens.Encoding.Growing.new
              mutable'script <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                  Data.ProtoLens.Encoding.Growing.new
              mutable'vkeywitness <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
                                       Data.ProtoLens.Encoding.Growing.new
              loop
                Data.ProtoLens.defMessage mutable'plutusDatums mutable'script
                mutable'vkeywitness)
          "WitnessSet"
  buildMessage
    = \ _x
        -> (Data.Monoid.<>)
             (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                (\ _v
                   -> (Data.Monoid.<>)
                        (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
                        ((Prelude..)
                           (\ bs
                              -> (Data.Monoid.<>)
                                   (Data.ProtoLens.Encoding.Bytes.putVarInt
                                      (Prelude.fromIntegral (Data.ByteString.length bs)))
                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                           Data.ProtoLens.encodeMessage _v))
                (Lens.Family2.view
                   (Data.ProtoLens.Field.field @"vec'vkeywitness") _x))
             ((Data.Monoid.<>)
                (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                   (\ _v
                      -> (Data.Monoid.<>)
                           (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
                           ((Prelude..)
                              (\ bs
                                 -> (Data.Monoid.<>)
                                      (Data.ProtoLens.Encoding.Bytes.putVarInt
                                         (Prelude.fromIntegral (Data.ByteString.length bs)))
                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                              Data.ProtoLens.encodeMessage _v))
                   (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'script") _x))
                ((Data.Monoid.<>)
                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
                      (\ _v
                         -> (Data.Monoid.<>)
                              (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
                              ((Prelude..)
                                 (\ bs
                                    -> (Data.Monoid.<>)
                                         (Data.ProtoLens.Encoding.Bytes.putVarInt
                                            (Prelude.fromIntegral (Data.ByteString.length bs)))
                                         (Data.ProtoLens.Encoding.Bytes.putBytes bs))
                                 Data.ProtoLens.encodeMessage _v))
                      (Lens.Family2.view
                         (Data.ProtoLens.Field.field @"vec'plutusDatums") _x))
                   (Data.ProtoLens.Encoding.Wire.buildFieldSet
                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
instance Control.DeepSeq.NFData WitnessSet where
  rnf
    = \ x__
        -> Control.DeepSeq.deepseq
             (_WitnessSet'_unknownFields x__)
             (Control.DeepSeq.deepseq
                (_WitnessSet'vkeywitness x__)
                (Control.DeepSeq.deepseq
                   (_WitnessSet'script x__)
                   (Control.DeepSeq.deepseq (_WitnessSet'plutusDatums x__) ())))
packedFileDescriptor :: Data.ByteString.ByteString
packedFileDescriptor
  = "\n\
    \%utxorpc/v1alpha/cardano/cardano.proto\DC2\ETButxorpc.v1alpha.cardano\"\133\STX\n\
    \\bRedeemer\DC2B\n\
    \\apurpose\CAN\SOH \SOH(\SO2(.utxorpc.v1alpha.cardano.RedeemerPurposeR\apurpose\DC2=\n\
    \\apayload\CAN\STX \SOH(\v2#.utxorpc.v1alpha.cardano.PlutusDataR\apayload\DC2\DC4\n\
    \\ENQindex\CAN\ETX \SOH(\rR\ENQindex\DC2;\n\
    \\bex_units\CAN\EOT \SOH(\v2 .utxorpc.v1alpha.cardano.ExUnitsR\aexUnits\DC2#\n\
    \\roriginal_cbor\CAN\ENQ \SOH(\fR\foriginalCbor\"\196\SOH\n\
    \\aTxInput\DC2\ETB\n\
    \\atx_hash\CAN\SOH \SOH(\fR\ACKtxHash\DC2!\n\
    \\foutput_index\CAN\STX \SOH(\rR\voutputIndex\DC2>\n\
    \\tas_output\CAN\ETX \SOH(\v2!.utxorpc.v1alpha.cardano.TxOutputR\basOutput\DC2=\n\
    \\bredeemer\CAN\EOT \SOH(\v2!.utxorpc.v1alpha.cardano.RedeemerR\bredeemer\"\228\SOH\n\
    \\bTxOutput\DC2\CAN\n\
    \\aaddress\CAN\SOH \SOH(\fR\aaddress\DC2\DC2\n\
    \\EOTcoin\CAN\STX \SOH(\EOTR\EOTcoin\DC2;\n\
    \\ACKassets\CAN\ETX \ETX(\v2#.utxorpc.v1alpha.cardano.MultiassetR\ACKassets\DC24\n\
    \\ENQdatum\CAN\EOT \SOH(\v2\RS.utxorpc.v1alpha.cardano.DatumR\ENQdatum\DC27\n\
    \\ACKscript\CAN\ENQ \SOH(\v2\US.utxorpc.v1alpha.cardano.ScriptR\ACKscript\"\DEL\n\
    \\ENQDatum\DC2\DC2\n\
    \\EOThash\CAN\SOH \SOH(\fR\EOThash\DC2=\n\
    \\apayload\CAN\STX \SOH(\v2#.utxorpc.v1alpha.cardano.PlutusDataR\apayload\DC2#\n\
    \\roriginal_cbor\CAN\ETX \SOH(\fR\foriginalCbor\"Y\n\
    \\ENQAsset\DC2\DC2\n\
    \\EOTname\CAN\SOH \SOH(\fR\EOTname\DC2\US\n\
    \\voutput_coin\CAN\STX \SOH(\EOTR\n\
    \outputCoin\DC2\ESC\n\
    \\tmint_coin\CAN\ETX \SOH(\ETXR\bmintCoin\"\160\SOH\n\
    \\n\
    \Multiasset\DC2\ESC\n\
    \\tpolicy_id\CAN\SOH \SOH(\fR\bpolicyId\DC26\n\
    \\ACKassets\CAN\STX \ETX(\v2\RS.utxorpc.v1alpha.cardano.AssetR\ACKassets\DC2=\n\
    \\bredeemer\CAN\ETX \SOH(\v2!.utxorpc.v1alpha.cardano.RedeemerR\bredeemer\"4\n\
    \\n\
    \TxValidity\DC2\DC4\n\
    \\ENQstart\CAN\SOH \SOH(\EOTR\ENQstart\DC2\DLE\n\
    \\ETXttl\CAN\STX \SOH(\EOTR\ETXttl\"\201\SOH\n\
    \\n\
    \Collateral\DC2@\n\
    \\n\
    \collateral\CAN\SOH \ETX(\v2 .utxorpc.v1alpha.cardano.TxInputR\n\
    \collateral\DC2N\n\
    \\DC1collateral_return\CAN\STX \SOH(\v2!.utxorpc.v1alpha.cardano.TxOutputR\DLEcollateralReturn\DC2)\n\
    \\DLEtotal_collateral\CAN\ETX \SOH(\EOTR\SItotalCollateral\"\134\SOH\n\
    \\n\
    \Withdrawal\DC2%\n\
    \\SOreward_account\CAN\SOH \SOH(\fR\rrewardAccount\DC2\DC2\n\
    \\EOTcoin\CAN\STX \SOH(\EOTR\EOTcoin\DC2=\n\
    \\bredeemer\CAN\ETX \SOH(\v2!.utxorpc.v1alpha.cardano.RedeemerR\bredeemer\"\215\SOH\n\
    \\n\
    \WitnessSet\DC2F\n\
    \\vvkeywitness\CAN\SOH \ETX(\v2$.utxorpc.v1alpha.cardano.VKeyWitnessR\vvkeywitness\DC27\n\
    \\ACKscript\CAN\STX \ETX(\v2\US.utxorpc.v1alpha.cardano.ScriptR\ACKscript\DC2H\n\
    \\rplutus_datums\CAN\ETX \ETX(\v2#.utxorpc.v1alpha.cardano.PlutusDataR\fplutusDatums\"\131\SOH\n\
    \\aAuxData\DC2=\n\
    \\bmetadata\CAN\SOH \ETX(\v2!.utxorpc.v1alpha.cardano.MetadataR\bmetadata\DC29\n\
    \\ascripts\CAN\STX \ETX(\v2\US.utxorpc.v1alpha.cardano.ScriptR\ascripts\"\178\ACK\n\
    \\STXTx\DC28\n\
    \\ACKinputs\CAN\SOH \ETX(\v2 .utxorpc.v1alpha.cardano.TxInputR\ACKinputs\DC2;\n\
    \\aoutputs\CAN\STX \ETX(\v2!.utxorpc.v1alpha.cardano.TxOutputR\aoutputs\DC2H\n\
    \\fcertificates\CAN\ETX \ETX(\v2$.utxorpc.v1alpha.cardano.CertificateR\fcertificates\DC2E\n\
    \\vwithdrawals\CAN\EOT \ETX(\v2#.utxorpc.v1alpha.cardano.WithdrawalR\vwithdrawals\DC27\n\
    \\EOTmint\CAN\ENQ \ETX(\v2#.utxorpc.v1alpha.cardano.MultiassetR\EOTmint\DC2K\n\
    \\DLEreference_inputs\CAN\ACK \ETX(\v2 .utxorpc.v1alpha.cardano.TxInputR\SIreferenceInputs\DC2A\n\
    \\twitnesses\CAN\a \SOH(\v2#.utxorpc.v1alpha.cardano.WitnessSetR\twitnesses\DC2C\n\
    \\n\
    \collateral\CAN\b \SOH(\v2#.utxorpc.v1alpha.cardano.CollateralR\n\
    \collateral\DC2\DLE\n\
    \\ETXfee\CAN\t \SOH(\EOTR\ETXfee\DC2?\n\
    \\bvalidity\CAN\n\
    \ \SOH(\v2#.utxorpc.v1alpha.cardano.TxValidityR\bvalidity\DC2\RS\n\
    \\n\
    \successful\CAN\v \SOH(\bR\n\
    \successful\DC2>\n\
    \\tauxiliary\CAN\f \SOH(\v2 .utxorpc.v1alpha.cardano.AuxDataR\tauxiliary\DC2\DC2\n\
    \\EOThash\CAN\r \SOH(\fR\EOThash\DC2O\n\
    \\tproposals\CAN\SO \ETX(\v21.utxorpc.v1alpha.cardano.GovernanceActionProposalR\tproposals\"\222\SOH\n\
    \\CANGovernanceActionProposal\DC2\CAN\n\
    \\adeposit\CAN\SOH \SOH(\EOTR\adeposit\DC2%\n\
    \\SOreward_account\CAN\STX \SOH(\fR\rrewardAccount\DC2H\n\
    \\n\
    \gov_action\CAN\ETX \SOH(\v2).utxorpc.v1alpha.cardano.GovernanceActionR\tgovAction\DC27\n\
    \\ACKanchor\CAN\EOT \SOH(\v2\US.utxorpc.v1alpha.cardano.AnchorR\ACKanchor\"\211\ENQ\n\
    \\DLEGovernanceAction\DC2h\n\
    \\ETBparameter_change_action\CAN\SOH \SOH(\v2..utxorpc.v1alpha.cardano.ParameterChangeActionH\NULR\NAKparameterChangeAction\DC2r\n\
    \\ESChard_fork_initiation_action\CAN\STX \SOH(\v21.utxorpc.v1alpha.cardano.HardForkInitiationActionH\NULR\CANhardForkInitiationAction\DC2t\n\
    \\ESCtreasury_withdrawals_action\CAN\ETX \SOH(\v22.utxorpc.v1alpha.cardano.TreasuryWithdrawalsActionH\NULR\EMtreasuryWithdrawalsAction\DC2_\n\
    \\DC4no_confidence_action\CAN\EOT \SOH(\v2+.utxorpc.v1alpha.cardano.NoConfidenceActionH\NULR\DC2noConfidenceAction\DC2h\n\
    \\ETBupdate_committee_action\CAN\ENQ \SOH(\v2..utxorpc.v1alpha.cardano.UpdateCommitteeActionH\NULR\NAKupdateCommitteeAction\DC2h\n\
    \\ETBnew_constitution_action\CAN\ACK \SOH(\v2..utxorpc.v1alpha.cardano.NewConstitutionActionH\NULR\NAKnewConstitutionAction\DC2!\n\
    \\vinfo_action\CAN\a \SOH(\rH\NULR\n\
    \infoActionB\DC3\n\
    \\DC1governance_action\"s\n\
    \\DC2GovernanceActionId\DC2%\n\
    \\SOtransaction_id\CAN\SOH \SOH(\fR\rtransactionId\DC26\n\
    \\ETBgovernance_action_index\CAN\STX \SOH(\rR\NAKgovernanceActionIndex\"\223\SOH\n\
    \\NAKParameterChangeAction\DC2O\n\
    \\rgov_action_id\CAN\SOH \SOH(\v2+.utxorpc.v1alpha.cardano.GovernanceActionIdR\vgovActionId\DC2T\n\
    \\NAKprotocol_param_update\CAN\STX \SOH(\v2 .utxorpc.v1alpha.cardano.PParamsR\DC3protocolParamUpdate\DC2\US\n\
    \\vpolicy_hash\CAN\ETX \SOH(\fR\n\
    \policyHash\"\192\SOH\n\
    \\CANHardForkInitiationAction\DC2O\n\
    \\rgov_action_id\CAN\SOH \SOH(\v2+.utxorpc.v1alpha.cardano.GovernanceActionIdR\vgovActionId\DC2S\n\
    \\DLEprotocol_version\CAN\STX \SOH(\v2(.utxorpc.v1alpha.cardano.ProtocolVersionR\SIprotocolVersion\"\137\SOH\n\
    \\EMTreasuryWithdrawalsAction\DC2K\n\
    \\vwithdrawals\CAN\SOH \ETX(\v2).utxorpc.v1alpha.cardano.WithdrawalAmountR\vwithdrawals\DC2\US\n\
    \\vpolicy_hash\CAN\STX \SOH(\fR\n\
    \policyHash\"M\n\
    \\DLEWithdrawalAmount\DC2%\n\
    \\SOreward_account\CAN\SOH \SOH(\fR\rrewardAccount\DC2\DC2\n\
    \\EOTcoin\CAN\STX \SOH(\EOTR\EOTcoin\"e\n\
    \\DC2NoConfidenceAction\DC2O\n\
    \\rgov_action_id\CAN\SOH \SOH(\v2+.utxorpc.v1alpha.cardano.GovernanceActionIdR\vgovActionId\"\163\ETX\n\
    \\NAKUpdateCommitteeAction\DC2O\n\
    \\rgov_action_id\CAN\SOH \SOH(\v2+.utxorpc.v1alpha.cardano.GovernanceActionIdR\vgovActionId\DC2j\n\
    \\FSremove_committee_credentials\CAN\STX \ETX(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\SUBremoveCommitteeCredentials\DC2l\n\
    \\EMnew_committee_credentials\CAN\ETX \ETX(\v20.utxorpc.v1alpha.cardano.NewCommitteeCredentialsR\ETBnewCommitteeCredentials\DC2_\n\
    \\ETBnew_committee_threshold\CAN\EOT \SOH(\v2'.utxorpc.v1alpha.cardano.RationalNumberR\NAKnewCommitteeThreshold\"\179\SOH\n\
    \\NAKNewConstitutionAction\DC2O\n\
    \\rgov_action_id\CAN\SOH \SOH(\v2+.utxorpc.v1alpha.cardano.GovernanceActionIdR\vgovActionId\DC2I\n\
    \\fconstitution\CAN\STX \SOH(\v2%.utxorpc.v1alpha.cardano.ConstitutionR\fconstitution\"[\n\
    \\fConstitution\DC27\n\
    \\ACKanchor\CAN\SOH \SOH(\v2\US.utxorpc.v1alpha.cardano.AnchorR\ACKanchor\DC2\DC2\n\
    \\EOThash\CAN\STX \SOH(\fR\EOThash\"\164\SOH\n\
    \\ETBNewCommitteeCredentials\DC2d\n\
    \\EMcommittee_cold_credential\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\ETBcommitteeColdCredential\DC2#\n\
    \\rexpires_epoch\CAN\STX \SOH(\rR\fexpiresEpoch\"M\n\
    \\vBlockHeader\DC2\DC2\n\
    \\EOTslot\CAN\SOH \SOH(\EOTR\EOTslot\DC2\DC2\n\
    \\EOThash\CAN\STX \SOH(\fR\EOThash\DC2\SYN\n\
    \\ACKheight\CAN\ETX \SOH(\EOTR\ACKheight\"8\n\
    \\tBlockBody\DC2+\n\
    \\STXtx\CAN\SOH \ETX(\v2\ESC.utxorpc.v1alpha.cardano.TxR\STXtx\"}\n\
    \\ENQBlock\DC2<\n\
    \\ACKheader\CAN\SOH \SOH(\v2$.utxorpc.v1alpha.cardano.BlockHeaderR\ACKheader\DC26\n\
    \\EOTbody\CAN\STX \SOH(\v2\".utxorpc.v1alpha.cardano.BlockBodyR\EOTbody\"?\n\
    \\vVKeyWitness\DC2\DC2\n\
    \\EOTvkey\CAN\SOH \SOH(\fR\EOTvkey\DC2\FS\n\
    \\tsignature\CAN\STX \SOH(\fR\tsignature\"\128\ETX\n\
    \\fNativeScript\DC2%\n\
    \\rscript_pubkey\CAN\SOH \SOH(\fH\NULR\fscriptPubkey\DC2J\n\
    \\n\
    \script_all\CAN\STX \SOH(\v2).utxorpc.v1alpha.cardano.NativeScriptListH\NULR\tscriptAll\DC2J\n\
    \\n\
    \script_any\CAN\ETX \SOH(\v2).utxorpc.v1alpha.cardano.NativeScriptListH\NULR\tscriptAny\DC2H\n\
    \\rscript_n_of_k\CAN\EOT \SOH(\v2#.utxorpc.v1alpha.cardano.ScriptNOfKH\NULR\n\
    \scriptNOfK\DC2'\n\
    \\SOinvalid_before\CAN\ENQ \SOH(\EOTH\NULR\rinvalidBefore\DC2-\n\
    \\DC1invalid_hereafter\CAN\ACK \SOH(\EOTH\NULR\DLEinvalidHereafterB\SI\n\
    \\rnative_script\"O\n\
    \\DLENativeScriptList\DC2;\n\
    \\ENQitems\CAN\SOH \ETX(\v2%.utxorpc.v1alpha.cardano.NativeScriptR\ENQitems\"[\n\
    \\n\
    \ScriptNOfK\DC2\f\n\
    \\SOHk\CAN\SOH \SOH(\rR\SOHk\DC2?\n\
    \\ascripts\CAN\STX \ETX(\v2%.utxorpc.v1alpha.cardano.NativeScriptR\ascripts\"\128\SOH\n\
    \\ACKConstr\DC2\DLE\n\
    \\ETXtag\CAN\SOH \SOH(\rR\ETXtag\DC2'\n\
    \\SIany_constructor\CAN\STX \SOH(\EOTR\SOanyConstructor\DC2;\n\
    \\ACKfields\CAN\ETX \ETX(\v2#.utxorpc.v1alpha.cardano.PlutusDataR\ACKfields\"c\n\
    \\ACKBigInt\DC2\DC2\n\
    \\ETXint\CAN\SOH \SOH(\ETXH\NULR\ETXint\DC2\FS\n\
    \\tbig_u_int\CAN\STX \SOH(\fH\NULR\abigUInt\DC2\FS\n\
    \\tbig_n_int\CAN\ETX \SOH(\fH\NULR\abigNIntB\t\n\
    \\abig_int\"\130\SOH\n\
    \\SOPlutusDataPair\DC25\n\
    \\ETXkey\CAN\SOH \SOH(\v2#.utxorpc.v1alpha.cardano.PlutusDataR\ETXkey\DC29\n\
    \\ENQvalue\CAN\STX \SOH(\v2#.utxorpc.v1alpha.cardano.PlutusDataR\ENQvalue\"\183\STX\n\
    \\n\
    \PlutusData\DC29\n\
    \\ACKconstr\CAN\STX \SOH(\v2\US.utxorpc.v1alpha.cardano.ConstrH\NULR\ACKconstr\DC2:\n\
    \\ETXmap\CAN\ETX \SOH(\v2&.utxorpc.v1alpha.cardano.PlutusDataMapH\NULR\ETXmap\DC2:\n\
    \\abig_int\CAN\EOT \SOH(\v2\US.utxorpc.v1alpha.cardano.BigIntH\NULR\ACKbigInt\DC2%\n\
    \\rbounded_bytes\CAN\ENQ \SOH(\fH\NULR\fboundedBytes\DC2@\n\
    \\ENQarray\CAN\ACK \SOH(\v2(.utxorpc.v1alpha.cardano.PlutusDataArrayH\NULR\ENQarrayB\r\n\
    \\vplutus_data\"N\n\
    \\rPlutusDataMap\DC2=\n\
    \\ENQpairs\CAN\SOH \ETX(\v2'.utxorpc.v1alpha.cardano.PlutusDataPairR\ENQpairs\"L\n\
    \\SIPlutusDataArray\DC29\n\
    \\ENQitems\CAN\SOH \ETX(\v2#.utxorpc.v1alpha.cardano.PlutusDataR\ENQitems\"\176\SOH\n\
    \\ACKScript\DC2?\n\
    \\ACKnative\CAN\SOH \SOH(\v2%.utxorpc.v1alpha.cardano.NativeScriptH\NULR\ACKnative\DC2\GS\n\
    \\tplutus_v1\CAN\STX \SOH(\fH\NULR\bplutusV1\DC2\GS\n\
    \\tplutus_v2\CAN\ETX \SOH(\fH\NULR\bplutusV2\DC2\GS\n\
    \\tplutus_v3\CAN\EOT \SOH(\fH\NULR\bplutusV3B\b\n\
    \\ACKscript\"\214\SOH\n\
    \\tMetadatum\DC2\DC2\n\
    \\ETXint\CAN\SOH \SOH(\ETXH\NULR\ETXint\DC2\SYN\n\
    \\ENQbytes\CAN\STX \SOH(\fH\NULR\ENQbytes\DC2\DC4\n\
    \\EOTtext\CAN\ETX \SOH(\tH\NULR\EOTtext\DC2?\n\
    \\ENQarray\CAN\EOT \SOH(\v2'.utxorpc.v1alpha.cardano.MetadatumArrayH\NULR\ENQarray\DC29\n\
    \\ETXmap\CAN\ENQ \SOH(\v2%.utxorpc.v1alpha.cardano.MetadatumMapH\NULR\ETXmapB\v\n\
    \\tmetadatum\"J\n\
    \\SOMetadatumArray\DC28\n\
    \\ENQitems\CAN\SOH \ETX(\v2\".utxorpc.v1alpha.cardano.MetadatumR\ENQitems\"L\n\
    \\fMetadatumMap\DC2<\n\
    \\ENQpairs\CAN\SOH \ETX(\v2&.utxorpc.v1alpha.cardano.MetadatumPairR\ENQpairs\"\DEL\n\
    \\rMetadatumPair\DC24\n\
    \\ETXkey\CAN\SOH \SOH(\v2\".utxorpc.v1alpha.cardano.MetadatumR\ETXkey\DC28\n\
    \\ENQvalue\CAN\STX \SOH(\v2\".utxorpc.v1alpha.cardano.MetadatumR\ENQvalue\"Z\n\
    \\bMetadata\DC2\DC4\n\
    \\ENQlabel\CAN\SOH \SOH(\EOTR\ENQlabel\DC28\n\
    \\ENQvalue\CAN\STX \SOH(\v2\".utxorpc.v1alpha.cardano.MetadatumR\ENQvalue\"n\n\
    \\SIStakeCredential\DC2$\n\
    \\raddr_key_hash\CAN\SOH \SOH(\fH\NULR\vaddrKeyHash\DC2!\n\
    \\vscript_hash\CAN\STX \SOH(\fH\NULR\n\
    \scriptHashB\DC2\n\
    \\DLEstake_credential\"P\n\
    \\SORationalNumber\DC2\FS\n\
    \\tnumerator\CAN\SOH \SOH(\ENQR\tnumerator\DC2 \n\
    \\vdenominator\CAN\STX \SOH(\rR\vdenominator\"`\n\
    \\ENQRelay\DC2\DC3\n\
    \\ENQip_v4\CAN\SOH \SOH(\fR\EOTipV4\DC2\DC3\n\
    \\ENQip_v6\CAN\STX \SOH(\fR\EOTipV6\DC2\EM\n\
    \\bdns_name\CAN\ETX \SOH(\tR\adnsName\DC2\DC2\n\
    \\EOTport\CAN\EOT \SOH(\rR\EOTport\"4\n\
    \\fPoolMetadata\DC2\DLE\n\
    \\ETXurl\CAN\SOH \SOH(\tR\ETXurl\DC2\DC2\n\
    \\EOThash\CAN\STX \SOH(\fR\EOThash\"\251\r\n\
    \\vCertificate\DC2Y\n\
    \\DC2stake_registration\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialH\NULR\DC1stakeRegistration\DC2]\n\
    \\DC4stake_deregistration\CAN\STX \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialH\NULR\DC3stakeDeregistration\DC2Y\n\
    \\DLEstake_delegation\CAN\ETX \SOH(\v2,.utxorpc.v1alpha.cardano.StakeDelegationCertH\NULR\SIstakeDelegation\DC2\\\n\
    \\DC1pool_registration\CAN\EOT \SOH(\v2-.utxorpc.v1alpha.cardano.PoolRegistrationCertH\NULR\DLEpoolRegistration\DC2V\n\
    \\SIpool_retirement\CAN\ENQ \SOH(\v2+.utxorpc.v1alpha.cardano.PoolRetirementCertH\NULR\SOpoolRetirement\DC2i\n\
    \\SYNgenesis_key_delegation\CAN\ACK \SOH(\v21.utxorpc.v1alpha.cardano.GenesisKeyDelegationCertH\NULR\DC4genesisKeyDelegation\DC2=\n\
    \\bmir_cert\CAN\a \SOH(\v2 .utxorpc.v1alpha.cardano.MirCertH\NULR\amirCert\DC2=\n\
    \\breg_cert\CAN\b \SOH(\v2 .utxorpc.v1alpha.cardano.RegCertH\NULR\aregCert\DC2C\n\
    \\n\
    \unreg_cert\CAN\t \SOH(\v2\".utxorpc.v1alpha.cardano.UnRegCertH\NULR\tunregCert\DC2P\n\
    \\SIvote_deleg_cert\CAN\n\
    \ \SOH(\v2&.utxorpc.v1alpha.cardano.VoteDelegCertH\NULR\rvoteDelegCert\DC2`\n\
    \\NAKstake_vote_deleg_cert\CAN\v \SOH(\v2+.utxorpc.v1alpha.cardano.StakeVoteDelegCertH\NULR\DC2stakeVoteDelegCert\DC2]\n\
    \\DC4stake_reg_deleg_cert\CAN\f \SOH(\v2*.utxorpc.v1alpha.cardano.StakeRegDelegCertH\NULR\DC1stakeRegDelegCert\DC2Z\n\
    \\DC3vote_reg_deleg_cert\CAN\r \SOH(\v2).utxorpc.v1alpha.cardano.VoteRegDelegCertH\NULR\DLEvoteRegDelegCert\DC2j\n\
    \\EMstake_vote_reg_deleg_cert\CAN\SO \SOH(\v2..utxorpc.v1alpha.cardano.StakeVoteRegDelegCertH\NULR\NAKstakeVoteRegDelegCert\DC2f\n\
    \\ETBauth_committee_hot_cert\CAN\SI \SOH(\v2-.utxorpc.v1alpha.cardano.AuthCommitteeHotCertH\NULR\DC4authCommitteeHotCert\DC2o\n\
    \\SUBresign_committee_cold_cert\CAN\DLE \SOH(\v20.utxorpc.v1alpha.cardano.ResignCommitteeColdCertH\NULR\ETBresignCommitteeColdCert\DC2J\n\
    \\rreg_drep_cert\CAN\DC1 \SOH(\v2$.utxorpc.v1alpha.cardano.RegDRepCertH\NULR\vregDrepCert\DC2P\n\
    \\SIunreg_drep_cert\CAN\DC2 \SOH(\v2&.utxorpc.v1alpha.cardano.UnRegDRepCertH\NULR\runregDrepCert\DC2S\n\
    \\DLEupdate_drep_cert\CAN\DC3 \SOH(\v2'.utxorpc.v1alpha.cardano.UpdateDRepCertH\NULR\SOupdateDrepCert\DC2=\n\
    \\bredeemer\CANd \SOH(\v2!.utxorpc.v1alpha.cardano.RedeemerR\bredeemerB\r\n\
    \\vcertificate\"\141\SOH\n\
    \\DC3StakeDelegationCert\DC2S\n\
    \\DLEstake_credential\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\SIstakeCredential\DC2!\n\
    \\fpool_keyhash\CAN\STX \SOH(\fR\vpoolKeyhash\"\140\ETX\n\
    \\DC4PoolRegistrationCert\DC2\SUB\n\
    \\boperator\CAN\SOH \SOH(\fR\boperator\DC2\US\n\
    \\vvrf_keyhash\CAN\STX \SOH(\fR\n\
    \vrfKeyhash\DC2\SYN\n\
    \\ACKpledge\CAN\ETX \SOH(\EOTR\ACKpledge\DC2\DC2\n\
    \\EOTcost\CAN\EOT \SOH(\EOTR\EOTcost\DC2?\n\
    \\ACKmargin\CAN\ENQ \SOH(\v2'.utxorpc.v1alpha.cardano.RationalNumberR\ACKmargin\DC2%\n\
    \\SOreward_account\CAN\ACK \SOH(\fR\rrewardAccount\DC2\US\n\
    \\vpool_owners\CAN\a \ETX(\fR\n\
    \poolOwners\DC26\n\
    \\ACKrelays\CAN\b \ETX(\v2\RS.utxorpc.v1alpha.cardano.RelayR\ACKrelays\DC2J\n\
    \\rpool_metadata\CAN\t \SOH(\v2%.utxorpc.v1alpha.cardano.PoolMetadataR\fpoolMetadata\"M\n\
    \\DC2PoolRetirementCert\DC2!\n\
    \\fpool_keyhash\CAN\SOH \SOH(\fR\vpoolKeyhash\DC2\DC4\n\
    \\ENQepoch\CAN\STX \SOH(\EOTR\ENQepoch\"\146\SOH\n\
    \\CANGenesisKeyDelegationCert\DC2!\n\
    \\fgenesis_hash\CAN\SOH \SOH(\fR\vgenesisHash\DC22\n\
    \\NAKgenesis_delegate_hash\CAN\STX \SOH(\fR\DC3genesisDelegateHash\DC2\US\n\
    \\vvrf_keyhash\CAN\ETX \SOH(\fR\n\
    \vrfKeyhash\"\DEL\n\
    \\tMirTarget\DC2S\n\
    \\DLEstake_credential\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\SIstakeCredential\DC2\GS\n\
    \\n\
    \delta_coin\CAN\STX \SOH(\ETXR\tdeltaCoin\"\146\SOH\n\
    \\aMirCert\DC26\n\
    \\EOTfrom\CAN\SOH \SOH(\SO2\".utxorpc.v1alpha.cardano.MirSourceR\EOTfrom\DC22\n\
    \\STXto\CAN\STX \ETX(\v2\".utxorpc.v1alpha.cardano.MirTargetR\STXto\DC2\ESC\n\
    \\tother_pot\CAN\ETX \SOH(\EOTR\botherPot\"r\n\
    \\aRegCert\DC2S\n\
    \\DLEstake_credential\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\SIstakeCredential\DC2\DC2\n\
    \\EOTcoin\CAN\STX \SOH(\EOTR\EOTcoin\"t\n\
    \\tUnRegCert\DC2S\n\
    \\DLEstake_credential\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\SIstakeCredential\DC2\DC2\n\
    \\EOTcoin\CAN\STX \SOH(\EOTR\EOTcoin\"\154\SOH\n\
    \\EOTDRep\DC2$\n\
    \\raddr_key_hash\CAN\SOH \SOH(\fH\NULR\vaddrKeyHash\DC2!\n\
    \\vscript_hash\CAN\STX \SOH(\fH\NULR\n\
    \scriptHash\DC2\SUB\n\
    \\aabstain\CAN\ETX \SOH(\bH\NULR\aabstain\DC2%\n\
    \\rno_confidence\CAN\EOT \SOH(\bH\NULR\fnoConfidenceB\ACK\n\
    \\EOTdrep\"\151\SOH\n\
    \\rVoteDelegCert\DC2S\n\
    \\DLEstake_credential\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\SIstakeCredential\DC21\n\
    \\EOTdrep\CAN\STX \SOH(\v2\GS.utxorpc.v1alpha.cardano.DRepR\EOTdrep\"\191\SOH\n\
    \\DC2StakeVoteDelegCert\DC2S\n\
    \\DLEstake_credential\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\SIstakeCredential\DC2!\n\
    \\fpool_keyhash\CAN\STX \SOH(\fR\vpoolKeyhash\DC21\n\
    \\EOTdrep\CAN\ETX \SOH(\v2\GS.utxorpc.v1alpha.cardano.DRepR\EOTdrep\"\159\SOH\n\
    \\DC1StakeRegDelegCert\DC2S\n\
    \\DLEstake_credential\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\SIstakeCredential\DC2!\n\
    \\fpool_keyhash\CAN\STX \SOH(\fR\vpoolKeyhash\DC2\DC2\n\
    \\EOTcoin\CAN\ETX \SOH(\EOTR\EOTcoin\"\174\SOH\n\
    \\DLEVoteRegDelegCert\DC2S\n\
    \\DLEstake_credential\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\SIstakeCredential\DC21\n\
    \\EOTdrep\CAN\STX \SOH(\v2\GS.utxorpc.v1alpha.cardano.DRepR\EOTdrep\DC2\DC2\n\
    \\EOTcoin\CAN\ETX \SOH(\EOTR\EOTcoin\"\214\SOH\n\
    \\NAKStakeVoteRegDelegCert\DC2S\n\
    \\DLEstake_credential\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\SIstakeCredential\DC2!\n\
    \\fpool_keyhash\CAN\STX \SOH(\fR\vpoolKeyhash\DC21\n\
    \\EOTdrep\CAN\ETX \SOH(\v2\GS.utxorpc.v1alpha.cardano.DRepR\EOTdrep\DC2\DC2\n\
    \\EOTcoin\CAN\EOT \SOH(\EOTR\EOTcoin\"\224\SOH\n\
    \\DC4AuthCommitteeHotCert\DC2d\n\
    \\EMcommittee_cold_credential\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\ETBcommitteeColdCredential\DC2b\n\
    \\CANcommittee_hot_credential\CAN\STX \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\SYNcommitteeHotCredential\"=\n\
    \\ACKAnchor\DC2\DLE\n\
    \\ETXurl\CAN\SOH \SOH(\tR\ETXurl\DC2!\n\
    \\fcontent_hash\CAN\STX \SOH(\fR\vcontentHash\"\184\SOH\n\
    \\ETBResignCommitteeColdCert\DC2d\n\
    \\EMcommittee_cold_credential\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\ETBcommitteeColdCredential\DC27\n\
    \\ACKanchor\CAN\STX \SOH(\v2\US.utxorpc.v1alpha.cardano.AnchorR\ACKanchor\"\173\SOH\n\
    \\vRegDRepCert\DC2Q\n\
    \\SIdrep_credential\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\SOdrepCredential\DC2\DC2\n\
    \\EOTcoin\CAN\STX \SOH(\EOTR\EOTcoin\DC27\n\
    \\ACKanchor\CAN\ETX \SOH(\v2\US.utxorpc.v1alpha.cardano.AnchorR\ACKanchor\"v\n\
    \\rUnRegDRepCert\DC2Q\n\
    \\SIdrep_credential\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\SOdrepCredential\DC2\DC2\n\
    \\EOTcoin\CAN\STX \SOH(\EOTR\EOTcoin\"\156\SOH\n\
    \\SOUpdateDRepCert\DC2Q\n\
    \\SIdrep_credential\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.StakeCredentialR\SOdrepCredential\DC27\n\
    \\ACKanchor\CAN\STX \SOH(\v2\US.utxorpc.v1alpha.cardano.AnchorR\ACKanchor\"\129\SOH\n\
    \\SOAddressPattern\DC2#\n\
    \\rexact_address\CAN\SOH \SOH(\fR\fexactAddress\DC2!\n\
    \\fpayment_part\CAN\STX \SOH(\fR\vpaymentPart\DC2'\n\
    \\SIdelegation_part\CAN\ETX \SOH(\fR\SOdelegationPart\"J\n\
    \\fAssetPattern\DC2\ESC\n\
    \\tpolicy_id\CAN\SOH \SOH(\fR\bpolicyId\DC2\GS\n\
    \\n\
    \asset_name\CAN\STX \SOH(\fR\tassetName\"\145\SOH\n\
    \\SITxOutputPattern\DC2A\n\
    \\aaddress\CAN\SOH \SOH(\v2'.utxorpc.v1alpha.cardano.AddressPatternR\aaddress\DC2;\n\
    \\ENQasset\CAN\STX \SOH(\v2%.utxorpc.v1alpha.cardano.AssetPatternR\ENQasset\"\241\STX\n\
    \\tTxPattern\DC2D\n\
    \\bconsumes\CAN\SOH \SOH(\v2(.utxorpc.v1alpha.cardano.TxOutputPatternR\bconsumes\DC2D\n\
    \\bproduces\CAN\STX \SOH(\v2(.utxorpc.v1alpha.cardano.TxOutputPatternR\bproduces\DC2H\n\
    \\vhas_address\CAN\ETX \SOH(\v2'.utxorpc.v1alpha.cardano.AddressPatternR\n\
    \hasAddress\DC2F\n\
    \\vmoves_asset\CAN\EOT \SOH(\v2%.utxorpc.v1alpha.cardano.AssetPatternR\n\
    \movesAsset\DC2F\n\
    \\vmints_asset\CAN\ENQ \SOH(\v2%.utxorpc.v1alpha.cardano.AssetPatternR\n\
    \mintsAsset\"7\n\
    \\aExUnits\DC2\DC4\n\
    \\ENQsteps\CAN\SOH \SOH(\EOTR\ENQsteps\DC2\SYN\n\
    \\ACKmemory\CAN\STX \SOH(\EOTR\ACKmemory\"\138\SOH\n\
    \\bExPrices\DC2=\n\
    \\ENQsteps\CAN\SOH \SOH(\v2'.utxorpc.v1alpha.cardano.RationalNumberR\ENQsteps\DC2?\n\
    \\ACKmemory\CAN\STX \SOH(\v2'.utxorpc.v1alpha.cardano.RationalNumberR\ACKmemory\"=\n\
    \\SIProtocolVersion\DC2\DC4\n\
    \\ENQmajor\CAN\SOH \SOH(\rR\ENQmajor\DC2\DC4\n\
    \\ENQminor\CAN\STX \SOH(\rR\ENQminor\"#\n\
    \\tCostModel\DC2\SYN\n\
    \\ACKvalues\CAN\SOH \ETX(\ETXR\ACKvalues\"\207\SOH\n\
    \\n\
    \CostModels\DC2?\n\
    \\tplutus_v1\CAN\SOH \SOH(\v2\".utxorpc.v1alpha.cardano.CostModelR\bplutusV1\DC2?\n\
    \\tplutus_v2\CAN\STX \SOH(\v2\".utxorpc.v1alpha.cardano.CostModelR\bplutusV2\DC2?\n\
    \\tplutus_v3\CAN\ETX \SOH(\v2\".utxorpc.v1alpha.cardano.CostModelR\bplutusV3\"[\n\
    \\DLEVotingThresholds\DC2G\n\
    \\n\
    \thresholds\CAN\SOH \ETX(\v2'.utxorpc.v1alpha.cardano.RationalNumberR\n\
    \thresholds\"\167\SI\n\
    \\aPParams\DC2-\n\
    \\DC3coins_per_utxo_byte\CAN\SOH \SOH(\EOTR\DLEcoinsPerUtxoByte\DC2\RS\n\
    \\vmax_tx_size\CAN\STX \SOH(\EOTR\tmaxTxSize\DC2.\n\
    \\DC3min_fee_coefficient\CAN\ETX \SOH(\EOTR\DC1minFeeCoefficient\DC2(\n\
    \\DLEmin_fee_constant\CAN\EOT \SOH(\EOTR\SOminFeeConstant\DC2-\n\
    \\DC3max_block_body_size\CAN\ENQ \SOH(\EOTR\DLEmaxBlockBodySize\DC21\n\
    \\NAKmax_block_header_size\CAN\ACK \SOH(\EOTR\DC2maxBlockHeaderSize\DC2*\n\
    \\DC1stake_key_deposit\CAN\a \SOH(\EOTR\SIstakeKeyDeposit\DC2!\n\
    \\fpool_deposit\CAN\b \SOH(\EOTR\vpoolDeposit\DC2=\n\
    \\ESCpool_retirement_epoch_bound\CAN\t \SOH(\EOTR\CANpoolRetirementEpochBound\DC25\n\
    \\ETBdesired_number_of_pools\CAN\n\
    \ \SOH(\EOTR\DC4desiredNumberOfPools\DC2N\n\
    \\SOpool_influence\CAN\v \SOH(\v2'.utxorpc.v1alpha.cardano.RationalNumberR\rpoolInfluence\DC2V\n\
    \\DC2monetary_expansion\CAN\f \SOH(\v2'.utxorpc.v1alpha.cardano.RationalNumberR\DC1monetaryExpansion\DC2V\n\
    \\DC2treasury_expansion\CAN\r \SOH(\v2'.utxorpc.v1alpha.cardano.RationalNumberR\DC1treasuryExpansion\DC2\"\n\
    \\rmin_pool_cost\CAN\SO \SOH(\EOTR\vminPoolCost\DC2S\n\
    \\DLEprotocol_version\CAN\SI \SOH(\v2(.utxorpc.v1alpha.cardano.ProtocolVersionR\SIprotocolVersion\DC2$\n\
    \\SOmax_value_size\CAN\DLE \SOH(\EOTR\fmaxValueSize\DC23\n\
    \\NAKcollateral_percentage\CAN\DC1 \SOH(\EOTR\DC4collateralPercentage\DC22\n\
    \\NAKmax_collateral_inputs\CAN\DC2 \SOH(\EOTR\DC3maxCollateralInputs\DC2D\n\
    \\vcost_models\CAN\DC3 \SOH(\v2#.utxorpc.v1alpha.cardano.CostModelsR\n\
    \costModels\DC29\n\
    \\ACKprices\CAN\DC4 \SOH(\v2!.utxorpc.v1alpha.cardano.ExPricesR\ACKprices\DC2n\n\
    \#max_execution_units_per_transaction\CAN\NAK \SOH(\v2 .utxorpc.v1alpha.cardano.ExUnitsR\USmaxExecutionUnitsPerTransaction\DC2b\n\
    \\GSmax_execution_units_per_block\CAN\SYN \SOH(\v2 .utxorpc.v1alpha.cardano.ExUnitsR\EMmaxExecutionUnitsPerBlock\DC2m\n\
    \ min_fee_script_ref_cost_per_byte\CAN\ETB \SOH(\v2'.utxorpc.v1alpha.cardano.RationalNumberR\SUBminFeeScriptRefCostPerByte\DC2_\n\
    \\SYNpool_voting_thresholds\CAN\CAN \SOH(\v2).utxorpc.v1alpha.cardano.VotingThresholdsR\DC4poolVotingThresholds\DC2_\n\
    \\SYNdrep_voting_thresholds\CAN\EM \SOH(\v2).utxorpc.v1alpha.cardano.VotingThresholdsR\DC4drepVotingThresholds\DC2,\n\
    \\DC2min_committee_size\CAN\SUB \SOH(\rR\DLEminCommitteeSize\DC20\n\
    \\DC4committee_term_limit\CAN\ESC \SOH(\EOTR\DC2committeeTermLimit\DC2I\n\
    \!governance_action_validity_period\CAN\FS \SOH(\EOTR\RSgovernanceActionValidityPeriod\DC2:\n\
    \\EMgovernance_action_deposit\CAN\GS \SOH(\EOTR\ETBgovernanceActionDeposit\DC2!\n\
    \\fdrep_deposit\CAN\RS \SOH(\EOTR\vdrepDeposit\DC24\n\
    \\SYNdrep_inactivity_period\CAN\US \SOH(\EOTR\DC4drepInactivityPeriod\"\GS\n\
    \\tEvalError\DC2\DLE\n\
    \\ETXmsg\CAN\SOH \SOH(\tR\ETXmsg\"\GS\n\
    \\tEvalTrace\DC2\DLE\n\
    \\ETXmsg\CAN\SOH \SOH(\tR\ETXmsg\"\144\STX\n\
    \\ACKTxEval\DC2\DLE\n\
    \\ETXfee\CAN\SOH \SOH(\EOTR\ETXfee\DC2;\n\
    \\bex_units\CAN\STX \SOH(\v2 .utxorpc.v1alpha.cardano.ExUnitsR\aexUnits\DC2:\n\
    \\ACKerrors\CAN\ETX \ETX(\v2\".utxorpc.v1alpha.cardano.EvalErrorR\ACKerrors\DC2:\n\
    \\ACKtraces\CAN\EOT \ETX(\v2\".utxorpc.v1alpha.cardano.EvalTraceR\ACKtraces\DC2?\n\
    \\tredeemers\CAN\ENQ \ETX(\v2!.utxorpc.v1alpha.cardano.RedeemerR\tredeemers*\219\SOH\n\
    \\SIRedeemerPurpose\DC2 \n\
    \\FSREDEEMER_PURPOSE_UNSPECIFIED\DLE\NUL\DC2\SUB\n\
    \\SYNREDEEMER_PURPOSE_SPEND\DLE\SOH\DC2\EM\n\
    \\NAKREDEEMER_PURPOSE_MINT\DLE\STX\DC2\EM\n\
    \\NAKREDEEMER_PURPOSE_CERT\DLE\ETX\DC2\ESC\n\
    \\ETBREDEEMER_PURPOSE_REWARD\DLE\EOT\DC2\EM\n\
    \\NAKREDEEMER_PURPOSE_VOTE\DLE\ENQ\DC2\FS\n\
    \\CANREDEEMER_PURPOSE_PROPOSE\DLE\ACK*Y\n\
    \\tMirSource\DC2\SUB\n\
    \\SYNMIR_SOURCE_UNSPECIFIED\DLE\NUL\DC2\ETB\n\
    \\DC3MIR_SOURCE_RESERVES\DLE\SOH\DC2\ETB\n\
    \\DC3MIR_SOURCE_TREASURY\DLE\STXB\224\SOH\n\
    \\ESCcom.utxorpc.v1alpha.cardanoB\fCardanoProtoP\SOHZ5github.com/utxorpc/go-codegen/utxorpc/v1alpha/cardano\162\STX\ETXUVC\170\STX\ETBUtxorpc.V1alpha.Cardano\202\STX\ETBUtxorpc\\V1alpha\\Cardano\226\STX#Utxorpc\\V1alpha\\Cardano\\GPBMetadata\234\STX\EMUtxorpc::V1alpha::CardanoJ\210\222\SOH\n\
    \\a\DC2\ENQ\NUL\NUL\231\EOT\SOH\n\
    \\b\n\
    \\SOH\f\DC2\ETX\NUL\NUL\DC2\n\
    \\b\n\
    \\SOH\STX\DC2\ETX\STX\NUL \n\
    \7\n\
    \\STX\ENQ\NUL\DC2\EOT\ENQ\NUL\r\SOH\SUB+ Purpose of the redeemer in a transaction.\n\
    \\n\
    \\n\
    \\n\
    \\ETX\ENQ\NUL\SOH\DC2\ETX\ENQ\ENQ\DC4\n\
    \\v\n\
    \\EOT\ENQ\NUL\STX\NUL\DC2\ETX\ACK\STX#\n\
    \\f\n\
    \\ENQ\ENQ\NUL\STX\NUL\SOH\DC2\ETX\ACK\STX\RS\n\
    \\f\n\
    \\ENQ\ENQ\NUL\STX\NUL\STX\DC2\ETX\ACK!\"\n\
    \\v\n\
    \\EOT\ENQ\NUL\STX\SOH\DC2\ETX\a\STX\GS\n\
    \\f\n\
    \\ENQ\ENQ\NUL\STX\SOH\SOH\DC2\ETX\a\STX\CAN\n\
    \\f\n\
    \\ENQ\ENQ\NUL\STX\SOH\STX\DC2\ETX\a\ESC\FS\n\
    \\v\n\
    \\EOT\ENQ\NUL\STX\STX\DC2\ETX\b\STX\FS\n\
    \\f\n\
    \\ENQ\ENQ\NUL\STX\STX\SOH\DC2\ETX\b\STX\ETB\n\
    \\f\n\
    \\ENQ\ENQ\NUL\STX\STX\STX\DC2\ETX\b\SUB\ESC\n\
    \\v\n\
    \\EOT\ENQ\NUL\STX\ETX\DC2\ETX\t\STX\FS\n\
    \\f\n\
    \\ENQ\ENQ\NUL\STX\ETX\SOH\DC2\ETX\t\STX\ETB\n\
    \\f\n\
    \\ENQ\ENQ\NUL\STX\ETX\STX\DC2\ETX\t\SUB\ESC\n\
    \\v\n\
    \\EOT\ENQ\NUL\STX\EOT\DC2\ETX\n\
    \\STX\RS\n\
    \\f\n\
    \\ENQ\ENQ\NUL\STX\EOT\SOH\DC2\ETX\n\
    \\STX\EM\n\
    \\f\n\
    \\ENQ\ENQ\NUL\STX\EOT\STX\DC2\ETX\n\
    \\FS\GS\n\
    \\v\n\
    \\EOT\ENQ\NUL\STX\ENQ\DC2\ETX\v\STX\FS\n\
    \\f\n\
    \\ENQ\ENQ\NUL\STX\ENQ\SOH\DC2\ETX\v\STX\ETB\n\
    \\f\n\
    \\ENQ\ENQ\NUL\STX\ENQ\STX\DC2\ETX\v\SUB\ESC\n\
    \\v\n\
    \\EOT\ENQ\NUL\STX\ACK\DC2\ETX\f\STX\US\n\
    \\f\n\
    \\ENQ\ENQ\NUL\STX\ACK\SOH\DC2\ETX\f\STX\SUB\n\
    \\f\n\
    \\ENQ\ENQ\NUL\STX\ACK\STX\DC2\ETX\f\GS\RS\n\
    \7\n\
    \\STX\EOT\NUL\DC2\EOT\DLE\NUL\SYN\SOH\SUB+ Redeemer information for a Plutus script.\n\
    \\n\
    \\n\
    \\n\
    \\ETX\EOT\NUL\SOH\DC2\ETX\DLE\b\DLE\n\
    \'\n\
    \\EOT\EOT\NUL\STX\NUL\DC2\ETX\DC1\STX\RS\"\SUB Purpose of the redeemer.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\NUL\STX\NUL\ACK\DC2\ETX\DC1\STX\DC1\n\
    \\f\n\
    \\ENQ\EOT\NUL\STX\NUL\SOH\DC2\ETX\DC1\DC2\EM\n\
    \\f\n\
    \\ENQ\EOT\NUL\STX\NUL\ETX\DC2\ETX\DC1\FS\GS\n\
    \8\n\
    \\EOT\EOT\NUL\STX\SOH\DC2\ETX\DC2\STX\EM\"+ Plutus data associated with the redeemer.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\NUL\STX\SOH\ACK\DC2\ETX\DC2\STX\f\n\
    \\f\n\
    \\ENQ\EOT\NUL\STX\SOH\SOH\DC2\ETX\DC2\r\DC4\n\
    \\f\n\
    \\ENQ\EOT\NUL\STX\SOH\ETX\DC2\ETX\DC2\ETB\CAN\n\
    \&\n\
    \\EOT\EOT\NUL\STX\STX\DC2\ETX\DC3\STX\DC3\"\EM Index of the redee mer.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\NUL\STX\STX\ENQ\DC2\ETX\DC3\STX\b\n\
    \\f\n\
    \\ENQ\EOT\NUL\STX\STX\SOH\DC2\ETX\DC3\t\SO\n\
    \\f\n\
    \\ENQ\EOT\NUL\STX\STX\ETX\DC2\ETX\DC3\DC1\DC2\n\
    \8\n\
    \\EOT\EOT\NUL\STX\ETX\DC2\ETX\DC4\STX\ETB\"+ Execution units consumed by the redeemer.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\NUL\STX\ETX\ACK\DC2\ETX\DC4\STX\t\n\
    \\f\n\
    \\ENQ\EOT\NUL\STX\ETX\SOH\DC2\ETX\DC4\n\
    \\DC2\n\
    \\f\n\
    \\ENQ\EOT\NUL\STX\ETX\ETX\DC2\ETX\DC4\NAK\SYN\n\
    \:\n\
    \\EOT\EOT\NUL\STX\EOT\DC2\ETX\NAK\STX\SUB\"- Original cbor-encoded data as seen on-chain\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\NUL\STX\EOT\ENQ\DC2\ETX\NAK\STX\a\n\
    \\f\n\
    \\ENQ\EOT\NUL\STX\EOT\SOH\DC2\ETX\NAK\b\NAK\n\
    \\f\n\
    \\ENQ\EOT\NUL\STX\EOT\ETX\DC2\ETX\NAK\CAN\EM\n\
    \G\n\
    \\STX\EOT\SOH\DC2\EOT\EM\NUL\RS\SOH\SUB; Represents a transaction input in the Cardano blockchain.\n\
    \\n\
    \\n\
    \\n\
    \\ETX\EOT\SOH\SOH\DC2\ETX\EM\b\SI\n\
    \0\n\
    \\EOT\EOT\SOH\STX\NUL\DC2\ETX\SUB\STX\DC4\"# Hash of the previous transaction.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\SOH\STX\NUL\ENQ\DC2\ETX\SUB\STX\a\n\
    \\f\n\
    \\ENQ\EOT\SOH\STX\NUL\SOH\DC2\ETX\SUB\b\SI\n\
    \\f\n\
    \\ENQ\EOT\SOH\STX\NUL\ETX\DC2\ETX\SUB\DC2\DC3\n\
    \?\n\
    \\EOT\EOT\SOH\STX\SOH\DC2\ETX\ESC\STX\SUB\"2 Index of the output in the previous transaction.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\SOH\STX\SOH\ENQ\DC2\ETX\ESC\STX\b\n\
    \\f\n\
    \\ENQ\EOT\SOH\STX\SOH\SOH\DC2\ETX\ESC\t\NAK\n\
    \\f\n\
    \\ENQ\EOT\SOH\STX\SOH\ETX\DC2\ETX\ESC\CAN\EM\n\
    \T\n\
    \\EOT\EOT\SOH\STX\STX\DC2\ETX\FS\STX\EM\"G Content of the input represented as output of the related transaction\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\SOH\STX\STX\ACK\DC2\ETX\FS\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\SOH\STX\STX\SOH\DC2\ETX\FS\v\DC4\n\
    \\f\n\
    \\ENQ\EOT\SOH\STX\STX\ETX\DC2\ETX\FS\ETB\CAN\n\
    \.\n\
    \\EOT\EOT\SOH\STX\ETX\DC2\ETX\GS\STX\CAN\"! Redeemer for the Plutus script.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\SOH\STX\ETX\ACK\DC2\ETX\GS\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\SOH\STX\ETX\SOH\DC2\ETX\GS\v\DC3\n\
    \\f\n\
    \\ENQ\EOT\SOH\STX\ETX\ETX\DC2\ETX\GS\SYN\ETB\n\
    \H\n\
    \\STX\EOT\STX\DC2\EOT!\NUL'\SOH\SUB< Represents a transaction output in the Cardano blockchain.\n\
    \\n\
    \\n\
    \\n\
    \\ETX\EOT\STX\SOH\DC2\ETX!\b\DLE\n\
    \,\n\
    \\EOT\EOT\STX\STX\NUL\DC2\ETX\"\STX\DC4\"\US Address receiving the output.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\NUL\ENQ\DC2\ETX\"\STX\a\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\NUL\SOH\DC2\ETX\"\b\SI\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\NUL\ETX\DC2\ETX\"\DC2\DC3\n\
    \+\n\
    \\EOT\EOT\STX\STX\SOH\DC2\ETX#\STX\DC2\"\RS Amount of ADA in the output.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\SOH\ENQ\DC2\ETX#\STX\b\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\SOH\SOH\DC2\ETX#\t\r\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\SOH\ETX\DC2\ETX#\DLE\DC1\n\
    \@\n\
    \\EOT\EOT\STX\STX\STX\DC2\ETX$\STX!\"3 Additional native (non-ADA) assets in the output.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\STX\EOT\DC2\ETX$\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\STX\ACK\DC2\ETX$\v\NAK\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\STX\SOH\DC2\ETX$\SYN\FS\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\STX\ETX\DC2\ETX$\US \n\
    \6\n\
    \\EOT\EOT\STX\STX\ETX\DC2\ETX%\STX\DC2\") Plutus data associated with the output.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\ETX\ACK\DC2\ETX%\STX\a\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\ETX\SOH\DC2\ETX%\b\r\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\ETX\ETX\DC2\ETX%\DLE\DC1\n\
    \1\n\
    \\EOT\EOT\STX\STX\EOT\DC2\ETX&\STX\DC4\"$ Script associated with the output.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\EOT\ACK\DC2\ETX&\STX\b\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\EOT\SOH\DC2\ETX&\t\SI\n\
    \\f\n\
    \\ENQ\EOT\STX\STX\EOT\ETX\DC2\ETX&\DC2\DC3\n\
    \\n\
    \\n\
    \\STX\EOT\ETX\DC2\EOT)\NUL-\SOH\n\
    \\n\
    \\n\
    \\ETX\EOT\ETX\SOH\DC2\ETX)\b\r\n\
    \2\n\
    \\EOT\EOT\ETX\STX\NUL\DC2\ETX*\STX\DC1\"% Hash of this datum as seen on-chain\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\ETX\STX\NUL\ENQ\DC2\ETX*\STX\a\n\
    \\f\n\
    \\ENQ\EOT\ETX\STX\NUL\SOH\DC2\ETX*\b\f\n\
    \\f\n\
    \\ENQ\EOT\ETX\STX\NUL\ETX\DC2\ETX*\SI\DLE\n\
    \)\n\
    \\EOT\EOT\ETX\STX\SOH\DC2\ETX+\STX\EM\"\FS Parsed Plutus data payload\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\ETX\STX\SOH\ACK\DC2\ETX+\STX\f\n\
    \\f\n\
    \\ENQ\EOT\ETX\STX\SOH\SOH\DC2\ETX+\r\DC4\n\
    \\f\n\
    \\ENQ\EOT\ETX\STX\SOH\ETX\DC2\ETX+\ETB\CAN\n\
    \:\n\
    \\EOT\EOT\ETX\STX\STX\DC2\ETX,\STX\SUB\"- Original cbor-encoded data as seen on-chain\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\ETX\STX\STX\ENQ\DC2\ETX,\STX\a\n\
    \\f\n\
    \\ENQ\EOT\ETX\STX\STX\SOH\DC2\ETX,\b\NAK\n\
    \\f\n\
    \\ENQ\EOT\ETX\STX\STX\ETX\DC2\ETX,\CAN\EM\n\
    \B\n\
    \\STX\EOT\EOT\DC2\EOT0\NUL4\SOH\SUB6 Represents a custom asset in the Cardano blockchain.\n\
    \\n\
    \\n\
    \\n\
    \\ETX\EOT\EOT\SOH\DC2\ETX0\b\r\n\
    \(\n\
    \\EOT\EOT\EOT\STX\NUL\DC2\ETX1\STX\DC1\"\ESC Name of the custom asset.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\EOT\STX\NUL\ENQ\DC2\ETX1\STX\a\n\
    \\f\n\
    \\ENQ\EOT\EOT\STX\NUL\SOH\DC2\ETX1\b\f\n\
    \\f\n\
    \\ENQ\EOT\EOT\STX\NUL\ETX\DC2\ETX1\SI\DLE\n\
    \A\n\
    \\EOT\EOT\EOT\STX\SOH\DC2\ETX2\STX\EM\"4 Quantity of the custom asset in case of an output.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\EOT\STX\SOH\ENQ\DC2\ETX2\STX\b\n\
    \\f\n\
    \\ENQ\EOT\EOT\STX\SOH\SOH\DC2\ETX2\t\DC4\n\
    \\f\n\
    \\ENQ\EOT\EOT\STX\SOH\ETX\DC2\ETX2\ETB\CAN\n\
    \>\n\
    \\EOT\EOT\EOT\STX\STX\DC2\ETX3\STX\SYN\"1 Quantity of the custom asset in case of a mint.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\EOT\STX\STX\ENQ\DC2\ETX3\STX\a\n\
    \\f\n\
    \\ENQ\EOT\EOT\STX\STX\SOH\DC2\ETX3\b\DC1\n\
    \\f\n\
    \\ENQ\EOT\EOT\STX\STX\ETX\DC2\ETX3\DC4\NAK\n\
    \G\n\
    \\STX\EOT\ENQ\DC2\EOT7\NUL;\SOH\SUB; Represents a multi-asset group in the Cardano blockchain.\n\
    \\n\
    \\n\
    \\n\
    \\ETX\EOT\ENQ\SOH\DC2\ETX7\b\DC2\n\
    \5\n\
    \\EOT\EOT\ENQ\STX\NUL\DC2\ETX8\STX\SYN\"( Policy ID governing the custom assets.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\ENQ\STX\NUL\ENQ\DC2\ETX8\STX\a\n\
    \\f\n\
    \\ENQ\EOT\ENQ\STX\NUL\SOH\DC2\ETX8\b\DC1\n\
    \\f\n\
    \\ENQ\EOT\ENQ\STX\NUL\ETX\DC2\ETX8\DC4\NAK\n\
    \%\n\
    \\EOT\EOT\ENQ\STX\SOH\DC2\ETX9\STX\FS\"\CAN List of custom assets.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\ENQ\STX\SOH\EOT\DC2\ETX9\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\ENQ\STX\SOH\ACK\DC2\ETX9\v\DLE\n\
    \\f\n\
    \\ENQ\EOT\ENQ\STX\SOH\SOH\DC2\ETX9\DC1\ETB\n\
    \\f\n\
    \\ENQ\EOT\ENQ\STX\SOH\ETX\DC2\ETX9\SUB\ESC\n\
    \.\n\
    \\EOT\EOT\ENQ\STX\STX\DC2\ETX:\STX\CAN\"! Redeemer for the Plutus script.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\ENQ\STX\STX\ACK\DC2\ETX:\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\ENQ\STX\STX\SOH\DC2\ETX:\v\DC3\n\
    \\f\n\
    \\ENQ\EOT\ENQ\STX\STX\ETX\DC2\ETX:\SYN\ETB\n\
    \@\n\
    \\STX\EOT\ACK\DC2\EOT>\NULA\SOH\SUB4 Represents the validity interval of a transaction.\n\
    \\n\
    \\n\
    \\n\
    \\ETX\EOT\ACK\SOH\DC2\ETX>\b\DC2\n\
    \.\n\
    \\EOT\EOT\ACK\STX\NUL\DC2\ETX?\STX\DC3\"! Start of the validity interval.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\ACK\STX\NUL\ENQ\DC2\ETX?\STX\b\n\
    \\f\n\
    \\ENQ\EOT\ACK\STX\NUL\SOH\DC2\ETX?\t\SO\n\
    \\f\n\
    \\ENQ\EOT\ACK\STX\NUL\ETX\DC2\ETX?\DC1\DC2\n\
    \@\n\
    \\EOT\EOT\ACK\STX\SOH\DC2\ETX@\STX\DC1\"3 End of the validity interval (TTL: Time to Live).\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\ACK\STX\SOH\ENQ\DC2\ETX@\STX\b\n\
    \\f\n\
    \\ENQ\EOT\ACK\STX\SOH\SOH\DC2\ETX@\t\f\n\
    \\f\n\
    \\ENQ\EOT\ACK\STX\SOH\ETX\DC2\ETX@\SI\DLE\n\
    \F\n\
    \\STX\EOT\a\DC2\EOTD\NULH\SOH\SUB: Represents the collateral information for a transaction.\n\
    \\n\
    \\n\
    \\n\
    \\ETX\EOT\a\SOH\DC2\ETXD\b\DC2\n\
    \5\n\
    \\EOT\EOT\a\STX\NUL\DC2\ETXE\STX\"\"( Collateral inputs for the transaction.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\a\STX\NUL\EOT\DC2\ETXE\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\a\STX\NUL\ACK\DC2\ETXE\v\DC2\n\
    \\f\n\
    \\ENQ\EOT\a\STX\NUL\SOH\DC2\ETXE\DC3\GS\n\
    \\f\n\
    \\ENQ\EOT\a\STX\NUL\ETX\DC2\ETXE !\n\
    \;\n\
    \\EOT\EOT\a\STX\SOH\DC2\ETXF\STX!\". Collateral return in case of script failure.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\a\STX\SOH\ACK\DC2\ETXF\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\a\STX\SOH\SOH\DC2\ETXF\v\FS\n\
    \\f\n\
    \\ENQ\EOT\a\STX\SOH\ETX\DC2\ETXF\US \n\
    \*\n\
    \\EOT\EOT\a\STX\STX\DC2\ETXG\STX\RS\"\GS Total amount of collateral.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\a\STX\STX\ENQ\DC2\ETXG\STX\b\n\
    \\f\n\
    \\ENQ\EOT\a\STX\STX\SOH\DC2\ETXG\t\EM\n\
    \\f\n\
    \\ENQ\EOT\a\STX\STX\ETX\DC2\ETXG\FS\GS\n\
    \<\n\
    \\STX\EOT\b\DC2\EOTK\NULO\SOH\SUB0 Represents a withdrawal from a reward account.\n\
    \\n\
    \\n\
    \\n\
    \\ETX\EOT\b\SOH\DC2\ETXK\b\DC2\n\
    \-\n\
    \\EOT\EOT\b\STX\NUL\DC2\ETXL\STX\ESC\"  Address of the reward account.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\b\STX\NUL\ENQ\DC2\ETXL\STX\a\n\
    \\f\n\
    \\ENQ\EOT\b\STX\NUL\SOH\DC2\ETXL\b\SYN\n\
    \\f\n\
    \\ENQ\EOT\b\STX\NUL\ETX\DC2\ETXL\EM\SUB\n\
    \'\n\
    \\EOT\EOT\b\STX\SOH\DC2\ETXM\STX\DC2\"\SUB Amount of ADA withdrawn.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\b\STX\SOH\ENQ\DC2\ETXM\STX\b\n\
    \\f\n\
    \\ENQ\EOT\b\STX\SOH\SOH\DC2\ETXM\t\r\n\
    \\f\n\
    \\ENQ\EOT\b\STX\SOH\ETX\DC2\ETXM\DLE\DC1\n\
    \.\n\
    \\EOT\EOT\b\STX\STX\DC2\ETXN\STX\CAN\"! Redeemer for the Plutus script.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\b\STX\STX\ACK\DC2\ETXN\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\b\STX\STX\SOH\DC2\ETXN\v\DC3\n\
    \\f\n\
    \\ENQ\EOT\b\STX\STX\ETX\DC2\ETXN\SYN\ETB\n\
    \G\n\
    \\STX\EOT\t\DC2\EOTR\NULV\SOH\SUB; Represents a set of witnesses that validate a transaction\n\
    \\n\
    \\n\
    \\n\
    \\ETX\EOT\t\SOH\DC2\ETXR\b\DC2\n\
    \&\n\
    \\EOT\EOT\t\STX\NUL\DC2\ETXS\STX'\"\EM List of VKey witnesses.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\t\STX\NUL\EOT\DC2\ETXS\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\t\STX\NUL\ACK\DC2\ETXS\v\SYN\n\
    \\f\n\
    \\ENQ\EOT\t\STX\NUL\SOH\DC2\ETXS\ETB\"\n\
    \\f\n\
    \\ENQ\EOT\t\STX\NUL\ETX\DC2\ETXS%&\n\
    \\US\n\
    \\EOT\EOT\t\STX\SOH\DC2\ETXT\STX\GS\"\DC2 List of scripts.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\t\STX\SOH\EOT\DC2\ETXT\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\t\STX\SOH\ACK\DC2\ETXT\v\DC1\n\
    \\f\n\
    \\ENQ\EOT\t\STX\SOH\SOH\DC2\ETXT\DC2\CAN\n\
    \\f\n\
    \\ENQ\EOT\t\STX\SOH\ETX\DC2\ETXT\ESC\FS\n\
    \L\n\
    \\EOT\EOT\t\STX\STX\DC2\ETXU\STX(\"? List of Plutus data elements associated with the transaction.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\t\STX\STX\EOT\DC2\ETXU\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\t\STX\STX\ACK\DC2\ETXU\v\NAK\n\
    \\f\n\
    \\ENQ\EOT\t\STX\STX\SOH\DC2\ETXU\SYN#\n\
    \\f\n\
    \\ENQ\EOT\t\STX\STX\ETX\DC2\ETXU&'\n\
    \H\n\
    \\STX\EOT\n\
    \\DC2\EOTY\NUL\\\SOH\SUB< Auxiliary data not directly tied to the validation process\n\
    \\n\
    \\n\
    \\n\
    \\ETX\EOT\n\
    \\SOH\DC2\ETXY\b\SI\n\
    \3\n\
    \\EOT\EOT\n\
    \\STX\NUL\DC2\ETXZ\STX!\"& List of auxiliary metadata elements.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\n\
    \\STX\NUL\EOT\DC2\ETXZ\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\n\
    \\STX\NUL\ACK\DC2\ETXZ\v\DC3\n\
    \\f\n\
    \\ENQ\EOT\n\
    \\STX\NUL\SOH\DC2\ETXZ\DC4\FS\n\
    \\f\n\
    \\ENQ\EOT\n\
    \\STX\NUL\ETX\DC2\ETXZ\US \n\
    \)\n\
    \\EOT\EOT\n\
    \\STX\SOH\DC2\ETX[\STX\RS\"\FS List of auxiliary scripts.\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\n\
    \\STX\SOH\EOT\DC2\ETX[\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\n\
    \\STX\SOH\ACK\DC2\ETX[\v\DC1\n\
    \\f\n\
    \\ENQ\EOT\n\
    \\STX\SOH\SOH\DC2\ETX[\DC2\EM\n\
    \\f\n\
    \\ENQ\EOT\n\
    \\STX\SOH\ETX\DC2\ETX[\FS\GS\n\
    \A\n\
    \\STX\EOT\v\DC2\EOT_\NULn\SOH\SUB5 Represents a transaction in the Cardano blockchain.\n\
    \\n\
    \\n\
    \\n\
    \\ETX\EOT\v\SOH\DC2\ETX_\b\n\
    \\n\
    \)\n\
    \\EOT\EOT\v\STX\NUL\DC2\ETX`\STX\RS\"\FS List of transaction inputs\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\NUL\EOT\DC2\ETX`\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\NUL\ACK\DC2\ETX`\v\DC2\n\
    \\f\n\
    \\ENQ\EOT\v\STX\NUL\SOH\DC2\ETX`\DC3\EM\n\
    \\f\n\
    \\ENQ\EOT\v\STX\NUL\ETX\DC2\ETX`\FS\GS\n\
    \*\n\
    \\EOT\EOT\v\STX\SOH\DC2\ETXa\STX \"\GS List of transaction outputs\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\SOH\EOT\DC2\ETXa\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\SOH\ACK\DC2\ETXa\v\DC3\n\
    \\f\n\
    \\ENQ\EOT\v\STX\SOH\SOH\DC2\ETXa\DC4\ESC\n\
    \\f\n\
    \\ENQ\EOT\v\STX\SOH\ETX\DC2\ETXa\RS\US\n\
    \#\n\
    \\EOT\EOT\v\STX\STX\DC2\ETXb\STX(\"\SYN List of certificates\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\STX\EOT\DC2\ETXb\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\STX\ACK\DC2\ETXb\v\SYN\n\
    \\f\n\
    \\ENQ\EOT\v\STX\STX\SOH\DC2\ETXb\ETB#\n\
    \\f\n\
    \\ENQ\EOT\v\STX\STX\ETX\DC2\ETXb&'\n\
    \\"\n\
    \\EOT\EOT\v\STX\ETX\DC2\ETXc\STX&\"\NAK List of withdrawals\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\ETX\EOT\DC2\ETXc\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\ETX\ACK\DC2\ETXc\v\NAK\n\
    \\f\n\
    \\ENQ\EOT\v\STX\ETX\SOH\DC2\ETXc\SYN!\n\
    \\f\n\
    \\ENQ\EOT\v\STX\ETX\ETX\DC2\ETXc$%\n\
    \+\n\
    \\EOT\EOT\v\STX\EOT\DC2\ETXd\STX\US\"\RS List of minted custom assets\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\EOT\EOT\DC2\ETXd\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\EOT\ACK\DC2\ETXd\v\NAK\n\
    \\f\n\
    \\ENQ\EOT\v\STX\EOT\SOH\DC2\ETXd\SYN\SUB\n\
    \\f\n\
    \\ENQ\EOT\v\STX\EOT\ETX\DC2\ETXd\GS\RS\n\
    \'\n\
    \\EOT\EOT\v\STX\ENQ\DC2\ETXe\STX(\"\SUB List of reference inputs\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\ENQ\EOT\DC2\ETXe\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\ENQ\ACK\DC2\ETXe\v\DC2\n\
    \\f\n\
    \\ENQ\EOT\v\STX\ENQ\SOH\DC2\ETXe\DC3#\n\
    \\f\n\
    \\ENQ\EOT\v\STX\ENQ\ETX\DC2\ETXe&'\n\
    \5\n\
    \\EOT\EOT\v\STX\ACK\DC2\ETXf\STX\ESC\"( Witnesses that validte the transaction\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\ACK\ACK\DC2\ETXf\STX\f\n\
    \\f\n\
    \\ENQ\EOT\v\STX\ACK\SOH\DC2\ETXf\r\SYN\n\
    \\f\n\
    \\ENQ\EOT\v\STX\ACK\ETX\DC2\ETXf\EM\SUB\n\
    \?\n\
    \\EOT\EOT\v\STX\a\DC2\ETXg\STX\FS\"2 Collateral details in case of failed transaction\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\a\ACK\DC2\ETXg\STX\f\n\
    \\f\n\
    \\ENQ\EOT\v\STX\a\SOH\DC2\ETXg\r\ETB\n\
    \\f\n\
    \\ENQ\EOT\v\STX\a\ETX\DC2\ETXg\SUB\ESC\n\
    \%\n\
    \\EOT\EOT\v\STX\b\DC2\ETXh\STX\DC1\"\CAN Transaction fee in ADA\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\b\ENQ\DC2\ETXh\STX\b\n\
    \\f\n\
    \\ENQ\EOT\v\STX\b\SOH\DC2\ETXh\t\f\n\
    \\f\n\
    \\ENQ\EOT\v\STX\b\ETX\DC2\ETXh\SI\DLE\n\
    \3\n\
    \\EOT\EOT\v\STX\t\DC2\ETXi\STX\ESC\"& Validity interval of the transaction\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\t\ACK\DC2\ETXi\STX\f\n\
    \\f\n\
    \\ENQ\EOT\v\STX\t\SOH\DC2\ETXi\r\NAK\n\
    \\f\n\
    \\ENQ\EOT\v\STX\t\ETX\DC2\ETXi\CAN\SUB\n\
    \E\n\
    \\EOT\EOT\v\STX\n\
    \\DC2\ETXj\STX\ETB\"8 Flag indicating whether the transaction was successful\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\n\
    \\ENQ\DC2\ETXj\STX\ACK\n\
    \\f\n\
    \\ENQ\EOT\v\STX\n\
    \\SOH\DC2\ETXj\a\DC1\n\
    \\f\n\
    \\ENQ\EOT\v\STX\n\
    \\ETX\DC2\ETXj\DC4\SYN\n\
    \I\n\
    \\EOT\EOT\v\STX\v\DC2\ETXk\STX\EM\"< Auxiliary data not directly tied to the validation process\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\v\ACK\DC2\ETXk\STX\t\n\
    \\f\n\
    \\ENQ\EOT\v\STX\v\SOH\DC2\ETXk\n\
    \\DC3\n\
    \\f\n\
    \\ENQ\EOT\v\STX\v\ETX\DC2\ETXk\SYN\CAN\n\
    \E\n\
    \\EOT\EOT\v\STX\f\DC2\ETXl\STX\DC2\"8 Hash of the transaction that serves as main identifier\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\f\ENQ\DC2\ETXl\STX\a\n\
    \\f\n\
    \\ENQ\EOT\v\STX\f\SOH\DC2\ETXl\b\f\n\
    \\f\n\
    \\ENQ\EOT\v\STX\f\ETX\DC2\ETXl\SI\DC1\n\
    \2\n\
    \\EOT\EOT\v\STX\r\DC2\ETXm\STX3\"% List of governance actions proposed\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\r\EOT\DC2\ETXm\STX\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\v\STX\r\ACK\DC2\ETXm\v#\n\
    \\f\n\
    \\ENQ\EOT\v\STX\r\SOH\DC2\ETXm$-\n\
    \\f\n\
    \\ENQ\EOT\v\STX\r\ETX\DC2\ETXm02\n\
    \1\n\
    \\STX\EOT\f\DC2\EOTq\NULv\SOH\SUB% Define a governance action proposal\n\
    \\n\
    \\n\
    \\n\
    \\ETX\EOT\f\SOH\DC2\ETXq\b \n\
    \=\n\
    \\EOT\EOT\f\STX\NUL\DC2\ETXr\STX\NAK\"0 The amount deposited for the governance action\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\f\STX\NUL\ENQ\DC2\ETXr\STX\b\n\
    \\f\n\
    \\ENQ\EOT\f\STX\NUL\SOH\DC2\ETXr\t\DLE\n\
    \\f\n\
    \\ENQ\EOT\f\STX\NUL\ETX\DC2\ETXr\DC3\DC4\n\
    \C\n\
    \\EOT\EOT\f\STX\SOH\DC2\ETXs\STX\ESC\"6 The reward account the deposit should be returned to\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\f\STX\SOH\ENQ\DC2\ETXs\STX\a\n\
    \\f\n\
    \\ENQ\EOT\f\STX\SOH\SOH\DC2\ETXs\b\SYN\n\
    \\f\n\
    \\ENQ\EOT\f\STX\SOH\ETX\DC2\ETXs\EM\SUB\n\
    \\v\n\
    \\EOT\EOT\f\STX\STX\DC2\ETXt\STX\"\n\
    \\f\n\
    \\ENQ\EOT\f\STX\STX\ACK\DC2\ETXt\STX\DC2\n\
    \\f\n\
    \\ENQ\EOT\f\STX\STX\SOH\DC2\ETXt\DC3\GS\n\
    \\f\n\
    \\ENQ\EOT\f\STX\STX\ETX\DC2\ETXt !\n\
    \\v\n\
    \\EOT\EOT\f\STX\ETX\DC2\ETXu\STX\DC4\n\
    \\f\n\
    \\ENQ\EOT\f\STX\ETX\ACK\DC2\ETXu\STX\b\n\
    \\f\n\
    \\ENQ\EOT\f\STX\ETX\SOH\DC2\ETXu\t\SI\n\
    \\f\n\
    \\ENQ\EOT\f\STX\ETX\ETX\DC2\ETXu\DC2\DC3\n\
    \)\n\
    \\STX\EOT\r\DC2\ENQy\NUL\133\SOH\SOH\SUB\FS Define a Governance Action\n\
    \\n\
    \\n\
    \\n\
    \\ETX\EOT\r\SOH\DC2\ETXy\b\CAN\n\
    \\r\n\
    \\EOT\EOT\r\b\NUL\DC2\ENQz\STX\132\SOH\ETX\n\
    \\f\n\
    \\ENQ\EOT\r\b\NUL\SOH\DC2\ETXz\b\EM\n\
    \)\n\
    \\EOT\EOT\r\STX\NUL\DC2\ETX{\EOT6\"\FS Change on-chain parameters\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\r\STX\NUL\ACK\DC2\ETX{\EOT\EM\n\
    \\f\n\
    \\ENQ\EOT\r\STX\NUL\SOH\DC2\ETX{\SUB1\n\
    \\f\n\
    \\ENQ\EOT\r\STX\NUL\ETX\DC2\ETX{45\n\
    \#\n\
    \\EOT\EOT\r\STX\SOH\DC2\ETX|\EOT=\"\SYN Initiate a Hard Fork\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\r\STX\SOH\ACK\DC2\ETX|\EOT\FS\n\
    \\f\n\
    \\ENQ\EOT\r\STX\SOH\SOH\DC2\ETX|\GS8\n\
    \\f\n\
    \\ENQ\EOT\r\STX\SOH\ETX\DC2\ETX|;<\n\
    \)\n\
    \\EOT\EOT\r\STX\STX\DC2\ETX}\EOT>\"\FS Withdraw from the Treasury\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\r\STX\STX\ACK\DC2\ETX}\EOT\GS\n\
    \\f\n\
    \\ENQ\EOT\r\STX\STX\SOH\DC2\ETX}\RS9\n\
    \\f\n\
    \\ENQ\EOT\r\STX\STX\ETX\DC2\ETX}<=\n\
    \\SO\n\
    \\EOT\EOT\r\STX\ETX\DC2\ETX~\EOT0\"\SOH\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\r\STX\ETX\ACK\DC2\ETX~\EOT\SYN\n\
    \\f\n\
    \\ENQ\EOT\r\STX\ETX\SOH\DC2\ETX~\ETB+\n\
    \\f\n\
    \\ENQ\EOT\r\STX\ETX\ETX\DC2\ETX~./\n\
    \0\n\
    \\EOT\EOT\r\STX\EOT\DC2\ETX\DEL\EOT6\"# Update the Constitution Committee\n\
    \\n\
    \\f\n\
    \\ENQ\EOT\r\STX\EOT\ACK\DC2\ETX\DEL\EOT\EM\n\
    \\f\n\
    \\ENQ\EOT\r\STX\EOT\SOH\DC2\ETX\DEL\SUB1\n\
    \\f\n\
    \\ENQ\EOT\r\STX\EOT\ETX\DC2\ETX\DEL45\n\
    \(\n\
    \\EOT\EOT\r\STX\ENQ\DC2\EOT\128\SOH\EOT6\"\SUB Replace the Constitution\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\r\STX\ENQ\ACK\DC2\EOT\128\SOH\EOT\EM\n\
    \\r\n\
    \\ENQ\EOT\r\STX\ENQ\SOH\DC2\EOT\128\SOH\SUB1\n\
    \\r\n\
    \\ENQ\EOT\r\STX\ENQ\ETX\DC2\EOT\128\SOH45\n\
    \\205\SOH\n\
    \\EOT\EOT\r\STX\ACK\DC2\EOT\131\SOH\EOT\ESC\SUB\139\SOH TODO: revisit if there's a better way to handle this option because it doesn't actually need a value but proto syntax needs to require it\n\
    \\"1 Info action should just be the integer number 6\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\r\STX\ACK\ENQ\DC2\EOT\131\SOH\EOT\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\r\STX\ACK\SOH\DC2\EOT\131\SOH\v\SYN\n\
    \\r\n\
    \\ENQ\EOT\r\STX\ACK\ETX\DC2\EOT\131\SOH\EM\SUB\n\
    \\f\n\
    \\STX\EOT\SO\DC2\ACK\135\SOH\NUL\138\SOH\SOH\n\
    \\v\n\
    \\ETX\EOT\SO\SOH\DC2\EOT\135\SOH\b\SUB\n\
    \\f\n\
    \\EOT\EOT\SO\STX\NUL\DC2\EOT\136\SOH\STX\ESC\n\
    \\r\n\
    \\ENQ\EOT\SO\STX\NUL\ENQ\DC2\EOT\136\SOH\STX\a\n\
    \\r\n\
    \\ENQ\EOT\SO\STX\NUL\SOH\DC2\EOT\136\SOH\b\SYN\n\
    \\r\n\
    \\ENQ\EOT\SO\STX\NUL\ETX\DC2\EOT\136\SOH\EM\SUB\n\
    \\f\n\
    \\EOT\EOT\SO\STX\SOH\DC2\EOT\137\SOH\STX%\n\
    \\r\n\
    \\ENQ\EOT\SO\STX\SOH\ENQ\DC2\EOT\137\SOH\STX\b\n\
    \\r\n\
    \\ENQ\EOT\SO\STX\SOH\SOH\DC2\EOT\137\SOH\t \n\
    \\r\n\
    \\ENQ\EOT\SO\STX\SOH\ETX\DC2\EOT\137\SOH#$\n\
    \\f\n\
    \\STX\EOT\SI\DC2\ACK\140\SOH\NUL\144\SOH\SOH\n\
    \\v\n\
    \\ETX\EOT\SI\SOH\DC2\EOT\140\SOH\b\GS\n\
    \\f\n\
    \\EOT\EOT\SI\STX\NUL\DC2\EOT\141\SOH\STX'\n\
    \\r\n\
    \\ENQ\EOT\SI\STX\NUL\ACK\DC2\EOT\141\SOH\STX\DC4\n\
    \\r\n\
    \\ENQ\EOT\SI\STX\NUL\SOH\DC2\EOT\141\SOH\NAK\"\n\
    \\r\n\
    \\ENQ\EOT\SI\STX\NUL\ETX\DC2\EOT\141\SOH%&\n\
    \$\n\
    \\EOT\EOT\SI\STX\SOH\DC2\EOT\142\SOH\STX$\"\SYN The updates proposed\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\SI\STX\SOH\ACK\DC2\EOT\142\SOH\STX\t\n\
    \\r\n\
    \\ENQ\EOT\SI\STX\SOH\SOH\DC2\EOT\142\SOH\n\
    \\US\n\
    \\r\n\
    \\ENQ\EOT\SI\STX\SOH\ETX\DC2\EOT\142\SOH\"#\n\
    \\f\n\
    \\EOT\EOT\SI\STX\STX\DC2\EOT\143\SOH\STX\CAN\n\
    \\r\n\
    \\ENQ\EOT\SI\STX\STX\ENQ\DC2\EOT\143\SOH\STX\a\n\
    \\r\n\
    \\ENQ\EOT\SI\STX\STX\SOH\DC2\EOT\143\SOH\b\DC3\n\
    \\r\n\
    \\ENQ\EOT\SI\STX\STX\ETX\DC2\EOT\143\SOH\SYN\ETB\n\
    \\f\n\
    \\STX\EOT\DLE\DC2\ACK\146\SOH\NUL\149\SOH\SOH\n\
    \\v\n\
    \\ETX\EOT\DLE\SOH\DC2\EOT\146\SOH\b \n\
    \\f\n\
    \\EOT\EOT\DLE\STX\NUL\DC2\EOT\147\SOH\STX'\n\
    \\r\n\
    \\ENQ\EOT\DLE\STX\NUL\ACK\DC2\EOT\147\SOH\STX\DC4\n\
    \\r\n\
    \\ENQ\EOT\DLE\STX\NUL\SOH\DC2\EOT\147\SOH\NAK\"\n\
    \\r\n\
    \\ENQ\EOT\DLE\STX\NUL\ETX\DC2\EOT\147\SOH%&\n\
    \/\n\
    \\EOT\EOT\DLE\STX\SOH\DC2\EOT\148\SOH\STX'\"! The protocol version to fork to\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\DLE\STX\SOH\ACK\DC2\EOT\148\SOH\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT\DLE\STX\SOH\SOH\DC2\EOT\148\SOH\DC2\"\n\
    \\r\n\
    \\ENQ\EOT\DLE\STX\SOH\ETX\DC2\EOT\148\SOH%&\n\
    \\f\n\
    \\STX\EOT\DC1\DC2\ACK\151\SOH\NUL\154\SOH\SOH\n\
    \\v\n\
    \\ETX\EOT\DC1\SOH\DC2\EOT\151\SOH\b!\n\
    \0\n\
    \\EOT\EOT\DC1\STX\NUL\DC2\EOT\152\SOH\STX,\"\" A map of the withdrawals to make\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\DC1\STX\NUL\EOT\DC2\EOT\152\SOH\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\DC1\STX\NUL\ACK\DC2\EOT\152\SOH\v\ESC\n\
    \\r\n\
    \\ENQ\EOT\DC1\STX\NUL\SOH\DC2\EOT\152\SOH\FS'\n\
    \\r\n\
    \\ENQ\EOT\DC1\STX\NUL\ETX\DC2\EOT\152\SOH*+\n\
    \\f\n\
    \\EOT\EOT\DC1\STX\SOH\DC2\EOT\153\SOH\STX\CAN\n\
    \\r\n\
    \\ENQ\EOT\DC1\STX\SOH\ENQ\DC2\EOT\153\SOH\STX\a\n\
    \\r\n\
    \\ENQ\EOT\DC1\STX\SOH\SOH\DC2\EOT\153\SOH\b\DC3\n\
    \\r\n\
    \\ENQ\EOT\DC1\STX\SOH\ETX\DC2\EOT\153\SOH\SYN\ETB\n\
    \\f\n\
    \\STX\EOT\DC2\DC2\ACK\156\SOH\NUL\159\SOH\SOH\n\
    \\v\n\
    \\ETX\EOT\DC2\SOH\DC2\EOT\156\SOH\b\CAN\n\
    \\f\n\
    \\EOT\EOT\DC2\STX\NUL\DC2\EOT\157\SOH\STX\ESC\n\
    \\r\n\
    \\ENQ\EOT\DC2\STX\NUL\ENQ\DC2\EOT\157\SOH\STX\a\n\
    \\r\n\
    \\ENQ\EOT\DC2\STX\NUL\SOH\DC2\EOT\157\SOH\b\SYN\n\
    \\r\n\
    \\ENQ\EOT\DC2\STX\NUL\ETX\DC2\EOT\157\SOH\EM\SUB\n\
    \\f\n\
    \\EOT\EOT\DC2\STX\SOH\DC2\EOT\158\SOH\STX\DC2\n\
    \\r\n\
    \\ENQ\EOT\DC2\STX\SOH\ENQ\DC2\EOT\158\SOH\STX\b\n\
    \\r\n\
    \\ENQ\EOT\DC2\STX\SOH\SOH\DC2\EOT\158\SOH\t\r\n\
    \\r\n\
    \\ENQ\EOT\DC2\STX\SOH\ETX\DC2\EOT\158\SOH\DLE\DC1\n\
    \\f\n\
    \\STX\EOT\DC3\DC2\ACK\161\SOH\NUL\163\SOH\SOH\n\
    \\v\n\
    \\ETX\EOT\DC3\SOH\DC2\EOT\161\SOH\b\SUB\n\
    \\f\n\
    \\EOT\EOT\DC3\STX\NUL\DC2\EOT\162\SOH\STX'\n\
    \\r\n\
    \\ENQ\EOT\DC3\STX\NUL\ACK\DC2\EOT\162\SOH\STX\DC4\n\
    \\r\n\
    \\ENQ\EOT\DC3\STX\NUL\SOH\DC2\EOT\162\SOH\NAK\"\n\
    \\r\n\
    \\ENQ\EOT\DC3\STX\NUL\ETX\DC2\EOT\162\SOH%&\n\
    \\f\n\
    \\STX\EOT\DC4\DC2\ACK\165\SOH\NUL\170\SOH\SOH\n\
    \\v\n\
    \\ETX\EOT\DC4\SOH\DC2\EOT\165\SOH\b\GS\n\
    \\f\n\
    \\EOT\EOT\DC4\STX\NUL\DC2\EOT\166\SOH\STX'\n\
    \\r\n\
    \\ENQ\EOT\DC4\STX\NUL\ACK\DC2\EOT\166\SOH\STX\DC4\n\
    \\r\n\
    \\ENQ\EOT\DC4\STX\NUL\SOH\DC2\EOT\166\SOH\NAK\"\n\
    \\r\n\
    \\ENQ\EOT\DC4\STX\NUL\ETX\DC2\EOT\166\SOH%&\n\
    \4\n\
    \\EOT\EOT\DC4\STX\SOH\DC2\EOT\167\SOH\STX<\"& Committee members to remove (if any)\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\DC4\STX\SOH\EOT\DC2\EOT\167\SOH\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\DC4\STX\SOH\ACK\DC2\EOT\167\SOH\v\SUB\n\
    \\r\n\
    \\ENQ\EOT\DC4\STX\SOH\SOH\DC2\EOT\167\SOH\ESC7\n\
    \\r\n\
    \\ENQ\EOT\DC4\STX\SOH\ETX\DC2\EOT\167\SOH:;\n\
    \)\n\
    \\EOT\EOT\DC4\STX\STX\DC2\EOT\168\SOH\STXA\"\ESC The new committee members\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\DC4\STX\STX\EOT\DC2\EOT\168\SOH\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\DC4\STX\STX\ACK\DC2\EOT\168\SOH\v\"\n\
    \\r\n\
    \\ENQ\EOT\DC4\STX\STX\SOH\DC2\EOT\168\SOH#<\n\
    \\r\n\
    \\ENQ\EOT\DC4\STX\STX\ETX\DC2\EOT\168\SOH?@\n\
    \8\n\
    \\EOT\EOT\DC4\STX\ETX\DC2\EOT\169\SOH\STX-\"* The required threshold for the committee\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\DC4\STX\ETX\ACK\DC2\EOT\169\SOH\STX\DLE\n\
    \\r\n\
    \\ENQ\EOT\DC4\STX\ETX\SOH\DC2\EOT\169\SOH\DC1(\n\
    \\r\n\
    \\ENQ\EOT\DC4\STX\ETX\ETX\DC2\EOT\169\SOH+,\n\
    \\f\n\
    \\STX\EOT\NAK\DC2\ACK\172\SOH\NUL\175\SOH\SOH\n\
    \\v\n\
    \\ETX\EOT\NAK\SOH\DC2\EOT\172\SOH\b\GS\n\
    \\f\n\
    \\EOT\EOT\NAK\STX\NUL\DC2\EOT\173\SOH\STX'\n\
    \\r\n\
    \\ENQ\EOT\NAK\STX\NUL\ACK\DC2\EOT\173\SOH\STX\DC4\n\
    \\r\n\
    \\ENQ\EOT\NAK\STX\NUL\SOH\DC2\EOT\173\SOH\NAK\"\n\
    \\r\n\
    \\ENQ\EOT\NAK\STX\NUL\ETX\DC2\EOT\173\SOH%&\n\
    \)\n\
    \\EOT\EOT\NAK\STX\SOH\DC2\EOT\174\SOH\STX \"\ESC The Constitution proposed\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\NAK\STX\SOH\ACK\DC2\EOT\174\SOH\STX\SO\n\
    \\r\n\
    \\ENQ\EOT\NAK\STX\SOH\SOH\DC2\EOT\174\SOH\SI\ESC\n\
    \\r\n\
    \\ENQ\EOT\NAK\STX\SOH\ETX\DC2\EOT\174\SOH\RS\US\n\
    \\f\n\
    \\STX\EOT\SYN\DC2\ACK\177\SOH\NUL\180\SOH\SOH\n\
    \\v\n\
    \\ETX\EOT\SYN\SOH\DC2\EOT\177\SOH\b\DC4\n\
    \*\n\
    \\EOT\EOT\SYN\STX\NUL\DC2\EOT\178\SOH\STX\DC4\"\FS Anchor to the new document\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\SYN\STX\NUL\ACK\DC2\EOT\178\SOH\STX\b\n\
    \\r\n\
    \\ENQ\EOT\SYN\STX\NUL\SOH\DC2\EOT\178\SOH\t\SI\n\
    \\r\n\
    \\ENQ\EOT\SYN\STX\NUL\ETX\DC2\EOT\178\SOH\DC2\DC3\n\
    \$\n\
    \\EOT\EOT\SYN\STX\SOH\DC2\EOT\179\SOH\STX\DC1\"\SYN Hash of the document\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\SYN\STX\SOH\ENQ\DC2\EOT\179\SOH\STX\a\n\
    \\r\n\
    \\ENQ\EOT\SYN\STX\SOH\SOH\DC2\EOT\179\SOH\b\f\n\
    \\r\n\
    \\ENQ\EOT\SYN\STX\SOH\ETX\DC2\EOT\179\SOH\SI\DLE\n\
    \\176\SOH\n\
    \\STX\EOT\ETB\DC2\ACK\184\SOH\NUL\187\SOH\SOH\SUB\161\SOH The new committee credential are passed as a map where the key is the committee cold credential hash\n\
    \ and the value is the expiration epoch for that credential\n\
    \\n\
    \\v\n\
    \\ETX\EOT\ETB\SOH\DC2\EOT\184\SOH\b\US\n\
    \\f\n\
    \\EOT\EOT\ETB\STX\NUL\DC2\EOT\185\SOH\STX0\n\
    \\r\n\
    \\ENQ\EOT\ETB\STX\NUL\ACK\DC2\EOT\185\SOH\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT\ETB\STX\NUL\SOH\DC2\EOT\185\SOH\DC2+\n\
    \\r\n\
    \\ENQ\EOT\ETB\STX\NUL\ETX\DC2\EOT\185\SOH./\n\
    \\f\n\
    \\EOT\EOT\ETB\STX\SOH\DC2\EOT\186\SOH\STX\ESC\n\
    \\r\n\
    \\ENQ\EOT\ETB\STX\SOH\ENQ\DC2\EOT\186\SOH\STX\b\n\
    \\r\n\
    \\ENQ\EOT\ETB\STX\SOH\SOH\DC2\EOT\186\SOH\t\SYN\n\
    \\r\n\
    \\ENQ\EOT\ETB\STX\SOH\ETX\DC2\EOT\186\SOH\EM\SUB\n\
    \<\n\
    \\STX\EOT\CAN\DC2\ACK\190\SOH\NUL\194\SOH\SOH\SUB. Contains the header information for a block.\n\
    \\n\
    \\v\n\
    \\ETX\EOT\CAN\SOH\DC2\EOT\190\SOH\b\DC3\n\
    \\FS\n\
    \\EOT\EOT\CAN\STX\NUL\DC2\EOT\191\SOH\STX\DC2\"\SO Slot number.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\CAN\STX\NUL\ENQ\DC2\EOT\191\SOH\STX\b\n\
    \\r\n\
    \\ENQ\EOT\CAN\STX\NUL\SOH\DC2\EOT\191\SOH\t\r\n\
    \\r\n\
    \\ENQ\EOT\CAN\STX\NUL\ETX\DC2\EOT\191\SOH\DLE\DC1\n\
    \\ESC\n\
    \\EOT\EOT\CAN\STX\SOH\DC2\EOT\192\SOH\STX\DC1\"\r Block hash.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\CAN\STX\SOH\ENQ\DC2\EOT\192\SOH\STX\a\n\
    \\r\n\
    \\ENQ\EOT\CAN\STX\SOH\SOH\DC2\EOT\192\SOH\b\f\n\
    \\r\n\
    \\ENQ\EOT\CAN\STX\SOH\ETX\DC2\EOT\192\SOH\SI\DLE\n\
    \\GS\n\
    \\EOT\EOT\CAN\STX\STX\DC2\EOT\193\SOH\STX\DC4\"\SI Block height.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\CAN\STX\STX\ENQ\DC2\EOT\193\SOH\STX\b\n\
    \\r\n\
    \\ENQ\EOT\CAN\STX\STX\SOH\DC2\EOT\193\SOH\t\SI\n\
    \\r\n\
    \\ENQ\EOT\CAN\STX\STX\ETX\DC2\EOT\193\SOH\DC2\DC3\n\
    \:\n\
    \\STX\EOT\EM\DC2\ACK\197\SOH\NUL\199\SOH\SOH\SUB, Contains the transaction data for a block.\n\
    \\n\
    \\v\n\
    \\ETX\EOT\EM\SOH\DC2\EOT\197\SOH\b\DC1\n\
    \%\n\
    \\EOT\EOT\EM\STX\NUL\DC2\EOT\198\SOH\STX\NAK\"\ETB List of transactions.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\EM\STX\NUL\EOT\DC2\EOT\198\SOH\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\EM\STX\NUL\ACK\DC2\EOT\198\SOH\v\r\n\
    \\r\n\
    \\ENQ\EOT\EM\STX\NUL\SOH\DC2\EOT\198\SOH\SO\DLE\n\
    \\r\n\
    \\ENQ\EOT\EM\STX\NUL\ETX\DC2\EOT\198\SOH\DC3\DC4\n\
    \G\n\
    \\STX\EOT\SUB\DC2\ACK\202\SOH\NUL\205\SOH\SOH\SUB9 Represents a complete block, including header and body.\n\
    \\n\
    \\v\n\
    \\ETX\EOT\SUB\SOH\DC2\EOT\202\SOH\b\r\n\
    \\GS\n\
    \\EOT\EOT\SUB\STX\NUL\DC2\EOT\203\SOH\STX\EM\"\SI Block header.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\SUB\STX\NUL\ACK\DC2\EOT\203\SOH\STX\r\n\
    \\r\n\
    \\ENQ\EOT\SUB\STX\NUL\SOH\DC2\EOT\203\SOH\SO\DC4\n\
    \\r\n\
    \\ENQ\EOT\SUB\STX\NUL\ETX\DC2\EOT\203\SOH\ETB\CAN\n\
    \\ESC\n\
    \\EOT\EOT\SUB\STX\SOH\DC2\EOT\204\SOH\STX\NAK\"\r Block body.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\SUB\STX\SOH\ACK\DC2\EOT\204\SOH\STX\v\n\
    \\r\n\
    \\ENQ\EOT\SUB\STX\SOH\SOH\DC2\EOT\204\SOH\f\DLE\n\
    \\r\n\
    \\ENQ\EOT\SUB\STX\SOH\ETX\DC2\EOT\204\SOH\DC3\DC4\n\
    \E\n\
    \\STX\EOT\ESC\DC2\ACK\208\SOH\NUL\211\SOH\SOH\SUB7 Represents a VKey witness used to sign a transaction.\n\
    \\n\
    \\v\n\
    \\ETX\EOT\ESC\SOH\DC2\EOT\208\SOH\b\DC3\n\
    \!\n\
    \\EOT\EOT\ESC\STX\NUL\DC2\EOT\209\SOH\STX\DC1\"\DC3 Verification key.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\ESC\STX\NUL\ENQ\DC2\EOT\209\SOH\STX\a\n\
    \\r\n\
    \\ENQ\EOT\ESC\STX\NUL\SOH\DC2\EOT\209\SOH\b\f\n\
    \\r\n\
    \\ENQ\EOT\ESC\STX\NUL\ETX\DC2\EOT\209\SOH\SI\DLE\n\
    \E\n\
    \\EOT\EOT\ESC\STX\SOH\DC2\EOT\210\SOH\STX\SYN\"7 Signature generated using the associated private key.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\ESC\STX\SOH\ENQ\DC2\EOT\210\SOH\STX\a\n\
    \\r\n\
    \\ENQ\EOT\ESC\STX\SOH\SOH\DC2\EOT\210\SOH\b\DC1\n\
    \\r\n\
    \\ENQ\EOT\ESC\STX\SOH\ETX\DC2\EOT\210\SOH\DC4\NAK\n\
    \6\n\
    \\STX\EOT\FS\DC2\ACK\214\SOH\NUL\223\SOH\SOH\SUB( Represents a native script in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT\FS\SOH\DC2\EOT\214\SOH\b\DC4\n\
    \\SO\n\
    \\EOT\EOT\FS\b\NUL\DC2\ACK\215\SOH\STX\222\SOH\ETX\n\
    \\r\n\
    \\ENQ\EOT\FS\b\NUL\SOH\DC2\EOT\215\SOH\b\NAK\n\
    \4\n\
    \\EOT\EOT\FS\STX\NUL\DC2\EOT\216\SOH\EOT\FS\"& Script based on an address key hash.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\FS\STX\NUL\ENQ\DC2\EOT\216\SOH\EOT\t\n\
    \\r\n\
    \\ENQ\EOT\FS\STX\NUL\SOH\DC2\EOT\216\SOH\n\
    \\ETB\n\
    \\r\n\
    \\ENQ\EOT\FS\STX\NUL\ETX\DC2\EOT\216\SOH\SUB\ESC\n\
    \H\n\
    \\EOT\EOT\FS\STX\SOH\DC2\EOT\217\SOH\EOT$\": Script that requires all nested scripts to be satisfied.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\FS\STX\SOH\ACK\DC2\EOT\217\SOH\EOT\DC4\n\
    \\r\n\
    \\ENQ\EOT\FS\STX\SOH\SOH\DC2\EOT\217\SOH\NAK\US\n\
    \\r\n\
    \\ENQ\EOT\FS\STX\SOH\ETX\DC2\EOT\217\SOH\"#\n\
    \O\n\
    \\EOT\EOT\FS\STX\STX\DC2\EOT\218\SOH\EOT$\"A Script that requires any of the nested scripts to be satisfied.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\FS\STX\STX\ACK\DC2\EOT\218\SOH\EOT\DC4\n\
    \\r\n\
    \\ENQ\EOT\FS\STX\STX\SOH\DC2\EOT\218\SOH\NAK\US\n\
    \\r\n\
    \\ENQ\EOT\FS\STX\STX\ETX\DC2\EOT\218\SOH\"#\n\
    \O\n\
    \\EOT\EOT\FS\STX\ETX\DC2\EOT\219\SOH\EOT!\"A Script that requires k out of n nested scripts to be satisfied.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\FS\STX\ETX\ACK\DC2\EOT\219\SOH\EOT\SO\n\
    \\r\n\
    \\ENQ\EOT\FS\STX\ETX\SOH\DC2\EOT\219\SOH\SI\FS\n\
    \\r\n\
    \\ENQ\EOT\FS\STX\ETX\ETX\DC2\EOT\219\SOH\US \n\
    \?\n\
    \\EOT\EOT\FS\STX\EOT\DC2\EOT\220\SOH\EOT\RS\"1 Slot number before which the script is invalid.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\FS\STX\EOT\ENQ\DC2\EOT\220\SOH\EOT\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\FS\STX\EOT\SOH\DC2\EOT\220\SOH\v\EM\n\
    \\r\n\
    \\ENQ\EOT\FS\STX\EOT\ETX\DC2\EOT\220\SOH\FS\GS\n\
    \>\n\
    \\EOT\EOT\FS\STX\ENQ\DC2\EOT\221\SOH\EOT!\"0 Slot number after which the script is invalid.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\FS\STX\ENQ\ENQ\DC2\EOT\221\SOH\EOT\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\FS\STX\ENQ\SOH\DC2\EOT\221\SOH\v\FS\n\
    \\r\n\
    \\ENQ\EOT\FS\STX\ENQ\ETX\DC2\EOT\221\SOH\US \n\
    \4\n\
    \\STX\EOT\GS\DC2\ACK\226\SOH\NUL\228\SOH\SOH\SUB& Represents a list of native scripts.\n\
    \\n\
    \\v\n\
    \\ETX\EOT\GS\SOH\DC2\EOT\226\SOH\b\CAN\n\
    \'\n\
    \\EOT\EOT\GS\STX\NUL\DC2\EOT\227\SOH\STX\"\"\EM List of native scripts.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\GS\STX\NUL\EOT\DC2\EOT\227\SOH\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\GS\STX\NUL\ACK\DC2\EOT\227\SOH\v\ETB\n\
    \\r\n\
    \\ENQ\EOT\GS\STX\NUL\SOH\DC2\EOT\227\SOH\CAN\GS\n\
    \\r\n\
    \\ENQ\EOT\GS\STX\NUL\ETX\DC2\EOT\227\SOH !\n\
    \8\n\
    \\STX\EOT\RS\DC2\ACK\231\SOH\NUL\234\SOH\SOH\SUB* Represents a \"k out of n\" native script.\n\
    \\n\
    \\v\n\
    \\ETX\EOT\RS\SOH\DC2\EOT\231\SOH\b\DC2\n\
    \9\n\
    \\EOT\EOT\RS\STX\NUL\DC2\EOT\232\SOH\STX\SI\"+ The number of required satisfied scripts.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\RS\STX\NUL\ENQ\DC2\EOT\232\SOH\STX\b\n\
    \\r\n\
    \\ENQ\EOT\RS\STX\NUL\SOH\DC2\EOT\232\SOH\t\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\RS\STX\NUL\ETX\DC2\EOT\232\SOH\r\SO\n\
    \'\n\
    \\EOT\EOT\RS\STX\SOH\DC2\EOT\233\SOH\STX$\"\EM List of native scripts.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\RS\STX\SOH\EOT\DC2\EOT\233\SOH\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\RS\STX\SOH\ACK\DC2\EOT\233\SOH\v\ETB\n\
    \\r\n\
    \\ENQ\EOT\RS\STX\SOH\SOH\DC2\EOT\233\SOH\CAN\US\n\
    \\r\n\
    \\ENQ\EOT\RS\STX\SOH\ETX\DC2\EOT\233\SOH\"#\n\
    \D\n\
    \\STX\EOT\US\DC2\ACK\237\SOH\NUL\241\SOH\SOH\SUB6 Represents a constructor for Plutus data in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT\US\SOH\DC2\EOT\237\SOH\b\SO\n\
    \\f\n\
    \\EOT\EOT\US\STX\NUL\DC2\EOT\238\SOH\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT\US\STX\NUL\ENQ\DC2\EOT\238\SOH\STX\b\n\
    \\r\n\
    \\ENQ\EOT\US\STX\NUL\SOH\DC2\EOT\238\SOH\t\f\n\
    \\r\n\
    \\ENQ\EOT\US\STX\NUL\ETX\DC2\EOT\238\SOH\SI\DLE\n\
    \\f\n\
    \\EOT\EOT\US\STX\SOH\DC2\EOT\239\SOH\STX\GS\n\
    \\r\n\
    \\ENQ\EOT\US\STX\SOH\ENQ\DC2\EOT\239\SOH\STX\b\n\
    \\r\n\
    \\ENQ\EOT\US\STX\SOH\SOH\DC2\EOT\239\SOH\t\CAN\n\
    \\r\n\
    \\ENQ\EOT\US\STX\SOH\ETX\DC2\EOT\239\SOH\ESC\FS\n\
    \\f\n\
    \\EOT\EOT\US\STX\STX\DC2\EOT\240\SOH\STX!\n\
    \\r\n\
    \\ENQ\EOT\US\STX\STX\EOT\DC2\EOT\240\SOH\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\US\STX\STX\ACK\DC2\EOT\240\SOH\v\NAK\n\
    \\r\n\
    \\ENQ\EOT\US\STX\STX\SOH\DC2\EOT\240\SOH\SYN\FS\n\
    \\r\n\
    \\ENQ\EOT\US\STX\STX\ETX\DC2\EOT\240\SOH\US \n\
    \D\n\
    \\STX\EOT \DC2\ACK\244\SOH\NUL\250\SOH\SOH\SUB6 Represents a big integer for Plutus data in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT \SOH\DC2\EOT\244\SOH\b\SO\n\
    \\SO\n\
    \\EOT\EOT \b\NUL\DC2\ACK\245\SOH\STX\249\SOH\ETX\n\
    \\r\n\
    \\ENQ\EOT \b\NUL\SOH\DC2\EOT\245\SOH\b\SI\n\
    \\f\n\
    \\EOT\EOT \STX\NUL\DC2\EOT\246\SOH\EOT\DC2\n\
    \\r\n\
    \\ENQ\EOT \STX\NUL\ENQ\DC2\EOT\246\SOH\EOT\t\n\
    \\r\n\
    \\ENQ\EOT \STX\NUL\SOH\DC2\EOT\246\SOH\n\
    \\r\n\
    \\r\n\
    \\ENQ\EOT \STX\NUL\ETX\DC2\EOT\246\SOH\DLE\DC1\n\
    \\f\n\
    \\EOT\EOT \STX\SOH\DC2\EOT\247\SOH\EOT\CAN\n\
    \\r\n\
    \\ENQ\EOT \STX\SOH\ENQ\DC2\EOT\247\SOH\EOT\t\n\
    \\r\n\
    \\ENQ\EOT \STX\SOH\SOH\DC2\EOT\247\SOH\n\
    \\DC3\n\
    \\r\n\
    \\ENQ\EOT \STX\SOH\ETX\DC2\EOT\247\SOH\SYN\ETB\n\
    \\f\n\
    \\EOT\EOT \STX\STX\DC2\EOT\248\SOH\EOT\CAN\n\
    \\r\n\
    \\ENQ\EOT \STX\STX\ENQ\DC2\EOT\248\SOH\EOT\t\n\
    \\r\n\
    \\ENQ\EOT \STX\STX\SOH\DC2\EOT\248\SOH\n\
    \\DC3\n\
    \\r\n\
    \\ENQ\EOT \STX\STX\ETX\DC2\EOT\248\SOH\SYN\ETB\n\
    \G\n\
    \\STX\EOT!\DC2\ACK\253\SOH\NUL\128\STX\SOH\SUB9 Represents a key-value pair for Plutus data in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT!\SOH\DC2\EOT\253\SOH\b\SYN\n\
    \ \n\
    \\EOT\EOT!\STX\NUL\DC2\EOT\254\SOH\STX\NAK\"\DC2 Key of the pair.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT!\STX\NUL\ACK\DC2\EOT\254\SOH\STX\f\n\
    \\r\n\
    \\ENQ\EOT!\STX\NUL\SOH\DC2\EOT\254\SOH\r\DLE\n\
    \\r\n\
    \\ENQ\EOT!\STX\NUL\ETX\DC2\EOT\254\SOH\DC3\DC4\n\
    \\"\n\
    \\EOT\EOT!\STX\SOH\DC2\EOT\255\SOH\STX\ETB\"\DC4 Value of the pair.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT!\STX\SOH\ACK\DC2\EOT\255\SOH\STX\f\n\
    \\r\n\
    \\ENQ\EOT!\STX\SOH\SOH\DC2\EOT\255\SOH\r\DC2\n\
    \\r\n\
    \\ENQ\EOT!\STX\SOH\ETX\DC2\EOT\255\SOH\NAK\SYN\n\
    \9\n\
    \\STX\EOT\"\DC2\ACK\131\STX\NUL\139\STX\SOH\SUB+ Represents a Plutus data item in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT\"\SOH\DC2\EOT\131\STX\b\DC2\n\
    \\SO\n\
    \\EOT\EOT\"\b\NUL\DC2\ACK\132\STX\STX\138\STX\ETX\n\
    \\r\n\
    \\ENQ\EOT\"\b\NUL\SOH\DC2\EOT\132\STX\b\DC3\n\
    \\FS\n\
    \\EOT\EOT\"\STX\NUL\DC2\EOT\133\STX\EOT\SYN\"\SO Constructor.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\"\STX\NUL\ACK\DC2\EOT\133\STX\EOT\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\"\STX\NUL\SOH\DC2\EOT\133\STX\v\DC1\n\
    \\r\n\
    \\ENQ\EOT\"\STX\NUL\ETX\DC2\EOT\133\STX\DC4\NAK\n\
    \#\n\
    \\EOT\EOT\"\STX\SOH\DC2\EOT\134\STX\EOT\SUB\"\NAK Map of Plutus data.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\"\STX\SOH\ACK\DC2\EOT\134\STX\EOT\DC1\n\
    \\r\n\
    \\ENQ\EOT\"\STX\SOH\SOH\DC2\EOT\134\STX\DC2\NAK\n\
    \\r\n\
    \\ENQ\EOT\"\STX\SOH\ETX\DC2\EOT\134\STX\CAN\EM\n\
    \\FS\n\
    \\EOT\EOT\"\STX\STX\DC2\EOT\135\STX\EOT\ETB\"\SO Big integer.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\"\STX\STX\ACK\DC2\EOT\135\STX\EOT\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\"\STX\STX\SOH\DC2\EOT\135\STX\v\DC2\n\
    \\r\n\
    \\ENQ\EOT\"\STX\STX\ETX\DC2\EOT\135\STX\NAK\SYN\n\
    \\RS\n\
    \\EOT\EOT\"\STX\ETX\DC2\EOT\136\STX\EOT\FS\"\DLE Bounded bytes.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\"\STX\ETX\ENQ\DC2\EOT\136\STX\EOT\t\n\
    \\r\n\
    \\ENQ\EOT\"\STX\ETX\SOH\DC2\EOT\136\STX\n\
    \\ETB\n\
    \\r\n\
    \\ENQ\EOT\"\STX\ETX\ETX\DC2\EOT\136\STX\SUB\ESC\n\
    \%\n\
    \\EOT\EOT\"\STX\EOT\DC2\EOT\137\STX\EOT\RS\"\ETB Array of Plutus data.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT\"\STX\EOT\ACK\DC2\EOT\137\STX\EOT\DC3\n\
    \\r\n\
    \\ENQ\EOT\"\STX\EOT\SOH\DC2\EOT\137\STX\DC4\EM\n\
    \\r\n\
    \\ENQ\EOT\"\STX\EOT\ETX\DC2\EOT\137\STX\FS\GS\n\
    \;\n\
    \\STX\EOT#\DC2\ACK\142\STX\NUL\144\STX\SOH\SUB- Represents a map of Plutus data in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT#\SOH\DC2\EOT\142\STX\b\NAK\n\
    \(\n\
    \\EOT\EOT#\STX\NUL\DC2\EOT\143\STX\STX$\"\SUB List of key-value pairs.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT#\STX\NUL\EOT\DC2\EOT\143\STX\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOT#\STX\NUL\ACK\DC2\EOT\143\STX\v\EM\n\
    \\r\n\
    \\ENQ\EOT#\STX\NUL\SOH\DC2\EOT\143\STX\SUB\US\n\
    \\r\n\
    \\ENQ\EOT#\STX\NUL\ETX\DC2\EOT\143\STX\"#\n\
    \>\n\
    \\STX\EOT$\DC2\ACK\147\STX\NUL\149\STX\SOH\SUB0 Represents an array of Plutus data in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT$\SOH\DC2\EOT\147\STX\b\ETB\n\
    \*\n\
    \\EOT\EOT$\STX\NUL\DC2\EOT\148\STX\STX \"\FS List of Plutus data items.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT$\STX\NUL\EOT\DC2\EOT\148\STX\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOT$\STX\NUL\ACK\DC2\EOT\148\STX\v\NAK\n\
    \\r\n\
    \\ENQ\EOT$\STX\NUL\SOH\DC2\EOT\148\STX\SYN\ESC\n\
    \\r\n\
    \\ENQ\EOT$\STX\NUL\ETX\DC2\EOT\148\STX\RS\US\n\
    \/\n\
    \\STX\EOT%\DC2\ACK\152\STX\NUL\159\STX\SOH\SUB! Represents a script in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT%\SOH\DC2\EOT\152\STX\b\SO\n\
    \\SO\n\
    \\EOT\EOT%\b\NUL\DC2\ACK\153\STX\STX\158\STX\ETX\n\
    \\r\n\
    \\ENQ\EOT%\b\NUL\SOH\DC2\EOT\153\STX\b\SO\n\
    \\RS\n\
    \\EOT\EOT%\STX\NUL\DC2\EOT\154\STX\EOT\FS\"\DLE Native script.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT%\STX\NUL\ACK\DC2\EOT\154\STX\EOT\DLE\n\
    \\r\n\
    \\ENQ\EOT%\STX\NUL\SOH\DC2\EOT\154\STX\DC1\ETB\n\
    \\r\n\
    \\ENQ\EOT%\STX\NUL\ETX\DC2\EOT\154\STX\SUB\ESC\n\
    \!\n\
    \\EOT\EOT%\STX\SOH\DC2\EOT\155\STX\EOT\CAN\"\DC3 Plutus V1 script.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT%\STX\SOH\ENQ\DC2\EOT\155\STX\EOT\t\n\
    \\r\n\
    \\ENQ\EOT%\STX\SOH\SOH\DC2\EOT\155\STX\n\
    \\DC3\n\
    \\r\n\
    \\ENQ\EOT%\STX\SOH\ETX\DC2\EOT\155\STX\SYN\ETB\n\
    \!\n\
    \\EOT\EOT%\STX\STX\DC2\EOT\156\STX\EOT\CAN\"\DC3 Plutus V2 script.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT%\STX\STX\ENQ\DC2\EOT\156\STX\EOT\t\n\
    \\r\n\
    \\ENQ\EOT%\STX\STX\SOH\DC2\EOT\156\STX\n\
    \\DC3\n\
    \\r\n\
    \\ENQ\EOT%\STX\STX\ETX\DC2\EOT\156\STX\SYN\ETB\n\
    \!\n\
    \\EOT\EOT%\STX\ETX\DC2\EOT\157\STX\EOT\CAN\"\DC3 Plutus V3 script.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT%\STX\ETX\ENQ\DC2\EOT\157\STX\EOT\t\n\
    \\r\n\
    \\ENQ\EOT%\STX\ETX\SOH\DC2\EOT\157\STX\n\
    \\DC3\n\
    \\r\n\
    \\ENQ\EOT%\STX\ETX\ETX\DC2\EOT\157\STX\SYN\ETB\n\
    \\f\n\
    \\STX\EOT&\DC2\ACK\161\STX\NUL\169\STX\SOH\n\
    \\v\n\
    \\ETX\EOT&\SOH\DC2\EOT\161\STX\b\DC1\n\
    \\SO\n\
    \\EOT\EOT&\b\NUL\DC2\ACK\162\STX\STX\168\STX\ETX\n\
    \\r\n\
    \\ENQ\EOT&\b\NUL\SOH\DC2\EOT\162\STX\b\DC1\n\
    \\f\n\
    \\EOT\EOT&\STX\NUL\DC2\EOT\163\STX\EOT\DC2\n\
    \\r\n\
    \\ENQ\EOT&\STX\NUL\ENQ\DC2\EOT\163\STX\EOT\t\n\
    \\r\n\
    \\ENQ\EOT&\STX\NUL\SOH\DC2\EOT\163\STX\n\
    \\r\n\
    \\r\n\
    \\ENQ\EOT&\STX\NUL\ETX\DC2\EOT\163\STX\DLE\DC1\n\
    \\f\n\
    \\EOT\EOT&\STX\SOH\DC2\EOT\164\STX\EOT\DC4\n\
    \\r\n\
    \\ENQ\EOT&\STX\SOH\ENQ\DC2\EOT\164\STX\EOT\t\n\
    \\r\n\
    \\ENQ\EOT&\STX\SOH\SOH\DC2\EOT\164\STX\n\
    \\SI\n\
    \\r\n\
    \\ENQ\EOT&\STX\SOH\ETX\DC2\EOT\164\STX\DC2\DC3\n\
    \\f\n\
    \\EOT\EOT&\STX\STX\DC2\EOT\165\STX\EOT\DC4\n\
    \\r\n\
    \\ENQ\EOT&\STX\STX\ENQ\DC2\EOT\165\STX\EOT\n\
    \\n\
    \\r\n\
    \\ENQ\EOT&\STX\STX\SOH\DC2\EOT\165\STX\v\SI\n\
    \\r\n\
    \\ENQ\EOT&\STX\STX\ETX\DC2\EOT\165\STX\DC2\DC3\n\
    \\f\n\
    \\EOT\EOT&\STX\ETX\DC2\EOT\166\STX\EOT\GS\n\
    \\r\n\
    \\ENQ\EOT&\STX\ETX\ACK\DC2\EOT\166\STX\EOT\DC2\n\
    \\r\n\
    \\ENQ\EOT&\STX\ETX\SOH\DC2\EOT\166\STX\DC3\CAN\n\
    \\r\n\
    \\ENQ\EOT&\STX\ETX\ETX\DC2\EOT\166\STX\ESC\FS\n\
    \\f\n\
    \\EOT\EOT&\STX\EOT\DC2\EOT\167\STX\EOT\EM\n\
    \\r\n\
    \\ENQ\EOT&\STX\EOT\ACK\DC2\EOT\167\STX\EOT\DLE\n\
    \\r\n\
    \\ENQ\EOT&\STX\EOT\SOH\DC2\EOT\167\STX\DC1\DC4\n\
    \\r\n\
    \\ENQ\EOT&\STX\EOT\ETX\DC2\EOT\167\STX\ETB\CAN\n\
    \\f\n\
    \\STX\EOT'\DC2\ACK\171\STX\NUL\173\STX\SOH\n\
    \\v\n\
    \\ETX\EOT'\SOH\DC2\EOT\171\STX\b\SYN\n\
    \\f\n\
    \\EOT\EOT'\STX\NUL\DC2\EOT\172\STX\STX\US\n\
    \\r\n\
    \\ENQ\EOT'\STX\NUL\EOT\DC2\EOT\172\STX\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOT'\STX\NUL\ACK\DC2\EOT\172\STX\v\DC4\n\
    \\r\n\
    \\ENQ\EOT'\STX\NUL\SOH\DC2\EOT\172\STX\NAK\SUB\n\
    \\r\n\
    \\ENQ\EOT'\STX\NUL\ETX\DC2\EOT\172\STX\GS\RS\n\
    \\f\n\
    \\STX\EOT(\DC2\ACK\175\STX\NUL\177\STX\SOH\n\
    \\v\n\
    \\ETX\EOT(\SOH\DC2\EOT\175\STX\b\DC4\n\
    \\f\n\
    \\EOT\EOT(\STX\NUL\DC2\EOT\176\STX\STX#\n\
    \\r\n\
    \\ENQ\EOT(\STX\NUL\EOT\DC2\EOT\176\STX\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOT(\STX\NUL\ACK\DC2\EOT\176\STX\v\CAN\n\
    \\r\n\
    \\ENQ\EOT(\STX\NUL\SOH\DC2\EOT\176\STX\EM\RS\n\
    \\r\n\
    \\ENQ\EOT(\STX\NUL\ETX\DC2\EOT\176\STX!\"\n\
    \\f\n\
    \\STX\EOT)\DC2\ACK\179\STX\NUL\182\STX\SOH\n\
    \\v\n\
    \\ETX\EOT)\SOH\DC2\EOT\179\STX\b\NAK\n\
    \\f\n\
    \\EOT\EOT)\STX\NUL\DC2\EOT\180\STX\STX\DC4\n\
    \\r\n\
    \\ENQ\EOT)\STX\NUL\ACK\DC2\EOT\180\STX\STX\v\n\
    \\r\n\
    \\ENQ\EOT)\STX\NUL\SOH\DC2\EOT\180\STX\f\SI\n\
    \\r\n\
    \\ENQ\EOT)\STX\NUL\ETX\DC2\EOT\180\STX\DC2\DC3\n\
    \\f\n\
    \\EOT\EOT)\STX\SOH\DC2\EOT\181\STX\STX\SYN\n\
    \\r\n\
    \\ENQ\EOT)\STX\SOH\ACK\DC2\EOT\181\STX\STX\v\n\
    \\r\n\
    \\ENQ\EOT)\STX\SOH\SOH\DC2\EOT\181\STX\f\DC1\n\
    \\r\n\
    \\ENQ\EOT)\STX\SOH\ETX\DC2\EOT\181\STX\DC4\NAK\n\
    \\f\n\
    \\STX\EOT*\DC2\ACK\184\STX\NUL\187\STX\SOH\n\
    \\v\n\
    \\ETX\EOT*\SOH\DC2\EOT\184\STX\b\DLE\n\
    \\f\n\
    \\EOT\EOT*\STX\NUL\DC2\EOT\185\STX\STX\DC3\n\
    \\r\n\
    \\ENQ\EOT*\STX\NUL\ENQ\DC2\EOT\185\STX\STX\b\n\
    \\r\n\
    \\ENQ\EOT*\STX\NUL\SOH\DC2\EOT\185\STX\t\SO\n\
    \\r\n\
    \\ENQ\EOT*\STX\NUL\ETX\DC2\EOT\185\STX\DC1\DC2\n\
    \\f\n\
    \\EOT\EOT*\STX\SOH\DC2\EOT\186\STX\STX\SYN\n\
    \\r\n\
    \\ENQ\EOT*\STX\SOH\ACK\DC2\EOT\186\STX\STX\v\n\
    \\r\n\
    \\ENQ\EOT*\STX\SOH\SOH\DC2\EOT\186\STX\f\DC1\n\
    \\r\n\
    \\ENQ\EOT*\STX\SOH\ETX\DC2\EOT\186\STX\DC4\NAK\n\
    \9\n\
    \\STX\EOT+\DC2\ACK\190\STX\NUL\195\STX\SOH\SUB+ Represents a stake credential in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT+\SOH\DC2\EOT\190\STX\b\ETB\n\
    \\SO\n\
    \\EOT\EOT+\b\NUL\DC2\ACK\191\STX\STX\194\STX\ETX\n\
    \\r\n\
    \\ENQ\EOT+\b\NUL\SOH\DC2\EOT\191\STX\b\CAN\n\
    \!\n\
    \\EOT\EOT+\STX\NUL\DC2\EOT\192\STX\EOT\FS\"\DC3 Address key hash.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT+\STX\NUL\ENQ\DC2\EOT\192\STX\EOT\t\n\
    \\r\n\
    \\ENQ\EOT+\STX\NUL\SOH\DC2\EOT\192\STX\n\
    \\ETB\n\
    \\r\n\
    \\ENQ\EOT+\STX\NUL\ETX\DC2\EOT\192\STX\SUB\ESC\n\
    \\FS\n\
    \\EOT\EOT+\STX\SOH\DC2\EOT\193\STX\EOT\SUB\"\SO Script hash.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT+\STX\SOH\ENQ\DC2\EOT\193\STX\EOT\t\n\
    \\r\n\
    \\ENQ\EOT+\STX\SOH\SOH\DC2\EOT\193\STX\n\
    \\NAK\n\
    \\r\n\
    \\ENQ\EOT+\STX\SOH\ETX\DC2\EOT\193\STX\CAN\EM\n\
    \;\n\
    \\STX\EOT,\DC2\ACK\198\STX\NUL\201\STX\SOH\SUB- Represents a rational number as a fraction.\n\
    \\n\
    \\v\n\
    \\ETX\EOT,\SOH\DC2\EOT\198\STX\b\SYN\n\
    \\f\n\
    \\EOT\EOT,\STX\NUL\DC2\EOT\199\STX\STX\SYN\n\
    \\r\n\
    \\ENQ\EOT,\STX\NUL\ENQ\DC2\EOT\199\STX\STX\a\n\
    \\r\n\
    \\ENQ\EOT,\STX\NUL\SOH\DC2\EOT\199\STX\b\DC1\n\
    \\r\n\
    \\ENQ\EOT,\STX\NUL\ETX\DC2\EOT\199\STX\DC4\NAK\n\
    \\f\n\
    \\EOT\EOT,\STX\SOH\DC2\EOT\200\STX\STX\EM\n\
    \\r\n\
    \\ENQ\EOT,\STX\SOH\ENQ\DC2\EOT\200\STX\STX\b\n\
    \\r\n\
    \\ENQ\EOT,\STX\SOH\SOH\DC2\EOT\200\STX\t\DC4\n\
    \\r\n\
    \\ENQ\EOT,\STX\SOH\ETX\DC2\EOT\200\STX\ETB\CAN\n\
    \.\n\
    \\STX\EOT-\DC2\ACK\204\STX\NUL\209\STX\SOH\SUB  Represents a relay in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT-\SOH\DC2\EOT\204\STX\b\r\n\
    \\f\n\
    \\EOT\EOT-\STX\NUL\DC2\EOT\205\STX\STX\DC2\n\
    \\r\n\
    \\ENQ\EOT-\STX\NUL\ENQ\DC2\EOT\205\STX\STX\a\n\
    \\r\n\
    \\ENQ\EOT-\STX\NUL\SOH\DC2\EOT\205\STX\b\r\n\
    \\r\n\
    \\ENQ\EOT-\STX\NUL\ETX\DC2\EOT\205\STX\DLE\DC1\n\
    \\f\n\
    \\EOT\EOT-\STX\SOH\DC2\EOT\206\STX\STX\DC2\n\
    \\r\n\
    \\ENQ\EOT-\STX\SOH\ENQ\DC2\EOT\206\STX\STX\a\n\
    \\r\n\
    \\ENQ\EOT-\STX\SOH\SOH\DC2\EOT\206\STX\b\r\n\
    \\r\n\
    \\ENQ\EOT-\STX\SOH\ETX\DC2\EOT\206\STX\DLE\DC1\n\
    \\f\n\
    \\EOT\EOT-\STX\STX\DC2\EOT\207\STX\STX\SYN\n\
    \\r\n\
    \\ENQ\EOT-\STX\STX\ENQ\DC2\EOT\207\STX\STX\b\n\
    \\r\n\
    \\ENQ\EOT-\STX\STX\SOH\DC2\EOT\207\STX\t\DC1\n\
    \\r\n\
    \\ENQ\EOT-\STX\STX\ETX\DC2\EOT\207\STX\DC4\NAK\n\
    \\f\n\
    \\EOT\EOT-\STX\ETX\DC2\EOT\208\STX\STX\DC2\n\
    \\r\n\
    \\ENQ\EOT-\STX\ETX\ENQ\DC2\EOT\208\STX\STX\b\n\
    \\r\n\
    \\ENQ\EOT-\STX\ETX\SOH\DC2\EOT\208\STX\t\r\n\
    \\r\n\
    \\ENQ\EOT-\STX\ETX\ETX\DC2\EOT\208\STX\DLE\DC1\n\
    \4\n\
    \\STX\EOT.\DC2\ACK\212\STX\NUL\215\STX\SOH\SUB& Represents pool metadata in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT.\SOH\DC2\EOT\212\STX\b\DC4\n\
    \\f\n\
    \\EOT\EOT.\STX\NUL\DC2\EOT\213\STX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT.\STX\NUL\ENQ\DC2\EOT\213\STX\STX\b\n\
    \\r\n\
    \\ENQ\EOT.\STX\NUL\SOH\DC2\EOT\213\STX\t\f\n\
    \\r\n\
    \\ENQ\EOT.\STX\NUL\ETX\DC2\EOT\213\STX\SI\DLE\n\
    \\f\n\
    \\EOT\EOT.\STX\SOH\DC2\EOT\214\STX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT.\STX\SOH\ENQ\DC2\EOT\214\STX\STX\a\n\
    \\r\n\
    \\ENQ\EOT.\STX\SOH\SOH\DC2\EOT\214\STX\b\f\n\
    \\r\n\
    \\ENQ\EOT.\STX\SOH\ETX\DC2\EOT\214\STX\SI\DLE\n\
    \4\n\
    \\STX\EOT/\DC2\ACK\218\STX\NUL\241\STX\SOH\SUB& Represents a certificate in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT/\SOH\DC2\EOT\218\STX\b\DC3\n\
    \\SO\n\
    \\EOT\EOT/\b\NUL\DC2\ACK\219\STX\STX\239\STX\ETX\n\
    \\r\n\
    \\ENQ\EOT/\b\NUL\SOH\DC2\EOT\219\STX\b\DC3\n\
    \/\n\
    \\EOT\EOT/\STX\NUL\DC2\EOT\220\STX\EOT+\"! Stake registration certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT/\STX\NUL\ACK\DC2\EOT\220\STX\EOT\DC3\n\
    \\r\n\
    \\ENQ\EOT/\STX\NUL\SOH\DC2\EOT\220\STX\DC4&\n\
    \\r\n\
    \\ENQ\EOT/\STX\NUL\ETX\DC2\EOT\220\STX)*\n\
    \1\n\
    \\EOT\EOT/\STX\SOH\DC2\EOT\221\STX\EOT-\"# Stake deregistration certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT/\STX\SOH\ACK\DC2\EOT\221\STX\EOT\DC3\n\
    \\r\n\
    \\ENQ\EOT/\STX\SOH\SOH\DC2\EOT\221\STX\DC4(\n\
    \\r\n\
    \\ENQ\EOT/\STX\SOH\ETX\DC2\EOT\221\STX+,\n\
    \-\n\
    \\EOT\EOT/\STX\STX\DC2\EOT\222\STX\EOT-\"\US Stake delegation certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT/\STX\STX\ACK\DC2\EOT\222\STX\EOT\ETB\n\
    \\r\n\
    \\ENQ\EOT/\STX\STX\SOH\DC2\EOT\222\STX\CAN(\n\
    \\r\n\
    \\ENQ\EOT/\STX\STX\ETX\DC2\EOT\222\STX+,\n\
    \.\n\
    \\EOT\EOT/\STX\ETX\DC2\EOT\223\STX\EOT/\"  Pool registration certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT/\STX\ETX\ACK\DC2\EOT\223\STX\EOT\CAN\n\
    \\r\n\
    \\ENQ\EOT/\STX\ETX\SOH\DC2\EOT\223\STX\EM*\n\
    \\r\n\
    \\ENQ\EOT/\STX\ETX\ETX\DC2\EOT\223\STX-.\n\
    \,\n\
    \\EOT\EOT/\STX\EOT\DC2\EOT\224\STX\EOT+\"\RS Pool retirement certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT/\STX\EOT\ACK\DC2\EOT\224\STX\EOT\SYN\n\
    \\r\n\
    \\ENQ\EOT/\STX\EOT\SOH\DC2\EOT\224\STX\ETB&\n\
    \\r\n\
    \\ENQ\EOT/\STX\EOT\ETX\DC2\EOT\224\STX)*\n\
    \3\n\
    \\EOT\EOT/\STX\ENQ\DC2\EOT\225\STX\EOT8\"% Genesis key delegation certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT/\STX\ENQ\ACK\DC2\EOT\225\STX\EOT\FS\n\
    \\r\n\
    \\ENQ\EOT/\STX\ENQ\SOH\DC2\EOT\225\STX\GS3\n\
    \\r\n\
    \\ENQ\EOT/\STX\ENQ\ETX\DC2\EOT\225\STX67\n\
    \7\n\
    \\EOT\EOT/\STX\ACK\DC2\EOT\226\STX\EOT\EM\") Move instantaneous rewards certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT/\STX\ACK\ACK\DC2\EOT\226\STX\EOT\v\n\
    \\r\n\
    \\ENQ\EOT/\STX\ACK\SOH\DC2\EOT\226\STX\f\DC4\n\
    \\r\n\
    \\ENQ\EOT/\STX\ACK\ETX\DC2\EOT\226\STX\ETB\CAN\n\
    \)\n\
    \\EOT\EOT/\STX\a\DC2\EOT\227\STX\EOT\EM\"\ESC Registration certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT/\STX\a\ACK\DC2\EOT\227\STX\EOT\v\n\
    \\r\n\
    \\ENQ\EOT/\STX\a\SOH\DC2\EOT\227\STX\f\DC4\n\
    \\r\n\
    \\ENQ\EOT/\STX\a\ETX\DC2\EOT\227\STX\ETB\CAN\n\
    \+\n\
    \\EOT\EOT/\STX\b\DC2\EOT\228\STX\EOT\GS\"\GS Unregistration certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT/\STX\b\ACK\DC2\EOT\228\STX\EOT\r\n\
    \\r\n\
    \\ENQ\EOT/\STX\b\SOH\DC2\EOT\228\STX\SO\CAN\n\
    \\r\n\
    \\ENQ\EOT/\STX\b\ETX\DC2\EOT\228\STX\ESC\FS\n\
    \,\n\
    \\EOT\EOT/\STX\t\DC2\EOT\229\STX\EOT'\"\RS Vote delegation certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT/\STX\t\ACK\DC2\EOT\229\STX\EOT\DC1\n\
    \\r\n\
    \\ENQ\EOT/\STX\t\SOH\DC2\EOT\229\STX\DC2!\n\
    \\r\n\
    \\ENQ\EOT/\STX\t\ETX\DC2\EOT\229\STX$&\n\
    \6\n\
    \\EOT\EOT/\STX\n\
    \\DC2\EOT\230\STX\EOT2\"( Stake and vote delegation certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT/\STX\n\
    \\ACK\DC2\EOT\230\STX\EOT\SYN\n\
    \\r\n\
    \\ENQ\EOT/\STX\n\
    \\SOH\DC2\EOT\230\STX\ETB,\n\
    \\r\n\
    \\ENQ\EOT/\STX\n\
    \\ETX\DC2\EOT\230\STX/1\n\
    \>\n\
    \\EOT\EOT/\STX\v\DC2\EOT\231\STX\EOT0\"0 Stake registration and delegation certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT/\STX\v\ACK\DC2\EOT\231\STX\EOT\NAK\n\
    \\r\n\
    \\ENQ\EOT/\STX\v\SOH\DC2\EOT\231\STX\SYN*\n\
    \\r\n\
    \\ENQ\EOT/\STX\v\ETX\DC2\EOT\231\STX-/\n\
    \=\n\
    \\EOT\EOT/\STX\f\DC2\EOT\232\STX\EOT.\"/ Vote registration and delegation certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT/\STX\f\ACK\DC2\EOT\232\STX\EOT\DC4\n\
    \\r\n\
    \\ENQ\EOT/\STX\f\SOH\DC2\EOT\232\STX\NAK(\n\
    \\r\n\
    \\ENQ\EOT/\STX\f\ETX\DC2\EOT\232\STX+-\n\
    \G\n\
    \\EOT\EOT/\STX\r\DC2\EOT\233\STX\EOT9\"9 Stake and vote registration and delegation certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT/\STX\r\ACK\DC2\EOT\233\STX\EOT\EM\n\
    \\r\n\
    \\ENQ\EOT/\STX\r\SOH\DC2\EOT\233\STX\SUB3\n\
    \\r\n\
    \\ENQ\EOT/\STX\r\ETX\DC2\EOT\233\STX68\n\
    \8\n\
    \\EOT\EOT/\STX\SO\DC2\EOT\234\STX\EOT6\"* Authorize committee hot key certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT/\STX\SO\ACK\DC2\EOT\234\STX\EOT\CAN\n\
    \\r\n\
    \\ENQ\EOT/\STX\SO\SOH\DC2\EOT\234\STX\EM0\n\
    \\r\n\
    \\ENQ\EOT/\STX\SO\ETX\DC2\EOT\234\STX35\n\
    \6\n\
    \\EOT\EOT/\STX\SI\DC2\EOT\235\STX\EOT<\"( Resign committee cold key certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT/\STX\SI\ACK\DC2\EOT\235\STX\EOT\ESC\n\
    \\r\n\
    \\ENQ\EOT/\STX\SI\SOH\DC2\EOT\235\STX\FS6\n\
    \\r\n\
    \\ENQ\EOT/\STX\SI\ETX\DC2\EOT\235\STX9;\n\
    \*\n\
    \\EOT\EOT/\STX\DLE\DC2\EOT\236\STX\EOT#\"\FS Register DRep certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT/\STX\DLE\ACK\DC2\EOT\236\STX\EOT\SI\n\
    \\r\n\
    \\ENQ\EOT/\STX\DLE\SOH\DC2\EOT\236\STX\DLE\GS\n\
    \\r\n\
    \\ENQ\EOT/\STX\DLE\ETX\DC2\EOT\236\STX \"\n\
    \,\n\
    \\EOT\EOT/\STX\DC1\DC2\EOT\237\STX\EOT'\"\RS Unregister DRep certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT/\STX\DC1\ACK\DC2\EOT\237\STX\EOT\DC1\n\
    \\r\n\
    \\ENQ\EOT/\STX\DC1\SOH\DC2\EOT\237\STX\DC2!\n\
    \\r\n\
    \\ENQ\EOT/\STX\DC1\ETX\DC2\EOT\237\STX$&\n\
    \(\n\
    \\EOT\EOT/\STX\DC2\DC2\EOT\238\STX\EOT)\"\SUB Update DRep certificate.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT/\STX\DC2\ACK\DC2\EOT\238\STX\EOT\DC2\n\
    \\r\n\
    \\ENQ\EOT/\STX\DC2\SOH\DC2\EOT\238\STX\DC3#\n\
    \\r\n\
    \\ENQ\EOT/\STX\DC2\ETX\DC2\EOT\238\STX&(\n\
    \/\n\
    \\EOT\EOT/\STX\DC3\DC2\EOT\240\STX\STX\SUB\"! Redeemer for the Plutus script.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT/\STX\DC3\ACK\DC2\EOT\240\STX\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOT/\STX\DC3\SOH\DC2\EOT\240\STX\v\DC3\n\
    \\r\n\
    \\ENQ\EOT/\STX\DC3\ETX\DC2\EOT\240\STX\SYN\EM\n\
    \E\n\
    \\STX\EOT0\DC2\ACK\244\STX\NUL\247\STX\SOH\SUB7 Represents a stake delegation certificate in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT0\SOH\DC2\EOT\244\STX\b\ESC\n\
    \!\n\
    \\EOT\EOT0\STX\NUL\DC2\EOT\245\STX\STX'\"\DC3 Stake credential.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT0\STX\NUL\ACK\DC2\EOT\245\STX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT0\STX\NUL\SOH\DC2\EOT\245\STX\DC2\"\n\
    \\r\n\
    \\ENQ\EOT0\STX\NUL\ETX\DC2\EOT\245\STX%&\n\
    \\RS\n\
    \\EOT\EOT0\STX\SOH\DC2\EOT\246\STX\STX\EM\"\DLE Pool key hash.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT0\STX\SOH\ENQ\DC2\EOT\246\STX\STX\a\n\
    \\r\n\
    \\ENQ\EOT0\STX\SOH\SOH\DC2\EOT\246\STX\b\DC4\n\
    \\r\n\
    \\ENQ\EOT0\STX\SOH\ETX\DC2\EOT\246\STX\ETB\CAN\n\
    \F\n\
    \\STX\EOT1\DC2\ACK\250\STX\NUL\132\ETX\SOH\SUB8 Represents a pool registration certificate in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT1\SOH\DC2\EOT\250\STX\b\FS\n\
    \\"\n\
    \\EOT\EOT1\STX\NUL\DC2\EOT\251\STX\STX\NAK\"\DC4 Operator key hash.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT1\STX\NUL\ENQ\DC2\EOT\251\STX\STX\a\n\
    \\r\n\
    \\ENQ\EOT1\STX\NUL\SOH\DC2\EOT\251\STX\b\DLE\n\
    \\r\n\
    \\ENQ\EOT1\STX\NUL\ETX\DC2\EOT\251\STX\DC3\DC4\n\
    \\GS\n\
    \\EOT\EOT1\STX\SOH\DC2\EOT\252\STX\STX\CAN\"\SI VRF key hash.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT1\STX\SOH\ENQ\DC2\EOT\252\STX\STX\a\n\
    \\r\n\
    \\ENQ\EOT1\STX\SOH\SOH\DC2\EOT\252\STX\b\DC3\n\
    \\r\n\
    \\ENQ\EOT1\STX\SOH\ETX\DC2\EOT\252\STX\SYN\ETB\n\
    \\RS\n\
    \\EOT\EOT1\STX\STX\DC2\EOT\253\STX\STX\DC4\"\DLE Pledge amount.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT1\STX\STX\ENQ\DC2\EOT\253\STX\STX\b\n\
    \\r\n\
    \\ENQ\EOT1\STX\STX\SOH\DC2\EOT\253\STX\t\SI\n\
    \\r\n\
    \\ENQ\EOT1\STX\STX\ETX\DC2\EOT\253\STX\DC2\DC3\n\
    \\SUB\n\
    \\EOT\EOT1\STX\ETX\DC2\EOT\254\STX\STX\DC2\"\f Pool cost.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT1\STX\ETX\ENQ\DC2\EOT\254\STX\STX\b\n\
    \\r\n\
    \\ENQ\EOT1\STX\ETX\SOH\DC2\EOT\254\STX\t\r\n\
    \\r\n\
    \\ENQ\EOT1\STX\ETX\ETX\DC2\EOT\254\STX\DLE\DC1\n\
    \\FS\n\
    \\EOT\EOT1\STX\EOT\DC2\EOT\255\STX\STX\FS\"\SO Pool margin.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT1\STX\EOT\ACK\DC2\EOT\255\STX\STX\DLE\n\
    \\r\n\
    \\ENQ\EOT1\STX\EOT\SOH\DC2\EOT\255\STX\DC1\ETB\n\
    \\r\n\
    \\ENQ\EOT1\STX\EOT\ETX\DC2\EOT\255\STX\SUB\ESC\n\
    \\US\n\
    \\EOT\EOT1\STX\ENQ\DC2\EOT\128\ETX\STX\ESC\"\DC1 Reward account.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT1\STX\ENQ\ENQ\DC2\EOT\128\ETX\STX\a\n\
    \\r\n\
    \\ENQ\EOT1\STX\ENQ\SOH\DC2\EOT\128\ETX\b\SYN\n\
    \\r\n\
    \\ENQ\EOT1\STX\ENQ\ETX\DC2\EOT\128\ETX\EM\SUB\n\
    \.\n\
    \\EOT\EOT1\STX\ACK\DC2\EOT\129\ETX\STX!\"  List of pool owner key hashes.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT1\STX\ACK\EOT\DC2\EOT\129\ETX\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOT1\STX\ACK\ENQ\DC2\EOT\129\ETX\v\DLE\n\
    \\r\n\
    \\ENQ\EOT1\STX\ACK\SOH\DC2\EOT\129\ETX\DC1\FS\n\
    \\r\n\
    \\ENQ\EOT1\STX\ACK\ETX\DC2\EOT\129\ETX\US \n\
    \\US\n\
    \\EOT\EOT1\STX\a\DC2\EOT\130\ETX\STX\FS\"\DC1 List of relays.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT1\STX\a\EOT\DC2\EOT\130\ETX\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOT1\STX\a\ACK\DC2\EOT\130\ETX\v\DLE\n\
    \\r\n\
    \\ENQ\EOT1\STX\a\SOH\DC2\EOT\130\ETX\DC1\ETB\n\
    \\r\n\
    \\ENQ\EOT1\STX\a\ETX\DC2\EOT\130\ETX\SUB\ESC\n\
    \\RS\n\
    \\EOT\EOT1\STX\b\DC2\EOT\131\ETX\STX!\"\DLE Pool metadata.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT1\STX\b\ACK\DC2\EOT\131\ETX\STX\SO\n\
    \\r\n\
    \\ENQ\EOT1\STX\b\SOH\DC2\EOT\131\ETX\SI\FS\n\
    \\r\n\
    \\ENQ\EOT1\STX\b\ETX\DC2\EOT\131\ETX\US \n\
    \D\n\
    \\STX\EOT2\DC2\ACK\135\ETX\NUL\138\ETX\SOH\SUB6 Represents a pool retirement certificate in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT2\SOH\DC2\EOT\135\ETX\b\SUB\n\
    \\RS\n\
    \\EOT\EOT2\STX\NUL\DC2\EOT\136\ETX\STX\EM\"\DLE Pool key hash.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT2\STX\NUL\ENQ\DC2\EOT\136\ETX\STX\a\n\
    \\r\n\
    \\ENQ\EOT2\STX\NUL\SOH\DC2\EOT\136\ETX\b\DC4\n\
    \\r\n\
    \\ENQ\EOT2\STX\NUL\ETX\DC2\EOT\136\ETX\ETB\CAN\n\
    \!\n\
    \\EOT\EOT2\STX\SOH\DC2\EOT\137\ETX\STX\DC3\"\DC3 Retirement epoch.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT2\STX\SOH\ENQ\DC2\EOT\137\ETX\STX\b\n\
    \\r\n\
    \\ENQ\EOT2\STX\SOH\SOH\DC2\EOT\137\ETX\t\SO\n\
    \\r\n\
    \\ENQ\EOT2\STX\SOH\ETX\DC2\EOT\137\ETX\DC1\DC2\n\
    \K\n\
    \\STX\EOT3\DC2\ACK\141\ETX\NUL\145\ETX\SOH\SUB= Represents a genesis key delegation certificate in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT3\SOH\DC2\EOT\141\ETX\b \n\
    \\GS\n\
    \\EOT\EOT3\STX\NUL\DC2\EOT\142\ETX\STX\EM\"\SI Genesis hash.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT3\STX\NUL\ENQ\DC2\EOT\142\ETX\STX\a\n\
    \\r\n\
    \\ENQ\EOT3\STX\NUL\SOH\DC2\EOT\142\ETX\b\DC4\n\
    \\r\n\
    \\ENQ\EOT3\STX\NUL\ETX\DC2\EOT\142\ETX\ETB\CAN\n\
    \&\n\
    \\EOT\EOT3\STX\SOH\DC2\EOT\143\ETX\STX\"\"\CAN Genesis delegate hash.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT3\STX\SOH\ENQ\DC2\EOT\143\ETX\STX\a\n\
    \\r\n\
    \\ENQ\EOT3\STX\SOH\SOH\DC2\EOT\143\ETX\b\GS\n\
    \\r\n\
    \\ENQ\EOT3\STX\SOH\ETX\DC2\EOT\143\ETX !\n\
    \\GS\n\
    \\EOT\EOT3\STX\STX\DC2\EOT\144\ETX\STX\CAN\"\SI VRF key hash.\n\
    \\n\
    \\r\n\
    \\ENQ\EOT3\STX\STX\ENQ\DC2\EOT\144\ETX\STX\a\n\
    \\r\n\
    \\ENQ\EOT3\STX\STX\SOH\DC2\EOT\144\ETX\b\DC3\n\
    \\r\n\
    \\ENQ\EOT3\STX\STX\ETX\DC2\EOT\144\ETX\SYN\ETB\n\
    \\f\n\
    \\STX\ENQ\SOH\DC2\ACK\147\ETX\NUL\151\ETX\SOH\n\
    \\v\n\
    \\ETX\ENQ\SOH\SOH\DC2\EOT\147\ETX\ENQ\SO\n\
    \\f\n\
    \\EOT\ENQ\SOH\STX\NUL\DC2\EOT\148\ETX\STX\GS\n\
    \\r\n\
    \\ENQ\ENQ\SOH\STX\NUL\SOH\DC2\EOT\148\ETX\STX\CAN\n\
    \\r\n\
    \\ENQ\ENQ\SOH\STX\NUL\STX\DC2\EOT\148\ETX\ESC\FS\n\
    \\f\n\
    \\EOT\ENQ\SOH\STX\SOH\DC2\EOT\149\ETX\STX\SUB\n\
    \\r\n\
    \\ENQ\ENQ\SOH\STX\SOH\SOH\DC2\EOT\149\ETX\STX\NAK\n\
    \\r\n\
    \\ENQ\ENQ\SOH\STX\SOH\STX\DC2\EOT\149\ETX\CAN\EM\n\
    \\f\n\
    \\EOT\ENQ\SOH\STX\STX\DC2\EOT\150\ETX\STX\SUB\n\
    \\r\n\
    \\ENQ\ENQ\SOH\STX\STX\SOH\DC2\EOT\150\ETX\STX\NAK\n\
    \\r\n\
    \\ENQ\ENQ\SOH\STX\STX\STX\DC2\EOT\150\ETX\CAN\EM\n\
    \\f\n\
    \\STX\EOT4\DC2\ACK\153\ETX\NUL\156\ETX\SOH\n\
    \\v\n\
    \\ETX\EOT4\SOH\DC2\EOT\153\ETX\b\DC1\n\
    \\f\n\
    \\EOT\EOT4\STX\NUL\DC2\EOT\154\ETX\STX'\n\
    \\r\n\
    \\ENQ\EOT4\STX\NUL\ACK\DC2\EOT\154\ETX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT4\STX\NUL\SOH\DC2\EOT\154\ETX\DC2\"\n\
    \\r\n\
    \\ENQ\EOT4\STX\NUL\ETX\DC2\EOT\154\ETX%&\n\
    \\f\n\
    \\EOT\EOT4\STX\SOH\DC2\EOT\155\ETX\STX\ETB\n\
    \\r\n\
    \\ENQ\EOT4\STX\SOH\ENQ\DC2\EOT\155\ETX\STX\a\n\
    \\r\n\
    \\ENQ\EOT4\STX\SOH\SOH\DC2\EOT\155\ETX\b\DC2\n\
    \\r\n\
    \\ENQ\EOT4\STX\SOH\ETX\DC2\EOT\155\ETX\NAK\SYN\n\
    \N\n\
    \\STX\EOT5\DC2\ACK\159\ETX\NUL\163\ETX\SOH\SUB@ Represents a move instantaneous reward certificate in Cardano.\n\
    \\n\
    \\v\n\
    \\ETX\EOT5\SOH\DC2\EOT\159\ETX\b\SI\n\
    \\f\n\
    \\EOT\EOT5\STX\NUL\DC2\EOT\160\ETX\STX\NAK\n\
    \\r\n\
    \\ENQ\EOT5\STX\NUL\ACK\DC2\EOT\160\ETX\STX\v\n\
    \\r\n\
    \\ENQ\EOT5\STX\NUL\SOH\DC2\EOT\160\ETX\f\DLE\n\
    \\r\n\
    \\ENQ\EOT5\STX\NUL\ETX\DC2\EOT\160\ETX\DC3\DC4\n\
    \\f\n\
    \\EOT\EOT5\STX\SOH\DC2\EOT\161\ETX\STX\FS\n\
    \\r\n\
    \\ENQ\EOT5\STX\SOH\EOT\DC2\EOT\161\ETX\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOT5\STX\SOH\ACK\DC2\EOT\161\ETX\v\DC4\n\
    \\r\n\
    \\ENQ\EOT5\STX\SOH\SOH\DC2\EOT\161\ETX\NAK\ETB\n\
    \\r\n\
    \\ENQ\EOT5\STX\SOH\ETX\DC2\EOT\161\ETX\SUB\ESC\n\
    \\f\n\
    \\EOT\EOT5\STX\STX\DC2\EOT\162\ETX\STX\ETB\n\
    \\r\n\
    \\ENQ\EOT5\STX\STX\ENQ\DC2\EOT\162\ETX\STX\b\n\
    \\r\n\
    \\ENQ\EOT5\STX\STX\SOH\DC2\EOT\162\ETX\t\DC2\n\
    \\r\n\
    \\ENQ\EOT5\STX\STX\ETX\DC2\EOT\162\ETX\NAK\SYN\n\
    \\f\n\
    \\STX\EOT6\DC2\ACK\165\ETX\NUL\168\ETX\SOH\n\
    \\v\n\
    \\ETX\EOT6\SOH\DC2\EOT\165\ETX\b\SI\n\
    \\f\n\
    \\EOT\EOT6\STX\NUL\DC2\EOT\166\ETX\STX'\n\
    \\r\n\
    \\ENQ\EOT6\STX\NUL\ACK\DC2\EOT\166\ETX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT6\STX\NUL\SOH\DC2\EOT\166\ETX\DC2\"\n\
    \\r\n\
    \\ENQ\EOT6\STX\NUL\ETX\DC2\EOT\166\ETX%&\n\
    \\f\n\
    \\EOT\EOT6\STX\SOH\DC2\EOT\167\ETX\STX\DC2\n\
    \\r\n\
    \\ENQ\EOT6\STX\SOH\ENQ\DC2\EOT\167\ETX\STX\b\n\
    \\r\n\
    \\ENQ\EOT6\STX\SOH\SOH\DC2\EOT\167\ETX\t\r\n\
    \\r\n\
    \\ENQ\EOT6\STX\SOH\ETX\DC2\EOT\167\ETX\DLE\DC1\n\
    \\f\n\
    \\STX\EOT7\DC2\ACK\170\ETX\NUL\173\ETX\SOH\n\
    \\v\n\
    \\ETX\EOT7\SOH\DC2\EOT\170\ETX\b\DC1\n\
    \\f\n\
    \\EOT\EOT7\STX\NUL\DC2\EOT\171\ETX\STX'\n\
    \\r\n\
    \\ENQ\EOT7\STX\NUL\ACK\DC2\EOT\171\ETX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT7\STX\NUL\SOH\DC2\EOT\171\ETX\DC2\"\n\
    \\r\n\
    \\ENQ\EOT7\STX\NUL\ETX\DC2\EOT\171\ETX%&\n\
    \\f\n\
    \\EOT\EOT7\STX\SOH\DC2\EOT\172\ETX\STX\DC2\n\
    \\r\n\
    \\ENQ\EOT7\STX\SOH\ENQ\DC2\EOT\172\ETX\STX\b\n\
    \\r\n\
    \\ENQ\EOT7\STX\SOH\SOH\DC2\EOT\172\ETX\t\r\n\
    \\r\n\
    \\ENQ\EOT7\STX\SOH\ETX\DC2\EOT\172\ETX\DLE\DC1\n\
    \\f\n\
    \\STX\EOT8\DC2\ACK\175\ETX\NUL\182\ETX\SOH\n\
    \\v\n\
    \\ETX\EOT8\SOH\DC2\EOT\175\ETX\b\f\n\
    \\SO\n\
    \\EOT\EOT8\b\NUL\DC2\ACK\176\ETX\STX\181\ETX\ETX\n\
    \\r\n\
    \\ENQ\EOT8\b\NUL\SOH\DC2\EOT\176\ETX\b\f\n\
    \ \n\
    \\EOT\EOT8\STX\NUL\DC2\EOT\177\ETX\EOT\FS\"\DC2 Address key hash\n\
    \\n\
    \\r\n\
    \\ENQ\EOT8\STX\NUL\ENQ\DC2\EOT\177\ETX\EOT\t\n\
    \\r\n\
    \\ENQ\EOT8\STX\NUL\SOH\DC2\EOT\177\ETX\n\
    \\ETB\n\
    \\r\n\
    \\ENQ\EOT8\STX\NUL\ETX\DC2\EOT\177\ETX\SUB\ESC\n\
    \\ESC\n\
    \\EOT\EOT8\STX\SOH\DC2\EOT\178\ETX\EOT\SUB\"\r Script hash\n\
    \\n\
    \\r\n\
    \\ENQ\EOT8\STX\SOH\ENQ\DC2\EOT\178\ETX\EOT\t\n\
    \\r\n\
    \\ENQ\EOT8\STX\SOH\SOH\DC2\EOT\178\ETX\n\
    \\NAK\n\
    \\r\n\
    \\ENQ\EOT8\STX\SOH\ETX\DC2\EOT\178\ETX\CAN\EM\n\
    \\ETB\n\
    \\EOT\EOT8\STX\STX\DC2\EOT\179\ETX\EOT\NAK\"\t Abstain\n\
    \\n\
    \\r\n\
    \\ENQ\EOT8\STX\STX\ENQ\DC2\EOT\179\ETX\EOT\b\n\
    \\r\n\
    \\ENQ\EOT8\STX\STX\SOH\DC2\EOT\179\ETX\t\DLE\n\
    \\r\n\
    \\ENQ\EOT8\STX\STX\ETX\DC2\EOT\179\ETX\DC3\DC4\n\
    \\GS\n\
    \\EOT\EOT8\STX\ETX\DC2\EOT\180\ETX\EOT\ESC\"\SI No confidence\n\
    \\n\
    \\r\n\
    \\ENQ\EOT8\STX\ETX\ENQ\DC2\EOT\180\ETX\EOT\b\n\
    \\r\n\
    \\ENQ\EOT8\STX\ETX\SOH\DC2\EOT\180\ETX\t\SYN\n\
    \\r\n\
    \\ENQ\EOT8\STX\ETX\ETX\DC2\EOT\180\ETX\EM\SUB\n\
    \\f\n\
    \\STX\EOT9\DC2\ACK\184\ETX\NUL\187\ETX\SOH\n\
    \\v\n\
    \\ETX\EOT9\SOH\DC2\EOT\184\ETX\b\NAK\n\
    \\f\n\
    \\EOT\EOT9\STX\NUL\DC2\EOT\185\ETX\STX'\n\
    \\r\n\
    \\ENQ\EOT9\STX\NUL\ACK\DC2\EOT\185\ETX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT9\STX\NUL\SOH\DC2\EOT\185\ETX\DC2\"\n\
    \\r\n\
    \\ENQ\EOT9\STX\NUL\ETX\DC2\EOT\185\ETX%&\n\
    \\f\n\
    \\EOT\EOT9\STX\SOH\DC2\EOT\186\ETX\STX\DLE\n\
    \\r\n\
    \\ENQ\EOT9\STX\SOH\ACK\DC2\EOT\186\ETX\STX\ACK\n\
    \\r\n\
    \\ENQ\EOT9\STX\SOH\SOH\DC2\EOT\186\ETX\a\v\n\
    \\r\n\
    \\ENQ\EOT9\STX\SOH\ETX\DC2\EOT\186\ETX\SO\SI\n\
    \\f\n\
    \\STX\EOT:\DC2\ACK\189\ETX\NUL\193\ETX\SOH\n\
    \\v\n\
    \\ETX\EOT:\SOH\DC2\EOT\189\ETX\b\SUB\n\
    \\f\n\
    \\EOT\EOT:\STX\NUL\DC2\EOT\190\ETX\STX'\n\
    \\r\n\
    \\ENQ\EOT:\STX\NUL\ACK\DC2\EOT\190\ETX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT:\STX\NUL\SOH\DC2\EOT\190\ETX\DC2\"\n\
    \\r\n\
    \\ENQ\EOT:\STX\NUL\ETX\DC2\EOT\190\ETX%&\n\
    \\f\n\
    \\EOT\EOT:\STX\SOH\DC2\EOT\191\ETX\STX\EM\n\
    \\r\n\
    \\ENQ\EOT:\STX\SOH\ENQ\DC2\EOT\191\ETX\STX\a\n\
    \\r\n\
    \\ENQ\EOT:\STX\SOH\SOH\DC2\EOT\191\ETX\b\DC4\n\
    \\r\n\
    \\ENQ\EOT:\STX\SOH\ETX\DC2\EOT\191\ETX\ETB\CAN\n\
    \\f\n\
    \\EOT\EOT:\STX\STX\DC2\EOT\192\ETX\STX\DLE\n\
    \\r\n\
    \\ENQ\EOT:\STX\STX\ACK\DC2\EOT\192\ETX\STX\ACK\n\
    \\r\n\
    \\ENQ\EOT:\STX\STX\SOH\DC2\EOT\192\ETX\a\v\n\
    \\r\n\
    \\ENQ\EOT:\STX\STX\ETX\DC2\EOT\192\ETX\SO\SI\n\
    \\f\n\
    \\STX\EOT;\DC2\ACK\195\ETX\NUL\199\ETX\SOH\n\
    \\v\n\
    \\ETX\EOT;\SOH\DC2\EOT\195\ETX\b\EM\n\
    \\f\n\
    \\EOT\EOT;\STX\NUL\DC2\EOT\196\ETX\STX'\n\
    \\r\n\
    \\ENQ\EOT;\STX\NUL\ACK\DC2\EOT\196\ETX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT;\STX\NUL\SOH\DC2\EOT\196\ETX\DC2\"\n\
    \\r\n\
    \\ENQ\EOT;\STX\NUL\ETX\DC2\EOT\196\ETX%&\n\
    \\f\n\
    \\EOT\EOT;\STX\SOH\DC2\EOT\197\ETX\STX\EM\n\
    \\r\n\
    \\ENQ\EOT;\STX\SOH\ENQ\DC2\EOT\197\ETX\STX\a\n\
    \\r\n\
    \\ENQ\EOT;\STX\SOH\SOH\DC2\EOT\197\ETX\b\DC4\n\
    \\r\n\
    \\ENQ\EOT;\STX\SOH\ETX\DC2\EOT\197\ETX\ETB\CAN\n\
    \\f\n\
    \\EOT\EOT;\STX\STX\DC2\EOT\198\ETX\STX\DC2\n\
    \\r\n\
    \\ENQ\EOT;\STX\STX\ENQ\DC2\EOT\198\ETX\STX\b\n\
    \\r\n\
    \\ENQ\EOT;\STX\STX\SOH\DC2\EOT\198\ETX\t\r\n\
    \\r\n\
    \\ENQ\EOT;\STX\STX\ETX\DC2\EOT\198\ETX\DLE\DC1\n\
    \\f\n\
    \\STX\EOT<\DC2\ACK\201\ETX\NUL\205\ETX\SOH\n\
    \\v\n\
    \\ETX\EOT<\SOH\DC2\EOT\201\ETX\b\CAN\n\
    \\f\n\
    \\EOT\EOT<\STX\NUL\DC2\EOT\202\ETX\STX'\n\
    \\r\n\
    \\ENQ\EOT<\STX\NUL\ACK\DC2\EOT\202\ETX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT<\STX\NUL\SOH\DC2\EOT\202\ETX\DC2\"\n\
    \\r\n\
    \\ENQ\EOT<\STX\NUL\ETX\DC2\EOT\202\ETX%&\n\
    \\f\n\
    \\EOT\EOT<\STX\SOH\DC2\EOT\203\ETX\STX\DLE\n\
    \\r\n\
    \\ENQ\EOT<\STX\SOH\ACK\DC2\EOT\203\ETX\STX\ACK\n\
    \\r\n\
    \\ENQ\EOT<\STX\SOH\SOH\DC2\EOT\203\ETX\a\v\n\
    \\r\n\
    \\ENQ\EOT<\STX\SOH\ETX\DC2\EOT\203\ETX\SO\SI\n\
    \\f\n\
    \\EOT\EOT<\STX\STX\DC2\EOT\204\ETX\STX\DC2\n\
    \\r\n\
    \\ENQ\EOT<\STX\STX\ENQ\DC2\EOT\204\ETX\STX\b\n\
    \\r\n\
    \\ENQ\EOT<\STX\STX\SOH\DC2\EOT\204\ETX\t\r\n\
    \\r\n\
    \\ENQ\EOT<\STX\STX\ETX\DC2\EOT\204\ETX\DLE\DC1\n\
    \\f\n\
    \\STX\EOT=\DC2\ACK\207\ETX\NUL\212\ETX\SOH\n\
    \\v\n\
    \\ETX\EOT=\SOH\DC2\EOT\207\ETX\b\GS\n\
    \\f\n\
    \\EOT\EOT=\STX\NUL\DC2\EOT\208\ETX\STX'\n\
    \\r\n\
    \\ENQ\EOT=\STX\NUL\ACK\DC2\EOT\208\ETX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT=\STX\NUL\SOH\DC2\EOT\208\ETX\DC2\"\n\
    \\r\n\
    \\ENQ\EOT=\STX\NUL\ETX\DC2\EOT\208\ETX%&\n\
    \\f\n\
    \\EOT\EOT=\STX\SOH\DC2\EOT\209\ETX\STX\EM\n\
    \\r\n\
    \\ENQ\EOT=\STX\SOH\ENQ\DC2\EOT\209\ETX\STX\a\n\
    \\r\n\
    \\ENQ\EOT=\STX\SOH\SOH\DC2\EOT\209\ETX\b\DC4\n\
    \\r\n\
    \\ENQ\EOT=\STX\SOH\ETX\DC2\EOT\209\ETX\ETB\CAN\n\
    \\f\n\
    \\EOT\EOT=\STX\STX\DC2\EOT\210\ETX\STX\DLE\n\
    \\r\n\
    \\ENQ\EOT=\STX\STX\ACK\DC2\EOT\210\ETX\STX\ACK\n\
    \\r\n\
    \\ENQ\EOT=\STX\STX\SOH\DC2\EOT\210\ETX\a\v\n\
    \\r\n\
    \\ENQ\EOT=\STX\STX\ETX\DC2\EOT\210\ETX\SO\SI\n\
    \\f\n\
    \\EOT\EOT=\STX\ETX\DC2\EOT\211\ETX\STX\DC2\n\
    \\r\n\
    \\ENQ\EOT=\STX\ETX\ENQ\DC2\EOT\211\ETX\STX\b\n\
    \\r\n\
    \\ENQ\EOT=\STX\ETX\SOH\DC2\EOT\211\ETX\t\r\n\
    \\r\n\
    \\ENQ\EOT=\STX\ETX\ETX\DC2\EOT\211\ETX\DLE\DC1\n\
    \\f\n\
    \\STX\EOT>\DC2\ACK\214\ETX\NUL\217\ETX\SOH\n\
    \\v\n\
    \\ETX\EOT>\SOH\DC2\EOT\214\ETX\b\FS\n\
    \\f\n\
    \\EOT\EOT>\STX\NUL\DC2\EOT\215\ETX\STX0\n\
    \\r\n\
    \\ENQ\EOT>\STX\NUL\ACK\DC2\EOT\215\ETX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT>\STX\NUL\SOH\DC2\EOT\215\ETX\DC2+\n\
    \\r\n\
    \\ENQ\EOT>\STX\NUL\ETX\DC2\EOT\215\ETX./\n\
    \\f\n\
    \\EOT\EOT>\STX\SOH\DC2\EOT\216\ETX\STX/\n\
    \\r\n\
    \\ENQ\EOT>\STX\SOH\ACK\DC2\EOT\216\ETX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT>\STX\SOH\SOH\DC2\EOT\216\ETX\DC2*\n\
    \\r\n\
    \\ENQ\EOT>\STX\SOH\ETX\DC2\EOT\216\ETX-.\n\
    \\f\n\
    \\STX\EOT?\DC2\ACK\219\ETX\NUL\222\ETX\SOH\n\
    \\v\n\
    \\ETX\EOT?\SOH\DC2\EOT\219\ETX\b\SO\n\
    \\f\n\
    \\EOT\EOT?\STX\NUL\DC2\EOT\220\ETX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT?\STX\NUL\ENQ\DC2\EOT\220\ETX\STX\b\n\
    \\r\n\
    \\ENQ\EOT?\STX\NUL\SOH\DC2\EOT\220\ETX\t\f\n\
    \\r\n\
    \\ENQ\EOT?\STX\NUL\ETX\DC2\EOT\220\ETX\SI\DLE\n\
    \\f\n\
    \\EOT\EOT?\STX\SOH\DC2\EOT\221\ETX\STX\EM\n\
    \\r\n\
    \\ENQ\EOT?\STX\SOH\ENQ\DC2\EOT\221\ETX\STX\a\n\
    \\r\n\
    \\ENQ\EOT?\STX\SOH\SOH\DC2\EOT\221\ETX\b\DC4\n\
    \\r\n\
    \\ENQ\EOT?\STX\SOH\ETX\DC2\EOT\221\ETX\ETB\CAN\n\
    \\f\n\
    \\STX\EOT@\DC2\ACK\224\ETX\NUL\227\ETX\SOH\n\
    \\v\n\
    \\ETX\EOT@\SOH\DC2\EOT\224\ETX\b\US\n\
    \\f\n\
    \\EOT\EOT@\STX\NUL\DC2\EOT\225\ETX\STX0\n\
    \\r\n\
    \\ENQ\EOT@\STX\NUL\ACK\DC2\EOT\225\ETX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOT@\STX\NUL\SOH\DC2\EOT\225\ETX\DC2+\n\
    \\r\n\
    \\ENQ\EOT@\STX\NUL\ETX\DC2\EOT\225\ETX./\n\
    \\f\n\
    \\EOT\EOT@\STX\SOH\DC2\EOT\226\ETX\STX\DC4\n\
    \\r\n\
    \\ENQ\EOT@\STX\SOH\ACK\DC2\EOT\226\ETX\STX\b\n\
    \\r\n\
    \\ENQ\EOT@\STX\SOH\SOH\DC2\EOT\226\ETX\t\SI\n\
    \\r\n\
    \\ENQ\EOT@\STX\SOH\ETX\DC2\EOT\226\ETX\DC2\DC3\n\
    \\f\n\
    \\STX\EOTA\DC2\ACK\229\ETX\NUL\233\ETX\SOH\n\
    \\v\n\
    \\ETX\EOTA\SOH\DC2\EOT\229\ETX\b\DC3\n\
    \\f\n\
    \\EOT\EOTA\STX\NUL\DC2\EOT\230\ETX\STX&\n\
    \\r\n\
    \\ENQ\EOTA\STX\NUL\ACK\DC2\EOT\230\ETX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOTA\STX\NUL\SOH\DC2\EOT\230\ETX\DC2!\n\
    \\r\n\
    \\ENQ\EOTA\STX\NUL\ETX\DC2\EOT\230\ETX$%\n\
    \\f\n\
    \\EOT\EOTA\STX\SOH\DC2\EOT\231\ETX\STX\DC2\n\
    \\r\n\
    \\ENQ\EOTA\STX\SOH\ENQ\DC2\EOT\231\ETX\STX\b\n\
    \\r\n\
    \\ENQ\EOTA\STX\SOH\SOH\DC2\EOT\231\ETX\t\r\n\
    \\r\n\
    \\ENQ\EOTA\STX\SOH\ETX\DC2\EOT\231\ETX\DLE\DC1\n\
    \\f\n\
    \\EOT\EOTA\STX\STX\DC2\EOT\232\ETX\STX\DC4\n\
    \\r\n\
    \\ENQ\EOTA\STX\STX\ACK\DC2\EOT\232\ETX\STX\b\n\
    \\r\n\
    \\ENQ\EOTA\STX\STX\SOH\DC2\EOT\232\ETX\t\SI\n\
    \\r\n\
    \\ENQ\EOTA\STX\STX\ETX\DC2\EOT\232\ETX\DC2\DC3\n\
    \\f\n\
    \\STX\EOTB\DC2\ACK\235\ETX\NUL\238\ETX\SOH\n\
    \\v\n\
    \\ETX\EOTB\SOH\DC2\EOT\235\ETX\b\NAK\n\
    \\f\n\
    \\EOT\EOTB\STX\NUL\DC2\EOT\236\ETX\STX&\n\
    \\r\n\
    \\ENQ\EOTB\STX\NUL\ACK\DC2\EOT\236\ETX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOTB\STX\NUL\SOH\DC2\EOT\236\ETX\DC2!\n\
    \\r\n\
    \\ENQ\EOTB\STX\NUL\ETX\DC2\EOT\236\ETX$%\n\
    \\f\n\
    \\EOT\EOTB\STX\SOH\DC2\EOT\237\ETX\STX\DC2\n\
    \\r\n\
    \\ENQ\EOTB\STX\SOH\ENQ\DC2\EOT\237\ETX\STX\b\n\
    \\r\n\
    \\ENQ\EOTB\STX\SOH\SOH\DC2\EOT\237\ETX\t\r\n\
    \\r\n\
    \\ENQ\EOTB\STX\SOH\ETX\DC2\EOT\237\ETX\DLE\DC1\n\
    \\f\n\
    \\STX\EOTC\DC2\ACK\240\ETX\NUL\243\ETX\SOH\n\
    \\v\n\
    \\ETX\EOTC\SOH\DC2\EOT\240\ETX\b\SYN\n\
    \\f\n\
    \\EOT\EOTC\STX\NUL\DC2\EOT\241\ETX\STX&\n\
    \\r\n\
    \\ENQ\EOTC\STX\NUL\ACK\DC2\EOT\241\ETX\STX\DC1\n\
    \\r\n\
    \\ENQ\EOTC\STX\NUL\SOH\DC2\EOT\241\ETX\DC2!\n\
    \\r\n\
    \\ENQ\EOTC\STX\NUL\ETX\DC2\EOT\241\ETX$%\n\
    \\f\n\
    \\EOT\EOTC\STX\SOH\DC2\EOT\242\ETX\STX\DC4\n\
    \\r\n\
    \\ENQ\EOTC\STX\SOH\ACK\DC2\EOT\242\ETX\STX\b\n\
    \\r\n\
    \\ENQ\EOTC\STX\SOH\SOH\DC2\EOT\242\ETX\t\SI\n\
    \\r\n\
    \\ENQ\EOTC\STX\SOH\ETX\DC2\EOT\242\ETX\DC2\DC3\n\
    \}\n\
    \\STX\EOTD\DC2\ACK\249\ETX\NUL\253\ETX\SOH\SUBI Pattern of an address that can be used to evaluate matching predicates.\n\
    \2$ PATTERN MATCHING\n\
    \ ================\n\
    \\n\
    \\v\n\
    \\ETX\EOTD\SOH\DC2\EOT\249\ETX\b\SYN\n\
    \B\n\
    \\EOT\EOTD\STX\NUL\DC2\EOT\250\ETX\STX\SUB\"4 The address should match this exact address value.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTD\STX\NUL\ENQ\DC2\EOT\250\ETX\STX\a\n\
    \\r\n\
    \\ENQ\EOTD\STX\NUL\SOH\DC2\EOT\250\ETX\b\NAK\n\
    \\r\n\
    \\ENQ\EOTD\STX\NUL\ETX\DC2\EOT\250\ETX\CAN\EM\n\
    \H\n\
    \\EOT\EOTD\STX\SOH\DC2\EOT\251\ETX\STX\EM\": The payment part of the address should match this value.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTD\STX\SOH\ENQ\DC2\EOT\251\ETX\STX\a\n\
    \\r\n\
    \\ENQ\EOTD\STX\SOH\SOH\DC2\EOT\251\ETX\b\DC4\n\
    \\r\n\
    \\ENQ\EOTD\STX\SOH\ETX\DC2\EOT\251\ETX\ETB\CAN\n\
    \K\n\
    \\EOT\EOTD\STX\STX\DC2\EOT\252\ETX\STX\FS\"= The delegation part of the address should match this value.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTD\STX\STX\ENQ\DC2\EOT\252\ETX\STX\a\n\
    \\r\n\
    \\ENQ\EOTD\STX\STX\SOH\DC2\EOT\252\ETX\b\ETB\n\
    \\r\n\
    \\ENQ\EOTD\STX\STX\ETX\DC2\EOT\252\ETX\SUB\ESC\n\
    \[\n\
    \\STX\EOTE\DC2\ACK\128\EOT\NUL\131\EOT\SOH\SUBM Pattern of a native asset that can be used to evaluate matching predicates.\n\
    \\n\
    \\v\n\
    \\ETX\EOTE\SOH\DC2\EOT\128\EOT\b\DC4\n\
    \9\n\
    \\EOT\EOTE\STX\NUL\DC2\EOT\129\EOT\STX\SYN\"+ The asset should belong to this policy id\n\
    \\n\
    \\r\n\
    \\ENQ\EOTE\STX\NUL\ENQ\DC2\EOT\129\EOT\STX\a\n\
    \\r\n\
    \\ENQ\EOTE\STX\NUL\SOH\DC2\EOT\129\EOT\b\DC1\n\
    \\r\n\
    \\ENQ\EOTE\STX\NUL\ETX\DC2\EOT\129\EOT\DC4\NAK\n\
    \2\n\
    \\EOT\EOTE\STX\SOH\DC2\EOT\130\EOT\STX\ETB\"$ The asset should present this name\n\
    \\n\
    \\r\n\
    \\ENQ\EOTE\STX\SOH\ENQ\DC2\EOT\130\EOT\STX\a\n\
    \\r\n\
    \\ENQ\EOTE\STX\SOH\SOH\DC2\EOT\130\EOT\b\DC2\n\
    \\r\n\
    \\ENQ\EOTE\STX\SOH\ETX\DC2\EOT\130\EOT\NAK\SYN\n\
    \X\n\
    \\STX\EOTF\DC2\ACK\134\EOT\NUL\137\EOT\SOH\SUBJ Pattern of a tx output that can be used to evaluate matching predicates.\n\
    \\n\
    \\v\n\
    \\ETX\EOTF\SOH\DC2\EOT\134\EOT\b\ETB\n\
    \K\n\
    \\EOT\EOTF\STX\NUL\DC2\EOT\135\EOT\STX\GS\"= Match any address in the output that exhibits this pattern.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTF\STX\NUL\ACK\DC2\EOT\135\EOT\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTF\STX\NUL\SOH\DC2\EOT\135\EOT\DC1\CAN\n\
    \\r\n\
    \\ENQ\EOTF\STX\NUL\ETX\DC2\EOT\135\EOT\ESC\FS\n\
    \I\n\
    \\EOT\EOTF\STX\SOH\DC2\EOT\136\EOT\STX\EM\"; Match any asset in the output that exhibits this pattern.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTF\STX\SOH\ACK\DC2\EOT\136\EOT\STX\SO\n\
    \\r\n\
    \\ENQ\EOTF\STX\SOH\SOH\DC2\EOT\136\EOT\SI\DC4\n\
    \\r\n\
    \\ENQ\EOTF\STX\SOH\ETX\DC2\EOT\136\EOT\ETB\CAN\n\
    \Q\n\
    \\STX\EOTG\DC2\ACK\140\EOT\NUL\146\EOT\SOH\SUBC Pattern of a Tx that can be used to evaluate matching predicates.\n\
    \\n\
    \\v\n\
    \\ETX\EOTG\SOH\DC2\EOT\140\EOT\b\DC1\n\
    \;\n\
    \\EOT\EOTG\STX\NUL\DC2\EOT\141\EOT\STX\US\"- Match any input that exhibits this pattern.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTG\STX\NUL\ACK\DC2\EOT\141\EOT\STX\DC1\n\
    \\r\n\
    \\ENQ\EOTG\STX\NUL\SOH\DC2\EOT\141\EOT\DC2\SUB\n\
    \\r\n\
    \\ENQ\EOTG\STX\NUL\ETX\DC2\EOT\141\EOT\GS\RS\n\
    \<\n\
    \\EOT\EOTG\STX\SOH\DC2\EOT\142\EOT\STX\US\". Match any output that exhibits this pattern.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTG\STX\SOH\ACK\DC2\EOT\142\EOT\STX\DC1\n\
    \\r\n\
    \\ENQ\EOTG\STX\SOH\SOH\DC2\EOT\142\EOT\DC2\SUB\n\
    \\r\n\
    \\ENQ\EOTG\STX\SOH\ETX\DC2\EOT\142\EOT\GS\RS\n\
    \`\n\
    \\EOT\EOTG\STX\STX\DC2\EOT\143\EOT\STX!\"R Match any address (inputs, outputs, collateral, etc) that exhibits this pattern.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTG\STX\STX\ACK\DC2\EOT\143\EOT\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTG\STX\STX\SOH\DC2\EOT\143\EOT\DC1\FS\n\
    \\r\n\
    \\ENQ\EOTG\STX\STX\ETX\DC2\EOT\143\EOT\US \n\
    \;\n\
    \\EOT\EOTG\STX\ETX\DC2\EOT\144\EOT\STX\US\"- Match any asset that exhibits this pattern.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTG\STX\ETX\ACK\DC2\EOT\144\EOT\STX\SO\n\
    \\r\n\
    \\ENQ\EOTG\STX\ETX\SOH\DC2\EOT\144\EOT\SI\SUB\n\
    \\r\n\
    \\ENQ\EOTG\STX\ETX\ETX\DC2\EOT\144\EOT\GS\RS\n\
    \L\n\
    \\EOT\EOTG\STX\EOT\DC2\EOT\145\EOT\STX\US\"> Match any tx that either mint or burn the the asset pattern.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTG\STX\EOT\ACK\DC2\EOT\145\EOT\STX\SO\n\
    \\r\n\
    \\ENQ\EOTG\STX\EOT\SOH\DC2\EOT\145\EOT\SI\SUB\n\
    \\r\n\
    \\ENQ\EOTG\STX\EOT\ETX\DC2\EOT\145\EOT\GS\RS\n\
    \\RS\n\
    \\STX\EOTH\DC2\ACK\151\EOT\NUL\154\EOT\SOH2\DLE PARAMS\n\
    \ ======\n\
    \\n\
    \\v\n\
    \\ETX\EOTH\SOH\DC2\EOT\151\EOT\b\SI\n\
    \\f\n\
    \\EOT\EOTH\STX\NUL\DC2\EOT\152\EOT\STX\DC3\n\
    \\r\n\
    \\ENQ\EOTH\STX\NUL\ENQ\DC2\EOT\152\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTH\STX\NUL\SOH\DC2\EOT\152\EOT\t\SO\n\
    \\r\n\
    \\ENQ\EOTH\STX\NUL\ETX\DC2\EOT\152\EOT\DC1\DC2\n\
    \\f\n\
    \\EOT\EOTH\STX\SOH\DC2\EOT\153\EOT\STX\DC4\n\
    \\r\n\
    \\ENQ\EOTH\STX\SOH\ENQ\DC2\EOT\153\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTH\STX\SOH\SOH\DC2\EOT\153\EOT\t\SI\n\
    \\r\n\
    \\ENQ\EOTH\STX\SOH\ETX\DC2\EOT\153\EOT\DC2\DC3\n\
    \\f\n\
    \\STX\EOTI\DC2\ACK\156\EOT\NUL\159\EOT\SOH\n\
    \\v\n\
    \\ETX\EOTI\SOH\DC2\EOT\156\EOT\b\DLE\n\
    \\f\n\
    \\EOT\EOTI\STX\NUL\DC2\EOT\157\EOT\STX\ESC\n\
    \\r\n\
    \\ENQ\EOTI\STX\NUL\ACK\DC2\EOT\157\EOT\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTI\STX\NUL\SOH\DC2\EOT\157\EOT\DC1\SYN\n\
    \\r\n\
    \\ENQ\EOTI\STX\NUL\ETX\DC2\EOT\157\EOT\EM\SUB\n\
    \\f\n\
    \\EOT\EOTI\STX\SOH\DC2\EOT\158\EOT\STX\FS\n\
    \\r\n\
    \\ENQ\EOTI\STX\SOH\ACK\DC2\EOT\158\EOT\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTI\STX\SOH\SOH\DC2\EOT\158\EOT\DC1\ETB\n\
    \\r\n\
    \\ENQ\EOTI\STX\SOH\ETX\DC2\EOT\158\EOT\SUB\ESC\n\
    \\f\n\
    \\STX\EOTJ\DC2\ACK\161\EOT\NUL\164\EOT\SOH\n\
    \\v\n\
    \\ETX\EOTJ\SOH\DC2\EOT\161\EOT\b\ETB\n\
    \\f\n\
    \\EOT\EOTJ\STX\NUL\DC2\EOT\162\EOT\STX\DC3\n\
    \\r\n\
    \\ENQ\EOTJ\STX\NUL\ENQ\DC2\EOT\162\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTJ\STX\NUL\SOH\DC2\EOT\162\EOT\t\SO\n\
    \\r\n\
    \\ENQ\EOTJ\STX\NUL\ETX\DC2\EOT\162\EOT\DC1\DC2\n\
    \\f\n\
    \\EOT\EOTJ\STX\SOH\DC2\EOT\163\EOT\STX\DC3\n\
    \\r\n\
    \\ENQ\EOTJ\STX\SOH\ENQ\DC2\EOT\163\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTJ\STX\SOH\SOH\DC2\EOT\163\EOT\t\SO\n\
    \\r\n\
    \\ENQ\EOTJ\STX\SOH\ETX\DC2\EOT\163\EOT\DC1\DC2\n\
    \\f\n\
    \\STX\EOTK\DC2\ACK\166\EOT\NUL\168\EOT\SOH\n\
    \\v\n\
    \\ETX\EOTK\SOH\DC2\EOT\166\EOT\b\DC1\n\
    \\f\n\
    \\EOT\EOTK\STX\NUL\DC2\EOT\167\EOT\STX\FS\n\
    \\r\n\
    \\ENQ\EOTK\STX\NUL\EOT\DC2\EOT\167\EOT\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOTK\STX\NUL\ENQ\DC2\EOT\167\EOT\v\DLE\n\
    \\r\n\
    \\ENQ\EOTK\STX\NUL\SOH\DC2\EOT\167\EOT\DC1\ETB\n\
    \\r\n\
    \\ENQ\EOTK\STX\NUL\ETX\DC2\EOT\167\EOT\SUB\ESC\n\
    \\f\n\
    \\STX\EOTL\DC2\ACK\170\EOT\NUL\174\EOT\SOH\n\
    \\v\n\
    \\ETX\EOTL\SOH\DC2\EOT\170\EOT\b\DC2\n\
    \\f\n\
    \\EOT\EOTL\STX\NUL\DC2\EOT\171\EOT\STX\SUB\n\
    \\r\n\
    \\ENQ\EOTL\STX\NUL\ACK\DC2\EOT\171\EOT\STX\v\n\
    \\r\n\
    \\ENQ\EOTL\STX\NUL\SOH\DC2\EOT\171\EOT\f\NAK\n\
    \\r\n\
    \\ENQ\EOTL\STX\NUL\ETX\DC2\EOT\171\EOT\CAN\EM\n\
    \\f\n\
    \\EOT\EOTL\STX\SOH\DC2\EOT\172\EOT\STX\SUB\n\
    \\r\n\
    \\ENQ\EOTL\STX\SOH\ACK\DC2\EOT\172\EOT\STX\v\n\
    \\r\n\
    \\ENQ\EOTL\STX\SOH\SOH\DC2\EOT\172\EOT\f\NAK\n\
    \\r\n\
    \\ENQ\EOTL\STX\SOH\ETX\DC2\EOT\172\EOT\CAN\EM\n\
    \\f\n\
    \\EOT\EOTL\STX\STX\DC2\EOT\173\EOT\STX\SUB\n\
    \\r\n\
    \\ENQ\EOTL\STX\STX\ACK\DC2\EOT\173\EOT\STX\v\n\
    \\r\n\
    \\ENQ\EOTL\STX\STX\SOH\DC2\EOT\173\EOT\f\NAK\n\
    \\r\n\
    \\ENQ\EOTL\STX\STX\ETX\DC2\EOT\173\EOT\CAN\EM\n\
    \\f\n\
    \\STX\EOTM\DC2\ACK\176\EOT\NUL\178\EOT\SOH\n\
    \\v\n\
    \\ETX\EOTM\SOH\DC2\EOT\176\EOT\b\CAN\n\
    \\f\n\
    \\EOT\EOTM\STX\NUL\DC2\EOT\177\EOT\STX)\n\
    \\r\n\
    \\ENQ\EOTM\STX\NUL\EOT\DC2\EOT\177\EOT\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOTM\STX\NUL\ACK\DC2\EOT\177\EOT\v\EM\n\
    \\r\n\
    \\ENQ\EOTM\STX\NUL\SOH\DC2\EOT\177\EOT\SUB$\n\
    \\r\n\
    \\ENQ\EOTM\STX\NUL\ETX\DC2\EOT\177\EOT'(\n\
    \\f\n\
    \\STX\EOTN\DC2\ACK\180\EOT\NUL\212\EOT\SOH\n\
    \\v\n\
    \\ETX\EOTN\SOH\DC2\EOT\180\EOT\b\SI\n\
    \2\n\
    \\EOT\EOTN\STX\NUL\DC2\EOT\181\EOT\STX!\"$ The number of coins per UTXO byte.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTN\STX\NUL\ENQ\DC2\EOT\181\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTN\STX\NUL\SOH\DC2\EOT\181\EOT\t\FS\n\
    \\r\n\
    \\ENQ\EOTN\STX\NUL\ETX\DC2\EOT\181\EOT\US \n\
    \-\n\
    \\EOT\EOTN\STX\SOH\DC2\EOT\182\EOT\STX\EM\"\US The maximum transaction size.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTN\STX\SOH\ENQ\DC2\EOT\182\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTN\STX\SOH\SOH\DC2\EOT\182\EOT\t\DC4\n\
    \\r\n\
    \\ENQ\EOTN\STX\SOH\ETX\DC2\EOT\182\EOT\ETB\CAN\n\
    \,\n\
    \\EOT\EOTN\STX\STX\DC2\EOT\183\EOT\STX!\"\RS The minimum fee coefficient.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTN\STX\STX\ENQ\DC2\EOT\183\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTN\STX\STX\SOH\DC2\EOT\183\EOT\t\FS\n\
    \\r\n\
    \\ENQ\EOTN\STX\STX\ETX\DC2\EOT\183\EOT\US \n\
    \)\n\
    \\EOT\EOTN\STX\ETX\DC2\EOT\184\EOT\STX\RS\"\ESC The minimum fee constant.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTN\STX\ETX\ENQ\DC2\EOT\184\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTN\STX\ETX\SOH\DC2\EOT\184\EOT\t\EM\n\
    \\r\n\
    \\ENQ\EOTN\STX\ETX\ETX\DC2\EOT\184\EOT\FS\GS\n\
    \,\n\
    \\EOT\EOTN\STX\EOT\DC2\EOT\185\EOT\STX!\"\RS The maximum block body size.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTN\STX\EOT\ENQ\DC2\EOT\185\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTN\STX\EOT\SOH\DC2\EOT\185\EOT\t\FS\n\
    \\r\n\
    \\ENQ\EOTN\STX\EOT\ETX\DC2\EOT\185\EOT\US \n\
    \.\n\
    \\EOT\EOTN\STX\ENQ\DC2\EOT\186\EOT\STX#\"  The maximum block header size.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTN\STX\ENQ\ENQ\DC2\EOT\186\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTN\STX\ENQ\SOH\DC2\EOT\186\EOT\t\RS\n\
    \\r\n\
    \\ENQ\EOTN\STX\ENQ\ETX\DC2\EOT\186\EOT!\"\n\
    \&\n\
    \\EOT\EOTN\STX\ACK\DC2\EOT\187\EOT\STX\US\"\CAN The stake key deposit.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTN\STX\ACK\ENQ\DC2\EOT\187\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTN\STX\ACK\SOH\DC2\EOT\187\EOT\t\SUB\n\
    \\r\n\
    \\ENQ\EOTN\STX\ACK\ETX\DC2\EOT\187\EOT\GS\RS\n\
    \!\n\
    \\EOT\EOTN\STX\a\DC2\EOT\188\EOT\STX\SUB\"\DC3 The pool deposit.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTN\STX\a\ENQ\DC2\EOT\188\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTN\STX\a\SOH\DC2\EOT\188\EOT\t\NAK\n\
    \\r\n\
    \\ENQ\EOTN\STX\a\ETX\DC2\EOT\188\EOT\CAN\EM\n\
    \0\n\
    \\EOT\EOTN\STX\b\DC2\EOT\189\EOT\STX)\"\" The pool retirement epoch bound.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTN\STX\b\ENQ\DC2\EOT\189\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTN\STX\b\SOH\DC2\EOT\189\EOT\t$\n\
    \\r\n\
    \\ENQ\EOTN\STX\b\ETX\DC2\EOT\189\EOT'(\n\
    \,\n\
    \\EOT\EOTN\STX\t\DC2\EOT\190\EOT\STX&\"\RS The desired number of pools.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTN\STX\t\ENQ\DC2\EOT\190\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTN\STX\t\SOH\DC2\EOT\190\EOT\t \n\
    \\r\n\
    \\ENQ\EOTN\STX\t\ETX\DC2\EOT\190\EOT#%\n\
    \#\n\
    \\EOT\EOTN\STX\n\
    \\DC2\EOT\191\EOT\STX%\"\NAK The pool influence.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTN\STX\n\
    \\ACK\DC2\EOT\191\EOT\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTN\STX\n\
    \\SOH\DC2\EOT\191\EOT\DC1\US\n\
    \\r\n\
    \\ENQ\EOTN\STX\n\
    \\ETX\DC2\EOT\191\EOT\"$\n\
    \'\n\
    \\EOT\EOTN\STX\v\DC2\EOT\192\EOT\STX)\"\EM The monetary expansion.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTN\STX\v\ACK\DC2\EOT\192\EOT\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTN\STX\v\SOH\DC2\EOT\192\EOT\DC1#\n\
    \\r\n\
    \\ENQ\EOTN\STX\v\ETX\DC2\EOT\192\EOT&(\n\
    \'\n\
    \\EOT\EOTN\STX\f\DC2\EOT\193\EOT\STX)\"\EM The treasury expansion.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTN\STX\f\ACK\DC2\EOT\193\EOT\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTN\STX\f\SOH\DC2\EOT\193\EOT\DC1#\n\
    \\r\n\
    \\ENQ\EOTN\STX\f\ETX\DC2\EOT\193\EOT&(\n\
    \&\n\
    \\EOT\EOTN\STX\r\DC2\EOT\194\EOT\STX\FS\"\CAN The minimum pool cost.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTN\STX\r\ENQ\DC2\EOT\194\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTN\STX\r\SOH\DC2\EOT\194\EOT\t\SYN\n\
    \\r\n\
    \\ENQ\EOTN\STX\r\ETX\DC2\EOT\194\EOT\EM\ESC\n\
    \%\n\
    \\EOT\EOTN\STX\SO\DC2\EOT\195\EOT\STX(\"\ETB The protocol version.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTN\STX\SO\ACK\DC2\EOT\195\EOT\STX\DC1\n\
    \\r\n\
    \\ENQ\EOTN\STX\SO\SOH\DC2\EOT\195\EOT\DC2\"\n\
    \\r\n\
    \\ENQ\EOTN\STX\SO\ETX\DC2\EOT\195\EOT%'\n\
    \'\n\
    \\EOT\EOTN\STX\SI\DC2\EOT\196\EOT\STX\GS\"\EM The maximum value size.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTN\STX\SI\ENQ\DC2\EOT\196\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTN\STX\SI\SOH\DC2\EOT\196\EOT\t\ETB\n\
    \\r\n\
    \\ENQ\EOTN\STX\SI\ETX\DC2\EOT\196\EOT\SUB\FS\n\
    \*\n\
    \\EOT\EOTN\STX\DLE\DC2\EOT\197\EOT\STX$\"\FS The collateral percentage.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTN\STX\DLE\ENQ\DC2\EOT\197\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTN\STX\DLE\SOH\DC2\EOT\197\EOT\t\RS\n\
    \\r\n\
    \\ENQ\EOTN\STX\DLE\ETX\DC2\EOT\197\EOT!#\n\
    \.\n\
    \\EOT\EOTN\STX\DC1\DC2\EOT\198\EOT\STX$\"  The maximum collateral inputs.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTN\STX\DC1\ENQ\DC2\EOT\198\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTN\STX\DC1\SOH\DC2\EOT\198\EOT\t\RS\n\
    \\r\n\
    \\ENQ\EOTN\STX\DC1\ETX\DC2\EOT\198\EOT!#\n\
    \ \n\
    \\EOT\EOTN\STX\DC2\DC2\EOT\199\EOT\STX\RS\"\DC2 The cost models.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTN\STX\DC2\ACK\DC2\EOT\199\EOT\STX\f\n\
    \\r\n\
    \\ENQ\EOTN\STX\DC2\SOH\DC2\EOT\199\EOT\r\CAN\n\
    \\r\n\
    \\ENQ\EOTN\STX\DC2\ETX\DC2\EOT\199\EOT\ESC\GS\n\
    \\ESC\n\
    \\EOT\EOTN\STX\DC3\DC2\EOT\200\EOT\STX\ETB\"\r The prices.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTN\STX\DC3\ACK\DC2\EOT\200\EOT\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOTN\STX\DC3\SOH\DC2\EOT\200\EOT\v\DC1\n\
    \\r\n\
    \\ENQ\EOTN\STX\DC3\ETX\DC2\EOT\200\EOT\DC4\SYN\n\
    \<\n\
    \\EOT\EOTN\STX\DC4\DC2\EOT\201\EOT\STX3\". The maximum execution units per transaction.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTN\STX\DC4\ACK\DC2\EOT\201\EOT\STX\t\n\
    \\r\n\
    \\ENQ\EOTN\STX\DC4\SOH\DC2\EOT\201\EOT\n\
    \-\n\
    \\r\n\
    \\ENQ\EOTN\STX\DC4\ETX\DC2\EOT\201\EOT02\n\
    \6\n\
    \\EOT\EOTN\STX\NAK\DC2\EOT\202\EOT\STX-\"( The maximum execution units per block.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTN\STX\NAK\ACK\DC2\EOT\202\EOT\STX\t\n\
    \\r\n\
    \\ENQ\EOTN\STX\NAK\SOH\DC2\EOT\202\EOT\n\
    \'\n\
    \\r\n\
    \\ENQ\EOTN\STX\NAK\ETX\DC2\EOT\202\EOT*,\n\
    \:\n\
    \\EOT\EOTN\STX\SYN\DC2\EOT\203\EOT\STX7\", The minimum fee per script reference byte.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTN\STX\SYN\ACK\DC2\EOT\203\EOT\STX\DLE\n\
    \\r\n\
    \\ENQ\EOTN\STX\SYN\SOH\DC2\EOT\203\EOT\DC11\n\
    \\r\n\
    \\ENQ\EOTN\STX\SYN\ETX\DC2\EOT\203\EOT46\n\
    \+\n\
    \\EOT\EOTN\STX\ETB\DC2\EOT\204\EOT\STX/\"\GS The pool voting thresholds.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTN\STX\ETB\ACK\DC2\EOT\204\EOT\STX\DC2\n\
    \\r\n\
    \\ENQ\EOTN\STX\ETB\SOH\DC2\EOT\204\EOT\DC3)\n\
    \\r\n\
    \\ENQ\EOTN\STX\ETB\ETX\DC2\EOT\204\EOT,.\n\
    \+\n\
    \\EOT\EOTN\STX\CAN\DC2\EOT\205\EOT\STX/\"\GS The drep voting thresholds.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTN\STX\CAN\ACK\DC2\EOT\205\EOT\STX\DC2\n\
    \\r\n\
    \\ENQ\EOTN\STX\CAN\SOH\DC2\EOT\205\EOT\DC3)\n\
    \\r\n\
    \\ENQ\EOTN\STX\CAN\ETX\DC2\EOT\205\EOT,.\n\
    \+\n\
    \\EOT\EOTN\STX\EM\DC2\EOT\206\EOT\STX!\"\GS The minimum committee size.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTN\STX\EM\ENQ\DC2\EOT\206\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTN\STX\EM\SOH\DC2\EOT\206\EOT\t\ESC\n\
    \\r\n\
    \\ENQ\EOTN\STX\EM\ETX\DC2\EOT\206\EOT\RS \n\
    \)\n\
    \\EOT\EOTN\STX\SUB\DC2\EOT\207\EOT\STX#\"\ESC The committee term limit.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTN\STX\SUB\ENQ\DC2\EOT\207\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTN\STX\SUB\SOH\DC2\EOT\207\EOT\t\GS\n\
    \\r\n\
    \\ENQ\EOTN\STX\SUB\ETX\DC2\EOT\207\EOT \"\n\
    \6\n\
    \\EOT\EOTN\STX\ESC\DC2\EOT\208\EOT\STX0\"( The governance action validity period.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTN\STX\ESC\ENQ\DC2\EOT\208\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTN\STX\ESC\SOH\DC2\EOT\208\EOT\t*\n\
    \\r\n\
    \\ENQ\EOTN\STX\ESC\ETX\DC2\EOT\208\EOT-/\n\
    \.\n\
    \\EOT\EOTN\STX\FS\DC2\EOT\209\EOT\STX(\"  The governance action deposit.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTN\STX\FS\ENQ\DC2\EOT\209\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTN\STX\FS\SOH\DC2\EOT\209\EOT\t\"\n\
    \\r\n\
    \\ENQ\EOTN\STX\FS\ETX\DC2\EOT\209\EOT%'\n\
    \!\n\
    \\EOT\EOTN\STX\GS\DC2\EOT\210\EOT\STX\ESC\"\DC3 The drep deposit.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTN\STX\GS\ENQ\DC2\EOT\210\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTN\STX\GS\SOH\DC2\EOT\210\EOT\t\NAK\n\
    \\r\n\
    \\ENQ\EOTN\STX\GS\ETX\DC2\EOT\210\EOT\CAN\SUB\n\
    \+\n\
    \\EOT\EOTN\STX\RS\DC2\EOT\211\EOT\STX%\"\GS The drep inactivity period.\n\
    \\n\
    \\r\n\
    \\ENQ\EOTN\STX\RS\ENQ\DC2\EOT\211\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTN\STX\RS\SOH\DC2\EOT\211\EOT\t\US\n\
    \\r\n\
    \\ENQ\EOTN\STX\RS\ETX\DC2\EOT\211\EOT\"$\n\
    \&\n\
    \\STX\EOTO\DC2\ACK\217\EOT\NUL\219\EOT\SOH2\CAN EVALUATION\n\
    \ ==========\n\
    \\n\
    \\v\n\
    \\ETX\EOTO\SOH\DC2\EOT\217\EOT\b\DC1\n\
    \\f\n\
    \\EOT\EOTO\STX\NUL\DC2\EOT\218\EOT\STX\DC1\n\
    \\r\n\
    \\ENQ\EOTO\STX\NUL\ENQ\DC2\EOT\218\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTO\STX\NUL\SOH\DC2\EOT\218\EOT\t\f\n\
    \\r\n\
    \\ENQ\EOTO\STX\NUL\ETX\DC2\EOT\218\EOT\SI\DLE\n\
    \\f\n\
    \\STX\EOTP\DC2\ACK\221\EOT\NUL\223\EOT\SOH\n\
    \\v\n\
    \\ETX\EOTP\SOH\DC2\EOT\221\EOT\b\DC1\n\
    \\f\n\
    \\EOT\EOTP\STX\NUL\DC2\EOT\222\EOT\STX\DC1\n\
    \\r\n\
    \\ENQ\EOTP\STX\NUL\ENQ\DC2\EOT\222\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTP\STX\NUL\SOH\DC2\EOT\222\EOT\t\f\n\
    \\r\n\
    \\ENQ\EOTP\STX\NUL\ETX\DC2\EOT\222\EOT\SI\DLE\n\
    \\f\n\
    \\STX\EOTQ\DC2\ACK\225\EOT\NUL\231\EOT\SOH\n\
    \\v\n\
    \\ETX\EOTQ\SOH\DC2\EOT\225\EOT\b\SO\n\
    \\f\n\
    \\EOT\EOTQ\STX\NUL\DC2\EOT\226\EOT\STX\DC1\n\
    \\r\n\
    \\ENQ\EOTQ\STX\NUL\ENQ\DC2\EOT\226\EOT\STX\b\n\
    \\r\n\
    \\ENQ\EOTQ\STX\NUL\SOH\DC2\EOT\226\EOT\t\f\n\
    \\r\n\
    \\ENQ\EOTQ\STX\NUL\ETX\DC2\EOT\226\EOT\SI\DLE\n\
    \\f\n\
    \\EOT\EOTQ\STX\SOH\DC2\EOT\227\EOT\STX\ETB\n\
    \\r\n\
    \\ENQ\EOTQ\STX\SOH\ACK\DC2\EOT\227\EOT\STX\t\n\
    \\r\n\
    \\ENQ\EOTQ\STX\SOH\SOH\DC2\EOT\227\EOT\n\
    \\DC2\n\
    \\r\n\
    \\ENQ\EOTQ\STX\SOH\ETX\DC2\EOT\227\EOT\NAK\SYN\n\
    \\f\n\
    \\EOT\EOTQ\STX\STX\DC2\EOT\228\EOT\STX \n\
    \\r\n\
    \\ENQ\EOTQ\STX\STX\EOT\DC2\EOT\228\EOT\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOTQ\STX\STX\ACK\DC2\EOT\228\EOT\v\DC4\n\
    \\r\n\
    \\ENQ\EOTQ\STX\STX\SOH\DC2\EOT\228\EOT\NAK\ESC\n\
    \\r\n\
    \\ENQ\EOTQ\STX\STX\ETX\DC2\EOT\228\EOT\RS\US\n\
    \\f\n\
    \\EOT\EOTQ\STX\ETX\DC2\EOT\229\EOT\STX \n\
    \\r\n\
    \\ENQ\EOTQ\STX\ETX\EOT\DC2\EOT\229\EOT\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOTQ\STX\ETX\ACK\DC2\EOT\229\EOT\v\DC4\n\
    \\r\n\
    \\ENQ\EOTQ\STX\ETX\SOH\DC2\EOT\229\EOT\NAK\ESC\n\
    \\r\n\
    \\ENQ\EOTQ\STX\ETX\ETX\DC2\EOT\229\EOT\RS\US\n\
    \\f\n\
    \\EOT\EOTQ\STX\EOT\DC2\EOT\230\EOT\STX\"\n\
    \\r\n\
    \\ENQ\EOTQ\STX\EOT\EOT\DC2\EOT\230\EOT\STX\n\
    \\n\
    \\r\n\
    \\ENQ\EOTQ\STX\EOT\ACK\DC2\EOT\230\EOT\v\DC3\n\
    \\r\n\
    \\ENQ\EOTQ\STX\EOT\SOH\DC2\EOT\230\EOT\DC4\GS\n\
    \\r\n\
    \\ENQ\EOTQ\STX\EOT\ETX\DC2\EOT\230\EOT !b\ACKproto3"