{- This file was auto-generated by the signable-haskell-protoc program. -}
{-# OPTIONS_GHC -fno-warn-orphans #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}

module Proto.SignableOrphan (
    ) where
import qualified Universum
import qualified Data.Signable
import qualified GHC.List
import qualified Proto.GoogleProtobuf
import qualified Proto.GoogleProtobuf_Fields
import qualified Proto.Basic
import qualified Proto.Basic_Fields
import qualified Proto.Coins
import qualified Proto.Coins_Fields
import qualified Proto.EmbeddedSchema
import qualified Proto.EmbeddedSchema_Fields
import qualified Proto.Number
import qualified Proto.Number_Fields
import qualified Proto.RepeatedMsg
import qualified Proto.RepeatedMsg_Fields
import qualified Proto.ReservedKeyword
import qualified Proto.ReservedKeyword_Fields
import qualified Proto.Text
import qualified Proto.Text_Fields
instance Data.Signable.Signable Proto.GoogleProtobuf.DoubleValue where
  toBinary
    = Universum.mconcat
        Universum..
          ((Universum.<&>)
             [(Universum.<>) (Data.Signable.toBinary (1 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.GoogleProtobuf_Fields.value)]
             Universum.. (Universum.&))
instance Data.Signable.Signable Proto.GoogleProtobuf.FloatValue where
  toBinary
    = Universum.mconcat
        Universum..
          ((Universum.<&>)
             [(Universum.<>) (Data.Signable.toBinary (1 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.GoogleProtobuf_Fields.value)]
             Universum.. (Universum.&))
instance Data.Signable.Signable Proto.GoogleProtobuf.Int64Value where
  toBinary
    = Universum.mconcat
        Universum..
          ((Universum.<&>)
             [(Universum.<>) (Data.Signable.toBinary (1 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.GoogleProtobuf_Fields.value)]
             Universum.. (Universum.&))
instance Data.Signable.Signable Proto.GoogleProtobuf.UInt64Value where
  toBinary
    = Universum.mconcat
        Universum..
          ((Universum.<&>)
             [(Universum.<>) (Data.Signable.toBinary (1 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.GoogleProtobuf_Fields.value)]
             Universum.. (Universum.&))
instance Data.Signable.Signable Proto.GoogleProtobuf.Int32Value where
  toBinary
    = Universum.mconcat
        Universum..
          ((Universum.<&>)
             [(Universum.<>) (Data.Signable.toBinary (1 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.GoogleProtobuf_Fields.value)]
             Universum.. (Universum.&))
instance Data.Signable.Signable Proto.GoogleProtobuf.UInt32Value where
  toBinary
    = Universum.mconcat
        Universum..
          ((Universum.<&>)
             [(Universum.<>) (Data.Signable.toBinary (1 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.GoogleProtobuf_Fields.value)]
             Universum.. (Universum.&))
instance Data.Signable.Signable Proto.GoogleProtobuf.BoolValue where
  toBinary
    = Universum.mconcat
        Universum..
          ((Universum.<&>)
             [(Universum.<>) (Data.Signable.toBinary (1 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.GoogleProtobuf_Fields.value)]
             Universum.. (Universum.&))
instance Data.Signable.Signable Proto.GoogleProtobuf.StringValue where
  toBinary
    = Universum.mconcat
        Universum..
          ((Universum.<&>)
             [(Universum.<>) (Data.Signable.toBinary (1 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.GoogleProtobuf_Fields.value)]
             Universum.. (Universum.&))
instance Data.Signable.Signable Proto.GoogleProtobuf.BytesValue where
  toBinary
    = Universum.mconcat
        Universum..
          ((Universum.<&>)
             [(Universum.<>) (Data.Signable.toBinary (1 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.GoogleProtobuf_Fields.value)]
             Universum.. (Universum.&))
instance Data.Signable.Signable Proto.GoogleProtobuf.Timestamp where
  toBinary
    = Universum.mconcat
        Universum..
          ((Universum.<&>)
             [(Universum.<>) (Data.Signable.toBinary (1 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.GoogleProtobuf_Fields.seconds),
              (Universum.<>) (Data.Signable.toBinary (2 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.GoogleProtobuf_Fields.nanos)]
             Universum.. (Universum.&))
instance Data.Signable.Signable Proto.Basic.CurrencyCode where
  toBinary
    = Universum.maybe
        (Universum.error "ENUM_OVERFLOW") Data.Signable.toBinary
        Universum..
          ((Data.Signable.safeFromIntegral ::
              Universum.Int -> Universum.Maybe Universum.Int32)
             Universum.. Universum.fromEnum)
instance Data.Signable.Signable Proto.Basic.RequestType where
  toBinary
    = Universum.maybe
        (Universum.error "ENUM_OVERFLOW") Data.Signable.toBinary
        Universum..
          ((Data.Signable.safeFromIntegral ::
              Universum.Int -> Universum.Maybe Universum.Int32)
             Universum.. Universum.fromEnum)
instance Data.Signable.Signable Proto.Basic.Payload where
  toBinary
    = Universum.mconcat
        Universum..
          ((Universum.<&>)
             [(Universum.<>) (Data.Signable.toBinary (1 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.Basic_Fields.userIdFrom),
              Universum.maybe
                Universum.mempty
                ((Universum.<>) (Data.Signable.toBinary (2 :: Universum.Int32))
                   Universum.. Data.Signable.toBinary)
                Universum.. Universum.view Proto.Basic_Fields.maybe'amount,
              (Universum.<>) (Data.Signable.toBinary (3 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.Basic_Fields.requestType),
              (Universum.<>) (Data.Signable.toBinary (4 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.Basic_Fields.addFee),
              Data.Signable.ifThenElse
                GHC.List.null
                (Universum.const Universum.mempty)
                ((Universum.<>) (Data.Signable.toBinary (5 :: Universum.Int32))
                   Universum.. Data.Signable.toBinary)
                Universum.. Universum.view Proto.Basic_Fields.comments,
              Universum.maybe
                Universum.mempty
                ((Universum.<>) (Data.Signable.toBinary (6 :: Universum.Int32))
                   Universum.. Data.Signable.toBinary)
                Universum.. Universum.view Proto.Basic_Fields.maybe'userIdTo,
              Universum.maybe
                Universum.mempty
                ((Universum.<>) (Data.Signable.toBinary (7 :: Universum.Int32))
                   Universum.. Data.Signable.toBinary)
                Universum.. Universum.view Proto.Basic_Fields.maybe'merchantIdTo,
              Universum.maybe
                Universum.mempty
                ((Universum.<>) (Data.Signable.toBinary (8 :: Universum.Int32))
                   Universum.. Data.Signable.toBinary)
                Universum.. Universum.view Proto.Basic_Fields.maybe'invoiceTo]
             Universum.. (Universum.&))
instance Data.Signable.Signable Proto.Basic.UMoney where
  toBinary
    = Universum.mconcat
        Universum..
          ((Universum.<&>)
             [(Universum.<>) (Data.Signable.toBinary (1 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.Basic_Fields.amount),
              Universum.maybe
                Universum.mempty
                ((Universum.<>) (Data.Signable.toBinary (2 :: Universum.Int32))
                   Universum.. Data.Signable.toBinary)
                Universum.. Universum.view Proto.Basic_Fields.maybe'currencyCode]
             Universum.. (Universum.&))
instance Data.Signable.Signable Proto.Basic.CurrencyCodeValue where
  toBinary
    = Universum.mconcat
        Universum..
          ((Universum.<&>)
             [(Universum.<>) (Data.Signable.toBinary (1 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.Basic_Fields.value)]
             Universum.. (Universum.&))
instance Data.Signable.Signable Proto.Coins.InvoiceType where
  toBinary
    = Universum.maybe
        (Universum.error "ENUM_OVERFLOW") Data.Signable.toBinary
        Universum..
          ((Data.Signable.safeFromIntegral ::
              Universum.Int -> Universum.Maybe Universum.Int32)
             Universum.. Universum.fromEnum)
instance Data.Signable.Signable Proto.Coins.CurrencyCode where
  toBinary
    = Universum.maybe
        (Universum.error "ENUM_OVERFLOW") Data.Signable.toBinary
        Universum..
          ((Data.Signable.safeFromIntegral ::
              Universum.Int -> Universum.Maybe Universum.Int32)
             Universum.. Universum.fromEnum)
instance Data.Signable.Signable Proto.Coins.Request where
  toBinary
    = Universum.mconcat
        Universum..
          ((Universum.<&>)
             [Universum.maybe
                Universum.mempty
                ((Universum.<>) (Data.Signable.toBinary (1 :: Universum.Int32))
                   Universum.. Data.Signable.toBinary)
                Universum..
                  Universum.view Proto.Coins_Fields.maybe'ledgerTransferRequest,
              (Universum.<>) (Data.Signable.toBinary (2 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.Coins_Fields.ledgerSignature)]
             Universum.. (Universum.&))
instance Data.Signable.Signable Proto.Coins.Request'LedgerTransferRequest where
  toBinary
    = Universum.mconcat
        Universum..
          ((Universum.<&>)
             [Universum.maybe
                Universum.mempty
                ((Universum.<>) (Data.Signable.toBinary (1 :: Universum.Int32))
                   Universum.. Data.Signable.toBinary)
                Universum..
                  Universum.view Proto.Coins_Fields.maybe'userTransferRequest,
              (Universum.<>) (Data.Signable.toBinary (2 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.Coins_Fields.userSignature),
              Universum.maybe
                Universum.mempty
                ((Universum.<>) (Data.Signable.toBinary (3 :: Universum.Int32))
                   Universum.. Data.Signable.toBinary)
                Universum.. Universum.view Proto.Coins_Fields.maybe'invoice]
             Universum.. (Universum.&))
instance Data.Signable.Signable Proto.Coins.Request'UserTransferRequest where
  toBinary
    = Universum.mconcat
        Universum..
          ((Universum.<&>)
             [Universum.maybe
                Universum.mempty
                ((Universum.<>) (Data.Signable.toBinary (1 :: Universum.Int32))
                   Universum.. Data.Signable.toBinary)
                Universum.. Universum.view Proto.Coins_Fields.maybe'userRequest,
              Universum.maybe
                Universum.mempty
                ((Universum.<>) (Data.Signable.toBinary (2 :: Universum.Int32))
                   Universum.. Data.Signable.toBinary)
                Universum.. Universum.view Proto.Coins_Fields.maybe'merchantIdTo,
              Universum.maybe
                Universum.mempty
                ((Universum.<>) (Data.Signable.toBinary (3 :: Universum.Int32))
                   Universum.. Data.Signable.toBinary)
                Universum.. Universum.view Proto.Coins_Fields.maybe'invoice]
             Universum.. (Universum.&))
instance Data.Signable.Signable Proto.Coins.LightningInvoice where
  toBinary
    = Universum.mconcat
        Universum..
          ((Universum.<&>)
             [(Universum.<>) (Data.Signable.toBinary (1 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.Coins_Fields.rHash),
              (Universum.<>) (Data.Signable.toBinary (2 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.Coins_Fields.paymentRequest),
              (Universum.<>) (Data.Signable.toBinary (3 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.Coins_Fields.invoiceType)]
             Universum.. (Universum.&))
instance Data.Signable.Signable Proto.Coins.UserRequest where
  toBinary
    = Universum.mconcat
        Universum..
          ((Universum.<&>)
             [(Universum.<>) (Data.Signable.toBinary (1 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.Coins_Fields.pubKeyUidFrom),
              Universum.maybe
                Universum.mempty
                ((Universum.<>) (Data.Signable.toBinary (2 :: Universum.Int32))
                   Universum.. Data.Signable.toBinary)
                Universum.. Universum.view Proto.Coins_Fields.maybe'amount,
              (Universum.<>) (Data.Signable.toBinary (3 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.Coins_Fields.requestId)]
             Universum.. (Universum.&))
instance Data.Signable.Signable Proto.Coins.UMoney where
  toBinary
    = Universum.mconcat
        Universum..
          ((Universum.<&>)
             [Universum.maybe
                Universum.mempty
                ((Universum.<>) (Data.Signable.toBinary (1 :: Universum.Int32))
                   Universum.. Data.Signable.toBinary)
                Universum.. Universum.view Proto.Coins_Fields.maybe'amount,
              Universum.maybe
                Universum.mempty
                ((Universum.<>) (Data.Signable.toBinary (2 :: Universum.Int32))
                   Universum.. Data.Signable.toBinary)
                Universum.. Universum.view Proto.Coins_Fields.maybe'currencyCode]
             Universum.. (Universum.&))
instance Data.Signable.Signable Proto.Coins.UDecimal where
  toBinary
    = Universum.mconcat
        Universum..
          ((Universum.<&>)
             [(Universum.<>) (Data.Signable.toBinary (1 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.Coins_Fields.coef),
              (Universum.<>) (Data.Signable.toBinary (2 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.Coins_Fields.exp)]
             Universum.. (Universum.&))
instance Data.Signable.Signable Proto.Coins.CurrencyCodeValue where
  toBinary
    = Universum.mconcat
        Universum..
          ((Universum.<&>)
             [(Universum.<>) (Data.Signable.toBinary (1 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.Coins_Fields.value)]
             Universum.. (Universum.&))
instance Data.Signable.Signable Proto.EmbeddedSchema.Enum where
  toBinary
    = Universum.maybe
        (Universum.error "ENUM_OVERFLOW") Data.Signable.toBinary
        Universum..
          ((Data.Signable.safeFromIntegral ::
              Universum.Int -> Universum.Maybe Universum.Int32)
             Universum.. Universum.fromEnum)
instance Data.Signable.Signable Proto.EmbeddedSchema.Embedded where
  toBinary
    = Universum.mconcat
        Universum..
          ((Universum.<&>)
             [Universum.maybe
                Universum.mempty
                ((Universum.<>) (Data.Signable.toBinary (1 :: Universum.Int32))
                   Universum.. Data.Signable.toBinary)
                Universum..
                  Universum.view Proto.EmbeddedSchema_Fields.maybe'msgField]
             Universum.. (Universum.&))
instance Data.Signable.Signable Proto.EmbeddedSchema.Embedded'Msg where
  toBinary
    = Universum.mconcat
        Universum..
          ((Universum.<&>)
             [(Universum.<>) (Data.Signable.toBinary (1 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.EmbeddedSchema_Fields.enumField)]
             Universum.. (Universum.&))
instance Data.Signable.Signable Proto.EmbeddedSchema.Embedded'Msg'Enum where
  toBinary
    = Universum.maybe
        (Universum.error "ENUM_OVERFLOW") Data.Signable.toBinary
        Universum..
          ((Data.Signable.safeFromIntegral ::
              Universum.Int -> Universum.Maybe Universum.Int32)
             Universum.. Universum.fromEnum)
instance Data.Signable.Signable Proto.EmbeddedSchema.Msg where
  toBinary
    = Universum.mconcat
        Universum..
          ((Universum.<&>)
             [(Universum.<>) (Data.Signable.toBinary (1 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.EmbeddedSchema_Fields.enumField)]
             Universum.. (Universum.&))
instance Data.Signable.Signable Proto.EmbeddedSchema.Msg'Enum where
  toBinary
    = Universum.maybe
        (Universum.error "ENUM_OVERFLOW") Data.Signable.toBinary
        Universum..
          ((Data.Signable.safeFromIntegral ::
              Universum.Int -> Universum.Maybe Universum.Int32)
             Universum.. Universum.fromEnum)
instance Data.Signable.Signable Proto.Number.Payload where
  toBinary
    = Universum.mconcat
        Universum..
          ((Universum.<&>)
             [(Universum.<>) (Data.Signable.toBinary (1 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.Number_Fields.one),
              (Universum.<>) (Data.Signable.toBinary (2 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.Number_Fields.two),
              (Universum.<>) (Data.Signable.toBinary (3 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.Number_Fields.three),
              (Universum.<>) (Data.Signable.toBinary (4 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.Number_Fields.four)]
             Universum.. (Universum.&))
instance Data.Signable.Signable Proto.RepeatedMsg.Payload where
  toBinary
    = Universum.mconcat
        Universum..
          ((Universum.<&>)
             [Data.Signable.ifThenElse
                GHC.List.null
                (Universum.const Universum.mempty)
                ((Universum.<>) (Data.Signable.toBinary (1 :: Universum.Int32))
                   Universum.. Data.Signable.toBinary)
                Universum.. Universum.view Proto.RepeatedMsg_Fields.msg]
             Universum.. (Universum.&))
instance Data.Signable.Signable Proto.RepeatedMsg.Payload'Msg where
  toBinary
    = Universum.mconcat
        Universum..
          ((Universum.<&>)
             [(Universum.<>) (Data.Signable.toBinary (1 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.RepeatedMsg_Fields.x)]
             Universum.. (Universum.&))
instance Data.Signable.Signable Proto.ReservedKeyword.Payload where
  toBinary
    = Universum.mconcat
        Universum..
          ((Universum.<&>)
             [(Universum.<>) (Data.Signable.toBinary (1 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.ReservedKeyword_Fields.module'),
              Data.Signable.ifThenElse
                GHC.List.null
                (Universum.const Universum.mempty)
                ((Universum.<>) (Data.Signable.toBinary (2 :: Universum.Int32))
                   Universum.. Data.Signable.toBinary)
                Universum.. Universum.view Proto.ReservedKeyword_Fields.data',
              Data.Signable.ifThenElse
                GHC.List.null
                (Universum.const Universum.mempty)
                ((Universum.<>) (Data.Signable.toBinary (3 :: Universum.Int32))
                   Universum.. Data.Signable.toBinary)
                Universum.. Universum.view Proto.ReservedKeyword_Fields.type',
              Universum.maybe
                Universum.mempty
                ((Universum.<>) (Data.Signable.toBinary (4 :: Universum.Int32))
                   Universum.. Data.Signable.toBinary)
                Universum..
                  Universum.view Proto.ReservedKeyword_Fields.maybe'class',
              (Universum.<>) (Data.Signable.toBinary (5 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.ReservedKeyword_Fields.instance'),
              (Universum.<>) (Data.Signable.toBinary (6 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.ReservedKeyword_Fields.if')]
             Universum.. (Universum.&))
instance Data.Signable.Signable Proto.ReservedKeyword.Payload'List where
  toBinary
    = Universum.mconcat
        Universum..
          ((Universum.<&>)
             [Universum.maybe
                Universum.mempty
                ((Universum.<>) (Data.Signable.toBinary (1 :: Universum.Int32))
                   Universum.. Data.Signable.toBinary)
                Universum.. Universum.view Proto.ReservedKeyword_Fields.maybe'x,
              Universum.maybe
                Universum.mempty
                ((Universum.<>) (Data.Signable.toBinary (2 :: Universum.Int32))
                   Universum.. Data.Signable.toBinary)
                Universum.. Universum.view Proto.ReservedKeyword_Fields.maybe'xs]
             Universum.. (Universum.&))
instance Data.Signable.Signable Proto.Text.Payload where
  toBinary
    = Universum.mconcat
        Universum..
          ((Universum.<&>)
             [(Universum.<>) (Data.Signable.toBinary (1 :: Universum.Int32))
                Universum..
                  (Data.Signable.toBinary
                     Universum.. Universum.view Proto.Text_Fields.text)]
             Universum.. (Universum.&))