Commit Graph

16254 Commits

Author SHA1 Message Date
e4f90ec593 lnwire: add blinding point to update_add_htlc TLVs
Add blinding points to update_add_htlc. This TLV will be set for
nodes that are relaying payments in blinded routes that are _not_
the introduction node.
2024-03-27 09:38:50 -04:00
d8979d3086 multi: add validation of blinded route encrypted data
Co-authored-by: Calvin Zachman <calvin.zachman@protonmail.com>
2024-03-27 09:36:40 -04:00
c48841a38b record: add TLV encoding/decoding for blinded route data blobs
This commit adds encoding and decoding for blinded route data blobs.
TLV fields such as path_id (which are only used for the final hop)
are omitted to minimize the change size.
2024-03-27 09:36:39 -04:00
3cc50ced55 lnwire: create common encoder/decoder for raw feature vectors
We'll need to pack feature vectors for route blinding, so we pull
the encoding/decoding out into separate functions (currently
contained in ChannelType). Though it's more lines of code, we keep
most of the ChannelType assertions so that we strictly enforce
use of the alias.
2024-03-27 09:36:38 -04:00
42069ef2f8 htlcswitch: remove unused decode hop iterator 2024-03-27 09:36:37 -04:00
b76f733a9e Merge pull request #8587 from zhiqiangxu/add_nil_check
channeldb: check return value of ReadWriteBucket
2024-03-26 09:30:07 -06:00
5fd46b0dce channeldb: check return value of ReadWriteBucket 2024-03-26 17:28:09 +08:00
d3e5b2f799 Merge pull request #8584 from yyforyongyu/fix-unit-race
chainntnfs: fix race in `TestInterfaces`
2024-03-26 02:37:53 -06:00
bf799719b5 chainntnfs: fix race in TestInterfaces 2024-03-26 12:59:02 +08:00
fa2b0ca833 Merge pull request #8577 from undefinedor/bugfix/fix-unreachable-code
kvdb+watchtower: fix unreachable code
2024-03-25 11:44:33 -06:00
028959f5a0 kvdb+watchtower: fix unreachable code 2024-03-25 21:04:48 +08:00
1422df27b2 Merge pull request #8521 from zhiqiangxu/typo
chore: fix typo
2024-03-22 01:34:57 -06:00
74a290b46d lnwallet+input: fix a few typoes 2024-03-21 15:44:45 +08:00
15c7686830 Merge pull request #8554 from yyforyongyu/use-new-errors
lnwallet: use new errors returned from `rpcclient`
2024-03-21 01:42:57 -06:00
9e59fb4563 Merge pull request #8572 from zhiqiangxu/fix_deprecated
lnwire: fix deprecated usage
2024-03-21 01:23:02 -06:00
cbf676e404 lnwire: fix deprecated usage 2024-03-21 10:05:17 +08:00
b575460bca Merge pull request #8418 from Crypt-iQ/feefilter_0117
chainfee: introduce filterManager and use it for fee floor
2024-03-20 19:15:35 -06:00
fccf6ce3f1 release-notes: update for 0.18.0 2024-03-20 12:14:28 -04:00
d5a13577bf chainfee: introduce filterManager and use it for fee floor
This commit introduces a filterManager that uses our outbound peers'
feefilter values to determine an acceptable minimum feerate that
ensures successful transaction propagation. Under the hood, a moving
median is used as it is more resistant to shocks than a moving average.
2024-03-20 12:14:25 -04:00
56c04172c0 Merge pull request #8570 from guggero/release-notes-fix
docs: remove merge artifact, polish
2024-03-20 09:56:38 -06:00
23f5f3cde5 Merge pull request #8568 from bhandras/native-sql-ensure-empty-invoicedb
lnd: ensure that LND won't start in native SQL mode if it has any KV invoices
2024-03-20 05:34:08 -06:00
ad9144ffa3 Merge pull request #8273 from guggero/bitcoind-26
GitHub: use bitcoind v26.0 for CI
2024-03-20 01:50:44 -06:00
483f5f3bca docs: update release notes for 0.18 2024-03-20 08:46:48 +01:00
2fbffab421 itest: ensure that native SQL LND won't start if it has any KV invoices 2024-03-20 08:46:48 +01:00
2d3d11487c lnd: ensure that native SQL can only be used with a clean KV invoice DB
This commit adds a check to ensure that we don't start LND with native
SQL invoice DB if we already have any invoices in our KV channeldb. This
is needed as native SQL invoices is an experimental feature and we do
not yet support migration.
2024-03-20 08:46:48 +01:00
65c1f5483b lncfg: make sure to only use native SQL with SQL backends 2024-03-20 08:46:47 +01:00
0c6cc8d0ae Merge pull request #8550 from kornpow/kornpow/rescan-info-log
routerrpc: Add detailed info logging during a rescan
2024-03-20 01:46:18 -06:00
38be396121 docs: remove merge artifact, polish
This commit removes a merge artifact introduced by a rebase of a
previous PR.
While we're at it, we streamline the grammar, formatting and general
look-and-feel of the release notes.
2024-03-20 08:41:27 +01:00
4100646e59 Merge pull request #8569 from xiaoxianBoy/fix-typos
chore: fix typos [skip ci]
2024-03-20 01:40:48 -06:00
089278d817 docs+lntest: fix typos 2024-03-20 15:13:19 +08:00
ad88407b33 Merge pull request #7805 from ziggie1984/updatefee-limiter
Limit FeeRate change for the UpdateFee msg to prevent sharp changes
2024-03-19 14:50:07 -06:00
8ef5933a43 Merge pull request #8566 from ellemouton/windowsTowerFail
itest: mine blocks on tower session assertion failure
2024-03-19 14:49:51 -06:00
9dace4377a docs: update release notes 2024-03-20 04:40:38 +08:00
03afb72918 workflows: remove loggings from unit test
These loggings are not helpful.
2024-03-20 04:40:38 +08:00
c00b7101d2 lnwallet: update the unit tests to check the new errors 2024-03-20 04:40:38 +08:00
837c7f761c lnwallet+lnd: make use of the new errors from btcd/rpcclient
This commit updates `btcd` and `btcwallet` packages and make use of the
new RPC error mappings.
2024-03-20 04:40:38 +08:00
25c38491ee docs: add release-notes.
Adding the release-notes for release 0.18 and fixing typos in the
release doc.
2024-03-19 16:57:12 +00:00
6821309af3 lnwallet: Change MaxFee calculation.
When determining the max fee rate of a channel we used to scale
the fee rate depending on our available local balance on this channel.
This lead to a special case that if a channel would be drained we
could especially decrease the fee rate even down to the fee floor.
Now we make sure that our max fee rate will not be lower than the
old fee rate to make sure in case our channel is locally drained
we do not continue to decrease fees too low.
2024-03-19 16:56:15 +00:00
45c6ee69d2 chainfee: special case a zero fee estimation.
Bitcoind will not report any fee estimation in case it has not
enough data available. We used to just set the min mempool fee
in such cases but this might not represent the current fee situation
of the bitcoin network. We return an error now so that we will use
the fallback fee instead.
2024-03-19 16:56:14 +00:00
b1d3b9f678 Merge pull request #8567 from ellemouton/bumpSqliteToFixRace
go.mod+docs: bump sqlite version to fix data race
2024-03-19 09:29:47 -06:00
91ed8cf862 go.mod+docs: bump sqlite version to fix data race 2024-03-19 15:40:10 +02:00
d87fd6138d itest: mine blocks on tower session assertion failure
In the tower session itest, we make sure to mine blocks on session count
assertion failure. This required because the session count is expected
to change only when 2 things both happen: 1) a closable session is
queued and 2) a new block notification comes through _after_ the session
has been queued. Only then will it be deleted. So we need to do this to
prevent the case where all the block notifications are consumed _before_
the session is queued for deletion. This flake tended to happen in the
windows itest.
2024-03-19 13:17:20 +02:00
f6656d1daa Travis+GitHub: replace Travis CI with GitHub MacOS 14 build 2024-03-18 17:08:18 +01:00
17b93db5cc chainntnfs: fix race unit test issue
Because we pass in the same config into multiple notifiers, we sometimes
get a data race in the unit tests. By creating a copy of the config we
avoid that.
2024-03-18 17:08:17 +01:00
ab422ba184 lntest: give chain backend more time to get ready
This is a commit to attempt to fix Travis which runs on ARM64.
2024-03-18 17:08:17 +01:00
77a82309f5 docs: add release notes 2024-03-18 17:08:17 +01:00
b1b32d9026 make: add nocache and verbose arguments
To make it easy to add "-test.v" and "-test.count=1" to the unit tests,
we add two new make flags.
2024-03-18 17:07:26 +01:00
aa811c784a lnwallet+routing: use chainntnfs.NewBitcoindBackend
Since we fixed a number of issues in chainntnfs.NewBitcoindBackend that
makes it compatible with bitcoind v26.0, we now want to use that
function in all our unit tests.
2024-03-18 16:13:40 +01:00
d40312c36b multi: move unit test backend funcs to new package
To avoid circular dependency issues between packages, we move the unit
test backend creation function to a new package in the lntest parent
package.
2024-03-18 16:13:39 +01:00
c170a9830b multi: use chainntnfs.NewMiner for miners in unit tests
With the chainntnfs.NewMiner now being optimized for not creating
nodes with colliding ports, we use it in all unit tests that spin up
temporary miners.
2024-03-18 16:13:39 +01:00