secp256k1

Pure Haskell Schnorr, ECDSA on the elliptic curve secp256k1 (docs.ppad.tech/secp256k1).
git clone git://git.ppad.tech/secp256k1.git
Log | Files | Refs | README | LICENSE

ppad-secp256k1.cabal (2141B)


      1 cabal-version:      3.0
      2 name:               ppad-secp256k1
      3 version:            0.3.0
      4 synopsis:           Schnorr signatures, ECDSA, and ECDH on the elliptic curve
      5                     secp256k1
      6 license:            MIT
      7 license-file:       LICENSE
      8 author:             Jared Tobin
      9 maintainer:         jared@ppad.tech
     10 category:           Cryptography
     11 build-type:         Simple
     12 tested-with:        GHC == { 9.8.1, 9.6.4 }
     13 extra-doc-files:    CHANGELOG
     14 description:
     15   Pure BIP0340-style Schnorr signatures, deterministic RFC6979 ECDSA, and
     16   ECDH shared secret computation on the elliptic curve secp256k1.
     17 
     18 source-repository head
     19   type:     git
     20   location: git.ppad.tech/secp256k1.git
     21 
     22 library
     23   default-language: Haskell2010
     24   hs-source-dirs:   lib
     25   ghc-options:
     26       -Wall
     27   exposed-modules:
     28       Crypto.Curve.Secp256k1
     29   build-depends:
     30       base >= 4.9 && < 5
     31     , bytestring >= 0.9 && < 0.13
     32     , ppad-hmac-drbg >= 0.1 && < 0.2
     33     , ppad-sha256 >= 0.2 && < 0.3
     34     , primitive >= 0.8 && < 0.10
     35 
     36 test-suite secp256k1-tests
     37   type:                exitcode-stdio-1.0
     38   default-language:    Haskell2010
     39   hs-source-dirs:      test
     40   main-is:             Main.hs
     41   other-modules:
     42       BIP340
     43     , Noble
     44     , Wycheproof
     45     , WycheproofEcdh
     46 
     47   ghc-options:
     48     -rtsopts -Wall
     49 
     50   build-depends:
     51       aeson
     52     , attoparsec
     53     , base
     54     , base16-bytestring
     55     , bytestring
     56     , ppad-secp256k1
     57     , ppad-sha256
     58     , tasty
     59     , tasty-hunit
     60     , text
     61 
     62 benchmark secp256k1-bench
     63   type:                exitcode-stdio-1.0
     64   default-language:    Haskell2010
     65   hs-source-dirs:      bench
     66   main-is:             Main.hs
     67 
     68   ghc-options:
     69     -rtsopts -O2 -Wall -fno-warn-orphans
     70 
     71   build-depends:
     72       base
     73     , base16-bytestring
     74     , bytestring
     75     , criterion
     76     , deepseq
     77     , ppad-secp256k1
     78 
     79 benchmark secp256k1-weigh
     80   type:                exitcode-stdio-1.0
     81   default-language:    Haskell2010
     82   hs-source-dirs:      bench
     83   main-is:             Weight.hs
     84 
     85   ghc-options:
     86     -rtsopts -O2 -Wall -fno-warn-orphans
     87 
     88   build-depends:
     89       base
     90     , base16-bytestring
     91     , bytestring
     92     , deepseq
     93     , ppad-secp256k1
     94     , weigh
     95