Skip to main content

DeactivateTower

DeactivateTower sets the given tower's status to inactive so that it is not considered for session negotiation. Its sessions will also not be used while the tower is inactive.

Source: wtclientrpc/wtclient.proto

gRPC

rpc DeactivateTower (DeactivateTowerRequest) returns (DeactivateTowerResponse);

REST

HTTP MethodPath
POST /v2/watchtower/client/tower/deactivate/{pubkey}

Code Samples

const fs = require('fs');
const grpc = require('@grpc/grpc-js');
const protoLoader = require('@grpc/proto-loader');

const GRPC_HOST = 'localhost:10009'
const MACAROON_PATH = 'LND_DIR/data/chain/bitcoin/regtest/admin.macaroon'
const TLS_PATH = 'LND_DIR/tls.cert'

const loaderOptions = {
keepCase: true,
longs: String,
enums: String,
defaults: true,
oneofs: true,
};
const packageDefinition = protoLoader.loadSync(['lightning.proto', 'wtclientrpc/wtclient.proto'], loaderOptions);
const wtclientrpc = grpc.loadPackageDefinition(packageDefinition).wtclientrpc;
process.env.GRPC_SSL_CIPHER_SUITES = 'HIGH+ECDSA';
const tlsCert = fs.readFileSync(TLS_PATH);
const sslCreds = grpc.credentials.createSsl(tlsCert);
const macaroon = fs.readFileSync(MACAROON_PATH).toString('hex');
const macaroonCreds = grpc.credentials.createFromMetadataGenerator(function(args, callback) {
let metadata = new grpc.Metadata();
metadata.add('macaroon', macaroon);
callback(null, metadata);
});
let creds = grpc.credentials.combineChannelCredentials(sslCreds, macaroonCreds);
let client = new wtclientrpc.WatchtowerClient(GRPC_HOST, creds);
let request = {
pubkey: <bytes>,
};
client.deactivateTower(request, function(err, response) {
console.log(response);
});
// Console output:
// {
// "status": <string>,
// }

Messages

wtclientrpc.DeactivateTowerRequest

Source: wtclientrpc/wtclient.proto

FieldgRPC TypeREST TypeREST Placement
pubkey
bytesstringpath

wtclientrpc.DeactivateTowerResponse

Source: wtclientrpc/wtclient.proto

FieldgRPC TypeREST Type
status
stringstring