-- This file has been generated from package.yaml by hpack version 0.17.0.
--
-- see: https://github.com/sol/hpack
name: bitcoin-payment-channel
version: 1.2.0.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 KindSignatures DataKinds ScopedTypeVariables DeriveGeneric DeriveFunctor
ghc-options: -Wall
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 && <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 && <1.0
, deepseq >=1.3 && <1.5
, rbpcp-api
, blockchain-restful-address-index-api
, hspec
, data-default-class
, either
, transformers
, mtl
exposed-modules:
PaymentChannel
PaymentChannel.Types
PaymentChannel.Util
PaymentChannel.Test
PaymentChannel.RBPCP.Parse
Bitcoin.BIP32
Bitcoin.BIP32.Types
Bitcoin.BIP32.DetDerive
Bitcoin.Util
Bitcoin.Internal.Util
Bitcoin.Signature
Bitcoin.SpendCond.Cond
Bitcoin.SpendCond.Util
other-modules:
Bitcoin.Amount
Bitcoin.Compare
Bitcoin.Conversion
Bitcoin.Dust
Bitcoin.Error
Bitcoin.Fee
Bitcoin.Internal.Orphans
Bitcoin.Internal.Types
Bitcoin.LockTime.Types
Bitcoin.LockTime.Util
Bitcoin.Orphans
Bitcoin.SinglePair
Bitcoin.Tx
Bitcoin.Types
Bitcoin.Types.ExpectFail
Bitcoin.Types.Tx
PaymentChannel.Client
PaymentChannel.Internal.ChanScript
PaymentChannel.Internal.Class.Value
PaymentChannel.Internal.Config
PaymentChannel.Internal.Crypto.PubKey
PaymentChannel.Internal.Error
PaymentChannel.Internal.Error.Internal
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.Receiver.Open
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.Types
PaymentChannel.Internal.Types.Hour
PaymentChannel.Internal.Types.MonadConf
PaymentChannel.Internal.Util
PaymentChannel.Server
Paths_bitcoin_payment_channel
default-language: Haskell2010
test-suite test-all
type: exitcode-stdio-1.0
main-is: Spec.hs
hs-source-dirs:
test
default-extensions: OverloadedStrings RecordWildCards MultiParamTypeClasses TypeSynonymInstances FlexibleInstances FlexibleContexts FunctionalDependencies KindSignatures DataKinds ScopedTypeVariables DeriveGeneric DeriveFunctor
ghc-options: -Wall
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 && <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 && <1.0
, deepseq >=1.3 && <1.5
, rbpcp-api
, blockchain-restful-address-index-api
, hspec
, data-default-class
, either
, transformers
, mtl
, bitcoin-payment-channel
, hspec-discover
, base64-bytestring
, test-framework
, test-framework-quickcheck2
, tf-random
, random
, mtl
other-modules:
BitcoinSpec
DetDeriveSpec
PayChanSpec
SpendCondSpec
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 KindSignatures DataKinds ScopedTypeVariables DeriveGeneric DeriveFunctor
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 && <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 && <1.0
, deepseq >=1.3 && <1.5
, rbpcp-api
, blockchain-restful-address-index-api
, hspec
, data-default-class
, either
, transformers
, mtl
, criterion
, bitcoin-payment-channel
default-language: Haskell2010