Class OpenChannel2Payload
- Namespace
- NLightning.Bolts.BOLT2.Payloads
- Assembly
- NLightning.Bolts.dll
Represents the payload for the open_channel2 message.
public class OpenChannel2Payload : IMessagePayload
- Inheritance
-
OpenChannel2Payload
- Implements
- Inherited Members
Remarks
Initializes a new instance of the OpenChannel2Payload class. This class depends on the initialized singleton class ConfigManager.
Constructors
OpenChannel2Payload(ChannelId, uint, uint, ulong, PubKey, PubKey, PubKey, PubKey, PubKey, PubKey, PubKey, ChannelFlags)
public OpenChannel2Payload(ChannelId temporaryChannelId, uint fundingFeeRatePerKw, uint commitmentFeeRatePerKw, ulong fundingSatoshis, PubKey fundingPubKey, PubKey revocationBasepoint, PubKey paymentBasepoint, PubKey delayedPaymentBasepoint, PubKey htlcBasepoint, PubKey firstPerCommitmentPoint, PubKey secondPerCommitmentPoint, ChannelFlags channelFlags)
Parameters
temporaryChannelId
ChannelIdfundingFeeRatePerKw
uintcommitmentFeeRatePerKw
uintfundingSatoshis
ulongfundingPubKey
PubKeyrevocationBasepoint
PubKeypaymentBasepoint
PubKeydelayedPaymentBasepoint
PubKeyhtlcBasepoint
PubKeyfirstPerCommitmentPoint
PubKeysecondPerCommitmentPoint
PubKeychannelFlags
ChannelFlags
Properties
ChainHash
The chain_hash value denotes the exact blockchain that the opened channel will reside within.
public ChainHash ChainHash { get; }
Property Value
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; set; }
Property Value
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; set; }
Property Value
DelayedPaymentBasepoint
delayed_payment_basepoint is used to regenerate the scripts required for the penalty transaction
public PubKey DelayedPaymentBasepoint { get; set; }
Property Value
- PubKey
DustLimitSatoshis
dust_limit_satoshis is the threshold below which outputs should not be generated for this node's commitment or HTLC transactions
public ulong DustLimitSatoshis { get; }
Property Value
FirstPerCommitmentPoint
first_per_commitment_point is the per-commitment point used for the first commitment transaction
public PubKey FirstPerCommitmentPoint { get; set; }
Property Value
- PubKey
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; set; }
Property Value
FundingPubKey
funding_pubkey is the public key in the 2-of-2 multisig script of the funding transaction output.
public PubKey FundingPubKey { get; set; }
Property Value
- PubKey
FundingSatoshis
funding_satoshis is the amount the sender is putting into the channel.
public ulong FundingSatoshis { get; set; }
Property Value
HtlcBasepoint
htlc_basepoint is used to produce HTLC signatures for the protocol
public PubKey HtlcBasepoint { get; set; }
Property Value
- PubKey
HtlcMinimumMsat
htlc_minimum_msat indicates the smallest value HTLC this node will accept.
public ulong HtlcMinimumMsat { get; }
Property Value
Locktime
locktime is the locktime for the funding transaction.
public uint Locktime { get; }
Property Value
MaxAcceptedHtlcs
max_accepted_htlcs limits the number of outstanding HTLCs the remote node can offer.
public ushort MaxAcceptedHtlcs { get; }
Property Value
MaxHtlcValueInFlightMsat
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 ulong MaxHtlcValueInFlightMsat { get; }
Property Value
PaymentBasepoint
payment_basepoint is used to produce payment signatures for the protocol
public PubKey PaymentBasepoint { get; set; }
Property Value
- PubKey
RevocationBasepoint
revocation_basepoint is used to regenerate the scripts required for the penalty transaction
public PubKey RevocationBasepoint { get; set; }
Property Value
- PubKey
SecondPerCommitmentPoint
second_per_commitment_point is the per-commitment point used for the first commitment transaction
public PubKey SecondPerCommitmentPoint { get; set; }
Property Value
- PubKey
TemporaryChannelId
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 TemporaryChannelId { get; set; }
Property Value
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
Methods
DeserializeAsync(Stream)
Deserializes the payload from a stream.
public static Task<OpenChannel2Payload> DeserializeAsync(Stream stream)
Parameters
stream
StreamThe stream to deserialize from.
Returns
- Task<OpenChannel2Payload>
The deserialized payload.
Exceptions
- PayloadSerializationException
Error deserializing Payload
SerializeAsync(Stream)
Serializes the message payload to a stream.
public Task SerializeAsync(Stream stream)
Parameters
stream
StreamThe stream to serialize to.
Returns
- Task
A task that represents the asynchronous operation.