Table of Contents

Interface IMessageFactory

Namespace
NLightning.Domain.Factories
Assembly
NLightning.Domain.dll
public interface IMessageFactory

Methods

CreateAcceptChannel2Message(ChannelId, LightningMoney, PubKey, PubKey, PubKey, PubKey, PubKey, PubKey, Script?, byte[]?, bool)

AcceptChannel2Message CreateAcceptChannel2Message(ChannelId temporaryChannelId, LightningMoney fundingSatoshis, PubKey fundingPubKey, PubKey revocationBasepoint, PubKey paymentBasepoint, PubKey delayedPaymentBasepoint, PubKey htlcBasepoint, PubKey firstPerCommitmentPoint, Script? shutdownScriptPubkey = null, byte[]? channelType = null, bool requireConfirmedInputs = false)

Parameters

temporaryChannelId ChannelId
fundingSatoshis LightningMoney
fundingPubKey PubKey
revocationBasepoint PubKey
paymentBasepoint PubKey
delayedPaymentBasepoint PubKey
htlcBasepoint PubKey
firstPerCommitmentPoint PubKey
shutdownScriptPubkey Script
channelType byte[]
requireConfirmedInputs bool

Returns

AcceptChannel2Message

CreateChannelReadyMessage(ChannelId, PubKey, ShortChannelId?)

ChannelReadyMessage CreateChannelReadyMessage(ChannelId channelId, PubKey secondPerCommitmentPoint, ShortChannelId? shortChannelId = null)

Parameters

channelId ChannelId
secondPerCommitmentPoint PubKey
shortChannelId ShortChannelId?

Returns

ChannelReadyMessage

CreateChannelReestablishMessage(ChannelId, ulong, ulong, ReadOnlyMemory<byte>, PubKey)

ChannelReestablishMessage CreateChannelReestablishMessage(ChannelId channelId, ulong nextCommitmentNumber, ulong nextRevocationNumber, ReadOnlyMemory<byte> yourLastPerCommitmentSecret, PubKey myCurrentPerCommitmentPoint)

Parameters

channelId ChannelId
nextCommitmentNumber ulong
nextRevocationNumber ulong
yourLastPerCommitmentSecret ReadOnlyMemory<byte>
myCurrentPerCommitmentPoint PubKey

Returns

ChannelReestablishMessage

CreateClosingSignedMessage(ChannelId, ulong, ECDSASignature, ulong, ulong)

ClosingSignedMessage CreateClosingSignedMessage(ChannelId channelId, ulong feeSatoshis, ECDSASignature signature, ulong minFeeSatoshis, ulong maxFeeSatoshis)

Parameters

channelId ChannelId
feeSatoshis ulong
signature ECDSASignature
minFeeSatoshis ulong
maxFeeSatoshis ulong

Returns

ClosingSignedMessage

CreateCommitmentSignedMessage(ChannelId, ECDSASignature, IEnumerable<ECDSASignature>)

CommitmentSignedMessage CreateCommitmentSignedMessage(ChannelId channelId, ECDSASignature signature, IEnumerable<ECDSASignature> htlcSignatures)

Parameters

channelId ChannelId
signature ECDSASignature
htlcSignatures IEnumerable<ECDSASignature>

Returns

CommitmentSignedMessage

CreateErrorMessage(byte[], ChannelId?)

ErrorMessage CreateErrorMessage(byte[] data, ChannelId? channelId)

Parameters

data byte[]
channelId ChannelId?

Returns

ErrorMessage

CreateErrorMessage(string, ChannelId?)

ErrorMessage CreateErrorMessage(string message, ChannelId? channelId)

Parameters

message string
channelId ChannelId?

Returns

ErrorMessage

CreateInitMessage()

InitMessage CreateInitMessage()

Returns

InitMessage

CreateOpenChannel2Message(ChannelId, uint, uint, ulong, PubKey, PubKey, PubKey, PubKey, PubKey, PubKey, PubKey, ChannelFlags, Script?, byte[]?, bool)

OpenChannel2Message CreateOpenChannel2Message(ChannelId temporaryChannelId, uint fundingFeeRatePerKw, uint commitmentFeeRatePerKw, ulong fundingSatoshis, PubKey fundingPubKey, PubKey revocationBasepoint, PubKey paymentBasepoint, PubKey delayedPaymentBasepoint, PubKey htlcBasepoint, PubKey firstPerCommitmentPoint, PubKey secondPerCommitmentPoint, ChannelFlags channelFlags, Script? shutdownScriptPubkey = null, byte[]? channelType = null, bool requireConfirmedInputs = false)

Parameters

temporaryChannelId ChannelId
fundingFeeRatePerKw uint
commitmentFeeRatePerKw uint
fundingSatoshis ulong
fundingPubKey PubKey
revocationBasepoint PubKey
paymentBasepoint PubKey
delayedPaymentBasepoint PubKey
htlcBasepoint PubKey
firstPerCommitmentPoint PubKey
secondPerCommitmentPoint PubKey
channelFlags ChannelFlags
shutdownScriptPubkey Script
channelType byte[]
requireConfirmedInputs bool

Returns

OpenChannel2Message

CreatePingMessage()

PingMessage CreatePingMessage()

Returns

PingMessage

CreatePongMessage(IMessage)

PongMessage CreatePongMessage(IMessage pingMessage)

Parameters

pingMessage IMessage

Returns

PongMessage

CreateRevokeAndAckMessage(ChannelId, ReadOnlyMemory<byte>, PubKey)

RevokeAndAckMessage CreateRevokeAndAckMessage(ChannelId channelId, ReadOnlyMemory<byte> perCommitmentSecret, PubKey nextPerCommitmentPoint)

Parameters

channelId ChannelId
perCommitmentSecret ReadOnlyMemory<byte>
nextPerCommitmentPoint PubKey

Returns

RevokeAndAckMessage

CreateShutdownMessage(ChannelId, Script)

ShutdownMessage CreateShutdownMessage(ChannelId channelId, Script scriptPubkey)

Parameters

channelId ChannelId
scriptPubkey Script

Returns

ShutdownMessage

CreateStfuMessage(ChannelId, bool)

StfuMessage CreateStfuMessage(ChannelId channelId, bool initiator)

Parameters

channelId ChannelId
initiator bool

Returns

StfuMessage

CreateTxAbortMessage(ChannelId, byte[])

TxAbortMessage CreateTxAbortMessage(ChannelId channelId, byte[] data)

Parameters

channelId ChannelId
data byte[]

Returns

TxAbortMessage

CreateTxAckRbfMessage(ChannelId, long, bool)

TxAckRbfMessage CreateTxAckRbfMessage(ChannelId channelId, long fundingOutputContrubution, bool requireConfirmedInputs)

Parameters

channelId ChannelId
fundingOutputContrubution long
requireConfirmedInputs bool

Returns

TxAckRbfMessage

CreateTxAddInputMessage(ChannelId, ulong, byte[], uint, uint)

TxAddInputMessage CreateTxAddInputMessage(ChannelId channelId, ulong serialId, byte[] prevTx, uint prevTxVout, uint sequence)

Parameters

channelId ChannelId
serialId ulong
prevTx byte[]
prevTxVout uint
sequence uint

Returns

TxAddInputMessage

CreateTxAddOutputMessage(ChannelId, ulong, LightningMoney, Script)

TxAddOutputMessage CreateTxAddOutputMessage(ChannelId channelId, ulong serialId, LightningMoney amount, Script script)

Parameters

channelId ChannelId
serialId ulong
amount LightningMoney
script Script

Returns

TxAddOutputMessage

CreateTxCompleteMessage(ChannelId)

TxCompleteMessage CreateTxCompleteMessage(ChannelId channelId)

Parameters

channelId ChannelId

Returns

TxCompleteMessage

CreateTxInitRbfMessage(ChannelId, uint, uint, long, bool)

TxInitRbfMessage CreateTxInitRbfMessage(ChannelId channelId, uint locktime, uint feerate, long fundingOutputContrubution, bool requireConfirmedInputs)

Parameters

channelId ChannelId
locktime uint
feerate uint
fundingOutputContrubution long
requireConfirmedInputs bool

Returns

TxInitRbfMessage

CreateTxRemoveInputMessage(ChannelId, ulong)

TxRemoveInputMessage CreateTxRemoveInputMessage(ChannelId channelId, ulong serialId)

Parameters

channelId ChannelId
serialId ulong

Returns

TxRemoveInputMessage

CreateTxRemoveOutputMessage(ChannelId, ulong)

TxRemoveOutputMessage CreateTxRemoveOutputMessage(ChannelId channelId, ulong serialId)

Parameters

channelId ChannelId
serialId ulong

Returns

TxRemoveOutputMessage

CreateTxSignaturesMessage(ChannelId, byte[], List<Witness>)

TxSignaturesMessage CreateTxSignaturesMessage(ChannelId channelId, byte[] txId, List<Witness> witnesses)

Parameters

channelId ChannelId
txId byte[]
witnesses List<Witness>

Returns

TxSignaturesMessage

CreateUpdateAddHtlcMessage(ChannelId, ulong, ulong, ReadOnlyMemory<byte>, uint, ReadOnlyMemory<byte>?)

UpdateAddHtlcMessage CreateUpdateAddHtlcMessage(ChannelId channelId, ulong id, ulong amountMsat, ReadOnlyMemory<byte> paymentHash, uint cltvExpiry, ReadOnlyMemory<byte>? onionRoutingPacket = null)

Parameters

channelId ChannelId
id ulong
amountMsat ulong
paymentHash ReadOnlyMemory<byte>
cltvExpiry uint
onionRoutingPacket ReadOnlyMemory<byte>?

Returns

UpdateAddHtlcMessage

CreateUpdateFailHtlcMessage(ChannelId, ulong, ReadOnlyMemory<byte>)

UpdateFailHtlcMessage CreateUpdateFailHtlcMessage(ChannelId channelId, ulong id, ReadOnlyMemory<byte> reason)

Parameters

channelId ChannelId
id ulong
reason ReadOnlyMemory<byte>

Returns

UpdateFailHtlcMessage

CreateUpdateFailMalformedHtlcMessage(ChannelId, ulong, ReadOnlyMemory<byte>, ushort)

UpdateFailMalformedHtlcMessage CreateUpdateFailMalformedHtlcMessage(ChannelId channelId, ulong id, ReadOnlyMemory<byte> sha256OfOnion, ushort failureCode)

Parameters

channelId ChannelId
id ulong
sha256OfOnion ReadOnlyMemory<byte>
failureCode ushort

Returns

UpdateFailMalformedHtlcMessage

CreateUpdateFeeMessage(ChannelId, uint)

UpdateFeeMessage CreateUpdateFeeMessage(ChannelId channelId, uint feeratePerKw)

Parameters

channelId ChannelId
feeratePerKw uint

Returns

UpdateFeeMessage

CreateUpdateFulfillHtlcMessage(ChannelId, ulong, ReadOnlyMemory<byte>)

UpdateFulfillHtlcMessage CreateUpdateFulfillHtlcMessage(ChannelId channelId, ulong id, ReadOnlyMemory<byte> preimage)

Parameters

channelId ChannelId
id ulong
preimage ReadOnlyMemory<byte>

Returns

UpdateFulfillHtlcMessage

CreateWarningMessage(byte[], ChannelId?)

WarningMessage CreateWarningMessage(byte[] data, ChannelId? channelId)

Parameters

data byte[]
channelId ChannelId?

Returns

WarningMessage

CreateWarningMessage(string, ChannelId?)

WarningMessage CreateWarningMessage(string message, ChannelId? channelId)

Parameters

message string
channelId ChannelId?

Returns

WarningMessage