Commit Graph

18542 Commits

Author SHA1 Message Date
yyforyongyu
8ad122bd03 itest: add testBumpFeeLowBudget 2025-03-26 18:24:47 +08:00
yyforyongyu
64f7a7f3d0 lntest+itest: update block height in MineBlockWithTx
Make sure we update the harness's current height and assert nodes have
been synced. Also fixes some typo found.
2025-03-26 18:24:47 +08:00
yyforyongyu
883381d266 lntest+itest: return the tx from FundCoins
This is used is a following test.
2025-03-26 18:24:46 +08:00
yyforyongyu
4abc1461ad itest: refactor runBumpFee to fix a flake
Make sure we assertPendingSweepResp in a wait call to wait for the
updated resp.
2025-03-26 18:24:46 +08:00
yyforyongyu
eea3561eea sweep+itest: return next retry fee rate in TxFailed event
We now return the next retry fee rate in `TxFailed` event in
`TxPublisher`. When handling the event, `UtxoSweeper` will update the
inputs to make sure the starting fee rate is set before attempting the
next sweep.
2025-03-26 18:24:44 +08:00
yyforyongyu
6dbf4ce470 sweep: add method calculateRetryFeeRate
A minor refactor to prepare the upcoming changes.
2025-03-26 15:26:11 +08:00
yyforyongyu
861dc145bf sweep: create sweep tx even the budget cannot be met
We now always create the sweeping tx even though the budget cannot be
covered so we don't miss the deadline. Note that the fee bump will fail
once the provided wallet input cannot cover the increase fees, which is
fine as these inputs will be marked as failed and be retried again in
the next block. When that happens, if there are new wallet UTXOs, a new
batch will be created to perform the fee bump.
2025-03-26 15:26:08 +08:00
yyforyongyu
3c4fd1b484 sweep: refactor AddWalletInputs by adding addWalletInput
A minor refactor to prepare for upcoming changes.
2025-03-26 14:25:29 +08:00
Oliver Gugger
d1093cd3c3 Merge pull request #9642 from yyforyongyu/skip-blockbeat
lnd: skip setting `blockbeat` for `nochainbackend` mode
2025-03-25 08:20:34 -06:00
Oliver Gugger
cf35be847c Merge pull request #9626 from ziggie1984/payment-lifecycle-small-fix
payment lifecycle small fix
2025-03-25 08:15:48 -06:00
Oliver Gugger
44161a3643 Merge pull request #9631 from hieblmi/degrade-err
rpcserver: warn if sendcoins default conf target is used
2025-03-25 08:09:11 -06:00
Oliver Gugger
af2f11edff Merge pull request #9544 from lightningnetwork/elle-graphCacheBase
graph: move graph cache out of CRUD layer
2025-03-25 07:43:06 -06:00
Oliver Gugger
813f26cbc1 Merge pull request #9621 from jjjike2021/exp/maps
multi: remove x/exp/maps dependency
2025-03-25 07:08:02 -06:00
yyforyongyu
ab9004492e lnd: skip setting blockbeat for nochainbackend mode
If we are in `nochainbackend` mode, we need to skip fetching the best
block during startup, otherwise it will be blocked.
2025-03-25 20:57:51 +08:00
ziggie
0eca55fe94 docs: add release-notes 2025-03-25 04:42:03 -05:00
ziggie
013e408abe multi: make validation for keysend stricter 2025-03-25 04:42:03 -05:00
Elle Mouton
947ca937c7 docs: update release notes 2025-03-25 08:04:42 +02:00
Yong
3351a1745e Merge pull request #9543 from ziggie1984/fix-payment-inconsitency
multi: fix payment failure overwrite
2025-03-25 11:36:24 +08:00
jike
e72caf7b45 multi: remove x/exp/maps dependency 2025-03-25 10:34:19 +08:00
Olaoluwa Osuntokun
0053fda6da Merge pull request #9624 from Roasbeef/0-19-branch
build: bump version to v0.19 rc1
v0.19.0-beta.rc1
2025-03-24 19:24:26 -07:00
Olaoluwa Osuntokun
1cebfedbae Merge pull request #9607 from Roasbeef/unified-gossip-limiter
discovery: unify rate.Limiter across all gossip peers
2025-03-24 19:22:16 -07:00
Olaoluwa Osuntokun
8c3c53f63b docs/release-notes: add release notes for gossip rate limit 2025-03-24 19:21:46 -07:00
Olaoluwa Osuntokun
c7ed5d65c6 multi: add new config options to tune gossip msg allocated bandwidth
We go with the defaults of if no values are set.
2025-03-24 19:21:45 -07:00
Olaoluwa Osuntokun
05702d48b2 discovery: switch to bytes based rate limiting for outbound msgs
In this commit, we revamp the old message based rate limiting. First, we
move to meter by bytes/s instead of messages/s. The old logic had an
error in that it limited groups of message replies, instead of each
message. With this new approach, we'll use the newly added
SerializedSize method to implement fine grained bandwidth metering.

We need to pick two values, the burst rate, and the msg bytes rate. The
burst rate is the max amt that can be sent in a given period of time. We
need to set this above 65 KB, or the max msg limit, otherwise no
messages can be sent. The bucket starts with this many tokens (bytes).
As those are depleted, the amount of tokens is refilled at the msg
bytes rate.

As conservative values, we've chosen 200 KB as the burst rate, and 100
KB/s as the limit.
2025-03-24 19:21:45 -07:00
Olaoluwa Osuntokun
5b93319aaa build: bump version to v0.19 rc1 2025-03-24 15:49:23 -07:00
Olaoluwa Osuntokun
66077b1722 chainio: demote per-block logging to Debugf 2025-03-24 15:49:21 -07:00
Olaoluwa Osuntokun
67d2eac437 Merge pull request #9620 from guggero/testnet4
chain: add testnet4 support
2025-03-24 15:48:26 -07:00
Oliver Gugger
f7b3177483 Merge pull request #9558 from kornpow/fix-listchaintxns-lncli-inputs
Fix input sanitation for listchaintxns lncli cmd
2025-03-24 13:53:29 -06:00
Oliver Gugger
e979538cf9 Merge pull request #9634 from hieblmi/fix-nil-pointer
routerrpc: add nil check for MilliSat
2025-03-24 11:45:30 -06:00
Sam Korn
2d829560a6 docs: update release notes 2025-03-24 10:53:38 -06:00
Sam Korn
bb398456b5 cmd: more input parameters checks for listchaintxns cli command
add a parsing block height function and error when block heights would produce invalid results
2025-03-24 10:53:38 -06:00
Oliver Gugger
d757bb51ee docs: add release notes 2025-03-24 11:53:23 -05:00
Oliver Gugger
0aea482b51 multi: add testnet4 support 2025-03-24 11:53:23 -05:00
Oliver Gugger
e5b9d9684a mod: bump btcwallet and neutrino to latest version 2025-03-24 11:53:23 -05:00
Oliver Gugger
6a9ec1065b Merge pull request #9612 from GustavoStingelin/tests/multimutex
multimutex: add unit tests
2025-03-24 10:14:58 -06:00
Slyghtning
d38ad17478 docs: update release notes 2025-03-24 16:57:42 +01:00
Slyghtning
35c9eecf4e routerrpc: add nil check for MilliSat 2025-03-24 16:54:05 +01:00
ziggie
b010e95445 itest: add itest to test duplicate failure notification 2025-03-24 09:17:09 -05:00
ziggie
9e683a38ef docs: add release-notes 2025-03-24 09:17:09 -05:00
ziggie
4bdd37534e routing: Ensure to not fail a payment twice 2025-03-24 09:17:09 -05:00
Elle Mouton
878746c9c9 graph/db: refactor to group all topology notification fields
A clean-up commit just to separate out all topology related fields in
ChannelGraph into a dedicated struct that then gets mounted to the
ChannelGraph.
2025-03-24 15:05:48 +02:00
Elle Mouton
2221aaa889 graph/db: move Topology client management to ChannelGraph
We plan to later on add an option for a remote graph source which will
be managed from the ChannelGraph. In such a set-up, a node would rely on
the remote graph source for graph updates instead of from gossip sync.
In this scenario, however, our topology subscription logic should still
notify clients of all updates and so it makes more sense to have the
logic as part of the ChannelGraph so that we can send updates we receive
from the remote graph.
2025-03-24 15:05:48 +02:00
Elle Mouton
4131b3fc7e graph/db: adjust TestPartialNode
The test as it stands today does not make sense as it adds a
Partial/Shell node to the graph via AddLightningNode which will never
happen since this is only ever triggered by the gossiper which only
calls the method with a full node announcement. Shell/Partial nodes are
only ever added via AddChannelEdge which will insert a partial node if
we are adding a channel edge which has node pub keys that we dont have a
node entry for. So we adjust the test to use this more accurate flow.
2025-03-24 15:05:48 +02:00
Elle Mouton
caf69cc4f9 docs: update release notes 2025-03-24 15:05:47 +02:00
Elle Mouton
8c11ca97e1 itest: rename closure for clarity 2025-03-24 15:05:47 +02:00
Elle Mouton
45450886d7 graph/db: populate the graph cache in Start instead of during construction
In this commit, we move the graph cache population logic out of the
ChannelGraph constructor and into its Start method instead.
2025-03-24 15:05:47 +02:00
Elle Mouton
b497c4694e multi: add Start and Stop methods for ChannelGraph
We do this in preparation for moving channel cache population logic out
of the constructor and into the Start method. We also will later on
(when topology subscription is moved to the ChannelGraph), have a
goroutine that will need to be kicked off and stopped.
2025-03-24 15:05:47 +02:00
Elle Mouton
bb3839e422 graph/db: completely remove cache from KVStore 2025-03-24 15:05:47 +02:00
Elle Mouton
ba1d21d5c7 graph/db: move cache write for UpdateEdgePolicy
To the ChannelGraph.
2025-03-24 15:05:47 +02:00
Elle Mouton
9d0b9f9ace graph/db: move cache write for MarkEdgeZombie
From the KVStore to the ChannelGraph.
2025-03-24 15:05:47 +02:00