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
In this commit, we modify all sub-servers as well as the main lnd gRPC
service to use a macaroon per call rather than a connection level
macaroon. The old approach would result in us using the same macaroon
for the entire connection, while this new approach allows us to use
multiple macaroons with a single connection.
We move to this new approach as it doesn't require users to delete their
admin macaroon before being able to use Loop. It also preps us for a
future where there is no admin macaroon, and we instead need to use a
set of macaroons to accomplish our tasks.