@@ -60,6 +60,8 @@ func WithReOrgChan(reOrgChan chan struct{}) NotifierOption {
6060
6161// ChainNotifierClient exposes base lightning functionality.
6262type ChainNotifierClient interface {
63+ ServiceClient [chainrpc.ChainNotifierClient ]
64+
6365 RegisterBlockEpochNtfn (ctx context.Context ) (
6466 chan int32 , chan error , error )
6567
@@ -81,6 +83,10 @@ type chainNotifierClient struct {
8183 wg sync.WaitGroup
8284}
8385
86+ // A compile time check to ensure that chainNotifierClient implements the
87+ // ChainNotifierClient interface.
88+ var _ ChainNotifierClient = (* chainNotifierClient )(nil )
89+
8490func newChainNotifierClient (conn grpc.ClientConnInterface ,
8591 chainMac serializedMacaroon , timeout time.Duration ) * chainNotifierClient {
8692
@@ -95,6 +101,15 @@ func (s *chainNotifierClient) WaitForFinished() {
95101 s .wg .Wait ()
96102}
97103
104+ // RawClientWithMacAuth returns a context with the proper macaroon
105+ // authentication, the default RPC timeout, and the raw client.
106+ func (s * chainNotifierClient ) RawClientWithMacAuth (
107+ parentCtx context.Context ) (context.Context , time.Duration ,
108+ chainrpc.ChainNotifierClient ) {
109+
110+ return s .chainMac .WithMacaroonAuth (parentCtx ), s .timeout , s .client
111+ }
112+
98113func (s * chainNotifierClient ) RegisterSpendNtfn (ctx context.Context ,
99114 outpoint * wire.OutPoint , pkScript []byte , heightHint int32 ) (
100115 chan * chainntnfs.SpendDetail , chan error , error ) {
0 commit comments