lnd/lnrpc/stateservice.proto
2022-09-15 09:14:36 -05:00

74 lines
2.1 KiB
Protocol Buffer

syntax = "proto3";
package lnrpc;
option go_package = "github.com/lightningnetwork/lnd/lnrpc";
/*
* 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
*/
// State service is a always running service that exposes the current state of
// the wallet and RPC server.
service State {
// SubscribeState subscribes to the state of the wallet. The current wallet
// state will always be delivered immediately.
rpc SubscribeState (SubscribeStateRequest)
returns (stream SubscribeStateResponse);
// GetState returns the current wallet state without streaming further
// changes.
rpc GetState (GetStateRequest) returns (GetStateResponse);
}
enum WalletState {
// NON_EXISTING means that the wallet has not yet been initialized.
NON_EXISTING = 0;
// LOCKED means that the wallet is locked and requires a password to unlock.
LOCKED = 1;
// UNLOCKED means that the wallet was unlocked successfully, but RPC server
// isn't ready.
UNLOCKED = 2;
// RPC_ACTIVE means that the lnd server is active but not fully ready for
// calls.
RPC_ACTIVE = 3;
// SERVER_ACTIVE means that the lnd server is ready to accept calls.
SERVER_ACTIVE = 4;
// WAITING_TO_START means that node is waiting to become the leader in a
// cluster and is not started yet.
WAITING_TO_START = 255;
}
message SubscribeStateRequest {
}
message SubscribeStateResponse {
WalletState state = 1;
}
message GetStateRequest {
}
message GetStateResponse {
WalletState state = 1;
}