Copyright | (c) Rune K. Svendsen, 2016 |
---|---|
License | PublicDomain |
Maintainer | runesvend@gmail.com |
Safe Haskell | None |
Language | Haskell2010 |
Types used with the interface provided by Data.Bitcoin.PaymentChannel.
- class PaymentChannel a where
- data SenderPaymentChannel = CSenderPaymentChannel {}
- newtype ReceiverPaymentChannel = CReceiverPaymentChannel {}
- data Payment
- data FundingTxInfo = CFundingTxInfo {}
- data ChannelParameters = CChannelParameters {}
- data PayChanError
- data PaymentChannelState
- data BitcoinAmount
- toWord64 :: BitcoinAmount -> Word64
- data BitcoinLockTime
- fromDate :: UTCTime -> BitcoinLockTime
- b64Encode :: Binary a => a -> ByteString
- dUST_LIMIT :: BitcoinAmount
- mIN_CHANNEL_SIZE :: BitcoinAmount
Documentation
class PaymentChannel a where Source #
Get various information about an open payment channel.
valueToMe :: a -> BitcoinAmount Source #
Get value sent to receiver/left for sender
getChannelState :: a -> PaymentChannelState Source #
Retrieve internal state object
getChannelID :: a -> TxHash Source #
Get channel ID
_setChannelState :: a -> PaymentChannelState -> a Source #
For internal use
channelValueLeft :: a -> BitcoinAmount Source #
channelIsExhausted :: a -> Bool Source #
data SenderPaymentChannel Source #
State object for the value sender
CSenderPaymentChannel | |
|
newtype ReceiverPaymentChannel Source #
State object for the value receiver
CReceiverPaymentChannel | |
|
data FundingTxInfo Source #
Holds information about the Bitcoin transaction used to fund the channel
CFundingTxInfo | |
|
data ChannelParameters Source #
Defines sender, receiver, and expiration date of the channel
CChannelParameters | |
|
data PayChanError Source #
data PaymentChannelState Source #
Shared state object used by both value sender and value receiver.
data BitcoinAmount Source #
Represents a bitcoin amount as number of satoshis.
1 satoshi = 1e-8 bitcoins.
Integer operations will never over- or underflow with this type.
Convert to a Word64 using toWord64
, which caps the final amount.
toWord64 :: BitcoinAmount -> Word64 Source #
Convert to Word64
, with zero as floor, UINT64_MAX as ceiling
data BitcoinLockTime Source #
Data type representing a Bitcoin LockTime, which specifies a point in time.
Derive a BitcoinLockTime
from a UTCTime
using fromDate
.
fromDate :: UTCTime -> BitcoinLockTime Source #
Convert a UTCTime
to a BitcoinLockTime
b64Encode :: Binary a => a -> ByteString Source #