Commit Graph

16372 Commits

Author SHA1 Message Date
0ec9ac7070 Merge pull request #7654 from ErikEk/listchaintxns-add-txhash
rpc: add gettx command to walletrpc
2023-12-11 10:08:42 +01:00
645eb44f66 docs: update release notes 2023-12-11 09:12:05 +02:00
a242ad5acb channeldb+discovery: use timestamps to maybe revive zombie 2023-12-11 09:12:05 +02:00
ebe0755a97 channeldb: make MarkEdgeLive logic reusable
This commit is a set-up commit. It extracts the logic from
`MarkEdgeLive` to a helper `markEdgeLive` method so that the logic can
be called from within other kvdb.Update blocks. This will be used in the
next commit.
2023-12-11 09:12:05 +02:00
e12321cfd6 multi: extract and pass through IsZombieChannel method 2023-12-11 09:12:05 +02:00
67df687f08 discovery: start sending timestamps if requested 2023-12-11 09:12:05 +02:00
0ad4ef373a channeldb+discovery: fetch timestamps from DB if required 2023-12-11 09:12:05 +02:00
50e17dab59 channeldb: reformat TestFilterChannelRange 2023-12-11 09:12:04 +02:00
a439cc970f multi: start asking for update timestamps in QueryChannelRange
This commit also adds a new `protocol.no-timestamp-query-option` option
to disable the new behaviour.
2023-12-11 09:12:04 +02:00
893147d83e channeldb: don't initialise edge index bkt as top level
The `edgeIndexBucket` key name is used to key a sub-bucket within the
`edgeBucket` bucket. And so the `edgeIndexBucket` is not a top level
bucket.
2023-12-11 09:12:04 +02:00
49a0370dcd lnwire: add timestamps to ReplyChannelRange msg 2023-12-11 09:12:04 +02:00
4872010779 lnwire: sort scids before encoding
This is for later when the timestamps also need to be sorted according
to the SCIDs.
2023-12-11 09:12:04 +02:00
c882223ead lnwire+discovery: rename ShortChannelIDEncoding to QueryEncoding
Since the the encoding can be used for multiple different fields, we
rename it here to be more generic.
2023-12-11 09:12:04 +02:00
341bae098c lnwire: add QueryOptions to QueryChannelRange 2023-12-11 09:12:04 +02:00
8efd141347 lnwire: add QueryOptions type
This commit adds a new QueryOptions type which will later be used in the
QueryReplyRange message.
2023-12-11 09:12:03 +02:00
c8a7a3d546 doc: update release notes 2023-12-10 22:14:18 +01:00
16f05105c1 itest: add gettransactiondetails 2023-12-10 22:14:18 +01:00
f0bc6d804c rpc: add gettransaction endpoint to walletrpc sub-server 2023-12-10 22:14:12 +01:00
c32edbd732 Merge pull request #8266 from Roasbeef/fn-v1
build: bump to fn/v1.0.0
2023-12-08 14:28:40 -08:00
d50dd8e2d7 build: bump to fn/v1.0.0 2023-12-08 14:08:17 -08:00
445bd27e59 Merge pull request #8259 from Roasbeef/fn-module
fn: create new sub-module
fn/v1.0.0
2023-12-08 13:52:26 -08:00
b0114efad3 fn: create new sub-module
In this commit, we make a new sub-module from the `fn` package. This
lets other projects use it w/o pulling in all of lnd, and also other
sub-packages within lnd.

We also add a temp replace directive for new module.  We'll remove this
once we tag the final version.
2023-12-06 17:00:10 -08:00
4fa483f1bc Merge pull request #7702 from ellemouton/towerClientMux
wtclient: Tower Client Multiplexer
2023-12-05 12:27:05 +02:00
ad88396a34 Merge pull request #8097 from markettes/fix-amount-field
Fix amount field
2023-12-04 12:19:07 +01:00
7445782db6 lncli: show balance for sweepall 2023-12-04 10:46:54 +01:00
80a85d36eb docs: release notes update for 0.18.0 2023-12-02 02:08:26 +01:00
90b5037d73 lnrpc: add MinConfs to WalletBalanceRequest 2023-12-01 18:22:35 +01:00
f87e370efd Merge pull request #8232 from yyforyongyu/optimize-mempool
gomod: update `btcwallet` version
2023-11-30 14:47:14 -08:00
a397642f73 Merge pull request #8151 from Crypt-iQ/issue_7928
routing: launch fetchFundingTx in goroutine so router can exit
2023-11-30 12:19:01 -05:00
8fa774681b release-notes: update for 0.17.3 2023-11-30 10:45:11 -05:00
faf76fbf0e routing: launch fetchFundingTx in goroutine so router can exit
This commit introduces a wrapper function fetchFundingTxWrapper
which calls fetchFundingTx in a goroutine. This is to avoid an issue
with pruned nodes where the router is attempting to stop, but the
prunedBlockDispatcher is waiting to connect to peers that can serve
the block. This can cause the shutdown process to hang until we
connect to a peer that can send us the block.
2023-11-30 10:45:02 -05:00
9f42459036 Merge pull request #8177 from yyforyongyu/payment-status
routerrpc: optionally return the new payment status
2023-11-30 17:15:23 +08:00
827d728cd5 gomod: update btcwallet version 2023-11-30 17:12:32 +08:00
27319315bb Merge pull request #8220 from yyforyongyu/enhance-logging-switch
multi: fix loopvar and enhance logging around channel reestablishment
2023-11-28 17:48:02 +01:00
59ebe02fa4 docs: update release notes 2023-11-28 11:01:52 +02:00
e800aacff4 wtclient+server: unexport and rename TowerClient
Rename and unexport the `TowerClient` struct to `client` and rename the
`TowerClientManager` interface to `ClientManager`.
2023-11-28 11:01:51 +02:00
fcfdf699e3 multi: move BackupState and RegisterChannel to Manager
This commit moves over the last two methods, `RegisterChannel` and
`BackupState` from the `Client` to the `Manager` interface. With this
change, we no longer need to pass around the individual clients around
and now only need to pass the manager around.

To do this change, all the goroutines that handle channel closes,
closable sessions needed to be moved to the Manager and so a large part
of this commit is just moving this code from the TowerClient to the
Manager.
2023-11-28 10:59:40 +02:00
ab2f781b4a wtclient+lnrpc: move Policy to Manager 2023-11-28 09:54:03 +02:00
4e51bf3a3f wtclient+lnrpc: move LookupTower to Manager 2023-11-28 09:54:02 +02:00
0b3d751e33 wtclient+lnrpc: move RegisteredTowers to Manager
Move the `RegisteredTowers` method from the `Client` to the `Manager`
interface.
2023-11-28 09:54:02 +02:00
4348f2062a wtclient+lnrpc: move Stats to Manager
Move the `Stats` method from the `Client` to the `Manager` interface.
2023-11-28 09:54:02 +02:00
f38b5cf258 lnrpc+wtclient: refactor ClientStats
This commit removes the mutex from ClientStats and instead puts that in
clientStats which wraps ClientStats with a mutex. This is so that the
tower client interface can return a ClientStats struct without worrying
about copying a mutex.
2023-11-28 09:54:02 +02:00
a5e7d35af2 wtclient+lnrpc: move RemoveTower to Manager
Simiarly to the previous commit, this commit moves the RemoveTower
method from the Client to the TowerClientManager interface. The manager
handles any DB related handling. The manager will first attempt to
remove the tower from the in-memory state of each client and then will
attempt to remove the tower from the DB. If the removal from the DB
fails, the manager will re-add the tower to the in-memory state of each
client.
2023-11-28 09:54:02 +02:00
a44bf381c4 multi: move AddTower to Tower Client Manager
In this commit we move the AddTower method from the Client interface to
the TowerClientManager interface. The wtclientrpc is updated to call the
`AddTower` method of the Manager instead of calling the `AddTower`
method of each individual client. The TowerClient now is also only
concerned with adding a new tower (or new tower address) to its
in-memory state; the tower Manager will handle adding the tower to the
DB.
2023-11-28 09:54:02 +02:00
2abc422aac watchtower+server: let manager Start & Stop the clients
In this commit, the `Stop` and `Start` methods are removed from the
`Client` interface and instead added to the new `Manager`. Callers now
only need to call the Manager to start or stop the clients instead of
needing to call stop/start on each individual client.
2023-11-28 09:54:01 +02:00
ab0375e0c1 wtclient+server: introduce tower client Manager
Introduce a wtclient `Manager` which handles tower clients. It indexes
clients by the policy used. The policy field is thus removed from the
`Config` struct which configures the Manager and is instead added to a
new `towerClientCfg` which configures a specific client managed by the
manager. For now, only the `NewClient` method is added to the Manager.
It can be used to construct a new `TowerClient`. The Manager currently
does notthing with the clients added to it.
2023-11-28 09:51:15 +02:00
80684eccbd Merge pull request #8222 from ellemouton/wtclientStartupPerf
wtclient+migration: start storing chan max height in channel details bucket
2023-11-28 15:38:27 +08:00
4845b7ade3 docs: add release notes for v0.17.3 2023-11-28 14:07:15 +08:00
1ee665d14c lnwallet: make sure loop var is properly referenced 2023-11-28 14:06:53 +08:00
81841b7dab lnwallet: add unit test for extractPayDescs 2023-11-28 14:06:53 +08:00