Commit Graph

337 Commits

Author SHA1 Message Date
Olaoluwa Osuntokun
bb67131ce5
kvdb/sqlbase: use positive+negative build tags for new sql error parsing
In this commit, we use exhaustive build tags to ensure that we can
always build the `sqlbase` package, independent of the set build tags.
To do this, we move the type declarations _into_ the parsing functions.
This then allows us to create two versions for each db: with the db, and
without it.

To avoid a module tag round trip to get this working, we use a local
replace for now. Once this is merged in, we can do the tag (along side
rc3), then remove the replace.
2023-09-11 20:35:01 -07:00
Olaoluwa Osuntokun
30eb90d901
build: update to kvdb v1.4.3
We needed a tag after updating the module with retry for
sqlite/postgres.
2023-09-11 20:34:58 -07:00
yyforyongyu
68e6cd5c2e
gomod: run go work sync to sync modules
This commit is the result of running `go work sync` and `go mod tidy`
that syncs module versions for all submodules.
2023-09-05 07:27:20 +08:00
yyforyongyu
61d882b999
gomod: fix version conflict in golang.org/x/time
This commit fixes the error,
```
go: version constraints conflict:
	github.com/dhui/dktest@v0.3.16 requires golang.org/x/time@v0.0.0-20220224211638-0e9765cccd65, but golang.org/x/time@v0.0.0-20210220033141-f8bda1e9f3ba is requested
	github.com/golang-migrate/migrate/v4@v4.16.1 requires golang.org/x/time@v0.0.0-20220224211638-0e9765cccd65, but golang.org/x/time@v0.0.0-20210220033141-f8bda1e9f3ba is requested
```

By calling `go get golang.org/x/time@v0.0.0-20220224211638-0e9765cccd65"
and `go mod tidy`.
2023-09-05 06:38:12 +08:00
Elle Mouton
dfec4a65cb
multi: update lightning-onion version
Update the lighting-onion dependency to include the lates changes which
support route blinding.
2023-08-23 12:09:53 +02:00
Oliver Gugger
d1dd2b4d11
mod: bump neutrino dependency to v0.16.0 2023-08-17 10:09:43 +02:00
Elle Mouton
5203b35316
go.mod: bump neutrino and btcwallet versions 2023-08-05 08:53:39 +02:00
positiveblue
5a7d7c2e4f
sqldb: add the sqldb package
This commit provides the scaffolding for using the new sql stores.
The new interfaces, structs and methods are in sync with other projects
like Taproot Assets.

- Transactional Queries: the sqldb package defines the interfaces required
to execute transactional queries to our storage interface.

- Migration Files Embedded: the migration files are embedded into the binary.

- Database Migrations: I kept the use of 'golang-migrate' to ensure our
codebase remains in sync with the other projects, but can be changed.

- Build Flags for Conditional DB Target: flexibility to specify our database
target at compile-time based on the build flags in the same way we do
with our kv stores.

- Update modules: ran `go mod tidy`.
2023-07-27 03:31:12 -07:00
ziggie
6da0f2a157
mod: bump version of neutrino and btcwallet. 2023-07-25 01:12:39 +02:00
Oliver Gugger
bd3f570107
Merge pull request #7807 from lightningnetwork/dependabot/go_modules/google.golang.org/grpc-1.53.0
build(deps): bump google.golang.org/grpc from 1.41.0 to 1.53.0
2023-07-17 14:15:25 +02:00
Oliver Gugger
cffdc9a46f
mod: bump tor submodule to v1.1.1 2023-07-13 10:17:02 +02:00
dependabot[bot]
63382faec1
build(deps): bump google.golang.org/grpc from 1.41.0 to 1.53.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.41.0 to 1.53.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.41.0...v1.53.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-05 21:12:31 +00:00
Oliver Gugger
2604aebdef
mod: bump kvdb submodule to v1.4.2
This is necessary after #7796 to apply the change made in the kvdb
submodule to the main module.
2023-06-29 13:37:58 -04:00
Hampus Sjöberg
3d69ed3d4c kvdb: Update bbolt to 1.3.7 in order to address mmap issues 2023-06-29 17:54:43 +02:00
yyforyongyu
b04a40e7b3
mod: update btcwallet version 2023-06-22 01:09:15 +08:00
yyforyongyu
7f4bf7ce2b
mod: update btcwallet's version 2023-05-19 16:36:21 +08:00
Michael Street
e73f54ec5d
deps: bumps btcwallet version 2023-05-11 18:24:18 -04:00
Oliver Gugger
b5d23bba06
mod+lnrpc: use hex encoding jsonpb fork 2023-05-11 22:52:52 +02:00
Oliver Gugger
9615ce20d6
mod: bump github.com/ulikunitz/xz to v0.5.11
There is a CVE (CVE-2021-29482) out there for versions previous to
v0.5.11 of the xz library.
2023-05-11 22:52:51 +02:00
Oliver Gugger
451f033855
mod: remove unused replace directive
With recent updates to some of our dependencies, the
github.com/dgrijalva/jwt-go package is not referenced in any transitive
dependency anymore which allows us to remove one of the replace
directives which was added as a security precaution before.
2023-05-11 22:52:51 +02:00
Oliver Gugger
ea8fe6f3f3
mod+lnrpc: bump google.golang.org/protobuf to v1.30.0 2023-05-11 22:52:00 +02:00
Oliver Gugger
f9436ec05d
mod+cmd/lncli: use google.golang.org/protobuf package 2023-05-11 22:51:16 +02:00
Olaoluwa Osuntokun
239da9268c
build: update to btcwallet version with async mempool scan
This version of btcwallet demotes some spammy logs (txns replaced in the
mempool), and makes the initial mempool scan async.

Fixes https://github.com/lightningnetwork/lnd/issues/7640
2023-04-27 16:27:26 -05:00
yyforyongyu
d5db1950cd
mod: update btcwallet version 2023-04-19 01:18:20 +08:00
Oliver Gugger
4bf97477ee
mod: bump btcd version 2023-04-11 10:33:19 +02:00
dependabot[bot]
3960e1538a
build(deps): bump golang.org/x/net from 0.4.0 to 0.7.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.4.0 to 0.7.0.
- [Release notes](https://github.com/golang/net/releases)
- [Commits](https://github.com/golang/net/compare/v0.4.0...v0.7.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-05 23:49:31 +00:00
Olaoluwa Osuntokun
f97454d4ff
Merge pull request #7359 from djkazic/fix/ldflags-on-mac-and-android
build: fix Makefile ldflags for mac and mobile, bump gomobile deps, enable gomodules
2023-04-04 18:05:21 -07:00
djkazic
bb5faf0f5a make+docs: pull in modules patch 2023-03-31 10:15:21 -04:00
ziggie
e7f338fded
mod: bump version for psbt and btcwallet package 2023-03-31 08:43:01 +02:00
Olaoluwa Osuntokun
0bbbd9b911
build: bump min Go version to 1.19
Fixes https://github.com/lightningnetwork/lnd/issues/7495
2023-03-08 18:02:57 -08:00
yyforyongyu
52facd3e5a
mod: bump neutrino lru cache version 2023-03-03 14:43:02 +08:00
Olaoluwa Osuntokun
a15c45231e
multi: bump neutrino+btcwallet versions, use new generic lru cache 2023-02-21 17:28:48 -08:00
Torakushi
3bb68661e7
mod: update btcwallet dependency 2023-02-08 10:03:30 +01:00
Andras Banki-Horvath
91af62a031
lnd: bump lnd/cert version
This commit bumps the lnd/cert version to 1.2.1 and fixes all call sites
where cert.GenCertPair was called.
2023-02-07 09:50:56 +01:00
Oliver Gugger
ce5fa2e043
multi: add version to MuSig2 API, bump btcd/btcec to v2.3.2
With this commit we bump the github.com/btcd/btcec/v2 library to v2.3.2
which implements the MuSig2 BIP version v1.0.0rc2. With this the
github.com/btcsuite/btcd/btcec/v2/schnorr/musig2 package becomes
v1.0.0rc2 and the github.com/lightningnetwork/lnd/internal/musig2v040
stays at the old v0.4.0 version.
2023-02-03 18:30:10 +01:00
Oliver Gugger
3012f5e17d
mod+internal: copy MuSig2 v0.4.0 code from btcd/btcec/v2
With this commit we copy the exact code of the MuSig2 code as found in
github.com/btcsuite/btcec/v2/schnorr/musig2 at the tag btcec/v2.2.2.
This corresponds to the MuSig2 BIP specification version of v0.4.0.
2023-02-03 18:30:09 +01:00
Olaoluwa Osuntokun
5d22d5eb6c
Merge pull request #7252 from ellemouton/sqlite-pt2
multi: add sqlite backend option
2023-01-31 10:14:46 -08:00
Orbital
c0f44a17b7
lnd: Add ability to encrypt TLS key on disk 2023-01-26 13:32:11 -06:00
Elle Mouton
2fd4f3f180
go.mod+lnrpc+github: point to latest kvdb changes
Use kvdb package v1.4.1. This update also forced the protobuf version to
be bumped which required `make rpc` to be run to update the generated
files. This also required a bump in the github pinned dependencies
config for the grpc and protobuf libs.
2023-01-25 14:03:00 +02:00
Olaoluwa Osuntokun
9b422acffe
build: update to latest version of btcd 2023-01-24 19:47:26 -08:00
Olaoluwa Osuntokun
8a18824851
Merge pull request #7243 from guggero/ghost-utxo-fix
wallet: fix ghost UTXOs not being detected
2022-12-13 20:00:31 -08:00
bitromortac
e96d48e3a8
mod: add golang.org/x/exp
This commit adds experimental support for generic type constraints.
2022-12-12 13:22:28 +01:00
Oliver Gugger
5e851912a7
mod: bump btcwallet to latest version 2022-12-09 00:56:49 +01:00
ffranr
bab526f655
cmd: add chain subcommand
Chain subcommand includes the commands: getblock, getbestblock, and getblockhash.

This commit removes conflicting neutrino cli commands.
2022-12-07 14:50:15 +00:00
Olaoluwa Osuntokun
2477095473
Merge pull request #7209 from guggero/btcwallet-fund-psbt
mod+docs: bump btcwallet to latest version
2022-12-05 19:47:42 -08:00
eugene
032632b4e0
multi: update to tlv/v1.1.0 and use new *P2P tlv decoding variants
This changes the call-sites in several places to use the *P2P variants
to not trigger an OOM on untrusted input. This makes the code safe with
the new tlv version. Note that the call-sites prior to this change were
also safe.
2022-12-05 09:32:56 -05:00
Oliver Gugger
8eebd4feba
mod+docs: bump btcwallet to latest version 2022-12-05 09:33:10 +01:00
Joost Jager
4c8ea29336
lnwire: allow longer failure messages
This fixes an incompatibility where lnd enforces a strict 256 byte
failure message, where as the spec sets this only as the recommended
length.
2022-12-02 14:27:59 +01:00
Olaoluwa Osuntokun
51f131b019
build: update to latest version of btcutil+btcwallet 2022-11-22 13:44:54 +01:00
Oliver Gugger
c9b4e7405b
Merge pull request #7142 from morehouse/make_fuzz
make+scripts+docs: update fuzzing script and make fuzz
2022-11-14 17:14:43 +01:00
Matt Morehouse
beb4d8c4df
build: remove go-fuzz dependency and references
We don't need go-fuzz now that we use native fuzzing.
2022-11-11 10:44:37 -06:00
Oliver Gugger
082d68d0ca
mod: bump btcwallet to version with addr validation
This commit bumps the btcwallet dependency to the version that includes
the address validation that asserts we can sign for an address before we
use it.
2022-11-11 10:20:08 +01:00
Oliver Gugger
e3536dd770
mod+keychain+lntest: bump btcd to version with tweak fix
This commit bumps to the latest version of btcd that fixes a key
mutation issue when signing for Taproot outputs.
2022-11-11 10:20:08 +01:00
Oliver Gugger
1628424c33
mod: bump btcd to v0.23.3 2022-11-01 16:38:36 +01:00
Olaoluwa Osuntokun
b3dc56fd9e
build: update to version of btcd with wire parsing bug fix
Fixes https://github.com/lightningnetwork/lnd/issues/7002
2022-10-09 18:39:34 -07:00
Orbital
073c990c75
multi: Add --tor.encryptkey flag functionality to encrypt the Tor private key on disk
It's possible that a user might not want the Tor private key to sit on the disk in plaintext (it is a private key after all). So this commit adds a new flag to encrypt the Tor private key on disk using the wallet's seed. When the --tor.encryptkey flag is used, LND will still write the Tor key to the same file, however it will now be encrypted intead of plaintext. This essentially uses the same method to encrypt the Tor private key as is used to encrypt the Static Channel Backup file.
2022-09-30 01:53:46 -05:00
Olaoluwa Osuntokun
d062a5263e
build: update to latest version of btcwallet w/ taproot estimation fix
Fixes https://github.com/lightningnetwork/lnd/issues/6873
2022-09-27 11:24:39 -07:00
Oliver Gugger
394ee84120
mod: update btcwallet to latest version 2022-08-25 09:20:23 +02:00
Olaoluwa Osuntokun
65a5eeb24e
build: make Go 1.18 the min version, update to Go 1.19
As usual, we keep with the last two Go versions, which means the last
year of Go release (they release every 6 months or so).

This change means we can now use the type params (generics) in the
project!
2022-08-23 10:54:13 -05:00
Oliver Gugger
c6e18a335c
mod: bump tor to v1.0.2 2022-08-17 11:58:28 +02:00
Olaoluwa Osuntokun
822822bb75
build: update to latest versions of btec, btcutil, and btcutil/psbt
Fixes #6668
2022-08-12 14:40:00 -07:00
ErikEk
300d81b977 dep: urfave/cli update 2022-06-28 20:44:50 +02:00
Olaoluwa Osuntokun
c69138e00d
build: bump btcd, btcwallet and neutrino to latest versions 2022-06-08 11:40:50 -07:00
Olaoluwa Osuntokun
a46ffe4299
Merge pull request #6612 from Roasbeef/tor-bump
build: bump tor version to v1.0.1
2022-06-02 14:44:38 -07:00
Olaoluwa Osuntokun
fb119446c1
build: bump tor version to v1.0.1 2022-06-01 13:54:56 -07:00
Olaoluwa Osuntokun
5d98635ab5
build: upgrade to latest version of btcwallet
This commit upgrades to the latest version of btcwallet that fixes an
issue that would cause us to not properly sign a validate populated PSBT
in certain scenarios.

Fixes https://github.com/lightningnetwork/lnd/issues/6579
2022-06-01 10:24:31 -07:00
Oliver Gugger
d716b721be
mod: bump to latest btcwallet dependency
This commit bumps the btcwallet version to the latest master branch that
contains the fixes to add Taproot related fields to a PSBT in the
FundPsbt method.
2022-05-12 10:24:38 +02:00
Oliver Gugger
9f4f0e94f5
multi: avoid direct use of dcrec/secp256k1 library
Because the original dcrec secp256k1 library that is used for the
Schnorr signature primitives uses different hash algorithms than the
btcd secp256k1 library. Therefore pulling in the wrong library can lead
to weird and unexpected errors. We try to make it harder to make the
mistake by not using the library directly in lnd in the first place.
Note that it is still indirectly needed by the btcd secp256k1 library,
therefore the module dependency is still expected to be there, just
moved to the indirect section.
2022-05-11 10:07:52 +02:00
Oliver Gugger
0e098ed9da
mod: update to btcd/btcutil/psbt v1.1.4 2022-05-11 10:07:49 +02:00
Elle Mouton
5a08788a05
multi: update btcwallet to v0.15.0
Update go.mod to point to latest btcwallet version.
2022-05-11 08:45:06 +02:00
Olaoluwa Osuntokun
0ec88b5346
Merge pull request #6347 from yyforyongyu/5388-rm-revc-log
lnwallet+channeldb: store minimal info in revocation log bucket
2022-05-05 15:52:59 -07:00
Olaoluwa Osuntokun
9ec26325b5
build: update to version of neutrino w/ BIP 155 support
Fixes #4973
2022-05-03 15:48:37 -07:00
Oliver Gugger
be704b09b2
mod: bump btcec to MuSig2 version, require go 1.17 2022-04-29 09:34:02 +02:00
yyforyongyu
7c5daaf7c2
mod: update tlv's package version 2022-04-20 01:19:30 +08:00
Oliver Gugger
b6e1d2ae41
mod+docs: bump btcutil/psbt library to v1.1.3
Fixes #6386.
Bumps the btcutil/psbt library to the latest version v1.1.3 that fixes
an issue with de-serializing a PSBT that contains an unsigned
transaction with no inputs.
2022-04-19 09:45:38 +02:00
Oliver Gugger
70c01e5bf1
mod: bump btcwallet to p2tr unused addr fix 2022-04-13 14:01:59 +02:00
Elle Mouton
2bf2939b84
go.mod: update btcd to include tor resolver fix 2022-03-31 09:49:09 +02:00
Olaoluwa Osuntokun
f8174630d8
build: update to latest btcutil/psbt version
Updates a version of `btcutil/psbt` that has looser parsing requirements
to properly match the BIP.

Fixes: https://github.com/lightningnetwork/lnd/issues/6372
2022-03-29 20:10:54 -05:00
Oliver Gugger
72c9582b85
multi: bump btcd to taproot aware version 2022-03-24 15:00:25 +01:00
Oliver Gugger
9ecc439266
mod: remove local replace for healthcheck module
With the new healthcheck/v1.2.2 tag pushed, we can finally remove the
local replace directive.
2022-03-22 14:46:19 +01:00
Oliver Gugger
2b34c1e7ed
mod+healthcheck: remove local replace directive 2022-03-22 14:06:05 +01:00
Oliver Gugger
5116cfc255
mod: bump aez library that points to GitLab
The newest version of aez points directly to
gitlab.com/yawning/bsaes.git instead of the unreachable
git.schwanenlied.me/yawning/bsaes.git that required the replace
directive.
2022-03-21 20:41:40 +01:00
Oliver Gugger
973c95369f
mod: remove local replaces 2022-03-21 20:41:38 +01:00
Oliver Gugger
1b48681bba
mod: remove replace for github.com/onsi/ginkgo
With the recent PR #6285 merged that bumped the btcd dependency, we no
longer need to bump the github.com/onsi/ginkgo package with a replace
directive. Instead it was bumped indirectly by merging
https://github.com/btcsuite/btcd/pull/1780 which is included in the btcd
version we reference.
2022-03-21 20:41:37 +01:00
Oliver Gugger
fddcb6669c
mod: remove replace for go.mongodb.org/mongo-driver
With the dependency to lnd@v0.14.2-beta removed, we no longer depend on
the mongo-driver indirectly so we can remove the security related
replace directive.
2022-03-21 20:41:36 +01:00
Oliver Gugger
fa919781e2
mod+healthcheck: use new tor submodule
Using the tor module instead of whole lnd in healthcheck allows us to
get rid of a lot of indirect dependencies.
2022-03-21 20:41:34 +01:00
Oliver Gugger
c5f3110616
tor: make tor its own submodule 2022-03-21 20:41:33 +01:00
Oliver Gugger
4554c306fa
mod: bump submodules after changes to them 2022-03-09 19:05:44 +01:00
Oliver Gugger
7dfe4018ce
multi: use btcd's btcec/v2 and btcutil modules
This commit was previously split into the following parts to ease
review:
 - 2d746f68: replace imports
 - 4008f0fd: use ecdsa.Signature
 - 849e33d1: remove btcec.S256()
 - b8f6ebbd: use v2 library correctly
 - fa80bca9: bump go modules
2022-03-09 19:02:37 +01:00
Oliver Gugger
8ee9fc837b
Merge pull request #6136 from bhandras/forall_etcd
etcd: add ForAll to speed up graph operations
2022-03-07 16:44:43 +01:00
Olaoluwa Osuntokun
4a15de05aa
build: update go-pretty v6 [skip ci]
In this commit we update go-pretty to use the latest v6 version of the
library. The existing version we used had a reported vulnerability.
Updating to this newest version also helped to shrink our set of
indirect dependencies.

In the future we can use
https://github.com/lightningnetwork/lnd/pull/5870 to detect/flag these
issues automatically.

Fixes #6293
2022-03-01 15:02:23 -08:00
Andras Banki-Horvath
40af029413
etcd: extend kvdb_etcd with a real ForAll implementation 2022-02-28 12:03:04 +01:00
Oliver Gugger
b4b524903c
mod: bump tlv version to v1.0.1 [skip ci]
Apparently we already pushed a tag named tlv/v1.0.0 a while ago (which
points to a commit not in master)...
We need to bump the version of the tag to v1.0.1 since we cannot replace
old tags (without causing a lot of caching problems).
2022-02-21 15:30:07 +01:00
Oliver Gugger
96b960455f
mod+tlv: make tlv its own submodule 2022-02-21 13:49:30 +01:00
naveen
192cee494f
mod+tools+Makefile:separate tools different module
Separated the tools to different go module to avoid having tools
dependencies on the main module.
2022-02-10 11:02:01 +01:00
Oliver Gugger
d1b512ff92
mod+make: replace goimports with gosimports 2022-02-10 11:02:00 +01:00
Joost Jager
b8408a1484
kvdb: add ForAll
A new method to allow efficient range queries for backends that support
it.
2022-01-12 19:11:53 +01:00
Oliver Gugger
617be6f994
Merge pull request #6140 from bottlepay/fix-duplicate-close
htlcswitch: fix duplicate close
2022-01-11 11:08:30 +01:00
Joost Jager
7cd7cef6c6
htlcswitch: fix duplicate close
The decayed log database opening and closing is managed at a higher
level in config_builder.go.
2022-01-10 08:42:32 +01:00
Oliver Gugger
8c77829c46
lnwallet+lntest+mod: bump btcwallet to export ScriptForOutput 2022-01-06 13:24:30 +01:00