From d6e821ea4fb1d08ae1ff34202d30d4b0cf728f38 Mon Sep 17 00:00:00 2001 From: Zach Ramsay Date: Sun, 10 Dec 2017 22:11:24 +0000 Subject: [PATCH 01/17] linter: enable in CI & make deterministic --- Makefile | 10 +++++----- circle.yml | 3 +-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index d5fe913b2..7176ab101 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ GOTOOLS = \ github.com/mitchellh/gox \ github.com/Masterminds/glide \ - github.com/alecthomas/gometalinter \ + gopkg.in/alecthomas/gometalinter.v2 \ github.com/ckaznocha/protoc-gen-lint \ github.com/gogo/protobuf/protoc-gen-gogo \ github.com/gogo/protobuf/gogoproto @@ -62,7 +62,7 @@ get_deps: ensure_tools: go get -u -v $(GOTOOLS) - @gometalinter --install + @gometalinter.v2 --install get_vendor_deps: ensure_tools @rm -rf vendor/ @@ -71,11 +71,11 @@ get_vendor_deps: ensure_tools metalinter: protoc $(INCLUDE) --lint_out=. types/*.proto - gometalinter --vendor --deadline=600s --enable-all --disable=lll ./... + gometalinter.v2 --vendor --deadline=600s --enable-all --disable=lll ./... metalinter_test: - protoc $(INCLUDE) --lint_out=. types/*.proto - gometalinter --vendor --deadline=600s --disable-all \ + #protoc $(INCLUDE) --lint_out=. types/*.proto + gometalinter.v2 --vendor --deadline=600s --disable-all \ --enable=maligned \ --enable=deadcode \ --enable=goconst \ diff --git a/circle.yml b/circle.yml index 7d4545e54..95d1dea5e 100644 --- a/circle.yml +++ b/circle.yml @@ -2,7 +2,6 @@ machine: environment: GOPATH: /home/ubuntu/.go_workspace REPO: $GOPATH/src/github.com/$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME - GO15VENDOREXPERIMENT: 1 hosts: circlehost: 127.0.0.1 localhost: 127.0.0.1 @@ -16,7 +15,7 @@ checkout: test: override: - - cd $REPO && make get_vendor_deps && make test_integrations + - cd $REPO && make get_vendor_deps && make metalinter_test && make test_integrations post: - cd "$REPO" && bash <(curl -s https://codecov.io/bash) -f coverage.txt - cd "$REPO" && mv coverage.txt "${CIRCLE_ARTIFACTS}" From bbc3b807c6151474d10609e4bfca5ee66c84e04d Mon Sep 17 00:00:00 2001 From: Emmanuel Odeke Date: Tue, 12 Dec 2017 17:23:13 -0700 Subject: [PATCH 02/17] all: fix vet issues with build tags, formatting * Build tags need to come before the package name and have at least a blank line, between them and the package, please see https://golang.org/pkg/go/build/#hdr-Build_Constraints * fmt.Println doesn't take formatting verbs * Fix a missing formatting argument to fmt.Printf --- tests/server/client.go | 4 ++-- types/protoreplace/protoreplace.go | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/server/client.go b/tests/server/client.go index f1757fe15..8d6751a16 100644 --- a/tests/server/client.go +++ b/tests/server/client.go @@ -21,7 +21,7 @@ func InitChain(client abcicli.Client) error { } _, err := client.InitChainSync(types.RequestInitChain{Validators: vals}) if err != nil { - fmt.Println("Failed test: InitChain - %v", err) + fmt.Printf("Failed test: InitChain - %v\n", err) return err } fmt.Println("Passed test: InitChain") @@ -46,7 +46,7 @@ func Commit(client abcicli.Client, hashExp []byte) error { _, data := res.Code, res.Data if err != nil { fmt.Println("Failed test: Commit") - fmt.Printf("committing %v\nlog: %v", res.GetLog()) + fmt.Printf("committing %v\nlog: %v", data, res.GetLog()) return err } if !bytes.Equal(data, hashExp) { diff --git a/types/protoreplace/protoreplace.go b/types/protoreplace/protoreplace.go index c859098f8..3ea0c73da 100644 --- a/types/protoreplace/protoreplace.go +++ b/types/protoreplace/protoreplace.go @@ -1,7 +1,7 @@ -package main - // +build ignore +package main + import ( "bytes" "fmt" From c532e8cabcfede2dcb640a7ae7404c53fbcd4f36 Mon Sep 17 00:00:00 2001 From: Anton Kaliaev Date: Tue, 12 Dec 2017 22:44:55 -0600 Subject: [PATCH 03/17] add \n to Printf lines --- tests/server/client.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/server/client.go b/tests/server/client.go index 8d6751a16..9cc8131d3 100644 --- a/tests/server/client.go +++ b/tests/server/client.go @@ -33,7 +33,7 @@ func SetOption(client abcicli.Client, key, value string) error { log := res.GetLog() if err != nil { fmt.Println("Failed test: SetOption") - fmt.Printf("setting %v=%v: \nlog: %v", key, value, log) + fmt.Printf("setting %v=%v: \nlog: %v\n", key, value, log) fmt.Println("Failed test: SetOption") return err } @@ -46,12 +46,12 @@ func Commit(client abcicli.Client, hashExp []byte) error { _, data := res.Code, res.Data if err != nil { fmt.Println("Failed test: Commit") - fmt.Printf("committing %v\nlog: %v", data, res.GetLog()) + fmt.Printf("committing %v\nlog: %v\n", data, res.GetLog()) return err } if !bytes.Equal(data, hashExp) { fmt.Println("Failed test: Commit") - fmt.Printf("Commit hash was unexpected. Got %X expected %X", + fmt.Printf("Commit hash was unexpected. Got %X expected %X\n", data.Bytes(), hashExp) return errors.New("CommitTx failed") } @@ -64,13 +64,13 @@ func DeliverTx(client abcicli.Client, txBytes []byte, codeExp uint32, dataExp [] code, data, log := res.Code, res.Data, res.Log if code != codeExp { fmt.Println("Failed test: DeliverTx") - fmt.Printf("DeliverTx response code was unexpected. Got %v expected %v. Log: %v", + fmt.Printf("DeliverTx response code was unexpected. Got %v expected %v. Log: %v\n", code, codeExp, log) return errors.New("DeliverTx error") } if !bytes.Equal(data, dataExp) { fmt.Println("Failed test: DeliverTx") - fmt.Printf("DeliverTx response data was unexpected. Got %X expected %X", + fmt.Printf("DeliverTx response data was unexpected. Got %X expected %X\n", data, dataExp) return errors.New("DeliverTx error") } @@ -83,13 +83,13 @@ func CheckTx(client abcicli.Client, txBytes []byte, codeExp uint32, dataExp []by code, data, log := res.Code, res.Data, res.Log if code != codeExp { fmt.Println("Failed test: CheckTx") - fmt.Printf("CheckTx response code was unexpected. Got %v expected %v. Log: %v", + fmt.Printf("CheckTx response code was unexpected. Got %v expected %v. Log: %v\n", code, codeExp, log) return errors.New("CheckTx") } if !bytes.Equal(data, dataExp) { fmt.Println("Failed test: CheckTx") - fmt.Printf("CheckTx response data was unexpected. Got %X expected %X", + fmt.Printf("CheckTx response data was unexpected. Got %X expected %X\n", data, dataExp) return errors.New("CheckTx") } From 25f6f6518c0fee985ed391bdd1023d3ea419d231 Mon Sep 17 00:00:00 2001 From: Ethan Frey Date: Wed, 13 Dec 2017 17:50:24 +0100 Subject: [PATCH 04/17] Update the ResponseEndBlock values * Rename diffs -> changes * Add consensus_param_changes For context, see: https://github.com/tendermint/tendermint/issues/924 https://github.com/tendermint/tendermint/issues/952 --- types/types.pb.go | 356 ++++++++++++++++++++++++++++++++-------------- types/types.proto | 30 +++- 2 files changed, 276 insertions(+), 110 deletions(-) diff --git a/types/types.pb.go b/types/types.pb.go index 69777d6d5..5a0e9b7a8 100644 --- a/types/types.pb.go +++ b/types/types.pb.go @@ -33,6 +33,10 @@ It has these top-level messages: ResponseInitChain ResponseBeginBlock ResponseEndBlock + ConsensusParams + BlockSizeParams + TxSizeParams + BlockGossipParams Header BlockID PartSetHeader @@ -82,7 +86,7 @@ var KVPair_Type_value = map[string]int32{ func (x KVPair_Type) String() string { return proto.EnumName(KVPair_Type_name, int32(x)) } -func (KVPair_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptorTypes, []int{30, 0} } +func (KVPair_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptorTypes, []int{34, 0} } type Request struct { // Types that are valid to be assigned to Value: @@ -1394,7 +1398,8 @@ func (*ResponseBeginBlock) ProtoMessage() {} func (*ResponseBeginBlock) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{23} } type ResponseEndBlock struct { - Diffs []*Validator `protobuf:"bytes,1,rep,name=diffs" json:"diffs,omitempty"` + Changes []*Validator `protobuf:"bytes,1,rep,name=changes" json:"changes,omitempty"` + ConsensusParamChanges *ConsensusParams `protobuf:"bytes,2,opt,name=consensus_param_changes,json=consensusParamChanges" json:"consensus_param_changes,omitempty"` } func (m *ResponseEndBlock) Reset() { *m = ResponseEndBlock{} } @@ -1402,13 +1407,130 @@ func (m *ResponseEndBlock) String() string { return proto.CompactText func (*ResponseEndBlock) ProtoMessage() {} func (*ResponseEndBlock) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{24} } -func (m *ResponseEndBlock) GetDiffs() []*Validator { +func (m *ResponseEndBlock) GetChanges() []*Validator { if m != nil { - return m.Diffs + return m.Changes } return nil } +func (m *ResponseEndBlock) GetConsensusParamChanges() *ConsensusParams { + if m != nil { + return m.ConsensusParamChanges + } + return nil +} + +type ConsensusParams struct { + BlockSizeParams *BlockSizeParams `protobuf:"bytes,1,opt,name=block_size_params,json=blockSizeParams" json:"block_size_params,omitempty"` + TxSizeParams *TxSizeParams `protobuf:"bytes,2,opt,name=tx_size_params,json=txSizeParams" json:"tx_size_params,omitempty"` + BlockGossipParams *BlockGossipParams `protobuf:"bytes,3,opt,name=block_gossip_params,json=blockGossipParams" json:"block_gossip_params,omitempty"` +} + +func (m *ConsensusParams) Reset() { *m = ConsensusParams{} } +func (m *ConsensusParams) String() string { return proto.CompactTextString(m) } +func (*ConsensusParams) ProtoMessage() {} +func (*ConsensusParams) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{25} } + +func (m *ConsensusParams) GetBlockSizeParams() *BlockSizeParams { + if m != nil { + return m.BlockSizeParams + } + return nil +} + +func (m *ConsensusParams) GetTxSizeParams() *TxSizeParams { + if m != nil { + return m.TxSizeParams + } + return nil +} + +func (m *ConsensusParams) GetBlockGossipParams() *BlockGossipParams { + if m != nil { + return m.BlockGossipParams + } + return nil +} + +// BlockSizeParams contain limits on the block size. +type BlockSizeParams struct { + // NOTE: must not be 0 nor greater than 100MB + MaxBytes int32 `protobuf:"varint,1,opt,name=max_bytes,json=maxBytes,proto3" json:"max_bytes,omitempty"` + MaxTxs int32 `protobuf:"varint,2,opt,name=max_txs,json=maxTxs,proto3" json:"max_txs,omitempty"` + MaxGas int64 `protobuf:"varint,3,opt,name=max_gas,json=maxGas,proto3" json:"max_gas,omitempty"` +} + +func (m *BlockSizeParams) Reset() { *m = BlockSizeParams{} } +func (m *BlockSizeParams) String() string { return proto.CompactTextString(m) } +func (*BlockSizeParams) ProtoMessage() {} +func (*BlockSizeParams) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{26} } + +func (m *BlockSizeParams) GetMaxBytes() int32 { + if m != nil { + return m.MaxBytes + } + return 0 +} + +func (m *BlockSizeParams) GetMaxTxs() int32 { + if m != nil { + return m.MaxTxs + } + return 0 +} + +func (m *BlockSizeParams) GetMaxGas() int64 { + if m != nil { + return m.MaxGas + } + return 0 +} + +// TxSizeParams contain limits on the tx size. +type TxSizeParams struct { + MaxBytes int32 `protobuf:"varint,1,opt,name=max_bytes,json=maxBytes,proto3" json:"max_bytes,omitempty"` + MaxGas int64 `protobuf:"varint,2,opt,name=max_gas,json=maxGas,proto3" json:"max_gas,omitempty"` +} + +func (m *TxSizeParams) Reset() { *m = TxSizeParams{} } +func (m *TxSizeParams) String() string { return proto.CompactTextString(m) } +func (*TxSizeParams) ProtoMessage() {} +func (*TxSizeParams) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{27} } + +func (m *TxSizeParams) GetMaxBytes() int32 { + if m != nil { + return m.MaxBytes + } + return 0 +} + +func (m *TxSizeParams) GetMaxGas() int64 { + if m != nil { + return m.MaxGas + } + return 0 +} + +// BlockGossipParams determine consensus critical +// elements of how blocks are gossiped +type BlockGossipParams struct { + // Note: must not be 0 + BlockPartSizeBytes int32 `protobuf:"varint,1,opt,name=block_part_size_bytes,json=blockPartSizeBytes,proto3" json:"block_part_size_bytes,omitempty"` +} + +func (m *BlockGossipParams) Reset() { *m = BlockGossipParams{} } +func (m *BlockGossipParams) String() string { return proto.CompactTextString(m) } +func (*BlockGossipParams) ProtoMessage() {} +func (*BlockGossipParams) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{28} } + +func (m *BlockGossipParams) GetBlockPartSizeBytes() int32 { + if m != nil { + return m.BlockPartSizeBytes + } + return 0 +} + type Header struct { ChainId string `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` Height int64 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"` @@ -1424,7 +1546,7 @@ type Header struct { func (m *Header) Reset() { *m = Header{} } func (m *Header) String() string { return proto.CompactTextString(m) } func (*Header) ProtoMessage() {} -func (*Header) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{25} } +func (*Header) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{29} } func (m *Header) GetChainId() string { if m != nil { @@ -1497,7 +1619,7 @@ type BlockID struct { func (m *BlockID) Reset() { *m = BlockID{} } func (m *BlockID) String() string { return proto.CompactTextString(m) } func (*BlockID) ProtoMessage() {} -func (*BlockID) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{26} } +func (*BlockID) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{30} } func (m *BlockID) GetHash() []byte { if m != nil { @@ -1521,7 +1643,7 @@ type PartSetHeader struct { func (m *PartSetHeader) Reset() { *m = PartSetHeader{} } func (m *PartSetHeader) String() string { return proto.CompactTextString(m) } func (*PartSetHeader) ProtoMessage() {} -func (*PartSetHeader) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{27} } +func (*PartSetHeader) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{31} } func (m *PartSetHeader) GetTotal() int32 { if m != nil { @@ -1545,7 +1667,7 @@ type Validator struct { func (m *Validator) Reset() { *m = Validator{} } func (m *Validator) String() string { return proto.CompactTextString(m) } func (*Validator) ProtoMessage() {} -func (*Validator) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{28} } +func (*Validator) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{32} } func (m *Validator) GetPubKey() []byte { if m != nil { @@ -1569,7 +1691,7 @@ type Evidence struct { func (m *Evidence) Reset() { *m = Evidence{} } func (m *Evidence) String() string { return proto.CompactTextString(m) } func (*Evidence) ProtoMessage() {} -func (*Evidence) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{29} } +func (*Evidence) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{33} } func (m *Evidence) GetPubKey() []byte { if m != nil { @@ -1595,7 +1717,7 @@ type KVPair struct { func (m *KVPair) Reset() { *m = KVPair{} } func (m *KVPair) String() string { return proto.CompactTextString(m) } func (*KVPair) ProtoMessage() {} -func (*KVPair) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{30} } +func (*KVPair) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{34} } func (m *KVPair) GetKey() string { if m != nil { @@ -1651,6 +1773,10 @@ func init() { proto.RegisterType((*ResponseInitChain)(nil), "types.ResponseInitChain") proto.RegisterType((*ResponseBeginBlock)(nil), "types.ResponseBeginBlock") proto.RegisterType((*ResponseEndBlock)(nil), "types.ResponseEndBlock") + proto.RegisterType((*ConsensusParams)(nil), "types.ConsensusParams") + proto.RegisterType((*BlockSizeParams)(nil), "types.BlockSizeParams") + proto.RegisterType((*TxSizeParams)(nil), "types.TxSizeParams") + proto.RegisterType((*BlockGossipParams)(nil), "types.BlockGossipParams") proto.RegisterType((*Header)(nil), "types.Header") proto.RegisterType((*BlockID)(nil), "types.BlockID") proto.RegisterType((*PartSetHeader)(nil), "types.PartSetHeader") @@ -2065,103 +2191,115 @@ var _ABCIApplication_serviceDesc = grpc.ServiceDesc{ func init() { proto.RegisterFile("types/types.proto", fileDescriptorTypes) } var fileDescriptorTypes = []byte{ - // 1554 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x98, 0xcb, 0x6e, 0xdb, 0x46, - 0x17, 0xc7, 0x2d, 0x51, 0xd4, 0xe5, 0xf8, 0x26, 0x8f, 0xfd, 0x25, 0x8a, 0xb2, 0x88, 0x43, 0xe0, - 0x6b, 0xe4, 0x5c, 0xac, 0xd4, 0x41, 0x8a, 0x38, 0x29, 0x0a, 0x58, 0x71, 0x52, 0x09, 0x01, 0xd2, - 0x74, 0x62, 0x64, 0x2b, 0x50, 0xe2, 0x48, 0x22, 0x22, 0x91, 0x0c, 0x39, 0x72, 0xe4, 0xa2, 0x8f, - 0x90, 0x7d, 0xd7, 0xed, 0xa6, 0x40, 0x5f, 0xa0, 0xcb, 0xee, 0x8a, 0x3e, 0x43, 0x17, 0x79, 0x96, - 0x62, 0xce, 0x0c, 0xaf, 0x26, 0xb3, 0xc8, 0x22, 0x1b, 0x63, 0x2e, 0xe7, 0x3f, 0x3a, 0x33, 0x3c, - 0xf3, 0x3b, 0x67, 0x0c, 0x3b, 0xfc, 0xc2, 0x63, 0x41, 0x17, 0xff, 0x1e, 0x7a, 0xbe, 0xcb, 0x5d, - 0xa2, 0x63, 0xa7, 0x7d, 0x6f, 0x6a, 0xf3, 0xd9, 0x72, 0x74, 0x38, 0x76, 0x17, 0xdd, 0xa9, 0x3b, - 0x75, 0xbb, 0x38, 0x3b, 0x5a, 0x4e, 0xb0, 0x87, 0x1d, 0x6c, 0x49, 0x95, 0xf1, 0x77, 0x05, 0x6a, - 0x94, 0xbd, 0x5b, 0xb2, 0x80, 0x93, 0x0e, 0x54, 0xd8, 0x78, 0xe6, 0xb6, 0x4a, 0xfb, 0xa5, 0xce, - 0xfa, 0x11, 0x39, 0x94, 0xab, 0xab, 0xd9, 0x67, 0xe3, 0x99, 0xdb, 0x5f, 0xa3, 0x68, 0x41, 0xee, - 0x80, 0x3e, 0x99, 0x2f, 0x83, 0x59, 0xab, 0x8c, 0xa6, 0xbb, 0x69, 0xd3, 0xe7, 0x62, 0xaa, 0xbf, - 0x46, 0xa5, 0x8d, 0x58, 0xd6, 0x76, 0x26, 0x6e, 0x4b, 0xcb, 0x5b, 0x76, 0xe0, 0x4c, 0x70, 0x59, - 0x61, 0x41, 0x1e, 0x01, 0x04, 0x8c, 0x0f, 0x5d, 0x8f, 0xdb, 0xae, 0xd3, 0xaa, 0xa0, 0xfd, 0xd5, - 0xb4, 0xfd, 0x6b, 0xc6, 0x7f, 0xc0, 0xe9, 0xfe, 0x1a, 0x6d, 0x04, 0x61, 0x47, 0x28, 0x2d, 0x36, - 0xb7, 0xcf, 0x99, 0x3f, 0xe4, 0xab, 0x96, 0x9e, 0xa7, 0x3c, 0x95, 0xf3, 0x67, 0x2b, 0xa1, 0xb4, - 0xc2, 0x0e, 0x39, 0x82, 0xfa, 0x78, 0xc6, 0xc6, 0x6f, 0x85, 0xae, 0x8a, 0xba, 0xff, 0xa5, 0x75, - 0x4f, 0xc5, 0x2c, 0xaa, 0x6a, 0x63, 0xd9, 0x24, 0x87, 0x50, 0x1d, 0xbb, 0x8b, 0x85, 0xcd, 0x5b, - 0x35, 0x54, 0xec, 0x65, 0x14, 0x38, 0xd7, 0x5f, 0xa3, 0xca, 0x4a, 0x1c, 0xd7, 0xbb, 0x25, 0xf3, - 0x2f, 0x5a, 0xf5, 0xbc, 0xe3, 0xfa, 0x51, 0x4c, 0x89, 0xe3, 0x42, 0x1b, 0xb1, 0x15, 0xdb, 0xb1, - 0xf9, 0x70, 0x3c, 0x33, 0x6d, 0xa7, 0xd5, 0xc8, 0xdb, 0xca, 0xc0, 0xb1, 0xf9, 0x53, 0x31, 0x2d, - 0xb6, 0x62, 0x87, 0x1d, 0xf2, 0x04, 0xd6, 0x47, 0x6c, 0x6a, 0x3b, 0xc3, 0xd1, 0xdc, 0x1d, 0xbf, - 0x6d, 0x01, 0x4a, 0x5b, 0x69, 0x69, 0x4f, 0x18, 0xf4, 0xc4, 0x7c, 0x7f, 0x8d, 0xc2, 0x28, 0xea, - 0x91, 0x87, 0xd0, 0x60, 0x8e, 0xa5, 0xa4, 0xeb, 0x28, 0xbd, 0x92, 0x89, 0x00, 0xc7, 0x0a, 0x85, - 0x75, 0xa6, 0xda, 0xbd, 0x1a, 0xe8, 0xe7, 0xe6, 0x7c, 0xc9, 0x8c, 0x5b, 0xb0, 0x9e, 0x88, 0x14, - 0xd2, 0x82, 0xda, 0x82, 0x05, 0x81, 0x39, 0x65, 0x18, 0x4e, 0x0d, 0x1a, 0x76, 0x8d, 0x2d, 0xd8, - 0x48, 0xc6, 0x49, 0x42, 0x28, 0x62, 0x41, 0x08, 0xcf, 0x99, 0x1f, 0x88, 0x00, 0x50, 0x42, 0xd5, - 0x35, 0x1e, 0x43, 0x33, 0x1b, 0x04, 0xa4, 0x09, 0xda, 0x5b, 0x76, 0xa1, 0x2c, 0x45, 0x93, 0xec, - 0x29, 0x87, 0x30, 0x34, 0x1b, 0x54, 0x79, 0x67, 0x44, 0xda, 0x28, 0x0c, 0xc8, 0x16, 0x94, 0xf9, - 0x0a, 0xa5, 0x1b, 0xb4, 0xcc, 0x57, 0xc6, 0x3e, 0x6c, 0xa5, 0x3f, 0xf9, 0x25, 0x0b, 0x2b, 0x72, - 0x1d, 0xbf, 0x19, 0x21, 0x50, 0xb1, 0x4c, 0x6e, 0x2a, 0x0b, 0x6c, 0x8b, 0x31, 0xcf, 0xe4, 0x33, - 0xf5, 0xf3, 0xd8, 0x26, 0x57, 0xa0, 0x3a, 0x63, 0xf6, 0x74, 0xc6, 0xf1, 0x0e, 0x68, 0x54, 0xf5, - 0x84, 0xaf, 0x9e, 0xef, 0x9e, 0x33, 0x0c, 0xf5, 0x3a, 0x95, 0x1d, 0x63, 0x1b, 0x36, 0x53, 0x81, - 0x64, 0x9c, 0x46, 0xce, 0x47, 0x1f, 0x9e, 0xdc, 0x07, 0x38, 0x37, 0xe7, 0xb6, 0x65, 0x72, 0xd7, - 0x0f, 0x5a, 0xa5, 0x7d, 0xad, 0xb3, 0x7e, 0xd4, 0x54, 0xdf, 0xeb, 0x4d, 0x38, 0x41, 0x13, 0x36, - 0xc6, 0x5f, 0x25, 0xd8, 0xb9, 0x14, 0x04, 0xc2, 0xdd, 0x99, 0x19, 0xcc, 0xc2, 0x2d, 0x88, 0x36, - 0xf9, 0xbf, 0x70, 0xd7, 0xb4, 0x98, 0xaf, 0xae, 0xf7, 0xa6, 0x5a, 0xb7, 0x8f, 0x83, 0x54, 0x4d, - 0x92, 0x3b, 0xb0, 0x63, 0x8e, 0x02, 0xe6, 0xf0, 0x61, 0xc2, 0x13, 0x6d, 0x5f, 0xeb, 0xe8, 0xb4, - 0x29, 0x27, 0x22, 0x47, 0x02, 0xd2, 0x83, 0xbd, 0xd1, 0xc5, 0x4f, 0xa6, 0xc3, 0x6d, 0x87, 0x25, - 0xed, 0x2b, 0xe8, 0xf9, 0xb6, 0xfa, 0x85, 0x67, 0xe7, 0xb6, 0xc5, 0x9c, 0x31, 0xa3, 0xbb, 0x91, - 0x71, 0xbc, 0x86, 0x71, 0x00, 0xdb, 0x99, 0x50, 0x4c, 0x9c, 0x6c, 0x29, 0x79, 0xb2, 0xc6, 0x07, - 0x1d, 0xea, 0x94, 0x05, 0x9e, 0xeb, 0x04, 0x8c, 0x3c, 0x82, 0x06, 0x5b, 0x8d, 0x99, 0xa4, 0x4a, - 0x29, 0x73, 0x2b, 0xa4, 0xcd, 0xb3, 0x70, 0x5e, 0xdc, 0xa8, 0xc8, 0x98, 0x1c, 0x28, 0x22, 0x66, - 0x31, 0xa7, 0x44, 0x49, 0x24, 0xde, 0x0d, 0x91, 0xa8, 0x65, 0x90, 0x20, 0x6d, 0x33, 0x4c, 0x3c, - 0x50, 0x4c, 0xac, 0xe4, 0x2e, 0x9c, 0x82, 0xe2, 0x71, 0x0a, 0x8a, 0x7a, 0xae, 0xfb, 0x05, 0x54, - 0x3c, 0x4e, 0x51, 0xb1, 0x9a, 0x2b, 0x2d, 0xc0, 0xe2, 0x83, 0x04, 0x16, 0x6b, 0x19, 0x1a, 0x48, - 0x61, 0x0e, 0x17, 0xbb, 0x11, 0x17, 0xeb, 0x19, 0x92, 0x2a, 0x49, 0x16, 0x8c, 0x77, 0x43, 0x30, - 0x36, 0x72, 0x0f, 0x2d, 0x43, 0xc6, 0xe3, 0x14, 0x19, 0x21, 0x77, 0x3b, 0x05, 0x68, 0xfc, 0x36, - 0x8d, 0x46, 0xc9, 0xb7, 0x6b, 0x19, 0x6d, 0x21, 0x1b, 0xbf, 0x49, 0xb2, 0x71, 0x23, 0x43, 0x64, - 0x15, 0x0b, 0x9f, 0x84, 0xe3, 0x81, 0xb8, 0x7a, 0x99, 0x48, 0x13, 0xb7, 0x9f, 0xf9, 0xbe, 0xeb, - 0x2b, 0x7a, 0xc9, 0x8e, 0xd1, 0x11, 0x8c, 0x89, 0xe3, 0xeb, 0x13, 0x20, 0x45, 0x4e, 0x24, 0xa2, - 0xcb, 0xf8, 0xa5, 0x14, 0x6b, 0x91, 0xa5, 0x49, 0x3e, 0x35, 0x14, 0x9f, 0x12, 0x7c, 0x2d, 0xa7, - 0xf8, 0x4a, 0x6e, 0xc3, 0xce, 0xdc, 0x0c, 0xb8, 0xdc, 0xe6, 0x30, 0x05, 0xac, 0x6d, 0x31, 0x21, - 0xf7, 0x27, 0xc9, 0x75, 0x0f, 0x76, 0x13, 0xb6, 0xa6, 0xe7, 0x0d, 0x91, 0x22, 0x15, 0xa4, 0x48, - 0x33, 0xb2, 0x3e, 0xf1, 0xbc, 0xbe, 0x19, 0xcc, 0x8c, 0xe3, 0x78, 0xff, 0x31, 0xbb, 0x09, 0x54, - 0xc6, 0xae, 0x25, 0xb7, 0xb5, 0x49, 0xb1, 0x2d, 0x78, 0x3e, 0x77, 0xa7, 0xca, 0x33, 0xd1, 0x34, - 0x7e, 0x2b, 0xc5, 0xda, 0x98, 0xdd, 0x79, 0xda, 0x53, 0xb5, 0x5b, 0x21, 0xde, 0xe8, 0xdd, 0xff, - 0xe7, 0xe3, 0x8d, 0xb5, 0x7f, 0x3f, 0xde, 0xe8, 0x24, 0xea, 0x21, 0xce, 0x1c, 0x8b, 0xf9, 0x0b, - 0xdb, 0xe1, 0xdd, 0xa9, 0x7b, 0xef, 0xbd, 0xed, 0xb3, 0xae, 0x50, 0x1c, 0xf6, 0x2e, 0x38, 0x0b, - 0xd4, 0xf9, 0x28, 0x0f, 0xb4, 0xc8, 0x03, 0x72, 0x13, 0x2a, 0xdc, 0x9c, 0x86, 0xa8, 0x0a, 0x61, - 0xf8, 0xe2, 0xcd, 0x2b, 0xd3, 0xf6, 0x29, 0x4e, 0x19, 0xbf, 0x96, 0x04, 0x9a, 0x52, 0xf7, 0xe2, - 0x8b, 0xba, 0xd8, 0x04, 0x6d, 0x6a, 0x06, 0x78, 0xfc, 0x1a, 0x15, 0x4d, 0x31, 0x32, 0x61, 0x0c, - 0x71, 0xa1, 0x51, 0xd1, 0x34, 0xfe, 0x2c, 0xc7, 0xf1, 0x12, 0xa5, 0xaf, 0x4b, 0x1e, 0xee, 0x81, - 0x6e, 0x3b, 0x16, 0x5b, 0xa1, 0x8b, 0x1a, 0x95, 0x1d, 0xd2, 0x93, 0x69, 0x56, 0xfb, 0x4c, 0xb7, - 0x31, 0x31, 0x3f, 0x0f, 0x13, 0x73, 0xe5, 0x33, 0x57, 0x91, 0x72, 0xb1, 0x8e, 0xe7, 0xbb, 0xee, - 0x04, 0xf7, 0xf6, 0x59, 0xeb, 0xa0, 0x3c, 0x91, 0x3a, 0xaa, 0xa9, 0xa4, 0xac, 0x4e, 0xb7, 0x16, - 0x87, 0xe0, 0xcf, 0xa2, 0x30, 0x48, 0x12, 0xec, 0x4b, 0x7e, 0x5b, 0x63, 0x37, 0x8e, 0xff, 0x08, - 0x6e, 0xc6, 0x1e, 0x90, 0xcb, 0xd4, 0x92, 0x15, 0x52, 0x9a, 0x47, 0xe4, 0x2b, 0xd0, 0x2d, 0x7b, - 0x32, 0x29, 0xae, 0x11, 0xe4, 0xb4, 0xf1, 0x7b, 0x19, 0xaa, 0x32, 0xc1, 0x93, 0x6b, 0x82, 0xfd, - 0xa6, 0xed, 0x0c, 0x6d, 0x2b, 0x64, 0x0e, 0xf6, 0x07, 0x56, 0xe2, 0xd0, 0xca, 0xa9, 0x43, 0x23, - 0x50, 0xe1, 0xf6, 0x82, 0x29, 0x5c, 0x60, 0x9b, 0x5c, 0x85, 0x9a, 0xb3, 0x5c, 0x0c, 0xf9, 0x4a, - 0x06, 0xa6, 0x4e, 0xab, 0xce, 0x72, 0x71, 0xb6, 0x0a, 0xc8, 0x11, 0x6c, 0x26, 0xe0, 0x61, 0x5b, - 0x2a, 0xa9, 0x6d, 0x29, 0xd7, 0xd0, 0xef, 0xc1, 0x29, 0x5d, 0x8f, 0x30, 0x32, 0xb0, 0x48, 0x07, - 0x90, 0x2a, 0x43, 0x99, 0x38, 0x24, 0x6d, 0xaa, 0x48, 0x9b, 0x2d, 0x31, 0xae, 0x32, 0x8b, 0xa8, - 0x5e, 0xae, 0x43, 0x43, 0x9c, 0xa4, 0x34, 0xa9, 0xa1, 0x49, 0x5d, 0x0c, 0xe0, 0xe4, 0x2d, 0xd8, - 0x8e, 0x8b, 0x0f, 0x69, 0x52, 0x97, 0xab, 0xc4, 0xc3, 0x68, 0x78, 0x0d, 0xea, 0x11, 0xd5, 0x1a, - 0x68, 0x51, 0x33, 0x15, 0xcc, 0x06, 0x50, 0x53, 0x2e, 0xe6, 0x56, 0x4f, 0xb7, 0x41, 0xf7, 0x4c, - 0x9f, 0x07, 0xaa, 0x68, 0x08, 0x73, 0xda, 0x2b, 0xd3, 0x17, 0x75, 0xab, 0xaa, 0xa1, 0xa4, 0x89, - 0x71, 0x0c, 0x9b, 0xa9, 0x71, 0x71, 0xfd, 0xb8, 0xcb, 0xcd, 0x39, 0xae, 0xa8, 0x53, 0xd9, 0x89, - 0x7e, 0xa6, 0x1c, 0xff, 0x8c, 0xf1, 0x18, 0x1a, 0xd1, 0x37, 0x14, 0x47, 0xed, 0x2d, 0x47, 0xc3, - 0xb0, 0x14, 0xde, 0xa0, 0x55, 0x6f, 0x39, 0x7a, 0x21, 0xab, 0x61, 0xcf, 0x7d, 0xaf, 0x2a, 0x39, - 0x8d, 0xca, 0x8e, 0xf1, 0x04, 0xea, 0x61, 0xa5, 0x55, 0x2c, 0x2d, 0xf8, 0xd4, 0xc6, 0x1f, 0x25, - 0xa8, 0x4a, 0xf8, 0xe5, 0x54, 0xdf, 0x5f, 0x63, 0x59, 0xba, 0x64, 0x43, 0xb1, 0x69, 0x14, 0x6e, - 0x45, 0x2f, 0x3e, 0x29, 0x3a, 0x3c, 0xbb, 0xf0, 0x18, 0x6d, 0xa0, 0x95, 0x68, 0x92, 0x9b, 0xb0, - 0x21, 0x25, 0x01, 0xf7, 0x6d, 0x27, 0x0c, 0xfd, 0x75, 0x1c, 0x7b, 0x8d, 0x43, 0xe2, 0x93, 0x4a, - 0x13, 0xdb, 0xe1, 0x0a, 0x72, 0x75, 0x1c, 0x18, 0x38, 0xdc, 0xb8, 0x0e, 0x15, 0x5c, 0x07, 0xa0, - 0xfa, 0xfa, 0x8c, 0x0e, 0x5e, 0x7e, 0xdf, 0x5c, 0x23, 0x35, 0xd0, 0x06, 0x2f, 0xcf, 0x9a, 0xa5, - 0xa3, 0x0f, 0x3a, 0x6c, 0x9f, 0xf4, 0x9e, 0x0e, 0x4e, 0x3c, 0x6f, 0x6e, 0x8f, 0x4d, 0xcc, 0x3b, - 0x5d, 0xa8, 0x60, 0x66, 0xcd, 0x79, 0xe0, 0xb6, 0xf3, 0x4a, 0x3c, 0x72, 0x04, 0x3a, 0x26, 0x58, - 0x92, 0xf7, 0xce, 0x6d, 0xe7, 0x56, 0x7a, 0xe2, 0x47, 0x64, 0x0a, 0xbe, 0xfc, 0xdc, 0x6d, 0xe7, - 0x95, 0x7b, 0xe4, 0x3b, 0x68, 0xc4, 0xa9, 0xb1, 0xe8, 0xd1, 0xdb, 0x2e, 0x2c, 0xfc, 0x84, 0x3e, - 0x4e, 0x8f, 0x45, 0x4f, 0xdf, 0x76, 0x61, 0xf5, 0x47, 0x1e, 0x41, 0x2d, 0xcc, 0x5c, 0xf9, 0x0f, - 0xe0, 0x76, 0x41, 0x01, 0x28, 0x8e, 0x47, 0xe6, 0x93, 0xbc, 0x77, 0x6d, 0x3b, 0xb7, 0xa6, 0x23, - 0x0f, 0xa1, 0xaa, 0x50, 0x9a, 0xfb, 0x76, 0x6e, 0xe7, 0x57, 0x8e, 0x62, 0x93, 0xf1, 0x13, 0xa8, - 0xe8, 0x51, 0xdc, 0x2e, 0xac, 0x09, 0xc9, 0x09, 0x40, 0xe2, 0xed, 0x53, 0xf8, 0x34, 0x6e, 0x17, - 0x57, 0x86, 0x44, 0xdc, 0x9d, 0xe8, 0xf5, 0x91, 0xff, 0x40, 0x6e, 0x17, 0x15, 0x87, 0xa3, 0x2a, - 0xfe, 0xd3, 0xe5, 0xc1, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x00, 0x4d, 0x6a, 0x92, 0xbf, 0x11, - 0x00, 0x00, + // 1756 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0xcd, 0x6e, 0x1c, 0xc7, + 0x11, 0xe6, 0xee, 0xec, 0x6f, 0xf1, 0x67, 0x97, 0x4d, 0xca, 0x5a, 0xad, 0x0e, 0x96, 0x07, 0x08, + 0x4c, 0xc9, 0x16, 0x69, 0xd3, 0x70, 0x20, 0xda, 0x41, 0x00, 0x2d, 0x29, 0x69, 0x17, 0x06, 0x14, + 0x65, 0x48, 0xf8, 0xba, 0xe9, 0x9d, 0x69, 0xee, 0x0e, 0xb4, 0x3b, 0x33, 0x9e, 0xe9, 0xa5, 0x97, + 0x42, 0x1e, 0xc1, 0xc8, 0x35, 0xe7, 0xe4, 0x12, 0x20, 0x2f, 0x90, 0x63, 0x6e, 0x41, 0x9e, 0xc1, + 0x07, 0x3f, 0x4b, 0x50, 0xd5, 0x3d, 0xbf, 0x9c, 0x31, 0x02, 0x1d, 0x74, 0x19, 0x74, 0x77, 0xd5, + 0x57, 0x53, 0xdd, 0x5d, 0xfd, 0x55, 0x75, 0xc3, 0xbe, 0xbc, 0x0d, 0x44, 0x74, 0x42, 0xdf, 0xe3, + 0x20, 0xf4, 0xa5, 0xcf, 0x9a, 0xd4, 0x19, 0x3e, 0x9d, 0xbb, 0x72, 0xb1, 0x9e, 0x1d, 0xdb, 0xfe, + 0xea, 0x64, 0xee, 0xcf, 0xfd, 0x13, 0x92, 0xce, 0xd6, 0xd7, 0xd4, 0xa3, 0x0e, 0xb5, 0x14, 0xca, + 0xfc, 0x4f, 0x03, 0xda, 0x96, 0xf8, 0x61, 0x2d, 0x22, 0xc9, 0x8e, 0xa0, 0x21, 0xec, 0x85, 0x3f, + 0xa8, 0x3d, 0xaa, 0x1d, 0x6d, 0x9f, 0xb2, 0x63, 0x65, 0x5d, 0x4b, 0x5f, 0xd8, 0x0b, 0x7f, 0xbc, + 0x65, 0x91, 0x06, 0xfb, 0x0c, 0x9a, 0xd7, 0xcb, 0x75, 0xb4, 0x18, 0xd4, 0x49, 0xf5, 0x20, 0xaf, + 0xfa, 0x12, 0x45, 0xe3, 0x2d, 0x4b, 0xe9, 0xa0, 0x59, 0xd7, 0xbb, 0xf6, 0x07, 0x46, 0x99, 0xd9, + 0x89, 0x77, 0x4d, 0x66, 0x51, 0x83, 0x3d, 0x03, 0x88, 0x84, 0x9c, 0xfa, 0x81, 0x74, 0x7d, 0x6f, + 0xd0, 0x20, 0xfd, 0xfb, 0x79, 0xfd, 0x4b, 0x21, 0xff, 0x40, 0xe2, 0xf1, 0x96, 0xd5, 0x8d, 0xe2, + 0x0e, 0x22, 0x1d, 0xb1, 0x74, 0x6f, 0x44, 0x38, 0x95, 0x9b, 0x41, 0xb3, 0x0c, 0x79, 0xa1, 0xe4, + 0x57, 0x1b, 0x44, 0x3a, 0x71, 0x87, 0x9d, 0x42, 0xc7, 0x5e, 0x08, 0xfb, 0x2d, 0xe2, 0x5a, 0x84, + 0xbb, 0x97, 0xc7, 0x9d, 0xa3, 0x94, 0x50, 0x6d, 0x5b, 0x35, 0xd9, 0x31, 0xb4, 0x6c, 0x7f, 0xb5, + 0x72, 0xe5, 0xa0, 0x4d, 0x88, 0xc3, 0x02, 0x82, 0x64, 0xe3, 0x2d, 0x4b, 0x6b, 0xe1, 0x72, 0xfd, + 0xb0, 0x16, 0xe1, 0xed, 0xa0, 0x53, 0xb6, 0x5c, 0x7f, 0x44, 0x11, 0x2e, 0x17, 0xe9, 0xe0, 0x54, + 0x5c, 0xcf, 0x95, 0x53, 0x7b, 0xc1, 0x5d, 0x6f, 0xd0, 0x2d, 0x9b, 0xca, 0xc4, 0x73, 0xe5, 0x39, + 0x8a, 0x71, 0x2a, 0x6e, 0xdc, 0x61, 0xdf, 0xc2, 0xf6, 0x4c, 0xcc, 0x5d, 0x6f, 0x3a, 0x5b, 0xfa, + 0xf6, 0xdb, 0x01, 0x10, 0x74, 0x90, 0x87, 0x8e, 0x50, 0x61, 0x84, 0xf2, 0xf1, 0x96, 0x05, 0xb3, + 0xa4, 0xc7, 0xbe, 0x86, 0xae, 0xf0, 0x1c, 0x0d, 0xdd, 0x26, 0xe8, 0x47, 0x85, 0x08, 0xf0, 0x9c, + 0x18, 0xd8, 0x11, 0xba, 0x3d, 0x6a, 0x43, 0xf3, 0x86, 0x2f, 0xd7, 0xc2, 0xfc, 0x14, 0xb6, 0x33, + 0x91, 0xc2, 0x06, 0xd0, 0x5e, 0x89, 0x28, 0xe2, 0x73, 0x41, 0xe1, 0xd4, 0xb5, 0xe2, 0xae, 0xb9, + 0x07, 0x3b, 0xd9, 0x38, 0xc9, 0x00, 0x31, 0x16, 0x10, 0x78, 0x23, 0xc2, 0x08, 0x03, 0x40, 0x03, + 0x75, 0xd7, 0xfc, 0x06, 0xfa, 0xc5, 0x20, 0x60, 0x7d, 0x30, 0xde, 0x8a, 0x5b, 0xad, 0x89, 0x4d, + 0x76, 0xa8, 0x1d, 0xa2, 0xd0, 0xec, 0x5a, 0xda, 0x3b, 0x33, 0xc1, 0x26, 0x61, 0xc0, 0xf6, 0xa0, + 0x2e, 0x37, 0x04, 0xdd, 0xb1, 0xea, 0x72, 0x63, 0x3e, 0x82, 0xbd, 0xfc, 0x96, 0xdf, 0xd1, 0x70, + 0x12, 0xd7, 0x69, 0xcf, 0x18, 0x83, 0x86, 0xc3, 0x25, 0xd7, 0x1a, 0xd4, 0xc6, 0xb1, 0x80, 0xcb, + 0x85, 0xfe, 0x3d, 0xb5, 0xd9, 0x47, 0xd0, 0x5a, 0x08, 0x77, 0xbe, 0x90, 0x74, 0x06, 0x0c, 0x4b, + 0xf7, 0xd0, 0xd7, 0x20, 0xf4, 0x6f, 0x04, 0x85, 0x7a, 0xc7, 0x52, 0x1d, 0xb3, 0x07, 0xbb, 0xb9, + 0x40, 0x32, 0x2f, 0x12, 0xe7, 0x93, 0x8d, 0x67, 0x5f, 0x00, 0xdc, 0xf0, 0xa5, 0xeb, 0x70, 0xe9, + 0x87, 0xd1, 0xa0, 0xf6, 0xc8, 0x38, 0xda, 0x3e, 0xed, 0xeb, 0xfd, 0xfa, 0x3e, 0x16, 0x58, 0x19, + 0x1d, 0xf3, 0xdf, 0x35, 0xd8, 0xbf, 0x13, 0x04, 0xe8, 0xee, 0x82, 0x47, 0x8b, 0x78, 0x0a, 0xd8, + 0x66, 0xbf, 0x41, 0x77, 0xb9, 0x23, 0x42, 0x7d, 0xbc, 0x77, 0xb5, 0xdd, 0x31, 0x0d, 0x5a, 0x5a, + 0xc8, 0x3e, 0x83, 0x7d, 0x3e, 0x8b, 0x84, 0x27, 0xa7, 0x19, 0x4f, 0x8c, 0x47, 0xc6, 0x51, 0xd3, + 0xea, 0x2b, 0x41, 0xe2, 0x48, 0xc4, 0x46, 0x70, 0x38, 0xbb, 0x7d, 0xc7, 0x3d, 0xe9, 0x7a, 0x22, + 0xab, 0xdf, 0x20, 0xcf, 0x7b, 0xfa, 0x0f, 0x2f, 0x6e, 0x5c, 0x47, 0x78, 0xb6, 0xb0, 0x0e, 0x12, + 0xe5, 0xd4, 0x86, 0xf9, 0x18, 0x7a, 0x85, 0x50, 0xcc, 0xac, 0x6c, 0x2d, 0xbb, 0xb2, 0xe6, 0x4f, + 0x4d, 0xe8, 0x58, 0x22, 0x0a, 0x7c, 0x2f, 0x12, 0xec, 0x19, 0x74, 0xc5, 0xc6, 0x16, 0x8a, 0x55, + 0x6a, 0x85, 0x53, 0xa1, 0x74, 0x5e, 0xc4, 0x72, 0x3c, 0x51, 0x89, 0x32, 0x7b, 0xac, 0x19, 0xb1, + 0x48, 0x73, 0x1a, 0x94, 0xa5, 0xc4, 0xcf, 0x63, 0x4a, 0x34, 0x0a, 0x94, 0xa0, 0x74, 0x0b, 0x9c, + 0xf8, 0x58, 0x73, 0x62, 0xa3, 0xd4, 0x70, 0x8e, 0x14, 0xcf, 0x72, 0xa4, 0xd8, 0x2c, 0x75, 0xbf, + 0x82, 0x15, 0xcf, 0x72, 0xac, 0xd8, 0x2a, 0x85, 0x56, 0xd0, 0xe2, 0x57, 0x19, 0x5a, 0x6c, 0x17, + 0xd8, 0x40, 0x01, 0x4b, 0x78, 0xf1, 0x24, 0xe1, 0xc5, 0x4e, 0x81, 0x49, 0x35, 0xa4, 0x48, 0x8c, + 0x9f, 0xc7, 0xc4, 0xd8, 0x2d, 0x5d, 0xb4, 0x02, 0x33, 0x9e, 0xe5, 0x98, 0x11, 0x4a, 0xa7, 0x53, + 0x41, 0x8d, 0xbf, 0xcb, 0x53, 0xa3, 0xe2, 0xb7, 0x07, 0x05, 0x6c, 0x25, 0x37, 0xfe, 0x36, 0xcb, + 0x8d, 0x3b, 0x05, 0x46, 0xd6, 0xb1, 0xf0, 0xab, 0xe4, 0xf8, 0x18, 0x8f, 0x5e, 0x21, 0xd2, 0xf0, + 0xf4, 0x8b, 0x30, 0xf4, 0x43, 0xcd, 0x5e, 0xaa, 0x63, 0x1e, 0x21, 0xc7, 0xa4, 0xf1, 0xf5, 0x2b, + 0x44, 0x4a, 0x3c, 0x91, 0x89, 0x2e, 0xf3, 0xaf, 0xb5, 0x14, 0x4b, 0x5c, 0x9a, 0xe5, 0xa7, 0xae, + 0xe6, 0xa7, 0x0c, 0xbf, 0xd6, 0x73, 0xfc, 0xca, 0x9e, 0xc0, 0xfe, 0x92, 0x47, 0x52, 0x4d, 0x73, + 0x9a, 0x23, 0xac, 0x1e, 0x0a, 0xd4, 0xfc, 0x14, 0x73, 0x3d, 0x85, 0x83, 0x8c, 0x2e, 0x0f, 0x82, + 0x29, 0xb1, 0x48, 0x83, 0x58, 0xa4, 0x9f, 0x68, 0x3f, 0x0f, 0x82, 0x31, 0x8f, 0x16, 0xe6, 0x59, + 0x3a, 0xff, 0x94, 0xbb, 0x19, 0x34, 0x6c, 0xdf, 0x51, 0xd3, 0xda, 0xb5, 0xa8, 0x8d, 0x7c, 0xbe, + 0xf4, 0xe7, 0xda, 0x33, 0x6c, 0x9a, 0x7f, 0xaf, 0xa5, 0xd8, 0x94, 0xbb, 0xcb, 0xb0, 0x17, 0x7a, + 0xb6, 0x08, 0xde, 0x19, 0x7d, 0xf1, 0xdf, 0x5f, 0x3e, 0xde, 0xfa, 0xf9, 0x97, 0x8f, 0x8f, 0x32, + 0xf5, 0x90, 0x14, 0x9e, 0x23, 0xc2, 0x95, 0xeb, 0xc9, 0x93, 0xb9, 0xff, 0xf4, 0x47, 0x37, 0x14, + 0x27, 0x88, 0x38, 0x1e, 0xdd, 0x4a, 0x11, 0xe9, 0xf5, 0xd1, 0x1e, 0x18, 0x89, 0x07, 0xec, 0x13, + 0x68, 0x48, 0x3e, 0x8f, 0xa9, 0x2a, 0x26, 0xc3, 0xef, 0xbe, 0x7f, 0xc3, 0xdd, 0xd0, 0x22, 0x91, + 0xf9, 0xb7, 0x1a, 0x52, 0x53, 0xee, 0x5c, 0x7c, 0x50, 0x17, 0xfb, 0x60, 0xcc, 0x79, 0x44, 0xcb, + 0x6f, 0x58, 0xd8, 0xc4, 0x91, 0x6b, 0x21, 0x88, 0x2e, 0x0c, 0x0b, 0x9b, 0xe6, 0xbf, 0xea, 0x69, + 0xbc, 0x24, 0xe9, 0xeb, 0x8e, 0x87, 0x87, 0xd0, 0x74, 0x3d, 0x47, 0x6c, 0xc8, 0x45, 0xc3, 0x52, + 0x1d, 0x36, 0x52, 0x69, 0xd6, 0x78, 0x4f, 0xb7, 0x29, 0x31, 0xbf, 0x8c, 0x13, 0x73, 0xe3, 0x3d, + 0xad, 0x28, 0x38, 0xda, 0x09, 0x42, 0xdf, 0xbf, 0xa6, 0xb9, 0xbd, 0x97, 0x1d, 0x82, 0x67, 0x52, + 0x47, 0x2b, 0x97, 0x94, 0xf5, 0xea, 0xb6, 0xd3, 0x10, 0xfc, 0x33, 0x16, 0x06, 0x59, 0x06, 0xfb, + 0x90, 0x7b, 0x6b, 0x1e, 0xa4, 0xf1, 0x9f, 0x90, 0x9b, 0x79, 0x08, 0xec, 0x2e, 0x6b, 0x99, 0x7f, + 0xa9, 0x61, 0xa5, 0x90, 0x27, 0x24, 0xf6, 0x04, 0xda, 0xf6, 0x82, 0x7b, 0x73, 0x51, 0x5d, 0x26, + 0xc4, 0x0a, 0xec, 0x35, 0xdc, 0xb7, 0x11, 0xec, 0x45, 0xeb, 0x68, 0x1a, 0xf0, 0x90, 0xaf, 0xa6, + 0x31, 0xb6, 0x9e, 0x4b, 0x02, 0xe7, 0xb1, 0xd6, 0x1b, 0x54, 0x8a, 0xac, 0x7b, 0x76, 0x6e, 0xe0, + 0x5c, 0x81, 0xcc, 0x9f, 0x6b, 0xd0, 0x2b, 0xa8, 0xb2, 0x11, 0xec, 0x2b, 0xd6, 0x88, 0xdc, 0x77, + 0x42, 0xfd, 0x24, 0xd2, 0x59, 0x39, 0xb6, 0x4e, 0x8e, 0x5f, 0xba, 0xef, 0x84, 0xb6, 0xde, 0x9b, + 0xe5, 0x07, 0xd8, 0x19, 0xec, 0xc9, 0x4d, 0xce, 0x40, 0x3e, 0x43, 0x5f, 0x6d, 0x32, 0xe8, 0x1d, + 0x99, 0xe9, 0xb1, 0x31, 0x1c, 0xa8, 0xdf, 0xcf, 0xfd, 0x28, 0x72, 0x83, 0x18, 0x6f, 0xe4, 0xb2, + 0x09, 0x39, 0xf0, 0x8a, 0x14, 0xb4, 0x11, 0xe5, 0x73, 0x76, 0xc8, 0xfc, 0x13, 0xf4, 0x0a, 0x8e, + 0xb2, 0x87, 0xd0, 0x5d, 0xf1, 0xcd, 0x74, 0x86, 0x1b, 0x4a, 0x73, 0x6a, 0x5a, 0x9d, 0x15, 0xdf, + 0xd0, 0x06, 0xb3, 0xfb, 0xd0, 0x46, 0xa1, 0xdc, 0x28, 0x6f, 0x9b, 0x56, 0x6b, 0xc5, 0x37, 0x57, + 0x9b, 0x44, 0x80, 0x27, 0x58, 0xd7, 0x87, 0x2b, 0xbe, 0x79, 0xc5, 0x23, 0xf3, 0x02, 0x76, 0xb2, + 0x33, 0xf9, 0xbf, 0xcc, 0xa3, 0x95, 0x7a, 0xce, 0xca, 0x4b, 0xd8, 0xbf, 0x33, 0x1f, 0xf6, 0x25, + 0xdc, 0x53, 0xcb, 0x10, 0xf0, 0x50, 0xaa, 0x95, 0xcc, 0x9a, 0x65, 0x24, 0x7c, 0xc3, 0x43, 0x89, + 0xbf, 0xa7, 0x1f, 0x98, 0xff, 0xa8, 0x43, 0x4b, 0x95, 0x80, 0xec, 0x01, 0x56, 0x07, 0xdc, 0xf5, + 0xa6, 0xae, 0x13, 0x67, 0x25, 0xea, 0x4f, 0x9c, 0xcc, 0xb1, 0xaa, 0xe7, 0x8e, 0x15, 0x83, 0x86, + 0x74, 0x57, 0x42, 0xcf, 0x90, 0xda, 0xe8, 0xb2, 0xb7, 0x5e, 0xd1, 0x8a, 0x34, 0xd4, 0x8a, 0x78, + 0xeb, 0x15, 0xae, 0xc8, 0x29, 0xec, 0x66, 0xd2, 0x8b, 0xeb, 0xe8, 0xb2, 0x67, 0x2f, 0xbb, 0x3d, + 0x93, 0x0b, 0x6b, 0x3b, 0x49, 0x34, 0x13, 0x87, 0x1d, 0x01, 0xe5, 0x9d, 0xa9, 0x2a, 0x2d, 0x54, + 0x3e, 0x6a, 0x51, 0x3e, 0xda, 0xc3, 0x71, 0x5d, 0x7b, 0x60, 0x7d, 0xfb, 0x10, 0xba, 0x78, 0xd6, + 0x94, 0x4a, 0x9b, 0x54, 0x3a, 0x38, 0x40, 0xc2, 0x4f, 0xa1, 0x97, 0x96, 0xa7, 0x4a, 0xa5, 0xa3, + 0xac, 0xa4, 0xc3, 0xa4, 0xf8, 0x00, 0x3a, 0x49, 0xde, 0xeb, 0x92, 0x46, 0x9b, 0xeb, 0x74, 0x37, + 0x81, 0xb6, 0x76, 0xb1, 0xb4, 0xbe, 0x7e, 0x02, 0x4d, 0x5c, 0xf5, 0x38, 0x68, 0xe3, 0xaa, 0x87, + 0x56, 0x5b, 0x48, 0x5d, 0x65, 0x2b, 0x15, 0xf3, 0x0c, 0x76, 0x73, 0xe3, 0x48, 0xd0, 0xd2, 0x97, + 0x7c, 0xa9, 0x37, 0x4a, 0x75, 0x92, 0xdf, 0xd4, 0xd3, 0xdf, 0x98, 0xdf, 0x40, 0x37, 0x39, 0xe2, + 0xb8, 0xd4, 0xc1, 0x7a, 0x36, 0x8d, 0x2f, 0x4b, 0x3b, 0x56, 0x2b, 0x58, 0xcf, 0xbe, 0x53, 0xf7, + 0xa5, 0xc0, 0xff, 0x51, 0xd7, 0xfa, 0x86, 0xa5, 0x3a, 0xe6, 0xb7, 0xd0, 0x89, 0x6b, 0xf1, 0x6a, + 0x68, 0xc5, 0x56, 0x9b, 0xff, 0xac, 0x41, 0x4b, 0xa5, 0xc7, 0x92, 0xfb, 0xd9, 0x97, 0x74, 0x71, + 0x59, 0x8b, 0x29, 0x4e, 0x9a, 0x80, 0x7b, 0xc9, 0x9b, 0x80, 0x02, 0x1d, 0x5f, 0xdd, 0x06, 0xc2, + 0xea, 0x92, 0x16, 0x36, 0xd9, 0x27, 0xb0, 0xa3, 0x20, 0x91, 0x0c, 0x5d, 0x2f, 0x26, 0xc7, 0x6d, + 0x1a, 0xbb, 0xa4, 0x21, 0xdc, 0x52, 0xa5, 0xe2, 0x7a, 0x52, 0xa7, 0xc1, 0x0e, 0x0d, 0x4c, 0x3c, + 0x69, 0x3e, 0x84, 0x06, 0xd9, 0x01, 0x68, 0x5d, 0x5e, 0x59, 0x93, 0xd7, 0xaf, 0xfa, 0x5b, 0xac, + 0x0d, 0xc6, 0xe4, 0xf5, 0x55, 0xbf, 0x76, 0xfa, 0x53, 0x13, 0x7a, 0xcf, 0x47, 0xe7, 0x93, 0xe7, + 0x41, 0xb0, 0x74, 0x6d, 0x4e, 0x95, 0xc9, 0x09, 0x34, 0xa8, 0xf6, 0x2a, 0x79, 0x02, 0x19, 0x96, + 0x5d, 0x02, 0xd8, 0x29, 0x34, 0xa9, 0x04, 0x63, 0x65, 0x2f, 0x21, 0xc3, 0xd2, 0xbb, 0x00, 0xfe, + 0x44, 0x15, 0x69, 0x77, 0x1f, 0x44, 0x86, 0x65, 0x17, 0x02, 0xf6, 0x7b, 0xe8, 0xa6, 0xc5, 0x53, + 0xd5, 0xb3, 0xc8, 0xb0, 0xf2, 0x6a, 0x80, 0xf8, 0xb4, 0x80, 0xaa, 0x7a, 0x1c, 0x19, 0x56, 0xde, + 0x0f, 0xd8, 0x33, 0x68, 0xc7, 0xb5, 0x4d, 0xf9, 0x13, 0xc9, 0xb0, 0xe2, 0x8a, 0x80, 0xcb, 0xa3, + 0x2a, 0x8e, 0xb2, 0x97, 0x8f, 0x61, 0x69, 0xd5, 0xcf, 0xbe, 0x86, 0x96, 0x4e, 0xb6, 0xa5, 0xaf, + 0x2b, 0xc3, 0xf2, 0xbb, 0x05, 0x4e, 0x32, 0xbd, 0x24, 0x57, 0x3d, 0x9b, 0x0c, 0x2b, 0x6f, 0x0d, + 0xec, 0x39, 0x40, 0xe6, 0x76, 0x5c, 0xf9, 0x78, 0x32, 0xac, 0xbe, 0x3b, 0x30, 0x3c, 0x3b, 0xc9, + 0xfd, 0xb4, 0xfc, 0x09, 0x65, 0x58, 0x75, 0x7d, 0x98, 0xb5, 0xe8, 0x59, 0xee, 0xab, 0xff, 0x05, + 0x00, 0x00, 0xff, 0xff, 0x2b, 0x22, 0xd6, 0xe4, 0xe1, 0x13, 0x00, 0x00, } diff --git a/types/types.proto b/types/types.proto index 516cca15b..59424e75d 100644 --- a/types/types.proto +++ b/types/types.proto @@ -157,7 +157,35 @@ message ResponseBeginBlock{ } message ResponseEndBlock{ - repeated Validator diffs = 1; + repeated Validator changes = 1; + ConsensusParams consensus_param_changes = 2; +} + +message ConsensusParams{ + BlockSizeParams block_size_params = 1; + TxSizeParams tx_size_params = 2; + BlockGossipParams block_gossip_params = 3; +} + +// BlockSizeParams contain limits on the block size. +message BlockSizeParams{ + // NOTE: must not be 0 nor greater than 100MB + int32 max_bytes = 1; + int32 max_txs = 2; + int64 max_gas = 3; +} + +// TxSizeParams contain limits on the tx size. +message TxSizeParams { + int32 max_bytes = 1; + int64 max_gas = 2; +} + +// BlockGossipParams determine consensus critical +// elements of how blocks are gossiped +message BlockGossipParams { + // Note: must not be 0 + int32 block_part_size_bytes = 1; } //---------------------------------------- From 895e14d6bd9cdad98eab4a051decbaad46f7eebd Mon Sep 17 00:00:00 2001 From: Ethan Frey Date: Wed, 13 Dec 2017 17:57:43 +0100 Subject: [PATCH 05/17] Update Diffs to Changes, fix README --- README.md | 3 ++- example/dummy/dummy_test.go | 2 +- example/dummy/persistent_dummy.go | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 46abcc4fd..025479e46 100644 --- a/README.md +++ b/README.md @@ -185,7 +185,8 @@ Here, we describe the requests and responses as function arguments and return va * __Arguments__: * `Height (int64)`: The block height that ended * __Returns__: - * `Diffs ([]Validator)`: Changed validators with new voting powers (0 to remove) + * `Changes ([]Validator)`: Changed validators with new voting powers (0 to remove) + * `ConsensusParamChanges (ConsensusParams)`: Communicate changes to consensus-critical time/size parameters to tendermint core * __Usage__:
Signals the end of a block. Called prior to each Commit after all transactions. Validator set is updated with the result. diff --git a/example/dummy/dummy_test.go b/example/dummy/dummy_test.go index bfe9ef7a9..2d075b0bb 100644 --- a/example/dummy/dummy_test.go +++ b/example/dummy/dummy_test.go @@ -188,7 +188,7 @@ func makeApplyBlock(t *testing.T, dummy types.Application, heightInt int, diff [ resEndBlock := dummy.EndBlock(types.RequestEndBlock{header.Height}) dummy.Commit() - valsEqual(t, diff, resEndBlock.Diffs) + valsEqual(t, diff, resEndBlock.Changes) } diff --git a/example/dummy/persistent_dummy.go b/example/dummy/persistent_dummy.go index 6f389c507..f00b74734 100644 --- a/example/dummy/persistent_dummy.go +++ b/example/dummy/persistent_dummy.go @@ -125,7 +125,7 @@ func (app *PersistentDummyApplication) BeginBlock(req types.RequestBeginBlock) t // Update the validator set func (app *PersistentDummyApplication) EndBlock(req types.RequestEndBlock) types.ResponseEndBlock { - return types.ResponseEndBlock{Diffs: app.changes} + return types.ResponseEndBlock{Changes: app.changes} } //--------------------------------------------- From 9c5e1a824d0c649ba90c91d8429fad771df5b71d Mon Sep 17 00:00:00 2001 From: Ethan Frey Date: Thu, 14 Dec 2017 09:27:20 +0100 Subject: [PATCH 06/17] Updated naming of EndBlock parameters * Changes -> Updates for validators * ConsensusParams.XXXParams -> ConsensusParams.XXX * As per feedback from Jae on PR --- README.md | 4 +- example/dummy/dummy_test.go | 4 +- example/dummy/persistent_dummy.go | 10 +- types/types.pb.go | 313 +++++++++++++++--------------- types/types.proto | 24 +-- 5 files changed, 179 insertions(+), 176 deletions(-) diff --git a/README.md b/README.md index 025479e46..9686a6a04 100644 --- a/README.md +++ b/README.md @@ -185,8 +185,8 @@ Here, we describe the requests and responses as function arguments and return va * __Arguments__: * `Height (int64)`: The block height that ended * __Returns__: - * `Changes ([]Validator)`: Changed validators with new voting powers (0 to remove) - * `ConsensusParamChanges (ConsensusParams)`: Communicate changes to consensus-critical time/size parameters to tendermint core + * `Updates ([]Validator)`: Updated validators with new voting powers (0 to remove) + * `ConsensusParamChanges (ConsensusParams)`: Changes to consensus-critical time/size parameters to tendermint core * __Usage__:
Signals the end of a block. Called prior to each Commit after all transactions. Validator set is updated with the result. diff --git a/example/dummy/dummy_test.go b/example/dummy/dummy_test.go index 2d075b0bb..4be4f688a 100644 --- a/example/dummy/dummy_test.go +++ b/example/dummy/dummy_test.go @@ -107,7 +107,7 @@ func TestPersistentDummyInfo(t *testing.T) { } // add a validator, remove a validator, update a validator -func TestValSetChanges(t *testing.T) { +func TestValSetUpdates(t *testing.T) { dir, err := ioutil.TempDir("/tmp", "abci-dummy-test") // TODO if err != nil { t.Fatal(err) @@ -188,7 +188,7 @@ func makeApplyBlock(t *testing.T, dummy types.Application, heightInt int, diff [ resEndBlock := dummy.EndBlock(types.RequestEndBlock{header.Height}) dummy.Commit() - valsEqual(t, diff, resEndBlock.Changes) + valsEqual(t, diff, resEndBlock.Updates) } diff --git a/example/dummy/persistent_dummy.go b/example/dummy/persistent_dummy.go index f00b74734..a822deebc 100644 --- a/example/dummy/persistent_dummy.go +++ b/example/dummy/persistent_dummy.go @@ -28,7 +28,7 @@ type PersistentDummyApplication struct { app *DummyApplication // validator set - changes []*types.Validator + updates []*types.Validator logger log.Logger } @@ -71,7 +71,7 @@ func (app *PersistentDummyApplication) DeliverTx(tx []byte) types.ResponseDelive // format is "val:pubkey/power" if isValidatorTx(tx) { // update validators in the merkle tree - // and in app.changes + // and in app.updates return app.execValidatorTx(tx) } @@ -119,13 +119,13 @@ func (app *PersistentDummyApplication) InitChain(req types.RequestInitChain) typ // Track the block hash and header information func (app *PersistentDummyApplication) BeginBlock(req types.RequestBeginBlock) types.ResponseBeginBlock { // reset valset changes - app.changes = make([]*types.Validator, 0) + app.updates = make([]*types.Validator, 0) return types.ResponseBeginBlock{} } // Update the validator set func (app *PersistentDummyApplication) EndBlock(req types.RequestEndBlock) types.ResponseEndBlock { - return types.ResponseEndBlock{Changes: app.changes} + return types.ResponseEndBlock{Updates: app.updates} } //--------------------------------------------- @@ -216,7 +216,7 @@ func (app *PersistentDummyApplication) updateValidator(v *types.Validator) types } // we only update the changes array if we successfully updated the tree - app.changes = append(app.changes, v) + app.updates = append(app.updates, v) return types.ResponseDeliverTx{Code: code.CodeTypeOK} } diff --git a/types/types.pb.go b/types/types.pb.go index 5a0e9b7a8..b3ebc1de1 100644 --- a/types/types.pb.go +++ b/types/types.pb.go @@ -34,9 +34,9 @@ It has these top-level messages: ResponseBeginBlock ResponseEndBlock ConsensusParams - BlockSizeParams - TxSizeParams - BlockGossipParams + BlockSize + TxSize + BlockGossip Header BlockID PartSetHeader @@ -1398,8 +1398,8 @@ func (*ResponseBeginBlock) ProtoMessage() {} func (*ResponseBeginBlock) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{23} } type ResponseEndBlock struct { - Changes []*Validator `protobuf:"bytes,1,rep,name=changes" json:"changes,omitempty"` - ConsensusParamChanges *ConsensusParams `protobuf:"bytes,2,opt,name=consensus_param_changes,json=consensusParamChanges" json:"consensus_param_changes,omitempty"` + Updates []*Validator `protobuf:"bytes,1,rep,name=updates" json:"updates,omitempty"` + ConsensusParamUpdates *ConsensusParams `protobuf:"bytes,2,opt,name=consensus_param_updates,json=consensusParamUpdates" json:"consensus_param_updates,omitempty"` } func (m *ResponseEndBlock) Reset() { *m = ResponseEndBlock{} } @@ -1407,24 +1407,26 @@ func (m *ResponseEndBlock) String() string { return proto.CompactText func (*ResponseEndBlock) ProtoMessage() {} func (*ResponseEndBlock) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{24} } -func (m *ResponseEndBlock) GetChanges() []*Validator { +func (m *ResponseEndBlock) GetUpdates() []*Validator { if m != nil { - return m.Changes + return m.Updates } return nil } -func (m *ResponseEndBlock) GetConsensusParamChanges() *ConsensusParams { +func (m *ResponseEndBlock) GetConsensusParamUpdates() *ConsensusParams { if m != nil { - return m.ConsensusParamChanges + return m.ConsensusParamUpdates } return nil } +// ConsensusParams contains all consensus-relevant parameters +// that can be adjusted by the abci app type ConsensusParams struct { - BlockSizeParams *BlockSizeParams `protobuf:"bytes,1,opt,name=block_size_params,json=blockSizeParams" json:"block_size_params,omitempty"` - TxSizeParams *TxSizeParams `protobuf:"bytes,2,opt,name=tx_size_params,json=txSizeParams" json:"tx_size_params,omitempty"` - BlockGossipParams *BlockGossipParams `protobuf:"bytes,3,opt,name=block_gossip_params,json=blockGossipParams" json:"block_gossip_params,omitempty"` + BlockSize *BlockSize `protobuf:"bytes,1,opt,name=block_size,json=blockSize" json:"block_size,omitempty"` + TxSize *TxSize `protobuf:"bytes,2,opt,name=tx_size,json=txSize" json:"tx_size,omitempty"` + BlockGossip *BlockGossip `protobuf:"bytes,3,opt,name=block_gossip,json=blockGossip" json:"block_gossip,omitempty"` } func (m *ConsensusParams) Reset() { *m = ConsensusParams{} } @@ -1432,99 +1434,99 @@ func (m *ConsensusParams) String() string { return proto.CompactTextS func (*ConsensusParams) ProtoMessage() {} func (*ConsensusParams) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{25} } -func (m *ConsensusParams) GetBlockSizeParams() *BlockSizeParams { +func (m *ConsensusParams) GetBlockSize() *BlockSize { if m != nil { - return m.BlockSizeParams + return m.BlockSize } return nil } -func (m *ConsensusParams) GetTxSizeParams() *TxSizeParams { +func (m *ConsensusParams) GetTxSize() *TxSize { if m != nil { - return m.TxSizeParams + return m.TxSize } return nil } -func (m *ConsensusParams) GetBlockGossipParams() *BlockGossipParams { +func (m *ConsensusParams) GetBlockGossip() *BlockGossip { if m != nil { - return m.BlockGossipParams + return m.BlockGossip } return nil } -// BlockSizeParams contain limits on the block size. -type BlockSizeParams struct { +// BlockSize contain limits on the block size. +type BlockSize struct { // NOTE: must not be 0 nor greater than 100MB MaxBytes int32 `protobuf:"varint,1,opt,name=max_bytes,json=maxBytes,proto3" json:"max_bytes,omitempty"` MaxTxs int32 `protobuf:"varint,2,opt,name=max_txs,json=maxTxs,proto3" json:"max_txs,omitempty"` MaxGas int64 `protobuf:"varint,3,opt,name=max_gas,json=maxGas,proto3" json:"max_gas,omitempty"` } -func (m *BlockSizeParams) Reset() { *m = BlockSizeParams{} } -func (m *BlockSizeParams) String() string { return proto.CompactTextString(m) } -func (*BlockSizeParams) ProtoMessage() {} -func (*BlockSizeParams) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{26} } +func (m *BlockSize) Reset() { *m = BlockSize{} } +func (m *BlockSize) String() string { return proto.CompactTextString(m) } +func (*BlockSize) ProtoMessage() {} +func (*BlockSize) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{26} } -func (m *BlockSizeParams) GetMaxBytes() int32 { +func (m *BlockSize) GetMaxBytes() int32 { if m != nil { return m.MaxBytes } return 0 } -func (m *BlockSizeParams) GetMaxTxs() int32 { +func (m *BlockSize) GetMaxTxs() int32 { if m != nil { return m.MaxTxs } return 0 } -func (m *BlockSizeParams) GetMaxGas() int64 { +func (m *BlockSize) GetMaxGas() int64 { if m != nil { return m.MaxGas } return 0 } -// TxSizeParams contain limits on the tx size. -type TxSizeParams struct { +// TxSize contain limits on the tx size. +type TxSize struct { MaxBytes int32 `protobuf:"varint,1,opt,name=max_bytes,json=maxBytes,proto3" json:"max_bytes,omitempty"` MaxGas int64 `protobuf:"varint,2,opt,name=max_gas,json=maxGas,proto3" json:"max_gas,omitempty"` } -func (m *TxSizeParams) Reset() { *m = TxSizeParams{} } -func (m *TxSizeParams) String() string { return proto.CompactTextString(m) } -func (*TxSizeParams) ProtoMessage() {} -func (*TxSizeParams) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{27} } +func (m *TxSize) Reset() { *m = TxSize{} } +func (m *TxSize) String() string { return proto.CompactTextString(m) } +func (*TxSize) ProtoMessage() {} +func (*TxSize) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{27} } -func (m *TxSizeParams) GetMaxBytes() int32 { +func (m *TxSize) GetMaxBytes() int32 { if m != nil { return m.MaxBytes } return 0 } -func (m *TxSizeParams) GetMaxGas() int64 { +func (m *TxSize) GetMaxGas() int64 { if m != nil { return m.MaxGas } return 0 } -// BlockGossipParams determine consensus critical +// BlockGossip determine consensus critical // elements of how blocks are gossiped -type BlockGossipParams struct { +type BlockGossip struct { // Note: must not be 0 BlockPartSizeBytes int32 `protobuf:"varint,1,opt,name=block_part_size_bytes,json=blockPartSizeBytes,proto3" json:"block_part_size_bytes,omitempty"` } -func (m *BlockGossipParams) Reset() { *m = BlockGossipParams{} } -func (m *BlockGossipParams) String() string { return proto.CompactTextString(m) } -func (*BlockGossipParams) ProtoMessage() {} -func (*BlockGossipParams) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{28} } +func (m *BlockGossip) Reset() { *m = BlockGossip{} } +func (m *BlockGossip) String() string { return proto.CompactTextString(m) } +func (*BlockGossip) ProtoMessage() {} +func (*BlockGossip) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{28} } -func (m *BlockGossipParams) GetBlockPartSizeBytes() int32 { +func (m *BlockGossip) GetBlockPartSizeBytes() int32 { if m != nil { return m.BlockPartSizeBytes } @@ -1774,9 +1776,9 @@ func init() { proto.RegisterType((*ResponseBeginBlock)(nil), "types.ResponseBeginBlock") proto.RegisterType((*ResponseEndBlock)(nil), "types.ResponseEndBlock") proto.RegisterType((*ConsensusParams)(nil), "types.ConsensusParams") - proto.RegisterType((*BlockSizeParams)(nil), "types.BlockSizeParams") - proto.RegisterType((*TxSizeParams)(nil), "types.TxSizeParams") - proto.RegisterType((*BlockGossipParams)(nil), "types.BlockGossipParams") + proto.RegisterType((*BlockSize)(nil), "types.BlockSize") + proto.RegisterType((*TxSize)(nil), "types.TxSize") + proto.RegisterType((*BlockGossip)(nil), "types.BlockGossip") proto.RegisterType((*Header)(nil), "types.Header") proto.RegisterType((*BlockID)(nil), "types.BlockID") proto.RegisterType((*PartSetHeader)(nil), "types.PartSetHeader") @@ -2191,115 +2193,114 @@ var _ABCIApplication_serviceDesc = grpc.ServiceDesc{ func init() { proto.RegisterFile("types/types.proto", fileDescriptorTypes) } var fileDescriptorTypes = []byte{ - // 1756 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0xcd, 0x6e, 0x1c, 0xc7, - 0x11, 0xe6, 0xee, 0xec, 0x6f, 0xf1, 0x67, 0x97, 0x4d, 0xca, 0x5a, 0xad, 0x0e, 0x96, 0x07, 0x08, - 0x4c, 0xc9, 0x16, 0x69, 0xd3, 0x70, 0x20, 0xda, 0x41, 0x00, 0x2d, 0x29, 0x69, 0x17, 0x06, 0x14, - 0x65, 0x48, 0xf8, 0xba, 0xe9, 0x9d, 0x69, 0xee, 0x0e, 0xb4, 0x3b, 0x33, 0x9e, 0xe9, 0xa5, 0x97, - 0x42, 0x1e, 0xc1, 0xc8, 0x35, 0xe7, 0xe4, 0x12, 0x20, 0x2f, 0x90, 0x63, 0x6e, 0x41, 0x9e, 0xc1, - 0x07, 0x3f, 0x4b, 0x50, 0xd5, 0x3d, 0xbf, 0x9c, 0x31, 0x02, 0x1d, 0x74, 0x19, 0x74, 0x77, 0xd5, - 0x57, 0x53, 0xdd, 0x5d, 0xfd, 0x55, 0x75, 0xc3, 0xbe, 0xbc, 0x0d, 0x44, 0x74, 0x42, 0xdf, 0xe3, - 0x20, 0xf4, 0xa5, 0xcf, 0x9a, 0xd4, 0x19, 0x3e, 0x9d, 0xbb, 0x72, 0xb1, 0x9e, 0x1d, 0xdb, 0xfe, - 0xea, 0x64, 0xee, 0xcf, 0xfd, 0x13, 0x92, 0xce, 0xd6, 0xd7, 0xd4, 0xa3, 0x0e, 0xb5, 0x14, 0xca, - 0xfc, 0x4f, 0x03, 0xda, 0x96, 0xf8, 0x61, 0x2d, 0x22, 0xc9, 0x8e, 0xa0, 0x21, 0xec, 0x85, 0x3f, - 0xa8, 0x3d, 0xaa, 0x1d, 0x6d, 0x9f, 0xb2, 0x63, 0x65, 0x5d, 0x4b, 0x5f, 0xd8, 0x0b, 0x7f, 0xbc, - 0x65, 0x91, 0x06, 0xfb, 0x0c, 0x9a, 0xd7, 0xcb, 0x75, 0xb4, 0x18, 0xd4, 0x49, 0xf5, 0x20, 0xaf, - 0xfa, 0x12, 0x45, 0xe3, 0x2d, 0x4b, 0xe9, 0xa0, 0x59, 0xd7, 0xbb, 0xf6, 0x07, 0x46, 0x99, 0xd9, - 0x89, 0x77, 0x4d, 0x66, 0x51, 0x83, 0x3d, 0x03, 0x88, 0x84, 0x9c, 0xfa, 0x81, 0x74, 0x7d, 0x6f, - 0xd0, 0x20, 0xfd, 0xfb, 0x79, 0xfd, 0x4b, 0x21, 0xff, 0x40, 0xe2, 0xf1, 0x96, 0xd5, 0x8d, 0xe2, - 0x0e, 0x22, 0x1d, 0xb1, 0x74, 0x6f, 0x44, 0x38, 0x95, 0x9b, 0x41, 0xb3, 0x0c, 0x79, 0xa1, 0xe4, - 0x57, 0x1b, 0x44, 0x3a, 0x71, 0x87, 0x9d, 0x42, 0xc7, 0x5e, 0x08, 0xfb, 0x2d, 0xe2, 0x5a, 0x84, - 0xbb, 0x97, 0xc7, 0x9d, 0xa3, 0x94, 0x50, 0x6d, 0x5b, 0x35, 0xd9, 0x31, 0xb4, 0x6c, 0x7f, 0xb5, - 0x72, 0xe5, 0xa0, 0x4d, 0x88, 0xc3, 0x02, 0x82, 0x64, 0xe3, 0x2d, 0x4b, 0x6b, 0xe1, 0x72, 0xfd, - 0xb0, 0x16, 0xe1, 0xed, 0xa0, 0x53, 0xb6, 0x5c, 0x7f, 0x44, 0x11, 0x2e, 0x17, 0xe9, 0xe0, 0x54, - 0x5c, 0xcf, 0x95, 0x53, 0x7b, 0xc1, 0x5d, 0x6f, 0xd0, 0x2d, 0x9b, 0xca, 0xc4, 0x73, 0xe5, 0x39, - 0x8a, 0x71, 0x2a, 0x6e, 0xdc, 0x61, 0xdf, 0xc2, 0xf6, 0x4c, 0xcc, 0x5d, 0x6f, 0x3a, 0x5b, 0xfa, - 0xf6, 0xdb, 0x01, 0x10, 0x74, 0x90, 0x87, 0x8e, 0x50, 0x61, 0x84, 0xf2, 0xf1, 0x96, 0x05, 0xb3, - 0xa4, 0xc7, 0xbe, 0x86, 0xae, 0xf0, 0x1c, 0x0d, 0xdd, 0x26, 0xe8, 0x47, 0x85, 0x08, 0xf0, 0x9c, - 0x18, 0xd8, 0x11, 0xba, 0x3d, 0x6a, 0x43, 0xf3, 0x86, 0x2f, 0xd7, 0xc2, 0xfc, 0x14, 0xb6, 0x33, - 0x91, 0xc2, 0x06, 0xd0, 0x5e, 0x89, 0x28, 0xe2, 0x73, 0x41, 0xe1, 0xd4, 0xb5, 0xe2, 0xae, 0xb9, - 0x07, 0x3b, 0xd9, 0x38, 0xc9, 0x00, 0x31, 0x16, 0x10, 0x78, 0x23, 0xc2, 0x08, 0x03, 0x40, 0x03, - 0x75, 0xd7, 0xfc, 0x06, 0xfa, 0xc5, 0x20, 0x60, 0x7d, 0x30, 0xde, 0x8a, 0x5b, 0xad, 0x89, 0x4d, - 0x76, 0xa8, 0x1d, 0xa2, 0xd0, 0xec, 0x5a, 0xda, 0x3b, 0x33, 0xc1, 0x26, 0x61, 0xc0, 0xf6, 0xa0, - 0x2e, 0x37, 0x04, 0xdd, 0xb1, 0xea, 0x72, 0x63, 0x3e, 0x82, 0xbd, 0xfc, 0x96, 0xdf, 0xd1, 0x70, - 0x12, 0xd7, 0x69, 0xcf, 0x18, 0x83, 0x86, 0xc3, 0x25, 0xd7, 0x1a, 0xd4, 0xc6, 0xb1, 0x80, 0xcb, - 0x85, 0xfe, 0x3d, 0xb5, 0xd9, 0x47, 0xd0, 0x5a, 0x08, 0x77, 0xbe, 0x90, 0x74, 0x06, 0x0c, 0x4b, - 0xf7, 0xd0, 0xd7, 0x20, 0xf4, 0x6f, 0x04, 0x85, 0x7a, 0xc7, 0x52, 0x1d, 0xb3, 0x07, 0xbb, 0xb9, - 0x40, 0x32, 0x2f, 0x12, 0xe7, 0x93, 0x8d, 0x67, 0x5f, 0x00, 0xdc, 0xf0, 0xa5, 0xeb, 0x70, 0xe9, - 0x87, 0xd1, 0xa0, 0xf6, 0xc8, 0x38, 0xda, 0x3e, 0xed, 0xeb, 0xfd, 0xfa, 0x3e, 0x16, 0x58, 0x19, - 0x1d, 0xf3, 0xdf, 0x35, 0xd8, 0xbf, 0x13, 0x04, 0xe8, 0xee, 0x82, 0x47, 0x8b, 0x78, 0x0a, 0xd8, - 0x66, 0xbf, 0x41, 0x77, 0xb9, 0x23, 0x42, 0x7d, 0xbc, 0x77, 0xb5, 0xdd, 0x31, 0x0d, 0x5a, 0x5a, - 0xc8, 0x3e, 0x83, 0x7d, 0x3e, 0x8b, 0x84, 0x27, 0xa7, 0x19, 0x4f, 0x8c, 0x47, 0xc6, 0x51, 0xd3, - 0xea, 0x2b, 0x41, 0xe2, 0x48, 0xc4, 0x46, 0x70, 0x38, 0xbb, 0x7d, 0xc7, 0x3d, 0xe9, 0x7a, 0x22, - 0xab, 0xdf, 0x20, 0xcf, 0x7b, 0xfa, 0x0f, 0x2f, 0x6e, 0x5c, 0x47, 0x78, 0xb6, 0xb0, 0x0e, 0x12, - 0xe5, 0xd4, 0x86, 0xf9, 0x18, 0x7a, 0x85, 0x50, 0xcc, 0xac, 0x6c, 0x2d, 0xbb, 0xb2, 0xe6, 0x4f, - 0x4d, 0xe8, 0x58, 0x22, 0x0a, 0x7c, 0x2f, 0x12, 0xec, 0x19, 0x74, 0xc5, 0xc6, 0x16, 0x8a, 0x55, - 0x6a, 0x85, 0x53, 0xa1, 0x74, 0x5e, 0xc4, 0x72, 0x3c, 0x51, 0x89, 0x32, 0x7b, 0xac, 0x19, 0xb1, - 0x48, 0x73, 0x1a, 0x94, 0xa5, 0xc4, 0xcf, 0x63, 0x4a, 0x34, 0x0a, 0x94, 0xa0, 0x74, 0x0b, 0x9c, - 0xf8, 0x58, 0x73, 0x62, 0xa3, 0xd4, 0x70, 0x8e, 0x14, 0xcf, 0x72, 0xa4, 0xd8, 0x2c, 0x75, 0xbf, - 0x82, 0x15, 0xcf, 0x72, 0xac, 0xd8, 0x2a, 0x85, 0x56, 0xd0, 0xe2, 0x57, 0x19, 0x5a, 0x6c, 0x17, - 0xd8, 0x40, 0x01, 0x4b, 0x78, 0xf1, 0x24, 0xe1, 0xc5, 0x4e, 0x81, 0x49, 0x35, 0xa4, 0x48, 0x8c, - 0x9f, 0xc7, 0xc4, 0xd8, 0x2d, 0x5d, 0xb4, 0x02, 0x33, 0x9e, 0xe5, 0x98, 0x11, 0x4a, 0xa7, 0x53, - 0x41, 0x8d, 0xbf, 0xcb, 0x53, 0xa3, 0xe2, 0xb7, 0x07, 0x05, 0x6c, 0x25, 0x37, 0xfe, 0x36, 0xcb, - 0x8d, 0x3b, 0x05, 0x46, 0xd6, 0xb1, 0xf0, 0xab, 0xe4, 0xf8, 0x18, 0x8f, 0x5e, 0x21, 0xd2, 0xf0, - 0xf4, 0x8b, 0x30, 0xf4, 0x43, 0xcd, 0x5e, 0xaa, 0x63, 0x1e, 0x21, 0xc7, 0xa4, 0xf1, 0xf5, 0x2b, - 0x44, 0x4a, 0x3c, 0x91, 0x89, 0x2e, 0xf3, 0xaf, 0xb5, 0x14, 0x4b, 0x5c, 0x9a, 0xe5, 0xa7, 0xae, - 0xe6, 0xa7, 0x0c, 0xbf, 0xd6, 0x73, 0xfc, 0xca, 0x9e, 0xc0, 0xfe, 0x92, 0x47, 0x52, 0x4d, 0x73, - 0x9a, 0x23, 0xac, 0x1e, 0x0a, 0xd4, 0xfc, 0x14, 0x73, 0x3d, 0x85, 0x83, 0x8c, 0x2e, 0x0f, 0x82, - 0x29, 0xb1, 0x48, 0x83, 0x58, 0xa4, 0x9f, 0x68, 0x3f, 0x0f, 0x82, 0x31, 0x8f, 0x16, 0xe6, 0x59, - 0x3a, 0xff, 0x94, 0xbb, 0x19, 0x34, 0x6c, 0xdf, 0x51, 0xd3, 0xda, 0xb5, 0xa8, 0x8d, 0x7c, 0xbe, - 0xf4, 0xe7, 0xda, 0x33, 0x6c, 0x9a, 0x7f, 0xaf, 0xa5, 0xd8, 0x94, 0xbb, 0xcb, 0xb0, 0x17, 0x7a, - 0xb6, 0x08, 0xde, 0x19, 0x7d, 0xf1, 0xdf, 0x5f, 0x3e, 0xde, 0xfa, 0xf9, 0x97, 0x8f, 0x8f, 0x32, - 0xf5, 0x90, 0x14, 0x9e, 0x23, 0xc2, 0x95, 0xeb, 0xc9, 0x93, 0xb9, 0xff, 0xf4, 0x47, 0x37, 0x14, - 0x27, 0x88, 0x38, 0x1e, 0xdd, 0x4a, 0x11, 0xe9, 0xf5, 0xd1, 0x1e, 0x18, 0x89, 0x07, 0xec, 0x13, - 0x68, 0x48, 0x3e, 0x8f, 0xa9, 0x2a, 0x26, 0xc3, 0xef, 0xbe, 0x7f, 0xc3, 0xdd, 0xd0, 0x22, 0x91, - 0xf9, 0xb7, 0x1a, 0x52, 0x53, 0xee, 0x5c, 0x7c, 0x50, 0x17, 0xfb, 0x60, 0xcc, 0x79, 0x44, 0xcb, - 0x6f, 0x58, 0xd8, 0xc4, 0x91, 0x6b, 0x21, 0x88, 0x2e, 0x0c, 0x0b, 0x9b, 0xe6, 0xbf, 0xea, 0x69, - 0xbc, 0x24, 0xe9, 0xeb, 0x8e, 0x87, 0x87, 0xd0, 0x74, 0x3d, 0x47, 0x6c, 0xc8, 0x45, 0xc3, 0x52, - 0x1d, 0x36, 0x52, 0x69, 0xd6, 0x78, 0x4f, 0xb7, 0x29, 0x31, 0xbf, 0x8c, 0x13, 0x73, 0xe3, 0x3d, - 0xad, 0x28, 0x38, 0xda, 0x09, 0x42, 0xdf, 0xbf, 0xa6, 0xb9, 0xbd, 0x97, 0x1d, 0x82, 0x67, 0x52, - 0x47, 0x2b, 0x97, 0x94, 0xf5, 0xea, 0xb6, 0xd3, 0x10, 0xfc, 0x33, 0x16, 0x06, 0x59, 0x06, 0xfb, - 0x90, 0x7b, 0x6b, 0x1e, 0xa4, 0xf1, 0x9f, 0x90, 0x9b, 0x79, 0x08, 0xec, 0x2e, 0x6b, 0x99, 0x7f, - 0xa9, 0x61, 0xa5, 0x90, 0x27, 0x24, 0xf6, 0x04, 0xda, 0xf6, 0x82, 0x7b, 0x73, 0x51, 0x5d, 0x26, - 0xc4, 0x0a, 0xec, 0x35, 0xdc, 0xb7, 0x11, 0xec, 0x45, 0xeb, 0x68, 0x1a, 0xf0, 0x90, 0xaf, 0xa6, - 0x31, 0xb6, 0x9e, 0x4b, 0x02, 0xe7, 0xb1, 0xd6, 0x1b, 0x54, 0x8a, 0xac, 0x7b, 0x76, 0x6e, 0xe0, - 0x5c, 0x81, 0xcc, 0x9f, 0x6b, 0xd0, 0x2b, 0xa8, 0xb2, 0x11, 0xec, 0x2b, 0xd6, 0x88, 0xdc, 0x77, - 0x42, 0xfd, 0x24, 0xd2, 0x59, 0x39, 0xb6, 0x4e, 0x8e, 0x5f, 0xba, 0xef, 0x84, 0xb6, 0xde, 0x9b, - 0xe5, 0x07, 0xd8, 0x19, 0xec, 0xc9, 0x4d, 0xce, 0x40, 0x3e, 0x43, 0x5f, 0x6d, 0x32, 0xe8, 0x1d, - 0x99, 0xe9, 0xb1, 0x31, 0x1c, 0xa8, 0xdf, 0xcf, 0xfd, 0x28, 0x72, 0x83, 0x18, 0x6f, 0xe4, 0xb2, - 0x09, 0x39, 0xf0, 0x8a, 0x14, 0xb4, 0x11, 0xe5, 0x73, 0x76, 0xc8, 0xfc, 0x13, 0xf4, 0x0a, 0x8e, - 0xb2, 0x87, 0xd0, 0x5d, 0xf1, 0xcd, 0x74, 0x86, 0x1b, 0x4a, 0x73, 0x6a, 0x5a, 0x9d, 0x15, 0xdf, - 0xd0, 0x06, 0xb3, 0xfb, 0xd0, 0x46, 0xa1, 0xdc, 0x28, 0x6f, 0x9b, 0x56, 0x6b, 0xc5, 0x37, 0x57, - 0x9b, 0x44, 0x80, 0x27, 0x58, 0xd7, 0x87, 0x2b, 0xbe, 0x79, 0xc5, 0x23, 0xf3, 0x02, 0x76, 0xb2, - 0x33, 0xf9, 0xbf, 0xcc, 0xa3, 0x95, 0x7a, 0xce, 0xca, 0x4b, 0xd8, 0xbf, 0x33, 0x1f, 0xf6, 0x25, - 0xdc, 0x53, 0xcb, 0x10, 0xf0, 0x50, 0xaa, 0x95, 0xcc, 0x9a, 0x65, 0x24, 0x7c, 0xc3, 0x43, 0x89, - 0xbf, 0xa7, 0x1f, 0x98, 0xff, 0xa8, 0x43, 0x4b, 0x95, 0x80, 0xec, 0x01, 0x56, 0x07, 0xdc, 0xf5, - 0xa6, 0xae, 0x13, 0x67, 0x25, 0xea, 0x4f, 0x9c, 0xcc, 0xb1, 0xaa, 0xe7, 0x8e, 0x15, 0x83, 0x86, - 0x74, 0x57, 0x42, 0xcf, 0x90, 0xda, 0xe8, 0xb2, 0xb7, 0x5e, 0xd1, 0x8a, 0x34, 0xd4, 0x8a, 0x78, - 0xeb, 0x15, 0xae, 0xc8, 0x29, 0xec, 0x66, 0xd2, 0x8b, 0xeb, 0xe8, 0xb2, 0x67, 0x2f, 0xbb, 0x3d, - 0x93, 0x0b, 0x6b, 0x3b, 0x49, 0x34, 0x13, 0x87, 0x1d, 0x01, 0xe5, 0x9d, 0xa9, 0x2a, 0x2d, 0x54, - 0x3e, 0x6a, 0x51, 0x3e, 0xda, 0xc3, 0x71, 0x5d, 0x7b, 0x60, 0x7d, 0xfb, 0x10, 0xba, 0x78, 0xd6, - 0x94, 0x4a, 0x9b, 0x54, 0x3a, 0x38, 0x40, 0xc2, 0x4f, 0xa1, 0x97, 0x96, 0xa7, 0x4a, 0xa5, 0xa3, - 0xac, 0xa4, 0xc3, 0xa4, 0xf8, 0x00, 0x3a, 0x49, 0xde, 0xeb, 0x92, 0x46, 0x9b, 0xeb, 0x74, 0x37, - 0x81, 0xb6, 0x76, 0xb1, 0xb4, 0xbe, 0x7e, 0x02, 0x4d, 0x5c, 0xf5, 0x38, 0x68, 0xe3, 0xaa, 0x87, - 0x56, 0x5b, 0x48, 0x5d, 0x65, 0x2b, 0x15, 0xf3, 0x0c, 0x76, 0x73, 0xe3, 0x48, 0xd0, 0xd2, 0x97, - 0x7c, 0xa9, 0x37, 0x4a, 0x75, 0x92, 0xdf, 0xd4, 0xd3, 0xdf, 0x98, 0xdf, 0x40, 0x37, 0x39, 0xe2, - 0xb8, 0xd4, 0xc1, 0x7a, 0x36, 0x8d, 0x2f, 0x4b, 0x3b, 0x56, 0x2b, 0x58, 0xcf, 0xbe, 0x53, 0xf7, - 0xa5, 0xc0, 0xff, 0x51, 0xd7, 0xfa, 0x86, 0xa5, 0x3a, 0xe6, 0xb7, 0xd0, 0x89, 0x6b, 0xf1, 0x6a, - 0x68, 0xc5, 0x56, 0x9b, 0xff, 0xac, 0x41, 0x4b, 0xa5, 0xc7, 0x92, 0xfb, 0xd9, 0x97, 0x74, 0x71, - 0x59, 0x8b, 0x29, 0x4e, 0x9a, 0x80, 0x7b, 0xc9, 0x9b, 0x80, 0x02, 0x1d, 0x5f, 0xdd, 0x06, 0xc2, - 0xea, 0x92, 0x16, 0x36, 0xd9, 0x27, 0xb0, 0xa3, 0x20, 0x91, 0x0c, 0x5d, 0x2f, 0x26, 0xc7, 0x6d, - 0x1a, 0xbb, 0xa4, 0x21, 0xdc, 0x52, 0xa5, 0xe2, 0x7a, 0x52, 0xa7, 0xc1, 0x0e, 0x0d, 0x4c, 0x3c, - 0x69, 0x3e, 0x84, 0x06, 0xd9, 0x01, 0x68, 0x5d, 0x5e, 0x59, 0x93, 0xd7, 0xaf, 0xfa, 0x5b, 0xac, - 0x0d, 0xc6, 0xe4, 0xf5, 0x55, 0xbf, 0x76, 0xfa, 0x53, 0x13, 0x7a, 0xcf, 0x47, 0xe7, 0x93, 0xe7, - 0x41, 0xb0, 0x74, 0x6d, 0x4e, 0x95, 0xc9, 0x09, 0x34, 0xa8, 0xf6, 0x2a, 0x79, 0x02, 0x19, 0x96, - 0x5d, 0x02, 0xd8, 0x29, 0x34, 0xa9, 0x04, 0x63, 0x65, 0x2f, 0x21, 0xc3, 0xd2, 0xbb, 0x00, 0xfe, - 0x44, 0x15, 0x69, 0x77, 0x1f, 0x44, 0x86, 0x65, 0x17, 0x02, 0xf6, 0x7b, 0xe8, 0xa6, 0xc5, 0x53, - 0xd5, 0xb3, 0xc8, 0xb0, 0xf2, 0x6a, 0x80, 0xf8, 0xb4, 0x80, 0xaa, 0x7a, 0x1c, 0x19, 0x56, 0xde, - 0x0f, 0xd8, 0x33, 0x68, 0xc7, 0xb5, 0x4d, 0xf9, 0x13, 0xc9, 0xb0, 0xe2, 0x8a, 0x80, 0xcb, 0xa3, - 0x2a, 0x8e, 0xb2, 0x97, 0x8f, 0x61, 0x69, 0xd5, 0xcf, 0xbe, 0x86, 0x96, 0x4e, 0xb6, 0xa5, 0xaf, - 0x2b, 0xc3, 0xf2, 0xbb, 0x05, 0x4e, 0x32, 0xbd, 0x24, 0x57, 0x3d, 0x9b, 0x0c, 0x2b, 0x6f, 0x0d, - 0xec, 0x39, 0x40, 0xe6, 0x76, 0x5c, 0xf9, 0x78, 0x32, 0xac, 0xbe, 0x3b, 0x30, 0x3c, 0x3b, 0xc9, - 0xfd, 0xb4, 0xfc, 0x09, 0x65, 0x58, 0x75, 0x7d, 0x98, 0xb5, 0xe8, 0x59, 0xee, 0xab, 0xff, 0x05, - 0x00, 0x00, 0xff, 0xff, 0x2b, 0x22, 0xd6, 0xe4, 0xe1, 0x13, 0x00, 0x00, + // 1744 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0xcd, 0x8e, 0x1b, 0xc7, + 0x11, 0x5e, 0xfe, 0x73, 0x8a, 0xfb, 0x43, 0xb5, 0x56, 0x16, 0x45, 0x1d, 0xbc, 0x1e, 0x20, 0x31, + 0x57, 0xb6, 0x96, 0xf6, 0x1a, 0x0a, 0xb4, 0x76, 0x60, 0x64, 0xb9, 0x2b, 0x6b, 0x09, 0x03, 0x8a, + 0x32, 0xbb, 0xf1, 0x21, 0x17, 0xa2, 0xc9, 0xe9, 0x25, 0x07, 0x22, 0x67, 0xc6, 0x33, 0xcd, 0x35, + 0x57, 0xc8, 0x23, 0x18, 0xb9, 0xe6, 0x9c, 0x5c, 0x02, 0xe4, 0x05, 0x72, 0xcc, 0x2d, 0xc8, 0x33, + 0xe4, 0xe0, 0x67, 0x09, 0xaa, 0xba, 0xe7, 0x77, 0x67, 0x0c, 0x43, 0x07, 0x5d, 0xc8, 0xee, 0xae, + 0xfa, 0x7a, 0xaa, 0xab, 0xab, 0xbf, 0xaa, 0x6e, 0xb8, 0x27, 0x6f, 0x7d, 0x11, 0x0e, 0xe9, 0xf7, + 0xc8, 0x0f, 0x3c, 0xe9, 0xb1, 0x06, 0x75, 0xfa, 0x4f, 0xe7, 0x8e, 0x5c, 0xac, 0xa7, 0x47, 0x33, + 0x6f, 0x35, 0x9c, 0x7b, 0x73, 0x6f, 0x48, 0xd2, 0xe9, 0xfa, 0x9a, 0x7a, 0xd4, 0xa1, 0x96, 0x42, + 0x99, 0xff, 0xa9, 0x43, 0xcb, 0x12, 0xdf, 0xaf, 0x45, 0x28, 0xd9, 0x00, 0xea, 0x62, 0xb6, 0xf0, + 0x7a, 0x95, 0x83, 0xca, 0xa0, 0x73, 0xcc, 0x8e, 0xd4, 0xec, 0x5a, 0xfa, 0x62, 0xb6, 0xf0, 0x2e, + 0xb6, 0x2c, 0xd2, 0x60, 0x9f, 0x40, 0xe3, 0x7a, 0xb9, 0x0e, 0x17, 0xbd, 0x2a, 0xa9, 0xde, 0xcf, + 0xaa, 0x7e, 0x83, 0xa2, 0x8b, 0x2d, 0x4b, 0xe9, 0xe0, 0xb4, 0x8e, 0x7b, 0xed, 0xf5, 0x6a, 0x45, + 0xd3, 0x8e, 0xdd, 0x6b, 0x9a, 0x16, 0x35, 0xd8, 0x73, 0x80, 0x50, 0xc8, 0x89, 0xe7, 0x4b, 0xc7, + 0x73, 0x7b, 0x75, 0xd2, 0x7f, 0x98, 0xd5, 0xbf, 0x14, 0xf2, 0xf7, 0x24, 0xbe, 0xd8, 0xb2, 0x8c, + 0x30, 0xea, 0x20, 0xd2, 0x16, 0x4b, 0xe7, 0x46, 0x04, 0x13, 0xb9, 0xe9, 0x35, 0x8a, 0x90, 0xe7, + 0x4a, 0x7e, 0xb5, 0x41, 0xa4, 0x1d, 0x75, 0xd8, 0x31, 0xb4, 0x67, 0x0b, 0x31, 0x7b, 0x83, 0xb8, + 0x26, 0xe1, 0x1e, 0x64, 0x71, 0x67, 0x28, 0x25, 0x54, 0x6b, 0xa6, 0x9a, 0xec, 0x08, 0x9a, 0x33, + 0x6f, 0xb5, 0x72, 0x64, 0xaf, 0x45, 0x88, 0xfd, 0x1c, 0x82, 0x64, 0x17, 0x5b, 0x96, 0xd6, 0x42, + 0x77, 0x7d, 0xbf, 0x16, 0xc1, 0x6d, 0xaf, 0x5d, 0xe4, 0xae, 0x3f, 0xa0, 0x08, 0xdd, 0x45, 0x3a, + 0xb8, 0x14, 0xc7, 0x75, 0xe4, 0x64, 0xb6, 0xe0, 0x8e, 0xdb, 0x33, 0x8a, 0x96, 0x32, 0x76, 0x1d, + 0x79, 0x86, 0x62, 0x5c, 0x8a, 0x13, 0x75, 0xd8, 0x57, 0xd0, 0x99, 0x8a, 0xb9, 0xe3, 0x4e, 0xa6, + 0x4b, 0x6f, 0xf6, 0xa6, 0x07, 0x04, 0xed, 0x65, 0xa1, 0x23, 0x54, 0x18, 0xa1, 0xfc, 0x62, 0xcb, + 0x82, 0x69, 0xdc, 0x63, 0xcf, 0xc0, 0x10, 0xae, 0xad, 0xa1, 0x1d, 0x82, 0x7e, 0x90, 0x8b, 0x00, + 0xd7, 0x8e, 0x80, 0x6d, 0xa1, 0xdb, 0xa3, 0x16, 0x34, 0x6e, 0xf8, 0x72, 0x2d, 0xcc, 0x8f, 0xa1, + 0x93, 0x8a, 0x14, 0xd6, 0x83, 0xd6, 0x4a, 0x84, 0x21, 0x9f, 0x0b, 0x0a, 0x27, 0xc3, 0x8a, 0xba, + 0xe6, 0x2e, 0x6c, 0xa7, 0xe3, 0x24, 0x05, 0xc4, 0x58, 0x40, 0xe0, 0x8d, 0x08, 0x42, 0x0c, 0x00, + 0x0d, 0xd4, 0x5d, 0xf3, 0x4b, 0xe8, 0xe6, 0x83, 0x80, 0x75, 0xa1, 0xf6, 0x46, 0xdc, 0x6a, 0x4d, + 0x6c, 0xb2, 0x7d, 0x6d, 0x10, 0x85, 0xa6, 0x61, 0x69, 0xeb, 0xcc, 0x18, 0x1b, 0x87, 0x01, 0xdb, + 0x85, 0xaa, 0xdc, 0x10, 0x74, 0xdb, 0xaa, 0xca, 0x8d, 0x79, 0x00, 0xbb, 0xd9, 0x2d, 0xbf, 0xa3, + 0x61, 0xc7, 0xa6, 0xd3, 0x9e, 0x31, 0x06, 0x75, 0x9b, 0x4b, 0xae, 0x35, 0xa8, 0x8d, 0x63, 0x3e, + 0x97, 0x0b, 0xfd, 0x79, 0x6a, 0xb3, 0x0f, 0xa0, 0xb9, 0x10, 0xce, 0x7c, 0x21, 0xe9, 0x0c, 0xd4, + 0x2c, 0xdd, 0x43, 0x5b, 0xfd, 0xc0, 0xbb, 0x11, 0x14, 0xea, 0x6d, 0x4b, 0x75, 0xcc, 0x3d, 0xd8, + 0xc9, 0x04, 0x92, 0x79, 0x1e, 0x1b, 0x1f, 0x6f, 0x3c, 0xfb, 0x0c, 0xe0, 0x86, 0x2f, 0x1d, 0x9b, + 0x4b, 0x2f, 0x08, 0x7b, 0x95, 0x83, 0xda, 0xa0, 0x73, 0xdc, 0xd5, 0xfb, 0xf5, 0x5d, 0x24, 0xb0, + 0x52, 0x3a, 0xe6, 0xbf, 0x2b, 0x70, 0xef, 0x4e, 0x10, 0xa0, 0xb9, 0x0b, 0x1e, 0x2e, 0xa2, 0x25, + 0x60, 0x9b, 0xfd, 0x0a, 0xcd, 0xe5, 0xb6, 0x08, 0xf4, 0xf1, 0xde, 0xd1, 0xf3, 0x5e, 0xd0, 0xa0, + 0xa5, 0x85, 0xec, 0x13, 0xb8, 0xc7, 0xa7, 0xa1, 0x70, 0xe5, 0x24, 0x65, 0x49, 0xed, 0xa0, 0x36, + 0x68, 0x58, 0x5d, 0x25, 0x88, 0x0d, 0x09, 0xd9, 0x08, 0xf6, 0xa7, 0xb7, 0x6f, 0xb9, 0x2b, 0x1d, + 0x57, 0xa4, 0xf5, 0xeb, 0x64, 0xf9, 0x9e, 0xfe, 0xc2, 0x8b, 0x1b, 0xc7, 0x16, 0xee, 0x4c, 0x58, + 0xf7, 0x63, 0xe5, 0x64, 0x0e, 0xf3, 0x10, 0xf6, 0x72, 0xa1, 0x98, 0xf2, 0x6c, 0x25, 0xed, 0x59, + 0xf3, 0xc7, 0x06, 0xb4, 0x2d, 0x11, 0xfa, 0x9e, 0x1b, 0x0a, 0xf6, 0x1c, 0x0c, 0xb1, 0x99, 0x09, + 0xc5, 0x2a, 0x95, 0xdc, 0xa9, 0x50, 0x3a, 0x2f, 0x22, 0x39, 0x9e, 0xa8, 0x58, 0x99, 0x1d, 0x6a, + 0x46, 0xcc, 0xd3, 0x9c, 0x06, 0xa5, 0x29, 0xf1, 0xd3, 0x88, 0x12, 0x6b, 0x39, 0x4a, 0x50, 0xba, + 0x39, 0x4e, 0x3c, 0xd4, 0x9c, 0x58, 0x2f, 0x9c, 0x38, 0x43, 0x8a, 0x27, 0x19, 0x52, 0x6c, 0x14, + 0x9a, 0x5f, 0xc2, 0x8a, 0x27, 0x19, 0x56, 0x6c, 0x16, 0x42, 0x4b, 0x68, 0xf1, 0x8b, 0x14, 0x2d, + 0xb6, 0x72, 0x6c, 0xa0, 0x80, 0x05, 0xbc, 0x38, 0x8c, 0x79, 0xb1, 0x9d, 0x63, 0x52, 0x0d, 0xc9, + 0x13, 0xe3, 0xa7, 0x11, 0x31, 0x1a, 0x85, 0x4e, 0xcb, 0x31, 0xe3, 0x49, 0x86, 0x19, 0xa1, 0x70, + 0x39, 0x25, 0xd4, 0xf8, 0xdb, 0x2c, 0x35, 0x2a, 0x7e, 0x7b, 0x94, 0xc3, 0x96, 0x72, 0xe3, 0x6f, + 0xd2, 0xdc, 0xb8, 0x9d, 0x63, 0x64, 0x1d, 0x0b, 0x3f, 0x4b, 0x8e, 0x87, 0x78, 0xf4, 0x72, 0x91, + 0x86, 0xa7, 0x5f, 0x04, 0x81, 0x17, 0x68, 0xf6, 0x52, 0x1d, 0x73, 0x80, 0x1c, 0x93, 0xc4, 0xd7, + 0xcf, 0x10, 0x29, 0xf1, 0x44, 0x2a, 0xba, 0xcc, 0xbf, 0x56, 0x12, 0x2c, 0x71, 0x69, 0x9a, 0x9f, + 0x0c, 0xcd, 0x4f, 0x29, 0x7e, 0xad, 0x66, 0xf8, 0x95, 0x3d, 0x81, 0x7b, 0x4b, 0x1e, 0x4a, 0xb5, + 0xcc, 0x49, 0x86, 0xb0, 0xf6, 0x50, 0xa0, 0xd6, 0xa7, 0x98, 0xeb, 0x29, 0xdc, 0x4f, 0xe9, 0x72, + 0xdf, 0x9f, 0x10, 0x8b, 0xd4, 0x89, 0x45, 0xba, 0xb1, 0xf6, 0xa9, 0xef, 0x5f, 0xf0, 0x70, 0x61, + 0x9e, 0x24, 0xeb, 0x4f, 0xb8, 0x9b, 0x41, 0x7d, 0xe6, 0xd9, 0x6a, 0x59, 0x3b, 0x16, 0xb5, 0x91, + 0xcf, 0x97, 0xde, 0x5c, 0x5b, 0x86, 0x4d, 0xf3, 0xef, 0x95, 0x04, 0x9b, 0x70, 0x77, 0x11, 0xf6, + 0x5c, 0xaf, 0x16, 0xc1, 0xdb, 0xa3, 0xcf, 0xfe, 0xfb, 0xd3, 0x87, 0x5b, 0xff, 0xfb, 0xe9, 0xc3, + 0x41, 0xaa, 0x1e, 0x92, 0xc2, 0xb5, 0x45, 0xb0, 0x72, 0x5c, 0x39, 0x9c, 0x7b, 0x4f, 0x7f, 0x70, + 0x02, 0x31, 0x44, 0xc4, 0xd1, 0xe8, 0x56, 0x8a, 0x50, 0xfb, 0x47, 0x5b, 0x50, 0x8b, 0x2d, 0x60, + 0x1f, 0x41, 0x5d, 0xf2, 0x79, 0x44, 0x55, 0x11, 0x19, 0x7e, 0xfb, 0xdd, 0x6b, 0xee, 0x04, 0x16, + 0x89, 0xcc, 0xbf, 0x55, 0x90, 0x9a, 0x32, 0xe7, 0xe2, 0xbd, 0x9a, 0xd8, 0x85, 0xda, 0x9c, 0x87, + 0xe4, 0xfe, 0x9a, 0x85, 0x4d, 0x1c, 0xb9, 0x16, 0x82, 0xe8, 0xa2, 0x66, 0x61, 0xd3, 0xfc, 0x57, + 0x35, 0x89, 0x97, 0x38, 0x7d, 0xdd, 0xb1, 0x70, 0x1f, 0x1a, 0x8e, 0x6b, 0x8b, 0x0d, 0x99, 0x58, + 0xb3, 0x54, 0x87, 0x8d, 0x54, 0x9a, 0xad, 0xbd, 0xa3, 0xd9, 0x94, 0x98, 0xbf, 0x89, 0x12, 0x73, + 0xfd, 0x1d, 0x67, 0x51, 0x70, 0x9c, 0xc7, 0x0f, 0x3c, 0xef, 0x9a, 0xd6, 0xf6, 0x4e, 0xf3, 0x10, + 0x3c, 0x95, 0x3a, 0x9a, 0x99, 0xa4, 0xac, 0xbd, 0xdb, 0x4a, 0x42, 0xf0, 0xcf, 0x58, 0x18, 0xa4, + 0x19, 0xec, 0x7d, 0xee, 0xad, 0x79, 0x3f, 0x89, 0xff, 0x98, 0xdc, 0xcc, 0x7d, 0x60, 0x77, 0x59, + 0xcb, 0xfc, 0x4b, 0x05, 0x2b, 0x85, 0x2c, 0x21, 0xb1, 0x27, 0xd0, 0x5a, 0xfb, 0x36, 0x97, 0xa2, + 0xbc, 0x4c, 0x88, 0x14, 0xd8, 0x2b, 0x78, 0x38, 0x43, 0xb0, 0x1b, 0xae, 0xc3, 0x89, 0xcf, 0x03, + 0xbe, 0x9a, 0x44, 0xd8, 0x6a, 0x26, 0x09, 0x9c, 0x45, 0x5a, 0xaf, 0x51, 0x29, 0xb4, 0x1e, 0xcc, + 0x32, 0x03, 0x7f, 0x54, 0x20, 0x3a, 0x17, 0x39, 0x55, 0x36, 0x04, 0x50, 0xac, 0x11, 0x3a, 0x6f, + 0x85, 0x4e, 0xc7, 0x91, 0x49, 0x64, 0xf1, 0xa5, 0xf3, 0x56, 0x58, 0xc6, 0x34, 0x6a, 0xb2, 0x5f, + 0x43, 0x4b, 0x6e, 0x94, 0x76, 0xb6, 0x1e, 0xb9, 0xda, 0x90, 0x6a, 0x53, 0xd2, 0x3f, 0x7b, 0x06, + 0xdb, 0x6a, 0xe2, 0xb9, 0x17, 0x86, 0x8e, 0x9f, 0xbb, 0x6f, 0xd0, 0xd4, 0x2f, 0x49, 0x62, 0x75, + 0xa6, 0x49, 0xc7, 0xfc, 0x13, 0x18, 0xf1, 0x67, 0xd9, 0x63, 0x30, 0x56, 0x7c, 0x33, 0x99, 0xde, + 0x2a, 0x77, 0x55, 0x06, 0x0d, 0xab, 0xbd, 0xe2, 0x1b, 0xda, 0x21, 0xf6, 0x10, 0x5a, 0x28, 0x94, + 0x1b, 0xe5, 0x8d, 0x86, 0xd5, 0x5c, 0xf1, 0xcd, 0xd5, 0x26, 0x16, 0xe0, 0x11, 0xd4, 0x05, 0xde, + 0x8a, 0x6f, 0x5e, 0xf2, 0xd0, 0xfc, 0x1a, 0x9a, 0xca, 0xc8, 0x5f, 0x34, 0x31, 0xe2, 0xab, 0x19, + 0xfc, 0xef, 0xa0, 0x93, 0xb2, 0x9b, 0x7d, 0x0e, 0x0f, 0xd4, 0x0a, 0x7d, 0x1e, 0x48, 0xf2, 0x48, + 0x66, 0x42, 0x46, 0xc2, 0xd7, 0x3c, 0x90, 0xf8, 0x49, 0x9a, 0xda, 0xfc, 0x47, 0x15, 0x9a, 0xaa, + 0x6e, 0x63, 0x8f, 0x30, 0xa5, 0x73, 0xc7, 0x9d, 0x38, 0x76, 0x94, 0x4a, 0xa8, 0x3f, 0xb6, 0x53, + 0x67, 0xa1, 0x9a, 0x39, 0x0b, 0x0c, 0xea, 0xd2, 0x59, 0x09, 0xbd, 0x2a, 0x6a, 0xa3, 0xb1, 0xee, + 0x7a, 0x45, 0x5e, 0xa8, 0x2b, 0x2f, 0xb8, 0xeb, 0x15, 0x7a, 0xe1, 0x18, 0x76, 0x52, 0x39, 0xc1, + 0xb1, 0x75, 0xad, 0xb2, 0x9b, 0xde, 0x80, 0xf1, 0xb9, 0xd5, 0x89, 0xb3, 0xc3, 0xd8, 0x66, 0x03, + 0xa0, 0x64, 0x31, 0x51, 0xf5, 0x80, 0x4a, 0x22, 0x4d, 0x4a, 0x22, 0xbb, 0x38, 0xae, 0x0b, 0x06, + 0x2c, 0x4a, 0x1f, 0x83, 0x81, 0x07, 0x44, 0xa9, 0xb4, 0x48, 0xa5, 0x8d, 0x03, 0x24, 0xfc, 0x18, + 0xf6, 0x92, 0x9a, 0x52, 0xa9, 0xb4, 0xd5, 0x2c, 0xc9, 0x30, 0x29, 0x3e, 0x82, 0x76, 0x9c, 0xac, + 0x0c, 0xd2, 0x68, 0x71, 0x9d, 0xa3, 0xc6, 0xd0, 0xd2, 0x26, 0x16, 0x16, 0xc5, 0x4f, 0xa0, 0x81, + 0x5e, 0x8f, 0x0e, 0x42, 0x54, 0xaa, 0x90, 0xb7, 0x85, 0xd4, 0xa5, 0xb1, 0x52, 0x31, 0x4f, 0x60, + 0x27, 0x33, 0x8e, 0xac, 0x2a, 0x3d, 0xc9, 0x97, 0x7a, 0xa3, 0x54, 0x27, 0xfe, 0x4c, 0x35, 0xf9, + 0x8c, 0xf9, 0x25, 0x18, 0xf1, 0xb9, 0x44, 0x57, 0xfb, 0xeb, 0xe9, 0x24, 0xba, 0xe1, 0x6c, 0x5b, + 0x4d, 0x7f, 0x3d, 0xfd, 0x56, 0x5d, 0x72, 0x7c, 0xef, 0x07, 0x5d, 0xa0, 0xd7, 0x2c, 0xd5, 0x31, + 0xbf, 0x82, 0x76, 0x54, 0x40, 0x97, 0x43, 0x4b, 0xb6, 0xda, 0xfc, 0x67, 0x05, 0x9a, 0x2a, 0xa7, + 0x15, 0x5c, 0xaa, 0x3e, 0xa7, 0xdb, 0xc6, 0x5a, 0x4c, 0x70, 0xd1, 0x04, 0xdc, 0x8d, 0x0f, 0x96, + 0x02, 0x1d, 0x5d, 0xdd, 0xfa, 0xc2, 0x32, 0x48, 0x0b, 0x9b, 0xec, 0x23, 0xd8, 0x56, 0x90, 0x50, + 0x06, 0x8e, 0x1b, 0x31, 0x5a, 0x87, 0xc6, 0x2e, 0x69, 0x08, 0xb7, 0x54, 0xa9, 0x38, 0xae, 0xd4, + 0xb9, 0xab, 0x4d, 0x03, 0x63, 0x57, 0x9a, 0x8f, 0xa1, 0x4e, 0xf3, 0x00, 0x34, 0x2f, 0xaf, 0xac, + 0xf1, 0xab, 0x97, 0xdd, 0x2d, 0xd6, 0x82, 0xda, 0xf8, 0xd5, 0x55, 0xb7, 0x72, 0xfc, 0x63, 0x03, + 0xf6, 0x4e, 0x47, 0x67, 0xe3, 0x53, 0xdf, 0x5f, 0x3a, 0x33, 0x4e, 0xe5, 0xc4, 0x10, 0xea, 0x54, + 0x30, 0x15, 0xbc, 0x5b, 0xf4, 0x8b, 0x2a, 0x77, 0x76, 0x0c, 0x0d, 0xaa, 0x9b, 0x58, 0xd1, 0xf3, + 0x45, 0xbf, 0xb0, 0x80, 0xc7, 0x8f, 0xa8, 0xca, 0xea, 0xee, 0x2b, 0x46, 0xbf, 0xa8, 0x8a, 0x67, + 0x5f, 0x83, 0x91, 0x54, 0x3c, 0x65, 0x6f, 0x19, 0xfd, 0xd2, 0x7a, 0x1e, 0xf1, 0x49, 0xd5, 0x53, + 0xf6, 0xa2, 0xd1, 0x2f, 0x2d, 0xea, 0xd9, 0x73, 0x68, 0x45, 0x05, 0x49, 0xf1, 0xbb, 0x46, 0xbf, + 0xa4, 0xae, 0x47, 0xf7, 0xa8, 0x32, 0xa1, 0xe8, 0xb9, 0xa2, 0x5f, 0x58, 0xaa, 0xb3, 0x67, 0xd0, + 0xd4, 0x19, 0xb2, 0xf0, 0x49, 0xa4, 0x5f, 0x7c, 0x21, 0xc0, 0x45, 0x26, 0x37, 0xdb, 0xb2, 0xb7, + 0x8e, 0x7e, 0x69, 0xa9, 0xcf, 0x4e, 0x01, 0x52, 0x57, 0xda, 0xd2, 0x17, 0x8f, 0x7e, 0x79, 0xc1, + 0xcf, 0xf0, 0xec, 0xc4, 0x97, 0xca, 0xe2, 0x77, 0x8f, 0x7e, 0x59, 0xcd, 0x3f, 0x6d, 0xd2, 0x5b, + 0xda, 0x17, 0xff, 0x0f, 0x00, 0x00, 0xff, 0xff, 0x36, 0x4b, 0x6a, 0x6b, 0x96, 0x13, 0x00, 0x00, } diff --git a/types/types.proto b/types/types.proto index 59424e75d..760bb5340 100644 --- a/types/types.proto +++ b/types/types.proto @@ -157,33 +157,35 @@ message ResponseBeginBlock{ } message ResponseEndBlock{ - repeated Validator changes = 1; - ConsensusParams consensus_param_changes = 2; + repeated Validator updates = 1; + ConsensusParams consensus_param_updates = 2; } +// ConsensusParams contains all consensus-relevant parameters +// that can be adjusted by the abci app message ConsensusParams{ - BlockSizeParams block_size_params = 1; - TxSizeParams tx_size_params = 2; - BlockGossipParams block_gossip_params = 3; + BlockSize block_size = 1; + TxSize tx_size = 2; + BlockGossip block_gossip = 3; } -// BlockSizeParams contain limits on the block size. -message BlockSizeParams{ +// BlockSize contain limits on the block size. +message BlockSize{ // NOTE: must not be 0 nor greater than 100MB int32 max_bytes = 1; int32 max_txs = 2; int64 max_gas = 3; } -// TxSizeParams contain limits on the tx size. -message TxSizeParams { +// TxSize contain limits on the tx size. +message TxSize{ int32 max_bytes = 1; int64 max_gas = 2; } -// BlockGossipParams determine consensus critical +// BlockGossip determine consensus critical // elements of how blocks are gossiped -message BlockGossipParams { +message BlockGossip{ // Note: must not be 0 int32 block_part_size_bytes = 1; } From eb6d412a82c55e26ed7ed56dba1e47ed724ea690 Mon Sep 17 00:00:00 2001 From: Ethan Frey Date: Thu, 14 Dec 2017 09:35:33 +0100 Subject: [PATCH 07/17] Add tests to protobuf objects for pr coverage --- types/types_test.go | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 types/types_test.go diff --git a/types/types_test.go b/types/types_test.go new file mode 100644 index 000000000..baa8155cd --- /dev/null +++ b/types/types_test.go @@ -0,0 +1,31 @@ +package types + +import ( + "testing" + + asrt "github.com/stretchr/testify/assert" +) + +func TestConsensusParams(t *testing.T) { + assert := asrt.New(t) + + params := &ConsensusParams{ + BlockSize: &BlockSize{MaxGas: 12345}, + BlockGossip: &BlockGossip{BlockPartSizeBytes: 54321}, + } + var noParams *ConsensusParams // nil + + // no error with nil fields + assert.Nil(noParams.GetBlockSize()) + assert.EqualValues(noParams.GetBlockSize().GetMaxGas(), 0) + + // get values with real fields + assert.NotNil(params.GetBlockSize()) + assert.EqualValues(params.GetBlockSize().GetMaxTxs(), 0) + assert.EqualValues(params.GetBlockSize().GetMaxGas(), 12345) + assert.NotNil(params.GetBlockGossip()) + assert.EqualValues(params.GetBlockGossip().GetBlockPartSizeBytes(), 54321) + assert.Nil(params.GetTxSize()) + assert.EqualValues(params.GetTxSize().GetMaxBytes(), 0) + +} From 66296fe11aaa518381c6cd7160bc6318e28c4e02 Mon Sep 17 00:00:00 2001 From: Anton Kaliaev Date: Tue, 19 Dec 2017 12:13:45 -0600 Subject: [PATCH 08/17] updates -> validator_set_updates ConsensusParamChanges -> ConsensusParamUpdates --- README.md | 4 +- example/dummy/dummy_test.go | 2 +- example/dummy/persistent_dummy.go | 10 +- types/types.pb.go | 227 +++++++++++++++--------------- types/types.proto | 2 +- 5 files changed, 123 insertions(+), 122 deletions(-) diff --git a/README.md b/README.md index 9686a6a04..d16792218 100644 --- a/README.md +++ b/README.md @@ -185,8 +185,8 @@ Here, we describe the requests and responses as function arguments and return va * __Arguments__: * `Height (int64)`: The block height that ended * __Returns__: - * `Updates ([]Validator)`: Updated validators with new voting powers (0 to remove) - * `ConsensusParamChanges (ConsensusParams)`: Changes to consensus-critical time/size parameters to tendermint core + * `ValidatorSetUpdates ([]Validator)`: Changes to validator set (set voting power to 0 to remove) + * `ConsensusParamUpdates (ConsensusParams)`: Changes to consensus-critical time/size parameters * __Usage__:
Signals the end of a block. Called prior to each Commit after all transactions. Validator set is updated with the result. diff --git a/example/dummy/dummy_test.go b/example/dummy/dummy_test.go index 4be4f688a..e3cdfc628 100644 --- a/example/dummy/dummy_test.go +++ b/example/dummy/dummy_test.go @@ -188,7 +188,7 @@ func makeApplyBlock(t *testing.T, dummy types.Application, heightInt int, diff [ resEndBlock := dummy.EndBlock(types.RequestEndBlock{header.Height}) dummy.Commit() - valsEqual(t, diff, resEndBlock.Updates) + valsEqual(t, diff, resEndBlock.ValidatorSetUpdates) } diff --git a/example/dummy/persistent_dummy.go b/example/dummy/persistent_dummy.go index a822deebc..47f8630c4 100644 --- a/example/dummy/persistent_dummy.go +++ b/example/dummy/persistent_dummy.go @@ -28,7 +28,7 @@ type PersistentDummyApplication struct { app *DummyApplication // validator set - updates []*types.Validator + valSetUpdates []*types.Validator logger log.Logger } @@ -71,7 +71,7 @@ func (app *PersistentDummyApplication) DeliverTx(tx []byte) types.ResponseDelive // format is "val:pubkey/power" if isValidatorTx(tx) { // update validators in the merkle tree - // and in app.updates + // and in app.valSetUpdates return app.execValidatorTx(tx) } @@ -119,13 +119,13 @@ func (app *PersistentDummyApplication) InitChain(req types.RequestInitChain) typ // Track the block hash and header information func (app *PersistentDummyApplication) BeginBlock(req types.RequestBeginBlock) types.ResponseBeginBlock { // reset valset changes - app.updates = make([]*types.Validator, 0) + app.valSetUpdates = make([]*types.Validator, 0) return types.ResponseBeginBlock{} } // Update the validator set func (app *PersistentDummyApplication) EndBlock(req types.RequestEndBlock) types.ResponseEndBlock { - return types.ResponseEndBlock{Updates: app.updates} + return types.ResponseEndBlock{ValidatorSetUpdates: app.valSetUpdates} } //--------------------------------------------- @@ -216,7 +216,7 @@ func (app *PersistentDummyApplication) updateValidator(v *types.Validator) types } // we only update the changes array if we successfully updated the tree - app.updates = append(app.updates, v) + app.valSetUpdates = append(app.valSetUpdates, v) return types.ResponseDeliverTx{Code: code.CodeTypeOK} } diff --git a/types/types.pb.go b/types/types.pb.go index b3ebc1de1..202ab71c5 100644 --- a/types/types.pb.go +++ b/types/types.pb.go @@ -1398,7 +1398,7 @@ func (*ResponseBeginBlock) ProtoMessage() {} func (*ResponseBeginBlock) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{23} } type ResponseEndBlock struct { - Updates []*Validator `protobuf:"bytes,1,rep,name=updates" json:"updates,omitempty"` + ValidatorSetUpdates []*Validator `protobuf:"bytes,1,rep,name=validator_set_updates,json=validatorSetUpdates" json:"validator_set_updates,omitempty"` ConsensusParamUpdates *ConsensusParams `protobuf:"bytes,2,opt,name=consensus_param_updates,json=consensusParamUpdates" json:"consensus_param_updates,omitempty"` } @@ -1407,9 +1407,9 @@ func (m *ResponseEndBlock) String() string { return proto.CompactText func (*ResponseEndBlock) ProtoMessage() {} func (*ResponseEndBlock) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{24} } -func (m *ResponseEndBlock) GetUpdates() []*Validator { +func (m *ResponseEndBlock) GetValidatorSetUpdates() []*Validator { if m != nil { - return m.Updates + return m.ValidatorSetUpdates } return nil } @@ -2193,114 +2193,115 @@ var _ABCIApplication_serviceDesc = grpc.ServiceDesc{ func init() { proto.RegisterFile("types/types.proto", fileDescriptorTypes) } var fileDescriptorTypes = []byte{ - // 1744 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0xcd, 0x8e, 0x1b, 0xc7, - 0x11, 0x5e, 0xfe, 0x73, 0x8a, 0xfb, 0x43, 0xb5, 0x56, 0x16, 0x45, 0x1d, 0xbc, 0x1e, 0x20, 0x31, - 0x57, 0xb6, 0x96, 0xf6, 0x1a, 0x0a, 0xb4, 0x76, 0x60, 0x64, 0xb9, 0x2b, 0x6b, 0x09, 0x03, 0x8a, - 0x32, 0xbb, 0xf1, 0x21, 0x17, 0xa2, 0xc9, 0xe9, 0x25, 0x07, 0x22, 0x67, 0xc6, 0x33, 0xcd, 0x35, - 0x57, 0xc8, 0x23, 0x18, 0xb9, 0xe6, 0x9c, 0x5c, 0x02, 0xe4, 0x05, 0x72, 0xcc, 0x2d, 0xc8, 0x33, - 0xe4, 0xe0, 0x67, 0x09, 0xaa, 0xba, 0xe7, 0x77, 0x67, 0x0c, 0x43, 0x07, 0x5d, 0xc8, 0xee, 0xae, - 0xfa, 0x7a, 0xaa, 0xab, 0xab, 0xbf, 0xaa, 0x6e, 0xb8, 0x27, 0x6f, 0x7d, 0x11, 0x0e, 0xe9, 0xf7, - 0xc8, 0x0f, 0x3c, 0xe9, 0xb1, 0x06, 0x75, 0xfa, 0x4f, 0xe7, 0x8e, 0x5c, 0xac, 0xa7, 0x47, 0x33, - 0x6f, 0x35, 0x9c, 0x7b, 0x73, 0x6f, 0x48, 0xd2, 0xe9, 0xfa, 0x9a, 0x7a, 0xd4, 0xa1, 0x96, 0x42, - 0x99, 0xff, 0xa9, 0x43, 0xcb, 0x12, 0xdf, 0xaf, 0x45, 0x28, 0xd9, 0x00, 0xea, 0x62, 0xb6, 0xf0, - 0x7a, 0x95, 0x83, 0xca, 0xa0, 0x73, 0xcc, 0x8e, 0xd4, 0xec, 0x5a, 0xfa, 0x62, 0xb6, 0xf0, 0x2e, - 0xb6, 0x2c, 0xd2, 0x60, 0x9f, 0x40, 0xe3, 0x7a, 0xb9, 0x0e, 0x17, 0xbd, 0x2a, 0xa9, 0xde, 0xcf, - 0xaa, 0x7e, 0x83, 0xa2, 0x8b, 0x2d, 0x4b, 0xe9, 0xe0, 0xb4, 0x8e, 0x7b, 0xed, 0xf5, 0x6a, 0x45, - 0xd3, 0x8e, 0xdd, 0x6b, 0x9a, 0x16, 0x35, 0xd8, 0x73, 0x80, 0x50, 0xc8, 0x89, 0xe7, 0x4b, 0xc7, - 0x73, 0x7b, 0x75, 0xd2, 0x7f, 0x98, 0xd5, 0xbf, 0x14, 0xf2, 0xf7, 0x24, 0xbe, 0xd8, 0xb2, 0x8c, - 0x30, 0xea, 0x20, 0xd2, 0x16, 0x4b, 0xe7, 0x46, 0x04, 0x13, 0xb9, 0xe9, 0x35, 0x8a, 0x90, 0xe7, - 0x4a, 0x7e, 0xb5, 0x41, 0xa4, 0x1d, 0x75, 0xd8, 0x31, 0xb4, 0x67, 0x0b, 0x31, 0x7b, 0x83, 0xb8, - 0x26, 0xe1, 0x1e, 0x64, 0x71, 0x67, 0x28, 0x25, 0x54, 0x6b, 0xa6, 0x9a, 0xec, 0x08, 0x9a, 0x33, - 0x6f, 0xb5, 0x72, 0x64, 0xaf, 0x45, 0x88, 0xfd, 0x1c, 0x82, 0x64, 0x17, 0x5b, 0x96, 0xd6, 0x42, - 0x77, 0x7d, 0xbf, 0x16, 0xc1, 0x6d, 0xaf, 0x5d, 0xe4, 0xae, 0x3f, 0xa0, 0x08, 0xdd, 0x45, 0x3a, - 0xb8, 0x14, 0xc7, 0x75, 0xe4, 0x64, 0xb6, 0xe0, 0x8e, 0xdb, 0x33, 0x8a, 0x96, 0x32, 0x76, 0x1d, - 0x79, 0x86, 0x62, 0x5c, 0x8a, 0x13, 0x75, 0xd8, 0x57, 0xd0, 0x99, 0x8a, 0xb9, 0xe3, 0x4e, 0xa6, - 0x4b, 0x6f, 0xf6, 0xa6, 0x07, 0x04, 0xed, 0x65, 0xa1, 0x23, 0x54, 0x18, 0xa1, 0xfc, 0x62, 0xcb, - 0x82, 0x69, 0xdc, 0x63, 0xcf, 0xc0, 0x10, 0xae, 0xad, 0xa1, 0x1d, 0x82, 0x7e, 0x90, 0x8b, 0x00, - 0xd7, 0x8e, 0x80, 0x6d, 0xa1, 0xdb, 0xa3, 0x16, 0x34, 0x6e, 0xf8, 0x72, 0x2d, 0xcc, 0x8f, 0xa1, - 0x93, 0x8a, 0x14, 0xd6, 0x83, 0xd6, 0x4a, 0x84, 0x21, 0x9f, 0x0b, 0x0a, 0x27, 0xc3, 0x8a, 0xba, - 0xe6, 0x2e, 0x6c, 0xa7, 0xe3, 0x24, 0x05, 0xc4, 0x58, 0x40, 0xe0, 0x8d, 0x08, 0x42, 0x0c, 0x00, - 0x0d, 0xd4, 0x5d, 0xf3, 0x4b, 0xe8, 0xe6, 0x83, 0x80, 0x75, 0xa1, 0xf6, 0x46, 0xdc, 0x6a, 0x4d, - 0x6c, 0xb2, 0x7d, 0x6d, 0x10, 0x85, 0xa6, 0x61, 0x69, 0xeb, 0xcc, 0x18, 0x1b, 0x87, 0x01, 0xdb, - 0x85, 0xaa, 0xdc, 0x10, 0x74, 0xdb, 0xaa, 0xca, 0x8d, 0x79, 0x00, 0xbb, 0xd9, 0x2d, 0xbf, 0xa3, - 0x61, 0xc7, 0xa6, 0xd3, 0x9e, 0x31, 0x06, 0x75, 0x9b, 0x4b, 0xae, 0x35, 0xa8, 0x8d, 0x63, 0x3e, - 0x97, 0x0b, 0xfd, 0x79, 0x6a, 0xb3, 0x0f, 0xa0, 0xb9, 0x10, 0xce, 0x7c, 0x21, 0xe9, 0x0c, 0xd4, - 0x2c, 0xdd, 0x43, 0x5b, 0xfd, 0xc0, 0xbb, 0x11, 0x14, 0xea, 0x6d, 0x4b, 0x75, 0xcc, 0x3d, 0xd8, - 0xc9, 0x04, 0x92, 0x79, 0x1e, 0x1b, 0x1f, 0x6f, 0x3c, 0xfb, 0x0c, 0xe0, 0x86, 0x2f, 0x1d, 0x9b, - 0x4b, 0x2f, 0x08, 0x7b, 0x95, 0x83, 0xda, 0xa0, 0x73, 0xdc, 0xd5, 0xfb, 0xf5, 0x5d, 0x24, 0xb0, - 0x52, 0x3a, 0xe6, 0xbf, 0x2b, 0x70, 0xef, 0x4e, 0x10, 0xa0, 0xb9, 0x0b, 0x1e, 0x2e, 0xa2, 0x25, - 0x60, 0x9b, 0xfd, 0x0a, 0xcd, 0xe5, 0xb6, 0x08, 0xf4, 0xf1, 0xde, 0xd1, 0xf3, 0x5e, 0xd0, 0xa0, - 0xa5, 0x85, 0xec, 0x13, 0xb8, 0xc7, 0xa7, 0xa1, 0x70, 0xe5, 0x24, 0x65, 0x49, 0xed, 0xa0, 0x36, - 0x68, 0x58, 0x5d, 0x25, 0x88, 0x0d, 0x09, 0xd9, 0x08, 0xf6, 0xa7, 0xb7, 0x6f, 0xb9, 0x2b, 0x1d, - 0x57, 0xa4, 0xf5, 0xeb, 0x64, 0xf9, 0x9e, 0xfe, 0xc2, 0x8b, 0x1b, 0xc7, 0x16, 0xee, 0x4c, 0x58, - 0xf7, 0x63, 0xe5, 0x64, 0x0e, 0xf3, 0x10, 0xf6, 0x72, 0xa1, 0x98, 0xf2, 0x6c, 0x25, 0xed, 0x59, - 0xf3, 0xc7, 0x06, 0xb4, 0x2d, 0x11, 0xfa, 0x9e, 0x1b, 0x0a, 0xf6, 0x1c, 0x0c, 0xb1, 0x99, 0x09, - 0xc5, 0x2a, 0x95, 0xdc, 0xa9, 0x50, 0x3a, 0x2f, 0x22, 0x39, 0x9e, 0xa8, 0x58, 0x99, 0x1d, 0x6a, - 0x46, 0xcc, 0xd3, 0x9c, 0x06, 0xa5, 0x29, 0xf1, 0xd3, 0x88, 0x12, 0x6b, 0x39, 0x4a, 0x50, 0xba, - 0x39, 0x4e, 0x3c, 0xd4, 0x9c, 0x58, 0x2f, 0x9c, 0x38, 0x43, 0x8a, 0x27, 0x19, 0x52, 0x6c, 0x14, - 0x9a, 0x5f, 0xc2, 0x8a, 0x27, 0x19, 0x56, 0x6c, 0x16, 0x42, 0x4b, 0x68, 0xf1, 0x8b, 0x14, 0x2d, - 0xb6, 0x72, 0x6c, 0xa0, 0x80, 0x05, 0xbc, 0x38, 0x8c, 0x79, 0xb1, 0x9d, 0x63, 0x52, 0x0d, 0xc9, - 0x13, 0xe3, 0xa7, 0x11, 0x31, 0x1a, 0x85, 0x4e, 0xcb, 0x31, 0xe3, 0x49, 0x86, 0x19, 0xa1, 0x70, - 0x39, 0x25, 0xd4, 0xf8, 0xdb, 0x2c, 0x35, 0x2a, 0x7e, 0x7b, 0x94, 0xc3, 0x96, 0x72, 0xe3, 0x6f, - 0xd2, 0xdc, 0xb8, 0x9d, 0x63, 0x64, 0x1d, 0x0b, 0x3f, 0x4b, 0x8e, 0x87, 0x78, 0xf4, 0x72, 0x91, - 0x86, 0xa7, 0x5f, 0x04, 0x81, 0x17, 0x68, 0xf6, 0x52, 0x1d, 0x73, 0x80, 0x1c, 0x93, 0xc4, 0xd7, - 0xcf, 0x10, 0x29, 0xf1, 0x44, 0x2a, 0xba, 0xcc, 0xbf, 0x56, 0x12, 0x2c, 0x71, 0x69, 0x9a, 0x9f, - 0x0c, 0xcd, 0x4f, 0x29, 0x7e, 0xad, 0x66, 0xf8, 0x95, 0x3d, 0x81, 0x7b, 0x4b, 0x1e, 0x4a, 0xb5, - 0xcc, 0x49, 0x86, 0xb0, 0xf6, 0x50, 0xa0, 0xd6, 0xa7, 0x98, 0xeb, 0x29, 0xdc, 0x4f, 0xe9, 0x72, - 0xdf, 0x9f, 0x10, 0x8b, 0xd4, 0x89, 0x45, 0xba, 0xb1, 0xf6, 0xa9, 0xef, 0x5f, 0xf0, 0x70, 0x61, - 0x9e, 0x24, 0xeb, 0x4f, 0xb8, 0x9b, 0x41, 0x7d, 0xe6, 0xd9, 0x6a, 0x59, 0x3b, 0x16, 0xb5, 0x91, - 0xcf, 0x97, 0xde, 0x5c, 0x5b, 0x86, 0x4d, 0xf3, 0xef, 0x95, 0x04, 0x9b, 0x70, 0x77, 0x11, 0xf6, - 0x5c, 0xaf, 0x16, 0xc1, 0xdb, 0xa3, 0xcf, 0xfe, 0xfb, 0xd3, 0x87, 0x5b, 0xff, 0xfb, 0xe9, 0xc3, - 0x41, 0xaa, 0x1e, 0x92, 0xc2, 0xb5, 0x45, 0xb0, 0x72, 0x5c, 0x39, 0x9c, 0x7b, 0x4f, 0x7f, 0x70, - 0x02, 0x31, 0x44, 0xc4, 0xd1, 0xe8, 0x56, 0x8a, 0x50, 0xfb, 0x47, 0x5b, 0x50, 0x8b, 0x2d, 0x60, - 0x1f, 0x41, 0x5d, 0xf2, 0x79, 0x44, 0x55, 0x11, 0x19, 0x7e, 0xfb, 0xdd, 0x6b, 0xee, 0x04, 0x16, - 0x89, 0xcc, 0xbf, 0x55, 0x90, 0x9a, 0x32, 0xe7, 0xe2, 0xbd, 0x9a, 0xd8, 0x85, 0xda, 0x9c, 0x87, - 0xe4, 0xfe, 0x9a, 0x85, 0x4d, 0x1c, 0xb9, 0x16, 0x82, 0xe8, 0xa2, 0x66, 0x61, 0xd3, 0xfc, 0x57, - 0x35, 0x89, 0x97, 0x38, 0x7d, 0xdd, 0xb1, 0x70, 0x1f, 0x1a, 0x8e, 0x6b, 0x8b, 0x0d, 0x99, 0x58, - 0xb3, 0x54, 0x87, 0x8d, 0x54, 0x9a, 0xad, 0xbd, 0xa3, 0xd9, 0x94, 0x98, 0xbf, 0x89, 0x12, 0x73, - 0xfd, 0x1d, 0x67, 0x51, 0x70, 0x9c, 0xc7, 0x0f, 0x3c, 0xef, 0x9a, 0xd6, 0xf6, 0x4e, 0xf3, 0x10, - 0x3c, 0x95, 0x3a, 0x9a, 0x99, 0xa4, 0xac, 0xbd, 0xdb, 0x4a, 0x42, 0xf0, 0xcf, 0x58, 0x18, 0xa4, - 0x19, 0xec, 0x7d, 0xee, 0xad, 0x79, 0x3f, 0x89, 0xff, 0x98, 0xdc, 0xcc, 0x7d, 0x60, 0x77, 0x59, - 0xcb, 0xfc, 0x4b, 0x05, 0x2b, 0x85, 0x2c, 0x21, 0xb1, 0x27, 0xd0, 0x5a, 0xfb, 0x36, 0x97, 0xa2, - 0xbc, 0x4c, 0x88, 0x14, 0xd8, 0x2b, 0x78, 0x38, 0x43, 0xb0, 0x1b, 0xae, 0xc3, 0x89, 0xcf, 0x03, - 0xbe, 0x9a, 0x44, 0xd8, 0x6a, 0x26, 0x09, 0x9c, 0x45, 0x5a, 0xaf, 0x51, 0x29, 0xb4, 0x1e, 0xcc, - 0x32, 0x03, 0x7f, 0x54, 0x20, 0x3a, 0x17, 0x39, 0x55, 0x36, 0x04, 0x50, 0xac, 0x11, 0x3a, 0x6f, - 0x85, 0x4e, 0xc7, 0x91, 0x49, 0x64, 0xf1, 0xa5, 0xf3, 0x56, 0x58, 0xc6, 0x34, 0x6a, 0xb2, 0x5f, - 0x43, 0x4b, 0x6e, 0x94, 0x76, 0xb6, 0x1e, 0xb9, 0xda, 0x90, 0x6a, 0x53, 0xd2, 0x3f, 0x7b, 0x06, - 0xdb, 0x6a, 0xe2, 0xb9, 0x17, 0x86, 0x8e, 0x9f, 0xbb, 0x6f, 0xd0, 0xd4, 0x2f, 0x49, 0x62, 0x75, - 0xa6, 0x49, 0xc7, 0xfc, 0x13, 0x18, 0xf1, 0x67, 0xd9, 0x63, 0x30, 0x56, 0x7c, 0x33, 0x99, 0xde, - 0x2a, 0x77, 0x55, 0x06, 0x0d, 0xab, 0xbd, 0xe2, 0x1b, 0xda, 0x21, 0xf6, 0x10, 0x5a, 0x28, 0x94, - 0x1b, 0xe5, 0x8d, 0x86, 0xd5, 0x5c, 0xf1, 0xcd, 0xd5, 0x26, 0x16, 0xe0, 0x11, 0xd4, 0x05, 0xde, - 0x8a, 0x6f, 0x5e, 0xf2, 0xd0, 0xfc, 0x1a, 0x9a, 0xca, 0xc8, 0x5f, 0x34, 0x31, 0xe2, 0xab, 0x19, - 0xfc, 0xef, 0xa0, 0x93, 0xb2, 0x9b, 0x7d, 0x0e, 0x0f, 0xd4, 0x0a, 0x7d, 0x1e, 0x48, 0xf2, 0x48, - 0x66, 0x42, 0x46, 0xc2, 0xd7, 0x3c, 0x90, 0xf8, 0x49, 0x9a, 0xda, 0xfc, 0x47, 0x15, 0x9a, 0xaa, - 0x6e, 0x63, 0x8f, 0x30, 0xa5, 0x73, 0xc7, 0x9d, 0x38, 0x76, 0x94, 0x4a, 0xa8, 0x3f, 0xb6, 0x53, - 0x67, 0xa1, 0x9a, 0x39, 0x0b, 0x0c, 0xea, 0xd2, 0x59, 0x09, 0xbd, 0x2a, 0x6a, 0xa3, 0xb1, 0xee, - 0x7a, 0x45, 0x5e, 0xa8, 0x2b, 0x2f, 0xb8, 0xeb, 0x15, 0x7a, 0xe1, 0x18, 0x76, 0x52, 0x39, 0xc1, - 0xb1, 0x75, 0xad, 0xb2, 0x9b, 0xde, 0x80, 0xf1, 0xb9, 0xd5, 0x89, 0xb3, 0xc3, 0xd8, 0x66, 0x03, - 0xa0, 0x64, 0x31, 0x51, 0xf5, 0x80, 0x4a, 0x22, 0x4d, 0x4a, 0x22, 0xbb, 0x38, 0xae, 0x0b, 0x06, - 0x2c, 0x4a, 0x1f, 0x83, 0x81, 0x07, 0x44, 0xa9, 0xb4, 0x48, 0xa5, 0x8d, 0x03, 0x24, 0xfc, 0x18, - 0xf6, 0x92, 0x9a, 0x52, 0xa9, 0xb4, 0xd5, 0x2c, 0xc9, 0x30, 0x29, 0x3e, 0x82, 0x76, 0x9c, 0xac, - 0x0c, 0xd2, 0x68, 0x71, 0x9d, 0xa3, 0xc6, 0xd0, 0xd2, 0x26, 0x16, 0x16, 0xc5, 0x4f, 0xa0, 0x81, - 0x5e, 0x8f, 0x0e, 0x42, 0x54, 0xaa, 0x90, 0xb7, 0x85, 0xd4, 0xa5, 0xb1, 0x52, 0x31, 0x4f, 0x60, - 0x27, 0x33, 0x8e, 0xac, 0x2a, 0x3d, 0xc9, 0x97, 0x7a, 0xa3, 0x54, 0x27, 0xfe, 0x4c, 0x35, 0xf9, - 0x8c, 0xf9, 0x25, 0x18, 0xf1, 0xb9, 0x44, 0x57, 0xfb, 0xeb, 0xe9, 0x24, 0xba, 0xe1, 0x6c, 0x5b, - 0x4d, 0x7f, 0x3d, 0xfd, 0x56, 0x5d, 0x72, 0x7c, 0xef, 0x07, 0x5d, 0xa0, 0xd7, 0x2c, 0xd5, 0x31, - 0xbf, 0x82, 0x76, 0x54, 0x40, 0x97, 0x43, 0x4b, 0xb6, 0xda, 0xfc, 0x67, 0x05, 0x9a, 0x2a, 0xa7, - 0x15, 0x5c, 0xaa, 0x3e, 0xa7, 0xdb, 0xc6, 0x5a, 0x4c, 0x70, 0xd1, 0x04, 0xdc, 0x8d, 0x0f, 0x96, - 0x02, 0x1d, 0x5d, 0xdd, 0xfa, 0xc2, 0x32, 0x48, 0x0b, 0x9b, 0xec, 0x23, 0xd8, 0x56, 0x90, 0x50, - 0x06, 0x8e, 0x1b, 0x31, 0x5a, 0x87, 0xc6, 0x2e, 0x69, 0x08, 0xb7, 0x54, 0xa9, 0x38, 0xae, 0xd4, - 0xb9, 0xab, 0x4d, 0x03, 0x63, 0x57, 0x9a, 0x8f, 0xa1, 0x4e, 0xf3, 0x00, 0x34, 0x2f, 0xaf, 0xac, - 0xf1, 0xab, 0x97, 0xdd, 0x2d, 0xd6, 0x82, 0xda, 0xf8, 0xd5, 0x55, 0xb7, 0x72, 0xfc, 0x63, 0x03, - 0xf6, 0x4e, 0x47, 0x67, 0xe3, 0x53, 0xdf, 0x5f, 0x3a, 0x33, 0x4e, 0xe5, 0xc4, 0x10, 0xea, 0x54, - 0x30, 0x15, 0xbc, 0x5b, 0xf4, 0x8b, 0x2a, 0x77, 0x76, 0x0c, 0x0d, 0xaa, 0x9b, 0x58, 0xd1, 0xf3, - 0x45, 0xbf, 0xb0, 0x80, 0xc7, 0x8f, 0xa8, 0xca, 0xea, 0xee, 0x2b, 0x46, 0xbf, 0xa8, 0x8a, 0x67, - 0x5f, 0x83, 0x91, 0x54, 0x3c, 0x65, 0x6f, 0x19, 0xfd, 0xd2, 0x7a, 0x1e, 0xf1, 0x49, 0xd5, 0x53, - 0xf6, 0xa2, 0xd1, 0x2f, 0x2d, 0xea, 0xd9, 0x73, 0x68, 0x45, 0x05, 0x49, 0xf1, 0xbb, 0x46, 0xbf, - 0xa4, 0xae, 0x47, 0xf7, 0xa8, 0x32, 0xa1, 0xe8, 0xb9, 0xa2, 0x5f, 0x58, 0xaa, 0xb3, 0x67, 0xd0, - 0xd4, 0x19, 0xb2, 0xf0, 0x49, 0xa4, 0x5f, 0x7c, 0x21, 0xc0, 0x45, 0x26, 0x37, 0xdb, 0xb2, 0xb7, - 0x8e, 0x7e, 0x69, 0xa9, 0xcf, 0x4e, 0x01, 0x52, 0x57, 0xda, 0xd2, 0x17, 0x8f, 0x7e, 0x79, 0xc1, - 0xcf, 0xf0, 0xec, 0xc4, 0x97, 0xca, 0xe2, 0x77, 0x8f, 0x7e, 0x59, 0xcd, 0x3f, 0x6d, 0xd2, 0x5b, - 0xda, 0x17, 0xff, 0x0f, 0x00, 0x00, 0xff, 0xff, 0x36, 0x4b, 0x6a, 0x6b, 0x96, 0x13, 0x00, 0x00, + // 1754 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0xcd, 0x6e, 0x23, 0xc7, + 0x11, 0x16, 0xff, 0x39, 0x45, 0xfd, 0x70, 0x5b, 0x5a, 0x2f, 0x97, 0x7b, 0xb0, 0x3c, 0x40, 0x62, + 0xca, 0xf6, 0x8a, 0xb6, 0x8c, 0x0d, 0x56, 0x76, 0x60, 0x44, 0x94, 0xd6, 0x2b, 0xc2, 0xc0, 0x66, + 0x33, 0x52, 0x7c, 0xc8, 0x85, 0x68, 0x72, 0x5a, 0xe4, 0x60, 0xc9, 0x99, 0xf1, 0x4c, 0x53, 0xa6, + 0x16, 0x79, 0x04, 0xdf, 0x73, 0x4e, 0x2e, 0x09, 0xf2, 0x02, 0x39, 0xe6, 0x16, 0xe4, 0x19, 0x72, + 0xf0, 0xb3, 0x04, 0x55, 0xdd, 0xf3, 0xab, 0x19, 0xc3, 0xd8, 0x83, 0x2f, 0x52, 0x77, 0x57, 0x7d, + 0xc5, 0xea, 0x9a, 0xea, 0xaf, 0xaa, 0x1b, 0x1e, 0xc8, 0x3b, 0x5f, 0x84, 0x43, 0xfa, 0x7b, 0xec, + 0x07, 0x9e, 0xf4, 0x58, 0x83, 0x26, 0xfd, 0xa7, 0x73, 0x47, 0x2e, 0xd6, 0xd3, 0xe3, 0x99, 0xb7, + 0x1a, 0xce, 0xbd, 0xb9, 0x37, 0x24, 0xe9, 0x74, 0x7d, 0x43, 0x33, 0x9a, 0xd0, 0x48, 0xa1, 0xcc, + 0xff, 0xd4, 0xa1, 0x65, 0x89, 0xef, 0xd6, 0x22, 0x94, 0x6c, 0x00, 0x75, 0x31, 0x5b, 0x78, 0xbd, + 0xca, 0x61, 0x65, 0xd0, 0x39, 0x61, 0xc7, 0xca, 0xba, 0x96, 0xbe, 0x98, 0x2d, 0xbc, 0xcb, 0x2d, + 0x8b, 0x34, 0xd8, 0xc7, 0xd0, 0xb8, 0x59, 0xae, 0xc3, 0x45, 0xaf, 0x4a, 0xaa, 0xfb, 0x59, 0xd5, + 0xaf, 0x51, 0x74, 0xb9, 0x65, 0x29, 0x1d, 0x34, 0xeb, 0xb8, 0x37, 0x5e, 0xaf, 0x56, 0x64, 0x76, + 0xec, 0xde, 0x90, 0x59, 0xd4, 0x60, 0xcf, 0x01, 0x42, 0x21, 0x27, 0x9e, 0x2f, 0x1d, 0xcf, 0xed, + 0xd5, 0x49, 0xff, 0x51, 0x56, 0xff, 0x4a, 0xc8, 0xdf, 0x93, 0xf8, 0x72, 0xcb, 0x32, 0xc2, 0x68, + 0x82, 0x48, 0x5b, 0x2c, 0x9d, 0x5b, 0x11, 0x4c, 0xe4, 0xa6, 0xd7, 0x28, 0x42, 0x5e, 0x28, 0xf9, + 0xf5, 0x06, 0x91, 0x76, 0x34, 0x61, 0x27, 0xd0, 0x9e, 0x2d, 0xc4, 0xec, 0x0d, 0xe2, 0x9a, 0x84, + 0x7b, 0x98, 0xc5, 0x9d, 0xa3, 0x94, 0x50, 0xad, 0x99, 0x1a, 0xb2, 0x63, 0x68, 0xce, 0xbc, 0xd5, + 0xca, 0x91, 0xbd, 0x16, 0x21, 0x0e, 0x72, 0x08, 0x92, 0x5d, 0x6e, 0x59, 0x5a, 0x0b, 0xc3, 0xf5, + 0xdd, 0x5a, 0x04, 0x77, 0xbd, 0x76, 0x51, 0xb8, 0xfe, 0x80, 0x22, 0x0c, 0x17, 0xe9, 0xe0, 0x56, + 0x1c, 0xd7, 0x91, 0x93, 0xd9, 0x82, 0x3b, 0x6e, 0xcf, 0x28, 0xda, 0xca, 0xd8, 0x75, 0xe4, 0x39, + 0x8a, 0x71, 0x2b, 0x4e, 0x34, 0x61, 0x5f, 0x42, 0x67, 0x2a, 0xe6, 0x8e, 0x3b, 0x99, 0x2e, 0xbd, + 0xd9, 0x9b, 0x1e, 0x10, 0xb4, 0x97, 0x85, 0x8e, 0x50, 0x61, 0x84, 0xf2, 0xcb, 0x2d, 0x0b, 0xa6, + 0xf1, 0x8c, 0x3d, 0x03, 0x43, 0xb8, 0xb6, 0x86, 0x76, 0x08, 0xfa, 0x5e, 0x2e, 0x03, 0x5c, 0x3b, + 0x02, 0xb6, 0x85, 0x1e, 0x8f, 0x5a, 0xd0, 0xb8, 0xe5, 0xcb, 0xb5, 0x30, 0x3f, 0x84, 0x4e, 0x2a, + 0x53, 0x58, 0x0f, 0x5a, 0x2b, 0x11, 0x86, 0x7c, 0x2e, 0x28, 0x9d, 0x0c, 0x2b, 0x9a, 0x9a, 0xbb, + 0xb0, 0x9d, 0xce, 0x93, 0x14, 0x10, 0x73, 0x01, 0x81, 0xb7, 0x22, 0x08, 0x31, 0x01, 0x34, 0x50, + 0x4f, 0xcd, 0x2f, 0xa0, 0x9b, 0x4f, 0x02, 0xd6, 0x85, 0xda, 0x1b, 0x71, 0xa7, 0x35, 0x71, 0xc8, + 0x0e, 0xb4, 0x43, 0x94, 0x9a, 0x86, 0xa5, 0xbd, 0x33, 0x63, 0x6c, 0x9c, 0x06, 0x6c, 0x17, 0xaa, + 0x72, 0x43, 0xd0, 0x6d, 0xab, 0x2a, 0x37, 0xe6, 0x21, 0xec, 0x66, 0x3f, 0xf9, 0x3d, 0x0d, 0x3b, + 0x76, 0x9d, 0xbe, 0x19, 0x63, 0x50, 0xb7, 0xb9, 0xe4, 0x5a, 0x83, 0xc6, 0xb8, 0xe6, 0x73, 0xb9, + 0xd0, 0x3f, 0x4f, 0x63, 0xf6, 0x1e, 0x34, 0x17, 0xc2, 0x99, 0x2f, 0x24, 0x9d, 0x81, 0x9a, 0xa5, + 0x67, 0xe8, 0xab, 0x1f, 0x78, 0xb7, 0x82, 0x52, 0xbd, 0x6d, 0xa9, 0x89, 0xb9, 0x07, 0x3b, 0x99, + 0x44, 0x32, 0x2f, 0x62, 0xe7, 0xe3, 0x0f, 0xcf, 0x3e, 0x05, 0xb8, 0xe5, 0x4b, 0xc7, 0xe6, 0xd2, + 0x0b, 0xc2, 0x5e, 0xe5, 0xb0, 0x36, 0xe8, 0x9c, 0x74, 0xf5, 0xf7, 0xfa, 0x36, 0x12, 0x58, 0x29, + 0x1d, 0xf3, 0xdf, 0x15, 0x78, 0x70, 0x2f, 0x09, 0xd0, 0xdd, 0x05, 0x0f, 0x17, 0xd1, 0x16, 0x70, + 0xcc, 0x7e, 0x85, 0xee, 0x72, 0x5b, 0x04, 0xfa, 0x78, 0xef, 0x68, 0xbb, 0x97, 0xb4, 0x68, 0x69, + 0x21, 0xfb, 0x18, 0x1e, 0xf0, 0x69, 0x28, 0x5c, 0x39, 0x49, 0x79, 0x52, 0x3b, 0xac, 0x0d, 0x1a, + 0x56, 0x57, 0x09, 0x62, 0x47, 0x42, 0x36, 0x82, 0x83, 0xe9, 0xdd, 0x5b, 0xee, 0x4a, 0xc7, 0x15, + 0x69, 0xfd, 0x3a, 0x79, 0xbe, 0xa7, 0x7f, 0xe1, 0xc5, 0xad, 0x63, 0x0b, 0x77, 0x26, 0xac, 0xfd, + 0x58, 0x39, 0xb1, 0x61, 0x1e, 0xc1, 0x5e, 0x2e, 0x15, 0x53, 0x91, 0xad, 0xa4, 0x23, 0x6b, 0xfe, + 0xd0, 0x80, 0xb6, 0x25, 0x42, 0xdf, 0x73, 0x43, 0xc1, 0x9e, 0x83, 0x21, 0x36, 0x33, 0xa1, 0x58, + 0xa5, 0x92, 0x3b, 0x15, 0x4a, 0xe7, 0x45, 0x24, 0xc7, 0x13, 0x15, 0x2b, 0xb3, 0x23, 0xcd, 0x88, + 0x79, 0x9a, 0xd3, 0xa0, 0x34, 0x25, 0x7e, 0x12, 0x51, 0x62, 0x2d, 0x47, 0x09, 0x4a, 0x37, 0xc7, + 0x89, 0x47, 0x9a, 0x13, 0xeb, 0x85, 0x86, 0x33, 0xa4, 0x78, 0x9a, 0x21, 0xc5, 0x46, 0xa1, 0xfb, + 0x25, 0xac, 0x78, 0x9a, 0x61, 0xc5, 0x66, 0x21, 0xb4, 0x84, 0x16, 0x3f, 0x4f, 0xd1, 0x62, 0x2b, + 0xc7, 0x06, 0x0a, 0x58, 0xc0, 0x8b, 0xc3, 0x98, 0x17, 0xdb, 0x39, 0x26, 0xd5, 0x90, 0x3c, 0x31, + 0x7e, 0x12, 0x11, 0xa3, 0x51, 0x18, 0xb4, 0x1c, 0x33, 0x9e, 0x66, 0x98, 0x11, 0x0a, 0xb7, 0x53, + 0x42, 0x8d, 0xbf, 0xcd, 0x52, 0xa3, 0xe2, 0xb7, 0xc7, 0x39, 0x6c, 0x29, 0x37, 0xfe, 0x26, 0xcd, + 0x8d, 0xdb, 0x39, 0x46, 0xd6, 0xb9, 0xf0, 0x93, 0xe4, 0x78, 0x84, 0x47, 0x2f, 0x97, 0x69, 0x78, + 0xfa, 0x45, 0x10, 0x78, 0x81, 0x66, 0x2f, 0x35, 0x31, 0x07, 0xc8, 0x31, 0x49, 0x7e, 0xfd, 0x04, + 0x91, 0x12, 0x4f, 0xa4, 0xb2, 0xcb, 0xfc, 0x4b, 0x25, 0xc1, 0x12, 0x97, 0xa6, 0xf9, 0xc9, 0xd0, + 0xfc, 0x94, 0xe2, 0xd7, 0x6a, 0x86, 0x5f, 0xd9, 0x47, 0xf0, 0x60, 0xc9, 0x43, 0xa9, 0xb6, 0x39, + 0xc9, 0x10, 0xd6, 0x1e, 0x0a, 0xd4, 0xfe, 0x14, 0x73, 0x3d, 0x85, 0xfd, 0x94, 0x2e, 0xf7, 0xfd, + 0x09, 0xb1, 0x48, 0x9d, 0x58, 0xa4, 0x1b, 0x6b, 0x9f, 0xf9, 0xfe, 0x25, 0x0f, 0x17, 0xe6, 0x69, + 0xb2, 0xff, 0x84, 0xbb, 0x19, 0xd4, 0x67, 0x9e, 0xad, 0xb6, 0xb5, 0x63, 0xd1, 0x18, 0xf9, 0x7c, + 0xe9, 0xcd, 0xb5, 0x67, 0x38, 0x34, 0xff, 0x56, 0x49, 0xb0, 0x09, 0x77, 0x17, 0x61, 0x2f, 0xf4, + 0x6e, 0x11, 0xbc, 0x3d, 0xfa, 0xf4, 0xbf, 0x3f, 0xbe, 0xbf, 0xf5, 0xbf, 0x1f, 0xdf, 0x1f, 0xa4, + 0xfa, 0x21, 0x29, 0x5c, 0x5b, 0x04, 0x2b, 0xc7, 0x95, 0xc3, 0xb9, 0xf7, 0xf4, 0x7b, 0x27, 0x10, + 0x43, 0x44, 0x1c, 0x8f, 0xee, 0xa4, 0x08, 0x75, 0x7c, 0xb4, 0x07, 0xb5, 0xd8, 0x03, 0xf6, 0x01, + 0xd4, 0x25, 0x9f, 0x47, 0x54, 0x15, 0x91, 0xe1, 0x37, 0xdf, 0xbe, 0xe6, 0x4e, 0x60, 0x91, 0xc8, + 0xfc, 0x6b, 0x05, 0xa9, 0x29, 0x73, 0x2e, 0x7e, 0x51, 0x17, 0xbb, 0x50, 0x9b, 0xf3, 0x90, 0xc2, + 0x5f, 0xb3, 0x70, 0x88, 0x2b, 0x37, 0x42, 0x10, 0x5d, 0xd4, 0x2c, 0x1c, 0x9a, 0xff, 0xaa, 0x26, + 0xf9, 0x12, 0x97, 0xaf, 0x7b, 0x1e, 0x1e, 0x40, 0xc3, 0x71, 0x6d, 0xb1, 0x21, 0x17, 0x6b, 0x96, + 0x9a, 0xb0, 0x91, 0x2a, 0xb3, 0xb5, 0x77, 0x74, 0x9b, 0x0a, 0xf3, 0xd7, 0x51, 0x61, 0xae, 0xbf, + 0xa3, 0x15, 0x05, 0x47, 0x3b, 0x7e, 0xe0, 0x79, 0x37, 0xb4, 0xb7, 0x77, 0xb2, 0x43, 0xf0, 0x54, + 0xe9, 0x68, 0x66, 0x8a, 0xb2, 0x8e, 0x6e, 0x2b, 0x49, 0xc1, 0x3f, 0x63, 0x63, 0x90, 0x66, 0xb0, + 0x5f, 0xf2, 0xdb, 0x9a, 0xfb, 0x49, 0xfe, 0xc7, 0xe4, 0x66, 0x1e, 0x00, 0xbb, 0xcf, 0x5a, 0xe6, + 0x3f, 0x2a, 0xd8, 0x29, 0x64, 0x09, 0x89, 0x5d, 0xc0, 0xc3, 0xb8, 0xde, 0x4e, 0xb0, 0x92, 0xac, + 0x7d, 0x9b, 0x4b, 0x51, 0xde, 0x34, 0xec, 0xc7, 0xea, 0x57, 0x42, 0xfe, 0x51, 0x29, 0xb3, 0x57, + 0xf0, 0x68, 0x86, 0x66, 0xdd, 0x70, 0x1d, 0x4e, 0x7c, 0x1e, 0xf0, 0x55, 0x6c, 0xa7, 0x9a, 0x29, + 0x0f, 0xe7, 0x91, 0xd6, 0x6b, 0x54, 0x0a, 0xad, 0x87, 0xb3, 0xcc, 0x82, 0xb6, 0x47, 0x27, 0x26, + 0xa7, 0xca, 0x86, 0x00, 0x8a, 0x4f, 0x42, 0xe7, 0xad, 0xd0, 0x85, 0x3a, 0x72, 0x8f, 0xf6, 0x72, + 0xe5, 0xbc, 0x15, 0x96, 0x31, 0x8d, 0x86, 0xec, 0xd7, 0xd0, 0x92, 0x1b, 0xa5, 0x9d, 0xed, 0x54, + 0xae, 0x37, 0xa4, 0xda, 0x94, 0xf4, 0x9f, 0x3d, 0x83, 0x6d, 0x65, 0x78, 0xee, 0x85, 0xa1, 0xe3, + 0xe7, 0x6e, 0x22, 0x64, 0xfa, 0x25, 0x49, 0xac, 0xce, 0x34, 0x99, 0x98, 0x7f, 0x02, 0x23, 0xfe, + 0x59, 0xf6, 0x04, 0x8c, 0x15, 0xdf, 0x4c, 0xa6, 0x77, 0x2a, 0x74, 0x95, 0x41, 0xc3, 0x6a, 0xaf, + 0xf8, 0x86, 0xbe, 0x1d, 0x7b, 0x04, 0x2d, 0x14, 0xca, 0x8d, 0x8a, 0x46, 0xc3, 0x6a, 0xae, 0xf8, + 0xe6, 0x7a, 0x13, 0x0b, 0xf0, 0x70, 0xea, 0xd6, 0x6f, 0xc5, 0x37, 0x2f, 0x79, 0x68, 0x7e, 0x05, + 0x4d, 0xe5, 0xe4, 0xcf, 0x32, 0x8c, 0xf8, 0x6a, 0x06, 0xff, 0x3b, 0xe8, 0xa4, 0xfc, 0x66, 0x9f, + 0xc1, 0x43, 0xb5, 0x43, 0x9f, 0x07, 0x92, 0x22, 0x92, 0x31, 0xc8, 0x48, 0xf8, 0x9a, 0x07, 0x12, + 0x7f, 0x92, 0x4c, 0x9b, 0x7f, 0xaf, 0x42, 0x53, 0x75, 0x74, 0xec, 0x31, 0x16, 0x7b, 0xee, 0xb8, + 0x13, 0xc7, 0x8e, 0x8a, 0x0c, 0xcd, 0xc7, 0x76, 0xea, 0x94, 0x54, 0x33, 0xa7, 0x84, 0x41, 0x5d, + 0x3a, 0x2b, 0xa1, 0x77, 0x45, 0x63, 0x74, 0xd6, 0x5d, 0xaf, 0x28, 0x0a, 0x75, 0x15, 0x05, 0x77, + 0xbd, 0xc2, 0x28, 0x9c, 0xc0, 0x4e, 0xaa, 0x5a, 0x38, 0xb6, 0xee, 0x62, 0x76, 0xd3, 0x1f, 0x60, + 0x7c, 0x61, 0x75, 0xe2, 0xba, 0x31, 0xb6, 0xd9, 0x00, 0xa8, 0x8c, 0x4c, 0x54, 0xa7, 0xa0, 0xca, + 0x4b, 0x93, 0xca, 0xcb, 0x2e, 0xae, 0xeb, 0x56, 0x02, 0xdb, 0xd5, 0x27, 0x60, 0xe0, 0xd1, 0x51, + 0x2a, 0x2d, 0x52, 0x69, 0xe3, 0x02, 0x09, 0x3f, 0x84, 0xbd, 0xa4, 0xdb, 0x54, 0x2a, 0x6d, 0x65, + 0x25, 0x59, 0x26, 0xc5, 0xc7, 0xd0, 0x8e, 0xcb, 0x98, 0x41, 0x1a, 0x2d, 0xae, 0xab, 0xd7, 0x18, + 0x5a, 0xda, 0xc5, 0xc2, 0x76, 0xf9, 0x23, 0x68, 0x60, 0xd4, 0xa3, 0x83, 0x10, 0x35, 0x31, 0x14, + 0x6d, 0x21, 0x75, 0xd3, 0xac, 0x54, 0xcc, 0x53, 0xd8, 0xc9, 0xac, 0x23, 0xdf, 0x4a, 0x4f, 0xf2, + 0xa5, 0xfe, 0x50, 0x6a, 0x12, 0xff, 0x4c, 0x35, 0xf9, 0x19, 0xf3, 0x0b, 0x30, 0xe2, 0x33, 0x8a, + 0xa1, 0xf6, 0xd7, 0xd3, 0x49, 0x74, 0xf7, 0xd9, 0xb6, 0x9a, 0xfe, 0x7a, 0xfa, 0x8d, 0xba, 0xfe, + 0xf8, 0xde, 0xf7, 0xba, 0x75, 0xaf, 0x59, 0x6a, 0x62, 0x7e, 0x09, 0xed, 0xa8, 0xb5, 0x2e, 0x87, + 0x96, 0x7c, 0x6a, 0xf3, 0x9f, 0x15, 0x68, 0xaa, 0x6a, 0x57, 0x70, 0xdd, 0xfa, 0x8c, 0xee, 0x21, + 0x6b, 0x31, 0xc1, 0x4d, 0x13, 0x70, 0x37, 0x3e, 0x58, 0x0a, 0x74, 0x7c, 0x7d, 0xe7, 0x0b, 0xcb, + 0x20, 0x2d, 0x1c, 0xb2, 0x0f, 0x60, 0x5b, 0x41, 0x42, 0x19, 0x38, 0x6e, 0xc4, 0x75, 0x1d, 0x5a, + 0xbb, 0xa2, 0x25, 0xfc, 0xa4, 0x4a, 0xc5, 0x71, 0xa5, 0xae, 0x6a, 0x6d, 0x5a, 0x18, 0xbb, 0xd2, + 0x7c, 0x02, 0x75, 0xb2, 0x03, 0xd0, 0xbc, 0xba, 0xb6, 0xc6, 0xaf, 0x5e, 0x76, 0xb7, 0x58, 0x0b, + 0x6a, 0xe3, 0x57, 0xd7, 0xdd, 0xca, 0xc9, 0x0f, 0x0d, 0xd8, 0x3b, 0x1b, 0x9d, 0x8f, 0xcf, 0x7c, + 0x7f, 0xe9, 0xcc, 0x38, 0x35, 0x1a, 0x43, 0xa8, 0x53, 0x2b, 0x55, 0xf0, 0xa2, 0xd1, 0x2f, 0xea, + 0xe9, 0xd9, 0x09, 0x34, 0xa8, 0xa3, 0x62, 0x45, 0x0f, 0x1b, 0xfd, 0xc2, 0xd6, 0x1e, 0x7f, 0x44, + 0xf5, 0x5c, 0xf7, 0xdf, 0x37, 0xfa, 0x45, 0xfd, 0x3d, 0xfb, 0x0a, 0x8c, 0xa4, 0x17, 0x2a, 0x7b, + 0xe5, 0xe8, 0x97, 0x76, 0xfa, 0x88, 0x4f, 0xfa, 0xa1, 0xb2, 0xb7, 0x8e, 0x7e, 0x69, 0xbb, 0xcf, + 0x9e, 0x43, 0x2b, 0x6a, 0x55, 0x8a, 0x5f, 0x3c, 0xfa, 0x25, 0x1d, 0x3f, 0x86, 0x47, 0x35, 0x10, + 0x45, 0x0f, 0x19, 0xfd, 0xc2, 0x26, 0x9e, 0x3d, 0x83, 0xa6, 0xae, 0x9d, 0x85, 0x8f, 0x25, 0xfd, + 0xe2, 0xab, 0x02, 0x6e, 0x32, 0xb9, 0xf3, 0x96, 0xbd, 0x82, 0xf4, 0x4b, 0x2f, 0x01, 0xec, 0x0c, + 0x20, 0x75, 0xd9, 0x2d, 0x7d, 0x0b, 0xe9, 0x97, 0x5f, 0x05, 0x18, 0x9e, 0x9d, 0xf8, 0xba, 0x59, + 0xfc, 0x22, 0xd2, 0x2f, 0xbb, 0x0d, 0x4c, 0x9b, 0xf4, 0xca, 0xf6, 0xf9, 0xff, 0x03, 0x00, 0x00, + 0xff, 0xff, 0x3a, 0x99, 0xe6, 0x77, 0xb0, 0x13, 0x00, 0x00, } diff --git a/types/types.proto b/types/types.proto index 760bb5340..99d2ef641 100644 --- a/types/types.proto +++ b/types/types.proto @@ -157,7 +157,7 @@ message ResponseBeginBlock{ } message ResponseEndBlock{ - repeated Validator updates = 1; + repeated Validator validator_set_updates = 1; ConsensusParams consensus_param_updates = 2; } From 811dc071aae355775131d3e6f9325a076995aca2 Mon Sep 17 00:00:00 2001 From: Emmanuel T Odeke Date: Tue, 19 Dec 2017 11:29:59 -0700 Subject: [PATCH 09/17] protoc: "//nolint: gas" directive after pb generation (#164) * protoc: "//nolint: gas" directive after pb generation Fixes #138 Since we can't add package directives through the protoc compiler, yet we need to "//nolint: gas" the Go generated protobuf file, added a script whose purpose is to go find the "package (\w+)$" declaration after go fmt was run by protoc. The competing solutions were more complex and can be examined by visiting https://github.com/tendermint/abci/issues/138#issuecomment-352226217 * simplify script * rewrite script to work on Mac --- Makefile | 3 +++ types/types.pb.go | 1 + 2 files changed, 4 insertions(+) diff --git a/Makefile b/Makefile index 7176ab101..9324570fd 100644 --- a/Makefile +++ b/Makefile @@ -28,6 +28,9 @@ protoc: ## ldconfig (may require sudo) ## https://stackoverflow.com/a/25518702 protoc $(INCLUDE) --gogo_out=plugins=grpc:. --lint_out=. types/*.proto + @echo "--> adding nolint declarations to protobuf generated files" + @awk '/package types/ { print "//nolint: gas"; print; next }1' types/types.pb.go > types/types.pb.go.new + @mv types/types.pb.go.new types/types.pb.go install: @ go install ./cmd/... diff --git a/types/types.pb.go b/types/types.pb.go index 69777d6d5..e75496650 100644 --- a/types/types.pb.go +++ b/types/types.pb.go @@ -40,6 +40,7 @@ It has these top-level messages: Evidence KVPair */ +//nolint: gas package types import proto "github.com/gogo/protobuf/proto" From 9a5b943e778567df49ec0f3d5a8f46fe0a928e6c Mon Sep 17 00:00:00 2001 From: Anton Kaliaev Date: Tue, 19 Dec 2017 13:17:29 -0600 Subject: [PATCH 10/17] update changelog [ci skip] --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 64c0cbce1..627e23c3f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.9.0 (TBD) + +BREAKING CHANGES: + - [types] ResponseEndBlock: renamed Diffs field to ValidatorSetUpdates + +FEATURES: + - [types] ResponseEndBlock: added ConsensusParamUpdates + ## 0.8.0 (December 6, 2017) BREAKING CHANGES: From c14d3982ac6eaf941e246ffca39421a15686e485 Mon Sep 17 00:00:00 2001 From: Jae Kwon Date: Wed, 20 Dec 2017 00:02:41 -0800 Subject: [PATCH 11/17] ValidatorSetUpdates -> ValidatorUpdates --- CHANGELOG.md | 2 +- Makefile | 18 +- README.md | 2 +- example/dummy/dummy_test.go | 4 +- example/dummy/persistent_dummy.go | 10 +- types/types.pb.go | 938 +++++++++++++++--------------- types/types.proto | 160 ++--- 7 files changed, 564 insertions(+), 570 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 627e23c3f..c2b183f1b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ ## 0.9.0 (TBD) BREAKING CHANGES: - - [types] ResponseEndBlock: renamed Diffs field to ValidatorSetUpdates + - [types] ResponseEndBlock: renamed Diffs field to ValidatorUpdates FEATURES: - [types] ResponseEndBlock: added ConsensusParamUpdates diff --git a/Makefile b/Makefile index d5fe913b2..8487febf1 100644 --- a/Makefile +++ b/Makefile @@ -2,13 +2,12 @@ GOTOOLS = \ github.com/mitchellh/gox \ github.com/Masterminds/glide \ github.com/alecthomas/gometalinter \ - github.com/ckaznocha/protoc-gen-lint \ github.com/gogo/protobuf/protoc-gen-gogo \ github.com/gogo/protobuf/gogoproto INCLUDE = -I=. -I=${GOPATH}/src -I=${GOPATH}/src/github.com/gogo/protobuf/protobuf -all: install test +all: protoc install test metalinter PACKAGES=$(shell go list ./... | grep -v '/vendor/') @@ -27,7 +26,7 @@ protoc: ## On "error while loading shared libraries: libprotobuf.so.14: cannot open shared object file: No such file or directory" ## ldconfig (may require sudo) ## https://stackoverflow.com/a/25518702 - protoc $(INCLUDE) --gogo_out=plugins=grpc:. --lint_out=. types/*.proto + protoc $(INCLUDE) --gogo_out=plugins=grpc:. types/*.proto install: @ go install ./cmd/... @@ -41,15 +40,13 @@ dist: test: @ find . -path ./vendor -prune -o -name "*.sock" -exec rm {} \; - @ echo "==> Running linter" - @ make metalinter_test @ echo "==> Running go test" @ go test $(PACKAGES) test_race: @ find . -path ./vendor -prune -o -name "*.sock" -exec rm {} \; @ echo "==> Running go test --race" - @go test -v -race $(PACKAGES) + @ go test -v -race $(PACKAGES) test_integrations: @ bash test.sh @@ -62,19 +59,18 @@ get_deps: ensure_tools: go get -u -v $(GOTOOLS) - @gometalinter --install + @ gometalinter --install get_vendor_deps: ensure_tools @rm -rf vendor/ @echo "--> Running glide install" @ glide install -metalinter: - protoc $(INCLUDE) --lint_out=. types/*.proto +metalinter_all: gometalinter --vendor --deadline=600s --enable-all --disable=lll ./... -metalinter_test: - protoc $(INCLUDE) --lint_out=. types/*.proto +metalinter: + @ echo "==> Running linter" gometalinter --vendor --deadline=600s --disable-all \ --enable=maligned \ --enable=deadcode \ diff --git a/README.md b/README.md index d16792218..546342fc9 100644 --- a/README.md +++ b/README.md @@ -185,7 +185,7 @@ Here, we describe the requests and responses as function arguments and return va * __Arguments__: * `Height (int64)`: The block height that ended * __Returns__: - * `ValidatorSetUpdates ([]Validator)`: Changes to validator set (set voting power to 0 to remove) + * `ValidatorUpdates ([]Validator)`: Changes to validator set (set voting power to 0 to remove) * `ConsensusParamUpdates (ConsensusParams)`: Changes to consensus-critical time/size parameters * __Usage__:
Signals the end of a block. Called prior to each Commit after all transactions. Validator set is updated with the result. diff --git a/example/dummy/dummy_test.go b/example/dummy/dummy_test.go index e3cdfc628..96666547f 100644 --- a/example/dummy/dummy_test.go +++ b/example/dummy/dummy_test.go @@ -107,7 +107,7 @@ func TestPersistentDummyInfo(t *testing.T) { } // add a validator, remove a validator, update a validator -func TestValSetUpdates(t *testing.T) { +func TestValUpdates(t *testing.T) { dir, err := ioutil.TempDir("/tmp", "abci-dummy-test") // TODO if err != nil { t.Fatal(err) @@ -188,7 +188,7 @@ func makeApplyBlock(t *testing.T, dummy types.Application, heightInt int, diff [ resEndBlock := dummy.EndBlock(types.RequestEndBlock{header.Height}) dummy.Commit() - valsEqual(t, diff, resEndBlock.ValidatorSetUpdates) + valsEqual(t, diff, resEndBlock.ValidatorUpdates) } diff --git a/example/dummy/persistent_dummy.go b/example/dummy/persistent_dummy.go index 47f8630c4..4165b9f71 100644 --- a/example/dummy/persistent_dummy.go +++ b/example/dummy/persistent_dummy.go @@ -28,7 +28,7 @@ type PersistentDummyApplication struct { app *DummyApplication // validator set - valSetUpdates []*types.Validator + ValUpdates []*types.Validator logger log.Logger } @@ -71,7 +71,7 @@ func (app *PersistentDummyApplication) DeliverTx(tx []byte) types.ResponseDelive // format is "val:pubkey/power" if isValidatorTx(tx) { // update validators in the merkle tree - // and in app.valSetUpdates + // and in app.ValUpdates return app.execValidatorTx(tx) } @@ -119,13 +119,13 @@ func (app *PersistentDummyApplication) InitChain(req types.RequestInitChain) typ // Track the block hash and header information func (app *PersistentDummyApplication) BeginBlock(req types.RequestBeginBlock) types.ResponseBeginBlock { // reset valset changes - app.valSetUpdates = make([]*types.Validator, 0) + app.ValUpdates = make([]*types.Validator, 0) return types.ResponseBeginBlock{} } // Update the validator set func (app *PersistentDummyApplication) EndBlock(req types.RequestEndBlock) types.ResponseEndBlock { - return types.ResponseEndBlock{ValidatorSetUpdates: app.valSetUpdates} + return types.ResponseEndBlock{ValidatorUpdates: app.ValUpdates} } //--------------------------------------------- @@ -216,7 +216,7 @@ func (app *PersistentDummyApplication) updateValidator(v *types.Validator) types } // we only update the changes array if we successfully updated the tree - app.valSetUpdates = append(app.valSetUpdates, v) + app.ValUpdates = append(app.ValUpdates, v) return types.ResponseDeliverTx{Code: code.CodeTypeOK} } diff --git a/types/types.pb.go b/types/types.pb.go index 202ab71c5..14026a8b1 100644 --- a/types/types.pb.go +++ b/types/types.pb.go @@ -13,26 +13,26 @@ It has these top-level messages: RequestFlush RequestInfo RequestSetOption - RequestDeliverTx - RequestCheckTx - RequestQuery - RequestCommit RequestInitChain + RequestQuery RequestBeginBlock + RequestCheckTx + RequestDeliverTx RequestEndBlock + RequestCommit Response ResponseException ResponseEcho ResponseFlush ResponseInfo ResponseSetOption - ResponseDeliverTx - ResponseCheckTx - ResponseQuery - ResponseCommit ResponseInitChain + ResponseQuery ResponseBeginBlock + ResponseCheckTx + ResponseDeliverTx ResponseEndBlock + ResponseCommit ConsensusParams BlockSize TxSize @@ -94,13 +94,13 @@ type Request struct { // *Request_Flush // *Request_Info // *Request_SetOption - // *Request_DeliverTx - // *Request_CheckTx - // *Request_Commit - // *Request_Query // *Request_InitChain + // *Request_Query // *Request_BeginBlock + // *Request_CheckTx + // *Request_DeliverTx // *Request_EndBlock + // *Request_Commit Value isRequest_Value `protobuf_oneof:"value"` } @@ -114,50 +114,50 @@ type isRequest_Value interface { } type Request_Echo struct { - Echo *RequestEcho `protobuf:"bytes,1,opt,name=echo,oneof"` + Echo *RequestEcho `protobuf:"bytes,2,opt,name=echo,oneof"` } type Request_Flush struct { - Flush *RequestFlush `protobuf:"bytes,2,opt,name=flush,oneof"` + Flush *RequestFlush `protobuf:"bytes,3,opt,name=flush,oneof"` } type Request_Info struct { - Info *RequestInfo `protobuf:"bytes,3,opt,name=info,oneof"` + Info *RequestInfo `protobuf:"bytes,4,opt,name=info,oneof"` } type Request_SetOption struct { - SetOption *RequestSetOption `protobuf:"bytes,4,opt,name=set_option,json=setOption,oneof"` -} -type Request_DeliverTx struct { - DeliverTx *RequestDeliverTx `protobuf:"bytes,5,opt,name=deliver_tx,json=deliverTx,oneof"` + SetOption *RequestSetOption `protobuf:"bytes,5,opt,name=set_option,json=setOption,oneof"` } -type Request_CheckTx struct { - CheckTx *RequestCheckTx `protobuf:"bytes,6,opt,name=check_tx,json=checkTx,oneof"` -} -type Request_Commit struct { - Commit *RequestCommit `protobuf:"bytes,7,opt,name=commit,oneof"` +type Request_InitChain struct { + InitChain *RequestInitChain `protobuf:"bytes,6,opt,name=init_chain,json=initChain,oneof"` } type Request_Query struct { - Query *RequestQuery `protobuf:"bytes,8,opt,name=query,oneof"` -} -type Request_InitChain struct { - InitChain *RequestInitChain `protobuf:"bytes,9,opt,name=init_chain,json=initChain,oneof"` + Query *RequestQuery `protobuf:"bytes,7,opt,name=query,oneof"` } type Request_BeginBlock struct { - BeginBlock *RequestBeginBlock `protobuf:"bytes,10,opt,name=begin_block,json=beginBlock,oneof"` + BeginBlock *RequestBeginBlock `protobuf:"bytes,8,opt,name=begin_block,json=beginBlock,oneof"` +} +type Request_CheckTx struct { + CheckTx *RequestCheckTx `protobuf:"bytes,9,opt,name=check_tx,json=checkTx,oneof"` +} +type Request_DeliverTx struct { + DeliverTx *RequestDeliverTx `protobuf:"bytes,19,opt,name=deliver_tx,json=deliverTx,oneof"` } type Request_EndBlock struct { EndBlock *RequestEndBlock `protobuf:"bytes,11,opt,name=end_block,json=endBlock,oneof"` } +type Request_Commit struct { + Commit *RequestCommit `protobuf:"bytes,12,opt,name=commit,oneof"` +} func (*Request_Echo) isRequest_Value() {} func (*Request_Flush) isRequest_Value() {} func (*Request_Info) isRequest_Value() {} func (*Request_SetOption) isRequest_Value() {} -func (*Request_DeliverTx) isRequest_Value() {} -func (*Request_CheckTx) isRequest_Value() {} -func (*Request_Commit) isRequest_Value() {} -func (*Request_Query) isRequest_Value() {} func (*Request_InitChain) isRequest_Value() {} +func (*Request_Query) isRequest_Value() {} func (*Request_BeginBlock) isRequest_Value() {} +func (*Request_CheckTx) isRequest_Value() {} +func (*Request_DeliverTx) isRequest_Value() {} func (*Request_EndBlock) isRequest_Value() {} +func (*Request_Commit) isRequest_Value() {} func (m *Request) GetValue() isRequest_Value { if m != nil { @@ -194,51 +194,51 @@ func (m *Request) GetSetOption() *RequestSetOption { return nil } -func (m *Request) GetDeliverTx() *RequestDeliverTx { - if x, ok := m.GetValue().(*Request_DeliverTx); ok { - return x.DeliverTx +func (m *Request) GetInitChain() *RequestInitChain { + if x, ok := m.GetValue().(*Request_InitChain); ok { + return x.InitChain } return nil } -func (m *Request) GetCheckTx() *RequestCheckTx { - if x, ok := m.GetValue().(*Request_CheckTx); ok { - return x.CheckTx +func (m *Request) GetQuery() *RequestQuery { + if x, ok := m.GetValue().(*Request_Query); ok { + return x.Query } return nil } -func (m *Request) GetCommit() *RequestCommit { - if x, ok := m.GetValue().(*Request_Commit); ok { - return x.Commit +func (m *Request) GetBeginBlock() *RequestBeginBlock { + if x, ok := m.GetValue().(*Request_BeginBlock); ok { + return x.BeginBlock } return nil } -func (m *Request) GetQuery() *RequestQuery { - if x, ok := m.GetValue().(*Request_Query); ok { - return x.Query +func (m *Request) GetCheckTx() *RequestCheckTx { + if x, ok := m.GetValue().(*Request_CheckTx); ok { + return x.CheckTx } return nil } -func (m *Request) GetInitChain() *RequestInitChain { - if x, ok := m.GetValue().(*Request_InitChain); ok { - return x.InitChain +func (m *Request) GetDeliverTx() *RequestDeliverTx { + if x, ok := m.GetValue().(*Request_DeliverTx); ok { + return x.DeliverTx } return nil } -func (m *Request) GetBeginBlock() *RequestBeginBlock { - if x, ok := m.GetValue().(*Request_BeginBlock); ok { - return x.BeginBlock +func (m *Request) GetEndBlock() *RequestEndBlock { + if x, ok := m.GetValue().(*Request_EndBlock); ok { + return x.EndBlock } return nil } -func (m *Request) GetEndBlock() *RequestEndBlock { - if x, ok := m.GetValue().(*Request_EndBlock); ok { - return x.EndBlock +func (m *Request) GetCommit() *RequestCommit { + if x, ok := m.GetValue().(*Request_Commit); ok { + return x.Commit } return nil } @@ -250,13 +250,13 @@ func (*Request) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error (*Request_Flush)(nil), (*Request_Info)(nil), (*Request_SetOption)(nil), - (*Request_DeliverTx)(nil), - (*Request_CheckTx)(nil), - (*Request_Commit)(nil), - (*Request_Query)(nil), (*Request_InitChain)(nil), + (*Request_Query)(nil), (*Request_BeginBlock)(nil), + (*Request_CheckTx)(nil), + (*Request_DeliverTx)(nil), (*Request_EndBlock)(nil), + (*Request_Commit)(nil), } } @@ -265,53 +265,48 @@ func _Request_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { // value switch x := m.Value.(type) { case *Request_Echo: - _ = b.EncodeVarint(1<<3 | proto.WireBytes) + _ = b.EncodeVarint(2<<3 | proto.WireBytes) if err := b.EncodeMessage(x.Echo); err != nil { return err } case *Request_Flush: - _ = b.EncodeVarint(2<<3 | proto.WireBytes) + _ = b.EncodeVarint(3<<3 | proto.WireBytes) if err := b.EncodeMessage(x.Flush); err != nil { return err } case *Request_Info: - _ = b.EncodeVarint(3<<3 | proto.WireBytes) + _ = b.EncodeVarint(4<<3 | proto.WireBytes) if err := b.EncodeMessage(x.Info); err != nil { return err } case *Request_SetOption: - _ = b.EncodeVarint(4<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.SetOption); err != nil { - return err - } - case *Request_DeliverTx: _ = b.EncodeVarint(5<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.DeliverTx); err != nil { + if err := b.EncodeMessage(x.SetOption); err != nil { return err } - case *Request_CheckTx: + case *Request_InitChain: _ = b.EncodeVarint(6<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.CheckTx); err != nil { + if err := b.EncodeMessage(x.InitChain); err != nil { return err } - case *Request_Commit: + case *Request_Query: _ = b.EncodeVarint(7<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.Commit); err != nil { + if err := b.EncodeMessage(x.Query); err != nil { return err } - case *Request_Query: + case *Request_BeginBlock: _ = b.EncodeVarint(8<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.Query); err != nil { + if err := b.EncodeMessage(x.BeginBlock); err != nil { return err } - case *Request_InitChain: + case *Request_CheckTx: _ = b.EncodeVarint(9<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.InitChain); err != nil { + if err := b.EncodeMessage(x.CheckTx); err != nil { return err } - case *Request_BeginBlock: - _ = b.EncodeVarint(10<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.BeginBlock); err != nil { + case *Request_DeliverTx: + _ = b.EncodeVarint(19<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.DeliverTx); err != nil { return err } case *Request_EndBlock: @@ -319,6 +314,11 @@ func _Request_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { if err := b.EncodeMessage(x.EndBlock); err != nil { return err } + case *Request_Commit: + _ = b.EncodeVarint(12<<3 | proto.WireBytes) + if err := b.EncodeMessage(x.Commit); err != nil { + return err + } case nil: default: return fmt.Errorf("Request.Value has unexpected type %T", x) @@ -329,7 +329,7 @@ func _Request_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { func _Request_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { m := msg.(*Request) switch tag { - case 1: // value.echo + case 2: // value.echo if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } @@ -337,7 +337,7 @@ func _Request_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer err := b.DecodeMessage(msg) m.Value = &Request_Echo{msg} return true, err - case 2: // value.flush + case 3: // value.flush if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } @@ -345,7 +345,7 @@ func _Request_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer err := b.DecodeMessage(msg) m.Value = &Request_Flush{msg} return true, err - case 3: // value.info + case 4: // value.info if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } @@ -353,7 +353,7 @@ func _Request_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer err := b.DecodeMessage(msg) m.Value = &Request_Info{msg} return true, err - case 4: // value.set_option + case 5: // value.set_option if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } @@ -361,61 +361,61 @@ func _Request_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer err := b.DecodeMessage(msg) m.Value = &Request_SetOption{msg} return true, err - case 5: // value.deliver_tx + case 6: // value.init_chain if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } - msg := new(RequestDeliverTx) + msg := new(RequestInitChain) err := b.DecodeMessage(msg) - m.Value = &Request_DeliverTx{msg} + m.Value = &Request_InitChain{msg} return true, err - case 6: // value.check_tx + case 7: // value.query if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } - msg := new(RequestCheckTx) + msg := new(RequestQuery) err := b.DecodeMessage(msg) - m.Value = &Request_CheckTx{msg} + m.Value = &Request_Query{msg} return true, err - case 7: // value.commit + case 8: // value.begin_block if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } - msg := new(RequestCommit) + msg := new(RequestBeginBlock) err := b.DecodeMessage(msg) - m.Value = &Request_Commit{msg} + m.Value = &Request_BeginBlock{msg} return true, err - case 8: // value.query + case 9: // value.check_tx if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } - msg := new(RequestQuery) + msg := new(RequestCheckTx) err := b.DecodeMessage(msg) - m.Value = &Request_Query{msg} + m.Value = &Request_CheckTx{msg} return true, err - case 9: // value.init_chain + case 19: // value.deliver_tx if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } - msg := new(RequestInitChain) + msg := new(RequestDeliverTx) err := b.DecodeMessage(msg) - m.Value = &Request_InitChain{msg} + m.Value = &Request_DeliverTx{msg} return true, err - case 10: // value.begin_block + case 11: // value.end_block if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } - msg := new(RequestBeginBlock) + msg := new(RequestEndBlock) err := b.DecodeMessage(msg) - m.Value = &Request_BeginBlock{msg} + m.Value = &Request_EndBlock{msg} return true, err - case 11: // value.end_block + case 12: // value.commit if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } - msg := new(RequestEndBlock) + msg := new(RequestCommit) err := b.DecodeMessage(msg) - m.Value = &Request_EndBlock{msg} + m.Value = &Request_Commit{msg} return true, err default: return false, nil @@ -428,52 +428,47 @@ func _Request_OneofSizer(msg proto.Message) (n int) { switch x := m.Value.(type) { case *Request_Echo: s := proto.Size(x.Echo) - n += proto.SizeVarint(1<<3 | proto.WireBytes) + n += proto.SizeVarint(2<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s case *Request_Flush: s := proto.Size(x.Flush) - n += proto.SizeVarint(2<<3 | proto.WireBytes) + n += proto.SizeVarint(3<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s case *Request_Info: s := proto.Size(x.Info) - n += proto.SizeVarint(3<<3 | proto.WireBytes) + n += proto.SizeVarint(4<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s case *Request_SetOption: s := proto.Size(x.SetOption) - n += proto.SizeVarint(4<<3 | proto.WireBytes) - n += proto.SizeVarint(uint64(s)) - n += s - case *Request_DeliverTx: - s := proto.Size(x.DeliverTx) n += proto.SizeVarint(5<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s - case *Request_CheckTx: - s := proto.Size(x.CheckTx) + case *Request_InitChain: + s := proto.Size(x.InitChain) n += proto.SizeVarint(6<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s - case *Request_Commit: - s := proto.Size(x.Commit) + case *Request_Query: + s := proto.Size(x.Query) n += proto.SizeVarint(7<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s - case *Request_Query: - s := proto.Size(x.Query) + case *Request_BeginBlock: + s := proto.Size(x.BeginBlock) n += proto.SizeVarint(8<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s - case *Request_InitChain: - s := proto.Size(x.InitChain) + case *Request_CheckTx: + s := proto.Size(x.CheckTx) n += proto.SizeVarint(9<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s - case *Request_BeginBlock: - s := proto.Size(x.BeginBlock) - n += proto.SizeVarint(10<<3 | proto.WireBytes) + case *Request_DeliverTx: + s := proto.Size(x.DeliverTx) + n += proto.SizeVarint(19<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s case *Request_EndBlock: @@ -481,6 +476,11 @@ func _Request_OneofSizer(msg proto.Message) (n int) { n += proto.SizeVarint(11<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s + case *Request_Commit: + s := proto.Size(x.Commit) + n += proto.SizeVarint(12<<3 | proto.WireBytes) + n += proto.SizeVarint(uint64(s)) + n += s case nil: default: panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) @@ -552,34 +552,18 @@ func (m *RequestSetOption) GetValue() string { return "" } -type RequestDeliverTx struct { - Tx []byte `protobuf:"bytes,1,opt,name=tx,proto3" json:"tx,omitempty"` -} - -func (m *RequestDeliverTx) Reset() { *m = RequestDeliverTx{} } -func (m *RequestDeliverTx) String() string { return proto.CompactTextString(m) } -func (*RequestDeliverTx) ProtoMessage() {} -func (*RequestDeliverTx) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{5} } - -func (m *RequestDeliverTx) GetTx() []byte { - if m != nil { - return m.Tx - } - return nil -} - -type RequestCheckTx struct { - Tx []byte `protobuf:"bytes,1,opt,name=tx,proto3" json:"tx,omitempty"` +type RequestInitChain struct { + Validators []*Validator `protobuf:"bytes,1,rep,name=validators" json:"validators,omitempty"` } -func (m *RequestCheckTx) Reset() { *m = RequestCheckTx{} } -func (m *RequestCheckTx) String() string { return proto.CompactTextString(m) } -func (*RequestCheckTx) ProtoMessage() {} -func (*RequestCheckTx) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{6} } +func (m *RequestInitChain) Reset() { *m = RequestInitChain{} } +func (m *RequestInitChain) String() string { return proto.CompactTextString(m) } +func (*RequestInitChain) ProtoMessage() {} +func (*RequestInitChain) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{5} } -func (m *RequestCheckTx) GetTx() []byte { +func (m *RequestInitChain) GetValidators() []*Validator { if m != nil { - return m.Tx + return m.Validators } return nil } @@ -594,7 +578,7 @@ type RequestQuery struct { func (m *RequestQuery) Reset() { *m = RequestQuery{} } func (m *RequestQuery) String() string { return proto.CompactTextString(m) } func (*RequestQuery) ProtoMessage() {} -func (*RequestQuery) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{7} } +func (*RequestQuery) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{6} } func (m *RequestQuery) GetData() []byte { if m != nil { @@ -624,30 +608,6 @@ func (m *RequestQuery) GetProve() bool { return false } -type RequestCommit struct { -} - -func (m *RequestCommit) Reset() { *m = RequestCommit{} } -func (m *RequestCommit) String() string { return proto.CompactTextString(m) } -func (*RequestCommit) ProtoMessage() {} -func (*RequestCommit) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{8} } - -type RequestInitChain struct { - Validators []*Validator `protobuf:"bytes,1,rep,name=validators" json:"validators,omitempty"` -} - -func (m *RequestInitChain) Reset() { *m = RequestInitChain{} } -func (m *RequestInitChain) String() string { return proto.CompactTextString(m) } -func (*RequestInitChain) ProtoMessage() {} -func (*RequestInitChain) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{9} } - -func (m *RequestInitChain) GetValidators() []*Validator { - if m != nil { - return m.Validators - } - return nil -} - 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,omitempty"` @@ -658,7 +618,7 @@ type RequestBeginBlock struct { func (m *RequestBeginBlock) Reset() { *m = RequestBeginBlock{} } func (m *RequestBeginBlock) String() string { return proto.CompactTextString(m) } func (*RequestBeginBlock) ProtoMessage() {} -func (*RequestBeginBlock) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{10} } +func (*RequestBeginBlock) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{7} } func (m *RequestBeginBlock) GetHash() []byte { if m != nil { @@ -688,6 +648,38 @@ func (m *RequestBeginBlock) GetByzantineValidators() []*Evidence { return nil } +type RequestCheckTx struct { + Tx []byte `protobuf:"bytes,1,opt,name=tx,proto3" json:"tx,omitempty"` +} + +func (m *RequestCheckTx) Reset() { *m = RequestCheckTx{} } +func (m *RequestCheckTx) String() string { return proto.CompactTextString(m) } +func (*RequestCheckTx) ProtoMessage() {} +func (*RequestCheckTx) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{8} } + +func (m *RequestCheckTx) GetTx() []byte { + if m != nil { + return m.Tx + } + return nil +} + +type RequestDeliverTx struct { + Tx []byte `protobuf:"bytes,1,opt,name=tx,proto3" json:"tx,omitempty"` +} + +func (m *RequestDeliverTx) Reset() { *m = RequestDeliverTx{} } +func (m *RequestDeliverTx) String() string { return proto.CompactTextString(m) } +func (*RequestDeliverTx) ProtoMessage() {} +func (*RequestDeliverTx) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{9} } + +func (m *RequestDeliverTx) GetTx() []byte { + if m != nil { + return m.Tx + } + return nil +} + type RequestEndBlock struct { Height int64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` } @@ -695,7 +687,7 @@ type RequestEndBlock struct { func (m *RequestEndBlock) Reset() { *m = RequestEndBlock{} } func (m *RequestEndBlock) String() string { return proto.CompactTextString(m) } func (*RequestEndBlock) ProtoMessage() {} -func (*RequestEndBlock) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{11} } +func (*RequestEndBlock) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{10} } func (m *RequestEndBlock) GetHeight() int64 { if m != nil { @@ -704,6 +696,14 @@ func (m *RequestEndBlock) GetHeight() int64 { return 0 } +type RequestCommit struct { +} + +func (m *RequestCommit) Reset() { *m = RequestCommit{} } +func (m *RequestCommit) String() string { return proto.CompactTextString(m) } +func (*RequestCommit) ProtoMessage() {} +func (*RequestCommit) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{11} } + type Response struct { // Types that are valid to be assigned to Value: // *Response_Exception @@ -711,13 +711,13 @@ type Response struct { // *Response_Flush // *Response_Info // *Response_SetOption - // *Response_DeliverTx - // *Response_CheckTx - // *Response_Commit - // *Response_Query // *Response_InitChain + // *Response_Query // *Response_BeginBlock + // *Response_CheckTx + // *Response_DeliverTx // *Response_EndBlock + // *Response_Commit Value isResponse_Value `protobuf_oneof:"value"` } @@ -745,26 +745,26 @@ type Response_Info struct { type Response_SetOption struct { SetOption *ResponseSetOption `protobuf:"bytes,5,opt,name=set_option,json=setOption,oneof"` } -type Response_DeliverTx struct { - DeliverTx *ResponseDeliverTx `protobuf:"bytes,6,opt,name=deliver_tx,json=deliverTx,oneof"` -} -type Response_CheckTx struct { - CheckTx *ResponseCheckTx `protobuf:"bytes,7,opt,name=check_tx,json=checkTx,oneof"` -} -type Response_Commit struct { - Commit *ResponseCommit `protobuf:"bytes,8,opt,name=commit,oneof"` +type Response_InitChain struct { + InitChain *ResponseInitChain `protobuf:"bytes,6,opt,name=init_chain,json=initChain,oneof"` } type Response_Query struct { - Query *ResponseQuery `protobuf:"bytes,9,opt,name=query,oneof"` -} -type Response_InitChain struct { - InitChain *ResponseInitChain `protobuf:"bytes,10,opt,name=init_chain,json=initChain,oneof"` + Query *ResponseQuery `protobuf:"bytes,7,opt,name=query,oneof"` } type Response_BeginBlock struct { - BeginBlock *ResponseBeginBlock `protobuf:"bytes,11,opt,name=begin_block,json=beginBlock,oneof"` + BeginBlock *ResponseBeginBlock `protobuf:"bytes,8,opt,name=begin_block,json=beginBlock,oneof"` +} +type Response_CheckTx struct { + CheckTx *ResponseCheckTx `protobuf:"bytes,9,opt,name=check_tx,json=checkTx,oneof"` +} +type Response_DeliverTx struct { + DeliverTx *ResponseDeliverTx `protobuf:"bytes,10,opt,name=deliver_tx,json=deliverTx,oneof"` } type Response_EndBlock struct { - EndBlock *ResponseEndBlock `protobuf:"bytes,12,opt,name=end_block,json=endBlock,oneof"` + EndBlock *ResponseEndBlock `protobuf:"bytes,11,opt,name=end_block,json=endBlock,oneof"` +} +type Response_Commit struct { + Commit *ResponseCommit `protobuf:"bytes,12,opt,name=commit,oneof"` } func (*Response_Exception) isResponse_Value() {} @@ -772,13 +772,13 @@ func (*Response_Echo) isResponse_Value() {} func (*Response_Flush) isResponse_Value() {} func (*Response_Info) isResponse_Value() {} func (*Response_SetOption) isResponse_Value() {} -func (*Response_DeliverTx) isResponse_Value() {} -func (*Response_CheckTx) isResponse_Value() {} -func (*Response_Commit) isResponse_Value() {} -func (*Response_Query) isResponse_Value() {} func (*Response_InitChain) isResponse_Value() {} +func (*Response_Query) isResponse_Value() {} func (*Response_BeginBlock) isResponse_Value() {} +func (*Response_CheckTx) isResponse_Value() {} +func (*Response_DeliverTx) isResponse_Value() {} func (*Response_EndBlock) isResponse_Value() {} +func (*Response_Commit) isResponse_Value() {} func (m *Response) GetValue() isResponse_Value { if m != nil { @@ -822,44 +822,37 @@ func (m *Response) GetSetOption() *ResponseSetOption { return nil } -func (m *Response) GetDeliverTx() *ResponseDeliverTx { - if x, ok := m.GetValue().(*Response_DeliverTx); ok { - return x.DeliverTx - } - return nil -} - -func (m *Response) GetCheckTx() *ResponseCheckTx { - if x, ok := m.GetValue().(*Response_CheckTx); ok { - return x.CheckTx +func (m *Response) GetInitChain() *ResponseInitChain { + if x, ok := m.GetValue().(*Response_InitChain); ok { + return x.InitChain } return nil } -func (m *Response) GetCommit() *ResponseCommit { - if x, ok := m.GetValue().(*Response_Commit); ok { - return x.Commit +func (m *Response) GetQuery() *ResponseQuery { + if x, ok := m.GetValue().(*Response_Query); ok { + return x.Query } return nil } -func (m *Response) GetQuery() *ResponseQuery { - if x, ok := m.GetValue().(*Response_Query); ok { - return x.Query +func (m *Response) GetBeginBlock() *ResponseBeginBlock { + if x, ok := m.GetValue().(*Response_BeginBlock); ok { + return x.BeginBlock } return nil } -func (m *Response) GetInitChain() *ResponseInitChain { - if x, ok := m.GetValue().(*Response_InitChain); ok { - return x.InitChain +func (m *Response) GetCheckTx() *ResponseCheckTx { + if x, ok := m.GetValue().(*Response_CheckTx); ok { + return x.CheckTx } return nil } -func (m *Response) GetBeginBlock() *ResponseBeginBlock { - if x, ok := m.GetValue().(*Response_BeginBlock); ok { - return x.BeginBlock +func (m *Response) GetDeliverTx() *ResponseDeliverTx { + if x, ok := m.GetValue().(*Response_DeliverTx); ok { + return x.DeliverTx } return nil } @@ -871,6 +864,13 @@ func (m *Response) GetEndBlock() *ResponseEndBlock { return nil } +func (m *Response) GetCommit() *ResponseCommit { + if x, ok := m.GetValue().(*Response_Commit); ok { + return x.Commit + } + return nil +} + // XXX_OneofFuncs is for the internal use of the proto package. func (*Response) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { return _Response_OneofMarshaler, _Response_OneofUnmarshaler, _Response_OneofSizer, []interface{}{ @@ -879,13 +879,13 @@ func (*Response) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) erro (*Response_Flush)(nil), (*Response_Info)(nil), (*Response_SetOption)(nil), - (*Response_DeliverTx)(nil), - (*Response_CheckTx)(nil), - (*Response_Commit)(nil), - (*Response_Query)(nil), (*Response_InitChain)(nil), + (*Response_Query)(nil), (*Response_BeginBlock)(nil), + (*Response_CheckTx)(nil), + (*Response_DeliverTx)(nil), (*Response_EndBlock)(nil), + (*Response_Commit)(nil), } } @@ -918,39 +918,39 @@ func _Response_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { if err := b.EncodeMessage(x.SetOption); err != nil { return err } - case *Response_DeliverTx: + case *Response_InitChain: _ = b.EncodeVarint(6<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.DeliverTx); err != nil { + if err := b.EncodeMessage(x.InitChain); err != nil { return err } - case *Response_CheckTx: + case *Response_Query: _ = b.EncodeVarint(7<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.CheckTx); err != nil { + if err := b.EncodeMessage(x.Query); err != nil { return err } - case *Response_Commit: + case *Response_BeginBlock: _ = b.EncodeVarint(8<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.Commit); err != nil { + if err := b.EncodeMessage(x.BeginBlock); err != nil { return err } - case *Response_Query: + case *Response_CheckTx: _ = b.EncodeVarint(9<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.Query); err != nil { + if err := b.EncodeMessage(x.CheckTx); err != nil { return err } - case *Response_InitChain: + case *Response_DeliverTx: _ = b.EncodeVarint(10<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.InitChain); err != nil { + if err := b.EncodeMessage(x.DeliverTx); err != nil { return err } - case *Response_BeginBlock: + case *Response_EndBlock: _ = b.EncodeVarint(11<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.BeginBlock); err != nil { + if err := b.EncodeMessage(x.EndBlock); err != nil { return err } - case *Response_EndBlock: + case *Response_Commit: _ = b.EncodeVarint(12<<3 | proto.WireBytes) - if err := b.EncodeMessage(x.EndBlock); err != nil { + if err := b.EncodeMessage(x.Commit); err != nil { return err } case nil: @@ -1003,61 +1003,61 @@ func _Response_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffe err := b.DecodeMessage(msg) m.Value = &Response_SetOption{msg} return true, err - case 6: // value.deliver_tx + case 6: // value.init_chain if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } - msg := new(ResponseDeliverTx) + msg := new(ResponseInitChain) err := b.DecodeMessage(msg) - m.Value = &Response_DeliverTx{msg} + m.Value = &Response_InitChain{msg} return true, err - case 7: // value.check_tx + case 7: // value.query if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } - msg := new(ResponseCheckTx) + msg := new(ResponseQuery) err := b.DecodeMessage(msg) - m.Value = &Response_CheckTx{msg} + m.Value = &Response_Query{msg} return true, err - case 8: // value.commit + case 8: // value.begin_block if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } - msg := new(ResponseCommit) + msg := new(ResponseBeginBlock) err := b.DecodeMessage(msg) - m.Value = &Response_Commit{msg} + m.Value = &Response_BeginBlock{msg} return true, err - case 9: // value.query + case 9: // value.check_tx if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } - msg := new(ResponseQuery) + msg := new(ResponseCheckTx) err := b.DecodeMessage(msg) - m.Value = &Response_Query{msg} + m.Value = &Response_CheckTx{msg} return true, err - case 10: // value.init_chain + case 10: // value.deliver_tx if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } - msg := new(ResponseInitChain) + msg := new(ResponseDeliverTx) err := b.DecodeMessage(msg) - m.Value = &Response_InitChain{msg} + m.Value = &Response_DeliverTx{msg} return true, err - case 11: // value.begin_block + case 11: // value.end_block if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } - msg := new(ResponseBeginBlock) + msg := new(ResponseEndBlock) err := b.DecodeMessage(msg) - m.Value = &Response_BeginBlock{msg} + m.Value = &Response_EndBlock{msg} return true, err - case 12: // value.end_block + case 12: // value.commit if wire != proto.WireBytes { return true, proto.ErrInternalBadWireType } - msg := new(ResponseEndBlock) + msg := new(ResponseCommit) err := b.DecodeMessage(msg) - m.Value = &Response_EndBlock{msg} + m.Value = &Response_Commit{msg} return true, err default: return false, nil @@ -1093,38 +1093,38 @@ func _Response_OneofSizer(msg proto.Message) (n int) { n += proto.SizeVarint(5<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s - case *Response_DeliverTx: - s := proto.Size(x.DeliverTx) + case *Response_InitChain: + s := proto.Size(x.InitChain) n += proto.SizeVarint(6<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s - case *Response_CheckTx: - s := proto.Size(x.CheckTx) + case *Response_Query: + s := proto.Size(x.Query) n += proto.SizeVarint(7<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s - case *Response_Commit: - s := proto.Size(x.Commit) + case *Response_BeginBlock: + s := proto.Size(x.BeginBlock) n += proto.SizeVarint(8<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s - case *Response_Query: - s := proto.Size(x.Query) + case *Response_CheckTx: + s := proto.Size(x.CheckTx) n += proto.SizeVarint(9<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s - case *Response_InitChain: - s := proto.Size(x.InitChain) + case *Response_DeliverTx: + s := proto.Size(x.DeliverTx) n += proto.SizeVarint(10<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s - case *Response_BeginBlock: - s := proto.Size(x.BeginBlock) + case *Response_EndBlock: + s := proto.Size(x.EndBlock) n += proto.SizeVarint(11<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s - case *Response_EndBlock: - s := proto.Size(x.EndBlock) + case *Response_Commit: + s := proto.Size(x.Commit) n += proto.SizeVarint(12<<3 | proto.WireBytes) n += proto.SizeVarint(uint64(s)) n += s @@ -1239,39 +1239,65 @@ func (m *ResponseSetOption) GetLog() string { return "" } -type ResponseDeliverTx struct { - Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` - Data github_com_tendermint_go_wire_data.Bytes `protobuf:"bytes,2,opt,name=data,proto3,customtype=github.com/tendermint/go-wire/data.Bytes" json:"data"` - Log string `protobuf:"bytes,3,opt,name=log,proto3" json:"log,omitempty"` - Tags []*KVPair `protobuf:"bytes,4,rep,name=tags" json:"tags,omitempty"` +type ResponseInitChain struct { } -func (m *ResponseDeliverTx) Reset() { *m = ResponseDeliverTx{} } -func (m *ResponseDeliverTx) String() string { return proto.CompactTextString(m) } -func (*ResponseDeliverTx) ProtoMessage() {} -func (*ResponseDeliverTx) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{18} } +func (m *ResponseInitChain) Reset() { *m = ResponseInitChain{} } +func (m *ResponseInitChain) String() string { return proto.CompactTextString(m) } +func (*ResponseInitChain) ProtoMessage() {} +func (*ResponseInitChain) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{18} } -func (m *ResponseDeliverTx) GetCode() uint32 { +type ResponseQuery struct { + Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` + Index int64 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"` + Key github_com_tendermint_go_wire_data.Bytes `protobuf:"bytes,3,opt,name=key,proto3,customtype=github.com/tendermint/go-wire/data.Bytes" json:"key"` + Value github_com_tendermint_go_wire_data.Bytes `protobuf:"bytes,4,opt,name=value,proto3,customtype=github.com/tendermint/go-wire/data.Bytes" json:"value"` + Proof github_com_tendermint_go_wire_data.Bytes `protobuf:"bytes,5,opt,name=proof,proto3,customtype=github.com/tendermint/go-wire/data.Bytes" json:"proof"` + Height int64 `protobuf:"varint,6,opt,name=height,proto3" json:"height,omitempty"` + Log string `protobuf:"bytes,7,opt,name=log,proto3" json:"log,omitempty"` +} + +func (m *ResponseQuery) Reset() { *m = ResponseQuery{} } +func (m *ResponseQuery) String() string { return proto.CompactTextString(m) } +func (*ResponseQuery) ProtoMessage() {} +func (*ResponseQuery) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{19} } + +func (m *ResponseQuery) GetCode() uint32 { if m != nil { return m.Code } return 0 } -func (m *ResponseDeliverTx) GetLog() string { +func (m *ResponseQuery) GetIndex() int64 { if m != nil { - return m.Log + return m.Index } - return "" + return 0 } -func (m *ResponseDeliverTx) GetTags() []*KVPair { +func (m *ResponseQuery) GetHeight() int64 { if m != nil { - return m.Tags + return m.Height } - return nil + return 0 +} + +func (m *ResponseQuery) GetLog() string { + if m != nil { + return m.Log + } + return "" +} + +type ResponseBeginBlock struct { } +func (m *ResponseBeginBlock) Reset() { *m = ResponseBeginBlock{} } +func (m *ResponseBeginBlock) String() string { return proto.CompactTextString(m) } +func (*ResponseBeginBlock) ProtoMessage() {} +func (*ResponseBeginBlock) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{20} } + type ResponseCheckTx struct { Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` Data github_com_tendermint_go_wire_data.Bytes `protobuf:"bytes,2,opt,name=data,proto3,customtype=github.com/tendermint/go-wire/data.Bytes" json:"data"` @@ -1283,7 +1309,7 @@ type ResponseCheckTx struct { func (m *ResponseCheckTx) Reset() { *m = ResponseCheckTx{} } func (m *ResponseCheckTx) String() string { return proto.CompactTextString(m) } func (*ResponseCheckTx) ProtoMessage() {} -func (*ResponseCheckTx) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{19} } +func (*ResponseCheckTx) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{21} } func (m *ResponseCheckTx) GetCode() uint32 { if m != nil { @@ -1313,47 +1339,61 @@ func (m *ResponseCheckTx) GetFee() int64 { return 0 } -type ResponseQuery struct { - Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` - Index int64 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"` - Key github_com_tendermint_go_wire_data.Bytes `protobuf:"bytes,3,opt,name=key,proto3,customtype=github.com/tendermint/go-wire/data.Bytes" json:"key"` - Value github_com_tendermint_go_wire_data.Bytes `protobuf:"bytes,4,opt,name=value,proto3,customtype=github.com/tendermint/go-wire/data.Bytes" json:"value"` - Proof github_com_tendermint_go_wire_data.Bytes `protobuf:"bytes,5,opt,name=proof,proto3,customtype=github.com/tendermint/go-wire/data.Bytes" json:"proof"` - Height int64 `protobuf:"varint,6,opt,name=height,proto3" json:"height,omitempty"` - Log string `protobuf:"bytes,7,opt,name=log,proto3" json:"log,omitempty"` +type ResponseDeliverTx struct { + Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` + Data github_com_tendermint_go_wire_data.Bytes `protobuf:"bytes,2,opt,name=data,proto3,customtype=github.com/tendermint/go-wire/data.Bytes" json:"data"` + Log string `protobuf:"bytes,3,opt,name=log,proto3" json:"log,omitempty"` + Tags []*KVPair `protobuf:"bytes,4,rep,name=tags" json:"tags,omitempty"` } -func (m *ResponseQuery) Reset() { *m = ResponseQuery{} } -func (m *ResponseQuery) String() string { return proto.CompactTextString(m) } -func (*ResponseQuery) ProtoMessage() {} -func (*ResponseQuery) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{20} } +func (m *ResponseDeliverTx) Reset() { *m = ResponseDeliverTx{} } +func (m *ResponseDeliverTx) String() string { return proto.CompactTextString(m) } +func (*ResponseDeliverTx) ProtoMessage() {} +func (*ResponseDeliverTx) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{22} } -func (m *ResponseQuery) GetCode() uint32 { +func (m *ResponseDeliverTx) GetCode() uint32 { if m != nil { return m.Code } return 0 } -func (m *ResponseQuery) GetIndex() int64 { +func (m *ResponseDeliverTx) GetLog() string { if m != nil { - return m.Index + return m.Log } - return 0 + return "" } -func (m *ResponseQuery) GetHeight() int64 { +func (m *ResponseDeliverTx) GetTags() []*KVPair { if m != nil { - return m.Height + return m.Tags } - return 0 + return nil } -func (m *ResponseQuery) GetLog() string { +type ResponseEndBlock struct { + ValidatorUpdates []*Validator `protobuf:"bytes,1,rep,name=validator_updates,json=validatorUpdates" json:"validator_updates,omitempty"` + ConsensusParamUpdates *ConsensusParams `protobuf:"bytes,2,opt,name=consensus_param_updates,json=consensusParamUpdates" json:"consensus_param_updates,omitempty"` +} + +func (m *ResponseEndBlock) Reset() { *m = ResponseEndBlock{} } +func (m *ResponseEndBlock) String() string { return proto.CompactTextString(m) } +func (*ResponseEndBlock) ProtoMessage() {} +func (*ResponseEndBlock) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{23} } + +func (m *ResponseEndBlock) GetValidatorUpdates() []*Validator { if m != nil { - return m.Log + return m.ValidatorUpdates } - return "" + return nil +} + +func (m *ResponseEndBlock) GetConsensusParamUpdates() *ConsensusParams { + if m != nil { + return m.ConsensusParamUpdates + } + return nil } type ResponseCommit struct { @@ -1365,7 +1405,7 @@ type ResponseCommit struct { func (m *ResponseCommit) Reset() { *m = ResponseCommit{} } func (m *ResponseCommit) String() string { return proto.CompactTextString(m) } func (*ResponseCommit) ProtoMessage() {} -func (*ResponseCommit) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{21} } +func (*ResponseCommit) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{24} } func (m *ResponseCommit) GetCode() uint32 { if m != nil { @@ -1381,46 +1421,6 @@ func (m *ResponseCommit) GetLog() string { return "" } -type ResponseInitChain struct { -} - -func (m *ResponseInitChain) Reset() { *m = ResponseInitChain{} } -func (m *ResponseInitChain) String() string { return proto.CompactTextString(m) } -func (*ResponseInitChain) ProtoMessage() {} -func (*ResponseInitChain) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{22} } - -type ResponseBeginBlock struct { -} - -func (m *ResponseBeginBlock) Reset() { *m = ResponseBeginBlock{} } -func (m *ResponseBeginBlock) String() string { return proto.CompactTextString(m) } -func (*ResponseBeginBlock) ProtoMessage() {} -func (*ResponseBeginBlock) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{23} } - -type ResponseEndBlock struct { - ValidatorSetUpdates []*Validator `protobuf:"bytes,1,rep,name=validator_set_updates,json=validatorSetUpdates" json:"validator_set_updates,omitempty"` - ConsensusParamUpdates *ConsensusParams `protobuf:"bytes,2,opt,name=consensus_param_updates,json=consensusParamUpdates" json:"consensus_param_updates,omitempty"` -} - -func (m *ResponseEndBlock) Reset() { *m = ResponseEndBlock{} } -func (m *ResponseEndBlock) String() string { return proto.CompactTextString(m) } -func (*ResponseEndBlock) ProtoMessage() {} -func (*ResponseEndBlock) Descriptor() ([]byte, []int) { return fileDescriptorTypes, []int{24} } - -func (m *ResponseEndBlock) GetValidatorSetUpdates() []*Validator { - if m != nil { - return m.ValidatorSetUpdates - } - return nil -} - -func (m *ResponseEndBlock) GetConsensusParamUpdates() *ConsensusParams { - if m != nil { - return m.ConsensusParamUpdates - } - return nil -} - // ConsensusParams contains all consensus-relevant parameters // that can be adjusted by the abci app type ConsensusParams struct { @@ -1457,7 +1457,6 @@ func (m *ConsensusParams) GetBlockGossip() *BlockGossip { // BlockSize contain limits on the block size. type BlockSize struct { - // NOTE: must not be 0 nor greater than 100MB MaxBytes int32 `protobuf:"varint,1,opt,name=max_bytes,json=maxBytes,proto3" json:"max_bytes,omitempty"` MaxTxs int32 `protobuf:"varint,2,opt,name=max_txs,json=maxTxs,proto3" json:"max_txs,omitempty"` MaxGas int64 `protobuf:"varint,3,opt,name=max_gas,json=maxGas,proto3" json:"max_gas,omitempty"` @@ -1755,26 +1754,26 @@ func init() { proto.RegisterType((*RequestFlush)(nil), "types.RequestFlush") proto.RegisterType((*RequestInfo)(nil), "types.RequestInfo") proto.RegisterType((*RequestSetOption)(nil), "types.RequestSetOption") - proto.RegisterType((*RequestDeliverTx)(nil), "types.RequestDeliverTx") - proto.RegisterType((*RequestCheckTx)(nil), "types.RequestCheckTx") - proto.RegisterType((*RequestQuery)(nil), "types.RequestQuery") - proto.RegisterType((*RequestCommit)(nil), "types.RequestCommit") proto.RegisterType((*RequestInitChain)(nil), "types.RequestInitChain") + proto.RegisterType((*RequestQuery)(nil), "types.RequestQuery") proto.RegisterType((*RequestBeginBlock)(nil), "types.RequestBeginBlock") + proto.RegisterType((*RequestCheckTx)(nil), "types.RequestCheckTx") + proto.RegisterType((*RequestDeliverTx)(nil), "types.RequestDeliverTx") proto.RegisterType((*RequestEndBlock)(nil), "types.RequestEndBlock") + proto.RegisterType((*RequestCommit)(nil), "types.RequestCommit") proto.RegisterType((*Response)(nil), "types.Response") proto.RegisterType((*ResponseException)(nil), "types.ResponseException") proto.RegisterType((*ResponseEcho)(nil), "types.ResponseEcho") proto.RegisterType((*ResponseFlush)(nil), "types.ResponseFlush") proto.RegisterType((*ResponseInfo)(nil), "types.ResponseInfo") proto.RegisterType((*ResponseSetOption)(nil), "types.ResponseSetOption") - proto.RegisterType((*ResponseDeliverTx)(nil), "types.ResponseDeliverTx") - proto.RegisterType((*ResponseCheckTx)(nil), "types.ResponseCheckTx") - proto.RegisterType((*ResponseQuery)(nil), "types.ResponseQuery") - proto.RegisterType((*ResponseCommit)(nil), "types.ResponseCommit") proto.RegisterType((*ResponseInitChain)(nil), "types.ResponseInitChain") + proto.RegisterType((*ResponseQuery)(nil), "types.ResponseQuery") proto.RegisterType((*ResponseBeginBlock)(nil), "types.ResponseBeginBlock") + proto.RegisterType((*ResponseCheckTx)(nil), "types.ResponseCheckTx") + proto.RegisterType((*ResponseDeliverTx)(nil), "types.ResponseDeliverTx") proto.RegisterType((*ResponseEndBlock)(nil), "types.ResponseEndBlock") + proto.RegisterType((*ResponseCommit)(nil), "types.ResponseCommit") proto.RegisterType((*ConsensusParams)(nil), "types.ConsensusParams") proto.RegisterType((*BlockSize)(nil), "types.BlockSize") proto.RegisterType((*TxSize)(nil), "types.TxSize") @@ -2193,115 +2192,114 @@ var _ABCIApplication_serviceDesc = grpc.ServiceDesc{ func init() { proto.RegisterFile("types/types.proto", fileDescriptorTypes) } var fileDescriptorTypes = []byte{ - // 1754 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0xcd, 0x6e, 0x23, 0xc7, - 0x11, 0x16, 0xff, 0x39, 0x45, 0xfd, 0x70, 0x5b, 0x5a, 0x2f, 0x97, 0x7b, 0xb0, 0x3c, 0x40, 0x62, - 0xca, 0xf6, 0x8a, 0xb6, 0x8c, 0x0d, 0x56, 0x76, 0x60, 0x44, 0x94, 0xd6, 0x2b, 0xc2, 0xc0, 0x66, - 0x33, 0x52, 0x7c, 0xc8, 0x85, 0x68, 0x72, 0x5a, 0xe4, 0x60, 0xc9, 0x99, 0xf1, 0x4c, 0x53, 0xa6, - 0x16, 0x79, 0x04, 0xdf, 0x73, 0x4e, 0x2e, 0x09, 0xf2, 0x02, 0x39, 0xe6, 0x16, 0xe4, 0x19, 0x72, - 0xf0, 0xb3, 0x04, 0x55, 0xdd, 0xf3, 0xab, 0x19, 0xc3, 0xd8, 0x83, 0x2f, 0x52, 0x77, 0x57, 0x7d, - 0xc5, 0xea, 0x9a, 0xea, 0xaf, 0xaa, 0x1b, 0x1e, 0xc8, 0x3b, 0x5f, 0x84, 0x43, 0xfa, 0x7b, 0xec, - 0x07, 0x9e, 0xf4, 0x58, 0x83, 0x26, 0xfd, 0xa7, 0x73, 0x47, 0x2e, 0xd6, 0xd3, 0xe3, 0x99, 0xb7, - 0x1a, 0xce, 0xbd, 0xb9, 0x37, 0x24, 0xe9, 0x74, 0x7d, 0x43, 0x33, 0x9a, 0xd0, 0x48, 0xa1, 0xcc, - 0xff, 0xd4, 0xa1, 0x65, 0x89, 0xef, 0xd6, 0x22, 0x94, 0x6c, 0x00, 0x75, 0x31, 0x5b, 0x78, 0xbd, - 0xca, 0x61, 0x65, 0xd0, 0x39, 0x61, 0xc7, 0xca, 0xba, 0x96, 0xbe, 0x98, 0x2d, 0xbc, 0xcb, 0x2d, - 0x8b, 0x34, 0xd8, 0xc7, 0xd0, 0xb8, 0x59, 0xae, 0xc3, 0x45, 0xaf, 0x4a, 0xaa, 0xfb, 0x59, 0xd5, - 0xaf, 0x51, 0x74, 0xb9, 0x65, 0x29, 0x1d, 0x34, 0xeb, 0xb8, 0x37, 0x5e, 0xaf, 0x56, 0x64, 0x76, - 0xec, 0xde, 0x90, 0x59, 0xd4, 0x60, 0xcf, 0x01, 0x42, 0x21, 0x27, 0x9e, 0x2f, 0x1d, 0xcf, 0xed, - 0xd5, 0x49, 0xff, 0x51, 0x56, 0xff, 0x4a, 0xc8, 0xdf, 0x93, 0xf8, 0x72, 0xcb, 0x32, 0xc2, 0x68, - 0x82, 0x48, 0x5b, 0x2c, 0x9d, 0x5b, 0x11, 0x4c, 0xe4, 0xa6, 0xd7, 0x28, 0x42, 0x5e, 0x28, 0xf9, - 0xf5, 0x06, 0x91, 0x76, 0x34, 0x61, 0x27, 0xd0, 0x9e, 0x2d, 0xc4, 0xec, 0x0d, 0xe2, 0x9a, 0x84, - 0x7b, 0x98, 0xc5, 0x9d, 0xa3, 0x94, 0x50, 0xad, 0x99, 0x1a, 0xb2, 0x63, 0x68, 0xce, 0xbc, 0xd5, - 0xca, 0x91, 0xbd, 0x16, 0x21, 0x0e, 0x72, 0x08, 0x92, 0x5d, 0x6e, 0x59, 0x5a, 0x0b, 0xc3, 0xf5, - 0xdd, 0x5a, 0x04, 0x77, 0xbd, 0x76, 0x51, 0xb8, 0xfe, 0x80, 0x22, 0x0c, 0x17, 0xe9, 0xe0, 0x56, - 0x1c, 0xd7, 0x91, 0x93, 0xd9, 0x82, 0x3b, 0x6e, 0xcf, 0x28, 0xda, 0xca, 0xd8, 0x75, 0xe4, 0x39, - 0x8a, 0x71, 0x2b, 0x4e, 0x34, 0x61, 0x5f, 0x42, 0x67, 0x2a, 0xe6, 0x8e, 0x3b, 0x99, 0x2e, 0xbd, - 0xd9, 0x9b, 0x1e, 0x10, 0xb4, 0x97, 0x85, 0x8e, 0x50, 0x61, 0x84, 0xf2, 0xcb, 0x2d, 0x0b, 0xa6, - 0xf1, 0x8c, 0x3d, 0x03, 0x43, 0xb8, 0xb6, 0x86, 0x76, 0x08, 0xfa, 0x5e, 0x2e, 0x03, 0x5c, 0x3b, - 0x02, 0xb6, 0x85, 0x1e, 0x8f, 0x5a, 0xd0, 0xb8, 0xe5, 0xcb, 0xb5, 0x30, 0x3f, 0x84, 0x4e, 0x2a, - 0x53, 0x58, 0x0f, 0x5a, 0x2b, 0x11, 0x86, 0x7c, 0x2e, 0x28, 0x9d, 0x0c, 0x2b, 0x9a, 0x9a, 0xbb, - 0xb0, 0x9d, 0xce, 0x93, 0x14, 0x10, 0x73, 0x01, 0x81, 0xb7, 0x22, 0x08, 0x31, 0x01, 0x34, 0x50, - 0x4f, 0xcd, 0x2f, 0xa0, 0x9b, 0x4f, 0x02, 0xd6, 0x85, 0xda, 0x1b, 0x71, 0xa7, 0x35, 0x71, 0xc8, - 0x0e, 0xb4, 0x43, 0x94, 0x9a, 0x86, 0xa5, 0xbd, 0x33, 0x63, 0x6c, 0x9c, 0x06, 0x6c, 0x17, 0xaa, - 0x72, 0x43, 0xd0, 0x6d, 0xab, 0x2a, 0x37, 0xe6, 0x21, 0xec, 0x66, 0x3f, 0xf9, 0x3d, 0x0d, 0x3b, - 0x76, 0x9d, 0xbe, 0x19, 0x63, 0x50, 0xb7, 0xb9, 0xe4, 0x5a, 0x83, 0xc6, 0xb8, 0xe6, 0x73, 0xb9, - 0xd0, 0x3f, 0x4f, 0x63, 0xf6, 0x1e, 0x34, 0x17, 0xc2, 0x99, 0x2f, 0x24, 0x9d, 0x81, 0x9a, 0xa5, - 0x67, 0xe8, 0xab, 0x1f, 0x78, 0xb7, 0x82, 0x52, 0xbd, 0x6d, 0xa9, 0x89, 0xb9, 0x07, 0x3b, 0x99, - 0x44, 0x32, 0x2f, 0x62, 0xe7, 0xe3, 0x0f, 0xcf, 0x3e, 0x05, 0xb8, 0xe5, 0x4b, 0xc7, 0xe6, 0xd2, - 0x0b, 0xc2, 0x5e, 0xe5, 0xb0, 0x36, 0xe8, 0x9c, 0x74, 0xf5, 0xf7, 0xfa, 0x36, 0x12, 0x58, 0x29, - 0x1d, 0xf3, 0xdf, 0x15, 0x78, 0x70, 0x2f, 0x09, 0xd0, 0xdd, 0x05, 0x0f, 0x17, 0xd1, 0x16, 0x70, - 0xcc, 0x7e, 0x85, 0xee, 0x72, 0x5b, 0x04, 0xfa, 0x78, 0xef, 0x68, 0xbb, 0x97, 0xb4, 0x68, 0x69, - 0x21, 0xfb, 0x18, 0x1e, 0xf0, 0x69, 0x28, 0x5c, 0x39, 0x49, 0x79, 0x52, 0x3b, 0xac, 0x0d, 0x1a, - 0x56, 0x57, 0x09, 0x62, 0x47, 0x42, 0x36, 0x82, 0x83, 0xe9, 0xdd, 0x5b, 0xee, 0x4a, 0xc7, 0x15, - 0x69, 0xfd, 0x3a, 0x79, 0xbe, 0xa7, 0x7f, 0xe1, 0xc5, 0xad, 0x63, 0x0b, 0x77, 0x26, 0xac, 0xfd, - 0x58, 0x39, 0xb1, 0x61, 0x1e, 0xc1, 0x5e, 0x2e, 0x15, 0x53, 0x91, 0xad, 0xa4, 0x23, 0x6b, 0xfe, - 0xd0, 0x80, 0xb6, 0x25, 0x42, 0xdf, 0x73, 0x43, 0xc1, 0x9e, 0x83, 0x21, 0x36, 0x33, 0xa1, 0x58, - 0xa5, 0x92, 0x3b, 0x15, 0x4a, 0xe7, 0x45, 0x24, 0xc7, 0x13, 0x15, 0x2b, 0xb3, 0x23, 0xcd, 0x88, - 0x79, 0x9a, 0xd3, 0xa0, 0x34, 0x25, 0x7e, 0x12, 0x51, 0x62, 0x2d, 0x47, 0x09, 0x4a, 0x37, 0xc7, - 0x89, 0x47, 0x9a, 0x13, 0xeb, 0x85, 0x86, 0x33, 0xa4, 0x78, 0x9a, 0x21, 0xc5, 0x46, 0xa1, 0xfb, - 0x25, 0xac, 0x78, 0x9a, 0x61, 0xc5, 0x66, 0x21, 0xb4, 0x84, 0x16, 0x3f, 0x4f, 0xd1, 0x62, 0x2b, - 0xc7, 0x06, 0x0a, 0x58, 0xc0, 0x8b, 0xc3, 0x98, 0x17, 0xdb, 0x39, 0x26, 0xd5, 0x90, 0x3c, 0x31, - 0x7e, 0x12, 0x11, 0xa3, 0x51, 0x18, 0xb4, 0x1c, 0x33, 0x9e, 0x66, 0x98, 0x11, 0x0a, 0xb7, 0x53, - 0x42, 0x8d, 0xbf, 0xcd, 0x52, 0xa3, 0xe2, 0xb7, 0xc7, 0x39, 0x6c, 0x29, 0x37, 0xfe, 0x26, 0xcd, - 0x8d, 0xdb, 0x39, 0x46, 0xd6, 0xb9, 0xf0, 0x93, 0xe4, 0x78, 0x84, 0x47, 0x2f, 0x97, 0x69, 0x78, - 0xfa, 0x45, 0x10, 0x78, 0x81, 0x66, 0x2f, 0x35, 0x31, 0x07, 0xc8, 0x31, 0x49, 0x7e, 0xfd, 0x04, - 0x91, 0x12, 0x4f, 0xa4, 0xb2, 0xcb, 0xfc, 0x4b, 0x25, 0xc1, 0x12, 0x97, 0xa6, 0xf9, 0xc9, 0xd0, - 0xfc, 0x94, 0xe2, 0xd7, 0x6a, 0x86, 0x5f, 0xd9, 0x47, 0xf0, 0x60, 0xc9, 0x43, 0xa9, 0xb6, 0x39, - 0xc9, 0x10, 0xd6, 0x1e, 0x0a, 0xd4, 0xfe, 0x14, 0x73, 0x3d, 0x85, 0xfd, 0x94, 0x2e, 0xf7, 0xfd, - 0x09, 0xb1, 0x48, 0x9d, 0x58, 0xa4, 0x1b, 0x6b, 0x9f, 0xf9, 0xfe, 0x25, 0x0f, 0x17, 0xe6, 0x69, - 0xb2, 0xff, 0x84, 0xbb, 0x19, 0xd4, 0x67, 0x9e, 0xad, 0xb6, 0xb5, 0x63, 0xd1, 0x18, 0xf9, 0x7c, - 0xe9, 0xcd, 0xb5, 0x67, 0x38, 0x34, 0xff, 0x56, 0x49, 0xb0, 0x09, 0x77, 0x17, 0x61, 0x2f, 0xf4, - 0x6e, 0x11, 0xbc, 0x3d, 0xfa, 0xf4, 0xbf, 0x3f, 0xbe, 0xbf, 0xf5, 0xbf, 0x1f, 0xdf, 0x1f, 0xa4, - 0xfa, 0x21, 0x29, 0x5c, 0x5b, 0x04, 0x2b, 0xc7, 0x95, 0xc3, 0xb9, 0xf7, 0xf4, 0x7b, 0x27, 0x10, - 0x43, 0x44, 0x1c, 0x8f, 0xee, 0xa4, 0x08, 0x75, 0x7c, 0xb4, 0x07, 0xb5, 0xd8, 0x03, 0xf6, 0x01, - 0xd4, 0x25, 0x9f, 0x47, 0x54, 0x15, 0x91, 0xe1, 0x37, 0xdf, 0xbe, 0xe6, 0x4e, 0x60, 0x91, 0xc8, - 0xfc, 0x6b, 0x05, 0xa9, 0x29, 0x73, 0x2e, 0x7e, 0x51, 0x17, 0xbb, 0x50, 0x9b, 0xf3, 0x90, 0xc2, - 0x5f, 0xb3, 0x70, 0x88, 0x2b, 0x37, 0x42, 0x10, 0x5d, 0xd4, 0x2c, 0x1c, 0x9a, 0xff, 0xaa, 0x26, - 0xf9, 0x12, 0x97, 0xaf, 0x7b, 0x1e, 0x1e, 0x40, 0xc3, 0x71, 0x6d, 0xb1, 0x21, 0x17, 0x6b, 0x96, - 0x9a, 0xb0, 0x91, 0x2a, 0xb3, 0xb5, 0x77, 0x74, 0x9b, 0x0a, 0xf3, 0xd7, 0x51, 0x61, 0xae, 0xbf, - 0xa3, 0x15, 0x05, 0x47, 0x3b, 0x7e, 0xe0, 0x79, 0x37, 0xb4, 0xb7, 0x77, 0xb2, 0x43, 0xf0, 0x54, - 0xe9, 0x68, 0x66, 0x8a, 0xb2, 0x8e, 0x6e, 0x2b, 0x49, 0xc1, 0x3f, 0x63, 0x63, 0x90, 0x66, 0xb0, - 0x5f, 0xf2, 0xdb, 0x9a, 0xfb, 0x49, 0xfe, 0xc7, 0xe4, 0x66, 0x1e, 0x00, 0xbb, 0xcf, 0x5a, 0xe6, - 0x3f, 0x2a, 0xd8, 0x29, 0x64, 0x09, 0x89, 0x5d, 0xc0, 0xc3, 0xb8, 0xde, 0x4e, 0xb0, 0x92, 0xac, - 0x7d, 0x9b, 0x4b, 0x51, 0xde, 0x34, 0xec, 0xc7, 0xea, 0x57, 0x42, 0xfe, 0x51, 0x29, 0xb3, 0x57, - 0xf0, 0x68, 0x86, 0x66, 0xdd, 0x70, 0x1d, 0x4e, 0x7c, 0x1e, 0xf0, 0x55, 0x6c, 0xa7, 0x9a, 0x29, - 0x0f, 0xe7, 0x91, 0xd6, 0x6b, 0x54, 0x0a, 0xad, 0x87, 0xb3, 0xcc, 0x82, 0xb6, 0x47, 0x27, 0x26, - 0xa7, 0xca, 0x86, 0x00, 0x8a, 0x4f, 0x42, 0xe7, 0xad, 0xd0, 0x85, 0x3a, 0x72, 0x8f, 0xf6, 0x72, - 0xe5, 0xbc, 0x15, 0x96, 0x31, 0x8d, 0x86, 0xec, 0xd7, 0xd0, 0x92, 0x1b, 0xa5, 0x9d, 0xed, 0x54, - 0xae, 0x37, 0xa4, 0xda, 0x94, 0xf4, 0x9f, 0x3d, 0x83, 0x6d, 0x65, 0x78, 0xee, 0x85, 0xa1, 0xe3, - 0xe7, 0x6e, 0x22, 0x64, 0xfa, 0x25, 0x49, 0xac, 0xce, 0x34, 0x99, 0x98, 0x7f, 0x02, 0x23, 0xfe, - 0x59, 0xf6, 0x04, 0x8c, 0x15, 0xdf, 0x4c, 0xa6, 0x77, 0x2a, 0x74, 0x95, 0x41, 0xc3, 0x6a, 0xaf, - 0xf8, 0x86, 0xbe, 0x1d, 0x7b, 0x04, 0x2d, 0x14, 0xca, 0x8d, 0x8a, 0x46, 0xc3, 0x6a, 0xae, 0xf8, - 0xe6, 0x7a, 0x13, 0x0b, 0xf0, 0x70, 0xea, 0xd6, 0x6f, 0xc5, 0x37, 0x2f, 0x79, 0x68, 0x7e, 0x05, - 0x4d, 0xe5, 0xe4, 0xcf, 0x32, 0x8c, 0xf8, 0x6a, 0x06, 0xff, 0x3b, 0xe8, 0xa4, 0xfc, 0x66, 0x9f, - 0xc1, 0x43, 0xb5, 0x43, 0x9f, 0x07, 0x92, 0x22, 0x92, 0x31, 0xc8, 0x48, 0xf8, 0x9a, 0x07, 0x12, - 0x7f, 0x92, 0x4c, 0x9b, 0x7f, 0xaf, 0x42, 0x53, 0x75, 0x74, 0xec, 0x31, 0x16, 0x7b, 0xee, 0xb8, - 0x13, 0xc7, 0x8e, 0x8a, 0x0c, 0xcd, 0xc7, 0x76, 0xea, 0x94, 0x54, 0x33, 0xa7, 0x84, 0x41, 0x5d, - 0x3a, 0x2b, 0xa1, 0x77, 0x45, 0x63, 0x74, 0xd6, 0x5d, 0xaf, 0x28, 0x0a, 0x75, 0x15, 0x05, 0x77, - 0xbd, 0xc2, 0x28, 0x9c, 0xc0, 0x4e, 0xaa, 0x5a, 0x38, 0xb6, 0xee, 0x62, 0x76, 0xd3, 0x1f, 0x60, - 0x7c, 0x61, 0x75, 0xe2, 0xba, 0x31, 0xb6, 0xd9, 0x00, 0xa8, 0x8c, 0x4c, 0x54, 0xa7, 0xa0, 0xca, - 0x4b, 0x93, 0xca, 0xcb, 0x2e, 0xae, 0xeb, 0x56, 0x02, 0xdb, 0xd5, 0x27, 0x60, 0xe0, 0xd1, 0x51, - 0x2a, 0x2d, 0x52, 0x69, 0xe3, 0x02, 0x09, 0x3f, 0x84, 0xbd, 0xa4, 0xdb, 0x54, 0x2a, 0x6d, 0x65, - 0x25, 0x59, 0x26, 0xc5, 0xc7, 0xd0, 0x8e, 0xcb, 0x98, 0x41, 0x1a, 0x2d, 0xae, 0xab, 0xd7, 0x18, - 0x5a, 0xda, 0xc5, 0xc2, 0x76, 0xf9, 0x23, 0x68, 0x60, 0xd4, 0xa3, 0x83, 0x10, 0x35, 0x31, 0x14, - 0x6d, 0x21, 0x75, 0xd3, 0xac, 0x54, 0xcc, 0x53, 0xd8, 0xc9, 0xac, 0x23, 0xdf, 0x4a, 0x4f, 0xf2, - 0xa5, 0xfe, 0x50, 0x6a, 0x12, 0xff, 0x4c, 0x35, 0xf9, 0x19, 0xf3, 0x0b, 0x30, 0xe2, 0x33, 0x8a, - 0xa1, 0xf6, 0xd7, 0xd3, 0x49, 0x74, 0xf7, 0xd9, 0xb6, 0x9a, 0xfe, 0x7a, 0xfa, 0x8d, 0xba, 0xfe, - 0xf8, 0xde, 0xf7, 0xba, 0x75, 0xaf, 0x59, 0x6a, 0x62, 0x7e, 0x09, 0xed, 0xa8, 0xb5, 0x2e, 0x87, - 0x96, 0x7c, 0x6a, 0xf3, 0x9f, 0x15, 0x68, 0xaa, 0x6a, 0x57, 0x70, 0xdd, 0xfa, 0x8c, 0xee, 0x21, - 0x6b, 0x31, 0xc1, 0x4d, 0x13, 0x70, 0x37, 0x3e, 0x58, 0x0a, 0x74, 0x7c, 0x7d, 0xe7, 0x0b, 0xcb, - 0x20, 0x2d, 0x1c, 0xb2, 0x0f, 0x60, 0x5b, 0x41, 0x42, 0x19, 0x38, 0x6e, 0xc4, 0x75, 0x1d, 0x5a, - 0xbb, 0xa2, 0x25, 0xfc, 0xa4, 0x4a, 0xc5, 0x71, 0xa5, 0xae, 0x6a, 0x6d, 0x5a, 0x18, 0xbb, 0xd2, - 0x7c, 0x02, 0x75, 0xb2, 0x03, 0xd0, 0xbc, 0xba, 0xb6, 0xc6, 0xaf, 0x5e, 0x76, 0xb7, 0x58, 0x0b, - 0x6a, 0xe3, 0x57, 0xd7, 0xdd, 0xca, 0xc9, 0x0f, 0x0d, 0xd8, 0x3b, 0x1b, 0x9d, 0x8f, 0xcf, 0x7c, - 0x7f, 0xe9, 0xcc, 0x38, 0x35, 0x1a, 0x43, 0xa8, 0x53, 0x2b, 0x55, 0xf0, 0xa2, 0xd1, 0x2f, 0xea, - 0xe9, 0xd9, 0x09, 0x34, 0xa8, 0xa3, 0x62, 0x45, 0x0f, 0x1b, 0xfd, 0xc2, 0xd6, 0x1e, 0x7f, 0x44, - 0xf5, 0x5c, 0xf7, 0xdf, 0x37, 0xfa, 0x45, 0xfd, 0x3d, 0xfb, 0x0a, 0x8c, 0xa4, 0x17, 0x2a, 0x7b, - 0xe5, 0xe8, 0x97, 0x76, 0xfa, 0x88, 0x4f, 0xfa, 0xa1, 0xb2, 0xb7, 0x8e, 0x7e, 0x69, 0xbb, 0xcf, - 0x9e, 0x43, 0x2b, 0x6a, 0x55, 0x8a, 0x5f, 0x3c, 0xfa, 0x25, 0x1d, 0x3f, 0x86, 0x47, 0x35, 0x10, - 0x45, 0x0f, 0x19, 0xfd, 0xc2, 0x26, 0x9e, 0x3d, 0x83, 0xa6, 0xae, 0x9d, 0x85, 0x8f, 0x25, 0xfd, - 0xe2, 0xab, 0x02, 0x6e, 0x32, 0xb9, 0xf3, 0x96, 0xbd, 0x82, 0xf4, 0x4b, 0x2f, 0x01, 0xec, 0x0c, - 0x20, 0x75, 0xd9, 0x2d, 0x7d, 0x0b, 0xe9, 0x97, 0x5f, 0x05, 0x18, 0x9e, 0x9d, 0xf8, 0xba, 0x59, - 0xfc, 0x22, 0xd2, 0x2f, 0xbb, 0x0d, 0x4c, 0x9b, 0xf4, 0xca, 0xf6, 0xf9, 0xff, 0x03, 0x00, 0x00, - 0xff, 0xff, 0x3a, 0x99, 0xe6, 0x77, 0xb0, 0x13, 0x00, 0x00, + // 1741 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0xcd, 0x72, 0x1b, 0xc7, + 0x11, 0x26, 0xfe, 0xb1, 0x0d, 0xfe, 0x80, 0x43, 0x4a, 0x82, 0xa0, 0x83, 0xe9, 0xad, 0x4a, 0x0c, + 0xd9, 0x16, 0x69, 0xd3, 0xa5, 0x94, 0x68, 0x27, 0xae, 0x88, 0x92, 0x2c, 0xa2, 0x5c, 0xa5, 0x28, + 0x23, 0xc6, 0x87, 0x5c, 0x50, 0x03, 0xec, 0x10, 0xd8, 0x12, 0xb0, 0xbb, 0xde, 0x1d, 0xd0, 0xa0, + 0x2a, 0x8f, 0xe0, 0x7b, 0xce, 0xc9, 0x25, 0x55, 0x79, 0x81, 0x1c, 0x73, 0x4b, 0xe5, 0x19, 0x72, + 0xf0, 0xb3, 0xa4, 0xba, 0x67, 0xf6, 0x97, 0xbb, 0xa9, 0x94, 0x0e, 0xbe, 0x00, 0x33, 0xd3, 0x3f, + 0xd3, 0xdd, 0xdb, 0xf3, 0x75, 0xcf, 0xc0, 0xbe, 0xba, 0x09, 0x64, 0x74, 0x42, 0xbf, 0xc7, 0x41, + 0xe8, 0x2b, 0x9f, 0xb5, 0x68, 0x32, 0x7c, 0x34, 0x77, 0xd5, 0x62, 0x3d, 0x3d, 0x9e, 0xf9, 0xab, + 0x93, 0xb9, 0x3f, 0xf7, 0x4f, 0x88, 0x3a, 0x5d, 0x5f, 0xd1, 0x8c, 0x26, 0x34, 0xd2, 0x52, 0xf6, + 0xbf, 0x9a, 0xd0, 0xe1, 0xf2, 0xfb, 0xb5, 0x8c, 0x14, 0x1b, 0x41, 0x53, 0xce, 0x16, 0xfe, 0xa0, + 0x7e, 0x54, 0x1b, 0xf5, 0x4e, 0xd9, 0xb1, 0xd6, 0x6e, 0xa8, 0x2f, 0x66, 0x0b, 0xff, 0x62, 0x8b, + 0x13, 0x07, 0xfb, 0x04, 0x5a, 0x57, 0xcb, 0x75, 0xb4, 0x18, 0x34, 0x88, 0xf5, 0x20, 0xcf, 0xfa, + 0x0d, 0x92, 0x2e, 0xb6, 0xb8, 0xe6, 0x41, 0xb5, 0xae, 0x77, 0xe5, 0x0f, 0x9a, 0x65, 0x6a, 0xc7, + 0xde, 0x15, 0xa9, 0x45, 0x0e, 0xf6, 0x04, 0x20, 0x92, 0x6a, 0xe2, 0x07, 0xca, 0xf5, 0xbd, 0x41, + 0x8b, 0xf8, 0xef, 0xe5, 0xf9, 0xdf, 0x48, 0xf5, 0x3b, 0x22, 0x5f, 0x6c, 0x71, 0x2b, 0x8a, 0x27, + 0x28, 0xe9, 0x7a, 0xae, 0x9a, 0xcc, 0x16, 0xc2, 0xf5, 0x06, 0xed, 0x32, 0xc9, 0xb1, 0xe7, 0xaa, + 0x67, 0x48, 0x46, 0x49, 0x37, 0x9e, 0xa0, 0x2b, 0xdf, 0xaf, 0x65, 0x78, 0x33, 0xe8, 0x94, 0xb9, + 0xf2, 0x7b, 0x24, 0xa1, 0x2b, 0xc4, 0xc3, 0xbe, 0x82, 0xde, 0x54, 0xce, 0x5d, 0x6f, 0x32, 0x5d, + 0xfa, 0xb3, 0xb7, 0x83, 0x2e, 0x89, 0x0c, 0xf2, 0x22, 0xe7, 0xc8, 0x70, 0x8e, 0xf4, 0x8b, 0x2d, + 0x0e, 0xd3, 0x64, 0xc6, 0x4e, 0xa1, 0x3b, 0x5b, 0xc8, 0xd9, 0xdb, 0x89, 0xda, 0x0c, 0x2c, 0x92, + 0xbc, 0x93, 0x97, 0x7c, 0x86, 0xd4, 0xcb, 0xcd, 0xc5, 0x16, 0xef, 0xcc, 0xf4, 0x10, 0xfd, 0x72, + 0xe4, 0xd2, 0xbd, 0x96, 0x21, 0x4a, 0x1d, 0x94, 0xf9, 0xf5, 0x5c, 0xd3, 0x49, 0xce, 0x72, 0xe2, + 0x09, 0x7b, 0x0c, 0x96, 0xf4, 0x1c, 0x63, 0x68, 0x8f, 0x04, 0xef, 0x16, 0xbe, 0xa8, 0xe7, 0xc4, + 0x66, 0x76, 0xa5, 0x19, 0xb3, 0x63, 0x68, 0xcf, 0xfc, 0xd5, 0xca, 0x55, 0x83, 0x6d, 0x92, 0x39, + 0x2c, 0x98, 0x48, 0xb4, 0x8b, 0x2d, 0x6e, 0xb8, 0xce, 0x3b, 0xd0, 0xba, 0x16, 0xcb, 0xb5, 0xb4, + 0x3f, 0x82, 0x5e, 0x26, 0x53, 0xd8, 0x00, 0x3a, 0x2b, 0x19, 0x45, 0x62, 0x2e, 0x07, 0xb5, 0xa3, + 0xda, 0xc8, 0xe2, 0xf1, 0xd4, 0xde, 0x85, 0xed, 0x6c, 0x9e, 0x64, 0x04, 0x31, 0x17, 0x50, 0xf0, + 0x5a, 0x86, 0x11, 0x26, 0x80, 0x11, 0x34, 0x53, 0xfb, 0x4b, 0xe8, 0x17, 0x93, 0x80, 0xf5, 0xa1, + 0xf1, 0x56, 0xde, 0x18, 0x4e, 0x1c, 0xb2, 0x43, 0x63, 0x10, 0x65, 0xb1, 0xc5, 0x8d, 0x75, 0xcf, + 0x13, 0xd9, 0x24, 0x0d, 0xd8, 0x67, 0x00, 0xd7, 0x62, 0xe9, 0x3a, 0x42, 0xf9, 0x61, 0x34, 0xa8, + 0x1d, 0x35, 0x46, 0xbd, 0xd3, 0xbe, 0x71, 0xf7, 0xbb, 0x98, 0xc0, 0x33, 0x3c, 0xb6, 0x93, 0x98, + 0x4e, 0x79, 0xc1, 0x18, 0x34, 0x1d, 0xa1, 0x04, 0x6d, 0xbf, 0xcd, 0x69, 0x8c, 0x6b, 0x81, 0x50, + 0x0b, 0xb3, 0x3d, 0x8d, 0xd9, 0x5d, 0x68, 0x2f, 0xa4, 0x3b, 0x5f, 0x28, 0x3a, 0x2f, 0x0d, 0x6e, + 0x66, 0x68, 0x6b, 0x10, 0xfa, 0xd7, 0x92, 0x8e, 0x46, 0x97, 0xeb, 0x89, 0xfd, 0xcf, 0x1a, 0xec, + 0xdf, 0xca, 0x25, 0xd4, 0xbb, 0x10, 0xd1, 0x22, 0xde, 0x0b, 0xc7, 0xec, 0x17, 0xa8, 0x57, 0x38, + 0x32, 0x34, 0x47, 0x76, 0xc7, 0x58, 0x7f, 0x41, 0x8b, 0xdc, 0x10, 0xd9, 0x27, 0xb0, 0x2f, 0xa6, + 0x91, 0xf4, 0xd4, 0x24, 0xe3, 0x6f, 0xe3, 0xa8, 0x31, 0x6a, 0xf1, 0xbe, 0x26, 0x24, 0xee, 0x46, + 0xec, 0x1c, 0x0e, 0xa7, 0x37, 0xef, 0x84, 0xa7, 0x5c, 0x4f, 0x66, 0xf9, 0x9b, 0x14, 0x9f, 0x3d, + 0xb3, 0xc3, 0x8b, 0x6b, 0xd7, 0x91, 0xde, 0x4c, 0xf2, 0x83, 0x84, 0x39, 0xd5, 0x61, 0x1f, 0xc1, + 0x6e, 0x3e, 0xa5, 0xd9, 0x2e, 0xd4, 0xd5, 0xc6, 0xd8, 0x5e, 0x57, 0x1b, 0xdb, 0x4e, 0xbe, 0x47, + 0x92, 0xbe, 0xb7, 0x78, 0x1e, 0xc2, 0x5e, 0x21, 0x53, 0x33, 0x81, 0xac, 0x65, 0x03, 0x69, 0xef, + 0xc1, 0x4e, 0x2e, 0x41, 0xed, 0x1f, 0x5b, 0xd0, 0xe5, 0x32, 0x0a, 0x7c, 0x2f, 0x92, 0xec, 0x09, + 0x58, 0x72, 0x33, 0x93, 0x1a, 0x55, 0x6a, 0x85, 0x33, 0xab, 0x79, 0x5e, 0xc4, 0x74, 0x3c, 0x44, + 0x09, 0x33, 0x7b, 0x98, 0x43, 0xc4, 0x83, 0xa2, 0x50, 0x16, 0x12, 0x3f, 0xcd, 0x43, 0xe2, 0x61, + 0x81, 0xb7, 0x80, 0x89, 0x0f, 0x73, 0x98, 0x58, 0x54, 0x9c, 0x03, 0xc5, 0xb3, 0x12, 0x50, 0x2c, + 0x9a, 0x5f, 0x81, 0x8a, 0x67, 0x25, 0xa8, 0x38, 0xb8, 0xb5, 0x57, 0x29, 0x2c, 0x7e, 0x9a, 0x87, + 0xc5, 0xa2, 0x3b, 0x05, 0x5c, 0xfc, 0x75, 0x19, 0x2e, 0xde, 0x2f, 0xc8, 0x54, 0x02, 0xe3, 0x17, + 0xb7, 0x80, 0xf1, 0x6e, 0x41, 0xb4, 0x04, 0x19, 0xcf, 0x72, 0xc8, 0x08, 0xa5, 0xbe, 0x55, 0x40, + 0xe3, 0xaf, 0x6e, 0x43, 0xe3, 0xbd, 0xe2, 0xa7, 0x2d, 0xc3, 0xc6, 0x93, 0x02, 0x36, 0xde, 0x29, + 0x5a, 0x59, 0x09, 0x8e, 0x0f, 0xf1, 0x44, 0x17, 0x32, 0x0d, 0x4f, 0xbf, 0x0c, 0x43, 0x3f, 0x34, + 0xe8, 0xa5, 0x27, 0xf6, 0x08, 0x31, 0x26, 0xcd, 0xaf, 0xff, 0x01, 0xa4, 0x94, 0xf4, 0x99, 0xec, + 0xb2, 0xff, 0x5c, 0x4b, 0x65, 0x09, 0x4b, 0xb3, 0xf8, 0x64, 0x19, 0x7c, 0xca, 0xe0, 0x6b, 0x3d, + 0x87, 0xaf, 0xec, 0x63, 0xd8, 0x5f, 0x8a, 0x48, 0xe9, 0xb8, 0x4c, 0x72, 0x80, 0xb5, 0x87, 0x04, + 0x1d, 0x10, 0x8d, 0x5c, 0x8f, 0xe0, 0x20, 0xc3, 0x2b, 0x82, 0x60, 0x42, 0xe0, 0xd4, 0xa4, 0xc3, + 0xdb, 0x4f, 0xb8, 0x9f, 0x06, 0xc1, 0x85, 0x88, 0x16, 0xf6, 0x59, 0xea, 0x7f, 0x8a, 0xdd, 0x0c, + 0x9a, 0x33, 0xdf, 0xd1, 0x6e, 0xed, 0x70, 0x1a, 0x23, 0x9e, 0x2f, 0xfd, 0xb9, 0xb1, 0x0c, 0x87, + 0xf6, 0x41, 0x2a, 0x9a, 0xa4, 0xaa, 0xfd, 0x8f, 0x7a, 0xea, 0x7b, 0x02, 0xc5, 0xb7, 0x94, 0x1d, + 0x42, 0xcb, 0xf5, 0x1c, 0xb9, 0x21, 0x75, 0x0d, 0xae, 0x27, 0xec, 0x5c, 0x97, 0x0c, 0x74, 0x6c, + 0xfb, 0xfc, 0xb3, 0x7f, 0xff, 0xf4, 0xc1, 0xd6, 0x7f, 0x7e, 0xfa, 0x60, 0x94, 0xe9, 0x9a, 0x94, + 0xf4, 0x1c, 0x19, 0xae, 0x5c, 0x4f, 0x9d, 0xcc, 0xfd, 0x47, 0x3f, 0xb8, 0xa1, 0x3c, 0xc1, 0xc8, + 0x1d, 0x9f, 0xdf, 0x28, 0x19, 0xe9, 0x22, 0xf3, 0x4d, 0x5c, 0x64, 0x9a, 0xef, 0xa9, 0x45, 0x8b, + 0xa3, 0x9e, 0x20, 0xf4, 0xfd, 0x2b, 0x3a, 0xd6, 0xef, 0xa5, 0x87, 0xc4, 0x33, 0xb8, 0xd8, 0xce, + 0x15, 0x18, 0x13, 0xce, 0x4e, 0x1a, 0xce, 0x43, 0x60, 0xb7, 0xcf, 0xa3, 0xfd, 0x97, 0x1a, 0x62, + 0x6d, 0xee, 0xac, 0x95, 0x46, 0xf4, 0xb9, 0x49, 0xa8, 0xfa, 0x7b, 0x9a, 0xab, 0x53, 0xd0, 0x58, + 0xd5, 0x48, 0xac, 0xc2, 0x95, 0xb9, 0x88, 0x28, 0x9a, 0x0d, 0x8e, 0x43, 0x5c, 0xb9, 0x92, 0x92, + 0xe2, 0xd2, 0xe0, 0x38, 0xb4, 0xff, 0x5a, 0x4b, 0x33, 0x21, 0x2d, 0x1a, 0x3f, 0xa7, 0x95, 0x1f, + 0x42, 0x53, 0x89, 0x79, 0x5c, 0x0a, 0xe3, 0x62, 0xfb, 0xed, 0x77, 0xaf, 0x85, 0x1b, 0x72, 0x22, + 0x61, 0x20, 0xfb, 0x45, 0x0c, 0x61, 0xbf, 0x81, 0xfd, 0xa4, 0x90, 0x4e, 0xd6, 0x81, 0x23, 0x94, + 0xac, 0xee, 0x37, 0xfa, 0x09, 0xeb, 0x1f, 0x34, 0x27, 0x7b, 0x05, 0xf7, 0x66, 0xa8, 0xcf, 0x8b, + 0xd6, 0xd1, 0x24, 0x10, 0xa1, 0x58, 0x25, 0x4a, 0xea, 0x39, 0xb4, 0x7c, 0x16, 0x73, 0xbd, 0x46, + 0xa6, 0x88, 0xdf, 0x99, 0xe5, 0x16, 0x8c, 0x3e, 0xfb, 0x4f, 0x58, 0x9d, 0xb3, 0x88, 0xf5, 0x73, + 0x06, 0x91, 0x52, 0xad, 0x60, 0x28, 0x3b, 0x01, 0xd0, 0x40, 0x12, 0xb9, 0xef, 0xa4, 0xa9, 0xd0, + 0x71, 0x64, 0x28, 0x84, 0x6f, 0xdc, 0x77, 0x92, 0x5b, 0xd3, 0x78, 0xc8, 0x7e, 0x09, 0x1d, 0xb5, + 0xd1, 0xdc, 0xf9, 0xce, 0xe7, 0x72, 0x43, 0xac, 0x6d, 0x45, 0xff, 0xec, 0x31, 0x6c, 0x6b, 0xc5, + 0x73, 0x3f, 0x8a, 0xdc, 0xc0, 0xd4, 0x66, 0x96, 0x55, 0xfd, 0x92, 0x28, 0xbc, 0x37, 0x4d, 0x27, + 0xf6, 0x1f, 0xc1, 0x4a, 0xb6, 0x65, 0x0f, 0xc0, 0x5a, 0x89, 0xcd, 0x64, 0x7a, 0xa3, 0xbf, 0x5a, + 0x6d, 0xd4, 0xe2, 0xdd, 0x95, 0xd8, 0x90, 0x97, 0xec, 0x1e, 0x74, 0x90, 0xa8, 0x36, 0xfa, 0x5b, + 0xb4, 0x78, 0x7b, 0x25, 0x36, 0x97, 0x9b, 0x84, 0x80, 0x59, 0x6d, 0x7a, 0xbe, 0x95, 0xd8, 0xbc, + 0x14, 0x91, 0xfd, 0x35, 0xb4, 0xb5, 0x91, 0xff, 0x97, 0x62, 0x94, 0xaf, 0xe7, 0xe4, 0x7f, 0x0b, + 0xbd, 0x8c, 0xdd, 0xec, 0x73, 0xb8, 0xa3, 0x3d, 0x0c, 0x44, 0xa8, 0x28, 0x22, 0x39, 0x85, 0x8c, + 0x88, 0xaf, 0x45, 0xa8, 0x70, 0x4b, 0x52, 0x6d, 0xff, 0xad, 0x0e, 0x6d, 0xdd, 0x21, 0xb2, 0xfb, + 0x58, 0x79, 0x85, 0xeb, 0x4d, 0x5c, 0x27, 0xae, 0x2e, 0x34, 0x1f, 0x3b, 0x19, 0x48, 0xa9, 0xe7, + 0x20, 0x85, 0x41, 0x53, 0xb9, 0x2b, 0x69, 0xbc, 0xa2, 0x31, 0x1a, 0xeb, 0xad, 0x57, 0x14, 0x85, + 0xa6, 0x8e, 0x82, 0xb7, 0x5e, 0x61, 0x14, 0x4e, 0x61, 0x27, 0x53, 0x26, 0x5c, 0xc7, 0xb4, 0x2f, + 0xbb, 0xd9, 0x0f, 0x30, 0x7e, 0xce, 0x7b, 0x49, 0xc1, 0x18, 0x3b, 0x6c, 0x04, 0x54, 0x3f, 0x26, + 0xba, 0x86, 0xea, 0xba, 0xd2, 0xa6, 0xba, 0xb2, 0x8b, 0xeb, 0xa6, 0xc8, 0x62, 0xfb, 0xfb, 0x00, + 0x2c, 0x4c, 0x32, 0xcd, 0xd2, 0x21, 0x96, 0x2e, 0x2e, 0x10, 0xf1, 0x23, 0xd8, 0x4b, 0xbb, 0x57, + 0xcd, 0xd2, 0xd5, 0x5a, 0xd2, 0x65, 0x62, 0xbc, 0x0f, 0xdd, 0xa4, 0x7e, 0x59, 0xc4, 0xd1, 0x11, + 0xa6, 0x6c, 0x8d, 0xa1, 0x63, 0x4c, 0x2c, 0x6d, 0xbf, 0x3f, 0x86, 0x16, 0x46, 0x3d, 0x3e, 0x86, + 0x71, 0x8f, 0x44, 0xd1, 0x96, 0xca, 0x34, 0xe1, 0x9a, 0xc5, 0x3e, 0x83, 0x9d, 0xdc, 0x3a, 0x16, + 0x27, 0xe5, 0x2b, 0xb1, 0x34, 0x1f, 0x4a, 0x4f, 0x92, 0x6d, 0xea, 0xe9, 0x36, 0xf6, 0x97, 0x60, + 0x25, 0xf0, 0x80, 0xa1, 0x0e, 0xd6, 0xd3, 0x49, 0x7c, 0xe9, 0xd9, 0xe6, 0xed, 0x60, 0x3d, 0xfd, + 0x56, 0xdf, 0x7b, 0x02, 0xff, 0x07, 0x73, 0x15, 0x68, 0x70, 0x3d, 0xb1, 0xbf, 0x82, 0x6e, 0xdc, + 0xaa, 0x57, 0x8b, 0x56, 0x7c, 0x6a, 0xfb, 0xef, 0x35, 0x68, 0x6b, 0x74, 0x2b, 0xb9, 0x67, 0x7d, + 0x4e, 0xb7, 0xa7, 0xb5, 0x9c, 0xa0, 0xd3, 0x24, 0xb8, 0x9b, 0x1c, 0x2c, 0x2d, 0x74, 0x7c, 0x79, + 0x13, 0x48, 0x6e, 0x11, 0x17, 0x0e, 0xd9, 0x87, 0xb0, 0xad, 0x45, 0x22, 0x15, 0xba, 0x5e, 0x8c, + 0x0a, 0x3d, 0x5a, 0x7b, 0x43, 0x4b, 0xf8, 0x49, 0x35, 0x8b, 0xeb, 0x29, 0x53, 0x0e, 0xba, 0xb4, + 0x30, 0xf6, 0x94, 0xfd, 0x00, 0x9a, 0xa4, 0x07, 0xa0, 0xfd, 0xe6, 0x92, 0x8f, 0x5f, 0xbd, 0xec, + 0x6f, 0xb1, 0x0e, 0x34, 0xc6, 0xaf, 0x2e, 0xfb, 0xb5, 0xd3, 0x1f, 0x5b, 0xb0, 0xf7, 0xf4, 0xfc, + 0xd9, 0xf8, 0x69, 0x10, 0x2c, 0xdd, 0x99, 0xa0, 0x0e, 0xe3, 0x04, 0x9a, 0xd4, 0x43, 0x95, 0x3c, + 0x65, 0x0c, 0xcb, 0x9a, 0x79, 0x76, 0x0a, 0x2d, 0x6a, 0xa5, 0x58, 0xd9, 0x8b, 0xc6, 0xb0, 0xb4, + 0xa7, 0xc7, 0x4d, 0x74, 0xb3, 0x75, 0xfb, 0x61, 0x63, 0x58, 0xd6, 0xd8, 0xb3, 0xaf, 0xc1, 0x4a, + 0x9b, 0xa0, 0xaa, 0xe7, 0x8d, 0x61, 0x65, 0x8b, 0x8f, 0xf2, 0x69, 0xfd, 0xab, 0x7a, 0x0c, 0x18, + 0x56, 0xf6, 0xc2, 0xec, 0x09, 0x74, 0xe2, 0x1a, 0x5f, 0xfe, 0x00, 0x31, 0xac, 0x68, 0xbf, 0x31, + 0x3c, 0xba, 0xdb, 0x2a, 0x7b, 0x25, 0x19, 0x96, 0xde, 0x11, 0xd8, 0x63, 0x68, 0x9b, 0x2a, 0x53, + 0xfa, 0x94, 0x30, 0x2c, 0x6f, 0xa2, 0xd1, 0xc9, 0xf4, 0xa6, 0x5e, 0xf5, 0x92, 0x33, 0xac, 0xbc, + 0xcc, 0xb0, 0xa7, 0x00, 0x99, 0xcb, 0x73, 0xe5, 0x13, 0xcd, 0xb0, 0xfa, 0x92, 0xc2, 0xf0, 0xec, + 0x24, 0x17, 0xcf, 0xf2, 0xa7, 0x93, 0x61, 0xd5, 0xbd, 0x61, 0xda, 0xa6, 0xe7, 0xb5, 0x2f, 0xfe, + 0x1b, 0x00, 0x00, 0xff, 0xff, 0x4e, 0x51, 0x0d, 0xe3, 0xa9, 0x13, 0x00, 0x00, } diff --git a/types/types.proto b/types/types.proto index 99d2ef641..74249c09b 100644 --- a/types/types.proto +++ b/types/types.proto @@ -10,18 +10,18 @@ import "github.com/gogo/protobuf/gogoproto/gogo.proto"; // Request types message Request { - oneof value{ - RequestEcho echo = 1; - RequestFlush flush = 2; - RequestInfo info = 3; - RequestSetOption set_option = 4; - RequestDeliverTx deliver_tx = 5; - RequestCheckTx check_tx = 6; - RequestCommit commit = 7; - RequestQuery query = 8; - RequestInitChain init_chain = 9; - RequestBeginBlock begin_block = 10; + oneof value { + RequestEcho echo = 2; + RequestFlush flush = 3; + RequestInfo info = 4; + RequestSetOption set_option = 5; + RequestInitChain init_chain = 6; + RequestQuery query = 7; + RequestBeginBlock begin_block = 8; + RequestCheckTx check_tx = 9; + RequestDeliverTx deliver_tx = 19; RequestEndBlock end_block = 11; + RequestCommit commit = 12; } } @@ -36,17 +36,13 @@ message RequestInfo { string version = 1; } -message RequestSetOption{ +message RequestSetOption { string key = 1; string value = 2; } -message RequestDeliverTx{ - bytes tx = 1; -} - -message RequestCheckTx{ - bytes tx = 1; +message RequestInitChain { + repeated Validator validators = 1; } message RequestQuery{ @@ -56,46 +52,49 @@ message RequestQuery{ bool prove = 4; } -message RequestCommit{ -} - -message RequestInitChain{ - repeated Validator validators = 1; -} - -message RequestBeginBlock{ +message RequestBeginBlock { bytes hash = 1; Header header = 2; repeated int32 absent_validators = 3; repeated Evidence byzantine_validators = 4; } +message RequestCheckTx { + bytes tx = 1; +} + +message RequestDeliverTx { + bytes tx = 1; +} + message RequestEndBlock{ int64 height = 1; } +message RequestCommit { +} + //---------------------------------------- // Response types - message Response { - oneof value{ + oneof value { ResponseException exception = 1; ResponseEcho echo = 2; ResponseFlush flush = 3; ResponseInfo info = 4; ResponseSetOption set_option = 5; - ResponseDeliverTx deliver_tx = 6; - ResponseCheckTx check_tx = 7; - ResponseCommit commit = 8; - ResponseQuery query = 9; - ResponseInitChain init_chain = 10; - ResponseBeginBlock begin_block = 11; - ResponseEndBlock end_block = 12; + ResponseInitChain init_chain = 6; + ResponseQuery query = 7; + ResponseBeginBlock begin_block = 8; + ResponseCheckTx check_tx = 9; + ResponseDeliverTx deliver_tx = 10; + ResponseEndBlock end_block = 11; + ResponseCommit commit = 12; } } -message ResponseException{ +message ResponseException { string error = 1; } @@ -103,7 +102,7 @@ message ResponseEcho { string message = 1; } -message ResponseFlush{ +message ResponseFlush { } message ResponseInfo { @@ -113,81 +112,82 @@ message ResponseInfo { bytes last_block_app_hash = 4; } -message ResponseSetOption{ +message ResponseSetOption { uint32 code = 1; string log = 2; } -message ResponseDeliverTx{ - uint32 code = 1; - bytes data = 2 [(gogoproto.customtype) = "github.com/tendermint/go-wire/data.Bytes", (gogoproto.nullable) = false]; - string log = 3; - repeated KVPair tags = 4; +message ResponseInitChain { } -message ResponseCheckTx{ - uint32 code = 1; - bytes data = 2 [(gogoproto.customtype) = "github.com/tendermint/go-wire/data.Bytes", (gogoproto.nullable) = false]; - string log = 3; - int64 gas = 4; - int64 fee = 5; +message ResponseQuery { + uint32 code = 1; + int64 index = 2; + bytes key = 3 [(gogoproto.customtype) = "github.com/tendermint/go-wire/data.Bytes", (gogoproto.nullable) = false]; + bytes value = 4 [(gogoproto.customtype) = "github.com/tendermint/go-wire/data.Bytes", (gogoproto.nullable) = false]; + bytes proof = 5 [(gogoproto.customtype) = "github.com/tendermint/go-wire/data.Bytes", (gogoproto.nullable) = false]; + int64 height = 6; + string log = 7; } -message ResponseQuery{ - uint32 code = 1; - int64 index = 2; - bytes key = 3 [(gogoproto.customtype) = "github.com/tendermint/go-wire/data.Bytes", (gogoproto.nullable) = false]; - bytes value = 4 [(gogoproto.customtype) = "github.com/tendermint/go-wire/data.Bytes", (gogoproto.nullable) = false]; - bytes proof = 5 [(gogoproto.customtype) = "github.com/tendermint/go-wire/data.Bytes", (gogoproto.nullable) = false]; - int64 height = 6; - string log = 7; +message ResponseBeginBlock { } -message ResponseCommit{ - uint32 code = 1; - bytes data = 2 [(gogoproto.customtype) = "github.com/tendermint/go-wire/data.Bytes", (gogoproto.nullable) = false]; - string log = 3; +message ResponseCheckTx { + uint32 code = 1; + bytes data = 2 [(gogoproto.customtype) = "github.com/tendermint/go-wire/data.Bytes", (gogoproto.nullable) = false]; + string log = 3; + int64 gas = 4; + int64 fee = 5; } - -message ResponseInitChain{ +message ResponseDeliverTx { + uint32 code = 1; + bytes data = 2 [(gogoproto.customtype) = "github.com/tendermint/go-wire/data.Bytes", (gogoproto.nullable) = false]; + string log = 3; + repeated KVPair tags = 4; } -message ResponseBeginBlock{ +message ResponseEndBlock { + repeated Validator validator_updates = 1; + ConsensusParams consensus_param_updates = 2; } -message ResponseEndBlock{ - repeated Validator validator_set_updates = 1; - ConsensusParams consensus_param_updates = 2; +message ResponseCommit { + uint32 code = 1; + bytes data = 2 [(gogoproto.customtype) = "github.com/tendermint/go-wire/data.Bytes", (gogoproto.nullable) = false]; + string log = 3; } +//---------------------------------------- +// Misc. + // ConsensusParams contains all consensus-relevant parameters // that can be adjusted by the abci app -message ConsensusParams{ - BlockSize block_size = 1; - TxSize tx_size = 2; - BlockGossip block_gossip = 3; +message ConsensusParams { + BlockSize block_size = 1; + TxSize tx_size = 2; + BlockGossip block_gossip = 3; } // BlockSize contain limits on the block size. -message BlockSize{ - // NOTE: must not be 0 nor greater than 100MB - int32 max_bytes = 1; - int32 max_txs = 2; - int64 max_gas = 3; +message BlockSize { + int32 max_bytes = 1; + int32 max_txs = 2; + int64 max_gas = 3; } // TxSize contain limits on the tx size. message TxSize{ - int32 max_bytes = 1; - int64 max_gas = 2; + int32 max_bytes = 1; + int64 max_gas = 2; } // BlockGossip determine consensus critical // elements of how blocks are gossiped message BlockGossip{ - // Note: must not be 0 - int32 block_part_size_bytes = 1; + // Note: must not be 0 + int32 block_part_size_bytes = 1; } //---------------------------------------- From 3798f9fa8e65f2c2410f7deef7089f50dfa5b4ef Mon Sep 17 00:00:00 2001 From: Jae Kwon Date: Wed, 20 Dec 2017 00:07:58 -0800 Subject: [PATCH 12/17] Reorder README --- README.md | 115 +++++++++++++++++++++++----------------------- types/types.proto | 1 - 2 files changed, 57 insertions(+), 59 deletions(-) diff --git a/README.md b/README.md index 546342fc9..dbfd86347 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ See [the documentation](http://tendermint.readthedocs.io/en/master/) for more de Multiple example apps are included: - the `abci-cli counter` application, which illustrates nonce checking in txs -- the `abci-cli dummy` application, which illustrates a simple key-value merkle tree +- the `abci-cli dummy` application, which illustrates a simple key-value Merkle tree - the `abci-cli dummy --persistent` application, which augments the dummy with persistence and validator set changes ### Install @@ -91,59 +91,17 @@ ABCI requests/responses are defined as simple Protobuf messages in [this schema TendermintCore sends the requests, and the ABCI application sends the responses. Here, we describe the requests and responses as function arguments and return values, and make some notes about usage: -#### DeliverTx - * __Arguments__: - * `Data ([]byte)`: The request transaction bytes - * __Returns__: - * `Code (uint32)`: Response code - * `Data ([]byte)`: Result bytes, if any - * `Log (string)`: Debug or error message - * `Tags ([]*KVPair)`: Optional tags for indexing - * __Usage__:
- Append and run a transaction. If the transaction is valid, returns CodeType.OK - -#### CheckTx +#### Echo * __Arguments__: - * `Data ([]byte)`: The request transaction bytes + * `Message (string)`: A string to echo back * __Returns__: - * `Code (uint32)`: Response code - * `Data ([]byte)`: Result bytes, if any - * `Log (string)`: Debug or error message - * `Gas (int64)`: Amount of gas consumed by transaction - * `Fee (int64)`: Fee paid by transaction + * `Message (string)`: The input string * __Usage__:
- Validate a mempool transaction, prior to broadcasting or proposing. This message should not mutate the main state, but application - developers may want to keep a separate CheckTx state that gets reset upon Commit. - - CheckTx can happen interspersed with DeliverTx, but they happen on different ABCI connections - CheckTx from the mempool connection, and DeliverTx from the consensus connection. During Commit, the mempool is locked, so you can reset the mempool state to the latest state after running all those DeliverTxs, and then the mempool will re-run whatever txs it has against that latest mempool state. - - Transactions are first run through CheckTx before broadcast to peers in the mempool layer. - You can make CheckTx semi-stateful and clear the state upon `Commit` or `BeginBlock`, - to allow for dependent sequences of transactions in the same block. + * Echo a string to test an abci client/server implementation -#### Commit - * __Returns__: - * `Data ([]byte)`: The Merkle root hash - * `Log (string)`: Debug or error message +#### Flush * __Usage__:
- Return a Merkle root hash of the application state. - -#### Query - * __Arguments__: - * `Data ([]byte)`: Raw query bytes. Can be used with or in lieu of Path. - * `Path (string)`: Path of request, like an HTTP GET path. Can be used with or in liue of Data. - * Apps MUST interpret '/store' as a query by key on the underlying store. The key SHOULD be specified in the Data field. - * Apps SHOULD allow queries over specific types like '/accounts/...' or '/votes/...' - * `Height (int64)`: The block height for which you want the query (default=0 returns data for the latest committed block). Note that this is the height of the block containing the application's Merkle root hash, which represents the state as it was after committing the block at Height-1 - * `Prove (bool)`: Return Merkle proof with response if possible - * __Returns__: - * `Code (uint32)`: Response code - * `Key ([]byte)`: The key of the matching data - * `Value ([]byte)`: The value of the matching data - * `Proof ([]byte)`: Proof for the data, if requested - * `Height (int64)`: The block height from which data was derived. Note that this is the height of the block containing the application's Merkle root hash, which represents the state as it was after committing the block at Height-1 - * `Log (string)`: Debug or error message - *Please note* The current implementation of go-merkle doesn't support querying proofs from past blocks, so for the present moment, any height other than 0 will return an error (recall height=0 defaults to latest block). Hopefully this will be improved soon(ish) + * Signals that messages queued on the client should be flushed to the server. It is called periodically by the client implementation to ensure asynchronous requests are actually sent, and is called immediately to make a synchronous request, which returns when the Flush response comes back. #### Info * __Returns__: @@ -172,6 +130,22 @@ Here, we describe the requests and responses as function arguments and return va * __Usage__:
Called once upon genesis +#### Query + * __Arguments__: + * `Data ([]byte)`: Raw query bytes. Can be used with or in lieu of Path. + * `Path (string)`: Path of request, like an HTTP GET path. Can be used with or in liue of Data. + * Apps MUST interpret '/store' as a query by key on the underlying store. The key SHOULD be specified in the Data field. + * Apps SHOULD allow queries over specific types like '/accounts/...' or '/votes/...' + * `Height (int64)`: The block height for which you want the query (default=0 returns data for the latest committed block). Note that this is the height of the block containing the application's Merkle root hash, which represents the state as it was after committing the block at Height-1 + * `Prove (bool)`: Return Merkle proof with response if possible + * __Returns__: + * `Code (uint32)`: Response code + * `Key ([]byte)`: The key of the matching data + * `Value ([]byte)`: The value of the matching data + * `Proof ([]byte)`: Proof for the data, if requested + * `Height (int64)`: The block height from which data was derived. Note that this is the height of the block containing the application's Merkle root hash, which represents the state as it was after committing the block at Height-1 + * `Log (string)`: Debug or error message + #### BeginBlock * __Arguments__: * `Hash ([]byte)`: The block's hash. This can be derived from the block header. @@ -181,6 +155,36 @@ Here, we describe the requests and responses as function arguments and return va * __Usage__:
Signals the beginning of a new block. Called prior to any DeliverTxs. The header is expected to at least contain the Height. The `AbsentValidators` and `ByzantineValidators` can be used to determine rewards and punishments for the validators. +#### CheckTx + * __Arguments__: + * `Data ([]byte)`: The request transaction bytes + * __Returns__: + * `Code (uint32)`: Response code + * `Data ([]byte)`: Result bytes, if any + * `Log (string)`: Debug or error message + * `Gas (int64)`: Amount of gas consumed by transaction + * `Fee (int64)`: Fee paid by transaction + * __Usage__:
+ Validate a mempool transaction, prior to broadcasting or proposing. This message should not mutate the main state, but application + developers may want to keep a separate CheckTx state that gets reset upon Commit. + + CheckTx can happen interspersed with DeliverTx, but they happen on different ABCI connections - CheckTx from the mempool connection, and DeliverTx from the consensus connection. During Commit, the mempool is locked, so you can reset the mempool state to the latest state after running all those DeliverTxs, and then the mempool will re-run whatever txs it has against that latest mempool state. + + Transactions are first run through CheckTx before broadcast to peers in the mempool layer. + You can make CheckTx semi-stateful and clear the state upon `Commit` or `BeginBlock`, + to allow for dependent sequences of transactions in the same block. + +#### DeliverTx + * __Arguments__: + * `Data ([]byte)`: The request transaction bytes + * __Returns__: + * `Code (uint32)`: Response code + * `Data ([]byte)`: Result bytes, if any + * `Log (string)`: Debug or error message + * `Tags ([]*KVPair)`: Optional tags for indexing + * __Usage__:
+ Append and run a transaction. If the transaction is valid, returns CodeType.OK + #### EndBlock * __Arguments__: * `Height (int64)`: The block height that ended @@ -190,15 +194,10 @@ Here, we describe the requests and responses as function arguments and return va * __Usage__:
Signals the end of a block. Called prior to each Commit after all transactions. Validator set is updated with the result. -#### Echo - * __Arguments__: - * `Message (string)`: A string to echo back +#### Commit * __Returns__: - * `Message (string)`: The input string - * __Usage__:
- * Echo a string to test an abci client/server implementation - -#### Flush + * `Data ([]byte)`: The Merkle root hash + * `Log (string)`: Debug or error message * __Usage__:
- * Signals that messages queued on the client should be flushed to the server. It is called periodically by the client implementation to ensure asynchronous requests are actually sent, and is called immediately to make a synchronous request, which returns when the Flush response comes back. + Return a Merkle root hash of the application state. diff --git a/types/types.proto b/types/types.proto index 74249c09b..da46b2dce 100644 --- a/types/types.proto +++ b/types/types.proto @@ -3,7 +3,6 @@ package types; import "github.com/gogo/protobuf/gogoproto/gogo.proto"; - // This file is copied from http://github.com/tendermint/abci //---------------------------------------- From c268c4e767fd04657d17dbe50e788ada67d15c1d Mon Sep 17 00:00:00 2001 From: Adrian Brink Date: Wed, 20 Dec 2017 10:33:24 +0100 Subject: [PATCH 13/17] Update Circle and Makefile to run tests/linting on CI --- Makefile | 20 ++++++++++---------- circle.yml | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index cadf85442..9e7a9c901 100644 --- a/Makefile +++ b/Makefile @@ -74,23 +74,23 @@ metalinter_all: protoc $(INCLUDE) --lint_out=. types/*.proto gometalinter.v2 --vendor --deadline=600s --enable-all --disable=lll ./... -metalinter: - @ echo "==> Running linter" +metalinter_test: + @ echo "==> Running linter" gometalinter.v2 --vendor --deadline=600s --disable-all \ --enable=maligned \ --enable=deadcode \ --enable=goconst \ --enable=goimports \ --enable=gosimple \ - --enable=ineffassign \ + --enable=ineffassign \ --enable=megacheck \ - --enable=misspell \ - --enable=staticcheck \ + --enable=misspell \ + --enable=staticcheck \ --enable=safesql \ - --enable=structcheck \ - --enable=unconvert \ + --enable=structcheck \ + --enable=unconvert \ --enable=unused \ - --enable=varcheck \ + --enable=varcheck \ --enable=vetshadow \ ./... @@ -100,8 +100,8 @@ metalinter: #--enable=gocyclo \ #--enable=golint \ <== comments on anything exported #--enable=gotype \ - #--enable=interfacer \ - #--enable=unparam \ + #--enable=interfacer \ + #--enable=unparam \ #--enable=vet \ build-docker: diff --git a/circle.yml b/circle.yml index 95d1dea5e..32ce4a7a0 100644 --- a/circle.yml +++ b/circle.yml @@ -15,7 +15,7 @@ checkout: test: override: - - cd $REPO && make get_vendor_deps && make metalinter_test && make test_integrations + - cd $REPO && make get_vendor_deps && make metalinter && make test_integrations post: - cd "$REPO" && bash <(curl -s https://codecov.io/bash) -f coverage.txt - cd "$REPO" && mv coverage.txt "${CIRCLE_ARTIFACTS}" From 57c49cc825d39960ac6f4aa2ffa909b0003a3584 Mon Sep 17 00:00:00 2001 From: Adrian Brink Date: Wed, 20 Dec 2017 10:40:35 +0100 Subject: [PATCH 14/17] Include unsaved circle.yml file --- circle.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/circle.yml b/circle.yml index 32ce4a7a0..95d1dea5e 100644 --- a/circle.yml +++ b/circle.yml @@ -15,7 +15,7 @@ checkout: test: override: - - cd $REPO && make get_vendor_deps && make metalinter && make test_integrations + - cd $REPO && make get_vendor_deps && make metalinter_test && make test_integrations post: - cd "$REPO" && bash <(curl -s https://codecov.io/bash) -f coverage.txt - cd "$REPO" && mv coverage.txt "${CIRCLE_ARTIFACTS}" From e46a99a32f20e805601d315b948d1c5ab28bf34a Mon Sep 17 00:00:00 2001 From: Jae Kwon Date: Wed, 20 Dec 2017 11:02:22 -0800 Subject: [PATCH 15/17] Fix Makefile --- Makefile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 9e7a9c901..dc996d128 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,6 @@ GOTOOLS = \ github.com/mitchellh/gox \ github.com/Masterminds/glide \ gopkg.in/alecthomas/gometalinter.v2 \ - github.com/ckaznocha/protoc-gen-lint \ github.com/gogo/protobuf/protoc-gen-gogo \ github.com/gogo/protobuf/gogoproto @@ -74,7 +73,7 @@ metalinter_all: protoc $(INCLUDE) --lint_out=. types/*.proto gometalinter.v2 --vendor --deadline=600s --enable-all --disable=lll ./... -metalinter_test: +metalinter: @ echo "==> Running linter" gometalinter.v2 --vendor --deadline=600s --disable-all \ --enable=maligned \ From 0d69ace9617a0a580b60cdf6df4acfce8eab17be Mon Sep 17 00:00:00 2001 From: Anton Kaliaev Date: Wed, 20 Dec 2017 13:40:26 -0600 Subject: [PATCH 16/17] fix circleci config --- circle.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/circle.yml b/circle.yml index 95d1dea5e..32ce4a7a0 100644 --- a/circle.yml +++ b/circle.yml @@ -15,7 +15,7 @@ checkout: test: override: - - cd $REPO && make get_vendor_deps && make metalinter_test && make test_integrations + - cd $REPO && make get_vendor_deps && make metalinter && make test_integrations post: - cd "$REPO" && bash <(curl -s https://codecov.io/bash) -f coverage.txt - cd "$REPO" && mv coverage.txt "${CIRCLE_ARTIFACTS}" From fa15e4f5541f35af02d1d4123896666c32dbc5c8 Mon Sep 17 00:00:00 2001 From: Ethan Buchman Date: Wed, 20 Dec 2017 15:16:11 -0500 Subject: [PATCH 17/17] update changelog [ci skip] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c2b183f1b..0dc591d1f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ BREAKING CHANGES: - [types] ResponseEndBlock: renamed Diffs field to ValidatorUpdates + - [types] changed protobuf field indices for Request and Response oneof types FEATURES: - [types] ResponseEndBlock: added ConsensusParamUpdates