packages feed

haskoin-0.1.0: haskoin.cabal

name:                  haskoin
version:               0.1.0
synopsis:              Implementation of the Bitcoin protocol.
description:
    Haskoin is a package providing an implementation of the Bitcoin protocol
    specifications. It provides the cryptographic ECDSA and hashing primitives,
    functions for handling BIP32 extended keys, functions for building and
    signing various types of regular and multisig transactions and a definition
    of the network protocol messages.
homepage:              http://github.com/haskoin/haskoin
bug-reports:           http://github.com/haskoin/haskoin/issues
stability:             experimental
license:               PublicDomain
license-file:          UNLICENSE
author:                Philippe Laprade, Jean-Pierre Rupp
maintainer:            plaprade+hackage@gmail.com
category:              Bitcoin, Finance, Network
build-type:            Simple
cabal-version:         >= 1.9.2
extra-source-files:    tests/data/*.json,
                       testnet/Network/Haskoin/Constants.hs,
                       prodnet/Network/Haskoin/Constants.hs

source-repository head
    type:     git
    location: git://github.com/haskoin/haskoin.git

Flag Testnet
    Description: Compile the library against Testnet instead of Prodnet
    Default:     False

library
    exposed-modules:   Network.Haskoin.Util,
                       Network.Haskoin.Stratum,
                       Network.Haskoin.Crypto,
                       Network.Haskoin.Protocol,
                       Network.Haskoin.Script,
                       Network.Haskoin.Transaction,
                       Network.Haskoin.Internals,
                       Network.Haskoin.Constants
    other-modules:     Network.Haskoin.Crypto.NumberTheory, 
                       Network.Haskoin.Crypto.Curve, 
                       Network.Haskoin.Crypto.Hash, 
                       Network.Haskoin.Crypto.BigWord,
                       Network.Haskoin.Crypto.Point,
                       Network.Haskoin.Crypto.Base58,
                       Network.Haskoin.Crypto.Keys,
                       Network.Haskoin.Crypto.ExtendedKeys,
                       Network.Haskoin.Crypto.NormalizedKeys,
                       Network.Haskoin.Crypto.ECDSA,
                       Network.Haskoin.Crypto.Mnemonic,
                       Network.Haskoin.Crypto.Merkle,
                       Network.Haskoin.Crypto.Bloom,
                       Network.Haskoin.Protocol.Message,
                       Network.Haskoin.Protocol.Types,
                       Network.Haskoin.Script.Types, 
                       Network.Haskoin.Script.Parser, 
                       Network.Haskoin.Script.SigHash,
                       Network.Haskoin.Script.Evaluator,
                       Network.Haskoin.Transaction.Builder
    build-depends:     aeson >= 0.8 && < 0.9,
                       base >= 4.6 && < 5, 
                       binary >= 0.7 && < 0.8, 
                       byteable >= 0.1 && < 0.2,
                       bytestring >= 0.10.4 && < 0.11, 
                       containers >= 0.5 && < 0.6,
                       cryptohash >= 0.11 && < 0.12,
                       deepseq >= 1.3 && < 1.4,
                       either >= 4.3 && < 4.4,
                       json-rpc >= 0.2.0.1 && < 0.3,
                       mtl >= 2.2 && < 2.3, 
                       pbkdf >= 1.1 && < 1.2,
                       split >= 0.2 && < 0.3,
                       text >= 1.1 && < 1.2
    ghc-options:       -Wall -fno-warn-orphans
  if flag(testnet)
    hs-source-dirs:    . testnet
  else
    hs-source-dirs:    . prodnet

test-suite test-haskoin
    type:              exitcode-stdio-1.0
    main-is:           Main.hs
    other-modules:     Network.Haskoin.Util.Tests,
                       Network.Haskoin.Util.Arbitrary,
                       Network.Haskoin.Crypto.BigWord.Tests,
                       Network.Haskoin.Crypto.Point.Tests,
                       Network.Haskoin.Crypto.ECDSA.Tests,
                       Network.Haskoin.Crypto.Base58.Tests,
                       Network.Haskoin.Crypto.Base58.Units,
                       Network.Haskoin.Crypto.Keys.Tests,
                       Network.Haskoin.Crypto.ExtendedKeys.Tests,
                       Network.Haskoin.Crypto.ExtendedKeys.Units,
                       Network.Haskoin.Crypto.Hash.Tests,
                       Network.Haskoin.Crypto.Hash.Units,
                       Network.Haskoin.Crypto.Mnemonic.Tests,
                       Network.Haskoin.Crypto.Mnemonic.Units,
                       Network.Haskoin.Crypto.Bloom.Tests,
                       Network.Haskoin.Crypto.Bloom.Units,
                       Network.Haskoin.Crypto.Merkle.Tests,
                       Network.Haskoin.Crypto.Merkle.Units,
                       Network.Haskoin.Crypto.Arbitrary,
                       Network.Haskoin.Crypto.Units,
                       Network.Haskoin.Protocol.Arbitrary,
                       Network.Haskoin.Protocol.Tests,
                       Network.Haskoin.Protocol.Units,
                       Network.Haskoin.Script.Arbitrary,
                       Network.Haskoin.Script.Tests,
                       Network.Haskoin.Script.Units,
                       Network.Haskoin.Transaction.Tests,
                       Network.Haskoin.Transaction.Units,
                       Network.Haskoin.Transaction.Arbitrary,
                       Network.Haskoin.Stratum.Tests,
                       Network.Haskoin.Stratum.Units,
                       Network.Haskoin.Stratum.Arbitrary,
                       Network.Haskoin.Json.Tests
    build-depends:     aeson >= 0.8 && < 0.9,
                       async >= 2.0 && < 2.1,
                       base >= 4.6 && < 5, 
                       binary >= 0.7 && < 0.8, 
                       byteable >= 0.1 && < 0.2,
                       bytestring >= 0.10.4 && < 0.11, 
                       containers >= 0.5 && < 0.6,
                       cryptohash >= 0.11 && < 0.12,
                       deepseq >= 1.3 && < 1.4,
                       either >= 4.3 && < 4.4,
                       json-rpc >= 0.2.0.1 && < 0.3,
                       mtl >= 2.2 && < 2.3, 
                       pbkdf >= 1.1 && < 1.2,
                       split >= 0.2 && < 0.3,
                       text >= 1.1 && < 1.2,
                       HUnit >= 1.2 && < 1.3,
                       QuickCheck >= 2.7 && < 2.8,
                       test-framework >= 0.8 && < 0.9, 
                       test-framework-quickcheck2 >= 0.3 && < 0.4, 
                       test-framework-hunit >= 0.3 && < 0.4 
    ghc-options:       -Wall -fno-warn-orphans
  if flag(testnet)
    hs-source-dirs:    . tests testnet
  else
    hs-source-dirs:    . tests prodnet