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.
In the next commit, we'll bump our lnd dependency to `v0.18.3-beta`.
That version adds explicitly declared optional protos fields with commit
3de6c5415a
Optional proto fields are only available in Proto3 after protoc version
`3.15+`, and we therefore need to bump our protoc version for the protos
generation script to support them.
When doing so, we mimic the protobuf-compiler version used in `lnd`,
which is `3.21.12`. As protobuf-compiler 3.21.x+ is only available for
Node.js base images with Debian 12 (bookworm), we also update our NodeJS
base image to version 22.8.0-bookworm.
We want to allow users to use LiT under a custom path to make it easier
to integrate LiT in bundled software such as BTCPayServer. Because the
custom path prefix must be known at build time, we create an additional
docker image that uses the static /lit path as the prefix.
With this commit we split the build process into three stages: we start
with the JavaScript to static asset build process that requires NodeJS
then copy the result into the second stage that requires golang.
Finally, we just extract the final binaries in the third stage to keep
the shipped image as small as possible.
We add a new standalone Dockerfile that checks out the code from GitHub
and goes through all necessary build steps from scratch. The git commit
or tag that should be checked out before building can be specified as a
build argument.
To still allow more rapid development, the old Dockerfile that builds
from the local source is renamed to dev.Dockerfile to make the
distinction clear.