Browse Source

move genesis fields into RequestInitChain. some nullable=false

pull/1780/head
Ethan Buchman 7 years ago
parent
commit
c681347ee3
3 changed files with 190 additions and 215 deletions
  1. +1
    -2
      example/kvstore/helpers.go
  2. +178
    -198
      types/types.pb.go
  3. +11
    -15
      types/types.proto

+ 1
- 2
example/kvstore/helpers.go View File

@ -33,7 +33,6 @@ func RandVals(cnt int) []types.Validator {
// don't make any tx that modify the validator state // don't make any tx that modify the validator state
func InitKVStore(app *PersistentKVStoreApplication) { func InitKVStore(app *PersistentKVStoreApplication) {
app.InitChain(types.RequestInitChain{ app.InitChain(types.RequestInitChain{
Validators: RandVals(1),
GenesisFile: types.GenesisFile{},
Validators: RandVals(1),
}) })
} }

+ 178
- 198
types/types.pb.go View File

@ -37,7 +37,6 @@ It has these top-level messages:
BlockSize BlockSize
TxSize TxSize
BlockGossip BlockGossip
GenesisFile
Header Header
Validator Validator
SigningValidator SigningValidator
@ -533,8 +532,11 @@ func (m *RequestSetOption) GetValue() string {
} }
type RequestInitChain struct { type RequestInitChain struct {
Validators []Validator `protobuf:"bytes,1,rep,name=validators" json:"validators"`
GenesisFile GenesisFile `protobuf:"bytes,2,opt,name=genesis_file,json=genesisFile" json:"genesis_file"`
Time int64 `protobuf:"varint,1,opt,name=time,proto3" json:"time,omitempty"`
ChainId string `protobuf:"bytes,2,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
ConsensusParams *ConsensusParams `protobuf:"bytes,3,opt,name=consensus_params,json=consensusParams" json:"consensus_params,omitempty"`
Validators []Validator `protobuf:"bytes,4,rep,name=validators" json:"validators"`
AppStateBytes []byte `protobuf:"bytes,5,opt,name=app_state_bytes,json=appStateBytes,proto3" json:"app_state_bytes,omitempty"`
} }
func (m *RequestInitChain) Reset() { *m = RequestInitChain{} } func (m *RequestInitChain) Reset() { *m = RequestInitChain{} }
@ -542,6 +544,27 @@ func (m *RequestInitChain) String() string { return proto.CompactText
func (*RequestInitChain) ProtoMessage() {} func (*RequestInitChain) ProtoMessage() {}
func (*RequestInitChain) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{5} } func (*RequestInitChain) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{5} }
func (m *RequestInitChain) GetTime() int64 {
if m != nil {
return m.Time
}
return 0
}
func (m *RequestInitChain) GetChainId() string {
if m != nil {
return m.ChainId
}
return ""
}
func (m *RequestInitChain) GetConsensusParams() *ConsensusParams {
if m != nil {
return m.ConsensusParams
}
return nil
}
func (m *RequestInitChain) GetValidators() []Validator { func (m *RequestInitChain) GetValidators() []Validator {
if m != nil { if m != nil {
return m.Validators return m.Validators
@ -549,11 +572,11 @@ func (m *RequestInitChain) GetValidators() []Validator {
return nil return nil
} }
func (m *RequestInitChain) GetGenesisFile() GenesisFile {
func (m *RequestInitChain) GetAppStateBytes() []byte {
if m != nil { if m != nil {
return m.GenesisFile
return m.AppStateBytes
} }
return GenesisFile{}
return nil
} }
type RequestQuery struct { type RequestQuery struct {
@ -597,10 +620,10 @@ func (m *RequestQuery) GetProve() bool {
} }
type RequestBeginBlock struct { type RequestBeginBlock struct {
Hash []byte `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
Header Header `protobuf:"bytes,2,opt,name=header" json:"header"`
Validators []*SigningValidator `protobuf:"bytes,3,rep,name=validators" json:"validators,omitempty"`
ByzantineValidators []Evidence `protobuf:"bytes,4,rep,name=byzantine_validators,json=byzantineValidators" json:"byzantine_validators"`
Hash []byte `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
Header Header `protobuf:"bytes,2,opt,name=header" json:"header"`
Validators []SigningValidator `protobuf:"bytes,3,rep,name=validators" json:"validators"`
ByzantineValidators []Evidence `protobuf:"bytes,4,rep,name=byzantine_validators,json=byzantineValidators" json:"byzantine_validators"`
} }
func (m *RequestBeginBlock) Reset() { *m = RequestBeginBlock{} } func (m *RequestBeginBlock) Reset() { *m = RequestBeginBlock{} }
@ -622,7 +645,7 @@ func (m *RequestBeginBlock) GetHeader() Header {
return Header{} return Header{}
} }
func (m *RequestBeginBlock) GetValidators() []*SigningValidator {
func (m *RequestBeginBlock) GetValidators() []SigningValidator {
if m != nil { if m != nil {
return m.Validators return m.Validators
} }
@ -1239,7 +1262,8 @@ func (m *ResponseSetOption) GetInfo() string {
} }
type ResponseInitChain struct { type ResponseInitChain struct {
Validators []Validator `protobuf:"bytes,1,rep,name=validators" json:"validators"`
ConsensusParams *ConsensusParams `protobuf:"bytes,1,opt,name=consensus_params,json=consensusParams" json:"consensus_params,omitempty"`
Validators []Validator `protobuf:"bytes,2,rep,name=validators" json:"validators"`
} }
func (m *ResponseInitChain) Reset() { *m = ResponseInitChain{} } func (m *ResponseInitChain) Reset() { *m = ResponseInitChain{} }
@ -1247,6 +1271,13 @@ func (m *ResponseInitChain) String() string { return proto.CompactTex
func (*ResponseInitChain) ProtoMessage() {} func (*ResponseInitChain) ProtoMessage() {}
func (*ResponseInitChain) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{18} } func (*ResponseInitChain) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{18} }
func (m *ResponseInitChain) GetConsensusParams() *ConsensusParams {
if m != nil {
return m.ConsensusParams
}
return nil
}
func (m *ResponseInitChain) GetValidators() []Validator { func (m *ResponseInitChain) GetValidators() []Validator {
if m != nil { if m != nil {
return m.Validators return m.Validators
@ -1647,54 +1678,6 @@ func (m *BlockGossip) GetBlockPartSizeBytes() int32 {
return 0 return 0
} }
type GenesisFile struct {
Time int64 `protobuf:"varint,1,opt,name=time,proto3" json:"time,omitempty"`
ChainId string `protobuf:"bytes,2,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
ConsensusParams *ConsensusParams `protobuf:"bytes,3,opt,name=consensus_params,json=consensusParams" json:"consensus_params,omitempty"`
Validators []*Validator `protobuf:"bytes,4,rep,name=validators" json:"validators,omitempty"`
AppStateJson []byte `protobuf:"bytes,5,opt,name=app_state_json,json=appStateJson,proto3" json:"app_state_json,omitempty"`
}
func (m *GenesisFile) Reset() { *m = GenesisFile{} }
func (m *GenesisFile) String() string { return proto.CompactTextString(m) }
func (*GenesisFile) ProtoMessage() {}
func (*GenesisFile) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{29} }
func (m *GenesisFile) GetTime() int64 {
if m != nil {
return m.Time
}
return 0
}
func (m *GenesisFile) GetChainId() string {
if m != nil {
return m.ChainId
}
return ""
}
func (m *GenesisFile) GetConsensusParams() *ConsensusParams {
if m != nil {
return m.ConsensusParams
}
return nil
}
func (m *GenesisFile) GetValidators() []*Validator {
if m != nil {
return m.Validators
}
return nil
}
func (m *GenesisFile) GetAppStateJson() []byte {
if m != nil {
return m.AppStateJson
}
return nil
}
// just the minimum the app might need // just the minimum the app might need
type Header struct { type Header struct {
// basics // basics
@ -1708,13 +1691,13 @@ type Header struct {
LastBlockHash []byte `protobuf:"bytes,6,opt,name=last_block_hash,json=lastBlockHash,proto3" json:"last_block_hash,omitempty"` LastBlockHash []byte `protobuf:"bytes,6,opt,name=last_block_hash,json=lastBlockHash,proto3" json:"last_block_hash,omitempty"`
AppHash []byte `protobuf:"bytes,7,opt,name=app_hash,json=appHash,proto3" json:"app_hash,omitempty"` AppHash []byte `protobuf:"bytes,7,opt,name=app_hash,json=appHash,proto3" json:"app_hash,omitempty"`
// consensus // consensus
Proposer *Validator `protobuf:"bytes,8,opt,name=proposer" json:"proposer,omitempty"`
Proposer Validator `protobuf:"bytes,8,opt,name=proposer" json:"proposer"`
} }
func (m *Header) Reset() { *m = Header{} } func (m *Header) Reset() { *m = Header{} }
func (m *Header) String() string { return proto.CompactTextString(m) } func (m *Header) String() string { return proto.CompactTextString(m) }
func (*Header) ProtoMessage() {} func (*Header) ProtoMessage() {}
func (*Header) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{30} }
func (*Header) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{29} }
func (m *Header) GetChainID() string { func (m *Header) GetChainID() string {
if m != nil { if m != nil {
@ -1765,11 +1748,11 @@ func (m *Header) GetAppHash() []byte {
return nil return nil
} }
func (m *Header) GetProposer() *Validator {
func (m *Header) GetProposer() Validator {
if m != nil { if m != nil {
return m.Proposer return m.Proposer
} }
return nil
return Validator{}
} }
// Validator // Validator
@ -1782,7 +1765,7 @@ type Validator struct {
func (m *Validator) Reset() { *m = Validator{} } func (m *Validator) Reset() { *m = Validator{} }
func (m *Validator) String() string { return proto.CompactTextString(m) } func (m *Validator) String() string { return proto.CompactTextString(m) }
func (*Validator) ProtoMessage() {} func (*Validator) ProtoMessage() {}
func (*Validator) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{31} }
func (*Validator) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{30} }
func (m *Validator) GetAddress() []byte { func (m *Validator) GetAddress() []byte {
if m != nil { if m != nil {
@ -1807,20 +1790,20 @@ func (m *Validator) GetPower() int64 {
// Validator with an extra bool // Validator with an extra bool
type SigningValidator struct { type SigningValidator struct {
Validator *Validator `protobuf:"bytes,1,opt,name=validator" json:"validator,omitempty"`
SignedLastBlock bool `protobuf:"varint,2,opt,name=signed_last_block,json=signedLastBlock,proto3" json:"signed_last_block,omitempty"`
Validator Validator `protobuf:"bytes,1,opt,name=validator" json:"validator"`
SignedLastBlock bool `protobuf:"varint,2,opt,name=signed_last_block,json=signedLastBlock,proto3" json:"signed_last_block,omitempty"`
} }
func (m *SigningValidator) Reset() { *m = SigningValidator{} } func (m *SigningValidator) Reset() { *m = SigningValidator{} }
func (m *SigningValidator) String() string { return proto.CompactTextString(m) } func (m *SigningValidator) String() string { return proto.CompactTextString(m) }
func (*SigningValidator) ProtoMessage() {} func (*SigningValidator) ProtoMessage() {}
func (*SigningValidator) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{32} }
func (*SigningValidator) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{31} }
func (m *SigningValidator) GetValidator() *Validator {
func (m *SigningValidator) GetValidator() Validator {
if m != nil { if m != nil {
return m.Validator return m.Validator
} }
return nil
return Validator{}
} }
func (m *SigningValidator) GetSignedLastBlock() bool { func (m *SigningValidator) GetSignedLastBlock() bool {
@ -1838,7 +1821,7 @@ type PubKey struct {
func (m *PubKey) Reset() { *m = PubKey{} } func (m *PubKey) Reset() { *m = PubKey{} }
func (m *PubKey) String() string { return proto.CompactTextString(m) } func (m *PubKey) String() string { return proto.CompactTextString(m) }
func (*PubKey) ProtoMessage() {} func (*PubKey) ProtoMessage() {}
func (*PubKey) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{33} }
func (*PubKey) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{32} }
func (m *PubKey) GetType() string { func (m *PubKey) GetType() string {
if m != nil { if m != nil {
@ -1855,17 +1838,17 @@ func (m *PubKey) GetData() []byte {
} }
type Evidence struct { type Evidence struct {
Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
Validator *Validator `protobuf:"bytes,2,opt,name=validator" json:"validator,omitempty"`
Height int64 `protobuf:"varint,3,opt,name=height,proto3" json:"height,omitempty"`
Time int64 `protobuf:"varint,4,opt,name=time,proto3" json:"time,omitempty"`
TotalVotingPower int64 `protobuf:"varint,5,opt,name=total_voting_power,json=totalVotingPower,proto3" json:"total_voting_power,omitempty"`
Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
Validator Validator `protobuf:"bytes,2,opt,name=validator" json:"validator"`
Height int64 `protobuf:"varint,3,opt,name=height,proto3" json:"height,omitempty"`
Time int64 `protobuf:"varint,4,opt,name=time,proto3" json:"time,omitempty"`
TotalVotingPower int64 `protobuf:"varint,5,opt,name=total_voting_power,json=totalVotingPower,proto3" json:"total_voting_power,omitempty"`
} }
func (m *Evidence) Reset() { *m = Evidence{} } func (m *Evidence) Reset() { *m = Evidence{} }
func (m *Evidence) String() string { return proto.CompactTextString(m) } func (m *Evidence) String() string { return proto.CompactTextString(m) }
func (*Evidence) ProtoMessage() {} func (*Evidence) ProtoMessage() {}
func (*Evidence) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{34} }
func (*Evidence) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{33} }
func (m *Evidence) GetType() string { func (m *Evidence) GetType() string {
if m != nil { if m != nil {
@ -1874,11 +1857,11 @@ func (m *Evidence) GetType() string {
return "" return ""
} }
func (m *Evidence) GetValidator() *Validator {
func (m *Evidence) GetValidator() Validator {
if m != nil { if m != nil {
return m.Validator return m.Validator
} }
return nil
return Validator{}
} }
func (m *Evidence) GetHeight() int64 { func (m *Evidence) GetHeight() int64 {
@ -1932,7 +1915,6 @@ func init() {
proto.RegisterType((*BlockSize)(nil), "types.BlockSize") proto.RegisterType((*BlockSize)(nil), "types.BlockSize")
proto.RegisterType((*TxSize)(nil), "types.TxSize") proto.RegisterType((*TxSize)(nil), "types.TxSize")
proto.RegisterType((*BlockGossip)(nil), "types.BlockGossip") proto.RegisterType((*BlockGossip)(nil), "types.BlockGossip")
proto.RegisterType((*GenesisFile)(nil), "types.GenesisFile")
proto.RegisterType((*Header)(nil), "types.Header") proto.RegisterType((*Header)(nil), "types.Header")
proto.RegisterType((*Validator)(nil), "types.Validator") proto.RegisterType((*Validator)(nil), "types.Validator")
proto.RegisterType((*SigningValidator)(nil), "types.SigningValidator") proto.RegisterType((*SigningValidator)(nil), "types.SigningValidator")
@ -2345,122 +2327,120 @@ var _ABCIApplication_serviceDesc = grpc.ServiceDesc{
func init() { proto.RegisterFile("types/types.proto", fileDescriptorTypes) } func init() { proto.RegisterFile("types/types.proto", fileDescriptorTypes) }
var fileDescriptorTypes = []byte{ var fileDescriptorTypes = []byte{
// 1864 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0xcd, 0x72, 0x1b, 0xc7,
0x11, 0x26, 0xfe, 0xb1, 0x0d, 0x8a, 0x80, 0x86, 0x92, 0x08, 0xc1, 0x95, 0x92, 0x6a, 0xcb, 0xa5,
0x50, 0x31, 0x4d, 0x38, 0x74, 0xa4, 0x48, 0x56, 0xca, 0x15, 0x92, 0x96, 0x05, 0x46, 0xf9, 0x61,
0x56, 0xb2, 0x52, 0x95, 0xcb, 0xd6, 0x00, 0x3b, 0x5c, 0x4c, 0x04, 0xec, 0xae, 0x77, 0x06, 0x34,
0xa0, 0x5b, 0x2a, 0x87, 0x5c, 0x7c, 0xcf, 0x39, 0xb7, 0xbc, 0x40, 0x5e, 0x21, 0x95, 0x37, 0xc8,
0x4d, 0x87, 0xe4, 0x96, 0x97, 0x48, 0x6a, 0x7a, 0xf6, 0x9f, 0xbb, 0xb1, 0xa3, 0x1c, 0x73, 0x21,
0xa7, 0xb7, 0xbb, 0x07, 0xd3, 0x3d, 0xdd, 0x5f, 0x77, 0x0f, 0x5c, 0x97, 0x9b, 0x80, 0x89, 0x31,
0xfe, 0x3d, 0x0c, 0x42, 0x5f, 0xfa, 0xa4, 0x85, 0xc4, 0xe8, 0x43, 0x97, 0xcb, 0xf9, 0x6a, 0x7a,
0x38, 0xf3, 0x97, 0x63, 0xd7, 0x77, 0xfd, 0x31, 0x72, 0xa7, 0xab, 0x0b, 0xa4, 0x90, 0xc0, 0x95,
0xd6, 0x1a, 0x8d, 0x33, 0xe2, 0x92, 0x79, 0x0e, 0x0b, 0x97, 0xdc, 0x93, 0x63, 0xb9, 0x5c, 0xf0,
0xa9, 0x18, 0xcf, 0xfc, 0xe5, 0xd2, 0xf7, 0xb2, 0x3f, 0x63, 0xfe, 0xa5, 0x09, 0x1d, 0x8b, 0x7d,
0xb9, 0x62, 0x42, 0x92, 0x7d, 0x68, 0xb2, 0xd9, 0xdc, 0x1f, 0xd6, 0xef, 0xd6, 0xf6, 0x7b, 0x47,
0xe4, 0x50, 0xcb, 0x45, 0xdc, 0xa7, 0xb3, 0xb9, 0x3f, 0xd9, 0xb2, 0x50, 0x82, 0x7c, 0x00, 0xad,
0x8b, 0xc5, 0x4a, 0xcc, 0x87, 0x0d, 0x14, 0xdd, 0xcd, 0x8b, 0x7e, 0xae, 0x58, 0x93, 0x2d, 0x4b,
0xcb, 0xa8, 0x6d, 0xb9, 0x77, 0xe1, 0x0f, 0x9b, 0x65, 0xdb, 0x9e, 0x79, 0x17, 0xb8, 0xad, 0x92,
0x20, 0x8f, 0x00, 0x04, 0x93, 0xb6, 0x1f, 0x48, 0xee, 0x7b, 0xc3, 0x16, 0xca, 0xef, 0xe5, 0xe5,
0x5f, 0x30, 0xf9, 0x0b, 0x64, 0x4f, 0xb6, 0x2c, 0x43, 0xc4, 0x84, 0xd2, 0xe4, 0x1e, 0x97, 0xf6,
0x6c, 0x4e, 0xb9, 0x37, 0x6c, 0x97, 0x69, 0x9e, 0x79, 0x5c, 0x9e, 0x2a, 0xb6, 0xd2, 0xe4, 0x31,
0xa1, 0x4c, 0xf9, 0x72, 0xc5, 0xc2, 0xcd, 0xb0, 0x53, 0x66, 0xca, 0x2f, 0x15, 0x4b, 0x99, 0x82,
0x32, 0xe4, 0x09, 0xf4, 0xa6, 0xcc, 0xe5, 0x9e, 0x3d, 0x5d, 0xf8, 0xb3, 0xd7, 0xc3, 0x2e, 0xaa,
0x0c, 0xf3, 0x2a, 0x27, 0x4a, 0xe0, 0x44, 0xf1, 0x27, 0x5b, 0x16, 0x4c, 0x13, 0x8a, 0x1c, 0x41,
0x77, 0x36, 0x67, 0xb3, 0xd7, 0xb6, 0x5c, 0x0f, 0x0d, 0xd4, 0xbc, 0x99, 0xd7, 0x3c, 0x55, 0xdc,
0x97, 0xeb, 0xc9, 0x96, 0xd5, 0x99, 0xe9, 0xa5, 0xb2, 0xcb, 0x61, 0x0b, 0x7e, 0xc9, 0x42, 0xa5,
0xb5, 0x5b, 0x66, 0xd7, 0x67, 0x9a, 0x8f, 0x7a, 0x86, 0x13, 0x13, 0xe4, 0x01, 0x18, 0xcc, 0x73,
0xa2, 0x83, 0xf6, 0x50, 0xf1, 0x56, 0xe1, 0x46, 0x3d, 0x27, 0x3e, 0x66, 0x97, 0x45, 0x6b, 0x72,
0x08, 0x6d, 0x15, 0x25, 0x5c, 0x0e, 0xb7, 0x51, 0xe7, 0x46, 0xe1, 0x88, 0xc8, 0x9b, 0x6c, 0x59,
0x91, 0xd4, 0x49, 0x07, 0x5a, 0x97, 0x74, 0xb1, 0x62, 0xe6, 0x77, 0xa1, 0x97, 0x89, 0x14, 0x32,
0x84, 0xce, 0x92, 0x09, 0x41, 0x5d, 0x36, 0xac, 0xdd, 0xad, 0xed, 0x1b, 0x56, 0x4c, 0x9a, 0x3b,
0xb0, 0x9d, 0x8d, 0x93, 0x8c, 0xa2, 0x8a, 0x05, 0xa5, 0x78, 0xc9, 0x42, 0xa1, 0x02, 0x20, 0x52,
0x8c, 0x48, 0xf3, 0x13, 0x18, 0x14, 0x83, 0x80, 0x0c, 0xa0, 0xf1, 0x9a, 0x6d, 0x22, 0x49, 0xb5,
0x24, 0x37, 0xa2, 0x03, 0x61, 0x14, 0x1b, 0x56, 0x74, 0xba, 0xdf, 0xd7, 0x12, 0xe5, 0x24, 0x0e,
0xc8, 0x43, 0x80, 0x4b, 0xba, 0xe0, 0x0e, 0x95, 0x7e, 0x28, 0x86, 0xb5, 0xbb, 0x8d, 0xfd, 0xde,
0xd1, 0x20, 0xb2, 0xf7, 0x55, 0xcc, 0x38, 0x69, 0xfe, 0xf5, 0xed, 0x9d, 0x2d, 0x2b, 0x23, 0x49,
0x9e, 0xc0, 0xb6, 0xcb, 0x3c, 0x26, 0xb8, 0xb0, 0x2f, 0xf8, 0x82, 0x15, 0xf2, 0xe5, 0x99, 0x66,
0x7d, 0xce, 0x17, 0x2c, 0xd2, 0xed, 0xb9, 0xe9, 0x27, 0xd3, 0x49, 0xcc, 0xc7, 0xd8, 0x22, 0x04,
0x9a, 0x0e, 0x95, 0x14, 0x4d, 0xd8, 0xb6, 0x70, 0xad, 0xbe, 0x05, 0x54, 0xce, 0x23, 0x13, 0x70,
0x4d, 0x6e, 0x41, 0x7b, 0xce, 0xb8, 0x3b, 0x97, 0x98, 0x73, 0x0d, 0x2b, 0xa2, 0x94, 0xbd, 0x41,
0xe8, 0x5f, 0x32, 0x4c, 0xaf, 0xae, 0xa5, 0x09, 0xf3, 0x6f, 0x35, 0xb8, 0x7e, 0x25, 0x1e, 0xd5,
0xbe, 0x73, 0x2a, 0xe6, 0xf1, 0x6f, 0xa9, 0x35, 0xf9, 0x40, 0xed, 0x4b, 0x1d, 0x16, 0x46, 0x66,
0x5c, 0x8b, 0xcc, 0x98, 0xe0, 0xc7, 0xc8, 0x82, 0x48, 0x84, 0xfc, 0x30, 0xe7, 0xb1, 0x06, 0x7a,
0x2c, 0x0e, 0xc7, 0x17, 0xdc, 0xf5, 0xb8, 0xe7, 0x26, 0x8e, 0xcb, 0xb9, 0x6c, 0x02, 0x37, 0xa6,
0x9b, 0x37, 0xd4, 0x93, 0xdc, 0x63, 0x76, 0x66, 0x8b, 0x26, 0x6e, 0xd1, 0x8f, 0xb6, 0x78, 0x7a,
0xc9, 0x1d, 0xe6, 0xcd, 0x62, 0xbf, 0xed, 0x26, 0x2a, 0xc9, 0xa6, 0xc2, 0xbc, 0x0b, 0x3b, 0xf9,
0x74, 0x21, 0x3b, 0x50, 0x97, 0xeb, 0xc8, 0xa6, 0xba, 0x5c, 0x9b, 0x66, 0x72, 0xd5, 0x49, 0x6a,
0x5c, 0x91, 0xb9, 0x0f, 0xfd, 0x42, 0x16, 0x64, 0x1c, 0x5c, 0xcb, 0x3a, 0xd8, 0xec, 0xc3, 0xb5,
0x5c, 0xf0, 0x9b, 0x5f, 0xb7, 0xa0, 0x6b, 0x31, 0x11, 0xf8, 0x9e, 0x60, 0xe4, 0x11, 0x18, 0x6c,
0x3d, 0x63, 0x1a, 0xb1, 0x6a, 0x05, 0x3c, 0xd0, 0x32, 0x4f, 0x63, 0xbe, 0x4a, 0xd0, 0x44, 0x98,
0xdc, 0xcf, 0xa1, 0xed, 0x6e, 0x51, 0x29, 0x0b, 0xb7, 0x07, 0x79, 0xb8, 0xbd, 0x51, 0x90, 0x2d,
0xe0, 0xed, 0xfd, 0x1c, 0xde, 0x16, 0x37, 0xce, 0x01, 0xee, 0xe3, 0x12, 0xc0, 0x2d, 0x1e, 0xbf,
0x02, 0x71, 0x1f, 0x97, 0x20, 0xee, 0xf0, 0xca, 0x6f, 0x95, 0x42, 0xee, 0x41, 0x1e, 0x72, 0x8b,
0xe6, 0x14, 0x30, 0xf7, 0x47, 0x65, 0x98, 0x7b, 0xbb, 0xa0, 0x53, 0x09, 0xba, 0x1f, 0x5f, 0x01,
0xdd, 0x5b, 0x05, 0xd5, 0x12, 0xd4, 0x7d, 0x9c, 0x43, 0x5d, 0x28, 0xb5, 0xad, 0x02, 0x76, 0x1f,
0x5e, 0x85, 0xdd, 0xbd, 0xe2, 0xd5, 0x96, 0xe1, 0xee, 0xb8, 0x80, 0xbb, 0x37, 0x8b, 0xa7, 0xac,
0x04, 0xde, 0xfb, 0x2a, 0xd3, 0x0b, 0x91, 0xa6, 0x50, 0x81, 0x85, 0xa1, 0x1f, 0x46, 0xc8, 0xa8,
0x09, 0x73, 0x5f, 0x61, 0x4f, 0x1a, 0x5f, 0xff, 0x01, 0xa4, 0x31, 0xe8, 0x33, 0xd1, 0x65, 0xfe,
0xa1, 0x96, 0xea, 0x22, 0x4e, 0x67, 0x71, 0xcb, 0x88, 0x70, 0x2b, 0x83, 0xdd, 0xf5, 0x1c, 0x76,
0x93, 0xef, 0xc1, 0xf5, 0x05, 0x15, 0x52, 0xfb, 0xc5, 0xce, 0x01, 0x59, 0x5f, 0x31, 0xb4, 0x43,
0x34, 0xa2, 0x7d, 0x08, 0xbb, 0x19, 0x59, 0x1a, 0x04, 0x36, 0x82, 0x56, 0x13, 0x93, 0x77, 0x90,
0x48, 0x1f, 0x07, 0xc1, 0x84, 0x8a, 0xb9, 0xf9, 0xb3, 0xd4, 0xfe, 0xb4, 0x2e, 0x10, 0x68, 0xce,
0x7c, 0x47, 0x9b, 0x75, 0xcd, 0xc2, 0xb5, 0xaa, 0x15, 0x0b, 0xdf, 0xc5, 0x5f, 0x35, 0x2c, 0xb5,
0x54, 0x52, 0x49, 0xa6, 0x18, 0x3a, 0x25, 0xcc, 0xe7, 0xe9, 0x76, 0xff, 0x73, 0xa5, 0x30, 0xff,
0x5c, 0x4b, 0xfd, 0x98, 0xc0, 0xfd, 0xbb, 0x1d, 0x4c, 0x5d, 0x29, 0xf7, 0x1c, 0xb6, 0xc6, 0x34,
0x6d, 0x58, 0x9a, 0x88, 0x0b, 0x60, 0x1b, 0x9d, 0x93, 0x2f, 0x80, 0x1d, 0xfc, 0xa6, 0x89, 0xa8,
0x4c, 0xf8, 0x17, 0x98, 0x3f, 0xdb, 0x96, 0x26, 0x32, 0x98, 0x67, 0xe4, 0x30, 0xef, 0x1c, 0xc8,
0xd5, 0xcc, 0x22, 0x9f, 0x40, 0x53, 0x52, 0x37, 0xb6, 0x7f, 0xe7, 0x50, 0xb7, 0x93, 0x87, 0xcf,
0x5f, 0x9d, 0x53, 0x1e, 0x9e, 0xdc, 0x52, 0xd6, 0xff, 0xf3, 0xed, 0x9d, 0x1d, 0x25, 0x73, 0xe0,
0x2f, 0xb9, 0x64, 0xcb, 0x40, 0x6e, 0x2c, 0xd4, 0x31, 0xff, 0x55, 0x53, 0x88, 0x9b, 0xcb, 0xb8,
0x52, 0x5f, 0xc4, 0x61, 0x55, 0xcf, 0x94, 0xc3, 0x6f, 0xe7, 0x9f, 0xef, 0x00, 0xb8, 0x54, 0xd8,
0x5f, 0x51, 0x4f, 0x32, 0x27, 0x72, 0x92, 0xe1, 0x52, 0xf1, 0x2b, 0xfc, 0x40, 0x6e, 0x43, 0x57,
0xb1, 0x57, 0x82, 0x39, 0xe8, 0xad, 0x86, 0xd5, 0x71, 0xa9, 0xf8, 0x42, 0x30, 0x27, 0xb1, 0xab,
0xf3, 0xdf, 0xdb, 0x45, 0xf6, 0xa1, 0x71, 0xc1, 0x58, 0x84, 0x4a, 0x83, 0x44, 0xf5, 0xec, 0xe1,
0x0f, 0x50, 0x59, 0x87, 0x84, 0x12, 0x31, 0x7f, 0x5b, 0x4f, 0x23, 0x2b, 0x2d, 0x4c, 0xff, 0x5f,
0x3e, 0xf8, 0x07, 0xb6, 0x61, 0x79, 0x18, 0x24, 0xa7, 0x70, 0x3d, 0x49, 0x19, 0x7b, 0x15, 0x38,
0x54, 0xb2, 0x6f, 0xca, 0xb1, 0x41, 0xa2, 0xf0, 0x85, 0x96, 0x27, 0x3f, 0x87, 0xbd, 0x99, 0xda,
0xd5, 0x13, 0x2b, 0x61, 0x07, 0x34, 0xa4, 0xcb, 0x64, 0xab, 0x7a, 0x0e, 0xf6, 0x4f, 0x63, 0xa9,
0x73, 0x25, 0x24, 0xac, 0x9b, 0xb3, 0xdc, 0x87, 0x78, 0xbf, 0xd8, 0x1f, 0x8d, 0x77, 0x88, 0xf5,
0xf7, 0x55, 0x8b, 0x92, 0x85, 0xed, 0xb2, 0x1b, 0x35, 0xff, 0x58, 0x83, 0x7e, 0xe1, 0x30, 0x64,
0x0c, 0xa0, 0x51, 0x4f, 0xf0, 0x37, 0x2c, 0x6a, 0x27, 0x62, 0x1f, 0xa0, 0xb3, 0x5e, 0xf0, 0x37,
0xcc, 0x32, 0xa6, 0xf1, 0x92, 0xdc, 0x83, 0x8e, 0x5c, 0x6b, 0xe9, 0x7c, 0xfb, 0xf6, 0x72, 0x8d,
0xa2, 0x6d, 0x89, 0xff, 0xc9, 0x03, 0xd8, 0xd6, 0x1b, 0xbb, 0xbe, 0x10, 0x3c, 0x88, 0x1a, 0x09,
0x92, 0xdd, 0xfa, 0x19, 0x72, 0xac, 0xde, 0x34, 0x25, 0xcc, 0x5f, 0x83, 0x91, 0xfc, 0x2c, 0x79,
0x0f, 0x8c, 0x25, 0x5d, 0xdb, 0xd3, 0x8d, 0xbe, 0x9f, 0xda, 0x7e, 0xcb, 0xea, 0x2e, 0xe9, 0xfa,
0x44, 0xd1, 0x64, 0x0f, 0x3a, 0x8a, 0x29, 0xd7, 0xda, 0xdf, 0x2d, 0xab, 0xbd, 0xa4, 0xeb, 0x97,
0xeb, 0x84, 0xe1, 0x52, 0x11, 0x37, 0xae, 0x4b, 0xba, 0x7e, 0x46, 0x85, 0xf9, 0x29, 0xb4, 0xf5,
0x21, 0xbf, 0xd5, 0xc6, 0x4a, 0xbf, 0x9e, 0xd3, 0xff, 0x31, 0xf4, 0x32, 0xe7, 0x26, 0xdf, 0x87,
0x9b, 0xda, 0xc2, 0x80, 0x86, 0x12, 0x3d, 0x92, 0xdb, 0x90, 0x20, 0xf3, 0x9c, 0x86, 0x52, 0xfd,
0x24, 0x6e, 0xad, 0x9a, 0xe4, 0x5e, 0xa6, 0x5b, 0x57, 0xb7, 0x24, 0xf9, 0x92, 0x45, 0xfd, 0x1f,
0xae, 0x55, 0xca, 0x60, 0x87, 0x63, 0x73, 0x27, 0xae, 0x69, 0x48, 0x9f, 0x39, 0xe4, 0x18, 0x06,
0x85, 0x90, 0x13, 0x91, 0x5f, 0xab, 0x62, 0xad, 0x3f, 0x2b, 0xdc, 0xf7, 0x47, 0xb9, 0xba, 0xd2,
0x2c, 0x8f, 0xf9, 0x5c, 0x23, 0xfd, 0x3e, 0xec, 0xa8, 0x8a, 0x28, 0x24, 0x95, 0xcc, 0xfe, 0x8d,
0x88, 0xba, 0xb6, 0x6d, 0x6b, 0x9b, 0x06, 0xc1, 0x0b, 0xf5, 0xf1, 0x27, 0xc2, 0xf7, 0xcc, 0xdf,
0xd5, 0xa1, 0xad, 0x1b, 0x78, 0x72, 0x2f, 0x63, 0x00, 0xd6, 0xea, 0x93, 0xde, 0xdf, 0xdf, 0xde,
0xe9, 0x60, 0x5d, 0x3b, 0xfb, 0x2c, 0xb5, 0x26, 0x2d, 0x05, 0xf5, 0xdc, 0x7c, 0x11, 0x3b, 0xa5,
0x91, 0x71, 0xca, 0x1e, 0x74, 0xbc, 0xd5, 0x12, 0x2f, 0xbb, 0xa9, 0x2f, 0xdb, 0x5b, 0x2d, 0xd5,
0x65, 0xbf, 0x07, 0x86, 0xf4, 0x25, 0x5d, 0x20, 0x4b, 0xc3, 0x4f, 0x17, 0x3f, 0x28, 0xe6, 0x3d,
0xe8, 0x67, 0x7b, 0x00, 0x55, 0xd3, 0x75, 0xd9, 0xba, 0x96, 0x76, 0x00, 0x6a, 0x22, 0xb9, 0x0d,
0xdd, 0xa4, 0xe8, 0xeb, 0x1a, 0xd6, 0xa1, 0xba, 0xd6, 0x93, 0x03, 0xe8, 0x06, 0xa1, 0x1f, 0xf8,
0x82, 0x85, 0x09, 0xdc, 0x14, 0xbd, 0x95, 0x48, 0x98, 0x1c, 0x8c, 0xe4, 0xb3, 0xea, 0x4d, 0xa8,
0xe3, 0x84, 0x4c, 0x88, 0x68, 0x0c, 0x88, 0x49, 0x72, 0x00, 0x9d, 0x60, 0x35, 0xb5, 0x55, 0x19,
0xcd, 0xe7, 0xd0, 0xf9, 0x6a, 0xfa, 0x9c, 0x6d, 0xe2, 0x11, 0x28, 0x40, 0x0a, 0x0b, 0xa9, 0xff,
0x15, 0x0b, 0x23, 0x87, 0x68, 0xc2, 0xf4, 0x60, 0x50, 0x9c, 0x7f, 0xc8, 0x21, 0x18, 0xc9, 0xc5,
0x15, 0x72, 0x39, 0x3d, 0x6d, 0x2a, 0xa2, 0x7a, 0x24, 0xc1, 0x5d, 0x8f, 0x39, 0x76, 0xea, 0x26,
0x3c, 0x51, 0xd7, 0xea, 0x6b, 0xc6, 0x4f, 0x63, 0x3f, 0x99, 0x1f, 0x41, 0x5b, 0x9f, 0x0e, 0xef,
0x67, 0x13, 0xc4, 0x0d, 0x1c, 0xae, 0x4b, 0xe1, 0xe6, 0x4f, 0x35, 0xe8, 0xc6, 0xf3, 0x55, 0xa9,
0x52, 0xee, 0xb8, 0xf5, 0x6f, 0x3e, 0x6e, 0xd5, 0x40, 0x1a, 0x07, 0x4c, 0x33, 0x13, 0x30, 0x07,
0x40, 0x74, 0x5c, 0x5c, 0xfa, 0x92, 0x7b, 0xae, 0xad, 0x3d, 0xa8, 0x03, 0x64, 0x80, 0x9c, 0x57,
0xc8, 0x38, 0x57, 0xdf, 0x8f, 0xbe, 0x6e, 0x41, 0xff, 0xf8, 0xe4, 0xf4, 0xec, 0x38, 0x08, 0x16,
0x7c, 0x46, 0xb1, 0xa1, 0x1b, 0x43, 0x13, 0x5b, 0xd6, 0x92, 0x57, 0xa9, 0x51, 0xd9, 0xec, 0x44,
0x8e, 0xa0, 0x85, 0x9d, 0x2b, 0x29, 0x7b, 0x9c, 0x1a, 0x95, 0x8e, 0x50, 0xea, 0x47, 0x74, 0x6f,
0x7b, 0xf5, 0x8d, 0x6a, 0x54, 0x36, 0x47, 0x91, 0x4f, 0xc1, 0x48, 0x7b, 0xce, 0xaa, 0x97, 0xaa,
0x51, 0xe5, 0x44, 0xa5, 0xf4, 0xd3, 0x56, 0xa0, 0xea, 0x5d, 0x67, 0x54, 0x39, 0x7a, 0x90, 0x47,
0xd0, 0x89, 0x9b, 0xa9, 0xf2, 0xb7, 0xa4, 0x51, 0xc5, 0xb4, 0xa3, 0xdc, 0xa3, 0x1b, 0xd2, 0xb2,
0x07, 0xaf, 0x51, 0xe9, 0x48, 0x46, 0x1e, 0x40, 0x3b, 0xaa, 0x67, 0xa5, 0xaf, 0x42, 0xa3, 0xf2,
0x99, 0x45, 0x19, 0x99, 0x76, 0xd2, 0x55, 0x8f, 0x72, 0xa3, 0xca, 0xd9, 0x91, 0x1c, 0x03, 0x64,
0x9a, 0xd0, 0xca, 0xd7, 0xb6, 0x51, 0xf5, 0x4c, 0x48, 0x9e, 0x40, 0x37, 0x9d, 0xf3, 0xcb, 0x5f,
0xc1, 0x46, 0x55, 0x63, 0xda, 0xb4, 0x8d, 0x2f, 0xa5, 0x1f, 0xff, 0x3b, 0x00, 0x00, 0xff, 0xff,
0x7a, 0x20, 0xd7, 0x6b, 0xa5, 0x15, 0x00, 0x00,
// 1832 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0x4b, 0x6f, 0x1b, 0xc9,
0x11, 0x16, 0xdf, 0x9c, 0xd2, 0x83, 0x74, 0xcb, 0xb6, 0x68, 0x2e, 0x02, 0x1b, 0x83, 0xc0, 0x91,
0xb3, 0x5a, 0x31, 0xd1, 0xae, 0x0d, 0x7b, 0x37, 0x59, 0x44, 0xd2, 0x3a, 0x4b, 0x61, 0xf3, 0x50,
0xc6, 0x5e, 0x07, 0xc8, 0x85, 0x68, 0x72, 0x5a, 0xc3, 0x81, 0x39, 0x8f, 0x9d, 0x6e, 0x6a, 0x29,
0xdf, 0x72, 0x0c, 0xb0, 0xc8, 0x35, 0xe7, 0xfc, 0x81, 0xdc, 0xf2, 0x17, 0x82, 0xfc, 0x89, 0xf8,
0x90, 0xe4, 0x94, 0x3f, 0x91, 0xa0, 0xaa, 0xe7, 0xad, 0xa1, 0xa1, 0x6c, 0x8e, 0xb9, 0x48, 0x5d,
0x5d, 0x55, 0x3d, 0x5d, 0xc5, 0xaa, 0xaf, 0xaa, 0x1a, 0x6e, 0xa9, 0xab, 0x50, 0xc8, 0x11, 0xfd,
0x3d, 0x0c, 0xa3, 0x40, 0x05, 0xac, 0x45, 0xc4, 0xf0, 0x03, 0xc7, 0x55, 0xf3, 0xe5, 0xf4, 0x70,
0x16, 0x78, 0x23, 0x27, 0x70, 0x82, 0x11, 0x71, 0xa7, 0xcb, 0x0b, 0xa2, 0x88, 0xa0, 0x95, 0xd6,
0x1a, 0x8e, 0x72, 0xe2, 0x4a, 0xf8, 0xb6, 0x88, 0x3c, 0xd7, 0x57, 0x23, 0xe5, 0x2d, 0xdc, 0xa9,
0x1c, 0xcd, 0x02, 0xcf, 0x0b, 0xfc, 0xfc, 0x67, 0xcc, 0xbf, 0x34, 0xa1, 0x63, 0x89, 0xaf, 0x96,
0x42, 0x2a, 0xb6, 0x0f, 0x4d, 0x31, 0x9b, 0x07, 0x83, 0xfa, 0x83, 0xda, 0xfe, 0xe6, 0x11, 0x3b,
0xd4, 0x72, 0x31, 0xf7, 0xf9, 0x6c, 0x1e, 0x8c, 0x37, 0x2c, 0x92, 0x60, 0xef, 0x43, 0xeb, 0x62,
0xb1, 0x94, 0xf3, 0x41, 0x83, 0x44, 0x77, 0x8b, 0xa2, 0x3f, 0x45, 0xd6, 0x78, 0xc3, 0xd2, 0x32,
0x78, 0xac, 0xeb, 0x5f, 0x04, 0x83, 0x66, 0xd5, 0xb1, 0x67, 0xfe, 0x05, 0x1d, 0x8b, 0x12, 0xec,
0x29, 0x80, 0x14, 0x6a, 0x12, 0x84, 0xca, 0x0d, 0xfc, 0x41, 0x8b, 0xe4, 0xf7, 0x8a, 0xf2, 0x2f,
0x84, 0xfa, 0x25, 0xb1, 0xc7, 0x1b, 0x96, 0x21, 0x13, 0x02, 0x35, 0x5d, 0xdf, 0x55, 0x93, 0xd9,
0x9c, 0xbb, 0xfe, 0xa0, 0x5d, 0xa5, 0x79, 0xe6, 0xbb, 0xea, 0x14, 0xd9, 0xa8, 0xe9, 0x26, 0x04,
0x9a, 0xf2, 0xd5, 0x52, 0x44, 0x57, 0x83, 0x4e, 0x95, 0x29, 0xbf, 0x42, 0x16, 0x9a, 0x42, 0x32,
0xec, 0x13, 0xd8, 0x9c, 0x0a, 0xc7, 0xf5, 0x27, 0xd3, 0x45, 0x30, 0x7b, 0x3d, 0xe8, 0x92, 0xca,
0xa0, 0xa8, 0x72, 0x82, 0x02, 0x27, 0xc8, 0x1f, 0x6f, 0x58, 0x30, 0x4d, 0x29, 0x76, 0x04, 0xdd,
0xd9, 0x5c, 0xcc, 0x5e, 0x4f, 0xd4, 0x6a, 0x60, 0x90, 0xe6, 0x9d, 0xa2, 0xe6, 0x29, 0x72, 0x5f,
0xae, 0xc6, 0x1b, 0x56, 0x67, 0xa6, 0x97, 0x68, 0x97, 0x2d, 0x16, 0xee, 0xa5, 0x88, 0x50, 0x6b,
0xb7, 0xca, 0xae, 0xcf, 0x34, 0x9f, 0xf4, 0x0c, 0x3b, 0x21, 0xd8, 0x63, 0x30, 0x84, 0x6f, 0xc7,
0x17, 0xdd, 0x24, 0xc5, 0xbb, 0xa5, 0x5f, 0xd4, 0xb7, 0x93, 0x6b, 0x76, 0x45, 0xbc, 0x66, 0x87,
0xd0, 0xc6, 0x28, 0x71, 0xd5, 0x60, 0x8b, 0x74, 0x6e, 0x97, 0xae, 0x48, 0xbc, 0xf1, 0x86, 0x15,
0x4b, 0x9d, 0x74, 0xa0, 0x75, 0xc9, 0x17, 0x4b, 0x61, 0x7e, 0x0f, 0x36, 0x73, 0x91, 0xc2, 0x06,
0xd0, 0xf1, 0x84, 0x94, 0xdc, 0x11, 0x83, 0xda, 0x83, 0xda, 0xbe, 0x61, 0x25, 0xa4, 0xb9, 0x03,
0x5b, 0xf9, 0x38, 0xc9, 0x29, 0x62, 0x2c, 0xa0, 0xe2, 0xa5, 0x88, 0x24, 0x06, 0x40, 0xac, 0x18,
0x93, 0xe6, 0xc7, 0xd0, 0x2f, 0x07, 0x01, 0xeb, 0x43, 0xe3, 0xb5, 0xb8, 0x8a, 0x25, 0x71, 0xc9,
0x6e, 0xc7, 0x17, 0xa2, 0x28, 0x36, 0xac, 0xf8, 0x76, 0xff, 0xac, 0xa5, 0xca, 0x69, 0x1c, 0x30,
0x06, 0x4d, 0xe5, 0x7a, 0xfa, 0x82, 0x0d, 0x8b, 0xd6, 0xec, 0x1e, 0xfe, 0x48, 0xdc, 0xf5, 0x27,
0xae, 0x1d, 0x9f, 0xd0, 0x21, 0xfa, 0xcc, 0x66, 0xc7, 0xd0, 0x9f, 0x05, 0xbe, 0x14, 0xbe, 0x5c,
0xca, 0x49, 0xc8, 0x23, 0xee, 0xc9, 0x38, 0xfe, 0x13, 0xc7, 0x9e, 0x26, 0xec, 0x73, 0xe2, 0x5a,
0xbd, 0x59, 0x71, 0x83, 0x3d, 0x01, 0xb8, 0xe4, 0x0b, 0xd7, 0xe6, 0x2a, 0x88, 0xe4, 0xa0, 0xf9,
0xa0, 0xb1, 0xbf, 0x79, 0xd4, 0x8f, 0x95, 0x5f, 0x25, 0x8c, 0x93, 0xe6, 0x5f, 0xdf, 0xde, 0xdf,
0xb0, 0x72, 0x92, 0xec, 0x21, 0xf4, 0x78, 0x18, 0x4e, 0xa4, 0xe2, 0x4a, 0x4c, 0xa6, 0x57, 0x4a,
0x48, 0xca, 0x8e, 0x2d, 0x6b, 0x9b, 0x87, 0xe1, 0x0b, 0xdc, 0x3d, 0xc1, 0x4d, 0xd3, 0x4e, 0x7d,
0x4b, 0x81, 0x8b, 0x16, 0xda, 0x5c, 0x71, 0xb2, 0x70, 0xcb, 0xa2, 0x35, 0xee, 0x85, 0x5c, 0xcd,
0x63, 0xeb, 0x68, 0xcd, 0xee, 0x42, 0x7b, 0x2e, 0x5c, 0x67, 0xae, 0xc8, 0xa0, 0x86, 0x15, 0x53,
0xe8, 0xcc, 0x30, 0x0a, 0x2e, 0x05, 0xe5, 0x6e, 0xd7, 0xd2, 0x84, 0xf9, 0xb7, 0x1a, 0xdc, 0xba,
0x16, 0xec, 0x78, 0xee, 0x9c, 0xcb, 0x79, 0xf2, 0x2d, 0x5c, 0xb3, 0xf7, 0xf1, 0x5c, 0x6e, 0x8b,
0x28, 0xc6, 0x94, 0xed, 0xd8, 0xd6, 0x31, 0x6d, 0xc6, 0x86, 0xc6, 0x22, 0xec, 0xc7, 0x05, 0xe7,
0x34, 0xc8, 0x39, 0x49, 0xac, 0xbf, 0x70, 0x1d, 0xdf, 0xf5, 0x9d, 0x77, 0xf9, 0x68, 0x0c, 0xb7,
0xa7, 0x57, 0x6f, 0xb8, 0xaf, 0x5c, 0x5f, 0x4c, 0xae, 0x79, 0xb9, 0x17, 0x1f, 0xf4, 0xfc, 0xd2,
0xb5, 0x85, 0x3f, 0x13, 0xf1, 0x01, 0xbb, 0xa9, 0x4a, 0x7a, 0xb4, 0x34, 0x1f, 0xc0, 0x4e, 0x31,
0x23, 0xd9, 0x0e, 0xd4, 0xd5, 0x2a, 0xb6, 0xac, 0xae, 0x56, 0xa6, 0x99, 0x46, 0x53, 0x9a, 0x7d,
0xd7, 0x64, 0x1e, 0x41, 0xaf, 0x94, 0x68, 0x39, 0x37, 0xd7, 0xf2, 0x6e, 0x36, 0x7b, 0xb0, 0x5d,
0xc8, 0x2f, 0xf3, 0x9b, 0x16, 0x74, 0x2d, 0x21, 0x43, 0x0c, 0x1f, 0xf6, 0x14, 0x0c, 0xb1, 0x9a,
0x09, 0x0d, 0x8a, 0xb5, 0x12, 0xe4, 0x68, 0x99, 0xe7, 0x09, 0x1f, 0x31, 0x20, 0x15, 0x66, 0x8f,
0x0a, 0x80, 0xbe, 0x5b, 0x56, 0xca, 0x23, 0xfa, 0x41, 0x11, 0xd1, 0x6f, 0x97, 0x64, 0x4b, 0x90,
0xfe, 0xa8, 0x00, 0xe9, 0xe5, 0x83, 0x0b, 0x98, 0xfe, 0xac, 0x02, 0xd3, 0xcb, 0xd7, 0x5f, 0x03,
0xea, 0xcf, 0x2a, 0x40, 0x7d, 0x70, 0xed, 0x5b, 0x95, 0xa8, 0x7e, 0x50, 0x44, 0xf5, 0xb2, 0x39,
0x25, 0x58, 0xff, 0x51, 0x15, 0xac, 0xdf, 0x2b, 0xe9, 0xac, 0xc5, 0xf5, 0x0f, 0xaf, 0xe1, 0xfa,
0xdd, 0x92, 0x6a, 0x05, 0xb0, 0x3f, 0x2b, 0x00, 0x3b, 0x54, 0xda, 0xb6, 0x06, 0xd9, 0x9f, 0x5c,
0x47, 0xf6, 0xbd, 0xf2, 0x4f, 0x5b, 0x05, 0xed, 0xa3, 0x12, 0xb4, 0xdf, 0x29, 0xdf, 0x72, 0x2d,
0xb6, 0x3f, 0xc2, 0x7c, 0x2f, 0x45, 0x1a, 0x62, 0x83, 0x88, 0xa2, 0x20, 0x8a, 0xc1, 0x57, 0x13,
0xe6, 0x3e, 0x22, 0x50, 0x16, 0x5f, 0xef, 0xa8, 0x03, 0x14, 0xf4, 0xb9, 0xe8, 0x32, 0xff, 0x50,
0xcb, 0x74, 0xa9, 0x14, 0xe4, 0xd1, 0xcb, 0x88, 0xd1, 0x2b, 0x57, 0x1e, 0xea, 0x85, 0xf2, 0xc0,
0xbe, 0x0f, 0xb7, 0x16, 0x5c, 0x2a, 0xed, 0x97, 0x49, 0x01, 0xce, 0x7a, 0xc8, 0xd0, 0x0e, 0xd1,
0xb8, 0xf6, 0x01, 0xec, 0xe6, 0x64, 0x11, 0x5a, 0x09, 0xba, 0x9a, 0x94, 0xbc, 0xfd, 0x54, 0xfa,
0x38, 0x0c, 0xc7, 0x5c, 0xce, 0xcd, 0x9f, 0x67, 0xf6, 0x67, 0xa5, 0x87, 0x41, 0x73, 0x16, 0xd8,
0xda, 0xac, 0x6d, 0x8b, 0xd6, 0x58, 0x8e, 0x16, 0x81, 0x43, 0x5f, 0x35, 0x2c, 0x5c, 0xa2, 0x54,
0x9a, 0x29, 0x86, 0x4e, 0x09, 0xf3, 0xf7, 0xb5, 0xec, 0xbc, 0xac, 0x1a, 0x55, 0x95, 0x97, 0xda,
0xff, 0x52, 0x5e, 0xea, 0x37, 0x2d, 0x2f, 0xe6, 0x9f, 0x6b, 0xd9, 0x6f, 0x91, 0x16, 0x8e, 0x6f,
0x67, 0x1c, 0x86, 0x85, 0xeb, 0xdb, 0x62, 0x45, 0xa9, 0xde, 0xb0, 0x34, 0x91, 0xd4, 0xe9, 0x36,
0x39, 0xb8, 0x58, 0xa7, 0x3b, 0xb4, 0xa7, 0x89, 0xb8, 0xe0, 0x04, 0x17, 0x94, 0x83, 0x5b, 0x96,
0x26, 0x72, 0xb8, 0x69, 0x14, 0x70, 0xf3, 0x1c, 0xd8, 0xf5, 0xec, 0x64, 0x1f, 0x43, 0x53, 0x71,
0x07, 0x9d, 0x87, 0xf6, 0xef, 0x1c, 0xea, 0xae, 0xf7, 0xf0, 0x8b, 0x57, 0xe7, 0xdc, 0x8d, 0x4e,
0xee, 0xa2, 0xf5, 0xff, 0x7a, 0x7b, 0x7f, 0x07, 0x65, 0x0e, 0x02, 0xcf, 0x55, 0xc2, 0x0b, 0xd5,
0x95, 0x45, 0x3a, 0xe6, 0xbf, 0x6b, 0x88, 0xda, 0x85, 0xac, 0xad, 0xf4, 0x45, 0x12, 0x9a, 0xf5,
0x5c, 0x61, 0xbd, 0x99, 0x7f, 0xbe, 0x03, 0xe0, 0x70, 0x39, 0xf9, 0x9a, 0xfb, 0x4a, 0xd8, 0xb1,
0x93, 0x0c, 0x87, 0xcb, 0x5f, 0xd3, 0x06, 0xf6, 0x1f, 0xc8, 0x5e, 0x4a, 0x61, 0x93, 0xb7, 0x1a,
0x56, 0xc7, 0xe1, 0xf2, 0x4b, 0x29, 0xec, 0xd4, 0xae, 0xce, 0x7f, 0x6f, 0x17, 0xdb, 0x87, 0xc6,
0x85, 0x10, 0x31, 0xb2, 0xf5, 0x53, 0xd5, 0xb3, 0x27, 0x1f, 0x91, 0xb2, 0x0e, 0x09, 0x14, 0x31,
0x7f, 0x5b, 0xcf, 0x82, 0x33, 0x2b, 0x6e, 0xff, 0x5f, 0x3e, 0xf8, 0x07, 0x75, 0x8b, 0x45, 0x28,
0x65, 0xa7, 0x70, 0x2b, 0x4d, 0x99, 0xc9, 0x32, 0xb4, 0x39, 0x76, 0x61, 0xb5, 0x77, 0xe6, 0x58,
0x3f, 0x55, 0xf8, 0x52, 0xcb, 0xb3, 0x5f, 0xc0, 0x5e, 0x29, 0xc9, 0xd3, 0xa3, 0xea, 0xef, 0xcc,
0xf5, 0x3b, 0xc5, 0x5c, 0x4f, 0xce, 0x4b, 0xfc, 0xd1, 0xf8, 0x16, 0xb1, 0xfe, 0x5d, 0x6c, 0x73,
0xf2, 0xd0, 0x5f, 0xf5, 0x8b, 0x9a, 0x7f, 0xac, 0x41, 0xaf, 0x74, 0x19, 0x36, 0x02, 0xd0, 0xc8,
0x29, 0xdd, 0x37, 0x22, 0x06, 0xa9, 0xc4, 0x07, 0xe4, 0xac, 0x17, 0xee, 0x1b, 0x61, 0x19, 0xd3,
0x64, 0xc9, 0x1e, 0x42, 0x47, 0xad, 0xb4, 0x74, 0xb1, 0x11, 0x7c, 0xb9, 0x22, 0xd1, 0xb6, 0xa2,
0xff, 0xec, 0x31, 0x6c, 0xe9, 0x83, 0x9d, 0x40, 0x4a, 0x37, 0x8c, 0x9b, 0x11, 0x96, 0x3f, 0xfa,
0x73, 0xe2, 0x58, 0x9b, 0xd3, 0x8c, 0x30, 0x7f, 0x03, 0x46, 0xfa, 0x59, 0xf6, 0x1e, 0x18, 0x1e,
0x5f, 0xc5, 0x5d, 0x32, 0xde, 0xad, 0x65, 0x75, 0x3d, 0xbe, 0xa2, 0x06, 0x99, 0xed, 0x41, 0x07,
0x99, 0x6a, 0xa5, 0xfd, 0xdd, 0xb2, 0xda, 0x1e, 0x5f, 0xbd, 0x5c, 0xa5, 0x0c, 0x87, 0xcb, 0xa4,
0x05, 0xf6, 0xf8, 0xea, 0x73, 0x2e, 0xcd, 0x4f, 0xa1, 0xad, 0x2f, 0x79, 0xa3, 0x83, 0x51, 0xbf,
0x5e, 0xd0, 0xff, 0x09, 0x6c, 0xe6, 0xee, 0xcd, 0x7e, 0x08, 0x77, 0xb4, 0x85, 0x21, 0x8f, 0x14,
0x79, 0xa4, 0x70, 0x20, 0x23, 0xe6, 0x39, 0x8f, 0x14, 0x7e, 0x52, 0x37, 0xf5, 0xbf, 0xab, 0x43,
0x5b, 0x37, 0xcc, 0xec, 0x61, 0x6e, 0x3a, 0xa1, 0xaa, 0x78, 0xb2, 0xf9, 0xf7, 0xb7, 0xf7, 0x3b,
0x54, 0x40, 0xce, 0x3e, 0xcb, 0x46, 0x95, 0x0c, 0x30, 0xeb, 0x85, 0x7e, 0x3e, 0x99, 0x78, 0x1a,
0xb9, 0x89, 0x67, 0x0f, 0x3a, 0xfe, 0xd2, 0x23, 0x97, 0x34, 0xb5, 0x4b, 0xfc, 0xa5, 0x87, 0x2e,
0x79, 0x0f, 0x0c, 0x15, 0x28, 0xbe, 0x20, 0x96, 0x4e, 0xd2, 0x2e, 0x6d, 0x20, 0xf3, 0x21, 0xf4,
0xf2, 0xd5, 0x16, 0xab, 0xa7, 0x06, 0xf7, 0xed, 0xac, 0xd6, 0xe2, 0x04, 0x70, 0x0f, 0xba, 0x69,
0x79, 0xd5, 0x48, 0xdf, 0xe1, 0xba, 0xaa, 0xe2, 0x3c, 0x1c, 0x46, 0x41, 0x18, 0x48, 0x11, 0xa5,
0x49, 0x59, 0x9d, 0x47, 0xa9, 0x9c, 0xe9, 0x82, 0x91, 0x32, 0xb1, 0x17, 0xe0, 0xb6, 0x1d, 0x09,
0x29, 0xe3, 0xb6, 0x3b, 0x21, 0xd9, 0x01, 0x74, 0xc2, 0xe5, 0x74, 0x82, 0x25, 0xa7, 0x18, 0x6f,
0xe7, 0xcb, 0xe9, 0x17, 0xe2, 0x2a, 0x19, 0x3c, 0x42, 0xa2, 0xa8, 0xe8, 0x04, 0x5f, 0x8b, 0x28,
0x76, 0x8b, 0x26, 0x4c, 0x05, 0xfd, 0xf2, 0xd4, 0xc1, 0x3e, 0x02, 0x23, 0x4d, 0xe9, 0x52, 0xdc,
0x97, 0xef, 0x9c, 0x09, 0x62, 0x67, 0x22, 0x5d, 0xc7, 0x17, 0xf6, 0x24, 0x73, 0x19, 0xdd, 0xab,
0x6b, 0xf5, 0x34, 0xe3, 0x67, 0x89, 0xcf, 0xcc, 0x1f, 0x40, 0x5b, 0xdf, 0x91, 0x7e, 0xab, 0xab,
0x30, 0x69, 0x9b, 0x68, 0x5d, 0x99, 0xa0, 0x7f, 0xaa, 0x41, 0x37, 0x99, 0x6a, 0x2a, 0x95, 0x0a,
0x97, 0xae, 0xdf, 0xf4, 0xd2, 0xeb, 0x46, 0xc2, 0x24, 0x84, 0x9a, 0xb9, 0x10, 0x3a, 0x00, 0xa6,
0x23, 0xe5, 0x32, 0x50, 0xae, 0xef, 0x4c, 0xb4, 0x37, 0x75, 0xc8, 0xf4, 0x89, 0xf3, 0x8a, 0x18,
0xe7, 0xb8, 0x7f, 0xf4, 0x4d, 0x0b, 0x7a, 0xc7, 0x27, 0xa7, 0x67, 0xc7, 0x61, 0xb8, 0x70, 0x67,
0x9c, 0x9a, 0xa9, 0x11, 0x34, 0xa9, 0x5d, 0xac, 0x78, 0x74, 0x1a, 0x56, 0xcd, 0x2d, 0xec, 0x08,
0x5a, 0xd4, 0x35, 0xb2, 0xaa, 0xb7, 0xa7, 0x61, 0xe5, 0xf8, 0x82, 0x1f, 0xd1, 0x7d, 0xe5, 0xf5,
0x27, 0xa8, 0x61, 0xd5, 0x0c, 0xc3, 0x3e, 0x05, 0x23, 0xeb, 0xf7, 0xd6, 0x3d, 0x44, 0x0d, 0xd7,
0x4e, 0x33, 0xa8, 0x9f, 0x95, 0xd0, 0x75, 0xcf, 0x36, 0xc3, 0xb5, 0x6d, 0x3f, 0x7b, 0x0a, 0x9d,
0xa4, 0x09, 0xa9, 0x7e, 0x2a, 0x1a, 0xae, 0x99, 0x34, 0xd0, 0x3d, 0xba, 0x91, 0xab, 0x7a, 0xcf,
0x1a, 0x56, 0x8e, 0x43, 0xec, 0x31, 0xb4, 0xe3, 0x3a, 0x50, 0xf9, 0xe8, 0x33, 0xac, 0x9e, 0x17,
0xd0, 0xc8, 0xac, 0x89, 0x5d, 0xf7, 0xe6, 0x36, 0x5c, 0x3b, 0xb7, 0xb1, 0x63, 0x80, 0x5c, 0xf3,
0xb6, 0xf6, 0x31, 0x6d, 0xb8, 0x7e, 0x1e, 0x63, 0x9f, 0x40, 0x37, 0x9b, 0xb1, 0xab, 0x1f, 0xb9,
0x86, 0xeb, 0x46, 0xa4, 0x69, 0x9b, 0x1e, 0x42, 0x3f, 0xfc, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff,
0x76, 0x56, 0x8a, 0x69, 0x84, 0x15, 0x00, 0x00,
} }

+ 11
- 15
types/types.proto View File

@ -47,8 +47,11 @@ message RequestSetOption {
} }
message RequestInitChain { message RequestInitChain {
repeated Validator validators = 1 [(gogoproto.nullable)=false];
GenesisFile genesis_file = 2 [(gogoproto.nullable)=false];
int64 time = 1;
string chain_id = 2;
ConsensusParams consensus_params = 3;
repeated Validator validators = 4 [(gogoproto.nullable)=false];
bytes app_state_bytes = 5;
} }
message RequestQuery { message RequestQuery {
@ -61,7 +64,7 @@ message RequestQuery {
message RequestBeginBlock { message RequestBeginBlock {
bytes hash = 1; bytes hash = 1;
Header header = 2 [(gogoproto.nullable)=false]; Header header = 2 [(gogoproto.nullable)=false];
repeated SigningValidator validators = 3;
repeated SigningValidator validators = 3 [(gogoproto.nullable)=false];
repeated Evidence byzantine_validators = 4 [(gogoproto.nullable)=false]; repeated Evidence byzantine_validators = 4 [(gogoproto.nullable)=false];
} }
@ -128,7 +131,8 @@ message ResponseSetOption {
} }
message ResponseInitChain { message ResponseInitChain {
repeated Validator validators = 1 [(gogoproto.nullable)=false];
ConsensusParams consensus_params = 1;
repeated Validator validators = 2 [(gogoproto.nullable)=false];
} }
message ResponseQuery { message ResponseQuery {
@ -214,14 +218,6 @@ message BlockGossip {
//---------------------------------------- //----------------------------------------
// Blockchain Types // Blockchain Types
message GenesisFile {
int64 time = 1;
string chain_id = 2;
ConsensusParams consensus_params = 3;
repeated Validator validators = 4;
bytes app_state_json = 5;
}
// just the minimum the app might need // just the minimum the app might need
message Header { message Header {
// basics // basics
@ -238,7 +234,7 @@ message Header {
bytes app_hash = 7; bytes app_hash = 7;
// consensus // consensus
Validator proposer = 8;
Validator proposer = 8 [(gogoproto.nullable)=false];
} }
// Validator // Validator
@ -250,7 +246,7 @@ message Validator {
// Validator with an extra bool // Validator with an extra bool
message SigningValidator { message SigningValidator {
Validator validator = 1;
Validator validator = 1 [(gogoproto.nullable)=false];
bool signed_last_block = 2; bool signed_last_block = 2;
} }
@ -261,7 +257,7 @@ message PubKey {
message Evidence { message Evidence {
string type = 1; string type = 1;
Validator validator = 2;
Validator validator = 2 [(gogoproto.nullable)=false];
int64 height = 3; int64 height = 3;
int64 time = 4; int64 time = 4;
int64 total_voting_power = 5; int64 total_voting_power = 5;


Loading…
Cancel
Save