packages feed

ppad-secp256k1-0.2.0: ppad-secp256k1.cabal

cabal-version:      3.0
name:               ppad-secp256k1
version:            0.2.0
synopsis:           Schnorr signatures & ECDSA on the elliptic curve secp256k1
license:            MIT
license-file:       LICENSE
author:             Jared Tobin
maintainer:         jared@ppad.tech
category:           Cryptography
build-type:         Simple
tested-with:        GHC == { 9.8.1, 9.6.4 }
extra-doc-files:    CHANGELOG
description:
  Pure BIP0340-style Schnorr signatures and deterministic RFC6979 ECDSA on
  the elliptic curve secp256k1.

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

library
  default-language: Haskell2010
  hs-source-dirs:   lib
  ghc-options:
      -Wall
  exposed-modules:
      Crypto.Curve.Secp256k1
  build-depends:
      base >= 4.9 && < 5
    , bytestring >= 0.9 && < 0.13
    , ppad-hmac-drbg >= 0.1 && < 0.2
    , ppad-sha256 >= 0.2 && < 0.3
    , primitive >= 0.8 && < 0.10

test-suite secp256k1-tests
  type:                exitcode-stdio-1.0
  default-language:    Haskell2010
  hs-source-dirs:      test
  main-is:             Main.hs
  other-modules:
      BIP340
    , Noble
    , Wycheproof

  ghc-options:
    -rtsopts -Wall

  build-depends:
      aeson
    , attoparsec
    , base
    , base16-bytestring
    , bytestring
    , ppad-secp256k1
    , tasty
    , tasty-hunit
    , text

benchmark secp256k1-bench
  type:                exitcode-stdio-1.0
  default-language:    Haskell2010
  hs-source-dirs:      bench
  main-is:             Main.hs

  ghc-options:
    -rtsopts -O2 -Wall -fno-warn-orphans

  build-depends:
      base
    , base16-bytestring
    , bytestring
    , criterion
    , deepseq
    , ppad-secp256k1