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 (re-exported from BOLT1)

newtype Satoshi Source #

Amount in satoshis.

Constructors

Satoshi 

Fields

Instances

Instances details
NFData Satoshi 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

Methods

rnf :: Satoshi -> () #

Enum Satoshi 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

Generic Satoshi 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

Associated Types

type Rep Satoshi 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

type Rep Satoshi = D1 ('MetaData "Satoshi" "Lightning.Protocol.BOLT1.Prim" "ppad-bolt1-0.0.1-9kk6j4MaRHW2ecFq1ls24D" '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 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

Integral Satoshi 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

Real Satoshi 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

Show Satoshi 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

Eq Satoshi 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

Methods

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

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

Ord Satoshi 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

type Rep Satoshi 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

type Rep Satoshi = D1 ('MetaData "Satoshi" "Lightning.Protocol.BOLT1.Prim" "ppad-bolt1-0.0.1-9kk6j4MaRHW2ecFq1ls24D" '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
NFData MilliSatoshi 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

Methods

rnf :: MilliSatoshi -> () #

Enum MilliSatoshi 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

Generic MilliSatoshi 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

Associated Types

type Rep MilliSatoshi 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

type Rep MilliSatoshi = D1 ('MetaData "MilliSatoshi" "Lightning.Protocol.BOLT1.Prim" "ppad-bolt1-0.0.1-9kk6j4MaRHW2ecFq1ls24D" 'True) (C1 ('MetaCons "MilliSatoshi" 'PrefixI 'True) (S1 ('MetaSel ('Just "unMilliSatoshi") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))
Num MilliSatoshi 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

Integral MilliSatoshi 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

Real MilliSatoshi 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

Show MilliSatoshi 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

Eq MilliSatoshi 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

Ord MilliSatoshi 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

type Rep MilliSatoshi 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

type Rep MilliSatoshi = D1 ('MetaData "MilliSatoshi" "Lightning.Protocol.BOLT1.Prim" "ppad-bolt1-0.0.1-9kk6j4MaRHW2ecFq1ls24D" 'True) (C1 ('MetaCons "MilliSatoshi" 'PrefixI 'True) (S1 ('MetaSel ('Just "unMilliSatoshi") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word64)))

msatToSat :: MilliSatoshi -> Satoshi Source #

Convert MilliSatoshi to Satoshi (rounds down).

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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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 #

A 33-byte compressed secp256k1 public key.

Constructors

Point ByteString 

Instances

Instances details
NFData Point 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

Methods

rnf :: Point -> () #

Generic Point 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

Associated Types

type Rep Point 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

type Rep Point = D1 ('MetaData "Point" "Lightning.Protocol.BOLT1.Prim" "ppad-bolt1-0.0.1-9kk6j4MaRHW2ecFq1ls24D" 'True) (C1 ('MetaCons "Point" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

Methods

from :: Point -> Rep Point x #

to :: Rep Point x -> Point #

Show Point 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

Methods

showsPrec :: Int -> Point -> ShowS #

show :: Point -> String #

showList :: [Point] -> ShowS #

Eq Point 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

Methods

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

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

Ord Point 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

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 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

type Rep Point = D1 ('MetaData "Point" "Lightning.Protocol.BOLT1.Prim" "ppad-bolt1-0.0.1-9kk6j4MaRHW2ecFq1ls24D" 'True) (C1 ('MetaCons "Point" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

point :: ByteString -> Maybe Point Source #

Construct a Point from a 33-byte ByteString.

Returns Nothing if the input is not exactly 33 bytes.

Hashes (re-exported from BOLT1)

newtype PaymentHash Source #

A 32-byte SHA256 payment hash.

Constructors

PaymentHash ByteString 

Instances

Instances details
NFData PaymentHash 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

Methods

rnf :: PaymentHash -> () #

Generic PaymentHash 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

Associated Types

type Rep PaymentHash 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

type Rep PaymentHash = D1 ('MetaData "PaymentHash" "Lightning.Protocol.BOLT1.Prim" "ppad-bolt1-0.0.1-9kk6j4MaRHW2ecFq1ls24D" 'True) (C1 ('MetaCons "PaymentHash" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))
Show PaymentHash 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

Eq PaymentHash 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

Ord PaymentHash 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

type Rep PaymentHash 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

type Rep PaymentHash = D1 ('MetaData "PaymentHash" "Lightning.Protocol.BOLT1.Prim" "ppad-bolt1-0.0.1-9kk6j4MaRHW2ecFq1ls24D" 'True) (C1 ('MetaCons "PaymentHash" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

paymentHash :: ByteString -> Maybe PaymentHash Source #

Construct a PaymentHash from a 32-byte ByteString.

Returns Nothing if the input is not exactly 32 bytes.

newtype PaymentPreimage Source #

A 32-byte payment preimage.

Instances

Instances details
NFData PaymentPreimage 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

Methods

rnf :: PaymentPreimage -> () #

Generic PaymentPreimage 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

Associated Types

type Rep PaymentPreimage 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

type Rep PaymentPreimage = D1 ('MetaData "PaymentPreimage" "Lightning.Protocol.BOLT1.Prim" "ppad-bolt1-0.0.1-9kk6j4MaRHW2ecFq1ls24D" 'True) (C1 ('MetaCons "PaymentPreimage" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))
Show PaymentPreimage 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

Eq PaymentPreimage 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

Ord PaymentPreimage 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

type Rep PaymentPreimage 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

type Rep PaymentPreimage = D1 ('MetaData "PaymentPreimage" "Lightning.Protocol.BOLT1.Prim" "ppad-bolt1-0.0.1-9kk6j4MaRHW2ecFq1ls24D" 'True) (C1 ('MetaCons "PaymentPreimage" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

paymentPreimage :: ByteString -> Maybe PaymentPreimage Source #

Construct a PaymentPreimage from a 32-byte ByteString.

Returns Nothing if the input is not exactly 32 bytes.

Transaction primitives

newtype TxId Source #

Transaction ID (32 bytes, little-endian double-SHA256).

Constructors

TxId ByteString 

Instances

Instances details
NFData TxId 
Instance details

Defined in Bitcoin.Prim.Tx

Methods

rnf :: TxId -> () #

Generic TxId 
Instance details

Defined in Bitcoin.Prim.Tx

Associated Types

type Rep TxId 
Instance details

Defined in Bitcoin.Prim.Tx

type Rep TxId = D1 ('MetaData "TxId" "Bitcoin.Prim.Tx" "ppad-tx-0.1.0-DYNxnVCbwvIAo5p2lB5jg7" 'True) (C1 ('MetaCons "TxId" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

Methods

from :: TxId -> Rep TxId x #

to :: Rep TxId x -> TxId #

Show TxId 
Instance details

Defined in Bitcoin.Prim.Tx

Methods

showsPrec :: Int -> TxId -> ShowS #

show :: TxId -> String #

showList :: [TxId] -> ShowS #

Eq TxId 
Instance details

Defined in Bitcoin.Prim.Tx

Methods

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

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

type Rep TxId 
Instance details

Defined in Bitcoin.Prim.Tx

type Rep TxId = D1 ('MetaData "TxId" "Bitcoin.Prim.Tx" "ppad-tx-0.1.0-DYNxnVCbwvIAo5p2lB5jg7" 'True) (C1 ('MetaCons "TxId" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

mkTxId :: ByteString -> Maybe TxId Source #

Construct a TxId from a 32-byte ByteString.

Returns Nothing if the input is not exactly 32 bytes.

  mkTxId (BS.replicate 32 0x00) == Just (TxId ...)
  mkTxId (BS.replicate 31 0x00) == Nothing
  

data OutPoint Source #

Transaction outpoint (txid + output index).

Constructors

OutPoint 

Fields

Instances

Instances details
NFData OutPoint 
Instance details

Defined in Bitcoin.Prim.Tx

Methods

rnf :: OutPoint -> () #

Generic OutPoint 
Instance details

Defined in Bitcoin.Prim.Tx

Associated Types

type Rep OutPoint 
Instance details

Defined in Bitcoin.Prim.Tx

type Rep OutPoint = D1 ('MetaData "OutPoint" "Bitcoin.Prim.Tx" "ppad-tx-0.1.0-DYNxnVCbwvIAo5p2lB5jg7" 'False) (C1 ('MetaCons "OutPoint" 'PrefixI 'True) (S1 ('MetaSel ('Just "op_txid") 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 TxId) :*: S1 ('MetaSel ('Just "op_vout") 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 Word32)))

Methods

from :: OutPoint -> Rep OutPoint x #

to :: Rep OutPoint x -> OutPoint #

Show OutPoint 
Instance details

Defined in Bitcoin.Prim.Tx

Eq OutPoint 
Instance details

Defined in Bitcoin.Prim.Tx

type Rep OutPoint 
Instance details

Defined in Bitcoin.Prim.Tx

type Rep OutPoint = D1 ('MetaData "OutPoint" "Bitcoin.Prim.Tx" "ppad-tx-0.1.0-DYNxnVCbwvIAo5p2lB5jg7" 'False) (C1 ('MetaCons "OutPoint" 'PrefixI 'True) (S1 ('MetaSel ('Just "op_txid") 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 TxId) :*: S1 ('MetaSel ('Just "op_vout") 'SourceUnpack 'SourceStrict 'DecidedUnpack) (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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" 'True) (C1 ('MetaCons "FeeratePerKw" 'PrefixI 'True) (S1 ('MetaSel ('Just "unFeeratePerKw") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word32)))

HTLC types

data HTLC Source #

HTLC output details.

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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" 'True) (C1 ('MetaCons "PerCommitmentPoint" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPerCommitmentPoint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Point)))

newtype PerCommitmentSecret Source #

A 32-byte per-commitment secret.

Instances

Instances details
NFData PerCommitmentSecret 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

Methods

rnf :: PerCommitmentSecret -> () #

Generic PerCommitmentSecret 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

Associated Types

type Rep PerCommitmentSecret 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

type Rep PerCommitmentSecret = D1 ('MetaData "PerCommitmentSecret" "Lightning.Protocol.BOLT1.Prim" "ppad-bolt1-0.0.1-9kk6j4MaRHW2ecFq1ls24D" 'True) (C1 ('MetaCons "PerCommitmentSecret" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))
Show PerCommitmentSecret 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

Eq PerCommitmentSecret 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

Ord PerCommitmentSecret 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

type Rep PerCommitmentSecret 
Instance details

Defined in Lightning.Protocol.BOLT1.Prim

type Rep PerCommitmentSecret = D1 ('MetaData "PerCommitmentSecret" "Lightning.Protocol.BOLT1.Prim" "ppad-bolt1-0.0.1-9kk6j4MaRHW2ecFq1ls24D" 'True) (C1 ('MetaCons "PerCommitmentSecret" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

perCommitmentSecret :: ByteString -> Maybe PerCommitmentSecret Source #

Construct a PerCommitmentSecret from a 32-byte ByteString.

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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" 'True) (C1 ('MetaCons "HtlcBasepoint" 'PrefixI 'True) (S1 ('MetaSel ('Just "unHtlcBasepoint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Point)))

Derived keys

newtype LocalPubkey Source #

Local pubkey.

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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" 'True) (C1 ('MetaCons "LocalPubkey" 'PrefixI 'True) (S1 ('MetaSel ('Just "unLocalPubkey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pubkey)))

newtype RemotePubkey Source #

Remote pubkey.

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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" 'True) (C1 ('MetaCons "RemoteHtlcPubkey" 'PrefixI 'True) (S1 ('MetaSel ('Just "unRemoteHtlcPubkey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pubkey)))

newtype RevocationPubkey Source #

Revocation pubkey.

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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" 'True) (C1 ('MetaCons "FundingPubkey" 'PrefixI 'True) (S1 ('MetaSel ('Just "unFundingPubkey") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Pubkey)))

Script

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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" 'True) (C1 ('MetaCons "Script" 'PrefixI 'True) (S1 ('MetaSel ('Just "unScript") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ByteString)))

Witness (re-exported from ppad-tx)

newtype Witness Source #

Witness stack for a single input.

Constructors

Witness [ByteString] 

Instances

Instances details
NFData Witness 
Instance details

Defined in Bitcoin.Prim.Tx

Methods

rnf :: Witness -> () #

Generic Witness 
Instance details

Defined in Bitcoin.Prim.Tx

Associated Types

type Rep Witness 
Instance details

Defined in Bitcoin.Prim.Tx

type Rep Witness = D1 ('MetaData "Witness" "Bitcoin.Prim.Tx" "ppad-tx-0.1.0-DYNxnVCbwvIAo5p2lB5jg7" 'True) (C1 ('MetaCons "Witness" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ByteString])))

Methods

from :: Witness -> Rep Witness x #

to :: Rep Witness x -> Witness #

Show Witness 
Instance details

Defined in Bitcoin.Prim.Tx

Eq Witness 
Instance details

Defined in Bitcoin.Prim.Tx

Methods

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

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

type Rep Witness 
Instance details

Defined in Bitcoin.Prim.Tx

type Rep Witness = D1 ('MetaData "Witness" "Bitcoin.Prim.Tx" "ppad-tx-0.1.0-DYNxnVCbwvIAo5p2lB5jg7" 'True) (C1 ('MetaCons "Witness" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) '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-ivFIs7KqKGMlCfHgSU6Y" '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-ivFIs7KqKGMlCfHgSU6Y" '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).