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