To make sure we can use the latest version of loop in LiT, we need to
make sure loop compiles against the actual v0.11.1 branch of lnd. There
were some conflicting changes to the macaroon service that didn't make
it to the branch that we need to roll back. Those changes don't affect
loop at all as we were always using the default root key ID anyway.
We update to the newest version of lnd so we can use the updated
macaroon service.
NOTE: This is a compile time dependency update only, no RPC level update
is required.
We need the newer version of lndclient to get our synced to chain
state. This requires changes to our test mock, so it is separated
into a different commit. Since lndclient is expanding to be used in
projects other than loop, the client interface is embedded in our
mock rather than implementing functions we do not need. Functions that
we already use in tests are updated accordingly.
Note that while this commit bumps us to a version of lndclient that
defaults to requiring lnd 0.11, we do not bump our required version
yet because we are not using any new endpoints.
Once we have revealed our preimage to the world with a sweep attempt,
we can safely push our preimage to the server to speed up on chain
claim.
Rather than rely on the server, we use the state of our invoice in lnd
to determine whether we should continue trying to push the preimage to
the server.
Projects that use a later version of lnd than loop, but also depend on
loop itself would run into the following build error:
github.com/lightninglabs/loop/lndclient
../../go/pkg/mod/github.com/lightninglabs/loop@v0.2.3-alpha/lndclient/walletkit_client.go:30:11: undefined: lnwallet.SatPerKWeight
../../go/pkg/mod/github.com/lightninglabs/loop@v0.2.3-alpha/lndclient/walletkit_client.go:32:54: undefined: lnwallet.SatPerKWeight
../../go/pkg/mod/github.com/lightninglabs/loop@v0.2.3-alpha/lndclient/walletkit_client.go:144:33: undefined: lnwallet.SatPerKWeight
../../go/pkg/mod/github.com/lightninglabs/loop@v0.2.3-alpha/lndclient/walletkit_client.go:176:2: undefined: lnwallet.SatPerKWeight
../../go/pkg/mod/github.com/lightninglabs/loop@v0.2.3-alpha/lndclient/walletkit_client.go:189:9: undefined: lnwallet.SatPerKWeight