The dev flag allows us to enable some of lnd's configuration flags that
are only available for testing. To speed up any wallet interaction, we
also add the lowscrypt build tag that chooses weak encryption for the
wallet that is much faster (a couple of milliseconds vs. multiple
seconds per wallet creation).
This is a preparation for bumping the lndclient dependency.
Because each lndclient service mock now needs to implement the
RawClientWithMacAuth method but with a different type, we can't
implement two lndclient service mocks within a single struct, as
that would require us to have two methods with the same name but
different types.
So we split the lnd and rounter mocks into two separate structs.
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.
This was discovered while debugging the reproducible build. We used the
wrong group ID. And the environment variables aren't super portable so
we use the correct command to get the numeric user and group IDs.
We dockerize the app build and use that for both the docker build _AND_
the normal build to make sure the static content is fully reproducible
across different systems.
This commit updates `scripts/release.sh` to include a check for the
correct Go version before executing the release build. This ensures that
the release binaries are built with the specified Go version,
maintaining consistency and integrity for developer signatures.
Because the "make release" command collided with the release.sh script,
make thought it needed to do something with that file.
We fix that problem in two ways: We move the file into the scripts sub
folder and also tell make that all our defined goals don't correspond to
folders or files.
This update modifies the release.sh script to ensure that release files
are reproducible, generating identical hashes when rebuilt. Previously,
the script did not set fixed timestamps for the files, resulting in
different hashes across rebuilds.
Additionally, the release.sh script has been updated to align more
closely with the behavior of the lnd release script, ensuring
consistency and coherence across repositories for users.
This uses the more reliable way to restore the file in git after a
build, preventing differences in line endings to cause the file to be
seen as dirty in some situations.
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.