Commit graph

16252 commits

Author SHA1 Message Date
Carla Kirk-Cohen
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
Carla Kirk-Cohen
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
Carla Kirk-Cohen
42069ef2f8
htlcswitch: remove unused decode hop iterator 2024-03-27 09:36:37 -04:00
Oliver Gugger
b76f733a9e
Merge pull request #8587 from zhiqiangxu/add_nil_check
channeldb: check return value of ReadWriteBucket
2024-03-26 09:30:07 -06:00
zhiqiangxu
5fd46b0dce channeldb: check return value of ReadWriteBucket 2024-03-26 17:28:09 +08:00
Oliver Gugger
d3e5b2f799
Merge pull request #8584 from yyforyongyu/fix-unit-race
chainntnfs: fix race in `TestInterfaces`
2024-03-26 02:37:53 -06:00
yyforyongyu
bf799719b5
chainntnfs: fix race in TestInterfaces 2024-03-26 12:59:02 +08:00
Oliver Gugger
fa2b0ca833
Merge pull request #8577 from undefinedor/bugfix/fix-unreachable-code
kvdb+watchtower: fix unreachable code
2024-03-25 11:44:33 -06:00
undefinedor
028959f5a0
kvdb+watchtower: fix unreachable code 2024-03-25 21:04:48 +08:00
Oliver Gugger
1422df27b2
Merge pull request #8521 from zhiqiangxu/typo
chore: fix typo
2024-03-22 01:34:57 -06:00
zhiqiangxu
74a290b46d lnwallet+input: fix a few typoes 2024-03-21 15:44:45 +08:00
Oliver Gugger
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
Oliver Gugger
9e59fb4563
Merge pull request #8572 from zhiqiangxu/fix_deprecated
lnwire: fix deprecated usage
2024-03-21 01:23:02 -06:00
zhiqiangxu
cbf676e404 lnwire: fix deprecated usage 2024-03-21 10:05:17 +08:00
ProofOfKeags
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
Eugene Siegel
fccf6ce3f1
release-notes: update for 0.18.0 2024-03-20 12:14:28 -04:00
Eugene Siegel
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
Oliver Gugger
56c04172c0
Merge pull request #8570 from guggero/release-notes-fix
docs: remove merge artifact, polish
2024-03-20 09:56:38 -06:00
Oliver Gugger
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
Oliver Gugger
ad9144ffa3
Merge pull request #8273 from guggero/bitcoind-26
GitHub: use bitcoind v26.0 for CI
2024-03-20 01:50:44 -06:00
Andras Banki-Horvath
483f5f3bca
docs: update release notes for 0.18 2024-03-20 08:46:48 +01:00
Andras Banki-Horvath
2fbffab421
itest: ensure that native SQL LND won't start if it has any KV invoices 2024-03-20 08:46:48 +01:00
Andras Banki-Horvath
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
Andras Banki-Horvath
65c1f5483b
lncfg: make sure to only use native SQL with SQL backends 2024-03-20 08:46:47 +01:00
Oliver Gugger
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
Oliver Gugger
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
Oliver Gugger
4100646e59
Merge pull request #8569 from xiaoxianBoy/fix-typos
chore: fix typos [skip ci]
2024-03-20 01:40:48 -06:00
snoppy
089278d817
docs+lntest: fix typos 2024-03-20 15:13:19 +08:00
Oliver Gugger
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
Oliver Gugger
8ef5933a43
Merge pull request #8566 from ellemouton/windowsTowerFail
itest: mine blocks on tower session assertion failure
2024-03-19 14:49:51 -06:00
yyforyongyu
9dace4377a
docs: update release notes 2024-03-20 04:40:38 +08:00
yyforyongyu
03afb72918
workflows: remove loggings from unit test
These loggings are not helpful.
2024-03-20 04:40:38 +08:00
yyforyongyu
c00b7101d2
lnwallet: update the unit tests to check the new errors 2024-03-20 04:40:38 +08:00
yyforyongyu
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
ziggie
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
ziggie
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
ziggie
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
Oliver Gugger
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
Elle Mouton
91ed8cf862
go.mod+docs: bump sqlite version to fix data race 2024-03-19 15:40:10 +02:00
Elle Mouton
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
Oliver Gugger
f6656d1daa
Travis+GitHub: replace Travis CI with GitHub MacOS 14 build 2024-03-18 17:08:18 +01:00
Oliver Gugger
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
Oliver Gugger
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
Oliver Gugger
77a82309f5
docs: add release notes 2024-03-18 17:08:17 +01:00
Oliver Gugger
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
Oliver Gugger
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
Oliver Gugger
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
Oliver Gugger
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
Oliver Gugger
2884389ce4
chainntnfs: fix issues with NewBitcoindBackend
This commit fixes a number of issues with our temporary bitcoind nodes
that we spin up for unit tests:
 - We didn't remove the node's temporary data dir after tests finished.
 - We used random ports which lead to unwanted port collisions.
 - We used ipc:// unix sockets for ZMQ which currently isn't supported
   in bitcoind v26.0 due to a regression. Since we can reliably create
   new non-colliding ports now, we should use TCP for ZMQ anyway.
2024-03-18 16:13:39 +01:00
Oliver Gugger
2cc28baa84
chainntnfs: re-try miner connection more often
Make sure we wait for the initial connection long enough.
2024-03-18 16:13:39 +01:00