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>
Extract some of the tests used for the integrated and remote mode tests
and re-use them in a new test that runs them against a node stareted in
state-less init mode.
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.
This is so that we can use this Wait function to check the state of
sub-servers even when LiT is running in stateless init mode. As
currently, a macaroon is used to make a call to each sub-server which we
wont have access to in stateless init mode. This commit also adds a new
WaitForLNDWalletReady call which only waits for LND's wallet to be
ready. We'll use this during the set-up of a stateless init node in an
itest so that we can know when we are able to Create the wallet.
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.
Bump lnd to `v0.17.1-beta`, loop to `v0.26.5-beta` and taproot-assets to
`v0.3.1-alpha`.
With commit `76862ed` in lnd v0.17.1-beta, lnd will return an
"invalid ID" error for any calls with an unknown macaroon version.
Therefore our itests that uses a dummy macaroon was also updated to
expect this error.
With tapd `v0.3.1-alpha`, the universerpc Info rpc response is changed,
which removes the `num_assets` field in the response.
This commit therefore also updates the `taprpc-whitelist` itest
successPattern to match the new response.
We eventually want a few Lit grpc servers to continue functioning even
if LND did not start up properly. This means that we need to register
these servers with LiT's grpc server instead of using LND's.
Because of this change, we also need to update the itest a bit so that
calls to the proxy server are never expected to succeed if the call is
made via the LND port.
Currently `basicAuthToMacaroon` returns a different error for an
un-handled URI than is returned for other funcions which first check the
permissions manager to see if a URI is handled. With this commit, we
ensure that the error returned is the same so that the error we assert
on in tests can just be one error.
Enable to start litd with taproot asset subserver disabled.
The default mode for the new sub-server is "Disabled"
Add coverage in itests for flows with some subservers disabled (based on
Elle's #537)
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.
Let the itest framework make use of the new StopDaemon method. When
instructed to Stop the node, if it is running in remote mode then only
the litd node itself should be stopped and not the remote LND node.
In this commit, a new Proxy service is added with a StopDaemon method.
This method can be used to stop the Litd service. This will be useful in
remote-mode itests where we want to restart Litd without also restarting
LND. It also provides a nice way of shutting down Litd in remote-mode.
A GetInfo method is also added to the service which for now just returns
the Litd version. The reason for adding this method now is so that
access to the new Proxy service can be tested in the itests withouth
actually shutting down Litd.