bitcoin-hs-0.0.1: bitcoin-hs.cabal
name: bitcoin-hs
version: 0.0.1
synopsis: Partial implementation of the Bitcoin protocol (as of 2013)
description: Partial but self-contained implementation of the Bitcoin protocol (as of 2013). Use at your own risk!
license: BSD3
license-file: LICENSE
author: Balazs Komuves
maintainer: bkomuves (plus) hackage (at) gmail (dot) com
copyright: (c) 2013, 2016 Balazs Komuves
Homepage: http://code.haskell.org/~bkomuves/
category: Bitcoin, Cryptography
stability: Experimental
build-type: Custom
tested-with: GHC == 7.10.3
cabal-version: >= 1.8
--------------------------------------------------------------------------------
extra-source-files: Bitcoin/Crypto/Hash/RipEmd/rmd160.c
Bitcoin/Crypto/Hash/RipEmd/rmd160.h
Bitcoin/Crypto/Hash/SHA2/sha2.c
Bitcoin/Crypto/Hash/SHA2/sha2.h
Bitcoin/Crypto/Hash/SHA1/sha1.c
Bitcoin/Crypto/Hash/SHA1/sha1.h
Bitcoin/Crypto/Hash/MD5/md5.c
Bitcoin/Crypto/Hash/MD5/md5.h
Bitcoin/Crypto/cbits/c_word256.c
Bitcoin/Crypto/cbits/c_word256.h
Bitcoin/Crypto/cbits/c_modp.c
Bitcoin/Crypto/cbits/c_modp.h
Bitcoin/Crypto/cbits/c_ec.c
Bitcoin/Crypto/cbits/c_ec.h
Bitcoin/Crypto/cbits/asm_modp_x86.asm
Bitcoin/Crypto/cbits/asm_modp_x64.asm
--------------------------------------------------------------------------------
flag TestNet
Description: Use the Bitcoin Testnet conventions
Default: False
-- This is disabled by default because I guess most users won't have nasm installed.
flag X86ASM
Description: Hand-written x86 / x86_64 assembly routines for modular arithmetic
Default: False
flag network-uri
description: Get Network.URI from the network-uri package
default: True
--------------------------------------------------------------------------------
source-repository head
type: git
location: http://code.haskell.org/~bkomuves/projects/bitcoin-hs/
--------------------------------------------------------------------------------
library
hs-source-dirs: .
exposed: True
build-depends: base >= 4 && < 5, array, containers, bytestring,
transformers, mtl, random,
deepseq, ghc-prim,
directory, filepath, time, old-locale,
HTTP,
binary >= 0.7, json >= 0.7
exposed-modules: Bitcoin.BlockChain
Bitcoin.BlockChain.Base
Bitcoin.BlockChain.Tx
Bitcoin.BlockChain.Parser
Bitcoin.BlockChain.Load
Bitcoin.BlockChain.Chain
Bitcoin.BlockChain.Checkpoint
Bitcoin.BlockChain.TxLookup
Bitcoin.BlockChain.Cache
Bitcoin.BlockChain.Unspent
Bitcoin.Script.Base
Bitcoin.Script.Integer
Bitcoin.Script.Run
Bitcoin.Script.Serialize
Bitcoin.Script.Standard
Bitcoin.Crypto.Hash.RipEmd160
Bitcoin.Crypto.Hash.SHA1
Bitcoin.Crypto.Hash.SHA256
Bitcoin.Crypto.Hash.SHA512
Bitcoin.Crypto.Hash.MD5
Bitcoin.Crypto.Hash.HMAC
Bitcoin.Crypto.Hash.KDF
Bitcoin.Crypto.EC
Bitcoin.Crypto.EC.Curve
Bitcoin.Crypto.EC.Projective
Bitcoin.Crypto.EC.Key
Bitcoin.Crypto.EC.DSA
Bitcoin.Crypto.EC.DiffieHellman
Bitcoin.Crypto.Word256
Bitcoin.Crypto.FiniteField.Naive.Fp
Bitcoin.Crypto.FiniteField.Naive.Fn
Bitcoin.Crypto.FiniteField.Fast.Fp
Bitcoin.Protocol
Bitcoin.Protocol.Address
Bitcoin.Protocol.Amount
Bitcoin.Protocol.Base58
Bitcoin.Protocol.Base64
Bitcoin.Protocol.Hash
Bitcoin.Protocol.Key
Bitcoin.Protocol.Signature
Bitcoin.Protocol.MerkleTree
Bitcoin.Protocol.Difficulty
Bitcoin.Protocol.Tx
Bitcoin.Misc
Bitcoin.Misc.Bifunctor
Bitcoin.Misc.BigInt
Bitcoin.Misc.BiMap
Bitcoin.Misc.Endian
Bitcoin.Misc.HexString
Bitcoin.Misc.Monad
Bitcoin.Misc.OctetStream
Bitcoin.Misc.Strict
Bitcoin.Misc.Tuple
Bitcoin.Misc.Unique
Bitcoin.Misc.UnixTime
Bitcoin.Misc.Zipper
Bitcoin.RPC.API
Bitcoin.RPC.JSON
Bitcoin.RPC.HTTP
Bitcoin.RPC.Call
if flag(network-uri)
build-depends: network-uri >= 2.6, network >= 2.6
else
build-depends: network-uri < 2.6, network < 2.6
c-sources: Bitcoin/Crypto/Hash/RipEmd/rmd160.c
Bitcoin/Crypto/Hash/SHA2/sha2.c
Bitcoin/Crypto/Hash/SHA1/sha1.c
Bitcoin/Crypto/Hash/MD5/md5.c
Bitcoin/Crypto/cbits/c_word256.c
Bitcoin/Crypto/cbits/c_modp.c
Bitcoin/Crypto/cbits/c_ec.c
if arch(i386)
cpp-options: -DARCH_X86
cc-options: -DARCH_X86 -m32
if arch(x86_64)
cpp-options: -DARCH_X64
cc-options: -DARCH_X64 -m64
cc-options: -std=c99 -DSHA2_USE_INTTYPES_H -DBYTE_ORDER=LITTLE_ENDIAN
if flag(x86asm)
cpp-options: -DWITH_X86ASM
cc-options: -DWITH_X86ASM
if flag(testnet)
cpp-options: -DWITH_TESTNET
extensions: PackageImports, PatternGuards, CPP, EmptyDataDecls, FlexibleInstances, TypeSynonymInstances
--------------------------------------------------------------------------------
test-suite bitcoin-hs-tests
type: exitcode-stdio-1.0
hs-source-dirs: .
main-is: Bitcoin/TestSuite.hs
other-modules: Bitcoin.Test.Crypto.Word256
Bitcoin.Test.Crypto.FiniteField.NaiveFp
Bitcoin.Test.Crypto.FiniteField.FastFp
Bitcoin.Test.Crypto.Curve
Bitcoin.Test.Crypto.Projective
Bitcoin.Test.Crypto.Key
Bitcoin.Test.Crypto.RFC6979
Bitcoin.Test.Protocol.Hash
Bitcoin.Test.Script.Valid
Bitcoin.Test.Script.Invalid
Bitcoin.Test.Script.Parser
Bitcoin.Test.Script.RunTests
Bitcoin.Test.TxCheck
Bitcoin.Test.TxCheck.MainNet
Bitcoin.Test.TxCheck.TestNet3
Bitcoin.Test.Misc.QuickCheck
build-depends: base >= 4 && < 5, array, containers, bytestring,
transformers, mtl, random, binary, time, old-locale,
bitcoin-hs,
QuickCheck >= 2, tasty, tasty-quickcheck, tasty-hunit
default-language: Haskell2010
default-extensions: CPP, BangPatterns