Commit Graph

18160 Commits

Author SHA1 Message Date
df30b481c6 input: export NUMS key parser. 2024-12-09 23:08:50 +01:00
fb429d658b Merge pull request #9330 from ProofOfKeags/update/fn2
multi: update to fn v2
2024-12-09 12:56:23 +01:00
c9ae63a5c8 Merge pull request #9338 from yyforyongyu/fix-invoice-htlcs-order
lnrpc: sort `Invoice.HTLCs` based on `HtlcIndex`
2024-12-09 08:52:54 +01:00
7374392abe lnrpc: sort Invoice.HTLCs based on HtlcIndex
So the returned HTLCs are ordered.
2024-12-07 09:54:46 +08:00
5659c0184d Merge pull request #9337 from Guayaba221/patch-1
chore: fix typo in ruby.md
2024-12-06 14:10:51 +01:00
ac59b06f59 Update ruby.md 2024-12-06 13:48:22 +01:00
366e48bced Merge pull request #9333 from guggero/aux-traffic-shaper-refactor
[custom channels]: refactor AuxTrafficManager to be used for forwarding as well
2024-12-05 21:04:11 +01:00
8d7f0853c7 Merge pull request #9324 from ziggie1984/non-blocking-startup-chan-arbitrator
Don't block on channel arbitator startup
2024-12-05 18:28:20 +01:00
0004e31997 docs: add release-notes 2024-12-05 15:11:12 +01:00
17bc8827c5 contractcourt: refactor start up of arbitrators
We decouple the state machine of the channel arbitrator from
the start-up process so that we can startup the whole daemon
reliably.
2024-12-05 15:11:12 +01:00
86b3be71fe multi: thread through and use AuxTrafficShaper 2024-12-05 12:39:34 +01:00
a2e78c3984 htlcswitch: thread through packet's inbound wire records
For calculating the available auxiliary bandwidth of a channel, we need
access to the inbound custom wire records of the HTLC packet, which
might contain auxiliary information about the worth of the HTLC packet
apart from the BTC value being transported.
2024-12-05 12:39:33 +01:00
117c6bc781 multi: move routing.TlvTrafficShaper => htlcswitch.AuxTrafficShaper
With this commit we move the traffic shaper definition from the routing
package to the HTLC switch package as a preparation for being able to
use it there as well.
At the same time we rename it to AuxTrafficShaper to be more in line
with the other auxiliary components.
2024-12-05 12:39:33 +01:00
ed2989ae33 multi: update to fn v2 2024-12-04 13:19:00 -07:00
fa309c9a0e Merge pull request #9329 from gijswijs/docs-skip-ci
clarify skipping the CI checks in the docs
2024-12-04 16:02:02 +01:00
e30e43e644 Merge pull request #9331 from yyforyongyu/fix-lll
multi: rename `lll` to `ll` and remove unused `nolint`
2024-12-04 08:48:21 +01:00
d108e14c5d multi: rename lll to ll and remove unused nolint 2024-12-04 07:20:59 +08:00
48fba10562 Merge pull request #9257 from starius/estimatefeerate-regtest2
chainreg: use feerate estimator in regtest and simnet
2024-12-03 18:56:50 +01:00
42a1d5e22b docs: clarify skipping the CI checks
[skip ci]
2024-12-03 18:16:13 +01:00
ff2a1a4bbb Merge pull request #9318 from guggero/cross-compile-fix
make: remove exotic build targets from release list
2024-12-03 04:47:03 -06:00
f4d5d4ed8a Merge pull request #9305 from ProofOfKeags/update/tlv-fn2
tlv: update to fn v2
tlv/v1.3.0
2024-12-03 09:12:14 +01:00
0c9b65578f Merge pull request #9328 from guggero/golang-min-version
docker+docs: update documentation around Golang minimum version
2024-12-02 11:22:57 +01:00
0474b4ff20 Merge pull request #9314 from ellemouton/slog1
build+lnd+docs: start using slog and add commit_hash to log lines
2024-12-02 09:53:31 +01:00
2fdfa26268 docs: update Golang minimum version in docs/INSTALL.md 2024-12-02 09:49:25 +01:00
7692ced5f5 multi: update comment on changing Go version
Since we now have a scripted check that makes sure the Golang version is
synced throughout all files, it is important that the main version in
the Makefile is changed, then all other versions can be detected by that
script.
2024-12-02 09:48:26 +01:00
afbb9aa41c docs: add release note entry 2024-12-02 09:23:07 +02:00
8862ce99d5 lnd: use errors.Is for error comparison 2024-12-02 09:23:07 +02:00
ed4279b6f3 lnd: update Main logs to use structured logging 2024-12-02 09:23:07 +02:00
32fbea2f85 lnd: use structured logs in mkErr helper 2024-12-02 09:23:06 +02:00
755ad49440 build: Append commit hash to the main LND context
It can be disabled via the new `logging.no-commit-hash` config option.
2024-12-02 09:23:06 +02:00
efe08b836e docs: add structured logging docs in code formatting rules doc 2024-12-02 09:23:06 +02:00
a04f8dfd4f lnd: pass ctx to rest proxy 2024-12-02 09:23:06 +02:00
c5d849e044 .golangci: Replace lll with custom ll 2024-12-02 09:23:06 +02:00
ab7aae0708 multi: rename nolint:lll to nolint:ll
Find and replace all nolint instances refering to the `lll` linter and
replace with `ll` which is the name of our custom version of the `lll`
linter which can be used to ignore log lines during linting.

The next commit will do the configuration of the custom linter and
disable the default one.
2024-12-02 09:14:21 +02:00
88f5369066 tools+.: add custom linter configuration file
Add this file both to the main LND directory so that devs can use it for
local linter runs and also add it to the `tools` directory so that the
docker environment used to run the linter in CI has access to it. A
custom linter binary can be built via `golangci-lint custom`. This will
pull in and register all the plugins listed in the new config file when
building the new binary. The new binary can then be run using
`custom-gcl run`.
2024-12-02 09:14:21 +02:00
bd55b2795b tools/linters: ignore log lines
This commit adds a feature to our custom lll linter which will ignore
log lines (both single and multi-lined log lines) for the lll linter.
2024-12-02 09:14:21 +02:00
f6aff58a6d Merge pull request #9322 from hieblmi/fix-estimate-route-fee
cmd: fix default timeout for estimateroutefee
2024-11-29 11:21:25 +01:00
440cdb3172 docs: update release notes 2024-11-29 10:23:10 +01:00
85d89a5b41 cmd: fix default timeout for estimateroutefee 2024-11-29 10:20:03 +01:00
9637a8132e tools/linters: convert to LinterPlugin implementation
This commit introduces the `LLPlugin` type and converts the existing lll
code such that the LLPlugin implements the register.LinterPlugin
interface. This will allow us to plug it into golangci-linter as a
plugin.
2024-11-29 11:03:27 +02:00
acbcb771af tools/linters: Add copied golangci-lint lll linter code
In this commit, we copy the implementation of the golangci-lint lll
linter which we currently use in our CI flow during the `make lint`
check. This commit copies the code mostly as is (the only exception
being the line which trims white space before checking if a line starts
with "import"), and formats it to fit our codebase guidelines. A test is
also added so that we can be sure that the following commits which
adjust the implementation have the intended results.

The custom linter is put into its own module as this is requied by the
`golangci-lint custom` when building the custom linter binary which
includes the plugin.
2024-11-29 10:44:22 +02:00
f2d9868906 Merge pull request #9287 from Abhinav-Bansal751/master
Update docs/grpc/python.md and ruby.md
2024-11-29 09:30:07 +01:00
506586a37e Merge pull request #9236 from ellemouton/moveGraphDBCode
[1/3] Graph RIP: refactor+graph: move all graph related DB code to the graph package
2024-11-28 13:47:16 +01:00
54dbaa60c9 docs: add release notes entry for 9236 2024-11-28 13:51:15 +02:00
439a6c7d6c multi: rename chan DB Open method to OpenForTesting 2024-11-28 13:51:15 +02:00
4089fbcb44 multi: fix linter errors 2024-11-28 13:51:15 +02:00
fd2ea411be itest: assert no failed updates in test
So that this fails earlier on if the actual call to UpdateChannelPolicy
fails.
2024-11-28 13:51:14 +02:00
adcaa8802f multi: remove kvdb.Tx from ChannelGraphSource.ForAllOutgoingChannels
and the same for ChannelStateDB.FetchChannel. Most of the calls to these
methods provide a `nil` Tx anyways. The only place that currently
provides a non-nil tx is in the `localchans.Manager`. It takes the
transaction provided to the `ForAllOutgoingChannels` callback and passes
it to it's `updateEdge` method. Note, however, that the
`ForAllOutgoingChannels` call is a call to the graph db and the call to
`updateEdge` is a call to the `ChannelStateDB`. There is no reason that
these two calls need to happen under the same transaction as they are
reading from two completely disjoint databases. And so in the effort to
completely split untangle the relationship between the two databases, we
now dont use the same transaction for these two calls.
2024-11-28 13:49:41 +02:00
6e13898981 multi: move LightningNode struct to models package 2024-11-28 13:36:32 +02:00
ccb8f0eeb8 refactor: move graphsession pkg to graph package 2024-11-28 13:36:15 +02:00