ppad-bolt3-0.0.1: Bitcoin transaction formats per BOLT #3
Copyright(c) 2025 Jared Tobin
LicenseMIT
MaintainerJared Tobin <jared@ppad.tech>
Safe HaskellNone
LanguageHaskell2010

Lightning.Protocol.BOLT3.Types

Description

Core types for BOLT #3 transaction and script formats.

Synopsis

Monetary amounts

newtype Satoshi Source #

Amount in satoshis.

Constructors

Satoshi 

Fields

Instances

Instances details
Generic Satoshi Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep Satoshi 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep Satoshi = D1 ('MetaData "Satoshi" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "Satoshi" 'PrefixI 'True) (S1 ('MetaSel ('Just "unSatoshi") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))

Methods

from :: Satoshi -> Rep Satoshi x #

to :: Rep Satoshi x -> Satoshi #

Num Satoshi Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Show Satoshi Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq Satoshi Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Methods

(==) :: Satoshi -> Satoshi -> Bool #

(/=) :: Satoshi -> Satoshi -> Bool #

Ord Satoshi Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep Satoshi Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep Satoshi = D1 ('MetaData "Satoshi" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "Satoshi" 'PrefixI 'True) (S1 ('MetaSel ('Just "unSatoshi") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))

newtype MilliSatoshi Source #

Amount in millisatoshis.

Constructors

MilliSatoshi 

Instances

Instances details
Generic MilliSatoshi Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep MilliSatoshi 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep MilliSatoshi = D1 ('MetaData "MilliSatoshi" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "MilliSatoshi" 'PrefixI 'True) (S1 ('MetaSel ('Just "unMilliSatoshi") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))
Num MilliSatoshi Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Show MilliSatoshi Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq MilliSatoshi Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Ord MilliSatoshi Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep MilliSatoshi Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep MilliSatoshi = D1 ('MetaData "MilliSatoshi" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "MilliSatoshi" 'PrefixI 'True) (S1 ('MetaSel ('Just "unMilliSatoshi") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))

msat_to_sat :: MilliSatoshi -> Satoshi Source #

Convert millisatoshis to satoshis (rounds down).

sat_to_msat :: Satoshi -> MilliSatoshi Source #

Convert satoshis to millisatoshis.

Keys and points

newtype Pubkey Source #

Compressed public key (33 bytes).

Constructors

Pubkey 

Fields

Instances

Instances details
Generic Pubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep Pubkey 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep Pubkey = D1 ('MetaData "Pubkey" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "Pubkey" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPubkey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

Methods

from :: Pubkey -> Rep Pubkey x #

to :: Rep Pubkey x -> Pubkey #

Show Pubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq Pubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Methods

(==) :: Pubkey -> Pubkey -> Bool #

(/=) :: Pubkey -> Pubkey -> Bool #

Ord Pubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep Pubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep Pubkey = D1 ('MetaData "Pubkey" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "Pubkey" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPubkey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

pubkey :: ByteString -> Maybe Pubkey Source #

Parse a 33-byte compressed public key.

Returns Nothing if the input is not exactly 33 bytes.

>>> pubkey (BS.replicate 33 0x02)
Just (Pubkey ...)
>>> pubkey (BS.replicate 32 0x02)
Nothing

newtype Seckey Source #

Secret key (32 bytes).

Constructors

Seckey 

Fields

Instances

Instances details
Generic Seckey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep Seckey 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep Seckey = D1 ('MetaData "Seckey" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "Seckey" 'PrefixI 'True) (S1 ('MetaSel ('Just "unSeckey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

Methods

from :: Seckey -> Rep Seckey x #

to :: Rep Seckey x -> Seckey #

Show Seckey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq Seckey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Methods

(==) :: Seckey -> Seckey -> Bool #

(/=) :: Seckey -> Seckey -> Bool #

type Rep Seckey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep Seckey = D1 ('MetaData "Seckey" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "Seckey" 'PrefixI 'True) (S1 ('MetaSel ('Just "unSeckey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

seckey :: ByteString -> Maybe Seckey Source #

Parse a 32-byte secret key.

Returns Nothing if the input is not exactly 32 bytes.

newtype Point Source #

Elliptic curve point (33-byte compressed form).

Constructors

Point 

Fields

Instances

Instances details
Generic Point Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep Point 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep Point = D1 ('MetaData "Point" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "Point" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPoint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

Methods

from :: Point -> Rep Point x #

to :: Rep Point x -> Point #

Show Point Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Methods

showsPrec :: Int -> Point -> ShowS #

show :: Point -> String #

showList :: [Point] -> ShowS #

Eq Point Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Methods

(==) :: Point -> Point -> Bool #

(/=) :: Point -> Point -> Bool #

Ord Point Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Methods

compare :: Point -> Point -> Ordering #

(<) :: Point -> Point -> Bool #

(<=) :: Point -> Point -> Bool #

(>) :: Point -> Point -> Bool #

(>=) :: Point -> Point -> Bool #

max :: Point -> Point -> Point #

min :: Point -> Point -> Point #

type Rep Point Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep Point = D1 ('MetaData "Point" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "Point" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPoint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

point :: ByteString -> Maybe Point Source #

Parse a 33-byte elliptic curve point.

Returns Nothing if the input is not exactly 33 bytes.

Hashes

newtype PaymentHash Source #

Payment hash (32 bytes, SHA256 of preimage).

Constructors

PaymentHash 

Instances

Instances details
Generic PaymentHash Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep PaymentHash 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep PaymentHash = D1 ('MetaData "PaymentHash" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "PaymentHash" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPaymentHash") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))
Show PaymentHash Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq PaymentHash Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Ord PaymentHash Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep PaymentHash Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep PaymentHash = D1 ('MetaData "PaymentHash" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "PaymentHash" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPaymentHash") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

payment_hash :: ByteString -> Maybe PaymentHash Source #

Parse a 32-byte payment hash.

Returns Nothing if the input is not exactly 32 bytes.

newtype PaymentPreimage Source #

Payment preimage (32 bytes).

Instances

Instances details
Generic PaymentPreimage Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep PaymentPreimage 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep PaymentPreimage = D1 ('MetaData "PaymentPreimage" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "PaymentPreimage" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPaymentPreimage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))
Show PaymentPreimage Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq PaymentPreimage Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep PaymentPreimage Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep PaymentPreimage = D1 ('MetaData "PaymentPreimage" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "PaymentPreimage" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPaymentPreimage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

payment_preimage :: ByteString -> Maybe PaymentPreimage Source #

Parse a 32-byte payment preimage.

Returns Nothing if the input is not exactly 32 bytes.

Transaction primitives

newtype TxId Source #

Transaction ID (32 bytes, little-endian hash).

Constructors

TxId 

Fields

Instances

Instances details
Generic TxId Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep TxId 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep TxId = D1 ('MetaData "TxId" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "TxId" 'PrefixI 'True) (S1 ('MetaSel ('Just "unTxId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

Methods

from :: TxId -> Rep TxId x #

to :: Rep TxId x -> TxId #

Show TxId Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Methods

showsPrec :: Int -> TxId -> ShowS #

show :: TxId -> String #

showList :: [TxId] -> ShowS #

Eq TxId Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Methods

(==) :: TxId -> TxId -> Bool #

(/=) :: TxId -> TxId -> Bool #

Ord TxId Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Methods

compare :: TxId -> TxId -> Ordering #

(<) :: TxId -> TxId -> Bool #

(<=) :: TxId -> TxId -> Bool #

(>) :: TxId -> TxId -> Bool #

(>=) :: TxId -> TxId -> Bool #

max :: TxId -> TxId -> TxId #

min :: TxId -> TxId -> TxId #

type Rep TxId Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep TxId = D1 ('MetaData "TxId" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "TxId" 'PrefixI 'True) (S1 ('MetaSel ('Just "unTxId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

txid :: ByteString -> Maybe TxId Source #

Parse a 32-byte transaction ID.

Returns Nothing if the input is not exactly 32 bytes.

data Outpoint Source #

Transaction outpoint (txid + output index).

Constructors

Outpoint 

Instances

Instances details
Generic Outpoint Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep Outpoint 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep Outpoint = D1 ('MetaData "Outpoint" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'False) (C1 ('MetaCons "Outpoint" 'PrefixI 'True) (S1 ('MetaSel ('Just "outpoint_txid") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 TxId) :*: S1 ('MetaSel ('Just "outpoint_index") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Word32)))

Methods

from :: Outpoint -> Rep Outpoint x #

to :: Rep Outpoint x -> Outpoint #

Show Outpoint Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq Outpoint Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Ord Outpoint Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep Outpoint Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep Outpoint = D1 ('MetaData "Outpoint" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'False) (C1 ('MetaCons "Outpoint" 'PrefixI 'True) (S1 ('MetaSel ('Just "outpoint_txid") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 TxId) :*: S1 ('MetaSel ('Just "outpoint_index") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Word32)))

newtype Sequence Source #

Transaction input sequence number.

Constructors

Sequence 

Fields

Instances

Instances details
Generic Sequence Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep Sequence 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep Sequence = D1 ('MetaData "Sequence" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "Sequence" 'PrefixI 'True) (S1 ('MetaSel ('Just "unSequence") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32)))

Methods

from :: Sequence -> Rep Sequence x #

to :: Rep Sequence x -> Sequence #

Num Sequence Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Show Sequence Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq Sequence Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Ord Sequence Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep Sequence Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep Sequence = D1 ('MetaData "Sequence" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "Sequence" 'PrefixI 'True) (S1 ('MetaSel ('Just "unSequence") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32)))

newtype Locktime Source #

Transaction locktime.

Constructors

Locktime 

Fields

Instances

Instances details
Generic Locktime Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep Locktime 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep Locktime = D1 ('MetaData "Locktime" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "Locktime" 'PrefixI 'True) (S1 ('MetaSel ('Just "unLocktime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32)))

Methods

from :: Locktime -> Rep Locktime x #

to :: Rep Locktime x -> Locktime #

Num Locktime Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Show Locktime Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq Locktime Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Ord Locktime Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep Locktime Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep Locktime = D1 ('MetaData "Locktime" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "Locktime" 'PrefixI 'True) (S1 ('MetaSel ('Just "unLocktime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32)))

Channel parameters

newtype CommitmentNumber Source #

48-bit commitment number.

Instances

Instances details
Generic CommitmentNumber Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep CommitmentNumber 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep CommitmentNumber = D1 ('MetaData "CommitmentNumber" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "CommitmentNumber" 'PrefixI 'True) (S1 ('MetaSel ('Just "unCommitmentNumber") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))
Num CommitmentNumber Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Show CommitmentNumber Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq CommitmentNumber Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Ord CommitmentNumber Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep CommitmentNumber Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep CommitmentNumber = D1 ('MetaData "CommitmentNumber" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "CommitmentNumber" 'PrefixI 'True) (S1 ('MetaSel ('Just "unCommitmentNumber") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))

commitment_number :: Word64 -> Maybe CommitmentNumber Source #

Parse a 48-bit commitment number.

Returns Nothing if the value exceeds 2^48 - 1.

newtype ToSelfDelay Source #

CSV delay for to_local outputs.

Constructors

ToSelfDelay 

Instances

Instances details
Generic ToSelfDelay Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep ToSelfDelay 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep ToSelfDelay = D1 ('MetaData "ToSelfDelay" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "ToSelfDelay" 'PrefixI 'True) (S1 ('MetaSel ('Just "unToSelfDelay") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word16)))
Num ToSelfDelay Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Show ToSelfDelay Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq ToSelfDelay Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Ord ToSelfDelay Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep ToSelfDelay Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep ToSelfDelay = D1 ('MetaData "ToSelfDelay" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "ToSelfDelay" 'PrefixI 'True) (S1 ('MetaSel ('Just "unToSelfDelay") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word16)))

newtype CltvExpiry Source #

CLTV expiry for HTLCs.

Constructors

CltvExpiry 

Fields

Instances

Instances details
Generic CltvExpiry Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep CltvExpiry 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep CltvExpiry = D1 ('MetaData "CltvExpiry" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "CltvExpiry" 'PrefixI 'True) (S1 ('MetaSel ('Just "unCltvExpiry") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32)))
Num CltvExpiry Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Show CltvExpiry Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq CltvExpiry Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Ord CltvExpiry Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep CltvExpiry Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep CltvExpiry = D1 ('MetaData "CltvExpiry" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "CltvExpiry" 'PrefixI 'True) (S1 ('MetaSel ('Just "unCltvExpiry") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32)))

newtype DustLimit Source #

Dust limit threshold.

Constructors

DustLimit 

Fields

Instances

Instances details
Generic DustLimit Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep DustLimit 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep DustLimit = D1 ('MetaData "DustLimit" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "DustLimit" 'PrefixI 'True) (S1 ('MetaSel ('Just "unDustLimit") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Satoshi)))
Show DustLimit Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq DustLimit Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Ord DustLimit Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep DustLimit Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep DustLimit = D1 ('MetaData "DustLimit" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "DustLimit" 'PrefixI 'True) (S1 ('MetaSel ('Just "unDustLimit") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Satoshi)))

newtype FeeratePerKw Source #

Fee rate in satoshis per 1000 weight units.

Constructors

FeeratePerKw 

Instances

Instances details
Generic FeeratePerKw Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep FeeratePerKw 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep FeeratePerKw = D1 ('MetaData "FeeratePerKw" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "FeeratePerKw" 'PrefixI 'True) (S1 ('MetaSel ('Just "unFeeratePerKw") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32)))
Num FeeratePerKw Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Show FeeratePerKw Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq FeeratePerKw Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Ord FeeratePerKw Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep FeeratePerKw Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep FeeratePerKw = D1 ('MetaData "FeeratePerKw" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "FeeratePerKw" 'PrefixI 'True) (S1 ('MetaSel ('Just "unFeeratePerKw") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32)))

HTLC types

data HTLC Source #

HTLC output details.

NOTE: No Ord instance is provided. BOLT #3 requires output ordering by amount then scriptPubKey, but scriptPubKey depends on derived keys which are not available here. Use sort_outputs in Tx module for proper BIP69 output ordering.

Instances

Instances details
Generic HTLC Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep HTLC 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep HTLC = D1 ('MetaData "HTLC" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'False) (C1 ('MetaCons "HTLC" 'PrefixI 'True) ((S1 ('MetaSel ('Just "htlc_direction") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 HTLCDirection) :*: S1 ('MetaSel ('Just "htlc_amount_msat") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 MilliSatoshi)) :*: (S1 ('MetaSel ('Just "htlc_payment_hash") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 PaymentHash) :*: S1 ('MetaSel ('Just "htlc_cltv_expiry") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 CltvExpiry))))

Methods

from :: HTLC -> Rep HTLC x #

to :: Rep HTLC x -> HTLC #

Show HTLC Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Methods

showsPrec :: Int -> HTLC -> ShowS #

show :: HTLC -> String #

showList :: [HTLC] -> ShowS #

Eq HTLC Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Methods

(==) :: HTLC -> HTLC -> Bool #

(/=) :: HTLC -> HTLC -> Bool #

type Rep HTLC Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep HTLC = D1 ('MetaData "HTLC" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'False) (C1 ('MetaCons "HTLC" 'PrefixI 'True) ((S1 ('MetaSel ('Just "htlc_direction") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 HTLCDirection) :*: S1 ('MetaSel ('Just "htlc_amount_msat") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 MilliSatoshi)) :*: (S1 ('MetaSel ('Just "htlc_payment_hash") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 PaymentHash) :*: S1 ('MetaSel ('Just "htlc_cltv_expiry") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 CltvExpiry))))

data HTLCDirection Source #

Direction of an HTLC from the commitment tx owner's perspective.

Constructors

HTLCOffered

We offered this HTLC (outgoing)

HTLCReceived

We received this HTLC (incoming)

Instances

Instances details
Generic HTLCDirection Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep HTLCDirection 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep HTLCDirection = D1 ('MetaData "HTLCDirection" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'False) (C1 ('MetaCons "HTLCOffered" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "HTLCReceived" 'PrefixI 'False) (U1 :: Type -> Type))
Show HTLCDirection Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq HTLCDirection Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Ord HTLCDirection Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep HTLCDirection Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep HTLCDirection = D1 ('MetaData "HTLCDirection" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'False) (C1 ('MetaCons "HTLCOffered" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "HTLCReceived" 'PrefixI 'False) (U1 :: Type -> Type))

Basepoints

data Basepoints Source #

Collection of all basepoints for one party.

Instances

Instances details
Generic Basepoints Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep Basepoints 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep Basepoints = D1 ('MetaData "Basepoints" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'False) (C1 ('MetaCons "Basepoints" 'PrefixI 'True) ((S1 ('MetaSel ('Just "bp_revocation") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 RevocationBasepoint) :*: S1 ('MetaSel ('Just "bp_payment") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PaymentBasepoint)) :*: (S1 ('MetaSel ('Just "bp_delayed_payment") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 DelayedPaymentBasepoint) :*: S1 ('MetaSel ('Just "bp_htlc") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 HtlcBasepoint))))
Show Basepoints Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq Basepoints Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep Basepoints Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep Basepoints = D1 ('MetaData "Basepoints" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'False) (C1 ('MetaCons "Basepoints" 'PrefixI 'True) ((S1 ('MetaSel ('Just "bp_revocation") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 RevocationBasepoint) :*: S1 ('MetaSel ('Just "bp_payment") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PaymentBasepoint)) :*: (S1 ('MetaSel ('Just "bp_delayed_payment") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 DelayedPaymentBasepoint) :*: S1 ('MetaSel ('Just "bp_htlc") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 HtlcBasepoint))))

newtype PerCommitmentPoint Source #

Per-commitment point (used to derive keys).

Instances

Instances details
Generic PerCommitmentPoint Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep PerCommitmentPoint 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep PerCommitmentPoint = D1 ('MetaData "PerCommitmentPoint" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "PerCommitmentPoint" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPerCommitmentPoint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Point)))
Show PerCommitmentPoint Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq PerCommitmentPoint Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Ord PerCommitmentPoint Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep PerCommitmentPoint Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep PerCommitmentPoint = D1 ('MetaData "PerCommitmentPoint" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "PerCommitmentPoint" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPerCommitmentPoint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Point)))

newtype PerCommitmentSecret Source #

Per-commitment secret (32 bytes).

Instances

Instances details
Generic PerCommitmentSecret Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep PerCommitmentSecret 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep PerCommitmentSecret = D1 ('MetaData "PerCommitmentSecret" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "PerCommitmentSecret" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPerCommitmentSecret") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))
Show PerCommitmentSecret Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq PerCommitmentSecret Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep PerCommitmentSecret Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep PerCommitmentSecret = D1 ('MetaData "PerCommitmentSecret" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "PerCommitmentSecret" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPerCommitmentSecret") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

per_commitment_secret :: ByteString -> Maybe PerCommitmentSecret Source #

Parse a 32-byte per-commitment secret.

Returns Nothing if the input is not exactly 32 bytes.

newtype RevocationBasepoint Source #

Revocation basepoint.

Instances

Instances details
Generic RevocationBasepoint Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep RevocationBasepoint 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep RevocationBasepoint = D1 ('MetaData "RevocationBasepoint" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "RevocationBasepoint" 'PrefixI 'True) (S1 ('MetaSel ('Just "unRevocationBasepoint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Point)))
Show RevocationBasepoint Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq RevocationBasepoint Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Ord RevocationBasepoint Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep RevocationBasepoint Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep RevocationBasepoint = D1 ('MetaData "RevocationBasepoint" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "RevocationBasepoint" 'PrefixI 'True) (S1 ('MetaSel ('Just "unRevocationBasepoint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Point)))

newtype PaymentBasepoint Source #

Payment basepoint.

Constructors

PaymentBasepoint 

Instances

Instances details
Generic PaymentBasepoint Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep PaymentBasepoint 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep PaymentBasepoint = D1 ('MetaData "PaymentBasepoint" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "PaymentBasepoint" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPaymentBasepoint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Point)))
Show PaymentBasepoint Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq PaymentBasepoint Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Ord PaymentBasepoint Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep PaymentBasepoint Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep PaymentBasepoint = D1 ('MetaData "PaymentBasepoint" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "PaymentBasepoint" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPaymentBasepoint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Point)))

newtype DelayedPaymentBasepoint Source #

Delayed payment basepoint.

Instances

Instances details
Generic DelayedPaymentBasepoint Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep DelayedPaymentBasepoint 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep DelayedPaymentBasepoint = D1 ('MetaData "DelayedPaymentBasepoint" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "DelayedPaymentBasepoint" 'PrefixI 'True) (S1 ('MetaSel ('Just "unDelayedPaymentBasepoint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Point)))
Show DelayedPaymentBasepoint Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq DelayedPaymentBasepoint Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Ord DelayedPaymentBasepoint Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep DelayedPaymentBasepoint Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep DelayedPaymentBasepoint = D1 ('MetaData "DelayedPaymentBasepoint" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "DelayedPaymentBasepoint" 'PrefixI 'True) (S1 ('MetaSel ('Just "unDelayedPaymentBasepoint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Point)))

newtype HtlcBasepoint Source #

HTLC basepoint.

Constructors

HtlcBasepoint 

Instances

Instances details
Generic HtlcBasepoint Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep HtlcBasepoint 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep HtlcBasepoint = D1 ('MetaData "HtlcBasepoint" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "HtlcBasepoint" 'PrefixI 'True) (S1 ('MetaSel ('Just "unHtlcBasepoint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Point)))
Show HtlcBasepoint Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq HtlcBasepoint Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Ord HtlcBasepoint Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep HtlcBasepoint Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep HtlcBasepoint = D1 ('MetaData "HtlcBasepoint" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "HtlcBasepoint" 'PrefixI 'True) (S1 ('MetaSel ('Just "unHtlcBasepoint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Point)))

Derived keys

newtype LocalPubkey Source #

Local pubkey (derived from payment_basepoint + per_commitment_point).

Constructors

LocalPubkey 

Instances

Instances details
Generic LocalPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep LocalPubkey 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep LocalPubkey = D1 ('MetaData "LocalPubkey" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "LocalPubkey" 'PrefixI 'True) (S1 ('MetaSel ('Just "unLocalPubkey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pubkey)))
Show LocalPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq LocalPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Ord LocalPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep LocalPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep LocalPubkey = D1 ('MetaData "LocalPubkey" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "LocalPubkey" 'PrefixI 'True) (S1 ('MetaSel ('Just "unLocalPubkey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pubkey)))

newtype RemotePubkey Source #

Remote pubkey (simply the remote's payment_basepoint).

Constructors

RemotePubkey 

Instances

Instances details
Generic RemotePubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep RemotePubkey 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep RemotePubkey = D1 ('MetaData "RemotePubkey" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "RemotePubkey" 'PrefixI 'True) (S1 ('MetaSel ('Just "unRemotePubkey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pubkey)))
Show RemotePubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq RemotePubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Ord RemotePubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep RemotePubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep RemotePubkey = D1 ('MetaData "RemotePubkey" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "RemotePubkey" 'PrefixI 'True) (S1 ('MetaSel ('Just "unRemotePubkey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pubkey)))

newtype LocalDelayedPubkey Source #

Local delayed pubkey.

Instances

Instances details
Generic LocalDelayedPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep LocalDelayedPubkey 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep LocalDelayedPubkey = D1 ('MetaData "LocalDelayedPubkey" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "LocalDelayedPubkey" 'PrefixI 'True) (S1 ('MetaSel ('Just "unLocalDelayedPubkey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pubkey)))
Show LocalDelayedPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq LocalDelayedPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Ord LocalDelayedPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep LocalDelayedPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep LocalDelayedPubkey = D1 ('MetaData "LocalDelayedPubkey" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "LocalDelayedPubkey" 'PrefixI 'True) (S1 ('MetaSel ('Just "unLocalDelayedPubkey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pubkey)))

newtype RemoteDelayedPubkey Source #

Remote delayed pubkey.

Instances

Instances details
Generic RemoteDelayedPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep RemoteDelayedPubkey 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep RemoteDelayedPubkey = D1 ('MetaData "RemoteDelayedPubkey" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "RemoteDelayedPubkey" 'PrefixI 'True) (S1 ('MetaSel ('Just "unRemoteDelayedPubkey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pubkey)))
Show RemoteDelayedPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq RemoteDelayedPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Ord RemoteDelayedPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep RemoteDelayedPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep RemoteDelayedPubkey = D1 ('MetaData "RemoteDelayedPubkey" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "RemoteDelayedPubkey" 'PrefixI 'True) (S1 ('MetaSel ('Just "unRemoteDelayedPubkey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pubkey)))

newtype LocalHtlcPubkey Source #

Local HTLC pubkey.

Constructors

LocalHtlcPubkey 

Instances

Instances details
Generic LocalHtlcPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep LocalHtlcPubkey 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep LocalHtlcPubkey = D1 ('MetaData "LocalHtlcPubkey" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "LocalHtlcPubkey" 'PrefixI 'True) (S1 ('MetaSel ('Just "unLocalHtlcPubkey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pubkey)))
Show LocalHtlcPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq LocalHtlcPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Ord LocalHtlcPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep LocalHtlcPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep LocalHtlcPubkey = D1 ('MetaData "LocalHtlcPubkey" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "LocalHtlcPubkey" 'PrefixI 'True) (S1 ('MetaSel ('Just "unLocalHtlcPubkey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pubkey)))

newtype RemoteHtlcPubkey Source #

Remote HTLC pubkey.

Instances

Instances details
Generic RemoteHtlcPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep RemoteHtlcPubkey 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep RemoteHtlcPubkey = D1 ('MetaData "RemoteHtlcPubkey" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "RemoteHtlcPubkey" 'PrefixI 'True) (S1 ('MetaSel ('Just "unRemoteHtlcPubkey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pubkey)))
Show RemoteHtlcPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq RemoteHtlcPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Ord RemoteHtlcPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep RemoteHtlcPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep RemoteHtlcPubkey = D1 ('MetaData "RemoteHtlcPubkey" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "RemoteHtlcPubkey" 'PrefixI 'True) (S1 ('MetaSel ('Just "unRemoteHtlcPubkey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pubkey)))

newtype RevocationPubkey Source #

Revocation pubkey (derived from revocation_basepoint + per_commitment).

Instances

Instances details
Generic RevocationPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep RevocationPubkey 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep RevocationPubkey = D1 ('MetaData "RevocationPubkey" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "RevocationPubkey" 'PrefixI 'True) (S1 ('MetaSel ('Just "unRevocationPubkey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pubkey)))
Show RevocationPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq RevocationPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Ord RevocationPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep RevocationPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep RevocationPubkey = D1 ('MetaData "RevocationPubkey" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "RevocationPubkey" 'PrefixI 'True) (S1 ('MetaSel ('Just "unRevocationPubkey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pubkey)))

newtype FundingPubkey Source #

Funding pubkey (used in 2-of-2 multisig).

Constructors

FundingPubkey 

Instances

Instances details
Generic FundingPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep FundingPubkey 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep FundingPubkey = D1 ('MetaData "FundingPubkey" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "FundingPubkey" 'PrefixI 'True) (S1 ('MetaSel ('Just "unFundingPubkey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pubkey)))
Show FundingPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq FundingPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Ord FundingPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep FundingPubkey Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep FundingPubkey = D1 ('MetaData "FundingPubkey" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "FundingPubkey" 'PrefixI 'True) (S1 ('MetaSel ('Just "unFundingPubkey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pubkey)))

Script and witness

newtype Script Source #

Bitcoin script (serialized).

Constructors

Script 

Fields

Instances

Instances details
Generic Script Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep Script 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep Script = D1 ('MetaData "Script" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "Script" 'PrefixI 'True) (S1 ('MetaSel ('Just "unScript") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

Methods

from :: Script -> Rep Script x #

to :: Rep Script x -> Script #

Show Script Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq Script Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Methods

(==) :: Script -> Script -> Bool #

(/=) :: Script -> Script -> Bool #

Ord Script Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep Script Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep Script = D1 ('MetaData "Script" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "Script" 'PrefixI 'True) (S1 ('MetaSel ('Just "unScript") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

newtype Witness Source #

Transaction witness stack.

Constructors

Witness 

Fields

Instances

Instances details
Generic Witness Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep Witness 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep Witness = D1 ('MetaData "Witness" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "Witness" 'PrefixI 'True) (S1 ('MetaSel ('Just "unWitness") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ByteString])))

Methods

from :: Witness -> Rep Witness x #

to :: Rep Witness x -> Witness #

Show Witness Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq Witness Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Methods

(==) :: Witness -> Witness -> Bool #

(/=) :: Witness -> Witness -> Bool #

Ord Witness Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep Witness Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep Witness = D1 ('MetaData "Witness" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'True) (C1 ('MetaCons "Witness" 'PrefixI 'True) (S1 ('MetaSel ('Just "unWitness") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ByteString])))

Channel options

data ChannelFeatures Source #

Channel feature flags relevant to BOLT #3.

Constructors

ChannelFeatures 

Instances

Instances details
Generic ChannelFeatures Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Associated Types

type Rep ChannelFeatures 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep ChannelFeatures = D1 ('MetaData "ChannelFeatures" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'False) (C1 ('MetaCons "ChannelFeatures" 'PrefixI 'True) (S1 ('MetaSel ('Just "cf_option_anchors") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool)))
Show ChannelFeatures Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

Eq ChannelFeatures Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep ChannelFeatures Source # 
Instance details

Defined in Lightning.Protocol.BOLT3.Types

type Rep ChannelFeatures = D1 ('MetaData "ChannelFeatures" "Lightning.Protocol.BOLT3.Types" "ppad-bolt3-0.0.1-BTVAwWY46FT4MsZtX0EtFp" 'False) (C1 ('MetaCons "ChannelFeatures" 'PrefixI 'True) (S1 ('MetaSel ('Just "cf_option_anchors") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool)))

has_anchors :: ChannelFeatures -> Bool Source #

Check if option_anchors is enabled.

Transaction weights (constants)

commitment_weight_no_anchors :: Word64 Source #

Base commitment tx weight without option_anchors.

commitment_weight_anchors :: Word64 Source #

Base commitment tx weight with option_anchors.

htlc_timeout_weight_no_anchors :: Word64 Source #

HTLC-timeout tx weight without option_anchors.

htlc_timeout_weight_anchors :: Word64 Source #

HTLC-timeout tx weight with option_anchors.

htlc_success_weight_no_anchors :: Word64 Source #

HTLC-success tx weight without option_anchors.

htlc_success_weight_anchors :: Word64 Source #

HTLC-success tx weight with option_anchors.

htlc_output_weight :: Word64 Source #

Weight added per HTLC output in commitment tx.

Dust thresholds (constants)

dust_p2pkh :: Satoshi Source #

P2PKH dust threshold (546 satoshis).

dust_p2sh :: Satoshi Source #

P2SH dust threshold (540 satoshis).

dust_p2wpkh :: Satoshi Source #

P2WPKH dust threshold (294 satoshis).

dust_p2wsh :: Satoshi Source #

P2WSH dust threshold (330 satoshis).

anchor_output_value :: Satoshi Source #

Fixed anchor output value (330 satoshis).