mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-03-04 09:48:19 +01:00
htlcswitch: expose custom channel blob from link
This commit is contained in:
parent
5cb68a59c5
commit
5dcda25881
3 changed files with 46 additions and 0 deletions
|
@ -13,6 +13,7 @@ import (
|
||||||
"github.com/lightningnetwork/lnd/lnwallet/chainfee"
|
"github.com/lightningnetwork/lnd/lnwallet/chainfee"
|
||||||
"github.com/lightningnetwork/lnd/lnwire"
|
"github.com/lightningnetwork/lnd/lnwire"
|
||||||
"github.com/lightningnetwork/lnd/record"
|
"github.com/lightningnetwork/lnd/record"
|
||||||
|
"github.com/lightningnetwork/lnd/tlv"
|
||||||
)
|
)
|
||||||
|
|
||||||
// InvoiceDatabase is an interface which represents the persistent subsystem
|
// InvoiceDatabase is an interface which represents the persistent subsystem
|
||||||
|
@ -278,6 +279,16 @@ type ChannelLink interface {
|
||||||
// have buffered messages.
|
// have buffered messages.
|
||||||
AttachMailBox(MailBox)
|
AttachMailBox(MailBox)
|
||||||
|
|
||||||
|
// FundingCustomBlob returns the custom funding blob of the channel that
|
||||||
|
// this link is associated with. The funding blob represents static
|
||||||
|
// information about the channel that was created at channel funding
|
||||||
|
// time.
|
||||||
|
FundingCustomBlob() fn.Option[tlv.Blob]
|
||||||
|
|
||||||
|
// CommitmentCustomBlob returns the custom blob of the current local
|
||||||
|
// commitment of the channel that this link is associated with.
|
||||||
|
CommitmentCustomBlob() fn.Option[tlv.Blob]
|
||||||
|
|
||||||
// Start/Stop are used to initiate the start/stop of the channel link
|
// Start/Stop are used to initiate the start/stop of the channel link
|
||||||
// functioning.
|
// functioning.
|
||||||
Start() error
|
Start() error
|
||||||
|
|
|
@ -31,6 +31,7 @@ import (
|
||||||
"github.com/lightningnetwork/lnd/lnwire"
|
"github.com/lightningnetwork/lnd/lnwire"
|
||||||
"github.com/lightningnetwork/lnd/queue"
|
"github.com/lightningnetwork/lnd/queue"
|
||||||
"github.com/lightningnetwork/lnd/ticker"
|
"github.com/lightningnetwork/lnd/ticker"
|
||||||
|
"github.com/lightningnetwork/lnd/tlv"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
@ -4105,3 +4106,28 @@ func (l *channelLink) failf(linkErr LinkFailureError, format string,
|
||||||
l.failed = true
|
l.failed = true
|
||||||
l.cfg.OnChannelFailure(l.ChanID(), l.ShortChanID(), linkErr)
|
l.cfg.OnChannelFailure(l.ChanID(), l.ShortChanID(), linkErr)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FundingCustomBlob returns the custom funding blob of the channel that this
|
||||||
|
// link is associated with. The funding blob represents static information about
|
||||||
|
// the channel that was created at channel funding time.
|
||||||
|
func (l *channelLink) FundingCustomBlob() fn.Option[tlv.Blob] {
|
||||||
|
if l.channel == nil {
|
||||||
|
return fn.None[tlv.Blob]()
|
||||||
|
}
|
||||||
|
|
||||||
|
if l.channel.State() == nil {
|
||||||
|
return fn.None[tlv.Blob]()
|
||||||
|
}
|
||||||
|
|
||||||
|
return l.channel.State().CustomBlob
|
||||||
|
}
|
||||||
|
|
||||||
|
// CommitmentCustomBlob returns the custom blob of the current local commitment
|
||||||
|
// of the channel that this link is associated with.
|
||||||
|
func (l *channelLink) CommitmentCustomBlob() fn.Option[tlv.Blob] {
|
||||||
|
if l.channel == nil {
|
||||||
|
return fn.None[tlv.Blob]()
|
||||||
|
}
|
||||||
|
|
||||||
|
return l.channel.LocalCommitmentBlob()
|
||||||
|
}
|
||||||
|
|
|
@ -35,6 +35,7 @@ import (
|
||||||
"github.com/lightningnetwork/lnd/lnwallet/chainfee"
|
"github.com/lightningnetwork/lnd/lnwallet/chainfee"
|
||||||
"github.com/lightningnetwork/lnd/lnwire"
|
"github.com/lightningnetwork/lnd/lnwire"
|
||||||
"github.com/lightningnetwork/lnd/ticker"
|
"github.com/lightningnetwork/lnd/ticker"
|
||||||
|
"github.com/lightningnetwork/lnd/tlv"
|
||||||
)
|
)
|
||||||
|
|
||||||
func isAlias(scid lnwire.ShortChannelID) bool {
|
func isAlias(scid lnwire.ShortChannelID) bool {
|
||||||
|
@ -950,6 +951,14 @@ func (f *mockChannelLink) OnCommitOnce(LinkDirection, func()) {
|
||||||
// TODO(proofofkeags): Implement
|
// TODO(proofofkeags): Implement
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (f *mockChannelLink) FundingCustomBlob() fn.Option[tlv.Blob] {
|
||||||
|
return fn.None[tlv.Blob]()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (f *mockChannelLink) CommitmentCustomBlob() fn.Option[tlv.Blob] {
|
||||||
|
return fn.None[tlv.Blob]()
|
||||||
|
}
|
||||||
|
|
||||||
var _ ChannelLink = (*mockChannelLink)(nil)
|
var _ ChannelLink = (*mockChannelLink)(nil)
|
||||||
|
|
||||||
func newDB() (*channeldb.DB, func(), error) {
|
func newDB() (*channeldb.DB, func(), error) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue