syntax = "proto3";

package watchtowerrpc;

option go_package = "github.com/lightningnetwork/lnd/lnrpc/watchtowerrpc";

/*
 * Comments in this file will be directly parsed into the API
 * Documentation as descriptions of the associated method, message, or field.
 * These descriptions should go right above the definition of the object, and
 * can be in either block or // comment format.
 *
 * An RPC method can be matched to an lncli command by placing a line in the
 * beginning of the description in exactly the following format:
 * lncli: `methodname`
 *
 * Failure to specify the exact name of the command will cause documentation
 * generation to fail.
 *
 * More information on how exactly the gRPC documentation is generated from
 * this proto file can be found here:
 * https://github.com/lightninglabs/lightning-api
 */

// Watchtower is a service that grants access to the watchtower server
// functionality of the daemon.
service Watchtower {
    /* lncli: `tower info`
    GetInfo returns general information concerning the companion watchtower
    including its public key and URIs where the server is currently
    listening for clients.
    */
    rpc GetInfo (GetInfoRequest) returns (GetInfoResponse);
}

message GetInfoRequest {
}

message GetInfoResponse {
    // The public key of the watchtower.
    bytes pubkey = 1;

    // The listening addresses of the watchtower.
    repeated string listeners = 2;

    // The URIs of the watchtower.
    repeated string uris = 3;
}