Commit graph

16539 commits

Author SHA1 Message Date
Oliver Gugger
817ddb807b
GitHub+scripts: use bitcoind v27.0 2024-04-18 17:44:04 +02:00
hidewrong
8afb978c81 chore: fix struct names
Signed-off-by: hidewrong <hidewrong@outlook.com>
2024-04-17 11:19:31 +08:00
Oliver Gugger
2ccf58e2af
Merge pull request #8630 from guggero/addr-master-fingerprint
mod: bump btcwallet to latest version
2024-04-16 07:00:13 +00:00
Olaoluwa Osuntokun
2162c943de
build: bump top level module to kvdb v1.4.6 2024-04-12 15:32:22 -07:00
Olaoluwa Osuntokun
07b6af41db
Merge pull request #8642 from Roasbeef/kvdb-update
kvdb: bump to sqldb/v1.0.1
2024-04-12 15:29:28 -07:00
Olaoluwa Osuntokun
06e4ffb3f3
kvdb: bump to sqldb/v1.0.1
Post merge module clean up after
https://github.com/lightningnetwork/lnd/pull/8611.
2024-04-12 15:16:26 -07:00
Oliver Gugger
f35ce0981d
docs: update release notes 2024-04-12 08:34:56 +02:00
Oliver Gugger
333fc6eb1d
mod: bump btcwallet to latest version
Fixes #8626.
This commit updates btcwallet to the latest version that correctly
includes the MasterKeyFingerprint for all generated addresses, including
change addresses derived from imported watch-only accounts.
2024-04-12 08:34:54 +02:00
Olaoluwa Osuntokun
1c229e4422
Merge pull request #8611 from bhandras/sql-tx-retry
sqldb+kvdb: unify SQL error mapping and transaction retry for between the `kvdb` and `sqldb` packages
2024-04-11 15:41:56 -07:00
Andras Banki-Horvath
024598266d
docs: update release notes for 0.18 2024-04-11 15:04:04 +02:00
Andras Banki-Horvath
043e4aff01
sqldb+invoices: fix ordering bug in FilterInvoices
Previously if the `reverse` named arg was unset (value of NULL), then
SQL would order by NULL instead of ID causing undifined ordering of the
returned rows. To fix that we check for NULL and also make sure to set
the `reverse` arg in the code explicitly as it in the generated code it
is an `interface{}` instead of `bool`.
2024-04-11 15:04:04 +02:00
Andras Banki-Horvath
478ae1e9b0
sqldb: cleanup scope state reset by adding reset closure to ExecTx
For SQL transactions, we often accumulate results in variables declared
outside the closure's scope. To eliminate the need for manually clearing
these containers, we introduce a reset function to ExecTx, mirroring the
approach already adopted in kvdb.
2024-04-11 15:04:04 +02:00
Andras Banki-Horvath
c6073a14ca
sqldb: ensure that we're using serializable isolation 2024-04-11 15:04:04 +02:00
Olaoluwa Osuntokun
0609431a0c
channeldb: fix payment control unit tests w/ errors.Is 2024-04-11 15:04:04 +02:00
Oliver Gugger
648fb22f63
multi: wrap all errors 2024-04-11 15:04:03 +02:00
Andras Banki-Horvath
9a28a4c105
kvdb: remove the unused SQL error mappers 2024-04-11 15:04:03 +02:00
Olaoluwa Osuntokun
cd0ca43a00
kvdb: don't do a critical log for db serialization errors
In this commit, we fix a bug that would cause the entire db to shutdown
if hit a panic (since db operations in the main buckets exit with a
panic) while executing a txn call back. This might be a postgres error
we need to check, so we don't want to bail out, and instead want to pass
up the error to the caller so we can retry if needed.
2024-04-11 15:04:03 +02:00
Olaoluwa Osuntokun
120d6dd297
channeldb: explicitly catch error in pruneGraphNodes
With the new postgres concurrency control, an error may come from a
bucket function that's actually a postgres error. In this case, we need
to return early so we can retry the txn. Otherwise, we'll be working
with an aborted tx, and never actually return the error so we don't auto
retry.
2024-04-11 15:04:03 +02:00
Olaoluwa Osuntokun
329fcc6498
kvdb+sqldb: update SQL error parsing to account for non wrapped errs
Some sub-systems like btcwallet will return an error from the database,
but they won't properly wrap it. As a result, we were unable to actually
catch the serialization errors in the first place. To work around this,
we'll now attempt to parse the error string directly.
2024-04-11 15:04:03 +02:00
Andras Banki-Horvath
43f4b14c28
kvdb+sqldb: use the same tx retry helper 2024-04-11 15:04:02 +02:00
Oliver Gugger
976f5d2760
Merge pull request #8603 from bhandras/sqldb-go-package
sqldb+invoices: turn sqldb into a go module
2024-04-10 08:51:00 +00:00
Oliver Gugger
971281deae
Merge pull request #8576 from mohamedawnallah/check-outbound-peers-chain-backend
healthcheck: make sure chain backend has enough outbound peers
2024-04-10 07:39:16 +00:00
Andras Banki-Horvath
c804894849
docs: update release notes for 0.18 2024-04-09 20:46:12 +02:00
Andras Banki-Horvath
a7bd9701b1
github: update gRPC pin to v1.59.0 2024-04-09 20:46:11 +02:00
Andras Banki-Horvath
8f729241d9
sqldb: turn sqldb into a go package 2024-04-09 20:46:11 +02:00
Andras Banki-Horvath
7f5c8219ef
sqldb+invoices: move SQL invoice store impl to invoices package 2024-04-09 20:46:11 +02:00
Andras Banki-Horvath
6d316ef56f
sqldb: export sql null type helpers 2024-04-09 20:46:11 +02:00
Mohamed Awnallah
130fdbde73
docs: update the release-notes-0.18.0.md 2024-04-09 19:08:38 +02:00
Mohamed Awnallah
df9f1485a7
chainreg: add checkOutboundPeers function
In this commit we add `checkOutboundPeers` function
to the `cc.HealthCheck` function.
2024-04-09 19:08:36 +02:00
Oliver Gugger
6377f98536
Merge pull request #8615 from ProofOfKeags/bugfix/revert-compulsory-gossip-queries
Revert "feature: make gossip queries compulsory"
2024-04-05 06:57:39 +00:00
Keagan McClelland
939e3cc6c1 docs: update release notes 2024-04-04 12:28:37 -07:00
Oliver Gugger
e509657fac
Merge pull request #8620 from twofaktor/patch-1
[FIX] Small parenthesis error on v0.18 release notes
2024-04-04 10:21:19 +00:00
Olaoluwa Osuntokun
9bafcb2e3e
Merge pull request #8160 from carlaKC/7298-2-forwardblindedroutes
[2/3]: Support Forwarding of Blinded Payments
2024-04-03 16:48:12 -07:00
Keagan McClelland
dd2da29cba peer: re-add AuthGossiper nil check 2024-04-03 15:47:50 -07:00
⚡️2FakTor⚡️
142fdbf1fd
Update release-notes-0.18.0.md 2024-04-03 20:30:00 +02:00
Carla Kirk-Cohen
2188dd9d2b
docs: release notes 18.0 2024-04-03 09:19:44 -04:00
Carla Kirk-Cohen
6e5eead617
lncfg: disable allowing blinded routes in daemon but not itests
This commit turns off route blinding for the daemon while we're waiting
on full handling for blinded errors. The feature remains on for itests
so that tests covering blinding can run as usual.
2024-04-03 09:19:43 -04:00
Carla Kirk-Cohen
0d9a184df8
lntest: dispatch and intercept payment to blinded route
We don't support receiving blinded in this PR - just intercept and
settle instead. The HTLC's arrival on the interceptor indicates that
it was successfully forwarded on a blinded hop.
2024-04-03 09:19:42 -04:00
Carla Kirk-Cohen
69e1162dd1
lntest: add route construction to blinded forwarding test 2024-04-03 09:19:41 -04:00
Carla Kirk-Cohen
58dda83b22
lntest: add helper to create blinded route 2024-04-03 09:19:40 -04:00
Carla Kirk-Cohen
a72aaa3d84
lntest: add setup for blinded route forwarding itest
Note: the itest is broken up into multiple commits to make it
more readable, they can be squashed post-review.
2024-04-03 09:19:39 -04:00
Carla Kirk-Cohen
7e4f3d3b1d
htlcswitch: reject HTLCs that use use as introduction if disabled
Reject any HTLCs that use us as an introduction point in a blinded
route if we have disabled route blinding. We have to do this after
we've processed the payload, because we only know we're an introduction
point once we've processed the payload itself.
2024-04-03 09:19:39 -04:00
Carla Kirk-Cohen
6d41037628
htlcswitch: set forwarding information from encrypted data
If we received a payload with a encrypted data point set, our forwarding
information should be set from the information in our encrypted blob.
This behavior is the same for introduction and relying nodes in a
blinded route.
2024-04-03 08:52:26 -04:00
Carla Kirk-Cohen
2029a06918
multi: return parsed types from payload
To separate blinded route parsing from payload parsing, we need to
return the parsed types map so that we can properly validate blinded
data payloads against what we saw in the onion.
2024-04-03 08:52:25 -04:00
Carla Kirk-Cohen
1e6fae37f7
htlcswitch: add blinding point to sphinx iterator for decoding 2024-04-03 08:52:25 -04:00
Carla Kirk-Cohen
da76d05fa5
htlcswitch: add NextBlinding to ForwardingInfo and set in UpdateAddHtlc
When we have a HTLC that is part of a blinded route, we need to include
the next ephemeral blinding point in UpdateAddHtlc for the next hop. The
way that we handle the addition of this key is the same for introduction
nodes and relaying nodes within the route.
2024-04-03 08:38:24 -04:00
Carla Kirk-Cohen
ca6d414308
multi: validate contents in blinded data against payload 2024-04-03 08:38:23 -04:00
Carla Kirk-Cohen
03f6c5cd0a
htlcswitch: add blinding kit to handle encrypted data in blinded routes
This commit introduces a blinding kits which abstracts over the
operations required to decrypt, deserialize and reconstruct forwarding
data from an encrypted blob of data included for nodes in blinded
routes.
2024-04-03 08:38:22 -04:00
Carla Kirk-Cohen
040fcb0f92
multi: add option to disable route blinding, rejecting at link
Add an option to disable route blinding, failing back any HTLC with
a blinding point set when we haven't got the feature enabled.

Note that this commit only handles the case where we're chosen as the
relaying node (where the blinding point is in update_add_htlc), we'll
add handling for the introduction node case once we get to handling of
blinded payloads).
2024-04-03 08:35:41 -04:00
Keagan McClelland
dad53b3f9a Revert "feature: make gossip queries compulsory"
This reverts commit 717facc202.

It turns out that we can't do this since it would result in
incompatibility with LDK. The spec has been updated to reallow
optional gossip queries so we revert this commit.
2024-04-02 16:43:27 -07:00