packages feed

ppad-bolt8-0.1.0: ppad-bolt8.cabal

cabal-version:      3.0
name:               ppad-bolt8
version:            0.1.0
synopsis:           Encrypted and authenticated transport per BOLT #8
license:            MIT
license-file:       LICENSE
author:             Jared Tobin
maintainer:         jared@ppad.tech
category:           Cryptography
build-type:         Simple
tested-with:        GHC == { 9.10.3 }
extra-doc-files:    CHANGELOG
description:
  Encrypted and authenticated transport for the Lightning Network, per
  [BOLT #8](https://github.com/lightning/bolts/blob/master/08-transport.md):
  the Noise_XK_secp256k1_ChaChaPoly_SHA256 handshake and message
  transport with key rotation.

source-repository head
  type:     git
  location: git.ppad.tech/bolt8.git

flag llvm
  description: Use GHC's LLVM backend.
  default:     False
  manual:      True

library
  default-language: Haskell2010
  hs-source-dirs:   lib
  ghc-options:
      -Wall
  if flag(llvm)
    ghc-options: -fllvm -O2
  exposed-modules:
      Lightning.Protocol.BOLT8
  build-depends:
      base >= 4.9 && < 5
    , bytestring >= 0.9 && < 0.13
    , deepseq >= 1.4 && < 1.6
    , ppad-aead >= 0.3.6 && < 0.4
    , ppad-hkdf >= 0.3.2 && < 0.4
    , ppad-secp256k1 >= 0.5.8 && < 0.6
    , ppad-sha256 >= 0.3.2 && < 0.4

test-suite bolt8-tests
  type:                exitcode-stdio-1.0
  default-language:    Haskell2010
  hs-source-dirs:      test
  main-is:             Main.hs

  ghc-options:
    -rtsopts -Wall

  build-depends:
      base
    , bytestring
    , ppad-aead
    , ppad-base16
    , ppad-bolt8
    , ppad-hkdf
    , ppad-sha256
    , tasty
    , tasty-hunit
    , tasty-quickcheck

benchmark bolt8-bench
  type:                exitcode-stdio-1.0
  default-language:    Haskell2010
  hs-source-dirs:      bench
  main-is:             Main.hs
  other-modules:       Fixture

  ghc-options:
    -rtsopts -O2 -Wall

  build-depends:
      base
    , bytestring
    , criterion
    , ppad-bolt8

benchmark bolt8-weigh
  type:                exitcode-stdio-1.0
  default-language:    Haskell2010
  hs-source-dirs:      bench
  main-is:             Weight.hs
  other-modules:       Fixture

  ghc-options:
    -rtsopts -O2 -Wall

  build-depends:
      base
    , bytestring
    , ppad-bolt8
    , weigh