packages feed

ppad-tx-0.2.0: ppad-tx.cabal

cabal-version:      3.0
name:               ppad-tx
version:            0.2.0
synopsis:           Minimal Bitcoin transaction primitives
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:
  Minimal Bitcoin transaction primitives: raw transaction types,
  serialisation, txid computation, and legacy, BIP143 segwit and BIP341
  taproot sighash calculation.

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

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

library
  default-language: Haskell2010
  hs-source-dirs:   lib
  ghc-options:
      -Wall
  if flag(llvm)
    ghc-options: -fllvm -O2
  exposed-modules:
      Bitcoin.Prim.Tx
      Bitcoin.Prim.Tx.Sighash
  other-modules:
      Bitcoin.Prim.Tx.Internal
  build-depends:
      base >= 4.9 && < 5
    , bytestring >= 0.9 && < 0.13
    , deepseq >= 1.4 && < 1.6
    , ppad-base16 >= 0.3 && < 0.4
    , ppad-sha256 >= 0.3 && < 0.4

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

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

  build-depends:
      base
    , bytestring
    , ppad-base16
    , ppad-tx
    , QuickCheck
    , tasty
    , tasty-hunit
    , tasty-quickcheck

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

  ghc-options:
    -rtsopts -O2 -Wall

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

benchmark tx-weigh
  type:                exitcode-stdio-1.0
  default-language:    Haskell2010
  hs-source-dirs:      bench
  main-is:             Weight.hs

  ghc-options:
    -rtsopts -O2 -Wall

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