csecp256k1

Haskell FFI bindings to bitcoin-core/secp256k1 (docs.ppad.tech/csecp256k1).
git clone git://git.ppad.tech/csecp256k1.git
Log | Files | Refs | README | LICENSE

ppad-csecp256k1.cabal (2658B)


      1 cabal-version:      3.0
      2 name:               ppad-csecp256k1
      3 version:            0.1.0
      4 synopsis:           bitcoin-core/secp256k1 bindings
      5 license:            MIT
      6 license-file:       LICENSE
      7 author:             Jared Tobin
      8 maintainer:         jared@ppad.tech
      9 category:           Cryptography
     10 build-type:         Simple
     11 tested-with:        GHC == { 9.8.1, 9.6.4, 9.4.8 }
     12 extra-doc-files:    CHANGELOG
     13 description:
     14   Bindings to bitcoin-core/secp256k1, which provides digital
     15   signatures and other cryptographic primitives on the secp256k1
     16   elliptic curve.
     17 
     18   This library exposes a minimal subset of functionality, primarily
     19   supporting ECDSA/Schnorr signatures and ECDH secret computation.
     20 
     21 source-repository head
     22   type:     git
     23   location: git.ppad.tech/csecp256k1.git
     24 
     25 library
     26   default-language: Haskell2010
     27   hs-source-dirs:   lib
     28   ghc-options:
     29       -Wall
     30   exposed-modules:
     31       Crypto.Secp256k1
     32   build-depends:
     33       base >= 4.9 && < 5
     34     , bytestring >= 0.9 && < 0.13
     35     , secp256k1-sys
     36 
     37 test-suite csecp256k1-tests
     38   type:                exitcode-stdio-1.0
     39   default-language:    Haskell2010
     40   hs-source-dirs:      test
     41   main-is:             Main.hs
     42 
     43   ghc-options:
     44     -rtsopts -Wall
     45 
     46   build-depends:
     47       base
     48     , bytestring
     49     , ppad-csecp256k1
     50     , tasty
     51     , tasty-hunit
     52 
     53 benchmark csecp256k1-bench
     54   type:                exitcode-stdio-1.0
     55   default-language:    Haskell2010
     56   hs-source-dirs:      bench
     57   main-is:             Main.hs
     58 
     59   ghc-options:
     60     -rtsopts -O2 -Wall -fno-warn-orphans
     61 
     62   build-depends:
     63       base
     64     , bytestring
     65     , criterion
     66     , deepseq
     67     , ppad-csecp256k1
     68     , secp256k1-sys
     69 
     70 library secp256k1-sys
     71   default-language: Haskell2010
     72   hs-source-dirs:   secp256k1-sys/lib
     73 
     74   exposed-modules:
     75       Crypto.Secp256k1.Internal
     76 
     77   build-depends:
     78       base
     79     , bytestring
     80 
     81   ghc-options:
     82       -Wall
     83 
     84   include-dirs:
     85       secp256k1-sys/depend/secp256k1/include/
     86 
     87   includes:
     88       secp256k1.h
     89     , secp256k1_ecdh.h
     90     , secp256k1_extrakeys.h
     91     , secp256k1_schnorrsig.h
     92 
     93   c-sources:
     94       secp256k1-sys/depend/secp256k1/src/precomputed_ecmult_gen.c
     95     , secp256k1-sys/depend/secp256k1/src/precomputed_ecmult.c
     96     , secp256k1-sys/depend/secp256k1/src/secp256k1.c
     97 
     98   cc-options:
     99     -DENABLE_MODULE_ECDH
    100     -DENABLE_MODULE_EXTRAKEYS
    101     -DENABLE_MODULE_SCHNORRSIG
    102 
    103 test-suite secp256k1-sys-tests
    104   type:                exitcode-stdio-1.0
    105   default-language:    Haskell2010
    106   hs-source-dirs:      secp256k1-sys/test
    107   main-is:             Main.hs
    108 
    109   ghc-options:
    110     -rtsopts -Wall
    111 
    112   build-depends:
    113       base
    114     , bytestring
    115     , entropy
    116     , secp256k1-sys
    117     , tasty
    118     , tasty-hunit
    119