Table of Contents

Class OpenChannel1Payload

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

Represents the payload for the open_channel message.

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

Remarks

Initializes a new instance of the OpenChannel1Payload class.

Constructors

OpenChannel1Payload(ChainHash, ChannelFlags, ChannelId, LightningMoney, CompactPubKey, LightningMoney, LightningMoney, CompactPubKey, LightningMoney, CompactPubKey, CompactPubKey, LightningMoney, ushort, LightningMoney, CompactPubKey, LightningMoney, CompactPubKey, ushort)

public OpenChannel1Payload(ChainHash chainHash, ChannelFlags channelFlags, ChannelId channelId, LightningMoney channelReserveAmount, CompactPubKey delayedPaymentBasepoint, LightningMoney dustLimitAmount, LightningMoney feeRatePerKw, CompactPubKey firstPerCommitmentPoint, LightningMoney fundingAmount, CompactPubKey fundingPubKey, CompactPubKey htlcBasepoint, LightningMoney htlcMinimumAmount, ushort maxAcceptedHtlcs, LightningMoney maxHtlcValueInFlight, CompactPubKey paymentBasepoint, LightningMoney pushAmount, CompactPubKey revocationBasepoint, ushort toSelfDelay)

Parameters

chainHash ChainHash
channelFlags ChannelFlags
channelId ChannelId
channelReserveAmount LightningMoney
delayedPaymentBasepoint CompactPubKey
dustLimitAmount LightningMoney
feeRatePerKw LightningMoney
firstPerCommitmentPoint CompactPubKey
fundingAmount LightningMoney
fundingPubKey CompactPubKey
htlcBasepoint CompactPubKey
htlcMinimumAmount LightningMoney
maxAcceptedHtlcs ushort
maxHtlcValueInFlight LightningMoney
paymentBasepoint CompactPubKey
pushAmount LightningMoney
revocationBasepoint CompactPubKey
toSelfDelay ushort

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

ChannelReserveAmount

channel_reserve_satoshis is the amount that must remain in the channel after a commitment transaction

public LightningMoney ChannelReserveAmount { get; }

Property Value

LightningMoney

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

FeeRatePerKw

feerate_per_kw is the fee rate that will be paid for the commitment transaction in satoshi per 1000-weight

public LightningMoney FeeRatePerKw { 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

Remarks

Amount is used in Satoshis

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

MaxAcceptedHtlcs

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

public ushort MaxAcceptedHtlcs { get; }

Property Value

ushort

MaxHtlcValueInFlight

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 MaxHtlcValueInFlight { get; }

Property Value

LightningMoney

PaymentBasepoint

payment_basepoint is used to produce payment signatures for the protocol

public CompactPubKey PaymentBasepoint { get; }

Property Value

CompactPubKey

PushAmount

push_msat is the amount the sender is pushing to the receiver of the channel.

public LightningMoney PushAmount { get; }

Property Value

LightningMoney

Remarks

Amount is used in Millisatoshis

RevocationBasepoint

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

public CompactPubKey RevocationBasepoint { 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