cabal-version: 1.12

-- This file has been generated from package.yaml by hpack version 0.34.7.
--
-- see: https://github.com/sol/hpack

name:           btc-lsp
version:        0.1.0.0
synopsis:       Lightning service provider
description:    You can find documentation at <https://hackage.haskell.org/package/btc-lsp>
category:       Lightning, Bitcoin, Finance, Network, Payments
homepage:       https://github.com/coingaming/src
bug-reports:    https://github.com/coingaming/src/issues
author:         21it <21it@tuta.io>, Mikhail Prushinskiy <mprushinsky@gmail.com>, Artem Markov <drownbes@gmail.com>
maintainer:     21it <21it@tuta.io>, Mikhail Prushinskiy <mprushinsky@gmail.com>, Artem Markov <drownbes@gmail.com>
copyright:      2022 Yolo <hello@coingaming.io>
license:        BSD3
license-file:   LICENSE
build-type:     Simple
extra-source-files:
    README.md
    ChangeLog.md

source-repository head
  type: git
  location: https://github.com/coingaming/src

flag ghcid
  manual: True
  default: False

library
  exposed-modules:
      BtcLsp.Class.Env
      BtcLsp.Class.Storage
      BtcLsp.Data.AppM
      BtcLsp.Data.Env
      BtcLsp.Data.Kind
      BtcLsp.Data.Orphan
      BtcLsp.Data.Smart
      BtcLsp.Data.Type
      BtcLsp.Grpc.Client.HighLevel
      BtcLsp.Grpc.Client.LowLevel
      BtcLsp.Grpc.Combinator
      BtcLsp.Grpc.Data
      BtcLsp.Grpc.Orphan
      BtcLsp.Grpc.Server.HighLevel
      BtcLsp.Grpc.Server.LowLevel
      BtcLsp.Grpc.Sig
      BtcLsp.Import
      BtcLsp.Import.External
      BtcLsp.Import.Psql
      BtcLsp.Import.Witch
      BtcLsp.Math.OnChain
      BtcLsp.Math.Swap
      BtcLsp.Psbt.PsbtOpener
      BtcLsp.Psbt.Utils
      BtcLsp.Storage.Migration
      BtcLsp.Storage.Model
      BtcLsp.Storage.Model.Block
      BtcLsp.Storage.Model.LnChan
      BtcLsp.Storage.Model.SwapIntoLn
      BtcLsp.Storage.Model.SwapUtxo
      BtcLsp.Storage.Model.User
      BtcLsp.Storage.Util
      BtcLsp.Text
      BtcLsp.Thread.BlockScanner
      BtcLsp.Thread.Expirer
      BtcLsp.Thread.LnChanOpener
      BtcLsp.Thread.LnChanWatcher
      BtcLsp.Thread.Main
      BtcLsp.Thread.Refunder
      BtcLsp.Thread.Server
      BtcLsp.Time
      BtcLsp.Yesod.Application
      BtcLsp.Yesod.Data.BootstrapColor
      BtcLsp.Yesod.Data.Colored
      BtcLsp.Yesod.Data.Language
      BtcLsp.Yesod.Data.Widget
      BtcLsp.Yesod.Foundation
      BtcLsp.Yesod.Handler.About
      BtcLsp.Yesod.Handler.Common
      BtcLsp.Yesod.Handler.Home
      BtcLsp.Yesod.Handler.Language
      BtcLsp.Yesod.Handler.OpenChan
      BtcLsp.Yesod.Handler.SwapIntoLnCreate
      BtcLsp.Yesod.Handler.SwapIntoLnSelect
      BtcLsp.Yesod.Handler.SwapUpdates
      BtcLsp.Yesod.Import
      BtcLsp.Yesod.Import.NoFoundation
      BtcLsp.Yesod.Settings
      BtcLsp.Yesod.Settings.StaticFiles
      BtcLsp.Yesod.TH
      Proto.BtcLsp
      Proto.BtcLsp.Data.HighLevel
      Proto.BtcLsp.Data.HighLevel_Fields
      Proto.BtcLsp.Data.LowLevel
      Proto.BtcLsp.Data.LowLevel_Fields
      Proto.BtcLsp.Method.GetCfg
      Proto.BtcLsp.Method.GetCfg_Fields
      Proto.BtcLsp.Method.SwapFromLn
      Proto.BtcLsp.Method.SwapFromLn_Fields
      Proto.BtcLsp.Method.SwapIntoLn
      Proto.BtcLsp.Method.SwapIntoLn_Fields
      Proto.BtcLsp_Fields
  other-modules:
      Paths_btc_lsp
  hs-source-dirs:
      src
  default-extensions:
      NoImplicitPrelude
      MultiParamTypeClasses
      LambdaCase
      OverloadedStrings
      ScopedTypeVariables
      DeriveGeneric
      GeneralizedNewtypeDeriving
      TupleSections
      DataKinds
      DerivingStrategies
      KindSignatures
      FlexibleContexts
      FlexibleInstances
      StrictData
      TypeFamilies
      TypeOperators
      StandaloneDeriving
      DerivingVia
      ExistentialQuantification
      InstanceSigs
  ghc-options: -Weverything -Wno-missing-exported-signatures -Wno-missing-import-lists -Wno-missed-specialisations -Wno-all-missed-specialisations -Wno-unsafe -Wno-safe -Wno-missing-local-signatures -Wno-missing-export-lists -fwarn-tabs -O2
  build-depends:
      GenericPretty
    , SHA
    , aeson >=1.4 && <1.6
    , async
    , base >=4.7 && <5
    , base16-bytestring
    , base64-bytestring >=1.2.1
    , binary
    , bytestring
    , case-insensitive
    , casing
    , chronos
    , classy-prelude-yesod ==1.5.*
    , containers
    , cryptonite
    , envparse
    , errors
    , esqueleto >=3.5.3
    , extra
    , fast-logger >=2.2 && <3.1
    , file-embed
    , format-numbers
    , generic-pretty-instances
    , hjsmin >=0.1 && <0.3
    , http-client-tls ==0.3.*
    , http2
    , http2-client
    , http2-client-grpc
    , http2-grpc-proto-lens
    , http2-grpc-types
    , iso8601-time
    , katip
    , lnd-client
    , memory
    , microlens
    , monad-logger ==0.3.*
    , network-bitcoin
    , persistent >=2.13.2.1
    , persistent-migration
    , persistent-postgresql >=2.13.2.1
    , pretty
    , proto-lens
    , proto-lens-runtime
    , qrcode-core
    , qrcode-juicypixels
    , resource-pool
    , scientific
    , secp256k1-haskell
    , shakespeare ==2.0.*
    , stm
    , template-haskell
    , text
    , time
    , transformers
    , unbounded-delays
    , universum
    , unliftio
    , uuid
    , vector
    , wai
    , wai-extra ==3.1.*
    , warp >=3.0 && <3.4
    , warp-grpc
    , warp-tls
    , witch
    , yaml ==0.11.*
    , yesod ==1.6.*
    , yesod-auth ==1.6.*
    , yesod-core ==1.6.*
    , yesod-form ==1.6.*
    , yesod-static ==1.6.*
  if impl(ghc >= 8.10.7)
    ghc-options: -Wno-missing-safe-haskell-mode -Wno-prepositive-qualified-module -fenable-th-splice-warnings -fprint-potential-instances
  default-language: Haskell2010

executable btc-lsp-exe
  main-is: Main.hs
  other-modules:
      Paths_btc_lsp
  hs-source-dirs:
      app
  default-extensions:
      NoImplicitPrelude
      MultiParamTypeClasses
      LambdaCase
      OverloadedStrings
      ScopedTypeVariables
      DeriveGeneric
      GeneralizedNewtypeDeriving
      TupleSections
      DataKinds
      DerivingStrategies
      KindSignatures
      FlexibleContexts
      FlexibleInstances
      StrictData
      TypeFamilies
      TypeOperators
      StandaloneDeriving
      DerivingVia
      ExistentialQuantification
      InstanceSigs
  ghc-options: -Weverything -Wno-missing-exported-signatures -Wno-missing-import-lists -Wno-missed-specialisations -Wno-all-missed-specialisations -Wno-unsafe -Wno-safe -Wno-missing-local-signatures -Wno-missing-export-lists -O2 -optc-O3 -funfolding-use-threshold=16 -threaded -rtsopts -with-rtsopts=-N -optl-fuse-ld=gold
  ld-options: -fuse-ld=gold
  build-depends:
      base
  if impl(ghc >= 8.10.7)
    ghc-options: -Wno-missing-safe-haskell-mode -Wno-prepositive-qualified-module -fenable-th-splice-warnings -fprint-potential-instances
  if flag(ghcid)
    other-modules:
        BtcLsp.Class.Env
        BtcLsp.Class.Storage
        BtcLsp.Data.AppM
        BtcLsp.Data.Env
        BtcLsp.Data.Kind
        BtcLsp.Data.Orphan
        BtcLsp.Data.Smart
        BtcLsp.Data.Type
        BtcLsp.Grpc.Client.HighLevel
        BtcLsp.Grpc.Client.LowLevel
        BtcLsp.Grpc.Combinator
        BtcLsp.Grpc.Data
        BtcLsp.Grpc.Orphan
        BtcLsp.Grpc.Server.HighLevel
        BtcLsp.Grpc.Server.LowLevel
        BtcLsp.Grpc.Sig
        BtcLsp.Import
        BtcLsp.Import.External
        BtcLsp.Import.Psql
        BtcLsp.Import.Witch
        BtcLsp.Math.OnChain
        BtcLsp.Math.Swap
        BtcLsp.Psbt.PsbtOpener
        BtcLsp.Psbt.Utils
        BtcLsp.Storage.Migration
        BtcLsp.Storage.Model
        BtcLsp.Storage.Model.Block
        BtcLsp.Storage.Model.LnChan
        BtcLsp.Storage.Model.SwapIntoLn
        BtcLsp.Storage.Model.SwapUtxo
        BtcLsp.Storage.Model.User
        BtcLsp.Storage.Util
        BtcLsp.Text
        BtcLsp.Thread.BlockScanner
        BtcLsp.Thread.Expirer
        BtcLsp.Thread.LnChanOpener
        BtcLsp.Thread.LnChanWatcher
        BtcLsp.Thread.Main
        BtcLsp.Thread.Refunder
        BtcLsp.Thread.Server
        BtcLsp.Time
        BtcLsp.Yesod.Application
        BtcLsp.Yesod.Data.BootstrapColor
        BtcLsp.Yesod.Data.Colored
        BtcLsp.Yesod.Data.Language
        BtcLsp.Yesod.Data.Widget
        BtcLsp.Yesod.Foundation
        BtcLsp.Yesod.Handler.About
        BtcLsp.Yesod.Handler.Common
        BtcLsp.Yesod.Handler.Home
        BtcLsp.Yesod.Handler.Language
        BtcLsp.Yesod.Handler.OpenChan
        BtcLsp.Yesod.Handler.SwapIntoLnCreate
        BtcLsp.Yesod.Handler.SwapIntoLnSelect
        BtcLsp.Yesod.Handler.SwapUpdates
        BtcLsp.Yesod.Import
        BtcLsp.Yesod.Import.NoFoundation
        BtcLsp.Yesod.Settings
        BtcLsp.Yesod.Settings.StaticFiles
        BtcLsp.Yesod.TH
        Proto.BtcLsp
        Proto.BtcLsp.Data.HighLevel
        Proto.BtcLsp.Data.HighLevel_Fields
        Proto.BtcLsp.Data.LowLevel
        Proto.BtcLsp.Data.LowLevel_Fields
        Proto.BtcLsp.Method.GetCfg
        Proto.BtcLsp.Method.GetCfg_Fields
        Proto.BtcLsp.Method.SwapFromLn
        Proto.BtcLsp.Method.SwapFromLn_Fields
        Proto.BtcLsp.Method.SwapIntoLn
        Proto.BtcLsp.Method.SwapIntoLn_Fields
        Proto.BtcLsp_Fields
    hs-source-dirs:
        src
    ghc-options: -Wno-unused-packages
    build-depends:
        GenericPretty
      , SHA
      , aeson >=1.4 && <1.6
      , async
      , base >=4.7 && <5
      , base16-bytestring
      , base64-bytestring >=1.2.1
      , binary
      , bytestring
      , case-insensitive
      , casing
      , chronos
      , classy-prelude-yesod ==1.5.*
      , containers
      , cryptonite
      , envparse
      , errors
      , esqueleto >=3.5.3
      , extra
      , fast-logger >=2.2 && <3.1
      , file-embed
      , format-numbers
      , generic-pretty-instances
      , hjsmin >=0.1 && <0.3
      , http-client-tls ==0.3.*
      , http2
      , http2-client
      , http2-client-grpc
      , http2-grpc-proto-lens
      , http2-grpc-types
      , iso8601-time
      , katip
      , lnd-client
      , memory
      , microlens
      , monad-logger ==0.3.*
      , network-bitcoin
      , persistent >=2.13.2.1
      , persistent-migration
      , persistent-postgresql >=2.13.2.1
      , pretty
      , proto-lens
      , proto-lens-runtime
      , qrcode-core
      , qrcode-juicypixels
      , resource-pool
      , scientific
      , secp256k1-haskell
      , shakespeare ==2.0.*
      , stm
      , template-haskell
      , text
      , time
      , transformers
      , unbounded-delays
      , universum
      , unliftio
      , uuid
      , vector
      , wai
      , wai-extra ==3.1.*
      , warp >=3.0 && <3.4
      , warp-grpc
      , warp-tls
      , witch
      , yaml ==0.11.*
      , yesod ==1.6.*
      , yesod-auth ==1.6.*
      , yesod-core ==1.6.*
      , yesod-form ==1.6.*
      , yesod-static ==1.6.*
  else
    build-depends:
        btc-lsp
  default-language: Haskell2010

executable btc-lsp-integration
  main-is: Integration.hs
  other-modules:
      IntegrationSpec
      BakSpec
      BlockScannerSpec
      LnChanWatcherSpec
      Main
      MathSpec
      PsbtOpenerSpec
      RefunderSpec
      ReorgSpec
      ServerSpec
      SmartSpec
      Spec
      TestAppM
      TestHelpers
      TestOrphan
      TypeSpec
      Paths_btc_lsp
  hs-source-dirs:
      integration
      test
  default-extensions:
      NoImplicitPrelude
      MultiParamTypeClasses
      LambdaCase
      OverloadedStrings
      ScopedTypeVariables
      DeriveGeneric
      GeneralizedNewtypeDeriving
      TupleSections
      DataKinds
      DerivingStrategies
      KindSignatures
      FlexibleContexts
      FlexibleInstances
      StrictData
      TypeFamilies
      TypeOperators
      StandaloneDeriving
      DerivingVia
      ExistentialQuantification
      InstanceSigs
  ghc-options: -Weverything -Wno-missing-exported-signatures -Wno-missing-import-lists -Wno-missed-specialisations -Wno-all-missed-specialisations -Wno-unsafe -Wno-safe -Wno-missing-local-signatures -Wno-missing-export-lists -O2 -optc-O3 -funfolding-use-threshold=16 -threaded -rtsopts -with-rtsopts=-N -main-is Integration -optl-fuse-ld=gold
  ld-options: -fuse-ld=gold
  build-depends:
      QuickCheck
    , aeson
    , base
    , bytestring
    , envparse
    , hspec
    , lnd-client
    , network-bitcoin
    , proto-lens
    , unliftio
    , vector
    , witch
  if impl(ghc >= 8.10.7)
    ghc-options: -Wno-missing-safe-haskell-mode -Wno-prepositive-qualified-module -fenable-th-splice-warnings -fprint-potential-instances
  if flag(ghcid)
    other-modules:
        BtcLsp.Class.Env
        BtcLsp.Class.Storage
        BtcLsp.Data.AppM
        BtcLsp.Data.Env
        BtcLsp.Data.Kind
        BtcLsp.Data.Orphan
        BtcLsp.Data.Smart
        BtcLsp.Data.Type
        BtcLsp.Grpc.Client.HighLevel
        BtcLsp.Grpc.Client.LowLevel
        BtcLsp.Grpc.Combinator
        BtcLsp.Grpc.Data
        BtcLsp.Grpc.Orphan
        BtcLsp.Grpc.Server.HighLevel
        BtcLsp.Grpc.Server.LowLevel
        BtcLsp.Grpc.Sig
        BtcLsp.Import
        BtcLsp.Import.External
        BtcLsp.Import.Psql
        BtcLsp.Import.Witch
        BtcLsp.Math.OnChain
        BtcLsp.Math.Swap
        BtcLsp.Psbt.PsbtOpener
        BtcLsp.Psbt.Utils
        BtcLsp.Storage.Migration
        BtcLsp.Storage.Model
        BtcLsp.Storage.Model.Block
        BtcLsp.Storage.Model.LnChan
        BtcLsp.Storage.Model.SwapIntoLn
        BtcLsp.Storage.Model.SwapUtxo
        BtcLsp.Storage.Model.User
        BtcLsp.Storage.Util
        BtcLsp.Text
        BtcLsp.Thread.BlockScanner
        BtcLsp.Thread.Expirer
        BtcLsp.Thread.LnChanOpener
        BtcLsp.Thread.LnChanWatcher
        BtcLsp.Thread.Main
        BtcLsp.Thread.Refunder
        BtcLsp.Thread.Server
        BtcLsp.Time
        BtcLsp.Yesod.Application
        BtcLsp.Yesod.Data.BootstrapColor
        BtcLsp.Yesod.Data.Colored
        BtcLsp.Yesod.Data.Language
        BtcLsp.Yesod.Data.Widget
        BtcLsp.Yesod.Foundation
        BtcLsp.Yesod.Handler.About
        BtcLsp.Yesod.Handler.Common
        BtcLsp.Yesod.Handler.Home
        BtcLsp.Yesod.Handler.Language
        BtcLsp.Yesod.Handler.OpenChan
        BtcLsp.Yesod.Handler.SwapIntoLnCreate
        BtcLsp.Yesod.Handler.SwapIntoLnSelect
        BtcLsp.Yesod.Handler.SwapUpdates
        BtcLsp.Yesod.Import
        BtcLsp.Yesod.Import.NoFoundation
        BtcLsp.Yesod.Settings
        BtcLsp.Yesod.Settings.StaticFiles
        BtcLsp.Yesod.TH
        Proto.BtcLsp
        Proto.BtcLsp.Data.HighLevel
        Proto.BtcLsp.Data.HighLevel_Fields
        Proto.BtcLsp.Data.LowLevel
        Proto.BtcLsp.Data.LowLevel_Fields
        Proto.BtcLsp.Method.GetCfg
        Proto.BtcLsp.Method.GetCfg_Fields
        Proto.BtcLsp.Method.SwapFromLn
        Proto.BtcLsp.Method.SwapFromLn_Fields
        Proto.BtcLsp.Method.SwapIntoLn
        Proto.BtcLsp.Method.SwapIntoLn_Fields
        Proto.BtcLsp_Fields
    hs-source-dirs:
        src
    ghc-options: -Wno-unused-packages
    build-depends:
        GenericPretty
      , SHA
      , aeson >=1.4 && <1.6
      , async
      , base >=4.7 && <5
      , base16-bytestring
      , base64-bytestring >=1.2.1
      , binary
      , bytestring
      , case-insensitive
      , casing
      , chronos
      , classy-prelude-yesod ==1.5.*
      , containers
      , cryptonite
      , envparse
      , errors
      , esqueleto >=3.5.3
      , extra
      , fast-logger >=2.2 && <3.1
      , file-embed
      , format-numbers
      , generic-pretty-instances
      , hjsmin >=0.1 && <0.3
      , http-client-tls ==0.3.*
      , http2
      , http2-client
      , http2-client-grpc
      , http2-grpc-proto-lens
      , http2-grpc-types
      , iso8601-time
      , katip
      , lnd-client
      , memory
      , microlens
      , monad-logger ==0.3.*
      , network-bitcoin
      , persistent >=2.13.2.1
      , persistent-migration
      , persistent-postgresql >=2.13.2.1
      , pretty
      , proto-lens
      , proto-lens-runtime
      , qrcode-core
      , qrcode-juicypixels
      , resource-pool
      , scientific
      , secp256k1-haskell
      , shakespeare ==2.0.*
      , stm
      , template-haskell
      , text
      , time
      , transformers
      , unbounded-delays
      , universum
      , unliftio
      , uuid
      , vector
      , wai
      , wai-extra ==3.1.*
      , warp >=3.0 && <3.4
      , warp-grpc
      , warp-tls
      , witch
      , yaml ==0.11.*
      , yesod ==1.6.*
      , yesod-auth ==1.6.*
      , yesod-core ==1.6.*
      , yesod-form ==1.6.*
      , yesod-static ==1.6.*
  else
    build-depends:
        btc-lsp
  default-language: Haskell2010

executable btc-lsp-prof
  main-is: Main.hs
  other-modules:
      Paths_btc_lsp
  hs-source-dirs:
      app
  default-extensions:
      NoImplicitPrelude
      MultiParamTypeClasses
      LambdaCase
      OverloadedStrings
      ScopedTypeVariables
      DeriveGeneric
      GeneralizedNewtypeDeriving
      TupleSections
      DataKinds
      DerivingStrategies
      KindSignatures
      FlexibleContexts
      FlexibleInstances
      StrictData
      TypeFamilies
      TypeOperators
      StandaloneDeriving
      DerivingVia
      ExistentialQuantification
      InstanceSigs
  ghc-options: -Weverything -Wno-missing-exported-signatures -Wno-missing-import-lists -Wno-missed-specialisations -Wno-all-missed-specialisations -Wno-unsafe -Wno-safe -Wno-missing-local-signatures -Wno-missing-export-lists -O2 -optc-O3 -funfolding-use-threshold=16 -threaded -fprof-auto "-with-rtsopts=-N -s -p -h -xt" -fexternal-interpreter -optl-fuse-ld=gold
  ld-options: -fuse-ld=gold
  build-depends:
      base
  if impl(ghc >= 8.10.7)
    ghc-options: -Wno-missing-safe-haskell-mode -Wno-prepositive-qualified-module -fenable-th-splice-warnings -fprint-potential-instances
  if flag(ghcid)
    other-modules:
        BtcLsp.Class.Env
        BtcLsp.Class.Storage
        BtcLsp.Data.AppM
        BtcLsp.Data.Env
        BtcLsp.Data.Kind
        BtcLsp.Data.Orphan
        BtcLsp.Data.Smart
        BtcLsp.Data.Type
        BtcLsp.Grpc.Client.HighLevel
        BtcLsp.Grpc.Client.LowLevel
        BtcLsp.Grpc.Combinator
        BtcLsp.Grpc.Data
        BtcLsp.Grpc.Orphan
        BtcLsp.Grpc.Server.HighLevel
        BtcLsp.Grpc.Server.LowLevel
        BtcLsp.Grpc.Sig
        BtcLsp.Import
        BtcLsp.Import.External
        BtcLsp.Import.Psql
        BtcLsp.Import.Witch
        BtcLsp.Math.OnChain
        BtcLsp.Math.Swap
        BtcLsp.Psbt.PsbtOpener
        BtcLsp.Psbt.Utils
        BtcLsp.Storage.Migration
        BtcLsp.Storage.Model
        BtcLsp.Storage.Model.Block
        BtcLsp.Storage.Model.LnChan
        BtcLsp.Storage.Model.SwapIntoLn
        BtcLsp.Storage.Model.SwapUtxo
        BtcLsp.Storage.Model.User
        BtcLsp.Storage.Util
        BtcLsp.Text
        BtcLsp.Thread.BlockScanner
        BtcLsp.Thread.Expirer
        BtcLsp.Thread.LnChanOpener
        BtcLsp.Thread.LnChanWatcher
        BtcLsp.Thread.Main
        BtcLsp.Thread.Refunder
        BtcLsp.Thread.Server
        BtcLsp.Time
        BtcLsp.Yesod.Application
        BtcLsp.Yesod.Data.BootstrapColor
        BtcLsp.Yesod.Data.Colored
        BtcLsp.Yesod.Data.Language
        BtcLsp.Yesod.Data.Widget
        BtcLsp.Yesod.Foundation
        BtcLsp.Yesod.Handler.About
        BtcLsp.Yesod.Handler.Common
        BtcLsp.Yesod.Handler.Home
        BtcLsp.Yesod.Handler.Language
        BtcLsp.Yesod.Handler.OpenChan
        BtcLsp.Yesod.Handler.SwapIntoLnCreate
        BtcLsp.Yesod.Handler.SwapIntoLnSelect
        BtcLsp.Yesod.Handler.SwapUpdates
        BtcLsp.Yesod.Import
        BtcLsp.Yesod.Import.NoFoundation
        BtcLsp.Yesod.Settings
        BtcLsp.Yesod.Settings.StaticFiles
        BtcLsp.Yesod.TH
        Proto.BtcLsp
        Proto.BtcLsp.Data.HighLevel
        Proto.BtcLsp.Data.HighLevel_Fields
        Proto.BtcLsp.Data.LowLevel
        Proto.BtcLsp.Data.LowLevel_Fields
        Proto.BtcLsp.Method.GetCfg
        Proto.BtcLsp.Method.GetCfg_Fields
        Proto.BtcLsp.Method.SwapFromLn
        Proto.BtcLsp.Method.SwapFromLn_Fields
        Proto.BtcLsp.Method.SwapIntoLn
        Proto.BtcLsp.Method.SwapIntoLn_Fields
        Proto.BtcLsp_Fields
    hs-source-dirs:
        src
    ghc-options: -Wno-unused-packages
    build-depends:
        GenericPretty
      , SHA
      , aeson >=1.4 && <1.6
      , async
      , base >=4.7 && <5
      , base16-bytestring
      , base64-bytestring >=1.2.1
      , binary
      , bytestring
      , case-insensitive
      , casing
      , chronos
      , classy-prelude-yesod ==1.5.*
      , containers
      , cryptonite
      , envparse
      , errors
      , esqueleto >=3.5.3
      , extra
      , fast-logger >=2.2 && <3.1
      , file-embed
      , format-numbers
      , generic-pretty-instances
      , hjsmin >=0.1 && <0.3
      , http-client-tls ==0.3.*
      , http2
      , http2-client
      , http2-client-grpc
      , http2-grpc-proto-lens
      , http2-grpc-types
      , iso8601-time
      , katip
      , lnd-client
      , memory
      , microlens
      , monad-logger ==0.3.*
      , network-bitcoin
      , persistent >=2.13.2.1
      , persistent-migration
      , persistent-postgresql >=2.13.2.1
      , pretty
      , proto-lens
      , proto-lens-runtime
      , qrcode-core
      , qrcode-juicypixels
      , resource-pool
      , scientific
      , secp256k1-haskell
      , shakespeare ==2.0.*
      , stm
      , template-haskell
      , text
      , time
      , transformers
      , unbounded-delays
      , universum
      , unliftio
      , uuid
      , vector
      , wai
      , wai-extra ==3.1.*
      , warp >=3.0 && <3.4
      , warp-grpc
      , warp-tls
      , witch
      , yaml ==0.11.*
      , yesod ==1.6.*
      , yesod-auth ==1.6.*
      , yesod-core ==1.6.*
      , yesod-form ==1.6.*
      , yesod-static ==1.6.*
  else
    build-depends:
        btc-lsp
  default-language: Haskell2010

test-suite btc-lsp-test
  type: exitcode-stdio-1.0
  main-is: Main.hs
  other-modules:
      BakSpec
      BlockScannerSpec
      LnChanWatcherSpec
      MathSpec
      PsbtOpenerSpec
      RefunderSpec
      ReorgSpec
      ServerSpec
      SmartSpec
      Spec
      TestAppM
      TestHelpers
      TestOrphan
      TypeSpec
      Paths_btc_lsp
  hs-source-dirs:
      test
  default-extensions:
      NoImplicitPrelude
      MultiParamTypeClasses
      LambdaCase
      OverloadedStrings
      ScopedTypeVariables
      DeriveGeneric
      GeneralizedNewtypeDeriving
      TupleSections
      DataKinds
      DerivingStrategies
      KindSignatures
      FlexibleContexts
      FlexibleInstances
      StrictData
      TypeFamilies
      TypeOperators
      StandaloneDeriving
      DerivingVia
      ExistentialQuantification
      InstanceSigs
  ghc-options: -Weverything -Wno-missing-exported-signatures -Wno-missing-import-lists -Wno-missed-specialisations -Wno-all-missed-specialisations -Wno-unsafe -Wno-safe -Wno-missing-local-signatures -Wno-missing-export-lists -O2 -optc-O3 -funfolding-use-threshold=16 -threaded -rtsopts -with-rtsopts=-N -optl-fuse-ld=gold
  ld-options: -fuse-ld=gold
  build-depends:
      QuickCheck
    , aeson
    , base
    , bytestring
    , envparse
    , hspec
    , lnd-client
    , network-bitcoin
    , proto-lens
    , unliftio
    , vector
    , witch
  if impl(ghc >= 8.10.7)
    ghc-options: -Wno-missing-safe-haskell-mode -Wno-prepositive-qualified-module -fenable-th-splice-warnings -fprint-potential-instances
  if flag(ghcid)
    other-modules:
        BtcLsp.Class.Env
        BtcLsp.Class.Storage
        BtcLsp.Data.AppM
        BtcLsp.Data.Env
        BtcLsp.Data.Kind
        BtcLsp.Data.Orphan
        BtcLsp.Data.Smart
        BtcLsp.Data.Type
        BtcLsp.Grpc.Client.HighLevel
        BtcLsp.Grpc.Client.LowLevel
        BtcLsp.Grpc.Combinator
        BtcLsp.Grpc.Data
        BtcLsp.Grpc.Orphan
        BtcLsp.Grpc.Server.HighLevel
        BtcLsp.Grpc.Server.LowLevel
        BtcLsp.Grpc.Sig
        BtcLsp.Import
        BtcLsp.Import.External
        BtcLsp.Import.Psql
        BtcLsp.Import.Witch
        BtcLsp.Math.OnChain
        BtcLsp.Math.Swap
        BtcLsp.Psbt.PsbtOpener
        BtcLsp.Psbt.Utils
        BtcLsp.Storage.Migration
        BtcLsp.Storage.Model
        BtcLsp.Storage.Model.Block
        BtcLsp.Storage.Model.LnChan
        BtcLsp.Storage.Model.SwapIntoLn
        BtcLsp.Storage.Model.SwapUtxo
        BtcLsp.Storage.Model.User
        BtcLsp.Storage.Util
        BtcLsp.Text
        BtcLsp.Thread.BlockScanner
        BtcLsp.Thread.Expirer
        BtcLsp.Thread.LnChanOpener
        BtcLsp.Thread.LnChanWatcher
        BtcLsp.Thread.Main
        BtcLsp.Thread.Refunder
        BtcLsp.Thread.Server
        BtcLsp.Time
        BtcLsp.Yesod.Application
        BtcLsp.Yesod.Data.BootstrapColor
        BtcLsp.Yesod.Data.Colored
        BtcLsp.Yesod.Data.Language
        BtcLsp.Yesod.Data.Widget
        BtcLsp.Yesod.Foundation
        BtcLsp.Yesod.Handler.About
        BtcLsp.Yesod.Handler.Common
        BtcLsp.Yesod.Handler.Home
        BtcLsp.Yesod.Handler.Language
        BtcLsp.Yesod.Handler.OpenChan
        BtcLsp.Yesod.Handler.SwapIntoLnCreate
        BtcLsp.Yesod.Handler.SwapIntoLnSelect
        BtcLsp.Yesod.Handler.SwapUpdates
        BtcLsp.Yesod.Import
        BtcLsp.Yesod.Import.NoFoundation
        BtcLsp.Yesod.Settings
        BtcLsp.Yesod.Settings.StaticFiles
        BtcLsp.Yesod.TH
        Proto.BtcLsp
        Proto.BtcLsp.Data.HighLevel
        Proto.BtcLsp.Data.HighLevel_Fields
        Proto.BtcLsp.Data.LowLevel
        Proto.BtcLsp.Data.LowLevel_Fields
        Proto.BtcLsp.Method.GetCfg
        Proto.BtcLsp.Method.GetCfg_Fields
        Proto.BtcLsp.Method.SwapFromLn
        Proto.BtcLsp.Method.SwapFromLn_Fields
        Proto.BtcLsp.Method.SwapIntoLn
        Proto.BtcLsp.Method.SwapIntoLn_Fields
        Proto.BtcLsp_Fields
    hs-source-dirs:
        src
    ghc-options: -Wno-unused-packages
    build-depends:
        GenericPretty
      , SHA
      , aeson >=1.4 && <1.6
      , async
      , base >=4.7 && <5
      , base16-bytestring
      , base64-bytestring >=1.2.1
      , binary
      , bytestring
      , case-insensitive
      , casing
      , chronos
      , classy-prelude-yesod ==1.5.*
      , containers
      , cryptonite
      , envparse
      , errors
      , esqueleto >=3.5.3
      , extra
      , fast-logger >=2.2 && <3.1
      , file-embed
      , format-numbers
      , generic-pretty-instances
      , hjsmin >=0.1 && <0.3
      , http-client-tls ==0.3.*
      , http2
      , http2-client
      , http2-client-grpc
      , http2-grpc-proto-lens
      , http2-grpc-types
      , iso8601-time
      , katip
      , lnd-client
      , memory
      , microlens
      , monad-logger ==0.3.*
      , network-bitcoin
      , persistent >=2.13.2.1
      , persistent-migration
      , persistent-postgresql >=2.13.2.1
      , pretty
      , proto-lens
      , proto-lens-runtime
      , qrcode-core
      , qrcode-juicypixels
      , resource-pool
      , scientific
      , secp256k1-haskell
      , shakespeare ==2.0.*
      , stm
      , template-haskell
      , text
      , time
      , transformers
      , unbounded-delays
      , universum
      , unliftio
      , uuid
      , vector
      , wai
      , wai-extra ==3.1.*
      , warp >=3.0 && <3.4
      , warp-grpc
      , warp-tls
      , witch
      , yaml ==0.11.*
      , yesod ==1.6.*
      , yesod-auth ==1.6.*
      , yesod-core ==1.6.*
      , yesod-form ==1.6.*
      , yesod-static ==1.6.*
  else
    build-depends:
        btc-lsp
  default-language: Haskell2010