Bumps lnd to v0.21.0-beta, lndclient to v0.21.0-1, and
taproot-assets to v0.8.0 across the root, litrpc, and perms
modules. taprpc uses the proper v1.1.0 tag.
lnd removed the deprecated SendPaymentSync, SendToRouteSync,
SendPayment (streaming), and SendToRoute (streaming) RPCs. The
account interceptor checkers and their tests for these RPCs are
removed since no client can call them anymore. The V2 checkers
already handle account tracking for payments.
The itest harness is updated for lnd v0.21's miner API changes
(SendOutputs -> SendOutput, Miner.Client.Generate -> GenerateBlocks,
waitForNTxsInMempool replaced by Miner.AssertNumTxsInMempool) and
TimeLockDelta bumped from 20 to 40 since lnd v0.21 raised
MinCLTVDelta from 18 to 24.
Close the process exit signal before forwarding litd startup errors from
the wait goroutine. This lets the harness observe that the process has
already exited even when no receiver is currently ready on the error
channel.
Use a non-blocking send for the captured process error so failed startup
paths do not hang the goroutine while holding back log finalization or
process exit handling.
This will be needed for the upcoming commit which adds itest coverage
of deprecated kvdb databases.
Custom channels integration tests have been fully migrated to the
taproot-assets repository where they run natively via the tapd-integrated
binary without any lightning-terminal dependency. This removes the
duplicate test suite and all supporting infrastructure from LiT.
The LiT-specific itests are unaffected.
- Replace occurrences of `// nolint:lll` with `// nolint:ll` across
files for consistency.
- Reformat multiline strings, comments, and function parameters to
improve clarity and adhere to style guidelines.
- Add `// nolint:ll` comments where necessary to prevent linter
warnings.
In preparation for the next commit which bumps golang to a newer
version, we want to make some code changes that would otherwise render
some log-related calls problematic. With go1.24 a new govet rule was
added that disallows non-constant strings (i.e including a tag like
"%s") in calls to printf. See more in the related issue
https://github.com/golang/go/issues/60529.
We remove the Zane node from all tests where its only role was being the
universe server. Starting a node takes multiple seconds, so if we can
spin up fewer nodes, we can save some time.
And functionality wise Charlie can easily be the universe, we just need
to define its port upfront so we can configure it to be its own proof
courier.
The topology for all tests is at least the following:
Charlie --[assets]--> Dave --[sats]--> Erin --[assets]--> Fabia
Which means, we the case where one of the channel peers is its own
universe (Charlie in Charlie<->Dave) as well as the case where the
universe server is a remote node (Charlie in the Erin<->Fabia channel).
Co-authored-by: Olaoluwa Osuntokun <laolu32@gmail.com>
Co-authored-by: Gijs van Dam <gijs@lightning.engineering>
Co-authored-by: George Tsagkarelis <george.tsagkarelis@gmail.com>
This will be used in our stateless init tests to initialise a LiT node
in stateless init mode. This method handles the creation of the wallet
and returns the LND admin macaroon that we can use.
Bump lnd to `v0.18.0-beta`. This also bumps `lndclient` to `v0.18.0-1`
and loop to `v0.28.5-beta`. Note that since loop `v0.28.5-beta` depends
on the lnd `v0.18.0-beta.1` tag, litd will also use that tag. That tag
is still referencing the same commit as lnd `v0.18.0-beta` though, so
that's not an issue.
We also need to bump the `pool` and
`taproot-assets` daemons to branch specific versions that support
lnd `v0.18.0-beta`. Finally, the `pool` auctioneerrpc package is also
bumped to `v1.1.2`.
We also adapt it itests for the new lnd version.
Finally as lnd `v0.18.0-beta` uses go 1.22.3, we also bump the Go
version in the go.mod file.
Add new `WithoutLitArg` and `WithLitArg` functional options that can be
passed to `GenArgs` when a node is being restarted. This makes it easy
to change the arguments of a node on restart.