Browse Source

privval: make response values non nullable (#5583)

## Description

make response values non nullable in privval

Does this need a changelog for master?

Closes: #5581 

cc @tarcieri
pull/5553/merge
Marko 4 years ago
committed by GitHub
parent
commit
cafad28293
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 117 additions and 131 deletions
  1. +7
    -6
      privval/msgs_test.go
  2. +3
    -3
      privval/signer_client.go
  3. +4
    -3
      privval/signer_client_test.go
  4. +11
    -9
      privval/signer_requestHandler.go
  5. +88
    -107
      proto/tendermint/privval/types.pb.go
  6. +4
    -3
      proto/tendermint/privval/types.proto

+ 7
- 6
privval/msgs_test.go View File

@ -12,6 +12,7 @@ import (
"github.com/tendermint/tendermint/crypto/ed25519"
cryptoenc "github.com/tendermint/tendermint/crypto/encoding"
"github.com/tendermint/tendermint/crypto/tmhash"
cryptoproto "github.com/tendermint/tendermint/proto/tendermint/crypto"
privproto "github.com/tendermint/tendermint/proto/tendermint/privval"
tmproto "github.com/tendermint/tendermint/proto/tendermint/types"
"github.com/tendermint/tendermint/types"
@ -81,14 +82,14 @@ func TestPrivvalVectors(t *testing.T) {
{"ping request", &privproto.PingRequest{}, "3a00"},
{"ping response", &privproto.PingResponse{}, "4200"},
{"pubKey request", &privproto.PubKeyRequest{}, "0a00"},
{"pubKey response", &privproto.PubKeyResponse{PubKey: &ppk, Error: nil}, "12240a220a20556a436f1218d30942efe798420f51dc9b6a311b929c578257457d05c5fcf230"},
{"pubKey response with error", &privproto.PubKeyResponse{PubKey: nil, Error: remoteError}, "121212100801120c697427732061206572726f72"},
{"pubKey response", &privproto.PubKeyResponse{PubKey: ppk, Error: nil}, "12240a220a20556a436f1218d30942efe798420f51dc9b6a311b929c578257457d05c5fcf230"},
{"pubKey response with error", &privproto.PubKeyResponse{PubKey: cryptoproto.PublicKey{}, Error: remoteError}, "12140a0012100801120c697427732061206572726f72"},
{"Vote Request", &privproto.SignVoteRequest{Vote: votepb}, "1a760a74080110031802224a0a208b01023386c371778ecb6368573e539afc3cc860ec3a2f614e54fe5652f4fc80122608c0843d122072db3d959635dff1bb567bedaa70573392c5159666a3f8caf11e413aac52207a2a0608f49a8ded0532146af1f4111082efb388211bc72c55bcd61e9ac3d538d5bb03"},
{"Vote Response", &privproto.SignedVoteResponse{Vote: votepb, Error: nil}, "22760a74080110031802224a0a208b01023386c371778ecb6368573e539afc3cc860ec3a2f614e54fe5652f4fc80122608c0843d122072db3d959635dff1bb567bedaa70573392c5159666a3f8caf11e413aac52207a2a0608f49a8ded0532146af1f4111082efb388211bc72c55bcd61e9ac3d538d5bb03"},
{"Vote Response with error", &privproto.SignedVoteResponse{Vote: nil, Error: remoteError}, "221212100801120c697427732061206572726f72"},
{"Vote Response", &privproto.SignedVoteResponse{Vote: *votepb, Error: nil}, "22760a74080110031802224a0a208b01023386c371778ecb6368573e539afc3cc860ec3a2f614e54fe5652f4fc80122608c0843d122072db3d959635dff1bb567bedaa70573392c5159666a3f8caf11e413aac52207a2a0608f49a8ded0532146af1f4111082efb388211bc72c55bcd61e9ac3d538d5bb03"},
{"Vote Response with error", &privproto.SignedVoteResponse{Vote: tmproto.Vote{}, Error: remoteError}, "22250a11220212002a0b088092b8c398feffffff0112100801120c697427732061206572726f72"},
{"Proposal Request", &privproto.SignProposalRequest{Proposal: proposalpb}, "2a700a6e08011003180220022a4a0a208b01023386c371778ecb6368573e539afc3cc860ec3a2f614e54fe5652f4fc80122608c0843d122072db3d959635dff1bb567bedaa70573392c5159666a3f8caf11e413aac52207a320608f49a8ded053a10697427732061207369676e6174757265"},
{"Proposal Response", &privproto.SignedProposalResponse{Proposal: proposalpb, Error: nil}, "32700a6e08011003180220022a4a0a208b01023386c371778ecb6368573e539afc3cc860ec3a2f614e54fe5652f4fc80122608c0843d122072db3d959635dff1bb567bedaa70573392c5159666a3f8caf11e413aac52207a320608f49a8ded053a10697427732061207369676e6174757265"},
{"Proposal Response with error", &privproto.SignedProposalResponse{Proposal: nil, Error: remoteError}, "321212100801120c697427732061206572726f72"},
{"Proposal Response", &privproto.SignedProposalResponse{Proposal: *proposalpb, Error: nil}, "32700a6e08011003180220022a4a0a208b01023386c371778ecb6368573e539afc3cc860ec3a2f614e54fe5652f4fc80122608c0843d122072db3d959635dff1bb567bedaa70573392c5159666a3f8caf11e413aac52207a320608f49a8ded053a10697427732061207369676e6174757265"},
{"Proposal Response with error", &privproto.SignedProposalResponse{Proposal: tmproto.Proposal{}, Error: remoteError}, "32250a112a021200320b088092b8c398feffffff0112100801120c697427732061206572726f72"},
}
for _, tc := range testCases {


+ 3
- 3
privval/signer_client.go View File

@ -82,7 +82,7 @@ func (sc *SignerClient) GetPubKey() (crypto.PubKey, error) {
return nil, &RemoteSignerError{Code: int(resp.Error.Code), Description: resp.Error.Description}
}
pk, err := cryptoenc.PubKeyFromProto(*resp.PubKey)
pk, err := cryptoenc.PubKeyFromProto(resp.PubKey)
if err != nil {
return nil, err
}
@ -105,7 +105,7 @@ func (sc *SignerClient) SignVote(chainID string, vote *tmproto.Vote) error {
return &RemoteSignerError{Code: int(resp.Error.Code), Description: resp.Error.Description}
}
*vote = *resp.Vote
*vote = resp.Vote
return nil
}
@ -127,7 +127,7 @@ func (sc *SignerClient) SignProposal(chainID string, proposal *tmproto.Proposal)
return &RemoteSignerError{Code: int(resp.Error.Code), Description: resp.Error.Description}
}
*proposal = *resp.Proposal
*proposal = resp.Proposal
return nil
}

+ 4
- 3
privval/signer_client_test.go View File

@ -11,6 +11,7 @@ import (
"github.com/tendermint/tendermint/crypto"
"github.com/tendermint/tendermint/crypto/tmhash"
tmrand "github.com/tendermint/tendermint/libs/rand"
cryptoproto "github.com/tendermint/tendermint/proto/tendermint/crypto"
privvalproto "github.com/tendermint/tendermint/proto/tendermint/privval"
tmproto "github.com/tendermint/tendermint/proto/tendermint/types"
"github.com/tendermint/tendermint/types"
@ -396,11 +397,11 @@ func brokenHandler(privVal types.PrivValidator, request privvalproto.Message,
switch r := request.Sum.(type) {
// This is broken and will answer most requests with a pubkey response
case *privvalproto.Message_PubKeyRequest:
res = mustWrapMsg(&privvalproto.PubKeyResponse{PubKey: nil, Error: nil})
res = mustWrapMsg(&privvalproto.PubKeyResponse{PubKey: cryptoproto.PublicKey{}, Error: nil})
case *privvalproto.Message_SignVoteRequest:
res = mustWrapMsg(&privvalproto.PubKeyResponse{PubKey: nil, Error: nil})
res = mustWrapMsg(&privvalproto.PubKeyResponse{PubKey: cryptoproto.PublicKey{}, Error: nil})
case *privvalproto.Message_SignProposalRequest:
res = mustWrapMsg(&privvalproto.PubKeyResponse{PubKey: nil, Error: nil})
res = mustWrapMsg(&privvalproto.PubKeyResponse{PubKey: cryptoproto.PublicKey{}, Error: nil})
case *privvalproto.Message_PingRequest:
err, res = nil, mustWrapMsg(&privvalproto.PingResponse{})
default:


+ 11
- 9
privval/signer_requestHandler.go View File

@ -5,7 +5,9 @@ import (
"github.com/tendermint/tendermint/crypto"
cryptoenc "github.com/tendermint/tendermint/crypto/encoding"
cryptoproto "github.com/tendermint/tendermint/proto/tendermint/crypto"
privvalproto "github.com/tendermint/tendermint/proto/tendermint/privval"
tmproto "github.com/tendermint/tendermint/proto/tendermint/types"
"github.com/tendermint/tendermint/types"
)
@ -23,7 +25,7 @@ func DefaultValidationRequestHandler(
case *privvalproto.Message_PubKeyRequest:
if r.PubKeyRequest.GetChainId() != chainID {
res = mustWrapMsg(&privvalproto.SignedVoteResponse{
Vote: nil, Error: &privvalproto.RemoteSignerError{
Vote: tmproto.Vote{}, Error: &privvalproto.RemoteSignerError{
Code: 0, Description: "unable to provide pubkey"}})
return res, fmt.Errorf("want chainID: %s, got chainID: %s", r.PubKeyRequest.GetChainId(), chainID)
}
@ -37,15 +39,15 @@ func DefaultValidationRequestHandler(
if err != nil {
res = mustWrapMsg(&privvalproto.PubKeyResponse{
PubKey: nil, Error: &privvalproto.RemoteSignerError{Code: 0, Description: err.Error()}})
PubKey: cryptoproto.PublicKey{}, Error: &privvalproto.RemoteSignerError{Code: 0, Description: err.Error()}})
} else {
res = mustWrapMsg(&privvalproto.PubKeyResponse{PubKey: &pk, Error: nil})
res = mustWrapMsg(&privvalproto.PubKeyResponse{PubKey: pk, Error: nil})
}
case *privvalproto.Message_SignVoteRequest:
if r.SignVoteRequest.ChainId != chainID {
res = mustWrapMsg(&privvalproto.SignedVoteResponse{
Vote: nil, Error: &privvalproto.RemoteSignerError{
Vote: tmproto.Vote{}, Error: &privvalproto.RemoteSignerError{
Code: 0, Description: "unable to sign vote"}})
return res, fmt.Errorf("want chainID: %s, got chainID: %s", r.SignVoteRequest.GetChainId(), chainID)
}
@ -55,15 +57,15 @@ func DefaultValidationRequestHandler(
err = privVal.SignVote(chainID, vote)
if err != nil {
res = mustWrapMsg(&privvalproto.SignedVoteResponse{
Vote: nil, Error: &privvalproto.RemoteSignerError{Code: 0, Description: err.Error()}})
Vote: tmproto.Vote{}, Error: &privvalproto.RemoteSignerError{Code: 0, Description: err.Error()}})
} else {
res = mustWrapMsg(&privvalproto.SignedVoteResponse{Vote: vote, Error: nil})
res = mustWrapMsg(&privvalproto.SignedVoteResponse{Vote: *vote, Error: nil})
}
case *privvalproto.Message_SignProposalRequest:
if r.SignProposalRequest.GetChainId() != chainID {
res = mustWrapMsg(&privvalproto.SignedVoteResponse{
Vote: nil, Error: &privvalproto.RemoteSignerError{
Vote: tmproto.Vote{}, Error: &privvalproto.RemoteSignerError{
Code: 0,
Description: "unable to sign proposal"}})
return res, fmt.Errorf("want chainID: %s, got chainID: %s", r.SignProposalRequest.GetChainId(), chainID)
@ -74,9 +76,9 @@ func DefaultValidationRequestHandler(
err = privVal.SignProposal(chainID, proposal)
if err != nil {
res = mustWrapMsg(&privvalproto.SignedProposalResponse{
Proposal: nil, Error: &privvalproto.RemoteSignerError{Code: 0, Description: err.Error()}})
Proposal: tmproto.Proposal{}, Error: &privvalproto.RemoteSignerError{Code: 0, Description: err.Error()}})
} else {
res = mustWrapMsg(&privvalproto.SignedProposalResponse{Proposal: proposal, Error: nil})
res = mustWrapMsg(&privvalproto.SignedProposalResponse{Proposal: *proposal, Error: nil})
}
case *privvalproto.Message_PingRequest:
err, res = nil, mustWrapMsg(&privvalproto.PingResponse{})


+ 88
- 107
proto/tendermint/privval/types.pb.go View File

@ -5,6 +5,7 @@ package privval
import (
fmt "fmt"
_ "github.com/gogo/protobuf/gogoproto"
proto "github.com/gogo/protobuf/proto"
crypto "github.com/tendermint/tendermint/proto/tendermint/crypto"
types "github.com/tendermint/tendermint/proto/tendermint/types"
@ -160,7 +161,7 @@ func (m *PubKeyRequest) GetChainId() string {
// PubKeyResponse is a response message containing the public key.
type PubKeyResponse struct {
PubKey *crypto.PublicKey `protobuf:"bytes,1,opt,name=pub_key,json=pubKey,proto3" json:"pub_key,omitempty"`
PubKey crypto.PublicKey `protobuf:"bytes,1,opt,name=pub_key,json=pubKey,proto3" json:"pub_key"`
Error *RemoteSignerError `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
}
@ -197,11 +198,11 @@ func (m *PubKeyResponse) XXX_DiscardUnknown() {
var xxx_messageInfo_PubKeyResponse proto.InternalMessageInfo
func (m *PubKeyResponse) GetPubKey() *crypto.PublicKey {
func (m *PubKeyResponse) GetPubKey() crypto.PublicKey {
if m != nil {
return m.PubKey
}
return nil
return crypto.PublicKey{}
}
func (m *PubKeyResponse) GetError() *RemoteSignerError {
@ -266,7 +267,7 @@ func (m *SignVoteRequest) GetChainId() string {
// SignedVoteResponse is a response containing a signed vote or an error
type SignedVoteResponse struct {
Vote *types.Vote `protobuf:"bytes,1,opt,name=vote,proto3" json:"vote,omitempty"`
Vote types.Vote `protobuf:"bytes,1,opt,name=vote,proto3" json:"vote"`
Error *RemoteSignerError `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
}
@ -303,11 +304,11 @@ func (m *SignedVoteResponse) XXX_DiscardUnknown() {
var xxx_messageInfo_SignedVoteResponse proto.InternalMessageInfo
func (m *SignedVoteResponse) GetVote() *types.Vote {
func (m *SignedVoteResponse) GetVote() types.Vote {
if m != nil {
return m.Vote
}
return nil
return types.Vote{}
}
func (m *SignedVoteResponse) GetError() *RemoteSignerError {
@ -372,7 +373,7 @@ func (m *SignProposalRequest) GetChainId() string {
// SignedProposalResponse is response containing a signed proposal or an error
type SignedProposalResponse struct {
Proposal *types.Proposal `protobuf:"bytes,1,opt,name=proposal,proto3" json:"proposal,omitempty"`
Proposal types.Proposal `protobuf:"bytes,1,opt,name=proposal,proto3" json:"proposal"`
Error *RemoteSignerError `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
}
@ -409,11 +410,11 @@ func (m *SignedProposalResponse) XXX_DiscardUnknown() {
var xxx_messageInfo_SignedProposalResponse proto.InternalMessageInfo
func (m *SignedProposalResponse) GetProposal() *types.Proposal {
func (m *SignedProposalResponse) GetProposal() types.Proposal {
if m != nil {
return m.Proposal
}
return nil
return types.Proposal{}
}
func (m *SignedProposalResponse) GetError() *RemoteSignerError {
@ -677,53 +678,54 @@ func init() {
func init() { proto.RegisterFile("tendermint/privval/types.proto", fileDescriptor_cb4e437a5328cf9c) }
var fileDescriptor_cb4e437a5328cf9c = []byte{
// 724 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0x4d, 0x4f, 0xdb, 0x4a,
0x14, 0xb5, 0x21, 0x1f, 0x70, 0x43, 0x42, 0x18, 0x78, 0xbc, 0x80, 0x78, 0x7e, 0x79, 0x79, 0x6a,
0x8b, 0xb2, 0x48, 0x24, 0xaa, 0x56, 0xaa, 0xba, 0x2a, 0x60, 0x35, 0x11, 0xc2, 0x4e, 0x27, 0xa1,
0x20, 0xa4, 0xca, 0xca, 0xc7, 0x34, 0x58, 0x10, 0xcf, 0xd4, 0xe3, 0x20, 0x65, 0xd1, 0x5d, 0xb7,
0x95, 0xfa, 0x33, 0xba, 0xee, 0xaf, 0xe8, 0x92, 0x65, 0x97, 0x15, 0xfc, 0x91, 0x2a, 0xe3, 0x89,
0x63, 0xe7, 0x03, 0xa9, 0x65, 0x97, 0xb9, 0xe7, 0xde, 0x73, 0xcf, 0xf1, 0x9c, 0x68, 0x40, 0xf3,
0x88, 0xd3, 0x21, 0x6e, 0xcf, 0x76, 0xbc, 0x32, 0x73, 0xed, 0xeb, 0xeb, 0xe6, 0x55, 0xd9, 0x1b,
0x30, 0xc2, 0x4b, 0xcc, 0xa5, 0x1e, 0x45, 0x68, 0x8c, 0x97, 0x24, 0xbe, 0xbd, 0x13, 0x9a, 0x69,
0xbb, 0x03, 0xe6, 0xd1, 0xf2, 0x25, 0x19, 0xc8, 0x89, 0x08, 0x2a, 0x98, 0xc2, 0x7c, 0x85, 0x2a,
0xac, 0x61, 0xd2, 0xa3, 0x1e, 0xa9, 0xdb, 0x5d, 0x87, 0xb8, 0xba, 0xeb, 0x52, 0x17, 0x21, 0x88,
0xb5, 0x69, 0x87, 0xe4, 0xd4, 0xbc, 0xba, 0x1b, 0xc7, 0xe2, 0x37, 0xca, 0x43, 0xaa, 0x43, 0x78,
0xdb, 0xb5, 0x99, 0x67, 0x53, 0x27, 0xb7, 0x90, 0x57, 0x77, 0x97, 0x71, 0xb8, 0x54, 0x28, 0x42,
0xba, 0xd6, 0x6f, 0x1d, 0x91, 0x01, 0x26, 0x1f, 0xfa, 0x84, 0x7b, 0x68, 0x0b, 0x96, 0xda, 0x17,
0x4d, 0xdb, 0xb1, 0xec, 0x8e, 0xa0, 0x5a, 0xc6, 0x49, 0x71, 0xae, 0x76, 0x0a, 0x9f, 0x54, 0xc8,
0x8c, 0x9a, 0x39, 0xa3, 0x0e, 0x27, 0xe8, 0x19, 0x24, 0x59, 0xbf, 0x65, 0x5d, 0x92, 0x81, 0x68,
0x4e, 0xed, 0xed, 0x94, 0x42, 0x5e, 0x7d, 0x5f, 0xa5, 0x5a, 0xbf, 0x75, 0x65, 0xb7, 0x87, 0x63,
0x09, 0x26, 0xc6, 0xd1, 0x4b, 0x88, 0x93, 0xa1, 0x68, 0xa1, 0x28, 0xb5, 0xf7, 0xa8, 0x34, 0xfd,
0x81, 0x4a, 0x53, 0x0e, 0xb1, 0x3f, 0x53, 0x38, 0x83, 0xd5, 0x61, 0xf5, 0x2d, 0xf5, 0xc8, 0x48,
0x74, 0x11, 0x62, 0xd7, 0xd4, 0x23, 0x52, 0xc3, 0x66, 0x98, 0xce, 0xff, 0x6e, 0xa2, 0x59, 0xf4,
0x44, 0x0c, 0x2e, 0x44, 0x0d, 0x7e, 0x04, 0x24, 0xf6, 0x75, 0x7c, 0x6e, 0xe9, 0xf1, 0x77, 0xc8,
0x1f, 0x64, 0xec, 0x02, 0xd6, 0x87, 0xd5, 0x9a, 0x4b, 0x19, 0xe5, 0xcd, 0xab, 0x91, 0xb9, 0xe7,
0xb0, 0xc4, 0x64, 0x49, 0x6a, 0xd8, 0x9e, 0xd6, 0x10, 0x0c, 0x05, 0xbd, 0xf7, 0x19, 0xfd, 0xac,
0xc2, 0xa6, 0xef, 0x74, 0xbc, 0x4c, 0xba, 0xfd, 0xd3, 0x6d, 0x0f, 0x72, 0x9e, 0x86, 0x54, 0xcd,
0x76, 0xba, 0xd2, 0x71, 0x21, 0x03, 0x2b, 0xfe, 0xd1, 0xd7, 0x54, 0xf8, 0x16, 0x87, 0xe4, 0x31,
0xe1, 0xbc, 0xd9, 0x25, 0xe8, 0x08, 0x56, 0x65, 0xe2, 0x2c, 0xd7, 0x6f, 0x97, 0x32, 0xff, 0x9b,
0xb5, 0x31, 0x92, 0xed, 0x8a, 0x82, 0xd3, 0x2c, 0x12, 0x76, 0x03, 0xb2, 0x63, 0x32, 0x7f, 0x99,
0xd4, 0x5f, 0xb8, 0x8f, 0xcd, 0xef, 0xac, 0x28, 0x38, 0xc3, 0xa2, 0x7f, 0x87, 0x37, 0xb0, 0xc6,
0xed, 0xae, 0x63, 0x0d, 0xb3, 0x10, 0xc8, 0x5b, 0x14, 0x84, 0xff, 0xcf, 0x22, 0x9c, 0xc8, 0x71,
0x45, 0xc1, 0xab, 0x7c, 0x22, 0xda, 0xe7, 0xb0, 0xc1, 0xc5, 0x4d, 0x8d, 0x48, 0xa5, 0xcc, 0x98,
0x60, 0x7d, 0x3c, 0x8f, 0x35, 0x9a, 0xe1, 0x8a, 0x82, 0x11, 0x9f, 0x4e, 0xf6, 0x3b, 0xf8, 0x4b,
0xc8, 0x1d, 0x5d, 0x62, 0x20, 0x39, 0x2e, 0xc8, 0x9f, 0xcc, 0x23, 0x9f, 0x48, 0x68, 0x45, 0xc1,
0xeb, 0x7c, 0x46, 0x70, 0xdf, 0x43, 0x4e, 0x4a, 0x0f, 0x2d, 0x90, 0xf2, 0x13, 0x62, 0x43, 0x71,
0xbe, 0xfc, 0xc9, 0x60, 0x56, 0x14, 0xbc, 0xc9, 0x67, 0x47, 0xf6, 0x10, 0x56, 0x98, 0xed, 0x74,
0x03, 0xf5, 0x49, 0xc1, 0xfd, 0xef, 0xcc, 0x1b, 0x1c, 0xa7, 0xac, 0xa2, 0xe0, 0x14, 0x1b, 0x1f,
0xd1, 0x6b, 0x48, 0x4b, 0x16, 0x29, 0x71, 0x49, 0xd0, 0xe4, 0xe7, 0xd3, 0x04, 0xc2, 0x56, 0x58,
0xe8, 0xbc, 0x1f, 0x87, 0x45, 0xde, 0xef, 0x15, 0xbf, 0xaa, 0x90, 0x10, 0x21, 0xe7, 0x08, 0x41,
0x46, 0xc7, 0xd8, 0xc4, 0x75, 0xeb, 0xc4, 0x38, 0x32, 0xcc, 0x53, 0x23, 0xab, 0x20, 0x0d, 0xb6,
0x83, 0x9a, 0x7e, 0x56, 0xd3, 0x0f, 0x1a, 0xfa, 0xa1, 0x85, 0xf5, 0x7a, 0xcd, 0x34, 0xea, 0x7a,
0x56, 0x45, 0x39, 0xd8, 0x90, 0xb8, 0x61, 0x5a, 0x07, 0xa6, 0x61, 0xe8, 0x07, 0x8d, 0xaa, 0x69,
0x64, 0x17, 0xd0, 0x3f, 0xb0, 0x25, 0x91, 0x71, 0xd9, 0x6a, 0x54, 0x8f, 0x75, 0xf3, 0xa4, 0x91,
0x5d, 0x44, 0x7f, 0xc3, 0xba, 0x84, 0xb1, 0xfe, 0xea, 0x30, 0x00, 0x62, 0x21, 0xc6, 0x53, 0x5c,
0x6d, 0xe8, 0x01, 0x12, 0xdf, 0xaf, 0x7f, 0xbf, 0xd5, 0xd4, 0x9b, 0x5b, 0x4d, 0xfd, 0x79, 0xab,
0xa9, 0x5f, 0xee, 0x34, 0xe5, 0xe6, 0x4e, 0x53, 0x7e, 0xdc, 0x69, 0xca, 0xf9, 0x8b, 0xae, 0xed,
0x5d, 0xf4, 0x5b, 0xa5, 0x36, 0xed, 0x95, 0xc3, 0x4f, 0x52, 0xf8, 0xbd, 0xa3, 0x1e, 0x2d, 0x4f,
0x3f, 0x80, 0xad, 0x84, 0x40, 0x9e, 0xfe, 0x0a, 0x00, 0x00, 0xff, 0xff, 0x5b, 0xb0, 0xa7, 0xec,
0x1d, 0x07, 0x00, 0x00,
// 750 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0x4d, 0x4f, 0x13, 0x41,
0x18, 0xde, 0x85, 0x7e, 0xc0, 0x5b, 0x5a, 0xca, 0x80, 0x58, 0x1a, 0x5c, 0x6a, 0x8d, 0x4a, 0x7a,
0x68, 0x0d, 0x26, 0x26, 0x06, 0x2f, 0x02, 0x1b, 0xdb, 0x34, 0x6c, 0xeb, 0xb4, 0x08, 0x21, 0x31,
0x9b, 0x7e, 0x8c, 0xcb, 0x06, 0xba, 0x3b, 0xee, 0x6c, 0x49, 0x7a, 0xf6, 0xe6, 0xc9, 0xc4, 0x3f,
0xe1, 0xd9, 0x5f, 0xc1, 0x91, 0xa3, 0x27, 0x63, 0xe0, 0x8f, 0x98, 0xce, 0x4e, 0xb7, 0xdb, 0x2f,
0xa2, 0xe1, 0xb6, 0xf3, 0xbe, 0xef, 0x3c, 0x1f, 0x33, 0xcf, 0x66, 0x40, 0x71, 0x89, 0xd5, 0x26,
0x4e, 0xc7, 0xb4, 0xdc, 0x02, 0x75, 0xcc, 0xcb, 0xcb, 0xc6, 0x45, 0xc1, 0xed, 0x51, 0xc2, 0xf2,
0xd4, 0xb1, 0x5d, 0x1b, 0xa1, 0x61, 0x3f, 0x2f, 0xfa, 0xe9, 0xcd, 0xc0, 0x9e, 0x96, 0xd3, 0xa3,
0xae, 0x5d, 0x38, 0x27, 0x3d, 0xb1, 0x63, 0xa4, 0xcb, 0x91, 0x82, 0x78, 0xe9, 0x35, 0xc3, 0x36,
0x6c, 0xfe, 0x59, 0xe8, 0x7f, 0x79, 0xd5, 0x6c, 0x09, 0x56, 0x30, 0xe9, 0xd8, 0x2e, 0xa9, 0x99,
0x86, 0x45, 0x1c, 0xd5, 0x71, 0x6c, 0x07, 0x21, 0x08, 0xb5, 0xec, 0x36, 0x49, 0xc9, 0x19, 0x79,
0x3b, 0x8c, 0xf9, 0x37, 0xca, 0x40, 0xac, 0x4d, 0x58, 0xcb, 0x31, 0xa9, 0x6b, 0xda, 0x56, 0x6a,
0x2e, 0x23, 0x6f, 0x2f, 0xe2, 0x60, 0x29, 0x9b, 0x83, 0x78, 0xb5, 0xdb, 0x2c, 0x93, 0x1e, 0x26,
0x9f, 0xbb, 0x84, 0xb9, 0x68, 0x03, 0x16, 0x5a, 0x67, 0x0d, 0xd3, 0xd2, 0xcd, 0x36, 0x87, 0x5a,
0xc4, 0x51, 0xbe, 0x2e, 0xb5, 0xb3, 0x5f, 0x65, 0x48, 0x0c, 0x86, 0x19, 0xb5, 0x2d, 0x46, 0xd0,
0x2e, 0x44, 0x69, 0xb7, 0xa9, 0x9f, 0x93, 0x1e, 0x1f, 0x8e, 0xed, 0x6c, 0xe6, 0x03, 0x27, 0xe0,
0xb9, 0xcd, 0x57, 0xbb, 0xcd, 0x0b, 0xb3, 0x55, 0x26, 0xbd, 0xbd, 0xd0, 0xd5, 0xef, 0x2d, 0x09,
0x47, 0x28, 0x07, 0x41, 0xbb, 0x10, 0x26, 0x7d, 0xe9, 0x5c, 0x57, 0x6c, 0xe7, 0x69, 0x7e, 0xf2,
0xf0, 0xf2, 0x13, 0x3e, 0xb1, 0xb7, 0x27, 0x7b, 0x02, 0xcb, 0xfd, 0xea, 0x07, 0xdb, 0x25, 0x03,
0xe9, 0x39, 0x08, 0x5d, 0xda, 0x2e, 0x11, 0x4a, 0xd6, 0x83, 0x70, 0xde, 0x99, 0xf2, 0x61, 0x3e,
0x33, 0x62, 0x73, 0x6e, 0xd4, 0xe6, 0x17, 0x19, 0x10, 0x27, 0x6c, 0x7b, 0xe0, 0xc2, 0xea, 0x8b,
0x7f, 0x41, 0x17, 0x0e, 0x3d, 0x8e, 0x7b, 0xf9, 0x3b, 0x83, 0xd5, 0x7e, 0xb5, 0xea, 0xd8, 0xd4,
0x66, 0x8d, 0x8b, 0x81, 0xc7, 0x57, 0xb0, 0x40, 0x45, 0x49, 0x28, 0x49, 0x4f, 0x2a, 0xf1, 0x37,
0xf9, 0xb3, 0x77, 0xf9, 0xfd, 0x2e, 0xc3, 0xba, 0xe7, 0x77, 0x48, 0x26, 0x3c, 0xbf, 0xf9, 0x1f,
0x36, 0xe1, 0x7d, 0xc8, 0x79, 0x2f, 0xff, 0x71, 0x88, 0x55, 0x4d, 0xcb, 0x10, 0xbe, 0xb3, 0x09,
0x58, 0xf2, 0x96, 0x9e, 0xb2, 0xec, 0xcf, 0x30, 0x44, 0x0f, 0x09, 0x63, 0x0d, 0x83, 0xa0, 0x32,
0x2c, 0x8b, 0x10, 0xea, 0x8e, 0x37, 0x2e, 0xc4, 0x3e, 0x9e, 0xc6, 0x38, 0x12, 0xf7, 0xa2, 0x84,
0xe3, 0x74, 0x24, 0xff, 0x1a, 0x24, 0x87, 0x60, 0x1e, 0x99, 0xd0, 0x9f, 0xbd, 0x0b, 0xcd, 0x9b,
0x2c, 0x4a, 0x38, 0x41, 0x47, 0xff, 0x90, 0xf7, 0xb0, 0xc2, 0x4c, 0xc3, 0xd2, 0xfb, 0x89, 0xf0,
0xe5, 0xcd, 0x73, 0xc0, 0x27, 0xd3, 0x00, 0xc7, 0x42, 0x5d, 0x94, 0xf0, 0x32, 0x1b, 0xcb, 0xf9,
0x29, 0xac, 0x31, 0x7e, 0x5f, 0x03, 0x50, 0x21, 0x33, 0xc4, 0x51, 0x9f, 0xcd, 0x42, 0x1d, 0xcd,
0x73, 0x51, 0xc2, 0x88, 0x4d, 0xa6, 0xfc, 0x23, 0x3c, 0xe0, 0x72, 0x07, 0x97, 0xe8, 0x4b, 0x0e,
0x73, 0xf0, 0xe7, 0xb3, 0xc0, 0xc7, 0x72, 0x5a, 0x94, 0xf0, 0x2a, 0x9b, 0x12, 0xdf, 0x4f, 0x90,
0x12, 0xd2, 0x03, 0x04, 0x42, 0x7e, 0x84, 0x33, 0xe4, 0x66, 0xcb, 0x1f, 0x8f, 0x67, 0x51, 0xc2,
0xeb, 0x6c, 0x7a, 0x70, 0x0f, 0x60, 0x89, 0x9a, 0x96, 0xe1, 0xab, 0x8f, 0x72, 0xec, 0xad, 0xa9,
0x37, 0x38, 0x4c, 0x59, 0x51, 0xc2, 0x31, 0x3a, 0x5c, 0xa2, 0x77, 0x10, 0x17, 0x28, 0x42, 0xe2,
0x02, 0x87, 0xc9, 0xcc, 0x86, 0xf1, 0x85, 0x2d, 0xd1, 0xc0, 0x7a, 0x2f, 0x0c, 0xf3, 0xac, 0xdb,
0xc9, 0xfd, 0x90, 0x21, 0xc2, 0x43, 0xce, 0x10, 0x82, 0x84, 0x8a, 0x71, 0x05, 0xd7, 0xf4, 0x23,
0xad, 0xac, 0x55, 0x8e, 0xb5, 0xa4, 0x84, 0x14, 0x48, 0xfb, 0x35, 0xf5, 0xa4, 0xaa, 0xee, 0xd7,
0xd5, 0x03, 0x1d, 0xab, 0xb5, 0x6a, 0x45, 0xab, 0xa9, 0x49, 0x19, 0xa5, 0x60, 0x4d, 0xf4, 0xb5,
0x8a, 0xbe, 0x5f, 0xd1, 0x34, 0x75, 0xbf, 0x5e, 0xaa, 0x68, 0xc9, 0x39, 0xf4, 0x08, 0x36, 0x44,
0x67, 0x58, 0xd6, 0xeb, 0xa5, 0x43, 0xb5, 0x72, 0x54, 0x4f, 0xce, 0xa3, 0x87, 0xb0, 0x2a, 0xda,
0x58, 0x7d, 0x7b, 0xe0, 0x37, 0x42, 0x01, 0xc4, 0x63, 0x5c, 0xaa, 0xab, 0x7e, 0x27, 0xbc, 0x57,
0xbb, 0xba, 0x51, 0xe4, 0xeb, 0x1b, 0x45, 0xfe, 0x73, 0xa3, 0xc8, 0xdf, 0x6e, 0x15, 0xe9, 0xfa,
0x56, 0x91, 0x7e, 0xdd, 0x2a, 0xd2, 0xe9, 0x6b, 0xc3, 0x74, 0xcf, 0xba, 0xcd, 0x7c, 0xcb, 0xee,
0x14, 0x82, 0x6f, 0x57, 0xf0, 0x61, 0xec, 0xbf, 0x57, 0x93, 0x2f, 0x65, 0x33, 0xc2, 0x3b, 0x2f,
0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0xa5, 0x2a, 0xe5, 0x4a, 0x46, 0x07, 0x00, 0x00,
}
func (m *RemoteSignerError) Marshal() (dAtA []byte, err error) {
@ -823,18 +825,16 @@ func (m *PubKeyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i--
dAtA[i] = 0x12
}
if m.PubKey != nil {
{
size, err := m.PubKey.MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
i -= size
i = encodeVarintTypes(dAtA, i, uint64(size))
{
size, err := m.PubKey.MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
i--
dAtA[i] = 0xa
i -= size
i = encodeVarintTypes(dAtA, i, uint64(size))
}
i--
dAtA[i] = 0xa
return len(dAtA) - i, nil
}
@ -912,18 +912,16 @@ func (m *SignedVoteResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i--
dAtA[i] = 0x12
}
if m.Vote != nil {
{
size, err := m.Vote.MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
i -= size
i = encodeVarintTypes(dAtA, i, uint64(size))
{
size, err := m.Vote.MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
i--
dAtA[i] = 0xa
i -= size
i = encodeVarintTypes(dAtA, i, uint64(size))
}
i--
dAtA[i] = 0xa
return len(dAtA) - i, nil
}
@ -1001,18 +999,16 @@ func (m *SignedProposalResponse) MarshalToSizedBuffer(dAtA []byte) (int, error)
i--
dAtA[i] = 0x12
}
if m.Proposal != nil {
{
size, err := m.Proposal.MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
i -= size
i = encodeVarintTypes(dAtA, i, uint64(size))
{
size, err := m.Proposal.MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
i--
dAtA[i] = 0xa
i -= size
i = encodeVarintTypes(dAtA, i, uint64(size))
}
i--
dAtA[i] = 0xa
return len(dAtA) - i, nil
}
@ -1308,10 +1304,8 @@ func (m *PubKeyResponse) Size() (n int) {
}
var l int
_ = l
if m.PubKey != nil {
l = m.PubKey.Size()
n += 1 + l + sovTypes(uint64(l))
}
l = m.PubKey.Size()
n += 1 + l + sovTypes(uint64(l))
if m.Error != nil {
l = m.Error.Size()
n += 1 + l + sovTypes(uint64(l))
@ -1342,10 +1336,8 @@ func (m *SignedVoteResponse) Size() (n int) {
}
var l int
_ = l
if m.Vote != nil {
l = m.Vote.Size()
n += 1 + l + sovTypes(uint64(l))
}
l = m.Vote.Size()
n += 1 + l + sovTypes(uint64(l))
if m.Error != nil {
l = m.Error.Size()
n += 1 + l + sovTypes(uint64(l))
@ -1376,10 +1368,8 @@ func (m *SignedProposalResponse) Size() (n int) {
}
var l int
_ = l
if m.Proposal != nil {
l = m.Proposal.Size()
n += 1 + l + sovTypes(uint64(l))
}
l = m.Proposal.Size()
n += 1 + l + sovTypes(uint64(l))
if m.Error != nil {
l = m.Error.Size()
n += 1 + l + sovTypes(uint64(l))
@ -1767,9 +1757,6 @@ func (m *PubKeyResponse) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.PubKey == nil {
m.PubKey = &crypto.PublicKey{}
}
if err := m.PubKey.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
@ -2013,9 +2000,6 @@ func (m *SignedVoteResponse) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.Vote == nil {
m.Vote = &types.Vote{}
}
if err := m.Vote.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
@ -2259,9 +2243,6 @@ func (m *SignedProposalResponse) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.Proposal == nil {
m.Proposal = &types.Proposal{}
}
if err := m.Proposal.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}


+ 4
- 3
proto/tendermint/privval/types.proto View File

@ -3,6 +3,7 @@ package tendermint.privval;
import "tendermint/crypto/keys.proto";
import "tendermint/types/types.proto";
import "gogoproto/gogo.proto";
option go_package = "github.com/tendermint/tendermint/proto/tendermint/privval";
@ -27,7 +28,7 @@ message PubKeyRequest {
// PubKeyResponse is a response message containing the public key.
message PubKeyResponse {
tendermint.crypto.PublicKey pub_key = 1;
tendermint.crypto.PublicKey pub_key = 1 [(gogoproto.nullable) = false];
RemoteSignerError error = 2;
}
@ -39,7 +40,7 @@ message SignVoteRequest {
// SignedVoteResponse is a response containing a signed vote or an error
message SignedVoteResponse {
tendermint.types.Vote vote = 1;
tendermint.types.Vote vote = 1 [(gogoproto.nullable) = false];
RemoteSignerError error = 2;
}
@ -51,7 +52,7 @@ message SignProposalRequest {
// SignedProposalResponse is response containing a signed proposal or an error
message SignedProposalResponse {
tendermint.types.Proposal proposal = 1;
tendermint.types.Proposal proposal = 1 [(gogoproto.nullable) = false];
RemoteSignerError error = 2;
}


Loading…
Cancel
Save