name:                 bitcoin-payment-channel
version:              0.1.1.1
synopsis:             Library for working with Bitcoin payment channels
description:
    A Bitcoin payment channel allows two parties two send value to each other very rapidly.
    The speed of the value transfer is limited primarily by network latency, and payments
    cannot be double spent, as the receiver of funds is defined during channel setup.
    The channel setup procedure is trustless, in that the funding party is able to retrieve the funds,
    after a chosen expiration date, in case the receiving party goes missing.

    This library implements a type of payment channel (CHECKLOCKTIMEVERIFY-style) where channel setup
    is safe from transaction ID malleability, and value transfer is uni-directional (one party
    sends and the other party receives).

author:         Rune K. Svendsen <runesvend@gmail.com>
maintainer:     Rune K. Svendsen <runesvend@gmail.com>
license:        PublicDomain
stability:      experimental
homepage:       https://github.com/runeksvendsen/bitcoin-payment-channel
bug-reports:    https://github.com/runeksvendsen/bitcoin-payment-channel/issues
category:       Bitcoin, Finance, Network
build-type:     Simple
cabal-version:  >=1.10

source-repository head
    type:     git
    location: git://github.com/runeksvendsen/bitcoin-payment-channel.git

library
  exposed-modules:      Data.Bitcoin.PaymentChannel,
                        Data.Bitcoin.PaymentChannel.Types,
                        Data.Bitcoin.PaymentChannel.Util

  other-modules:
                        Data.Bitcoin.PaymentChannel.Internal.Error
                        Data.Bitcoin.PaymentChannel.Internal.Payment,
                        Data.Bitcoin.PaymentChannel.Internal.Refund,
                        Data.Bitcoin.PaymentChannel.Internal.Script,
                        Data.Bitcoin.PaymentChannel.Internal.Settlement,
                        Data.Bitcoin.PaymentChannel.Internal.State,
                        Data.Bitcoin.PaymentChannel.Internal.Types,
                        Data.Bitcoin.PaymentChannel.Internal.Serialization,
                        Data.Bitcoin.PaymentChannel.Internal.Util,
                        Data.Bitcoin.PaymentChannel.Internal.Version

--  ghc-options:          -Wall

  build-depends:        base >= 4.7 && < 5,
                        haskoin-core >= 0.3.0 && < 1.0.0,
                        bytestring, text, base16-bytestring, base58string, hexstring,
                        base64-bytestring,
                        time,
                        cereal, binary, aeson, scientific
  hs-source-dirs:       src

  default-language:     Haskell2010

executable Test
  main-is:              Main.hs

--  default-extensions:   FlexibleContexts

--  other-modules:

--  ghc-options:          -Wall

  build-depends:        base >= 4.7 && < 5,
                        haskoin-core >= 0.3.0 && < 1.0.0,
                        bytestring, base16-bytestring, base64-bytestring,
                        base58string, hexstring, text,
                        time,
                        cereal, binary, aeson,

                        QuickCheck,
                        bitcoin-payment-channel

  hs-source-dirs:       test

  default-language:     Haskell2010
