syntax = "proto3"; package tendermint.privval; option go_package = "github.com/tendermint/tendermint/proto/privval"; import "third_party/proto/gogoproto/gogo.proto"; import "proto/crypto/keys/types.proto"; import "proto/types/types.proto"; message RemoteSignerError { int32 code = 1; string description = 2; } // PubKeyRequest requests the consensus public key from the remote signer. message PubKeyRequest {} // PubKeyResponse is a response message containing the public key. message PubKeyResponse { tendermint.crypto.keys.PublicKey pub_key = 1; RemoteSignerError error = 2; } // SignVoteRequest is a request to sign a vote message SignVoteRequest { tendermint.types.Vote vote = 1; } // SignedVoteResponse is a response containing a signed vote or an error message SignedVoteResponse { tendermint.types.Vote vote = 1; RemoteSignerError error = 2; } // SignProposalRequest is a request to sign a proposal message SignProposalRequest { tendermint.types.Proposal proposal = 1 [(gogoproto.nullable) = false]; } // SignedProposalResponse is response containing a signed proposal or an error message SignedProposalResponse { tendermint.types.Proposal proposal = 1; RemoteSignerError error = 2; } // PingRequest is a request to confirm that the connection is alive. message PingRequest {} // PingResponse is a response to confirm that the connection is alive. message PingResponse {} message Message { oneof sum { PubKeyRequest pub_key_request = 1; PubKeyResponse pub_key_response = 2; SignVoteRequest sign_vote_request = 3; SignedVoteResponse signed_vote_response = 4; SignProposalRequest sign_proposal_request = 5; SignedProposalResponse signed_proposal_response = 6; PingRequest ping_request = 7; PingResponse ping_response = 8; } }