fundingmgr+channelnotifier: add channel config to pending chan ntfn
To be able to write a new channel backup file for pending channels, we need to include the channel configuration in the pending channel notification event.
This commit is contained in:
3 files changed
+84
-12
No files matched your search
@@ -23,8 +23,14 @@ type ChannelNotifier struct {
|
||||
// PendingOpenChannelEvent represents a new event where a new channel has
|
||||
// entered a pending open state.
|
||||
type PendingOpenChannelEvent struct {
|
||||
// ChannelPoint is the channelpoint for the new channel.
|
||||
// ChannelPoint is the channel outpoint for the new channel.
|
||||
ChannelPoint *wire.OutPoint
|
||||
|
||||
// PendingChannel is the channel configuration for the newly created
|
||||
// channel. This might not have been persisted to the channel DB yet
|
||||
// because we are still waiting for the final message from the remote
|
||||
// peer.
|
||||
PendingChannel *channeldb.OpenChannel
|
||||
}
|
||||
|
||||
// OpenChannelEvent represents a new event where a channel goes from pending
|
||||
@@ -89,10 +95,18 @@ func (c *ChannelNotifier) SubscribeChannelEvents() (*subscribe.Client, error) {
|
||||
return c.ntfnServer.Subscribe()
|
||||
}
|
||||
|
||||
// NotifyPendingOpenChannelEvent notifies the channelEventNotifier goroutine that a
|
||||
// new channel is pending.
|
||||
func (c *ChannelNotifier) NotifyPendingOpenChannelEvent(chanPoint wire.OutPoint) {
|
||||
event := PendingOpenChannelEvent{ChannelPoint: &chanPoint}
|
||||
// NotifyPendingOpenChannelEvent notifies the channelEventNotifier goroutine
|
||||
// that a new channel is pending. The pending channel is passed as a parameter
|
||||
// instead of read from the database because it might not yet have been
|
||||
// persisted to the DB because we still wait for the final message from the
|
||||
// remote peer.
|
||||
func (c *ChannelNotifier) NotifyPendingOpenChannelEvent(chanPoint wire.OutPoint,
|
||||
pendingChan *channeldb.OpenChannel) {
|
||||
|
||||
event := PendingOpenChannelEvent{
|
||||
ChannelPoint: &chanPoint,
|
||||
PendingChannel: pendingChan,
|
||||
}
|
||||
|
||||
if err := c.ntfnServer.SendUpdate(event); err != nil {
|
||||
log.Warnf("Unable to send pending open channel update: %v", err)
|
||||
|
||||
Reference in new issue
Block a user