Initial update for Init/SyncValidators

This commit is contained in:
Jae Kwon 2016-02-28 18:53:24 -08:00
parent b2bd661a61
commit 1ffe780976
3 changed files with 131 additions and 65 deletions

View File

@ -67,8 +67,24 @@ TMSP requests/responses are simple Protobuf messages. Check out the [schema fil
Set application options. E.g. Key="mode", Value="mempool" for a mempool connection, or Key="mode", Value="consensus" for a consensus connection.
Other options are application specific.
#### InitValidators
* __Arguments__:
* `Validators ([]Validator)`: Initial genesis validators
* __Usage__:<br/>
Called once upon genesis, to inform the app about the initial validators.
#### SyncValidators
* __Returns__:
* `Validators ([]Validator)`: Changed validators with new voting powers (0 to remove)
* __Usage__:<br/>
Called prior to each Commit to get validator updates from the application.
## Changelog
### Feb 28th, 2016
* Added InitValidators, SyncValidators
### Feb 14th, 2016
* s/GetHash/Commit/g

View File

@ -11,6 +11,7 @@ It is generated from these files:
It has these top-level messages:
Request
Response
Validator
*/
package types
@ -36,6 +37,8 @@ const (
MessageType_CheckTx MessageType = 18
MessageType_Commit MessageType = 19
MessageType_Query MessageType = 20
MessageType_InitValdiators MessageType = 21
MessageType_SyncValdiators MessageType = 22
)
var MessageType_name = map[int32]string{
@ -49,6 +52,8 @@ var MessageType_name = map[int32]string{
18: "CheckTx",
19: "Commit",
20: "Query",
21: "InitValdiators",
22: "SyncValdiators",
}
var MessageType_value = map[string]int32{
"NullMessage": 0,
@ -61,6 +66,8 @@ var MessageType_value = map[string]int32{
"CheckTx": 18,
"Commit": 19,
"Query": 20,
"InitValdiators": 21,
"SyncValdiators": 22,
}
func (x MessageType) String() string {
@ -115,6 +122,7 @@ type Request struct {
Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
Key string `protobuf:"bytes,3,opt,name=key" json:"key,omitempty"`
Value string `protobuf:"bytes,4,opt,name=value" json:"value,omitempty"`
Validators []*Validator `protobuf:"bytes,5,rep,name=validators" json:"validators,omitempty"`
}
func (m *Request) Reset() { *m = Request{} }
@ -122,12 +130,20 @@ func (m *Request) String() string { return proto.CompactTextString(m)
func (*Request) ProtoMessage() {}
func (*Request) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
func (m *Request) GetValidators() []*Validator {
if m != nil {
return m.Validators
}
return nil
}
type Response struct {
Type MessageType `protobuf:"varint,1,opt,name=type,enum=types.MessageType" json:"type,omitempty"`
Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
Code CodeType `protobuf:"varint,3,opt,name=code,enum=types.CodeType" json:"code,omitempty"`
Error string `protobuf:"bytes,4,opt,name=error" json:"error,omitempty"`
Log string `protobuf:"bytes,5,opt,name=log" json:"log,omitempty"`
Validators []*Validator `protobuf:"bytes,6,rep,name=validators" json:"validators,omitempty"`
}
func (m *Response) Reset() { *m = Response{} }
@ -135,39 +151,62 @@ func (m *Response) String() string { return proto.CompactTextString(m
func (*Response) ProtoMessage() {}
func (*Response) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
func (m *Response) GetValidators() []*Validator {
if m != nil {
return m.Validators
}
return nil
}
type Validator struct {
PubKey []byte `protobuf:"bytes,1,opt,name=pubKey,proto3" json:"pubKey,omitempty"`
Power uint64 `protobuf:"varint,2,opt,name=power" json:"power,omitempty"`
}
func (m *Validator) Reset() { *m = Validator{} }
func (m *Validator) String() string { return proto.CompactTextString(m) }
func (*Validator) ProtoMessage() {}
func (*Validator) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
func init() {
proto.RegisterType((*Request)(nil), "types.Request")
proto.RegisterType((*Response)(nil), "types.Response")
proto.RegisterType((*Validator)(nil), "types.Validator")
proto.RegisterEnum("types.MessageType", MessageType_name, MessageType_value)
proto.RegisterEnum("types.CodeType", CodeType_name, CodeType_value)
}
var fileDescriptor0 = []byte{
// 406 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x92, 0x5f, 0x6e, 0xd3, 0x40,
0x10, 0xc6, 0x71, 0x62, 0xe7, 0xcf, 0x24, 0x4d, 0x37, 0x43, 0x90, 0xfc, 0x88, 0x8a, 0x84, 0x50,
0x1f, 0x8a, 0x54, 0x4e, 0x50, 0xa2, 0x54, 0x8a, 0x10, 0xad, 0x30, 0xed, 0x01, 0xcc, 0x7a, 0x12,
0x5b, 0x71, 0x66, 0x8d, 0x77, 0x17, 0x1a, 0xee, 0xc0, 0x13, 0xe7, 0xe0, 0x8e, 0xec, 0xae, 0x53,
0xa9, 0x3c, 0xf7, 0xc5, 0x9a, 0xef, 0xdb, 0x9d, 0x99, 0xdf, 0x8c, 0x17, 0xe6, 0xe6, 0xd0, 0x90,
0x7e, 0x1f, 0xbe, 0x17, 0x4d, 0xab, 0x8c, 0xc2, 0x24, 0x88, 0xb3, 0x3d, 0x0c, 0x33, 0xfa, 0x6e,
0x49, 0x1b, 0x7c, 0x0b, 0xb1, 0xf7, 0xd2, 0xe8, 0x75, 0xf4, 0x6e, 0x76, 0x89, 0x17, 0xdd, 0xed,
0xcf, 0xa4, 0x75, 0xbe, 0xa5, 0x3b, 0x27, 0xb2, 0x70, 0x8e, 0x08, 0x71, 0x91, 0x9b, 0x3c, 0xed,
0xb9, 0x7b, 0xd3, 0x2c, 0xc4, 0x28, 0xa0, 0xbf, 0xa3, 0x43, 0xda, 0x77, 0xd6, 0x38, 0xf3, 0x21,
0x2e, 0x20, 0xf9, 0x91, 0xd7, 0x96, 0xd2, 0x38, 0x78, 0x9d, 0x38, 0xfb, 0x13, 0xc1, 0x28, 0x23,
0xdd, 0x28, 0xd6, 0xf4, 0xac, 0x86, 0x6f, 0x20, 0x96, 0xaa, 0xa0, 0xd0, 0x71, 0x76, 0x79, 0x7a,
0xcc, 0x5d, 0x3a, 0xab, 0x4b, 0xf4, 0x87, 0x9e, 0x81, 0xda, 0x56, 0xb5, 0x8f, 0x0c, 0x41, 0x78,
0xd6, 0x5a, 0x6d, 0xd3, 0xa4, 0x63, 0x75, 0xe1, 0xf9, 0xef, 0x08, 0x26, 0x4f, 0xda, 0xe2, 0x29,
0x4c, 0x6e, 0x6c, 0x5d, 0x1f, 0x2d, 0xf1, 0x02, 0x47, 0x10, 0xaf, 0x64, 0xa9, 0x44, 0x84, 0x63,
0x48, 0xae, 0x6b, 0xab, 0x4b, 0xd1, 0xf3, 0xe6, 0x9a, 0x37, 0x4a, 0xf4, 0xf1, 0x04, 0xc6, 0x5f,
0xc9, 0xdc, 0x36, 0xa6, 0x52, 0x2c, 0x62, 0x2f, 0x57, 0x0f, 0x92, 0x3a, 0x99, 0xe0, 0x14, 0x46,
0x57, 0x4d, 0x43, 0x5c, 0xdc, 0x3d, 0x88, 0x39, 0x4e, 0x60, 0xb8, 0x2c, 0x49, 0xee, 0x9c, 0x70,
0x83, 0xc1, 0x60, 0xa9, 0xf6, 0xfb, 0xca, 0x88, 0x97, 0xbe, 0xf2, 0x17, 0x4b, 0xed, 0x41, 0x2c,
0xce, 0xff, 0xba, 0x2d, 0x3d, 0x8e, 0x82, 0x03, 0xe8, 0xdd, 0x7e, 0x72, 0x0c, 0x73, 0x38, 0x59,
0xb3, 0xa1, 0x96, 0xf3, 0x7a, 0xe5, 0xe7, 0x70, 0x30, 0x02, 0xa6, 0xf7, 0x9c, 0x5b, 0x53, 0xaa,
0xb6, 0xfa, 0x45, 0x85, 0x63, 0x5a, 0x80, 0x58, 0xb3, 0xb6, 0x9b, 0x4d, 0x25, 0x2b, 0x62, 0x73,
0x4d, 0xa4, 0x1d, 0x1f, 0xc2, 0xec, 0x9e, 0x77, 0xac, 0x7e, 0xf2, 0xf1, 0x5f, 0x3b, 0x48, 0x57,
0x6e, 0xc5, 0x6e, 0x4b, 0x15, 0x6f, 0xbb, 0x72, 0x01, 0xf4, 0x63, 0x5e, 0xdc, 0x28, 0x96, 0x24,
0x06, 0x4f, 0x92, 0xae, 0xa4, 0x54, 0x96, 0x8d, 0x18, 0xe2, 0x2b, 0x98, 0xff, 0x57, 0xde, 0x72,
0xa1, 0xc5, 0xe8, 0xdb, 0x20, 0x3c, 0xa9, 0x0f, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x41, 0x3b,
0x4f, 0x97, 0x67, 0x02, 0x00, 0x00,
// 486 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x53, 0xcd, 0x6e, 0xd3, 0x40,
0x10, 0xc6, 0x89, 0xed, 0x24, 0x93, 0x34, 0xdd, 0x2c, 0x69, 0xe5, 0x63, 0x55, 0x24, 0x54, 0xf5,
0x50, 0x50, 0x38, 0x71, 0x2c, 0x51, 0x2a, 0x45, 0x15, 0xad, 0x70, 0x5b, 0xee, 0xae, 0x3d, 0x49,
0xac, 0xb8, 0xbb, 0xc6, 0xbb, 0x4b, 0x1b, 0x5e, 0x86, 0x27, 0xe0, 0xc8, 0x23, 0xf0, 0x5e, 0xcc,
0xae, 0x1d, 0x14, 0x38, 0x21, 0xf5, 0x12, 0xcd, 0xf7, 0xcd, 0xdf, 0xf7, 0xcd, 0xc6, 0x30, 0xd2,
0x9b, 0x12, 0xd5, 0x1b, 0xf7, 0x7b, 0x56, 0x56, 0x52, 0x4b, 0x1e, 0x38, 0x70, 0xfc, 0xdd, 0x83,
0x4e, 0x8c, 0x5f, 0x0c, 0x2a, 0xcd, 0x5f, 0x83, 0x6f, 0xc9, 0xc8, 0x3b, 0xf2, 0x4e, 0x86, 0x13,
0x7e, 0x56, 0x97, 0x7f, 0x44, 0xa5, 0x92, 0x25, 0xde, 0x12, 0x88, 0x5d, 0x9e, 0x73, 0xf0, 0xb3,
0x44, 0x27, 0x51, 0x8b, 0xea, 0x06, 0xb1, 0x8b, 0x39, 0x83, 0xf6, 0x1a, 0x37, 0x51, 0x9b, 0xa8,
0x5e, 0x6c, 0x43, 0x3e, 0x86, 0xe0, 0x6b, 0x52, 0x18, 0x8c, 0x7c, 0xc7, 0xd5, 0x80, 0xbf, 0x05,
0xa0, 0x20, 0xa7, 0x1e, 0x59, 0xa9, 0x28, 0x38, 0x6a, 0x9f, 0xf4, 0x27, 0xac, 0xd9, 0xf4, 0x79,
0x9b, 0x88, 0x77, 0x6a, 0x8e, 0x7f, 0x79, 0xd0, 0x8d, 0x51, 0x95, 0x52, 0x28, 0x7c, 0x96, 0xc4,
0x57, 0xe0, 0xa7, 0x32, 0x43, 0xa7, 0x71, 0x38, 0xd9, 0x6f, 0x7a, 0xa7, 0x44, 0xd5, 0x8d, 0x36,
0x69, 0x55, 0x63, 0x55, 0xc9, 0x6a, 0xab, 0xda, 0x01, 0xeb, 0xae, 0x90, 0x4b, 0x92, 0xeb, 0xdc,
0x51, 0xf8, 0x8f, 0x8f, 0xf0, 0x3f, 0x7c, 0xbc, 0x87, 0xde, 0x9f, 0x04, 0x3f, 0x84, 0xb0, 0x34,
0xf7, 0x97, 0x74, 0x31, 0xcf, 0x29, 0x6c, 0x90, 0x5d, 0x5f, 0xca, 0x47, 0xac, 0x9c, 0x70, 0x3f,
0xae, 0xc1, 0xe9, 0x4f, 0x0f, 0xfa, 0x3b, 0x1e, 0xf9, 0x3e, 0xf4, 0xaf, 0x4c, 0x51, 0x34, 0x14,
0x7b, 0xc1, 0xbb, 0xe0, 0xcf, 0xd2, 0x95, 0x64, 0x1e, 0xef, 0x41, 0x70, 0x51, 0x18, 0xb5, 0x62,
0x2d, 0x4b, 0xce, 0xc5, 0x42, 0xb2, 0x36, 0xdf, 0x83, 0xde, 0x0d, 0xea, 0xeb, 0x52, 0xe7, 0x52,
0x30, 0xdf, 0xc2, 0xd9, 0x53, 0x8a, 0x35, 0x0c, 0xf8, 0x00, 0xba, 0xe7, 0x65, 0x89, 0x22, 0xbb,
0x7d, 0x62, 0x23, 0xde, 0x87, 0xce, 0x74, 0x85, 0xe9, 0x9a, 0x00, 0x5d, 0x11, 0xc2, 0xa9, 0x7c,
0x78, 0xc8, 0x35, 0x7b, 0x69, 0x27, 0x7f, 0x32, 0x58, 0x6d, 0xd8, 0x98, 0xf8, 0xe1, 0x5c, 0xe4,
0x9a, 0xec, 0x64, 0xb9, 0x33, 0xc7, 0x0e, 0x2c, 0x77, 0xb3, 0x11, 0xe9, 0x0e, 0x77, 0x78, 0xfa,
0x83, 0x9e, 0x6e, 0x7b, 0x5f, 0x1e, 0x42, 0xeb, 0xfa, 0x92, 0xb4, 0x8e, 0x60, 0x6f, 0x2e, 0x34,
0x56, 0x22, 0x29, 0x66, 0xf6, 0xb8, 0x24, 0x9a, 0xc1, 0xe0, 0x4e, 0x24, 0x46, 0xaf, 0x64, 0x95,
0x7f, 0xc3, 0x8c, 0xb4, 0x8f, 0x81, 0xcd, 0x85, 0x32, 0x8b, 0x45, 0x9e, 0xe6, 0x28, 0xf4, 0x05,
0xa2, 0x22, 0x1f, 0xb4, 0xe3, 0x4e, 0xac, 0x85, 0x7c, 0x14, 0xcd, 0x5f, 0x96, 0xcc, 0xd0, 0xb8,
0x99, 0xa0, 0xa7, 0xcb, 0xc5, 0xb2, 0x1e, 0xe7, 0x0c, 0x7d, 0x48, 0xb2, 0x2b, 0x29, 0x52, 0x64,
0xe1, 0x4e, 0xd3, 0x79, 0x9a, 0x4a, 0x23, 0x34, 0xeb, 0xf0, 0x03, 0x18, 0xfd, 0x35, 0xde, 0x88,
0x4c, 0xb1, 0xee, 0x7d, 0xe8, 0x3e, 0x8d, 0x77, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0xa5, 0x71,
0x5f, 0x3f, 0x2f, 0x03, 0x00, 0x00,
}

View File

@ -18,6 +18,8 @@ enum MessageType {
CheckTx = 0x12;
Commit = 0x13;
Query = 0x14;
InitValdiators = 0x15;
SyncValdiators = 0x16;
}
//----------------------------------------
@ -43,6 +45,7 @@ message Request {
bytes data = 2;
string key = 3;
string value = 4;
repeated Validator validators = 5;
}
//----------------------------------------
@ -54,5 +57,13 @@ message Response {
CodeType code = 3;
string error = 4;
string log = 5;
repeated Validator validators = 6;
}
//----------------------------------------
// Misc types
message Validator {
bytes pubKey = 1;
uint64 power = 2;
}