Bump the integration test lnd binary to v0.21.0-beta. Two test fixes are
required for the new version:
- nodereport: the anchor commitment close fee changed by 10 sat, update the
hardcoded CHANNEL_CLOSE_FEE expectation from 4535 to 4525 sat.
- test_context: closeChannel mined a block while still waiting for the pending
close update, which confirmed the force close tx out of the mempool before
its fee could be read, causing a 'Transaction not in mempool' failure. Only
start mining once the close fee has been captured from the mempool.
Open a channel, seed forwarding events with payments, and assert the
ForwardingAbility RPC returns a decodable response whose window matches the
request. Note that we can only simulate forwards back to the same node
because we only have two lnd nodes available in tests.
Drives a regtest channel through open, payment, and force-close and
asserts that GetChannelEvents surfaces the expected mix of online,
offline, and balance-update events. The same window is then walked
with a small page size to verify last_id round-trip, has_more
termination, and MaxEvents clamping in one pass.
Since the code for creating and using a macaroon service is the same for
multiple projects (pool, loop, faraday & litd), the code has been
unified in lndclient. So this commit removes the macaroon service code
and instead uses the lndclient code.
Since the default key for the macaroon db is now a shared secret with
LND, faraday requires LND's admin macaroon so that this secret can be
derived. So this commit also updates all references of LND's `readme`
macaroon to the `admin` macaroon.
Fixes#84.
Allows faraday to only use the readonly.macaroon (or a custom baked one)
to connect to lnd instead of needing to copy all macaroons (including
the subserver ones).
Consensue on the team is that nodereport is more representative of
a report about the node's operation than an accounting report. Renaming
in anticipation of upcoming release.
To avoid downloading the bitcoind binary on every new build, we speed up
things by using a builder image for the golang part and then just run
everything in the bitcoind base image instead of building it ourselves.