-- This file has been generated from package.yaml by hpack version 0.15.0.
--
-- see: https://github.com/sol/hpack
name: bitcoin-payment-channel
version: 1.0.1.0
synopsis: Instant, two-party Bitcoin payments
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).
category: Bitcoin, Finance, Network
stability: experimental
homepage: https://github.com/runeksvendsen/bitcoin-payment-channel
bug-reports: https://github.com/runeksvendsen/bitcoin-payment-channel/issues
author: Rune K. Svendsen <runesvend@gmail.com>
maintainer: Rune K. Svendsen <runesvend@gmail.com>
license: OtherLicense
license-file: LICENSE
build-type: Simple
cabal-version: >= 1.10
source-repository head
type: git
location: git://github.com/runeksvendsen/bitcoin-payment-channel.git
library
hs-source-dirs:
src
default-extensions: OverloadedStrings RecordWildCards MultiParamTypeClasses TypeSynonymInstances FlexibleInstances FlexibleContexts FunctionalDependencies DataKinds ScopedTypeVariables
ghc-options: -W
build-depends:
base >=4.7 && <5
, haskoin-core >=0.4.0 && <0.5.0
, rbpcp-api
, 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 && <1.1
, scientific >=0.3.0 && <0.4.0
, string-conversions >=0.4 && <0.5
, tagged >=0.8 && <1.0
, semigroups >=0.17 && <0.19
, QuickCheck >=2.8 && <2.10
, monad-time ==0.2
, deepseq >=1.3 && <1.5
, hspec
exposed-modules:
PaymentChannel
PaymentChannel.Types
PaymentChannel.Util
PaymentChannel.Test
Bitcoin.SpendCond.Cond
Bitcoin.SpendCond.Util
other-modules:
Bitcoin.Amount
Bitcoin.Compare
Bitcoin.Config
Bitcoin.Conversion
Bitcoin.Dust
Bitcoin.Error
Bitcoin.Fee
Bitcoin.LockTime.Types
Bitcoin.LockTime.Util
Bitcoin.Orphans
Bitcoin.Signature
Bitcoin.SinglePair
Bitcoin.SpendCond.Spec
Bitcoin.Tx
Bitcoin.Types
Bitcoin.Util
PaymentChannel.Internal.ChanScript
PaymentChannel.Internal.Class.Value
PaymentChannel.Internal.Config
PaymentChannel.Internal.Crypto.PubKey
PaymentChannel.Internal.Error
PaymentChannel.Internal.Error.Server
PaymentChannel.Internal.Error.Status
PaymentChannel.Internal.Error.User
PaymentChannel.Internal.Metadata.Types
PaymentChannel.Internal.Metadata.Util
PaymentChannel.Internal.Payment
PaymentChannel.Internal.Payment.Create
PaymentChannel.Internal.Payment.Types
PaymentChannel.Internal.Payment.Verify
PaymentChannel.Internal.RBPCP.Parse
PaymentChannel.Internal.Receiver.Settle
PaymentChannel.Internal.Receiver.Types
PaymentChannel.Internal.Receiver.Util
PaymentChannel.Internal.Refund
PaymentChannel.Internal.Serialization
PaymentChannel.Internal.Serialization.JSON
PaymentChannel.Internal.Serialization.Orphans
PaymentChannel.Internal.Settlement
PaymentChannel.Internal.Settlement.Config
PaymentChannel.Internal.Settlement.Script
PaymentChannel.Internal.Settlement.Types
PaymentChannel.Internal.Settlement.Util
PaymentChannel.Internal.State
PaymentChannel.Internal.Types
PaymentChannel.Internal.Util
Paths_bitcoin_payment_channel
default-language: Haskell2010
test-suite test-bitcoin-payment-channel
type: exitcode-stdio-1.0
main-is: Main.hs
hs-source-dirs:
test
default-extensions: OverloadedStrings RecordWildCards MultiParamTypeClasses TypeSynonymInstances FlexibleInstances FlexibleContexts FunctionalDependencies DataKinds ScopedTypeVariables
ghc-options: -Wall
build-depends:
base >=4.7 && <5
, haskoin-core >=0.4.0 && <0.5.0
, rbpcp-api
, 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 && <1.1
, scientific >=0.3.0 && <0.4.0
, string-conversions >=0.4 && <0.5
, tagged >=0.8 && <1.0
, semigroups >=0.17 && <0.19
, QuickCheck >=2.8 && <2.10
, monad-time ==0.2
, deepseq >=1.3 && <1.5
, hspec
, bitcoin-payment-channel
, base64-bytestring
, test-framework
, test-framework-quickcheck2
, tf-random
, random
, mtl
default-language: Haskell2010
benchmark bench
type: exitcode-stdio-1.0
main-is: Main.hs
hs-source-dirs:
bench
default-extensions: OverloadedStrings RecordWildCards MultiParamTypeClasses TypeSynonymInstances FlexibleInstances FlexibleContexts FunctionalDependencies DataKinds ScopedTypeVariables
build-depends:
base >=4.7 && <5
, haskoin-core >=0.4.0 && <0.5.0
, rbpcp-api
, 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 && <1.1
, scientific >=0.3.0 && <0.4.0
, string-conversions >=0.4 && <0.5
, tagged >=0.8 && <1.0
, semigroups >=0.17 && <0.19
, QuickCheck >=2.8 && <2.10
, monad-time ==0.2
, deepseq >=1.3 && <1.5
, hspec
, criterion
, bitcoin-payment-channel
default-language: Haskell2010