name: bitcoin-payment-channel
version: 0.6.0.0
synopsis: Library for working with Bitcoin payment channels
description:
A Bitcoin payment channel allows secure and instant transfer of bitcoins from one
party to another. Payments are created and verified in less than a millisecond
(plus network latency), and cannot be double spent, as the receiver of funds is defined
during channel setup.
When the channel is closed, the settlement transaction transfers the appropriate value to each
party, thus paying the Bitcoin transaction fee only once, regardless of the number of payments
made over the channel.
The channel setup procedure is trustless, because the funding party - after the chosen
expiration date - is able to reclaim the bitcoins used to fund the channel,
in case the receiving party goes missing.
This library implements a type of payment channel where channel setup
is safe from transaction ID malleability, and value transfer is uni-directional (one party
sends and the other party receives) (CHECKLOCKTIMEVERIFY-style).
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
Data.Bitcoin.PaymentChannel.Test
other-modules: Data.Bitcoin.PaymentChannel.Internal.State
Data.Bitcoin.PaymentChannel.Internal.Error
Data.Bitcoin.PaymentChannel.Internal.Payment
Data.Bitcoin.PaymentChannel.Internal.Refund
Data.Bitcoin.PaymentChannel.Internal.Bitcoin.Amount
Data.Bitcoin.PaymentChannel.Internal.Bitcoin.Script
Data.Bitcoin.PaymentChannel.Internal.Bitcoin.Util
Data.Bitcoin.PaymentChannel.Internal.Bitcoin.LockTime
Data.Bitcoin.PaymentChannel.Internal.Bitcoin.Fee
Data.Bitcoin.PaymentChannel.Internal.Crypto.PubKey
Data.Bitcoin.PaymentChannel.Internal.Settlement
Data.Bitcoin.PaymentChannel.Internal.Types
Data.Bitcoin.PaymentChannel.Internal.Serialization
Data.Bitcoin.PaymentChannel.Internal.Util
ghc-options: -Wall
default-language: Haskell2010
build-depends: base >= 4.7 && < 5,
haskoin-core >= 0.4.0 && < 0.5.0,
base16-bytestring >= 0.1.0 && < 0.2.0,
bytestring >= 0.10.0 && < 0.11.0,
cereal >= 0.5.0 && < 0.6.0,
errors >= 2.0.0 && < 2.2.0,
hexstring >= 0.11.0 && < 0.12.0,
text >= 1.2.0 && < 1.3.0,
time >= 1.5.0 && < 1.7.0,
aeson >= 0.11.0 && < 0.12.0,
scientific >= 0.3.0 && < 0.4.0,
string-conversions >= 0.4 && < 0.5,
tagged >= 0.8 && < 1.0,
QuickCheck >= 2.8 && < 2.9
hs-source-dirs: src
test-suite test-bitcoin-payment-channel
type: exitcode-stdio-1.0
main-is: Main.hs
default-language: Haskell2010
hs-source-dirs: test
ghc-options: -Wall
build-depends: base >= 4.7 && < 5,
haskoin-core >= 0.4.0 && < 1.0.0,
QuickCheck >= 2.8 && < 2.9,
bytestring,
base16-bytestring, base64-bytestring,
hexstring, text,
string-conversions,
time,
cereal, aeson,
test-framework, test-framework-quickcheck2,
bitcoin-payment-channel