Skip to content

Commit d7e9e25

Browse files
committed
Merge branch 'lnd-17-0'
2 parents 0ee3ed2 + 1629348 commit d7e9e25

File tree

6 files changed

+149
-98
lines changed

6 files changed

+149
-98
lines changed

chainkit_client.go

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@ type ChainKitClient interface {
1818
GetBlock(ctx context.Context, hash chainhash.Hash) (*wire.MsgBlock,
1919
error)
2020

21+
// GetBlockHeader returns a block header given the corresponding block
22+
// hash.
23+
GetBlockHeader(ctx context.Context,
24+
hash chainhash.Hash) (*wire.BlockHeader, error)
25+
2126
// GetBestBlock returns the latest block hash and current height of the
2227
// valid most-work chain.
2328
GetBestBlock(ctx context.Context) (chainhash.Hash, int32, error)
@@ -77,6 +82,33 @@ func (s *chainKitClient) GetBlock(ctxParent context.Context,
7782
return msgBlock, nil
7883
}
7984

85+
// GetBlockHeader returns a block header given the corresponding block hash.
86+
func (s *chainKitClient) GetBlockHeader(ctxParent context.Context,
87+
hash chainhash.Hash) (*wire.BlockHeader, error) {
88+
89+
ctx, cancel := context.WithTimeout(ctxParent, s.timeout)
90+
defer cancel()
91+
92+
macaroonAuth := s.chainMac.WithMacaroonAuth(ctx)
93+
req := &chainrpc.GetBlockHeaderRequest{
94+
BlockHash: hash[:],
95+
}
96+
resp, err := s.client.GetBlockHeader(macaroonAuth, req)
97+
if err != nil {
98+
return nil, err
99+
}
100+
101+
// Convert raw block header bytes into wire.BlockHeader.
102+
blockHeader := &wire.BlockHeader{}
103+
blockReader := bytes.NewReader(resp.RawBlockHeader)
104+
err = blockHeader.Deserialize(blockReader)
105+
if err != nil {
106+
return nil, err
107+
}
108+
109+
return blockHeader, nil
110+
}
111+
80112
// GetBestBlock returns the block hash and current height from the valid
81113
// most-work chain.
82114
func (s *chainKitClient) GetBestBlock(ctxParent context.Context) (chainhash.Hash,

go.mod

Lines changed: 26 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ require (
44
github.com/btcsuite/btcd v0.24.0
55
github.com/btcsuite/btcd/btcec/v2 v2.3.2
66
github.com/btcsuite/btcd/btcutil v1.1.5
7-
github.com/btcsuite/btcd/btcutil/psbt v1.1.5
7+
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.7
10+
github.com/btcsuite/btcwallet v0.16.10-0.20231017144732-e3ff37491e9c
1111
github.com/btcsuite/btcwallet/wtxmgr v1.5.0
12-
github.com/lightningnetwork/lnd v0.16.0-beta
13-
github.com/lightningnetwork/lnd/kvdb v1.4.1
12+
github.com/lightningnetwork/lnd v0.17.1-beta
13+
github.com/lightningnetwork/lnd/kvdb v1.4.4
1414
github.com/stretchr/testify v1.8.4
1515
google.golang.org/grpc v1.59.0
1616
gopkg.in/macaroon-bakery.v2 v2.0.1
@@ -29,7 +29,7 @@ require (
2929
github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd // indirect
3030
github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792 // indirect
3131
github.com/btcsuite/winsvc v1.0.0 // indirect
32-
github.com/cenkalti/backoff/v4 v4.1.1 // indirect
32+
github.com/cenkalti/backoff/v4 v4.1.3 // indirect
3333
github.com/cespare/xxhash/v2 v2.2.0 // indirect
3434
github.com/coreos/go-semver v0.3.0 // indirect
3535
github.com/coreos/go-systemd/v22 v22.3.2 // indirect
@@ -57,6 +57,7 @@ require (
5757
github.com/grpc-ecosystem/grpc-gateway/v2 v2.5.0 // indirect
5858
github.com/jackc/chunkreader/v2 v2.0.1 // indirect
5959
github.com/jackc/pgconn v1.14.3 // indirect
60+
github.com/jackc/pgerrcode v0.0.0-20220416144525-469b46aa5efa // indirect
6061
github.com/jackc/pgio v1.0.0 // indirect
6162
github.com/jackc/pgpassfile v1.0.0 // indirect
6263
github.com/jackc/pgproto3/v2 v2.3.3 // indirect
@@ -79,18 +80,17 @@ require (
7980
github.com/kkdai/bstream v1.0.0 // indirect
8081
github.com/klauspost/compress v1.13.6 // indirect
8182
github.com/klauspost/pgzip v1.2.5 // indirect
82-
github.com/kr/pretty v0.2.1 // indirect
8383
github.com/lib/pq v1.10.3 // indirect
8484
github.com/lightninglabs/gozmq v0.0.0-20191113021534-d20a764486bf // indirect
85-
github.com/lightninglabs/neutrino v0.15.0 // indirect
85+
github.com/lightninglabs/neutrino v0.16.0 // indirect
8686
github.com/lightninglabs/neutrino/cache v1.1.1 // indirect
87-
github.com/lightningnetwork/lightning-onion v1.2.1-0.20221202012345-ca23184850a1 // indirect
88-
github.com/lightningnetwork/lnd/clock v1.1.0 // indirect
89-
github.com/lightningnetwork/lnd/healthcheck v1.2.2 // indirect
90-
github.com/lightningnetwork/lnd/queue v1.1.0 // indirect
91-
github.com/lightningnetwork/lnd/ticker v1.1.0 // indirect
92-
github.com/lightningnetwork/lnd/tlv v1.1.0 // indirect
93-
github.com/lightningnetwork/lnd/tor v1.1.0 // indirect
87+
github.com/lightningnetwork/lightning-onion v1.2.1-0.20230823005744-06182b1d7d2f // indirect
88+
github.com/lightningnetwork/lnd/clock v1.1.1 // indirect
89+
github.com/lightningnetwork/lnd/healthcheck v1.2.3 // indirect
90+
github.com/lightningnetwork/lnd/queue v1.1.1 // indirect
91+
github.com/lightningnetwork/lnd/ticker v1.1.1 // indirect
92+
github.com/lightningnetwork/lnd/tlv v1.1.1 // indirect
93+
github.com/lightningnetwork/lnd/tor v1.1.2 // indirect
9494
github.com/ltcsuite/ltcd v0.0.0-20190101042124-f37f8bf35796 // indirect
9595
github.com/mattn/go-isatty v0.0.16 // indirect
9696
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
@@ -107,16 +107,16 @@ require (
107107
github.com/prometheus/procfs v0.6.0 // indirect
108108
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 // indirect
109109
github.com/rogpeppe/fastuuid v1.2.0 // indirect
110-
github.com/sirupsen/logrus v1.7.0 // indirect
110+
github.com/sirupsen/logrus v1.9.2 // indirect
111111
github.com/soheilhy/cmux v0.1.5 // indirect
112112
github.com/spf13/pflag v1.0.5 // indirect
113113
github.com/stretchr/objx v0.5.0 // indirect
114114
github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect
115115
github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802 // indirect
116-
github.com/ulikunitz/xz v0.5.10 // indirect
116+
github.com/ulikunitz/xz v0.5.11 // indirect
117117
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect
118118
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 // indirect
119-
go.etcd.io/bbolt v1.3.6 // indirect
119+
go.etcd.io/bbolt v1.3.7 // indirect
120120
go.etcd.io/etcd/api/v3 v3.5.7 // indirect
121121
go.etcd.io/etcd/client/pkg/v3 v3.5.7 // indirect
122122
go.etcd.io/etcd/client/v2 v2.305.7 // indirect
@@ -136,14 +136,14 @@ require (
136136
go.uber.org/multierr v1.6.0 // indirect
137137
go.uber.org/zap v1.17.0 // indirect
138138
golang.org/x/crypto v0.21.0 // indirect
139-
golang.org/x/exp v0.0.0-20221111094246-ab4555d3164f // indirect
140-
golang.org/x/mod v0.8.0 // indirect
139+
golang.org/x/exp v0.0.0-20230315142452-642cacee5cc0 // indirect
140+
golang.org/x/mod v0.10.0 // indirect
141141
golang.org/x/net v0.23.0 // indirect
142142
golang.org/x/sys v0.18.0 // indirect
143143
golang.org/x/term v0.18.0 // indirect
144144
golang.org/x/text v0.14.0 // indirect
145-
golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba // indirect
146-
golang.org/x/tools v0.6.0 // indirect
145+
golang.org/x/time v0.0.0-20220224211638-0e9765cccd65 // indirect
146+
golang.org/x/tools v0.9.1 // indirect
147147
google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d // indirect
148148
google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d // indirect
149149
google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect
@@ -165,4 +165,8 @@ require (
165165
sigs.k8s.io/yaml v1.2.0 // indirect
166166
)
167167

168-
go 1.18
168+
// We want to format raw bytes as hex instead of base64. The forked version
169+
// allows us to specify that as an option.
170+
replace google.golang.org/protobuf => github.com/lightninglabs/protobuf-go-hex-display v1.30.0-hex-display
171+
172+
go 1.19

0 commit comments

Comments
 (0)