{-|
Module : PaymentChannel.Types
Copyright : (c) Rune K. Svendsen, 2016
License : PublicDomain
Maintainer : runesvend@gmail.com
Utility functions for "PaymentChannel".
-}
module PaymentChannel.Util
(
getFundingAddress,Scr.getRedeemScript,
serialize, deserEither,
BtcLockTime, parseLockTime, toWord32, fromDate,
Ser.parseJSONWord,
)
where
import PaymentChannel.Internal.Receiver.Types
import Bitcoin.Util
import qualified PaymentChannel.Internal.Serialization.JSON as Ser
import qualified PaymentChannel.Internal.ChanScript as Scr
import PaymentChannel.Types
-- (ChanParams, FundingTxInfo)
import qualified Network.Haskoin.Crypto as HC
-- | Derive a Bitcoin address, for funding a payment channel, from
-- 'ChanParams'.
-- The transaction which pays to this address is the channel funding transaction,
-- and information about this transaction is contained in
-- 'FundingTxInfo'.
getFundingAddress :: ChanParams -> HC.Address
getFundingAddress = Scr.getP2SHFundingAddress