packages feed

ppad-bolt4-0.1.0: ppad-bolt4.cabal

cabal-version:      3.0
name:               ppad-bolt4
version:            0.1.0
synopsis:           Onion routing per BOLT #4
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:
  Onion routing for the Lightning Network, per BOLT #4
  (<https://github.com/lightning/bolts/blob/master/04-onion-routing.md>):
  onion construction and processing, returning errors, and route
  blinding.

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

library
  default-language: Haskell2010
  hs-source-dirs:   lib
  ghc-options:
      -Wall
  exposed-modules:
      Lightning.Protocol.BOLT4
  other-modules:
      Lightning.Protocol.BOLT4.Blinding
      Lightning.Protocol.BOLT4.Codec
      Lightning.Protocol.BOLT4.Construct
      Lightning.Protocol.BOLT4.Error
      Lightning.Protocol.BOLT4.Prim
      Lightning.Protocol.BOLT4.Process
      Lightning.Protocol.BOLT4.Types
  build-depends:
      base >= 4.9 && < 5
    , bytestring >= 0.11.1 && < 0.13
    , deepseq >= 1.4 && < 1.6
    , ppad-aead >= 0.3.6 && < 0.4
    , ppad-bolt1 >= 0.1 && < 0.2
    , ppad-bolt9 >= 0.1 && < 0.2
    , ppad-chacha >= 0.3 && < 0.4
    , ppad-fixed >= 0.2 && < 0.3
    , ppad-secp256k1 >= 0.5.8 && < 0.6
    , ppad-sha256 >= 0.3.2 && < 0.4

test-suite bolt4-tests
  type:             exitcode-stdio-1.0
  default-language: Haskell2010
  hs-source-dirs:   test
  main-is:          Main.hs
  other-modules:    Vectors
  ghc-options:
      -rtsopts -Wall
  build-depends:
      base
    , bytestring
    , ppad-base16
    , ppad-bolt1
    , ppad-bolt4
    , ppad-bolt9
    , ppad-chacha
    , ppad-secp256k1
    , ppad-sha256
    , tasty
    , tasty-hunit
    , tasty-quickcheck

benchmark bolt4-bench
  type:             exitcode-stdio-1.0
  default-language: Haskell2010
  hs-source-dirs:   bench
  main-is:          Main.hs
  other-modules:    Fixtures
  ghc-options:
      -rtsopts -O2 -Wall
  build-depends:
      base
    , bytestring
    , criterion
    , deepseq
    , ppad-bolt1
    , ppad-bolt4

benchmark bolt4-weigh
  type:             exitcode-stdio-1.0
  default-language: Haskell2010
  hs-source-dirs:   bench
  main-is:          Weight.hs
  other-modules:    Fixtures
  ghc-options:
      -rtsopts -O2 -Wall
  build-depends:
      base
    , bytestring
    , deepseq
    , ppad-bolt1
    , ppad-bolt4
    , weigh