mirror of
https://github.com/lightninglabs/lightning-terminal.git
synced 2026-08-13 12:33:36 +02:00
With a upgrade to a never version of newer golang.org/x/tools/govet, a lint check to check for legacy buildtag lines starting with `// +build` has been added, as they're no longer needed. In order for the `make lint` check to pass with the newer version, we remove such buildtag lines.
93 lines
2.9 KiB
Go
93 lines
2.9 KiB
Go
//go:build dev
|
|
|
|
package perms
|
|
|
|
import (
|
|
"net"
|
|
|
|
"github.com/btcsuite/btcd/chaincfg"
|
|
"github.com/lightningnetwork/lnd/autopilot"
|
|
"github.com/lightningnetwork/lnd/chainreg"
|
|
graphdb "github.com/lightningnetwork/lnd/graph/db"
|
|
"github.com/lightningnetwork/lnd/lnrpc"
|
|
"github.com/lightningnetwork/lnd/lnrpc/autopilotrpc"
|
|
"github.com/lightningnetwork/lnd/lnrpc/chainrpc"
|
|
"github.com/lightningnetwork/lnd/lnrpc/devrpc"
|
|
"github.com/lightningnetwork/lnd/lnrpc/invoicesrpc"
|
|
"github.com/lightningnetwork/lnd/lnrpc/neutrinorpc"
|
|
"github.com/lightningnetwork/lnd/lnrpc/peersrpc"
|
|
"github.com/lightningnetwork/lnd/lnrpc/routerrpc"
|
|
"github.com/lightningnetwork/lnd/lnrpc/signrpc"
|
|
"github.com/lightningnetwork/lnd/lnrpc/walletrpc"
|
|
"github.com/lightningnetwork/lnd/lnrpc/watchtowerrpc"
|
|
"github.com/lightningnetwork/lnd/lnrpc/wtclientrpc"
|
|
"github.com/lightningnetwork/lnd/lntest/mock"
|
|
"github.com/lightningnetwork/lnd/routing"
|
|
"github.com/lightningnetwork/lnd/sweep"
|
|
)
|
|
|
|
// mockConfig implements lnrpc.SubServerConfigDispatcher. It provides the
|
|
// functionality required so that the lnrpc.GrpcHandler.CreateSubServer
|
|
// function can be called without panicking.
|
|
type mockConfig struct{}
|
|
|
|
var _ lnrpc.SubServerConfigDispatcher = (*mockConfig)(nil)
|
|
|
|
// FetchConfig is a mock implementation of lnrpc.SubServerConfigDispatcher. It
|
|
// is used as a parameter to lnrpc.GrpcHandler.CreateSubServer and allows the
|
|
// function to be called without panicking. This is useful because
|
|
// CreateSubServer can be used to extract the permissions required by each
|
|
// registered subserver.
|
|
//
|
|
// TODO(elle): remove this once the sub-server permission lists in LND have been
|
|
// exported
|
|
func (t *mockConfig) FetchConfig(subServerName string) (interface{}, bool) {
|
|
switch subServerName {
|
|
case "InvoicesRPC":
|
|
return &invoicesrpc.Config{}, true
|
|
case "WatchtowerClientRPC":
|
|
return &wtclientrpc.Config{
|
|
Resolver: func(_, _ string) (*net.TCPAddr, error) {
|
|
return nil, nil
|
|
},
|
|
}, true
|
|
case "AutopilotRPC":
|
|
return &autopilotrpc.Config{
|
|
Manager: &autopilot.Manager{},
|
|
}, true
|
|
case "ChainRPC":
|
|
return &chainrpc.Config{
|
|
ChainNotifier: &chainreg.NoChainBackend{},
|
|
Chain: &mock.ChainIO{},
|
|
}, true
|
|
case "DevRPC":
|
|
return &devrpc.Config{
|
|
ActiveNetParams: &chaincfg.RegressionNetParams,
|
|
GraphDB: &graphdb.ChannelGraph{},
|
|
}, true
|
|
case "NeutrinoKitRPC":
|
|
return &neutrinorpc.Config{}, true
|
|
case "PeersRPC":
|
|
return &peersrpc.Config{}, true
|
|
case "RouterRPC":
|
|
return &routerrpc.Config{
|
|
Router: &routing.ChannelRouter{},
|
|
}, true
|
|
case "SignRPC":
|
|
return &signrpc.Config{
|
|
Signer: &mock.DummySigner{},
|
|
}, true
|
|
case "WalletKitRPC":
|
|
return &walletrpc.Config{
|
|
FeeEstimator: &chainreg.NoChainBackend{},
|
|
Wallet: &mock.WalletController{},
|
|
KeyRing: &mock.SecretKeyRing{},
|
|
Sweeper: &sweep.UtxoSweeper{},
|
|
Chain: &mock.ChainIO{},
|
|
}, true
|
|
case "WatchtowerRPC":
|
|
return &watchtowerrpc.Config{}, true
|
|
default:
|
|
return nil, false
|
|
}
|
|
}
|