From 948a60dfc332de8cd84fb6a055dc15e132a83534 Mon Sep 17 00:00:00 2001 From: Edouard Paris Date: Wed, 27 Mar 2019 13:32:23 +0100 Subject: [PATCH] ft backend: SubscribeChannels --- network/backend/backend.go | 2 ++ network/backend/lnd/lnd.go | 21 +++++++++++++++++++++ network/backend/mock/mock.go | 4 ++++ network/models/channel.go | 3 +++ 4 files changed, 30 insertions(+) diff --git a/network/backend/backend.go b/network/backend/backend.go index d72c551..4b09173 100644 --- a/network/backend/backend.go +++ b/network/backend/backend.go @@ -10,6 +10,8 @@ import ( type Backend interface { SubscribeInvoice(context.Context, chan *models.Invoice) error + SubscribeChannels(context.Context, chan *models.ChannelUpdate) error + NodeName() string Info(ctx context.Context) (*models.Info, error) diff --git a/network/backend/lnd/lnd.go b/network/backend/lnd/lnd.go index 05cfd29..252743f 100644 --- a/network/backend/lnd/lnd.go +++ b/network/backend/lnd/lnd.go @@ -74,6 +74,27 @@ func (l Backend) SubscribeInvoice(ctx context.Context, channelInvoice chan *mode } } +func (l Backend) SubscribeChannels(ctx context.Context, events chan *models.ChannelUpdate) error { + _, err := l.Client(ctx) + if err != nil { + return err + } + + // events, err := clt.SubscribeChannelEvents(ctx, &lnrpc.ChannelEventSubscription{}) + // if err != nil { + // return err + // } + + // for { + // event, err := events.Recv() + // if err != nil { + // return err + // } + // events <- + //} + return nil +} + func (l Backend) Client(ctx context.Context) (*Client, error) { conn, err := l.pool.Get(ctx) if err != nil { diff --git a/network/backend/mock/mock.go b/network/backend/mock/mock.go index 331c159..3a708ab 100644 --- a/network/backend/mock/mock.go +++ b/network/backend/mock/mock.go @@ -38,6 +38,10 @@ func (b *Backend) SubscribeInvoice(ctx context.Context, ChannelInvoice chan *mod return nil } +func (b *Backend) SubscribeChannels(context.Context, chan *models.ChannelUpdate) error { + return nil +} + func (b *Backend) GetWalletBalance(ctx context.Context) (*models.WalletBalance, error) { return &models.WalletBalance{}, nil } diff --git a/network/models/channel.go b/network/models/channel.go index 9903890..6e98e36 100644 --- a/network/models/channel.go +++ b/network/models/channel.go @@ -52,3 +52,6 @@ func (m Channel) MarshalLogObject(enc logging.ObjectEncoder) error { return nil } + +type ChannelUpdate struct { +}