Table of Contents

Class OpenChannel2Payload

Namespace
NLightning.Domain.Protocol.Payloads
Assembly
NLightning.Domain.dll

Represents the payload for the open_channel2 message.

public class OpenChannel2Payload : IChannelMessagePayload, IMessagePayload
Inheritance
OpenChannel2Payload
Implements
Inherited Members

Remarks

Initializes a new instance of the OpenChannel2Payload class.

Constructors

OpenChannel2Payload(ChainHash, ChannelFlags, uint, CompactPubKey, LightningMoney, CompactPubKey, ulong, uint, CompactPubKey, CompactPubKey, LightningMoney, uint, ushort, LightningMoney, CompactPubKey, CompactPubKey, CompactPubKey, ushort, ChannelId)

Represents the payload for the open_channel2 message.

public OpenChannel2Payload(ChainHash chainHash, ChannelFlags channelFlags, uint commitmentFeeRatePerKw, CompactPubKey delayedPaymentBasepoint, LightningMoney dustLimitAmount, CompactPubKey firstPerCommitmentPoint, ulong fundingAmount, uint fundingFeeRatePerKw, CompactPubKey fundingPubKey, CompactPubKey htlcBasepoint, LightningMoney htlcMinimumAmount, uint locktime, ushort maxAcceptedHtlcs, LightningMoney maxHtlcValueInFlight, CompactPubKey paymentBasepoint, CompactPubKey revocationBasepoint, CompactPubKey secondPerCommitmentPoint, ushort toSelfDelay, ChannelId channelId)

Parameters

chainHash ChainHash
channelFlags ChannelFlags
commitmentFeeRatePerKw uint
delayedPaymentBasepoint CompactPubKey
dustLimitAmount LightningMoney
firstPerCommitmentPoint CompactPubKey
fundingAmount ulong
fundingFeeRatePerKw uint
fundingPubKey CompactPubKey
htlcBasepoint CompactPubKey
htlcMinimumAmount LightningMoney
locktime uint
maxAcceptedHtlcs ushort
maxHtlcValueInFlight LightningMoney
paymentBasepoint CompactPubKey
revocationBasepoint CompactPubKey
secondPerCommitmentPoint CompactPubKey
toSelfDelay ushort
channelId ChannelId

Remarks

Initializes a new instance of the OpenChannel2Payload class.

Properties

ChainHash

The chain_hash value denotes the exact blockchain that the opened channel will reside within.

public ChainHash ChainHash { get; }

Property Value

ChainHash

ChannelFlags

Only the least-significant bit of channel_flags is currently defined: announce_channel. This indicates whether the initiator of the funding flow wishes to advertise this channel publicly to the network

public ChannelFlags ChannelFlags { get; }

Property Value

ChannelFlags

ChannelId

The temporary_channel_id is used to identify this channel on a per-peer basis until the funding transaction is established, at which point it is replaced by the channel_id, which is derived from the funding transaction.

public ChannelId ChannelId { get; }

Property Value

ChannelId

CommitmentFeeRatePerKw

commitment_feerate_perkw indicates the fee rate that will be paid for the commitment transaction in satoshi per 1000-weight, as described in BOLT-3, Appendix F

public uint CommitmentFeeRatePerKw { get; }

Property Value

uint

DelayedPaymentBasepoint

delayed_payment_basepoint is used to regenerate the scripts required for the penalty transaction

public CompactPubKey DelayedPaymentBasepoint { get; }

Property Value

CompactPubKey

DustLimitAmount

dust_limit_satoshis is the threshold below which outputs should not be generated for this node's commitment or HTLC transactions

public LightningMoney DustLimitAmount { get; }

Property Value

LightningMoney

FirstPerCommitmentPoint

first_per_commitment_point is the per-commitment point used for the first commitment transaction

public CompactPubKey FirstPerCommitmentPoint { get; }

Property Value

CompactPubKey

FundingAmount

funding_satoshis is the amount the sender is putting into the channel.

public LightningMoney FundingAmount { get; }

Property Value

LightningMoney

FundingFeeRatePerKw

funding_feerate_perkw indicates the fee rate that the opening node will pay for the funding transaction in satoshi per 1000-weight, as described in BOLT-3, Appendix F

public uint FundingFeeRatePerKw { get; }

Property Value

uint

FundingPubKey

funding_pubkey is the public key in the 2-of-2 multisig script of the funding transaction output.

public CompactPubKey FundingPubKey { get; }

Property Value

CompactPubKey

HtlcBasepoint

htlc_basepoint is used to produce HTLC signatures for the protocol

public CompactPubKey HtlcBasepoint { get; }

Property Value

CompactPubKey

HtlcMinimumAmount

htlc_minimum_msat indicates the smallest value HTLC this node will accept.

public LightningMoney HtlcMinimumAmount { get; }

Property Value

LightningMoney

Locktime

locktime is the locktime for the funding transaction.

public uint Locktime { get; }

Property Value

uint

MaxAcceptedHtlcs

max_accepted_htlcs limits the number of outstanding HTLCs the remote node can offer.

public ushort MaxAcceptedHtlcs { get; }

Property Value

ushort

MaxHtlcValueInFlightAmount

max_htlc_value_in_flight_msat is a cap on total value of outstanding HTLCs offered by the remote node, which allows the local node to limit its exposure to HTLCs

public LightningMoney MaxHtlcValueInFlightAmount { get; }

Property Value

LightningMoney

PaymentBasepoint

payment_basepoint is used to produce payment signatures for the protocol

public CompactPubKey PaymentBasepoint { get; }

Property Value

CompactPubKey

RevocationBasepoint

revocation_basepoint is used to regenerate the scripts required for the penalty transaction

public CompactPubKey RevocationBasepoint { get; }

Property Value

CompactPubKey

SecondPerCommitmentPoint

second_per_commitment_point is the per-commitment point used for the first commitment transaction

public CompactPubKey SecondPerCommitmentPoint { get; }

Property Value

CompactPubKey

ToSelfDelay

to_self_delay is how long (in blocks) the other node will have to wait in case of breakdown before redeeming its own funds.

public ushort ToSelfDelay { get; }

Property Value

ushort