Table of Contents

Class ChannelKeySetEntity

Namespace
NLightning.Infrastructure.Persistence.Entities.Channel
Assembly
NLightning.Infrastructure.Persistence.dll

Represents a set of cryptographic keys associated with a Lightning Network channel.

public class ChannelKeySetEntity
Inheritance
ChannelKeySetEntity
Inherited Members

Properties

ChannelId

The unique channel identifier this key set belongs to.

public required ChannelId ChannelId { get; set; }

Property Value

ChannelId

Remarks

Part of the composite primary key.

CurrentPerCommitmentIndex

The current per-commitment index used in a channel's key set.

public required ulong CurrentPerCommitmentIndex { get; set; }

Property Value

ulong

Remarks

This index tracks the state of the commitment transaction sequence in the channel. It is incremented with each new commitment point.

CurrentPerCommitmentPoint

The current per-commitment point being used for the active commitment transaction.

public required byte[] CurrentPerCommitmentPoint { get; set; }

Property Value

byte[]

DelayedPaymentBasepoint

The base point for generating delayed payment keys.

public required byte[] DelayedPaymentBasepoint { get; set; }

Property Value

byte[]

FundingPubKey

The funding public key used to create the multisig funding output.

public required byte[] FundingPubKey { get; set; }

Property Value

byte[]

HtlcBasepoint

The base point for generating HTLC keys.

public required byte[] HtlcBasepoint { get; set; }

Property Value

byte[]

IsLocal

Indicates whether this key set belongs to the local node or remote node.

public bool IsLocal { get; set; }

Property Value

bool

Remarks

Part of the composite primary key.

KeyIndex

The index representing the key derivation progress for this channel key set.

public required uint KeyIndex { get; set; }

Property Value

uint

Remarks

Used to track the current state of key generation in the channel.

LastRevealedPerCommitmentSecret

For remote key sets: stores their last revealed per-commitment secret This is needed to create penalty transactions if they broadcast old commitments For local key sets: this should be null (we don't store our own secrets)

public byte[]? LastRevealedPerCommitmentSecret { get; set; }

Property Value

byte[]

PaymentBasepoint

The base point for generating payment keys.

public required byte[] PaymentBasepoint { get; set; }

Property Value

byte[]

RevocationBasepoint

The base point for generating revocation keys.

public required byte[] RevocationBasepoint { get; set; }

Property Value

byte[]