Skip to content

Commit af0a846

Browse files
authored
Merge pull request #192 from lightninglabs/update-to-lnd-18-4
Add new RPCs introduced in lnd v0.18.4
2 parents d79458d + ac30126 commit af0a846

16 files changed

+656
-84
lines changed

chainkit_client.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ import (
1414

1515
// ChainKitClient exposes chain functionality.
1616
type ChainKitClient interface {
17+
ServiceClient[chainrpc.ChainKitClient]
18+
1719
// GetBlock returns a block given the corresponding block hash.
1820
GetBlock(ctx context.Context, hash chainhash.Hash) (*wire.MsgBlock,
1921
error)
@@ -41,6 +43,10 @@ type chainKitClient struct {
4143
wg sync.WaitGroup
4244
}
4345

46+
// A compile time check to ensure that chainKitClient implements the
47+
// ChainKitClient interface.
48+
var _ ChainKitClient = (*chainKitClient)(nil)
49+
4450
func newChainKitClient(conn grpc.ClientConnInterface,
4551
chainMac serializedMacaroon, timeout time.Duration) *chainKitClient {
4652

@@ -55,6 +61,15 @@ func (s *chainKitClient) WaitForFinished() {
5561
s.wg.Wait()
5662
}
5763

64+
// RawClientWithMacAuth returns a context with the proper macaroon
65+
// authentication, the default RPC timeout, and the raw client.
66+
func (s *chainKitClient) RawClientWithMacAuth(
67+
parentCtx context.Context) (context.Context, time.Duration,
68+
chainrpc.ChainKitClient) {
69+
70+
return s.chainMac.WithMacaroonAuth(parentCtx), s.timeout, s.client
71+
}
72+
5873
// GetBlock returns a block given the corresponding block hash.
5974
func (s *chainKitClient) GetBlock(ctxParent context.Context,
6075
hash chainhash.Hash) (*wire.MsgBlock, error) {

chainnotifier_client.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ func WithReOrgChan(reOrgChan chan struct{}) NotifierOption {
6060

6161
// ChainNotifierClient exposes base lightning functionality.
6262
type 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+
8490
func 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+
98113
func (s *chainNotifierClient) RegisterSpendNtfn(ctx context.Context,
99114
outpoint *wire.OutPoint, pkScript []byte, heightHint int32) (
100115
chan *chainntnfs.SpendDetail, chan error, error) {

go.mod

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
module github.com/lightninglabs/lndclient
22

33
require (
4-
github.com/btcsuite/btcd v0.24.2-beta.rc1.0.20240403021926-ae5533602c46
4+
github.com/btcsuite/btcd v0.24.2-beta.rc1.0.20240625142744-cc26860b4026
55
github.com/btcsuite/btcd/btcec/v2 v2.3.3
66
github.com/btcsuite/btcd/btcutil v1.1.5
77
github.com/btcsuite/btcd/btcutil/psbt v1.1.8
88
github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0
99
github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f
10-
github.com/btcsuite/btcwallet v0.16.10-0.20240404104514-b2f31f9045fb
10+
github.com/btcsuite/btcwallet v0.16.10-0.20240809133323-7d3434c65ae2
1111
github.com/btcsuite/btcwallet/wtxmgr v1.5.3
12-
github.com/lightningnetwork/lnd v0.18.0-beta.1
13-
github.com/lightningnetwork/lnd/kvdb v1.4.8
12+
github.com/lightningnetwork/lnd v0.18.0-beta.rc4.0.20240919095711-611852fd34b1
13+
github.com/lightningnetwork/lnd/kvdb v1.4.10
1414
github.com/stretchr/testify v1.9.0
1515
google.golang.org/grpc v1.59.0
1616
gopkg.in/macaroon-bakery.v2 v2.0.1
@@ -76,9 +76,10 @@ require (
7676
github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect
7777
github.com/jackc/pgtype v1.14.0 // indirect
7878
github.com/jackc/pgx/v4 v4.18.2 // indirect
79+
github.com/jackc/pgx/v5 v5.3.1 // indirect
7980
github.com/jessevdk/go-flags v1.4.0 // indirect
8081
github.com/jonboulle/clockwork v0.2.2 // indirect
81-
github.com/jrick/logrotate v1.0.0 // indirect
82+
github.com/jrick/logrotate v1.1.2 // indirect
8283
github.com/json-iterator/go v1.1.11 // indirect
8384
github.com/juju/clock v0.0.0-20220203021603-d9deb868a28a // indirect
8485
github.com/juju/collections v0.0.0-20220203020748-febd7cad8a7a // indirect
@@ -89,18 +90,19 @@ require (
8990
github.com/juju/utils/v3 v3.0.0-20220203023959-c3fbc78a33b0 // indirect
9091
github.com/juju/version/v2 v2.0.0-20220204124744-fc9915e3d935 // indirect
9192
github.com/kkdai/bstream v1.0.0 // indirect
93+
github.com/klauspost/compress v1.17.9 // indirect
9294
github.com/lib/pq v1.10.9 // indirect
9395
github.com/lightninglabs/gozmq v0.0.0-20191113021534-d20a764486bf // indirect
9496
github.com/lightninglabs/neutrino v0.16.1-0.20240425105051-602843d34ffd // indirect
9597
github.com/lightninglabs/neutrino/cache v1.1.2 // indirect
96-
github.com/lightningnetwork/lightning-onion v1.2.1-0.20230823005744-06182b1d7d2f // indirect
98+
github.com/lightningnetwork/lightning-onion v1.2.1-0.20240712235311-98bd56499dfb // indirect
9799
github.com/lightningnetwork/lnd/clock v1.1.1 // indirect
98-
github.com/lightningnetwork/lnd/fn v1.0.5 // indirect
99-
github.com/lightningnetwork/lnd/healthcheck v1.2.4 // indirect
100+
github.com/lightningnetwork/lnd/fn v1.2.1 // indirect
101+
github.com/lightningnetwork/lnd/healthcheck v1.2.5 // indirect
100102
github.com/lightningnetwork/lnd/queue v1.1.1 // indirect
101-
github.com/lightningnetwork/lnd/sqldb v1.0.2 // indirect
103+
github.com/lightningnetwork/lnd/sqldb v1.0.4 // indirect
102104
github.com/lightningnetwork/lnd/ticker v1.1.1 // indirect
103-
github.com/lightningnetwork/lnd/tlv v1.2.3 // indirect
105+
github.com/lightningnetwork/lnd/tlv v1.2.6 // indirect
104106
github.com/lightningnetwork/lnd/tor v1.1.2 // indirect
105107
github.com/ltcsuite/ltcd v0.0.0-20190101042124-f37f8bf35796 // indirect
106108
github.com/mattn/go-isatty v0.0.20 // indirect
@@ -156,7 +158,8 @@ require (
156158
golang.org/x/crypto v0.22.0 // indirect
157159
golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8 // indirect
158160
golang.org/x/mod v0.16.0 // indirect
159-
golang.org/x/net v0.23.0 // indirect
161+
golang.org/x/net v0.24.0 // indirect
162+
golang.org/x/sync v0.7.0 // indirect
160163
golang.org/x/sys v0.19.0 // indirect
161164
golang.org/x/term v0.19.0 // indirect
162165
golang.org/x/text v0.14.0 // indirect
@@ -174,7 +177,7 @@ require (
174177
modernc.org/libc v1.49.3 // indirect
175178
modernc.org/mathutil v1.6.0 // indirect
176179
modernc.org/memory v1.8.0 // indirect
177-
modernc.org/sqlite v1.29.8 // indirect
180+
modernc.org/sqlite v1.29.10 // indirect
178181
modernc.org/strutil v1.2.0 // indirect
179182
modernc.org/token v1.1.0 // indirect
180183
sigs.k8s.io/yaml v1.2.0 // indirect
@@ -184,6 +187,6 @@ require (
184187
// allows us to specify that as an option.
185188
replace google.golang.org/protobuf => github.com/lightninglabs/protobuf-go-hex-display v1.30.0-hex-display
186189

187-
go 1.21.4
190+
go 1.22.6
188191

189-
toolchain go1.22.2
192+
toolchain go1.22.7

0 commit comments

Comments
 (0)