Define the AccountPayments RPC endpoint and its request/response
messages in lit-accounts.proto. This endpoint allows querying
paginated payment history for a specific account.
Also update the frontend JS/TS proto sanitization script to map the
imported lnd.proto file to its flat directory path, fixing app build.
Rewrite Loop's lnd proto import during proto generation so make protos
continues to work with this repo's local proto layout.
This became necessary when Loop v0.32.0-beta started shipping the
looprpc/client.proto change from upstream commit
f47b6115571f6072fe68057cb4eff30cc4fc47df
("looprpc: extend client.proto with lnrpc.OutPoint and
lnrpc.OpenChannelRequest"). That update made the downloaded Loop proto
import lnrpc/lightning.proto, while LiT stores the downloaded lnd proto
locally as proto/lnd.proto and invokes protoc with ../proto as the
import root. As a result, the downloaded Loop proto overwrote the local
compatibility fix and make protos failed with
"lnrpc/lightning.proto: File not found".
Patch the downloaded proto in build-protos.js to import lnd.proto
instead, and keep proto/loop.proto aligned with the same import path.
This is needed because changing only the checked-in proto file is not
enough: the build script re-fetches and replaces it on every run.
This commit updates the `loop` dependency to version `v0.28.8-beta`.
Notably, the actual `loop` reference points to a branch based on top of
the `v0.28.8-beta` tag, which modifies `v0.28.8-beta` to use `lnd`
version `v0.18.3-beta` rather than `v0.18.3-beta.rc1`.
Additionally, we upgrade `github.com/lightninglabs/loop/swapserverrpc`
to version `v1.0.10`.
As `loop/swapserverrpc` `v1.0.10` references the `reservation.proto`, we
need to modify the `build-protos.js` script to include it as on of the
fetched protos files.
The swapserverrpc package has a few oddities which we need to address
with rewrites and replaces. There seems to be a weird behavior with
regex replace functions that required the replaces to be re-written into
two separate ones.
To make sure we always use the *.proto files for the correct versions of
the daemons we include, we parse the versions of lnd and loop directly
from the go.mod file.