diff --git a/internal/lnd/data.go b/internal/lnd/data.go index ad29768..5aac8a1 100644 --- a/internal/lnd/data.go +++ b/internal/lnd/data.go @@ -5,6 +5,7 @@ import "github.com/charmbracelet/bubbles/list" type NodeData struct { NodeInfo Node Channels []Channel + PendingChannels []PendingChannel Payments []Payment } diff --git a/internal/lnd/pending_channel.go b/internal/lnd/pending_channel.go index c76f04a..1f5a1d0 100644 --- a/internal/lnd/pending_channel.go +++ b/internal/lnd/pending_channel.go @@ -1,11 +1,7 @@ package lnd import ( - "math" - "github.com/btcsuite/btcd/btcutil" - "github.com/charmbracelet/bubbles/progress" - "github.com/lightninglabs/lndclient" ) // ChannelType represents the type of Lightning network channel. @@ -39,5 +35,14 @@ func (c PendingChannel) Title() string { } func (c PendingChannel) Description() string { + switch c.Type { + case PendingOpen: + return "Opening" + case CooperativeClosure: + return "Closing" + case ForceClosure: + return "Force Closing" + } + return "" } diff --git a/internal/tui/tui.go b/internal/tui/tui.go index 9f50144..6819250 100644 --- a/internal/tui/tui.go +++ b/internal/tui/tui.go @@ -49,7 +49,10 @@ func GetData(service *lndclient.GrpcLndServices, ctx context.Context) lnd.NodeDa nodeData.Payments = paymentsSlice // Load Channels - nodeData.Channels = GetChannelListItems(service, ctx) + nodeData.Channels = getChannelListItems(service, ctx) + + // Load Pending channels + nodeData.PendingChannels = getPendingChannels(service, ctx) // Load node data nodeData.NodeInfo = lnd.GetDataFromAPI(service, ctx) @@ -58,7 +61,7 @@ func GetData(service *lndclient.GrpcLndServices, ctx context.Context) lnd.NodeDa } // Get list of pending channels -func GetPendingChannels(service *lndclient.GrpcLndServices, ctx context.Context) []lnd.PendingChannel { +func getPendingChannels(service *lndclient.GrpcLndServices, ctx context.Context) []lnd.PendingChannel { var pendingChannels []lnd.PendingChannel channels, err := service.Client.PendingChannels(ctx) if err != nil { @@ -120,7 +123,7 @@ func getNodeAliasFromPubKey(service *lndclient.GrpcLndServices, ctx context.Cont return node.Alias } -func GetChannelListItems(service *lndclient.GrpcLndServices, ctx context.Context) []lnd.Channel { +func getChannelListItems(service *lndclient.GrpcLndServices, ctx context.Context) []lnd.Channel { var channels []lnd.Channel infos, err := service.Client.ListChannels(ctx, false, false) if err != nil {