2
0
mirror of https://github.com/lightninglabs/loop synced 2024-11-04 06:00:21 +00:00
loop/loopd/swapclient_server_debug.go
2022-05-20 10:16:47 +02:00

42 lines
1004 B
Go

//go:build dev
// +build dev
package loopd
import (
"context"
"fmt"
"github.com/lightninglabs/lndclient"
"github.com/lightninglabs/loop/looprpc"
"gopkg.in/macaroon-bakery.v2/bakery"
)
var (
debugRequiredPermissions = map[string][]bakery.Op{
"/looprpc.Debug/ForceAutoLoop": {{
Entity: "debug",
Action: "write",
}},
}
)
// registerDebugServer registers the debug server.
func (d *Daemon) registerDebugServer() {
looprpc.RegisterDebugServer(d.grpcServer, d)
}
// ForceAutoLoop triggers our liquidity manager to dispatch an automated swap,
// if one is suggested. This endpoint is only for testing purposes and cannot be
// used on mainnet.
func (s *swapClientServer) ForceAutoLoop(ctx context.Context,
_ *looprpc.ForceAutoLoopRequest) (*looprpc.ForceAutoLoopResponse, error) {
if s.network == lndclient.NetworkMainnet {
return nil, fmt.Errorf("force autoloop not allowed on mainnet")
}
err := s.liquidityMgr.ForceAutoLoop(ctx)
return &looprpc.ForceAutoLoopResponse{}, err
}