From 9accc1a5311d7c39b80ede1a6e8668a0b647856e Mon Sep 17 00:00:00 2001 From: William Banfield <4561443+williambanfield@users.noreply.github.com> Date: Fri, 4 Mar 2022 15:09:49 -0500 Subject: [PATCH] abci++ tooling: proto synchronization (#8065) This PR implements a hack. It does effectively 2 things: 1. It checks in a set of protos, suffixed with `.intermediate` that allow the abci proto generation to proceed. 2. Adds a script / makefile to enable the generation. The script is pretty simple. It copies over the 'intermediate' files over to be the `.proto` files for the `abci/types.proto` file and the `types/types.proto` files, generates all the protos, and then reverts all of the changes made to the `*.proto` files and the `*.pb.go` files, except for the single abci file. If this is too ugly, I'm happy to tweak it, but my goal here is to have some working version of the protos that currently build the abci code so that we can coordinate changes to the code and not have them all sit in different branches that make breaking changes across each other. The end goal is to have the `.intermediate` files disappear completely, since they should be moving towards containing everything that the `.proto` files contain. --- Makefile | 6 + abci/types/types.pb.go | 2236 +++++++++-------- .../tendermint/abci/types.proto.intermediate | 476 ++++ proto/tendermint/types/types.proto | 2 + .../tendermint/types/types.proto.intermediate | 192 ++ scripts/abci-gen.sh | 31 + 6 files changed, 1828 insertions(+), 1115 deletions(-) create mode 100644 proto/tendermint/abci/types.proto.intermediate create mode 100644 proto/tendermint/types/types.proto.intermediate create mode 100755 scripts/abci-gen.sh diff --git a/Makefile b/Makefile index 0fd996c67..aac60c902 100644 --- a/Makefile +++ b/Makefile @@ -92,6 +92,12 @@ proto-gen: @$(DOCKER_PROTO_BUILDER) buf generate --template=./buf.gen.yaml --config ./buf.yaml .PHONY: proto-gen +# TODO: Should be removed when work on ABCI++ is complete. +# For more information, see https://github.com/tendermint/tendermint/issues/8066 +abci-proto-gen: + ./scripts/abci-gen.sh +.PHONY: abci-proto-gen + proto-lint: @$(DOCKER_PROTO_BUILDER) buf lint --error-format=json --config ./buf.yaml .PHONY: proto-lint diff --git a/abci/types/types.pb.go b/abci/types/types.pb.go index 095f8c00d..06b73a9f9 100644 --- a/abci/types/types.pb.go +++ b/abci/types/types.pb.go @@ -11,7 +11,7 @@ import ( _ "github.com/gogo/protobuf/types" github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" crypto "github.com/tendermint/tendermint/proto/tendermint/crypto" - types "github.com/tendermint/tendermint/proto/tendermint/types" + types1 "github.com/tendermint/tendermint/proto/tendermint/types" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -188,7 +188,7 @@ func (x ResponseVerifyVoteExtension_Result) String() string { } func (ResponseVerifyVoteExtension_Result) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{38, 0} + return fileDescriptor_252557cfdd89a31a, []int{37, 0} } type Request struct { @@ -374,6 +374,7 @@ func (m *Request) GetQuery() *RequestQuery { return nil } +// Deprecated: Do not use. func (m *Request) GetBeginBlock() *RequestBeginBlock { if x, ok := m.GetValue().(*Request_BeginBlock); ok { return x.BeginBlock @@ -388,6 +389,7 @@ func (m *Request) GetCheckTx() *RequestCheckTx { return nil } +// Deprecated: Do not use. func (m *Request) GetDeliverTx() *RequestDeliverTx { if x, ok := m.GetValue().(*Request_DeliverTx); ok { return x.DeliverTx @@ -395,6 +397,7 @@ func (m *Request) GetDeliverTx() *RequestDeliverTx { return nil } +// Deprecated: Do not use. func (m *Request) GetEndBlock() *RequestEndBlock { if x, ok := m.GetValue().(*Request_EndBlock); ok { return x.EndBlock @@ -541,74 +544,6 @@ func (m *RequestEcho) GetMessage() string { return "" } -type RequestBeginBlock struct { - Hash []byte `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"` - Header types.Header `protobuf:"bytes,2,opt,name=header,proto3" json:"header"` - LastCommitInfo LastCommitInfo `protobuf:"bytes,3,opt,name=last_commit_info,json=lastCommitInfo,proto3" json:"last_commit_info"` - ByzantineValidators []Evidence `protobuf:"bytes,4,rep,name=byzantine_validators,json=byzantineValidators,proto3" json:"byzantine_validators"` -} - -func (m *RequestBeginBlock) Reset() { *m = RequestBeginBlock{} } -func (m *RequestBeginBlock) String() string { return proto.CompactTextString(m) } -func (*RequestBeginBlock) ProtoMessage() {} -func (*RequestBeginBlock) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{2} -} -func (m *RequestBeginBlock) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *RequestBeginBlock) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_RequestBeginBlock.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *RequestBeginBlock) XXX_Merge(src proto.Message) { - xxx_messageInfo_RequestBeginBlock.Merge(m, src) -} -func (m *RequestBeginBlock) XXX_Size() int { - return m.Size() -} -func (m *RequestBeginBlock) XXX_DiscardUnknown() { - xxx_messageInfo_RequestBeginBlock.DiscardUnknown(m) -} - -var xxx_messageInfo_RequestBeginBlock proto.InternalMessageInfo - -func (m *RequestBeginBlock) GetHash() []byte { - if m != nil { - return m.Hash - } - return nil -} - -func (m *RequestBeginBlock) GetHeader() types.Header { - if m != nil { - return m.Header - } - return types.Header{} -} - -func (m *RequestBeginBlock) GetLastCommitInfo() LastCommitInfo { - if m != nil { - return m.LastCommitInfo - } - return LastCommitInfo{} -} - -func (m *RequestBeginBlock) GetByzantineValidators() []Evidence { - if m != nil { - return m.ByzantineValidators - } - return nil -} - type RequestFlush struct { } @@ -616,7 +551,7 @@ func (m *RequestFlush) Reset() { *m = RequestFlush{} } func (m *RequestFlush) String() string { return proto.CompactTextString(m) } func (*RequestFlush) ProtoMessage() {} func (*RequestFlush) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{3} + return fileDescriptor_252557cfdd89a31a, []int{2} } func (m *RequestFlush) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -656,7 +591,7 @@ func (m *RequestInfo) Reset() { *m = RequestInfo{} } func (m *RequestInfo) String() string { return proto.CompactTextString(m) } func (*RequestInfo) ProtoMessage() {} func (*RequestInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{4} + return fileDescriptor_252557cfdd89a31a, []int{3} } func (m *RequestInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -714,19 +649,19 @@ func (m *RequestInfo) GetAbciVersion() string { } type RequestInitChain struct { - Time time.Time `protobuf:"bytes,1,opt,name=time,proto3,stdtime" json:"time"` - ChainId string `protobuf:"bytes,2,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` - ConsensusParams *types.ConsensusParams `protobuf:"bytes,3,opt,name=consensus_params,json=consensusParams,proto3" json:"consensus_params,omitempty"` - Validators []ValidatorUpdate `protobuf:"bytes,4,rep,name=validators,proto3" json:"validators"` - AppStateBytes []byte `protobuf:"bytes,5,opt,name=app_state_bytes,json=appStateBytes,proto3" json:"app_state_bytes,omitempty"` - InitialHeight int64 `protobuf:"varint,6,opt,name=initial_height,json=initialHeight,proto3" json:"initial_height,omitempty"` + Time time.Time `protobuf:"bytes,1,opt,name=time,proto3,stdtime" json:"time"` + ChainId string `protobuf:"bytes,2,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` + ConsensusParams *types1.ConsensusParams `protobuf:"bytes,3,opt,name=consensus_params,json=consensusParams,proto3" json:"consensus_params,omitempty"` + Validators []ValidatorUpdate `protobuf:"bytes,4,rep,name=validators,proto3" json:"validators"` + AppStateBytes []byte `protobuf:"bytes,5,opt,name=app_state_bytes,json=appStateBytes,proto3" json:"app_state_bytes,omitempty"` + InitialHeight int64 `protobuf:"varint,6,opt,name=initial_height,json=initialHeight,proto3" json:"initial_height,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 fileDescriptor_252557cfdd89a31a, []int{5} + return fileDescriptor_252557cfdd89a31a, []int{4} } func (m *RequestInitChain) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -769,7 +704,7 @@ func (m *RequestInitChain) GetChainId() string { return "" } -func (m *RequestInitChain) GetConsensusParams() *types.ConsensusParams { +func (m *RequestInitChain) GetConsensusParams() *types1.ConsensusParams { if m != nil { return m.ConsensusParams } @@ -808,7 +743,7 @@ func (m *RequestQuery) Reset() { *m = RequestQuery{} } func (m *RequestQuery) String() string { return proto.CompactTextString(m) } func (*RequestQuery) ProtoMessage() {} func (*RequestQuery) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{6} + return fileDescriptor_252557cfdd89a31a, []int{5} } func (m *RequestQuery) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -865,22 +800,25 @@ func (m *RequestQuery) GetProve() bool { return false } -type RequestDeliverTx struct { - Tx []byte `protobuf:"bytes,1,opt,name=tx,proto3" json:"tx,omitempty"` +type RequestBeginBlock struct { + Hash []byte `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"` + Header types1.Header `protobuf:"bytes,2,opt,name=header,proto3" json:"header"` + LastCommitInfo LastCommitInfo `protobuf:"bytes,3,opt,name=last_commit_info,json=lastCommitInfo,proto3" json:"last_commit_info"` + ByzantineValidators []Evidence `protobuf:"bytes,4,rep,name=byzantine_validators,json=byzantineValidators,proto3" json:"byzantine_validators"` } -func (m *RequestDeliverTx) Reset() { *m = RequestDeliverTx{} } -func (m *RequestDeliverTx) String() string { return proto.CompactTextString(m) } -func (*RequestDeliverTx) ProtoMessage() {} -func (*RequestDeliverTx) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{7} +func (m *RequestBeginBlock) Reset() { *m = RequestBeginBlock{} } +func (m *RequestBeginBlock) String() string { return proto.CompactTextString(m) } +func (*RequestBeginBlock) ProtoMessage() {} +func (*RequestBeginBlock) Descriptor() ([]byte, []int) { + return fileDescriptor_252557cfdd89a31a, []int{6} } -func (m *RequestDeliverTx) XXX_Unmarshal(b []byte) error { +func (m *RequestBeginBlock) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *RequestDeliverTx) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *RequestBeginBlock) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_RequestDeliverTx.Marshal(b, m, deterministic) + return xxx_messageInfo_RequestBeginBlock.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -890,67 +828,44 @@ func (m *RequestDeliverTx) XXX_Marshal(b []byte, deterministic bool) ([]byte, er return b[:n], nil } } -func (m *RequestDeliverTx) XXX_Merge(src proto.Message) { - xxx_messageInfo_RequestDeliverTx.Merge(m, src) +func (m *RequestBeginBlock) XXX_Merge(src proto.Message) { + xxx_messageInfo_RequestBeginBlock.Merge(m, src) } -func (m *RequestDeliverTx) XXX_Size() int { +func (m *RequestBeginBlock) XXX_Size() int { return m.Size() } -func (m *RequestDeliverTx) XXX_DiscardUnknown() { - xxx_messageInfo_RequestDeliverTx.DiscardUnknown(m) +func (m *RequestBeginBlock) XXX_DiscardUnknown() { + xxx_messageInfo_RequestBeginBlock.DiscardUnknown(m) } -var xxx_messageInfo_RequestDeliverTx proto.InternalMessageInfo +var xxx_messageInfo_RequestBeginBlock proto.InternalMessageInfo -func (m *RequestDeliverTx) GetTx() []byte { +func (m *RequestBeginBlock) GetHash() []byte { if m != nil { - return m.Tx + return m.Hash } return nil } -type RequestEndBlock struct { - Height int64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"` +func (m *RequestBeginBlock) GetHeader() types1.Header { + if m != nil { + return m.Header + } + return types1.Header{} } -func (m *RequestEndBlock) Reset() { *m = RequestEndBlock{} } -func (m *RequestEndBlock) String() string { return proto.CompactTextString(m) } -func (*RequestEndBlock) ProtoMessage() {} -func (*RequestEndBlock) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{8} -} -func (m *RequestEndBlock) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *RequestEndBlock) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_RequestEndBlock.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil +func (m *RequestBeginBlock) GetLastCommitInfo() LastCommitInfo { + if m != nil { + return m.LastCommitInfo } + return LastCommitInfo{} } -func (m *RequestEndBlock) XXX_Merge(src proto.Message) { - xxx_messageInfo_RequestEndBlock.Merge(m, src) -} -func (m *RequestEndBlock) XXX_Size() int { - return m.Size() -} -func (m *RequestEndBlock) XXX_DiscardUnknown() { - xxx_messageInfo_RequestEndBlock.DiscardUnknown(m) -} - -var xxx_messageInfo_RequestEndBlock proto.InternalMessageInfo -func (m *RequestEndBlock) GetHeight() int64 { +func (m *RequestBeginBlock) GetByzantineValidators() []Evidence { if m != nil { - return m.Height + return m.ByzantineValidators } - return 0 + return nil } type RequestCheckTx struct { @@ -962,7 +877,7 @@ func (m *RequestCheckTx) Reset() { *m = RequestCheckTx{} } func (m *RequestCheckTx) String() string { return proto.CompactTextString(m) } func (*RequestCheckTx) ProtoMessage() {} func (*RequestCheckTx) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{9} + return fileDescriptor_252557cfdd89a31a, []int{7} } func (m *RequestCheckTx) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1005,6 +920,94 @@ func (m *RequestCheckTx) GetType() CheckTxType { return CheckTxType_New } +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 fileDescriptor_252557cfdd89a31a, []int{8} +} +func (m *RequestDeliverTx) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RequestDeliverTx) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RequestDeliverTx.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *RequestDeliverTx) XXX_Merge(src proto.Message) { + xxx_messageInfo_RequestDeliverTx.Merge(m, src) +} +func (m *RequestDeliverTx) XXX_Size() int { + return m.Size() +} +func (m *RequestDeliverTx) XXX_DiscardUnknown() { + xxx_messageInfo_RequestDeliverTx.DiscardUnknown(m) +} + +var xxx_messageInfo_RequestDeliverTx proto.InternalMessageInfo + +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"` +} + +func (m *RequestEndBlock) Reset() { *m = RequestEndBlock{} } +func (m *RequestEndBlock) String() string { return proto.CompactTextString(m) } +func (*RequestEndBlock) ProtoMessage() {} +func (*RequestEndBlock) Descriptor() ([]byte, []int) { + return fileDescriptor_252557cfdd89a31a, []int{9} +} +func (m *RequestEndBlock) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RequestEndBlock) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RequestEndBlock.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *RequestEndBlock) XXX_Merge(src proto.Message) { + xxx_messageInfo_RequestEndBlock.Merge(m, src) +} +func (m *RequestEndBlock) XXX_Size() int { + return m.Size() +} +func (m *RequestEndBlock) XXX_DiscardUnknown() { + xxx_messageInfo_RequestEndBlock.DiscardUnknown(m) +} + +var xxx_messageInfo_RequestEndBlock proto.InternalMessageInfo + +func (m *RequestEndBlock) GetHeight() int64 { + if m != nil { + return m.Height + } + return 0 +} + type RequestCommit struct { } @@ -1253,82 +1256,16 @@ func (m *RequestApplySnapshotChunk) GetSender() string { return "" } -type RequestPrepareProposal struct { - // block_data is an array of transactions that will be included in a block, - // sent to the app for possible modifications. - // applications can not exceed the size of the data passed to it. - BlockData [][]byte `protobuf:"bytes,1,rep,name=block_data,json=blockData,proto3" json:"block_data,omitempty"` - // If an application decides to populate block_data with extra information, they can not exceed this value. - BlockDataSize int64 `protobuf:"varint,2,opt,name=block_data_size,json=blockDataSize,proto3" json:"block_data_size,omitempty"` - // votes includes all votes from the previous block. This contains vote extension data that can be used in proposal - // preparation. The votes here will then form the last commit that gets sent in the proposed block. - Votes []*types.Vote `protobuf:"bytes,3,rep,name=votes,proto3" json:"votes,omitempty"` -} - -func (m *RequestPrepareProposal) Reset() { *m = RequestPrepareProposal{} } -func (m *RequestPrepareProposal) String() string { return proto.CompactTextString(m) } -func (*RequestPrepareProposal) ProtoMessage() {} -func (*RequestPrepareProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{15} -} -func (m *RequestPrepareProposal) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *RequestPrepareProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_RequestPrepareProposal.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *RequestPrepareProposal) XXX_Merge(src proto.Message) { - xxx_messageInfo_RequestPrepareProposal.Merge(m, src) -} -func (m *RequestPrepareProposal) XXX_Size() int { - return m.Size() -} -func (m *RequestPrepareProposal) XXX_DiscardUnknown() { - xxx_messageInfo_RequestPrepareProposal.DiscardUnknown(m) -} - -var xxx_messageInfo_RequestPrepareProposal proto.InternalMessageInfo - -func (m *RequestPrepareProposal) GetBlockData() [][]byte { - if m != nil { - return m.BlockData - } - return nil -} - -func (m *RequestPrepareProposal) GetBlockDataSize() int64 { - if m != nil { - return m.BlockDataSize - } - return 0 -} - -func (m *RequestPrepareProposal) GetVotes() []*types.Vote { - if m != nil { - return m.Votes - } - return nil -} - // Extends a vote with application-side injection type RequestExtendVote struct { - Vote *types.Vote `protobuf:"bytes,1,opt,name=vote,proto3" json:"vote,omitempty"` + Vote *types1.Vote `protobuf:"bytes,1,opt,name=vote,proto3" json:"vote,omitempty"` } func (m *RequestExtendVote) Reset() { *m = RequestExtendVote{} } func (m *RequestExtendVote) String() string { return proto.CompactTextString(m) } func (*RequestExtendVote) ProtoMessage() {} func (*RequestExtendVote) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{16} + return fileDescriptor_252557cfdd89a31a, []int{15} } func (m *RequestExtendVote) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1357,7 +1294,7 @@ func (m *RequestExtendVote) XXX_DiscardUnknown() { var xxx_messageInfo_RequestExtendVote proto.InternalMessageInfo -func (m *RequestExtendVote) GetVote() *types.Vote { +func (m *RequestExtendVote) GetVote() *types1.Vote { if m != nil { return m.Vote } @@ -1366,14 +1303,14 @@ func (m *RequestExtendVote) GetVote() *types.Vote { // Verify the vote extension type RequestVerifyVoteExtension struct { - Vote *types.Vote `protobuf:"bytes,1,opt,name=vote,proto3" json:"vote,omitempty"` + Vote *types1.Vote `protobuf:"bytes,1,opt,name=vote,proto3" json:"vote,omitempty"` } func (m *RequestVerifyVoteExtension) Reset() { *m = RequestVerifyVoteExtension{} } func (m *RequestVerifyVoteExtension) String() string { return proto.CompactTextString(m) } func (*RequestVerifyVoteExtension) ProtoMessage() {} func (*RequestVerifyVoteExtension) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{17} + return fileDescriptor_252557cfdd89a31a, []int{16} } func (m *RequestVerifyVoteExtension) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1402,16 +1339,82 @@ func (m *RequestVerifyVoteExtension) XXX_DiscardUnknown() { var xxx_messageInfo_RequestVerifyVoteExtension proto.InternalMessageInfo -func (m *RequestVerifyVoteExtension) GetVote() *types.Vote { +func (m *RequestVerifyVoteExtension) GetVote() *types1.Vote { if m != nil { return m.Vote } return nil } +type RequestPrepareProposal struct { + // block_data is an array of transactions that will be included in a block, + // sent to the app for possible modifications. + // applications can not exceed the size of the data passed to it. + BlockData [][]byte `protobuf:"bytes,1,rep,name=block_data,json=blockData,proto3" json:"block_data,omitempty"` + // If an application decides to populate block_data with extra information, they can not exceed this value. + BlockDataSize int64 `protobuf:"varint,2,opt,name=block_data_size,json=blockDataSize,proto3" json:"block_data_size,omitempty"` + // votes includes all votes from the previous block. This contains vote extension data that can be used in proposal + // preparation. The votes here will then form the last commit that gets sent in the proposed block. + Votes []*types1.Vote `protobuf:"bytes,3,rep,name=votes,proto3" json:"votes,omitempty"` +} + +func (m *RequestPrepareProposal) Reset() { *m = RequestPrepareProposal{} } +func (m *RequestPrepareProposal) String() string { return proto.CompactTextString(m) } +func (*RequestPrepareProposal) ProtoMessage() {} +func (*RequestPrepareProposal) Descriptor() ([]byte, []int) { + return fileDescriptor_252557cfdd89a31a, []int{17} +} +func (m *RequestPrepareProposal) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RequestPrepareProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RequestPrepareProposal.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *RequestPrepareProposal) XXX_Merge(src proto.Message) { + xxx_messageInfo_RequestPrepareProposal.Merge(m, src) +} +func (m *RequestPrepareProposal) XXX_Size() int { + return m.Size() +} +func (m *RequestPrepareProposal) XXX_DiscardUnknown() { + xxx_messageInfo_RequestPrepareProposal.DiscardUnknown(m) +} + +var xxx_messageInfo_RequestPrepareProposal proto.InternalMessageInfo + +func (m *RequestPrepareProposal) GetBlockData() [][]byte { + if m != nil { + return m.BlockData + } + return nil +} + +func (m *RequestPrepareProposal) GetBlockDataSize() int64 { + if m != nil { + return m.BlockDataSize + } + return 0 +} + +func (m *RequestPrepareProposal) GetVotes() []*types1.Vote { + if m != nil { + return m.Votes + } + return nil +} + type RequestProcessProposal struct { Hash []byte `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"` - Header types.Header `protobuf:"bytes,2,opt,name=header,proto3" json:"header"` + Header types1.Header `protobuf:"bytes,2,opt,name=header,proto3" json:"header"` Txs [][]byte `protobuf:"bytes,3,rep,name=txs,proto3" json:"txs,omitempty"` LastCommitInfo LastCommitInfo `protobuf:"bytes,4,opt,name=last_commit_info,json=lastCommitInfo,proto3" json:"last_commit_info"` ByzantineValidators []Evidence `protobuf:"bytes,5,rep,name=byzantine_validators,json=byzantineValidators,proto3" json:"byzantine_validators"` @@ -1457,11 +1460,11 @@ func (m *RequestProcessProposal) GetHash() []byte { return nil } -func (m *RequestProcessProposal) GetHeader() types.Header { +func (m *RequestProcessProposal) GetHeader() types1.Header { if m != nil { return m.Header } - return types.Header{} + return types1.Header{} } func (m *RequestProcessProposal) GetTxs() [][]byte { @@ -1489,7 +1492,7 @@ type RequestFinalizeBlock struct { Txs [][]byte `protobuf:"bytes,1,rep,name=txs,proto3" json:"txs,omitempty"` Hash []byte `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"` Height int64 `protobuf:"varint,3,opt,name=height,proto3" json:"height,omitempty"` - Header types.Header `protobuf:"bytes,4,opt,name=header,proto3" json:"header"` + Header types1.Header `protobuf:"bytes,4,opt,name=header,proto3" json:"header"` LastCommitInfo LastCommitInfo `protobuf:"bytes,5,opt,name=last_commit_info,json=lastCommitInfo,proto3" json:"last_commit_info"` ByzantineValidators []Evidence `protobuf:"bytes,6,rep,name=byzantine_validators,json=byzantineValidators,proto3" json:"byzantine_validators"` } @@ -1548,11 +1551,11 @@ func (m *RequestFinalizeBlock) GetHeight() int64 { return 0 } -func (m *RequestFinalizeBlock) GetHeader() types.Header { +func (m *RequestFinalizeBlock) GetHeader() types1.Header { if m != nil { return m.Header } - return types.Header{} + return types1.Header{} } func (m *RequestFinalizeBlock) GetLastCommitInfo() LastCommitInfo { @@ -1764,6 +1767,7 @@ func (m *Response) GetQuery() *ResponseQuery { return nil } +// Deprecated: Do not use. func (m *Response) GetBeginBlock() *ResponseBeginBlock { if x, ok := m.GetValue().(*Response_BeginBlock); ok { return x.BeginBlock @@ -1778,6 +1782,7 @@ func (m *Response) GetCheckTx() *ResponseCheckTx { return nil } +// Deprecated: Do not use. func (m *Response) GetDeliverTx() *ResponseDeliverTx { if x, ok := m.GetValue().(*Response_DeliverTx); ok { return x.DeliverTx @@ -1785,6 +1790,7 @@ func (m *Response) GetDeliverTx() *ResponseDeliverTx { return nil } +// Deprecated: Do not use. func (m *Response) GetEndBlock() *ResponseEndBlock { if x, ok := m.GetValue().(*Response_EndBlock); ok { return x.EndBlock @@ -2091,9 +2097,9 @@ func (m *ResponseInfo) GetLastBlockAppHash() []byte { } type ResponseInitChain struct { - ConsensusParams *types.ConsensusParams `protobuf:"bytes,1,opt,name=consensus_params,json=consensusParams,proto3" json:"consensus_params,omitempty"` - Validators []ValidatorUpdate `protobuf:"bytes,2,rep,name=validators,proto3" json:"validators"` - AppHash []byte `protobuf:"bytes,3,opt,name=app_hash,json=appHash,proto3" json:"app_hash,omitempty"` + ConsensusParams *types1.ConsensusParams `protobuf:"bytes,1,opt,name=consensus_params,json=consensusParams,proto3" json:"consensus_params,omitempty"` + Validators []ValidatorUpdate `protobuf:"bytes,2,rep,name=validators,proto3" json:"validators"` + AppHash []byte `protobuf:"bytes,3,opt,name=app_hash,json=appHash,proto3" json:"app_hash,omitempty"` } func (m *ResponseInitChain) Reset() { *m = ResponseInitChain{} } @@ -2129,7 +2135,7 @@ func (m *ResponseInitChain) XXX_DiscardUnknown() { var xxx_messageInfo_ResponseInitChain proto.InternalMessageInfo -func (m *ResponseInitChain) GetConsensusParams() *types.ConsensusParams { +func (m *ResponseInitChain) GetConsensusParams() *types1.ConsensusParams { if m != nil { return m.ConsensusParams } @@ -2308,13 +2314,12 @@ type ResponseCheckTx struct { Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` Log string `protobuf:"bytes,3,opt,name=log,proto3" json:"log,omitempty"` Info string `protobuf:"bytes,4,opt,name=info,proto3" json:"info,omitempty"` - GasWanted int64 `protobuf:"varint,5,opt,name=gas_wanted,proto3" json:"gas_wanted,omitempty"` - GasUsed int64 `protobuf:"varint,6,opt,name=gas_used,proto3" json:"gas_used,omitempty"` + GasWanted int64 `protobuf:"varint,5,opt,name=gas_wanted,json=gasWanted,proto3" json:"gas_wanted,omitempty"` + GasUsed int64 `protobuf:"varint,6,opt,name=gas_used,json=gasUsed,proto3" json:"gas_used,omitempty"` Events []Event `protobuf:"bytes,7,rep,name=events,proto3" json:"events,omitempty"` Codespace string `protobuf:"bytes,8,opt,name=codespace,proto3" json:"codespace,omitempty"` Sender string `protobuf:"bytes,9,opt,name=sender,proto3" json:"sender,omitempty"` Priority int64 `protobuf:"varint,10,opt,name=priority,proto3" json:"priority,omitempty"` - // mempool_error is set by Tendermint. // ABCI applications creating a ResponseCheckTX should not set mempool_error. MempoolError string `protobuf:"bytes,11,opt,name=mempool_error,json=mempoolError,proto3" json:"mempool_error,omitempty"` } @@ -2530,9 +2535,9 @@ func (m *ResponseDeliverTx) GetCodespace() string { } type ResponseEndBlock struct { - ValidatorUpdates []ValidatorUpdate `protobuf:"bytes,1,rep,name=validator_updates,json=validatorUpdates,proto3" json:"validator_updates"` - ConsensusParamUpdates *types.ConsensusParams `protobuf:"bytes,2,opt,name=consensus_param_updates,json=consensusParamUpdates,proto3" json:"consensus_param_updates,omitempty"` - Events []Event `protobuf:"bytes,3,rep,name=events,proto3" json:"events,omitempty"` + ValidatorUpdates []ValidatorUpdate `protobuf:"bytes,1,rep,name=validator_updates,json=validatorUpdates,proto3" json:"validator_updates"` + ConsensusParamUpdates *types1.ConsensusParams `protobuf:"bytes,2,opt,name=consensus_param_updates,json=consensusParamUpdates,proto3" json:"consensus_param_updates,omitempty"` + Events []Event `protobuf:"bytes,3,rep,name=events,proto3" json:"events,omitempty"` } func (m *ResponseEndBlock) Reset() { *m = ResponseEndBlock{} } @@ -2575,7 +2580,7 @@ func (m *ResponseEndBlock) GetValidatorUpdates() []ValidatorUpdate { return nil } -func (m *ResponseEndBlock) GetConsensusParamUpdates() *types.ConsensusParams { +func (m *ResponseEndBlock) GetConsensusParamUpdates() *types1.ConsensusParams { if m != nil { return m.ConsensusParamUpdates } @@ -2823,70 +2828,26 @@ func (m *ResponseApplySnapshotChunk) GetResult() ResponseApplySnapshotChunk_Resu func (m *ResponseApplySnapshotChunk) GetRefetchChunks() []uint32 { if m != nil { return m.RefetchChunks - } - return nil -} - -func (m *ResponseApplySnapshotChunk) GetRejectSenders() []string { - if m != nil { - return m.RejectSenders - } - return nil -} - -type ResponsePrepareProposal struct { - BlockData [][]byte `protobuf:"bytes,1,rep,name=block_data,json=blockData,proto3" json:"block_data,omitempty"` -} - -func (m *ResponsePrepareProposal) Reset() { *m = ResponsePrepareProposal{} } -func (m *ResponsePrepareProposal) String() string { return proto.CompactTextString(m) } -func (*ResponsePrepareProposal) ProtoMessage() {} -func (*ResponsePrepareProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{36} -} -func (m *ResponsePrepareProposal) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *ResponsePrepareProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_ResponsePrepareProposal.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *ResponsePrepareProposal) XXX_Merge(src proto.Message) { - xxx_messageInfo_ResponsePrepareProposal.Merge(m, src) -} -func (m *ResponsePrepareProposal) XXX_Size() int { - return m.Size() -} -func (m *ResponsePrepareProposal) XXX_DiscardUnknown() { - xxx_messageInfo_ResponsePrepareProposal.DiscardUnknown(m) + } + return nil } -var xxx_messageInfo_ResponsePrepareProposal proto.InternalMessageInfo - -func (m *ResponsePrepareProposal) GetBlockData() [][]byte { +func (m *ResponseApplySnapshotChunk) GetRejectSenders() []string { if m != nil { - return m.BlockData + return m.RejectSenders } return nil } type ResponseExtendVote struct { - VoteExtension *types.VoteExtension `protobuf:"bytes,1,opt,name=vote_extension,json=voteExtension,proto3" json:"vote_extension,omitempty"` + VoteExtension *types1.VoteExtension `protobuf:"bytes,1,opt,name=vote_extension,json=voteExtension,proto3" json:"vote_extension,omitempty"` } func (m *ResponseExtendVote) Reset() { *m = ResponseExtendVote{} } func (m *ResponseExtendVote) String() string { return proto.CompactTextString(m) } func (*ResponseExtendVote) ProtoMessage() {} func (*ResponseExtendVote) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{37} + return fileDescriptor_252557cfdd89a31a, []int{36} } func (m *ResponseExtendVote) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2915,7 +2876,7 @@ func (m *ResponseExtendVote) XXX_DiscardUnknown() { var xxx_messageInfo_ResponseExtendVote proto.InternalMessageInfo -func (m *ResponseExtendVote) GetVoteExtension() *types.VoteExtension { +func (m *ResponseExtendVote) GetVoteExtension() *types1.VoteExtension { if m != nil { return m.VoteExtension } @@ -2930,7 +2891,7 @@ func (m *ResponseVerifyVoteExtension) Reset() { *m = ResponseVerifyVoteE func (m *ResponseVerifyVoteExtension) String() string { return proto.CompactTextString(m) } func (*ResponseVerifyVoteExtension) ProtoMessage() {} func (*ResponseVerifyVoteExtension) Descriptor() ([]byte, []int) { - return fileDescriptor_252557cfdd89a31a, []int{38} + return fileDescriptor_252557cfdd89a31a, []int{37} } func (m *ResponseVerifyVoteExtension) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2966,12 +2927,56 @@ func (m *ResponseVerifyVoteExtension) GetResult() ResponseVerifyVoteExtension_Re return ResponseVerifyVoteExtension_UNKNOWN } +type ResponsePrepareProposal struct { + BlockData [][]byte `protobuf:"bytes,1,rep,name=block_data,json=blockData,proto3" json:"block_data,omitempty"` +} + +func (m *ResponsePrepareProposal) Reset() { *m = ResponsePrepareProposal{} } +func (m *ResponsePrepareProposal) String() string { return proto.CompactTextString(m) } +func (*ResponsePrepareProposal) ProtoMessage() {} +func (*ResponsePrepareProposal) Descriptor() ([]byte, []int) { + return fileDescriptor_252557cfdd89a31a, []int{38} +} +func (m *ResponsePrepareProposal) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ResponsePrepareProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ResponsePrepareProposal.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ResponsePrepareProposal) XXX_Merge(src proto.Message) { + xxx_messageInfo_ResponsePrepareProposal.Merge(m, src) +} +func (m *ResponsePrepareProposal) XXX_Size() int { + return m.Size() +} +func (m *ResponsePrepareProposal) XXX_DiscardUnknown() { + xxx_messageInfo_ResponsePrepareProposal.DiscardUnknown(m) +} + +var xxx_messageInfo_ResponsePrepareProposal proto.InternalMessageInfo + +func (m *ResponsePrepareProposal) GetBlockData() [][]byte { + if m != nil { + return m.BlockData + } + return nil +} + type ResponseProcessProposal struct { - Accept bool `protobuf:"varint,1,opt,name=accept,proto3" json:"accept,omitempty"` - AppHash []byte `protobuf:"bytes,2,opt,name=app_hash,json=appHash,proto3" json:"app_hash,omitempty"` - TxResults []*ExecTxResult `protobuf:"bytes,3,rep,name=tx_results,json=txResults,proto3" json:"tx_results,omitempty"` - ValidatorUpdates []*ValidatorUpdate `protobuf:"bytes,4,rep,name=validator_updates,json=validatorUpdates,proto3" json:"validator_updates,omitempty"` - ConsensusParamUpdates *types.ConsensusParams `protobuf:"bytes,5,opt,name=consensus_param_updates,json=consensusParamUpdates,proto3" json:"consensus_param_updates,omitempty"` + Accept bool `protobuf:"varint,1,opt,name=accept,proto3" json:"accept,omitempty"` + AppHash []byte `protobuf:"bytes,2,opt,name=app_hash,json=appHash,proto3" json:"app_hash,omitempty"` + TxResults []*ExecTxResult `protobuf:"bytes,3,rep,name=tx_results,json=txResults,proto3" json:"tx_results,omitempty"` + ValidatorUpdates []*ValidatorUpdate `protobuf:"bytes,4,rep,name=validator_updates,json=validatorUpdates,proto3" json:"validator_updates,omitempty"` + ConsensusParamUpdates *types1.ConsensusParams `protobuf:"bytes,5,opt,name=consensus_param_updates,json=consensusParamUpdates,proto3" json:"consensus_param_updates,omitempty"` } func (m *ResponseProcessProposal) Reset() { *m = ResponseProcessProposal{} } @@ -3035,7 +3040,7 @@ func (m *ResponseProcessProposal) GetValidatorUpdates() []*ValidatorUpdate { return nil } -func (m *ResponseProcessProposal) GetConsensusParamUpdates() *types.ConsensusParams { +func (m *ResponseProcessProposal) GetConsensusParamUpdates() *types1.ConsensusParams { if m != nil { return m.ConsensusParamUpdates } @@ -3043,10 +3048,10 @@ func (m *ResponseProcessProposal) GetConsensusParamUpdates() *types.ConsensusPar } type ResponseFinalizeBlock struct { - Txs []*ResponseDeliverTx `protobuf:"bytes,1,rep,name=txs,proto3" json:"txs,omitempty"` - ValidatorUpdates []ValidatorUpdate `protobuf:"bytes,2,rep,name=validator_updates,json=validatorUpdates,proto3" json:"validator_updates"` - ConsensusParamUpdates *types.ConsensusParams `protobuf:"bytes,3,opt,name=consensus_param_updates,json=consensusParamUpdates,proto3" json:"consensus_param_updates,omitempty"` - Events []Event `protobuf:"bytes,4,rep,name=events,proto3" json:"events,omitempty"` + Txs []*ResponseDeliverTx `protobuf:"bytes,1,rep,name=txs,proto3" json:"txs,omitempty"` + ValidatorUpdates []ValidatorUpdate `protobuf:"bytes,2,rep,name=validator_updates,json=validatorUpdates,proto3" json:"validator_updates"` + ConsensusParamUpdates *types1.ConsensusParams `protobuf:"bytes,3,opt,name=consensus_param_updates,json=consensusParamUpdates,proto3" json:"consensus_param_updates,omitempty"` + Events []Event `protobuf:"bytes,4,rep,name=events,proto3" json:"events,omitempty"` } func (m *ResponseFinalizeBlock) Reset() { *m = ResponseFinalizeBlock{} } @@ -3096,7 +3101,7 @@ func (m *ResponseFinalizeBlock) GetValidatorUpdates() []ValidatorUpdate { return nil } -func (m *ResponseFinalizeBlock) GetConsensusParamUpdates() *types.ConsensusParams { +func (m *ResponseFinalizeBlock) GetConsensusParamUpdates() *types1.ConsensusParams { if m != nil { return m.ConsensusParamUpdates } @@ -3778,22 +3783,22 @@ func init() { proto.RegisterEnum("tendermint.abci.ResponseVerifyVoteExtension_Result", ResponseVerifyVoteExtension_Result_name, ResponseVerifyVoteExtension_Result_value) proto.RegisterType((*Request)(nil), "tendermint.abci.Request") proto.RegisterType((*RequestEcho)(nil), "tendermint.abci.RequestEcho") - proto.RegisterType((*RequestBeginBlock)(nil), "tendermint.abci.RequestBeginBlock") proto.RegisterType((*RequestFlush)(nil), "tendermint.abci.RequestFlush") proto.RegisterType((*RequestInfo)(nil), "tendermint.abci.RequestInfo") proto.RegisterType((*RequestInitChain)(nil), "tendermint.abci.RequestInitChain") proto.RegisterType((*RequestQuery)(nil), "tendermint.abci.RequestQuery") + proto.RegisterType((*RequestBeginBlock)(nil), "tendermint.abci.RequestBeginBlock") + proto.RegisterType((*RequestCheckTx)(nil), "tendermint.abci.RequestCheckTx") proto.RegisterType((*RequestDeliverTx)(nil), "tendermint.abci.RequestDeliverTx") proto.RegisterType((*RequestEndBlock)(nil), "tendermint.abci.RequestEndBlock") - proto.RegisterType((*RequestCheckTx)(nil), "tendermint.abci.RequestCheckTx") proto.RegisterType((*RequestCommit)(nil), "tendermint.abci.RequestCommit") proto.RegisterType((*RequestListSnapshots)(nil), "tendermint.abci.RequestListSnapshots") proto.RegisterType((*RequestOfferSnapshot)(nil), "tendermint.abci.RequestOfferSnapshot") proto.RegisterType((*RequestLoadSnapshotChunk)(nil), "tendermint.abci.RequestLoadSnapshotChunk") proto.RegisterType((*RequestApplySnapshotChunk)(nil), "tendermint.abci.RequestApplySnapshotChunk") - proto.RegisterType((*RequestPrepareProposal)(nil), "tendermint.abci.RequestPrepareProposal") proto.RegisterType((*RequestExtendVote)(nil), "tendermint.abci.RequestExtendVote") proto.RegisterType((*RequestVerifyVoteExtension)(nil), "tendermint.abci.RequestVerifyVoteExtension") + proto.RegisterType((*RequestPrepareProposal)(nil), "tendermint.abci.RequestPrepareProposal") proto.RegisterType((*RequestProcessProposal)(nil), "tendermint.abci.RequestProcessProposal") proto.RegisterType((*RequestFinalizeBlock)(nil), "tendermint.abci.RequestFinalizeBlock") proto.RegisterType((*Response)(nil), "tendermint.abci.Response") @@ -3812,9 +3817,9 @@ func init() { proto.RegisterType((*ResponseOfferSnapshot)(nil), "tendermint.abci.ResponseOfferSnapshot") proto.RegisterType((*ResponseLoadSnapshotChunk)(nil), "tendermint.abci.ResponseLoadSnapshotChunk") proto.RegisterType((*ResponseApplySnapshotChunk)(nil), "tendermint.abci.ResponseApplySnapshotChunk") - proto.RegisterType((*ResponsePrepareProposal)(nil), "tendermint.abci.ResponsePrepareProposal") proto.RegisterType((*ResponseExtendVote)(nil), "tendermint.abci.ResponseExtendVote") proto.RegisterType((*ResponseVerifyVoteExtension)(nil), "tendermint.abci.ResponseVerifyVoteExtension") + proto.RegisterType((*ResponsePrepareProposal)(nil), "tendermint.abci.ResponsePrepareProposal") proto.RegisterType((*ResponseProcessProposal)(nil), "tendermint.abci.ResponseProcessProposal") proto.RegisterType((*ResponseFinalizeBlock)(nil), "tendermint.abci.ResponseFinalizeBlock") proto.RegisterType((*LastCommitInfo)(nil), "tendermint.abci.LastCommitInfo") @@ -3832,208 +3837,209 @@ func init() { func init() { proto.RegisterFile("tendermint/abci/types.proto", fileDescriptor_252557cfdd89a31a) } var fileDescriptor_252557cfdd89a31a = []byte{ - // 3208 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x5a, 0x4d, 0x6c, 0x1b, 0xc7, - 0x15, 0xe6, 0xff, 0xcf, 0xe3, 0xaf, 0x46, 0x8e, 0x43, 0x33, 0xb6, 0xe4, 0xac, 0x91, 0xc4, 0x71, - 0x1c, 0xb9, 0x91, 0x9b, 0xd4, 0x41, 0xd2, 0x26, 0x12, 0x4d, 0x95, 0x8a, 0x15, 0x49, 0x1d, 0x51, - 0x0e, 0xd2, 0x26, 0xde, 0x2c, 0xc9, 0x11, 0xb9, 0x31, 0xb9, 0xbb, 0xd9, 0x5d, 0x32, 0x92, 0x8f, - 0xfd, 0xb9, 0x04, 0x2d, 0x90, 0x63, 0x81, 0x22, 0xb7, 0x1e, 0x7a, 0x2d, 0xd0, 0x43, 0x4f, 0x3d, - 0x15, 0x68, 0x80, 0xf6, 0x90, 0x63, 0x0f, 0x45, 0x5a, 0x24, 0xb7, 0x5e, 0x7b, 0xe8, 0xa9, 0x40, - 0x31, 0x3f, 0xfb, 0x47, 0x72, 0xf9, 0x53, 0x39, 0xa7, 0xde, 0x66, 0xde, 0xbe, 0xf7, 0x76, 0xe6, - 0xcd, 0xcf, 0x7b, 0xdf, 0x7b, 0x03, 0x4f, 0xd9, 0x44, 0xeb, 0x10, 0x73, 0xa0, 0x6a, 0xf6, 0x2d, - 0xa5, 0xd5, 0x56, 0x6f, 0xd9, 0x67, 0x06, 0xb1, 0x36, 0x0c, 0x53, 0xb7, 0x75, 0x54, 0xf2, 0x3e, - 0x6e, 0xd0, 0x8f, 0xd5, 0x2b, 0x3e, 0xee, 0xb6, 0x79, 0x66, 0xd8, 0xfa, 0x2d, 0xc3, 0xd4, 0xf5, - 0x13, 0xce, 0x5f, 0xbd, 0xec, 0xfb, 0xcc, 0xf4, 0xf8, 0xb5, 0x05, 0xbe, 0x0a, 0xe1, 0x87, 0xe4, - 0xcc, 0xf9, 0x7a, 0x65, 0x42, 0xd6, 0x50, 0x4c, 0x65, 0xe0, 0x7c, 0x5e, 0xef, 0xea, 0x7a, 0xb7, - 0x4f, 0x6e, 0xb1, 0x5e, 0x6b, 0x78, 0x72, 0xcb, 0x56, 0x07, 0xc4, 0xb2, 0x95, 0x81, 0x21, 0x18, - 0x2e, 0x74, 0xf5, 0xae, 0xce, 0x9a, 0xb7, 0x68, 0x8b, 0x53, 0xa5, 0x7f, 0x01, 0xa4, 0x31, 0xf9, - 0x68, 0x48, 0x2c, 0x1b, 0x6d, 0x42, 0x82, 0xb4, 0x7b, 0x7a, 0x25, 0x7a, 0x35, 0x7a, 0x3d, 0xb7, - 0x79, 0x79, 0x63, 0x6c, 0x72, 0x1b, 0x82, 0xaf, 0xde, 0xee, 0xe9, 0x8d, 0x08, 0x66, 0xbc, 0xe8, - 0x65, 0x48, 0x9e, 0xf4, 0x87, 0x56, 0xaf, 0x12, 0x63, 0x42, 0x57, 0xc2, 0x84, 0x76, 0x28, 0x53, - 0x23, 0x82, 0x39, 0x37, 0xfd, 0x95, 0xaa, 0x9d, 0xe8, 0x95, 0xf8, 0xec, 0x5f, 0xed, 0x6a, 0x27, - 0xec, 0x57, 0x94, 0x17, 0x6d, 0x03, 0xa8, 0x9a, 0x6a, 0xcb, 0xed, 0x9e, 0xa2, 0x6a, 0x95, 0x04, - 0x93, 0x7c, 0x3a, 0x5c, 0x52, 0xb5, 0x6b, 0x94, 0xb1, 0x11, 0xc1, 0x59, 0xd5, 0xe9, 0xd0, 0xe1, - 0x7e, 0x34, 0x24, 0xe6, 0x59, 0x25, 0x39, 0x7b, 0xb8, 0x3f, 0xa0, 0x4c, 0x74, 0xb8, 0x8c, 0x1b, - 0xd5, 0x21, 0xd7, 0x22, 0x5d, 0x55, 0x93, 0x5b, 0x7d, 0xbd, 0xfd, 0xb0, 0x92, 0x62, 0xc2, 0x52, - 0x98, 0xf0, 0x36, 0x65, 0xdd, 0xa6, 0x9c, 0x8d, 0x08, 0x86, 0x96, 0xdb, 0x43, 0xaf, 0x43, 0xa6, - 0xdd, 0x23, 0xed, 0x87, 0xb2, 0x7d, 0x5a, 0x49, 0x33, 0x1d, 0xeb, 0x61, 0x3a, 0x6a, 0x94, 0xaf, - 0x79, 0xda, 0x88, 0xe0, 0x74, 0x9b, 0x37, 0xe9, 0xfc, 0x3b, 0xa4, 0xaf, 0x8e, 0x88, 0x49, 0xe5, - 0x33, 0xb3, 0xe7, 0x7f, 0x97, 0x73, 0x32, 0x0d, 0xd9, 0x8e, 0xd3, 0x41, 0x6f, 0x40, 0x96, 0x68, - 0x1d, 0x31, 0x8d, 0x2c, 0x53, 0x71, 0x35, 0x74, 0x9d, 0xb5, 0x8e, 0x33, 0x89, 0x0c, 0x11, 0x6d, - 0x74, 0x07, 0x52, 0x6d, 0x7d, 0x30, 0x50, 0xed, 0x0a, 0x30, 0xe9, 0xb5, 0xd0, 0x09, 0x30, 0xae, - 0x46, 0x04, 0x0b, 0x7e, 0xb4, 0x0f, 0xc5, 0xbe, 0x6a, 0xd9, 0xb2, 0xa5, 0x29, 0x86, 0xd5, 0xd3, - 0x6d, 0xab, 0x92, 0x63, 0x1a, 0x9e, 0x09, 0xd3, 0xb0, 0xa7, 0x5a, 0xf6, 0x91, 0xc3, 0xdc, 0x88, - 0xe0, 0x42, 0xdf, 0x4f, 0xa0, 0xfa, 0xf4, 0x93, 0x13, 0x62, 0xba, 0x0a, 0x2b, 0xf9, 0xd9, 0xfa, - 0x0e, 0x28, 0xb7, 0x23, 0x4f, 0xf5, 0xe9, 0x7e, 0x02, 0xfa, 0x11, 0xac, 0xf6, 0x75, 0xa5, 0xe3, - 0xaa, 0x93, 0xdb, 0xbd, 0xa1, 0xf6, 0xb0, 0x52, 0x60, 0x4a, 0x9f, 0x0f, 0x1d, 0xa4, 0xae, 0x74, - 0x1c, 0x15, 0x35, 0x2a, 0xd0, 0x88, 0xe0, 0x95, 0xfe, 0x38, 0x11, 0x3d, 0x80, 0x0b, 0x8a, 0x61, - 0xf4, 0xcf, 0xc6, 0xb5, 0x17, 0x99, 0xf6, 0x1b, 0x61, 0xda, 0xb7, 0xa8, 0xcc, 0xb8, 0x7a, 0xa4, - 0x4c, 0x50, 0x51, 0x13, 0xca, 0x86, 0x49, 0x0c, 0xc5, 0x24, 0xb2, 0x61, 0xea, 0x86, 0x6e, 0x29, - 0xfd, 0x4a, 0x89, 0xe9, 0x7e, 0x2e, 0x4c, 0xf7, 0x21, 0xe7, 0x3f, 0x14, 0xec, 0x8d, 0x08, 0x2e, - 0x19, 0x41, 0x12, 0xd7, 0xaa, 0xb7, 0x89, 0x65, 0x79, 0x5a, 0xcb, 0xf3, 0xb4, 0x32, 0xfe, 0xa0, - 0xd6, 0x00, 0x89, 0x1e, 0x26, 0x72, 0x4a, 0xc5, 0xe5, 0x91, 0x6e, 0x93, 0xca, 0xca, 0xec, 0xc3, - 0x54, 0x67, 0xac, 0xf7, 0x75, 0x9b, 0xd0, 0xc3, 0x44, 0xdc, 0x1e, 0x52, 0xe0, 0x89, 0x11, 0x31, - 0xd5, 0x93, 0x33, 0xa6, 0x46, 0x66, 0x5f, 0x2c, 0x55, 0xd7, 0x2a, 0x88, 0x29, 0x7c, 0x21, 0x4c, - 0xe1, 0x7d, 0x26, 0x44, 0x55, 0xd4, 0x1d, 0x91, 0x46, 0x04, 0xaf, 0x8e, 0x26, 0xc9, 0x74, 0x8b, - 0x9d, 0xa8, 0x9a, 0xd2, 0x57, 0x1f, 0x11, 0x71, 0x64, 0x56, 0x67, 0x6f, 0xb1, 0x1d, 0xc1, 0xed, - 0x9c, 0x9b, 0xc2, 0x89, 0x9f, 0xb0, 0x9d, 0x86, 0xe4, 0x48, 0xe9, 0x0f, 0x89, 0xf4, 0x1c, 0xe4, - 0x7c, 0x97, 0x29, 0xaa, 0x40, 0x7a, 0x40, 0x2c, 0x4b, 0xe9, 0x12, 0x76, 0xf7, 0x66, 0xb1, 0xd3, - 0x95, 0x7e, 0x1a, 0x83, 0x95, 0x89, 0x5b, 0x05, 0x21, 0x48, 0xf4, 0x14, 0xab, 0xc7, 0x98, 0xf3, - 0x98, 0xb5, 0xd1, 0x2b, 0x90, 0xea, 0x11, 0xa5, 0x43, 0x4c, 0x71, 0x13, 0x57, 0xfc, 0x63, 0xe4, - 0x5e, 0xa6, 0xc1, 0xbe, 0x6f, 0x27, 0x3e, 0xff, 0x72, 0x3d, 0x82, 0x05, 0x37, 0x3a, 0x80, 0x72, - 0x5f, 0xb1, 0x6c, 0x99, 0x9f, 0x52, 0xd9, 0x77, 0x2b, 0x4f, 0xde, 0x4d, 0x7b, 0x8a, 0x73, 0xae, - 0xe9, 0xc5, 0x2c, 0x14, 0x15, 0xfb, 0x01, 0x2a, 0xc2, 0x70, 0xa1, 0x75, 0xf6, 0x48, 0xd1, 0x6c, - 0x55, 0x23, 0xf2, 0x48, 0xe9, 0xab, 0x1d, 0xc5, 0xd6, 0x4d, 0xab, 0x92, 0xb8, 0x1a, 0xbf, 0x9e, - 0xdb, 0xbc, 0x34, 0xa1, 0xb4, 0x3e, 0x52, 0x3b, 0x44, 0x6b, 0x13, 0xa1, 0x6e, 0xd5, 0x15, 0xbe, - 0xef, 0xca, 0x4a, 0x45, 0xc8, 0xfb, 0xfd, 0x88, 0xf4, 0x69, 0xd4, 0x35, 0x20, 0xfb, 0x67, 0x05, - 0xd2, 0x23, 0x62, 0xb2, 0xd5, 0x17, 0x06, 0x14, 0x5d, 0x74, 0x0d, 0x0a, 0x6c, 0xe5, 0x64, 0xe7, - 0x3b, 0xb5, 0x4e, 0x02, 0xe7, 0x19, 0xf1, 0xbe, 0x60, 0x5a, 0x87, 0x9c, 0xb1, 0x69, 0xb8, 0x2c, - 0x71, 0xc6, 0x02, 0xc6, 0xa6, 0xe1, 0x30, 0x3c, 0x0d, 0x79, 0x3a, 0x56, 0x97, 0x23, 0xc1, 0x7e, - 0x92, 0xa3, 0x34, 0xc1, 0x22, 0xfd, 0x25, 0x06, 0xe5, 0x71, 0xdf, 0x83, 0xee, 0x40, 0x82, 0xba, - 0x61, 0xe1, 0x51, 0xab, 0x1b, 0xdc, 0x47, 0x6f, 0x38, 0x3e, 0x7a, 0xa3, 0xe9, 0xf8, 0xe8, 0xed, - 0x0c, 0x9d, 0xfc, 0xa7, 0x7f, 0x5f, 0x8f, 0x62, 0x26, 0x81, 0x2e, 0x51, 0x57, 0xa1, 0xa8, 0x9a, - 0xac, 0x76, 0xd8, 0x90, 0xb3, 0xd4, 0x0f, 0x28, 0xaa, 0xb6, 0xdb, 0x41, 0x7b, 0x50, 0x6e, 0xeb, - 0x9a, 0x45, 0x34, 0x6b, 0x68, 0xc9, 0x3c, 0x06, 0x10, 0x2b, 0xf6, 0xf4, 0xe4, 0x9a, 0xd7, 0x1c, - 0xce, 0x43, 0xc6, 0x88, 0x4b, 0xed, 0x20, 0x01, 0xed, 0x00, 0x4c, 0x2c, 0xd2, 0xa4, 0x4b, 0x70, - 0xd7, 0xe2, 0xd8, 0xe8, 0x28, 0xb6, 0xb3, 0x56, 0x3e, 0x49, 0xf4, 0x2c, 0x94, 0x14, 0xc3, 0x90, - 0x2d, 0x5b, 0xb1, 0x89, 0xdc, 0x3a, 0xb3, 0x89, 0xc5, 0x7c, 0x6c, 0x1e, 0x17, 0x14, 0xc3, 0x38, - 0xa2, 0xd4, 0x6d, 0x4a, 0x44, 0xcf, 0x40, 0x91, 0xba, 0x63, 0x55, 0xe9, 0xcb, 0x3d, 0xa2, 0x76, - 0x7b, 0x36, 0xf3, 0xa6, 0x71, 0x5c, 0x10, 0xd4, 0x06, 0x23, 0x4a, 0x1d, 0x77, 0xc5, 0x99, 0x2b, - 0xa6, 0x5b, 0xbe, 0xa3, 0xd8, 0x8a, 0xb3, 0xe5, 0x69, 0x9b, 0xd2, 0x0c, 0xc5, 0xee, 0x09, 0xfb, - 0xb0, 0x36, 0xba, 0x48, 0x8f, 0x01, 0x53, 0x1b, 0x67, 0x6a, 0x45, 0x0f, 0x5d, 0x80, 0xa4, 0x61, - 0xea, 0x23, 0xc2, 0x96, 0x2e, 0x83, 0x79, 0x47, 0x92, 0xdc, 0x35, 0x73, 0xfd, 0x25, 0x2a, 0x42, - 0xcc, 0x3e, 0x15, 0xff, 0x89, 0xd9, 0xa7, 0xd2, 0xf3, 0x50, 0x1a, 0x73, 0x88, 0xbe, 0x9f, 0x44, - 0xfd, 0x3f, 0x91, 0x30, 0x14, 0x83, 0xee, 0x7b, 0x5c, 0x19, 0xfa, 0x16, 0x24, 0xe8, 0xba, 0xb0, - 0x21, 0x17, 0xa7, 0xc4, 0x3d, 0x42, 0xae, 0x79, 0x66, 0x10, 0xcc, 0x38, 0xa5, 0x12, 0x14, 0x02, - 0x1e, 0x55, 0xba, 0x08, 0x17, 0xa6, 0x39, 0x48, 0xa9, 0xe7, 0xd2, 0x03, 0x8e, 0x0e, 0xbd, 0x0c, - 0x19, 0xd7, 0x43, 0xf2, 0x7d, 0x38, 0x79, 0x06, 0x1d, 0x66, 0xec, 0xb2, 0xd2, 0x0d, 0x48, 0xd7, - 0x93, 0xdd, 0x33, 0x31, 0x36, 0xfe, 0xb4, 0x62, 0x18, 0x0d, 0xc5, 0xea, 0x49, 0x1f, 0x40, 0x25, - 0xcc, 0xfb, 0x8d, 0x99, 0x26, 0xe1, 0xda, 0xff, 0x22, 0xa4, 0x4e, 0x74, 0x73, 0xa0, 0xd8, 0x4c, - 0x59, 0x01, 0x8b, 0x1e, 0x5d, 0x17, 0xee, 0x09, 0xe3, 0x8c, 0xcc, 0x3b, 0x92, 0x0c, 0x97, 0x42, - 0x3d, 0x20, 0x15, 0x51, 0xb5, 0x0e, 0xe1, 0x66, 0x2d, 0x60, 0xde, 0xf1, 0x14, 0xf1, 0xc1, 0xf2, - 0x0e, 0xfd, 0xad, 0xc5, 0xe6, 0xca, 0xf4, 0x67, 0xb1, 0xe8, 0x49, 0xbf, 0x88, 0xc2, 0xc5, 0xe9, - 0x7e, 0x10, 0x5d, 0x01, 0xe0, 0x37, 0x86, 0xd8, 0x6f, 0xf1, 0xeb, 0x79, 0x9c, 0x65, 0x94, 0xbb, - 0x74, 0xd3, 0x3d, 0x0b, 0x25, 0xef, 0xb3, 0x6c, 0xa9, 0x8f, 0xf8, 0x62, 0xc6, 0x71, 0xc1, 0xe5, - 0x39, 0x52, 0x1f, 0x11, 0x74, 0x13, 0x92, 0xd4, 0x2f, 0xd1, 0xa3, 0x49, 0x8f, 0xd4, 0xc5, 0xc9, - 0xa3, 0x49, 0x7d, 0x0d, 0xe6, 0x4c, 0xd2, 0x1b, 0xee, 0x35, 0xef, 0xf9, 0x3b, 0x74, 0x03, 0x12, - 0xcc, 0x43, 0xf2, 0x55, 0x0b, 0xd3, 0xc0, 0x78, 0xa4, 0x06, 0x54, 0xc3, 0xfd, 0xdb, 0x52, 0x9a, - 0x7e, 0x15, 0xf3, 0x99, 0x26, 0xe8, 0xb9, 0x1f, 0xa7, 0xdf, 0x29, 0x43, 0xdc, 0x3e, 0xe5, 0xd6, - 0xc9, 0x63, 0xda, 0x9c, 0xea, 0x89, 0x12, 0xdf, 0x84, 0x27, 0x4a, 0x9e, 0xc3, 0x13, 0xfd, 0x36, - 0xe6, 0x1e, 0xb3, 0x80, 0xb3, 0x77, 0xe6, 0x13, 0xf5, 0xe6, 0xe3, 0x58, 0x2b, 0xe6, 0xb3, 0x56, - 0xd8, 0xf5, 0xe4, 0x59, 0x31, 0x71, 0x6e, 0xef, 0x9d, 0xfc, 0x26, 0x6c, 0x96, 0x3a, 0x87, 0xcd, - 0xfe, 0x9c, 0x83, 0x0c, 0x26, 0x96, 0x41, 0x3d, 0x0f, 0xda, 0x86, 0x2c, 0x39, 0x6d, 0x13, 0xc3, - 0x76, 0x9c, 0xf5, 0xf4, 0xd8, 0x8f, 0x73, 0xd7, 0x1d, 0x4e, 0x8a, 0x62, 0x5c, 0x31, 0x74, 0x5b, - 0x00, 0xd5, 0x70, 0xcc, 0x29, 0xc4, 0xfd, 0x48, 0xf5, 0x15, 0x07, 0xa9, 0xc6, 0x43, 0x81, 0x0b, - 0x97, 0x1a, 0x83, 0xaa, 0xb7, 0x05, 0x54, 0x4d, 0xcc, 0xf9, 0x59, 0x00, 0xab, 0xd6, 0x02, 0x58, - 0x35, 0x39, 0x67, 0x9a, 0x21, 0x60, 0xf5, 0x15, 0x07, 0xac, 0xa6, 0xe6, 0x8c, 0x78, 0x0c, 0xad, - 0xee, 0x04, 0xd1, 0x2a, 0x47, 0x9a, 0xd7, 0x42, 0xa5, 0x43, 0xe1, 0xea, 0x77, 0x7d, 0x70, 0x35, - 0x13, 0x8a, 0x15, 0xb9, 0x92, 0x29, 0x78, 0xb5, 0x16, 0xc0, 0xab, 0xd9, 0x39, 0x36, 0x08, 0x01, - 0xac, 0x6f, 0xfa, 0x01, 0x2b, 0x84, 0x62, 0x5e, 0xb1, 0xde, 0xd3, 0x10, 0xeb, 0xab, 0x2e, 0x62, - 0xcd, 0x85, 0x42, 0x6e, 0x31, 0x87, 0x71, 0xc8, 0x7a, 0x30, 0x01, 0x59, 0x39, 0xc4, 0x7c, 0x36, - 0x54, 0xc5, 0x1c, 0xcc, 0x7a, 0x30, 0x81, 0x59, 0x0b, 0x73, 0x14, 0xce, 0x01, 0xad, 0xef, 0x4d, - 0x07, 0xad, 0xe1, 0xb0, 0x52, 0x0c, 0x73, 0x31, 0xd4, 0x2a, 0x87, 0xa0, 0xd6, 0x52, 0x28, 0xc2, - 0xe2, 0xea, 0x17, 0x86, 0xad, 0xc7, 0x53, 0x60, 0x2b, 0x07, 0x98, 0xd7, 0x43, 0x95, 0x2f, 0x80, - 0x5b, 0x8f, 0xa7, 0xe0, 0xd6, 0x95, 0xb9, 0x6a, 0xe7, 0x02, 0xd7, 0x9d, 0x20, 0x70, 0x45, 0x73, - 0xce, 0x55, 0x28, 0x72, 0x6d, 0x85, 0x21, 0x57, 0x8e, 0x2e, 0x6f, 0x86, 0x6a, 0x5c, 0x02, 0xba, - 0x1e, 0x4c, 0x40, 0xd7, 0x0b, 0x73, 0x76, 0xda, 0xa2, 0xd8, 0xf5, 0x79, 0x1a, 0xaa, 0x8c, 0x5d, - 0xcf, 0x34, 0xfa, 0x22, 0xa6, 0xa9, 0x9b, 0x02, 0x7e, 0xf1, 0x8e, 0x74, 0x9d, 0x06, 0xf1, 0xde, - 0x55, 0x3c, 0x03, 0xe7, 0xb2, 0x28, 0xd7, 0x77, 0xfd, 0x4a, 0xbf, 0x8f, 0x7a, 0xb2, 0xcc, 0x31, - 0xf9, 0x01, 0x40, 0x56, 0x00, 0x00, 0x1f, 0xec, 0x8b, 0x05, 0x61, 0xdf, 0x3a, 0xe4, 0x68, 0xf4, - 0x3a, 0x86, 0xe8, 0x14, 0xc3, 0x45, 0x74, 0x37, 0x60, 0x85, 0x39, 0x4e, 0x1e, 0xcb, 0x09, 0x9f, - 0x9c, 0x60, 0x3e, 0xb9, 0x44, 0x3f, 0x70, 0x2b, 0x70, 0xe7, 0xfc, 0x22, 0xac, 0xfa, 0x78, 0xdd, - 0xa8, 0x98, 0xc3, 0x9b, 0xb2, 0xcb, 0xbd, 0x25, 0xc2, 0xe3, 0x3f, 0x46, 0x3d, 0x0b, 0x79, 0x50, - 0x70, 0x1a, 0x6a, 0x8b, 0x3e, 0x26, 0xd4, 0x16, 0xfb, 0x9f, 0x51, 0x9b, 0x3f, 0xca, 0x8f, 0x07, - 0xa3, 0xfc, 0x7f, 0x47, 0xbd, 0x35, 0x71, 0x31, 0x58, 0x5b, 0xef, 0x10, 0x11, 0x77, 0xb3, 0x36, - 0x0d, 0x7b, 0xfa, 0x7a, 0x57, 0x44, 0xd7, 0xb4, 0x49, 0xb9, 0x5c, 0x7f, 0x99, 0x15, 0xee, 0xd0, - 0x0d, 0xd9, 0x93, 0xcc, 0xc2, 0x22, 0x64, 0x2f, 0x43, 0xfc, 0x21, 0xe1, 0xde, 0x2d, 0x8f, 0x69, - 0x93, 0xf2, 0xb1, 0x4d, 0xc6, 0x7c, 0x56, 0x1e, 0xf3, 0x0e, 0xba, 0x03, 0x59, 0x96, 0x44, 0x97, - 0x75, 0xc3, 0x12, 0x8e, 0xe8, 0x29, 0xff, 0x5c, 0x79, 0xae, 0x7c, 0xe3, 0x90, 0xf2, 0x1c, 0x18, - 0x16, 0xce, 0x18, 0xa2, 0xe5, 0x0b, 0xb7, 0xb2, 0x81, 0x70, 0xeb, 0x32, 0x64, 0xe9, 0xe8, 0x2d, - 0x43, 0x69, 0x13, 0xe6, 0x55, 0xb2, 0xd8, 0x23, 0x48, 0x0f, 0x00, 0x4d, 0xfa, 0x46, 0xd4, 0x80, - 0x14, 0x19, 0x11, 0xcd, 0xe6, 0x31, 0xde, 0x58, 0x14, 0x2d, 0x62, 0x21, 0xa2, 0xd9, 0xdb, 0x15, - 0x6a, 0xe4, 0x7f, 0x7e, 0xb9, 0x5e, 0xe6, 0xdc, 0x37, 0xf5, 0x81, 0x6a, 0x93, 0x81, 0x61, 0x9f, - 0x61, 0x21, 0x2f, 0xfd, 0x2d, 0x46, 0x21, 0x65, 0xc0, 0x6f, 0x4e, 0xb5, 0xad, 0xb3, 0xe5, 0x63, - 0x3e, 0xcc, 0xbb, 0x98, 0xbd, 0xd7, 0x00, 0xba, 0x8a, 0x25, 0x7f, 0xac, 0x68, 0x36, 0xe9, 0x08, - 0xa3, 0xfb, 0x28, 0xa8, 0x0a, 0x19, 0xda, 0x1b, 0x5a, 0xa4, 0x23, 0xe0, 0xb7, 0xdb, 0xf7, 0xcd, - 0x33, 0x7d, 0xbe, 0x79, 0x06, 0xad, 0x9c, 0x19, 0xb3, 0xb2, 0x0f, 0x9a, 0x65, 0xfd, 0xd0, 0x8c, - 0x8e, 0xcd, 0x30, 0x55, 0xdd, 0x54, 0xed, 0x33, 0xb6, 0x34, 0x71, 0xec, 0xf6, 0xd1, 0x35, 0x28, - 0x0c, 0xc8, 0xc0, 0xd0, 0xf5, 0xbe, 0xcc, 0xaf, 0x9b, 0x1c, 0x13, 0xcd, 0x0b, 0x62, 0x9d, 0xdd, - 0x3a, 0x3f, 0x8b, 0x79, 0xe7, 0xcf, 0x83, 0xf5, 0xff, 0x77, 0x06, 0x96, 0x7e, 0xce, 0x32, 0x52, - 0xc1, 0xc8, 0x08, 0x1d, 0xc1, 0x8a, 0x7b, 0xfc, 0xe5, 0x21, 0xbb, 0x16, 0x9c, 0x0d, 0xbd, 0xe8, - 0xfd, 0x51, 0x1e, 0x05, 0xc9, 0x16, 0x7a, 0x17, 0x9e, 0x1c, 0xbb, 0xdb, 0x5c, 0xd5, 0xb1, 0x45, - 0xaf, 0xb8, 0x27, 0x82, 0x57, 0x9c, 0xa3, 0xda, 0x33, 0x56, 0xfc, 0x9c, 0xa7, 0x6e, 0x17, 0x8a, - 0xc1, 0x40, 0x6f, 0xea, 0xf2, 0x5f, 0x83, 0x82, 0x49, 0x6c, 0x45, 0xd5, 0xe4, 0x00, 0x4e, 0xcb, - 0x73, 0xa2, 0x48, 0x4e, 0x1d, 0xc2, 0x13, 0x53, 0x03, 0x3e, 0xf4, 0x1d, 0xc8, 0x7a, 0xb1, 0x62, - 0x34, 0x04, 0x32, 0xb9, 0xc9, 0x16, 0x8f, 0x57, 0xfa, 0x43, 0xd4, 0x53, 0x19, 0x4c, 0xdf, 0xd4, - 0x21, 0x65, 0x12, 0x6b, 0xd8, 0xe7, 0x09, 0x95, 0xe2, 0xe6, 0x8b, 0x8b, 0x85, 0x8a, 0x94, 0x3a, - 0xec, 0xdb, 0x58, 0x08, 0x4b, 0x0f, 0x20, 0xc5, 0x29, 0x28, 0x07, 0xe9, 0xe3, 0xfd, 0x7b, 0xfb, - 0x07, 0xef, 0xec, 0x97, 0x23, 0x08, 0x20, 0xb5, 0x55, 0xab, 0xd5, 0x0f, 0x9b, 0xe5, 0x28, 0xca, - 0x42, 0x72, 0x6b, 0xfb, 0x00, 0x37, 0xcb, 0x31, 0x4a, 0xc6, 0xf5, 0xb7, 0xea, 0xb5, 0x66, 0x39, - 0x8e, 0x56, 0xa0, 0xc0, 0xdb, 0xf2, 0xce, 0x01, 0x7e, 0x7b, 0xab, 0x59, 0x4e, 0xf8, 0x48, 0x47, - 0xf5, 0xfd, 0xbb, 0x75, 0x5c, 0x4e, 0x4a, 0x2f, 0xc1, 0xa5, 0xd0, 0xe0, 0xd2, 0xcb, 0xcd, 0x44, - 0x7d, 0xb9, 0x19, 0xe9, 0x97, 0x31, 0xa8, 0x86, 0x47, 0x8c, 0xe8, 0xad, 0xb1, 0x89, 0x6f, 0x2e, - 0x11, 0x6e, 0x8e, 0xcd, 0x1e, 0x3d, 0x03, 0x45, 0x93, 0x9c, 0x10, 0xbb, 0xdd, 0xe3, 0x11, 0x2c, - 0x77, 0x99, 0x05, 0x5c, 0x10, 0x54, 0x26, 0x64, 0x71, 0xb6, 0x0f, 0x49, 0xdb, 0x96, 0xf9, 0x5d, - 0xc4, 0x37, 0x5d, 0x96, 0xb2, 0x51, 0xea, 0x11, 0x27, 0x4a, 0x1f, 0x2c, 0x65, 0xcb, 0x2c, 0x24, - 0x71, 0xbd, 0x89, 0xdf, 0x2d, 0xc7, 0x11, 0x82, 0x22, 0x6b, 0xca, 0x47, 0xfb, 0x5b, 0x87, 0x47, - 0x8d, 0x03, 0x6a, 0xcb, 0x55, 0x28, 0x39, 0xb6, 0x74, 0x88, 0x49, 0xe9, 0x0e, 0x3c, 0x19, 0x12, - 0xee, 0xce, 0x49, 0x4f, 0x49, 0xef, 0x79, 0xbe, 0xcb, 0x97, 0x49, 0xda, 0x81, 0xe2, 0x58, 0xa8, - 0x19, 0x9d, 0xc4, 0x42, 0x5e, 0x26, 0xc8, 0x0d, 0x23, 0x71, 0x61, 0xe4, 0xef, 0x4a, 0xbf, 0x8e, - 0xc2, 0x53, 0x33, 0x82, 0x51, 0x74, 0x6f, 0x6c, 0xcd, 0x6e, 0x2f, 0x13, 0xca, 0x8e, 0x6f, 0xd9, - 0x3b, 0x0b, 0x99, 0xf9, 0x68, 0x6f, 0xeb, 0xa8, 0x11, 0xdc, 0xb2, 0xd2, 0xef, 0x62, 0x7e, 0xfb, - 0x05, 0x83, 0xf8, 0x8b, 0x90, 0x52, 0xda, 0x34, 0x6c, 0x65, 0x43, 0xcc, 0x60, 0xd1, 0x9b, 0x91, - 0xef, 0x44, 0xaf, 0x03, 0xd8, 0xa7, 0x32, 0x1f, 0x95, 0x73, 0x0f, 0x4d, 0xe6, 0x01, 0xea, 0xa7, - 0xa4, 0xdd, 0x3c, 0x15, 0x73, 0xc8, 0xda, 0xa2, 0x65, 0xa1, 0xb7, 0xa7, 0xdd, 0xb8, 0x0b, 0xe6, - 0xd9, 0x97, 0xbb, 0x6b, 0x93, 0xe7, 0xbb, 0x6b, 0xa5, 0x3f, 0xc5, 0xbc, 0x4b, 0x28, 0x98, 0xdc, - 0xfa, 0xb6, 0x97, 0xdc, 0x5a, 0x08, 0xc3, 0xf3, 0x04, 0xd8, 0x54, 0x5f, 0x13, 0xfb, 0xe6, 0x7c, - 0x4d, 0xfc, 0xb1, 0xf9, 0x9a, 0xc4, 0x39, 0x7d, 0xcd, 0xfb, 0x50, 0x0c, 0x66, 0xdb, 0xe8, 0x15, - 0x68, 0xea, 0x43, 0xad, 0xc3, 0x76, 0x5d, 0x12, 0xf3, 0x0e, 0x7a, 0xd9, 0x49, 0x12, 0xc7, 0x42, - 0x7c, 0x05, 0x3d, 0x20, 0xbe, 0x6c, 0x9d, 0xc8, 0x16, 0x3f, 0x82, 0x24, 0x1b, 0x09, 0xf5, 0x60, - 0xac, 0x9c, 0x20, 0x40, 0x11, 0x6d, 0xa3, 0xf7, 0x01, 0x14, 0xdb, 0x36, 0xd5, 0xd6, 0xd0, 0x53, - 0xbc, 0x3e, 0x7d, 0x26, 0x5b, 0x0e, 0xdf, 0xf6, 0x65, 0x31, 0xa5, 0x0b, 0x9e, 0xa8, 0x6f, 0x5a, - 0x3e, 0x85, 0xd2, 0x3e, 0x14, 0x83, 0xb2, 0x4e, 0x18, 0xcf, 0xc7, 0x10, 0x0c, 0xe3, 0x39, 0x2a, - 0x13, 0x61, 0xbc, 0x0b, 0x02, 0xe2, 0xbc, 0x04, 0xc3, 0x3a, 0xd2, 0x4f, 0x62, 0x90, 0xf7, 0x1f, - 0x9d, 0xc7, 0x1c, 0xa8, 0x5d, 0x99, 0x12, 0xa8, 0x65, 0xbb, 0x8a, 0xf5, 0x0e, 0x8f, 0xd3, 0x2e, - 0x4d, 0xc4, 0x69, 0xe9, 0xae, 0x62, 0x1d, 0xd3, 0x30, 0xed, 0x6d, 0xc8, 0xda, 0xa7, 0xf2, 0x39, - 0x23, 0xb5, 0x8c, 0x7d, 0x5a, 0x5f, 0x24, 0x56, 0xfb, 0x24, 0x0a, 0x19, 0xd7, 0x02, 0x21, 0xe5, - 0x25, 0xcf, 0x80, 0x31, 0x7f, 0xe1, 0x83, 0x97, 0x98, 0xe2, 0x6e, 0x89, 0xe9, 0x4d, 0xf7, 0x0e, - 0x4e, 0x2c, 0x9a, 0x72, 0x73, 0x92, 0xca, 0xe2, 0xe2, 0x7d, 0x0d, 0xb2, 0xee, 0x69, 0xa4, 0x18, - 0x5b, 0xe9, 0x74, 0x4c, 0x62, 0x59, 0xc2, 0x7b, 0x3b, 0x5d, 0x56, 0x52, 0xd3, 0x3f, 0x16, 0xa5, - 0x95, 0x38, 0xe6, 0x1d, 0xa9, 0x03, 0xa5, 0xb1, 0xa3, 0x8c, 0x5e, 0x83, 0xb4, 0x31, 0x6c, 0xc9, - 0xce, 0x26, 0x19, 0x7b, 0xef, 0xe3, 0xa0, 0xb7, 0x61, 0xab, 0xaf, 0xb6, 0xef, 0x91, 0x33, 0x67, - 0x30, 0xc6, 0xb0, 0x75, 0x8f, 0xef, 0x25, 0xfe, 0x97, 0x98, 0xff, 0x2f, 0x23, 0xc8, 0x38, 0x47, - 0x03, 0x7d, 0x0f, 0xb2, 0xee, 0x2d, 0xe1, 0x56, 0x5a, 0x43, 0xaf, 0x17, 0xa1, 0xde, 0x13, 0x41, - 0x37, 0x60, 0xc5, 0x52, 0xbb, 0x1a, 0xe9, 0xc8, 0x1e, 0xca, 0x67, 0x7f, 0xcb, 0xe0, 0x12, 0xff, - 0xb0, 0xe7, 0x40, 0x7c, 0xe9, 0x3f, 0x51, 0xc8, 0x38, 0x29, 0x6f, 0xf4, 0x92, 0xef, 0xf4, 0x15, - 0xa7, 0x79, 0x04, 0xc1, 0xe8, 0x55, 0xf3, 0x82, 0x63, 0x8d, 0x2d, 0x3f, 0xd6, 0xb0, 0xfa, 0x81, - 0x53, 0x68, 0x4e, 0x2c, 0x5d, 0x68, 0xbe, 0x09, 0xc8, 0xd6, 0x6d, 0xa5, 0x2f, 0x8f, 0x74, 0x5b, - 0xd5, 0xba, 0x32, 0x37, 0x36, 0x3f, 0x28, 0x65, 0xf6, 0xe5, 0x3e, 0xfb, 0x70, 0xc8, 0xec, 0xfe, - 0xe3, 0x28, 0x64, 0xdc, 0xd0, 0x74, 0xd9, 0x5a, 0xdf, 0x45, 0x48, 0x89, 0xe8, 0x8b, 0x17, 0xfb, - 0x44, 0xcf, 0x2d, 0x94, 0x24, 0x7c, 0x85, 0x92, 0x2a, 0x64, 0x06, 0xc4, 0x56, 0xd8, 0xa9, 0xe7, - 0x89, 0x16, 0xb7, 0x7f, 0xe3, 0x55, 0xc8, 0xf9, 0xea, 0xa4, 0xf4, 0x22, 0xd8, 0xaf, 0xbf, 0x53, - 0x8e, 0x54, 0xd3, 0x9f, 0x7c, 0x76, 0x35, 0xbe, 0x4f, 0x3e, 0xa6, 0x7b, 0x16, 0xd7, 0x6b, 0x8d, - 0x7a, 0xed, 0x5e, 0x39, 0x5a, 0xcd, 0x7d, 0xf2, 0xd9, 0xd5, 0x34, 0x26, 0x2c, 0x2b, 0x7d, 0xa3, - 0x01, 0x79, 0xff, 0xaa, 0x04, 0x23, 0x0b, 0x04, 0xc5, 0xbb, 0xc7, 0x87, 0x7b, 0xbb, 0xb5, 0xad, - 0x66, 0x5d, 0xbe, 0x7f, 0xd0, 0xac, 0x97, 0xa3, 0xe8, 0x49, 0x58, 0xdd, 0xdb, 0xfd, 0x7e, 0xa3, - 0x29, 0xd7, 0xf6, 0x76, 0xeb, 0xfb, 0x4d, 0x79, 0xab, 0xd9, 0xdc, 0xaa, 0xdd, 0x2b, 0xc7, 0x36, - 0x7f, 0x93, 0x83, 0xd2, 0xd6, 0x76, 0x6d, 0x97, 0x06, 0x9f, 0x6a, 0x5b, 0x61, 0x59, 0xb0, 0x1a, - 0x24, 0x58, 0x9e, 0x6b, 0xe6, 0xd3, 0xb9, 0xea, 0xec, 0x7a, 0x05, 0xda, 0x81, 0x24, 0x4b, 0x81, - 0xa1, 0xd9, 0x6f, 0xe9, 0xaa, 0x73, 0x0a, 0x18, 0x74, 0x30, 0xec, 0x78, 0xcc, 0x7c, 0x5c, 0x57, - 0x9d, 0x5d, 0xcf, 0x40, 0x7b, 0x90, 0x76, 0x32, 0x14, 0xf3, 0x9e, 0xaa, 0x55, 0xe7, 0x16, 0x07, - 0xe8, 0xd4, 0x78, 0x26, 0x69, 0xf6, 0xbb, 0xbb, 0xea, 0x9c, 0x4a, 0x07, 0xda, 0x85, 0x94, 0x80, - 0x70, 0x73, 0x9e, 0x9f, 0x55, 0xe7, 0x25, 0xfb, 0x11, 0x86, 0xac, 0x97, 0xa3, 0x9b, 0xff, 0x9a, - 0xb0, 0xba, 0x40, 0x11, 0x07, 0x3d, 0x80, 0x42, 0x10, 0x16, 0x2e, 0xf6, 0xc4, 0xad, 0xba, 0x60, - 0x59, 0x81, 0xea, 0x0f, 0x62, 0xc4, 0xc5, 0x9e, 0xbc, 0x55, 0x17, 0xac, 0x32, 0xa0, 0x0f, 0x61, - 0x65, 0x12, 0xc3, 0x2d, 0xfe, 0x02, 0xae, 0xba, 0x44, 0xdd, 0x01, 0x0d, 0x00, 0x4d, 0xc1, 0x7e, - 0x4b, 0x3c, 0x88, 0xab, 0x2e, 0x53, 0x86, 0x40, 0x1d, 0x28, 0x8d, 0x03, 0xaa, 0x45, 0x1f, 0xc8, - 0x55, 0x17, 0x2e, 0x49, 0xf0, 0xbf, 0x04, 0x61, 0xc7, 0xa2, 0x0f, 0xe6, 0xaa, 0x0b, 0x57, 0x28, - 0xe8, 0x36, 0x08, 0x46, 0xe9, 0x8b, 0x3d, 0x4b, 0xab, 0x2e, 0x58, 0x02, 0x40, 0xc7, 0x00, 0x3e, - 0x08, 0xb9, 0xc0, 0x03, 0xbd, 0xea, 0x22, 0xb5, 0x10, 0x64, 0xc0, 0xea, 0x34, 0xe8, 0xb8, 0xcc, - 0x7b, 0xbd, 0xea, 0x52, 0x25, 0x92, 0xed, 0xfa, 0xe7, 0x5f, 0xad, 0x45, 0xbf, 0xf8, 0x6a, 0x2d, - 0xfa, 0x8f, 0xaf, 0xd6, 0xa2, 0x9f, 0x7e, 0xbd, 0x16, 0xf9, 0xe2, 0xeb, 0xb5, 0xc8, 0x5f, 0xbf, - 0x5e, 0x8b, 0xfc, 0xf0, 0x85, 0xae, 0x6a, 0xf7, 0x86, 0xad, 0x8d, 0xb6, 0x3e, 0xb8, 0xe5, 0x7f, - 0x5e, 0x3d, 0xed, 0xc9, 0x77, 0x2b, 0xc5, 0xbc, 0xe9, 0xed, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, - 0x5c, 0xd7, 0x22, 0x06, 0x12, 0x2e, 0x00, 0x00, + // 3222 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0xcb, 0x73, 0x1b, 0xc7, + 0xd1, 0xc7, 0x9b, 0x40, 0xe3, 0xc9, 0xa1, 0x4c, 0x43, 0xb0, 0x44, 0xca, 0xab, 0xb2, 0x2d, 0xcb, + 0x32, 0xf9, 0x99, 0xfa, 0xec, 0x4f, 0x2e, 0xfb, 0x4b, 0x42, 0x40, 0xa0, 0x41, 0x89, 0x26, 0x99, + 0x21, 0x28, 0x97, 0x13, 0x5b, 0xeb, 0x05, 0x30, 0x04, 0xd6, 0x02, 0x76, 0xd7, 0xbb, 0x0b, 0x9a, + 0xd4, 0x31, 0x8f, 0x8b, 0x2b, 0xa9, 0xf2, 0x31, 0x55, 0x29, 0xdf, 0x72, 0xc8, 0x35, 0x55, 0x39, + 0xe4, 0x94, 0x53, 0xaa, 0xe2, 0x43, 0x0e, 0xbe, 0x25, 0x95, 0x83, 0x93, 0xb2, 0x6f, 0xf9, 0x07, + 0x72, 0x4a, 0x25, 0x35, 0x8f, 0x7d, 0x01, 0x58, 0x3c, 0x42, 0x39, 0x95, 0xdb, 0x4e, 0x6f, 0x77, + 0xef, 0x4c, 0xef, 0x4c, 0x77, 0xff, 0xba, 0x07, 0x9e, 0xb1, 0x89, 0xd6, 0x21, 0xe6, 0x40, 0xd5, + 0xec, 0x4d, 0xa5, 0xd5, 0x56, 0x37, 0xed, 0x73, 0x83, 0x58, 0x1b, 0x86, 0xa9, 0xdb, 0x3a, 0x2a, + 0x7a, 0x2f, 0x37, 0xe8, 0xcb, 0xca, 0x55, 0x1f, 0x77, 0xdb, 0x3c, 0x37, 0x6c, 0x7d, 0xd3, 0x30, + 0x75, 0xfd, 0x84, 0xf3, 0x57, 0xae, 0xf8, 0x5e, 0x33, 0x3d, 0x7e, 0x6d, 0x81, 0xb7, 0x42, 0xf8, + 0x11, 0x39, 0x77, 0xde, 0x5e, 0x1d, 0x93, 0x35, 0x14, 0x53, 0x19, 0x38, 0xaf, 0xd7, 0xbb, 0xba, + 0xde, 0xed, 0x93, 0x4d, 0x36, 0x6a, 0x0d, 0x4f, 0x36, 0x6d, 0x75, 0x40, 0x2c, 0x5b, 0x19, 0x18, + 0x82, 0xe1, 0x52, 0x57, 0xef, 0xea, 0xec, 0x71, 0x93, 0x3e, 0x71, 0xaa, 0xf4, 0x4f, 0x80, 0x25, + 0x4c, 0x3e, 0x1a, 0x12, 0xcb, 0x46, 0x5b, 0x90, 0x20, 0xed, 0x9e, 0x5e, 0x8e, 0x5e, 0x8b, 0xde, + 0xc8, 0x6e, 0x5d, 0xd9, 0x18, 0x59, 0xdc, 0x86, 0xe0, 0xab, 0xb7, 0x7b, 0x7a, 0x23, 0x82, 0x19, + 0x2f, 0x7a, 0x15, 0x92, 0x27, 0xfd, 0xa1, 0xd5, 0x2b, 0xc7, 0x98, 0xd0, 0xd5, 0x30, 0xa1, 0x1d, + 0xca, 0xd4, 0x88, 0x60, 0xce, 0x4d, 0x3f, 0xa5, 0x6a, 0x27, 0x7a, 0x39, 0x3e, 0xfd, 0x53, 0xbb, + 0xda, 0x09, 0xfb, 0x14, 0xe5, 0x45, 0x55, 0x00, 0x55, 0x53, 0x6d, 0xb9, 0xdd, 0x53, 0x54, 0xad, + 0x9c, 0x60, 0x92, 0xcf, 0x86, 0x4b, 0xaa, 0x76, 0x8d, 0x32, 0x36, 0x22, 0x38, 0xa3, 0x3a, 0x03, + 0x3a, 0xdd, 0x8f, 0x86, 0xc4, 0x3c, 0x2f, 0x27, 0xa7, 0x4f, 0xf7, 0xbb, 0x94, 0x89, 0x4e, 0x97, + 0x71, 0xa3, 0x5d, 0xc8, 0xb6, 0x48, 0x57, 0xd5, 0xe4, 0x56, 0x5f, 0x6f, 0x3f, 0x2a, 0xa7, 0x98, + 0xb0, 0x14, 0x26, 0x5c, 0xa5, 0xac, 0x55, 0xca, 0x59, 0x8d, 0x95, 0xa3, 0x8d, 0x08, 0x86, 0x96, + 0x4b, 0x41, 0x6f, 0x42, 0xba, 0xdd, 0x23, 0xed, 0x47, 0xb2, 0x7d, 0x56, 0x5e, 0x62, 0x7a, 0xd6, + 0xc3, 0xf4, 0xd4, 0x28, 0x5f, 0xf3, 0xac, 0x11, 0xc1, 0x4b, 0x6d, 0xfe, 0x88, 0x76, 0x00, 0x3a, + 0xa4, 0xaf, 0x9e, 0x12, 0x93, 0xca, 0xa7, 0xa7, 0xdb, 0xe0, 0x2e, 0xe7, 0x6c, 0x9e, 0x89, 0x69, + 0x64, 0x3a, 0x0e, 0x01, 0xd5, 0x20, 0x43, 0xb4, 0x8e, 0x58, 0x4e, 0x86, 0xa9, 0xb9, 0x16, 0xfa, + 0xbf, 0xb5, 0x8e, 0x7f, 0x31, 0x69, 0x22, 0xc6, 0xe8, 0x0e, 0xa4, 0xda, 0xfa, 0x60, 0xa0, 0xda, + 0x65, 0x60, 0x1a, 0xd6, 0x42, 0x17, 0xc2, 0xb8, 0x1a, 0x11, 0x2c, 0xf8, 0xd1, 0x3e, 0x14, 0xfa, + 0xaa, 0x65, 0xcb, 0x96, 0xa6, 0x18, 0x56, 0x4f, 0xb7, 0xad, 0x72, 0x96, 0x69, 0x78, 0x2e, 0x4c, + 0xc3, 0x9e, 0x6a, 0xd9, 0x47, 0x0e, 0x73, 0x23, 0x82, 0xf3, 0x7d, 0x3f, 0x81, 0xea, 0xd3, 0x4f, + 0x4e, 0x88, 0xe9, 0x2a, 0x2c, 0xe7, 0xa6, 0xeb, 0x3b, 0xa0, 0xdc, 0x8e, 0x3c, 0xd5, 0xa7, 0xfb, + 0x09, 0xe8, 0xfb, 0xb0, 0xd2, 0xd7, 0x95, 0x8e, 0xab, 0x4e, 0x6e, 0xf7, 0x86, 0xda, 0xa3, 0x72, + 0x9e, 0x29, 0x7d, 0x31, 0x74, 0x92, 0xba, 0xd2, 0x71, 0x54, 0xd4, 0xa8, 0x40, 0x23, 0x82, 0x97, + 0xfb, 0xa3, 0x44, 0xf4, 0x10, 0x2e, 0x29, 0x86, 0xd1, 0x3f, 0x1f, 0xd5, 0x5e, 0x60, 0xda, 0x6f, + 0x86, 0x69, 0xdf, 0xa6, 0x32, 0xa3, 0xea, 0x91, 0x32, 0x46, 0x45, 0x4d, 0x28, 0x19, 0x26, 0x31, + 0x14, 0x93, 0xc8, 0x86, 0xa9, 0x1b, 0xba, 0xa5, 0xf4, 0xcb, 0x45, 0xa6, 0xfb, 0x85, 0x30, 0xdd, + 0x87, 0x9c, 0xff, 0x50, 0xb0, 0x37, 0x22, 0xb8, 0x68, 0x04, 0x49, 0x5c, 0xab, 0xde, 0x26, 0x96, + 0xe5, 0x69, 0x2d, 0xcd, 0xd2, 0xca, 0xf8, 0x83, 0x5a, 0x03, 0x24, 0x54, 0x87, 0x2c, 0x39, 0xa3, + 0xe2, 0xf2, 0xa9, 0x6e, 0x93, 0xf2, 0xf2, 0xf4, 0x83, 0x55, 0x67, 0xac, 0x0f, 0x74, 0x9b, 0xd0, + 0x43, 0x45, 0xdc, 0x11, 0x52, 0xe0, 0xa9, 0x53, 0x62, 0xaa, 0x27, 0xe7, 0x4c, 0x8d, 0xcc, 0xde, + 0x58, 0xaa, 0xae, 0x95, 0x11, 0x53, 0xf8, 0x52, 0x98, 0xc2, 0x07, 0x4c, 0x88, 0xaa, 0xa8, 0x3b, + 0x22, 0x8d, 0x08, 0x5e, 0x39, 0x1d, 0x27, 0xd3, 0x2d, 0x76, 0xa2, 0x6a, 0x4a, 0x5f, 0x7d, 0x4c, + 0xc4, 0xb1, 0x59, 0x99, 0xbe, 0xc5, 0x76, 0x04, 0x37, 0x3b, 0x2b, 0x74, 0x8b, 0x9d, 0xf8, 0x09, + 0xd5, 0x25, 0x48, 0x9e, 0x2a, 0xfd, 0x21, 0x91, 0x5e, 0x80, 0xac, 0xcf, 0xb1, 0xa2, 0x32, 0x2c, + 0x0d, 0x88, 0x65, 0x29, 0x5d, 0xc2, 0xfc, 0x70, 0x06, 0x3b, 0x43, 0xa9, 0x00, 0x39, 0xbf, 0x33, + 0x95, 0x3e, 0x8d, 0xba, 0x92, 0xd4, 0x4f, 0x52, 0xc9, 0x53, 0x62, 0xb2, 0x65, 0x0b, 0x49, 0x31, + 0x44, 0xd7, 0x21, 0xcf, 0xa6, 0x2c, 0x3b, 0xef, 0xa9, 0xb3, 0x4e, 0xe0, 0x1c, 0x23, 0x3e, 0x10, + 0x4c, 0xeb, 0x90, 0x35, 0xb6, 0x0c, 0x97, 0x25, 0xce, 0x58, 0xc0, 0xd8, 0x32, 0x1c, 0x86, 0x67, + 0x21, 0x47, 0xd7, 0xe7, 0x72, 0x24, 0xd8, 0x47, 0xb2, 0x94, 0x26, 0x58, 0xa4, 0x3f, 0xc4, 0xa0, + 0x34, 0xea, 0x80, 0xd1, 0x1d, 0x48, 0xd0, 0x58, 0x24, 0xc2, 0x4a, 0x65, 0x83, 0x07, 0xaa, 0x0d, + 0x27, 0x50, 0x6d, 0x34, 0x9d, 0x40, 0x55, 0x4d, 0x7f, 0xfe, 0xe5, 0x7a, 0xe4, 0xd3, 0xbf, 0xac, + 0x47, 0x31, 0x93, 0x40, 0x97, 0xa9, 0xaf, 0x54, 0x54, 0x4d, 0x56, 0x3b, 0x6c, 0xca, 0x19, 0xea, + 0x08, 0x15, 0x55, 0xdb, 0xed, 0xa0, 0x3d, 0x28, 0xb5, 0x75, 0xcd, 0x22, 0x9a, 0x35, 0xb4, 0x64, + 0x1e, 0x08, 0x45, 0x30, 0x09, 0xb8, 0x43, 0x1e, 0x5e, 0x6b, 0x0e, 0xe7, 0x21, 0x63, 0xc4, 0xc5, + 0x76, 0x90, 0x40, 0xdd, 0xea, 0xa9, 0xd2, 0x57, 0x3b, 0x8a, 0xad, 0x9b, 0x56, 0x39, 0x71, 0x2d, + 0x3e, 0xd1, 0x1f, 0x3e, 0x70, 0x58, 0x8e, 0x8d, 0x8e, 0x62, 0x93, 0x6a, 0x82, 0x4e, 0x17, 0xfb, + 0x24, 0xd1, 0xf3, 0x50, 0x54, 0x0c, 0x43, 0xb6, 0x6c, 0xc5, 0x26, 0x72, 0xeb, 0xdc, 0x26, 0x16, + 0x0b, 0x34, 0x39, 0x9c, 0x57, 0x0c, 0xe3, 0x88, 0x52, 0xab, 0x94, 0x88, 0x9e, 0x83, 0x02, 0x8d, + 0x49, 0xaa, 0xd2, 0x97, 0x7b, 0x44, 0xed, 0xf6, 0x6c, 0x16, 0x52, 0xe2, 0x38, 0x2f, 0xa8, 0x0d, + 0x46, 0x94, 0x3a, 0xee, 0x1f, 0x67, 0xf1, 0x08, 0x21, 0x48, 0x74, 0x14, 0x5b, 0x61, 0x96, 0xcc, + 0x61, 0xf6, 0x4c, 0x69, 0x86, 0x62, 0xf7, 0x84, 0x7d, 0xd8, 0x33, 0x5a, 0x85, 0x94, 0x50, 0x1b, + 0x67, 0x6a, 0xc5, 0x08, 0x5d, 0x82, 0xa4, 0x61, 0xea, 0xa7, 0x84, 0xfd, 0xba, 0x34, 0xe6, 0x03, + 0xe9, 0x47, 0x31, 0x58, 0x1e, 0x8b, 0x5c, 0x54, 0x6f, 0x4f, 0xb1, 0x7a, 0xce, 0xb7, 0xe8, 0x33, + 0x7a, 0x8d, 0xea, 0x55, 0x3a, 0xc4, 0x14, 0xd1, 0xbe, 0x3c, 0x6e, 0xea, 0x06, 0x7b, 0x2f, 0x4c, + 0x23, 0xb8, 0xd1, 0x01, 0x94, 0xfa, 0x8a, 0x65, 0xcb, 0xdc, 0xfb, 0xcb, 0xbe, 0xc8, 0x3f, 0x1e, + 0xfb, 0xf6, 0x14, 0x27, 0x5e, 0xd0, 0x4d, 0x2d, 0x14, 0x15, 0xfa, 0x01, 0x2a, 0xc2, 0x70, 0xa9, + 0x75, 0xfe, 0x58, 0xd1, 0x6c, 0x55, 0x23, 0xf2, 0xd8, 0x9f, 0xbb, 0x3c, 0xa6, 0xb4, 0x7e, 0xaa, + 0x76, 0x88, 0xd6, 0x76, 0x7e, 0xd9, 0x8a, 0x2b, 0xec, 0xfe, 0x52, 0x4b, 0xc2, 0x50, 0x08, 0xc6, + 0x5d, 0x54, 0x80, 0x98, 0x7d, 0x26, 0x0c, 0x10, 0xb3, 0xcf, 0xd0, 0xff, 0x40, 0x82, 0x2e, 0x92, + 0x2d, 0xbe, 0x30, 0x21, 0x69, 0x11, 0x72, 0xcd, 0x73, 0x83, 0x60, 0xc6, 0x29, 0x49, 0xee, 0x71, + 0x70, 0x63, 0xf1, 0xa8, 0x56, 0xe9, 0x45, 0x28, 0x8e, 0x04, 0x5a, 0xdf, 0xff, 0x8b, 0xfa, 0xff, + 0x9f, 0x54, 0x84, 0x7c, 0x20, 0xa2, 0x4a, 0xab, 0x70, 0x69, 0x52, 0x80, 0x94, 0x7a, 0x2e, 0x3d, + 0x10, 0xe8, 0xd0, 0xab, 0x90, 0x76, 0x23, 0x24, 0x3f, 0x8e, 0xe3, 0xb6, 0x72, 0x98, 0xb1, 0xcb, + 0x4a, 0xcf, 0x21, 0xdd, 0xd6, 0x6c, 0x3f, 0xc4, 0xd8, 0xc4, 0x97, 0x14, 0xc3, 0x68, 0x28, 0x56, + 0x4f, 0xfa, 0x00, 0xca, 0x61, 0xd1, 0x6f, 0x64, 0x19, 0x09, 0x77, 0x1b, 0xae, 0x42, 0xea, 0x44, + 0x37, 0x07, 0x8a, 0xcd, 0x94, 0xe5, 0xb1, 0x18, 0xd1, 0xed, 0xc9, 0x23, 0x61, 0x9c, 0x91, 0xf9, + 0x40, 0x92, 0xe1, 0x72, 0x68, 0x04, 0xa4, 0x22, 0xaa, 0xd6, 0x21, 0xdc, 0x9e, 0x79, 0xcc, 0x07, + 0x9e, 0x22, 0x3e, 0x59, 0x3e, 0xa0, 0x9f, 0xb5, 0xd8, 0x5a, 0x99, 0xfe, 0x0c, 0x16, 0x23, 0xe9, + 0xdb, 0xee, 0xf6, 0xf7, 0xe2, 0x0b, 0xba, 0x09, 0x09, 0x16, 0x91, 0xb8, 0x95, 0x56, 0xc7, 0x37, + 0x3a, 0xe5, 0xc2, 0x8c, 0x47, 0x6a, 0x40, 0x25, 0x3c, 0x9e, 0x2c, 0xa4, 0xe9, 0xa7, 0x51, 0x58, + 0x9d, 0x1c, 0x92, 0xd1, 0x55, 0x00, 0xee, 0xc3, 0x85, 0x07, 0x88, 0xdf, 0xc8, 0xe1, 0x0c, 0xa3, + 0xdc, 0xa5, 0x6e, 0xe0, 0x79, 0x28, 0x7a, 0xaf, 0x65, 0x4b, 0x7d, 0xcc, 0xb7, 0x69, 0x1c, 0xe7, + 0x5d, 0x9e, 0x23, 0xf5, 0x31, 0x41, 0xb7, 0x20, 0x49, 0xbf, 0x44, 0x9d, 0x65, 0x7c, 0xca, 0x74, + 0x38, 0x93, 0xf4, 0xf3, 0x98, 0x6f, 0x3e, 0xc1, 0xc8, 0xfd, 0x24, 0xfd, 0x43, 0x09, 0xe2, 0xf6, + 0x19, 0x9f, 0x52, 0x0e, 0xd3, 0xc7, 0x89, 0x1e, 0x23, 0xf1, 0x4d, 0x78, 0x8c, 0xe4, 0x05, 0x3c, + 0xc6, 0xaf, 0x62, 0xee, 0x31, 0x0b, 0x04, 0x7b, 0x67, 0x3d, 0x51, 0x6f, 0x3d, 0x8e, 0xb5, 0x62, + 0x3e, 0x6b, 0x85, 0x79, 0x69, 0xcf, 0x8a, 0x89, 0x0b, 0x7b, 0xd9, 0xe4, 0x37, 0x61, 0xb3, 0xd4, + 0x05, 0x6c, 0xf6, 0xc7, 0x2c, 0xa4, 0x31, 0xb1, 0x0c, 0x1a, 0x80, 0x51, 0x15, 0x32, 0xe4, 0xac, + 0x4d, 0x0c, 0xdb, 0xc9, 0x59, 0x26, 0xe7, 0x7e, 0x9c, 0xbb, 0xee, 0x70, 0x52, 0x24, 0xe3, 0x8a, + 0xa1, 0xdb, 0x02, 0xb4, 0x86, 0xe3, 0x4f, 0x21, 0xee, 0x47, 0xad, 0xaf, 0x39, 0xa8, 0x35, 0x1e, + 0x0a, 0x5c, 0xb8, 0xd4, 0x08, 0x6c, 0xbd, 0x2d, 0x60, 0x6b, 0x62, 0xc6, 0xc7, 0x02, 0xb8, 0xb5, + 0x16, 0xc0, 0xad, 0xc9, 0x19, 0xcb, 0x0c, 0x01, 0xae, 0xaf, 0x39, 0xc0, 0x35, 0x35, 0x63, 0xc6, + 0x23, 0xc8, 0xf5, 0x5e, 0x10, 0xb9, 0x72, 0xc4, 0x79, 0x3d, 0x54, 0x7a, 0x2a, 0x74, 0xfd, 0x7f, + 0x1f, 0x74, 0x4d, 0x87, 0x62, 0x46, 0xae, 0x68, 0x02, 0x76, 0x7d, 0x2b, 0x80, 0x5d, 0x33, 0x33, + 0xec, 0x30, 0x05, 0xbc, 0xde, 0xf5, 0x83, 0x57, 0x08, 0xc5, 0xc0, 0xe2, 0xbf, 0x87, 0xa1, 0xd7, + 0xd7, 0x5d, 0xf4, 0x9a, 0x0d, 0x85, 0xe1, 0x62, 0x2d, 0xa3, 0xf0, 0xf5, 0x60, 0x0c, 0xbe, 0x72, + 0xb8, 0xf9, 0x7c, 0xa8, 0x8a, 0x19, 0xf8, 0xf5, 0x60, 0x0c, 0xbf, 0xe6, 0x67, 0x28, 0x9c, 0x01, + 0x60, 0xdf, 0x9b, 0x0c, 0x60, 0xc3, 0x21, 0xa6, 0x98, 0xe6, 0x7c, 0x08, 0x56, 0x0e, 0x41, 0xb0, + 0xc5, 0x50, 0xb4, 0xc5, 0xd5, 0xcf, 0x0d, 0x61, 0x8f, 0x27, 0x40, 0x58, 0x0e, 0x36, 0x6f, 0x84, + 0x2a, 0x9f, 0x03, 0xc3, 0x1e, 0x4f, 0xc0, 0xb0, 0xcb, 0x33, 0xd5, 0xce, 0x04, 0xb1, 0x3b, 0x41, + 0x10, 0x8b, 0x66, 0x9c, 0xb1, 0x50, 0x14, 0xdb, 0x0a, 0x43, 0xb1, 0x1c, 0x69, 0xde, 0x0a, 0xd5, + 0xb8, 0x00, 0x8c, 0x3d, 0x18, 0x83, 0xb1, 0x97, 0x66, 0xec, 0xb4, 0x79, 0x71, 0xec, 0x8b, 0x34, + 0x8d, 0x1a, 0x71, 0xd5, 0x34, 0x13, 0x23, 0xa6, 0xa9, 0x9b, 0x02, 0x91, 0xf2, 0x81, 0x74, 0x83, + 0xe2, 0x1a, 0xcf, 0x2d, 0x4f, 0xc1, 0xbc, 0x2c, 0xe3, 0xf5, 0xb9, 0x62, 0xe9, 0x37, 0x51, 0x4f, + 0x96, 0x05, 0x29, 0x3f, 0x26, 0xca, 0x08, 0x4c, 0xe4, 0x43, 0xc2, 0xb1, 0x20, 0x12, 0x5e, 0x87, + 0x2c, 0xcd, 0x64, 0x47, 0x40, 0xae, 0x62, 0xb8, 0x20, 0xf7, 0x26, 0x2c, 0xb3, 0x20, 0xca, 0x93, + 0x29, 0x11, 0x9f, 0x13, 0x2c, 0x3e, 0x17, 0xe9, 0x0b, 0x6e, 0x05, 0x1e, 0xa8, 0x5f, 0x86, 0x15, + 0x1f, 0xaf, 0x9b, 0x21, 0x73, 0xc4, 0x57, 0x72, 0xb9, 0xb7, 0x45, 0xaa, 0xfc, 0xbb, 0xa8, 0x67, + 0x21, 0x0f, 0x1d, 0x4f, 0x02, 0xb2, 0xd1, 0x27, 0x04, 0x64, 0x63, 0xff, 0x36, 0x90, 0xf5, 0x67, + 0xfc, 0xf1, 0x60, 0xc6, 0xff, 0xf7, 0xa8, 0xf7, 0x4f, 0x5c, 0x58, 0xda, 0xd6, 0x3b, 0x44, 0xe4, + 0xe0, 0xec, 0x99, 0xa6, 0x40, 0x7d, 0xbd, 0x2b, 0x32, 0x6d, 0xfa, 0x48, 0xb9, 0xdc, 0xd8, 0x99, + 0x11, 0xa1, 0xd1, 0x4d, 0xdf, 0x93, 0xcc, 0xc2, 0x22, 0x7d, 0x2f, 0x41, 0xfc, 0x11, 0xe1, 0x91, + 0x2e, 0x87, 0xe9, 0x23, 0xe5, 0x63, 0x9b, 0x8c, 0xc5, 0xaf, 0x1c, 0xe6, 0x03, 0x74, 0x07, 0x32, + 0xac, 0xb8, 0x2e, 0xeb, 0x86, 0x25, 0x02, 0xd2, 0x33, 0xfe, 0xb5, 0xf2, 0x1a, 0xfa, 0xc6, 0x21, + 0xe5, 0x39, 0x30, 0x2c, 0x9c, 0x36, 0xc4, 0x93, 0x2f, 0xf5, 0xca, 0x04, 0x52, 0xaf, 0x2b, 0x90, + 0xa1, 0xb3, 0xb7, 0x0c, 0xa5, 0x4d, 0x58, 0x64, 0xc9, 0x60, 0x8f, 0x20, 0x3d, 0x04, 0x34, 0x1e, + 0x27, 0x51, 0x03, 0x52, 0xe4, 0x94, 0x68, 0x36, 0xcf, 0xf7, 0x46, 0x52, 0x6a, 0x91, 0x17, 0x11, + 0xcd, 0xae, 0x96, 0xa9, 0x91, 0xff, 0xf6, 0xe5, 0x7a, 0x89, 0x73, 0xdf, 0xd2, 0x07, 0xaa, 0x4d, + 0x06, 0x86, 0x7d, 0x8e, 0x85, 0xbc, 0xf4, 0xe7, 0x18, 0x85, 0x82, 0x81, 0xf8, 0x39, 0xd1, 0xb6, + 0xce, 0x96, 0x8f, 0xf9, 0xca, 0x00, 0xf3, 0xd9, 0xfb, 0x2a, 0x40, 0x57, 0xb1, 0xe4, 0x8f, 0x15, + 0xcd, 0x26, 0x1d, 0x61, 0xf4, 0x4c, 0x57, 0xb1, 0xde, 0x61, 0x04, 0xfa, 0xd7, 0xe9, 0xeb, 0xa1, + 0x45, 0x3a, 0xa2, 0x20, 0xb1, 0xd4, 0x55, 0xac, 0x63, 0x8b, 0x74, 0x7c, 0xab, 0x5c, 0xba, 0xd8, + 0x2a, 0x83, 0x36, 0x4e, 0x8f, 0xd8, 0xd8, 0x07, 0xd2, 0x32, 0x7e, 0x90, 0x86, 0x2a, 0x90, 0x36, + 0x4c, 0x55, 0x37, 0x55, 0xfb, 0x9c, 0xfd, 0x98, 0x38, 0x76, 0xc7, 0xe8, 0x3a, 0xe4, 0x07, 0x64, + 0x60, 0xe8, 0x7a, 0x5f, 0xe6, 0xce, 0x26, 0xcb, 0x44, 0x73, 0x82, 0x58, 0x67, 0x3e, 0xe7, 0xc7, + 0x31, 0xef, 0xf4, 0x79, 0x60, 0xfc, 0xc9, 0x9a, 0x77, 0x6d, 0x82, 0x79, 0x7d, 0x14, 0xba, 0x88, + 0x11, 0xfb, 0xba, 0xe3, 0xff, 0x94, 0x81, 0xa5, 0x9f, 0xb0, 0x12, 0x5d, 0x30, 0x37, 0x42, 0x47, + 0xb0, 0xec, 0x1e, 0x7e, 0x79, 0xc8, 0x9c, 0x82, 0xb3, 0x9d, 0xe7, 0xf5, 0x1e, 0xa5, 0xd3, 0x20, + 0xd9, 0x42, 0xef, 0xc2, 0xd3, 0x23, 0x9e, 0xcd, 0x55, 0x1d, 0x9b, 0xd7, 0xc1, 0x3d, 0x15, 0x74, + 0x70, 0x8e, 0x6a, 0xcf, 0x58, 0xf1, 0x0b, 0x9e, 0xb9, 0x5d, 0x28, 0x04, 0xd3, 0xbc, 0x89, 0xbf, + 0xff, 0x3a, 0xe4, 0x4d, 0x62, 0x2b, 0xaa, 0x26, 0x07, 0x10, 0x5b, 0x8e, 0x13, 0x45, 0xb5, 0xee, + 0x10, 0x9e, 0x9a, 0x98, 0xee, 0xa1, 0xff, 0x83, 0x8c, 0x97, 0x29, 0x46, 0x43, 0xc0, 0x93, 0x5b, + 0x76, 0xf1, 0x78, 0xa5, 0xdf, 0x46, 0x3d, 0x95, 0xc1, 0x42, 0x4e, 0x1d, 0x52, 0x26, 0xb1, 0x86, + 0x7d, 0x5e, 0x5a, 0x29, 0x6c, 0xbd, 0x3c, 0x5f, 0xa2, 0x48, 0xa9, 0xc3, 0xbe, 0x8d, 0x85, 0xb0, + 0xf4, 0x10, 0x52, 0x9c, 0x82, 0xb2, 0xb0, 0x74, 0xbc, 0x7f, 0x7f, 0xff, 0xe0, 0x9d, 0xfd, 0x52, + 0x04, 0x01, 0xa4, 0xb6, 0x6b, 0xb5, 0xfa, 0x61, 0xb3, 0x14, 0x45, 0x19, 0x48, 0x6e, 0x57, 0x0f, + 0x70, 0xb3, 0x14, 0xa3, 0x64, 0x5c, 0xbf, 0x57, 0xaf, 0x35, 0x4b, 0x71, 0xb4, 0x0c, 0x79, 0xfe, + 0x2c, 0xef, 0x1c, 0xe0, 0xb7, 0xb7, 0x9b, 0xa5, 0x84, 0x8f, 0x74, 0x54, 0xdf, 0xbf, 0x5b, 0xc7, + 0xa5, 0xa4, 0xf4, 0x0a, 0x5c, 0x0e, 0x4d, 0x2d, 0xbd, 0x2a, 0x4d, 0xd4, 0x57, 0xa5, 0x91, 0x7e, + 0x16, 0x83, 0x4a, 0x78, 0xbe, 0x88, 0xee, 0x8d, 0x2c, 0x7c, 0x6b, 0x81, 0x64, 0x73, 0x64, 0xf5, + 0xe8, 0x39, 0x28, 0x98, 0xe4, 0x84, 0xd8, 0xed, 0x1e, 0xcf, 0x5f, 0x79, 0xc0, 0xcc, 0xe3, 0xbc, + 0xa0, 0x32, 0x21, 0x8b, 0xb3, 0x7d, 0x48, 0xda, 0xb6, 0xcc, 0x7d, 0x11, 0xdf, 0x74, 0x19, 0xca, + 0x46, 0xa9, 0x47, 0x9c, 0x28, 0x7d, 0xb0, 0x90, 0x2d, 0x33, 0x90, 0xc4, 0xf5, 0x26, 0x7e, 0xb7, + 0x14, 0x47, 0x08, 0x0a, 0xec, 0x51, 0x3e, 0xda, 0xdf, 0x3e, 0x3c, 0x6a, 0x1c, 0x50, 0x5b, 0xae, + 0x40, 0xd1, 0xb1, 0xa5, 0x43, 0x4c, 0x4a, 0xef, 0x79, 0xf1, 0xc7, 0x57, 0xa9, 0xda, 0x81, 0xc2, + 0x48, 0xba, 0x18, 0x1d, 0xc7, 0x33, 0x5e, 0x69, 0xc7, 0x4d, 0x05, 0x71, 0xfe, 0xd4, 0x3f, 0x94, + 0x7e, 0x11, 0x85, 0x67, 0xa6, 0x24, 0x94, 0xe8, 0xfe, 0x88, 0xe5, 0x6f, 0x2f, 0x92, 0x8e, 0x8e, + 0x6e, 0xbc, 0x3b, 0x73, 0x19, 0xeb, 0x68, 0x6f, 0xfb, 0xa8, 0x11, 0xdc, 0x78, 0xd2, 0x1d, 0x78, + 0x3a, 0x24, 0xe3, 0x9f, 0x51, 0x22, 0x93, 0x7e, 0x1d, 0xf3, 0x8b, 0x06, 0x53, 0xf8, 0x55, 0x48, + 0x29, 0x6d, 0x9a, 0xb4, 0xb2, 0xc5, 0xa5, 0xb1, 0x18, 0x4d, 0xa9, 0x7c, 0xa2, 0x37, 0x01, 0xec, + 0x33, 0x99, 0xaf, 0xc7, 0xf1, 0x43, 0xe3, 0x15, 0x81, 0xfa, 0x19, 0x69, 0x37, 0xcf, 0xc4, 0xea, + 0x33, 0xb6, 0x78, 0xb2, 0xd0, 0xdb, 0x93, 0x3c, 0xee, 0x9c, 0x8d, 0x87, 0xc5, 0x7c, 0x6d, 0xf2, + 0x62, 0xbe, 0x56, 0xfa, 0x7d, 0xcc, 0x73, 0x42, 0xc1, 0x32, 0xd7, 0xff, 0x7a, 0x65, 0xae, 0xb9, + 0x90, 0x3c, 0x2f, 0x85, 0x4d, 0x8c, 0x35, 0xb1, 0x6f, 0x2e, 0xd6, 0xc4, 0x9f, 0x58, 0xac, 0x49, + 0x5c, 0x30, 0xd6, 0xbc, 0x0f, 0x85, 0x60, 0xdd, 0x8d, 0xba, 0x40, 0x53, 0x1f, 0x6a, 0x1d, 0xb6, + 0xeb, 0x92, 0x98, 0x0f, 0xd0, 0xab, 0x4e, 0x8d, 0x36, 0x16, 0x12, 0x2b, 0xe8, 0xd1, 0xf2, 0xd5, + 0xed, 0x44, 0xb1, 0xf6, 0x31, 0x24, 0xd9, 0x4c, 0x68, 0x04, 0x63, 0x7d, 0x0a, 0x01, 0x89, 0xe8, + 0x33, 0x7a, 0x1f, 0x40, 0xb1, 0x6d, 0x53, 0x6d, 0x0d, 0x3d, 0xc5, 0xeb, 0x93, 0x57, 0xb2, 0xed, + 0xf0, 0x55, 0xaf, 0x88, 0x25, 0x5d, 0xf2, 0x44, 0x7d, 0xcb, 0xf2, 0x29, 0x94, 0xf6, 0xa1, 0x10, + 0x94, 0x75, 0x92, 0x78, 0x3e, 0x87, 0x60, 0x12, 0xcf, 0x31, 0x99, 0x48, 0xe2, 0x5d, 0x08, 0x10, + 0xe7, 0x3d, 0x29, 0x36, 0x90, 0x7e, 0x18, 0x83, 0x9c, 0xff, 0xe8, 0xfc, 0xd7, 0xe4, 0xc1, 0x6f, + 0x43, 0xc6, 0x3e, 0x93, 0x2f, 0x98, 0xa9, 0xa5, 0xed, 0xb3, 0xfa, 0x3c, 0xb9, 0xda, 0x27, 0x51, + 0x48, 0xbb, 0x16, 0x08, 0x69, 0x0a, 0x79, 0x06, 0x8c, 0xf9, 0x5b, 0x20, 0xbc, 0xcb, 0x14, 0x77, + 0x7b, 0x57, 0xdf, 0x71, 0xbd, 0x77, 0x62, 0xee, 0xc2, 0x9b, 0x28, 0x2f, 0x0b, 0x97, 0xfd, 0x06, + 0x64, 0xdc, 0xd3, 0x48, 0x11, 0xb6, 0xd2, 0xe9, 0x98, 0xc4, 0xb2, 0x44, 0xf4, 0x76, 0x86, 0xac, + 0xc7, 0xa8, 0x7f, 0x2c, 0x9a, 0x2c, 0x71, 0xcc, 0x07, 0x52, 0x07, 0x8a, 0x23, 0x47, 0x19, 0xbd, + 0x01, 0x4b, 0xc6, 0xb0, 0x25, 0x3b, 0x9b, 0x64, 0xe4, 0x16, 0x90, 0x83, 0xdd, 0x86, 0xad, 0xbe, + 0xda, 0xbe, 0x4f, 0xce, 0x9d, 0xc9, 0x18, 0xc3, 0xd6, 0x7d, 0xbe, 0x97, 0xf8, 0x57, 0x62, 0xfe, + 0xaf, 0xfc, 0x20, 0x0a, 0x69, 0xe7, 0x6c, 0xa0, 0x6f, 0x41, 0xc6, 0x75, 0x13, 0x6e, 0xef, 0x39, + 0xd4, 0xbf, 0x08, 0xfd, 0x9e, 0x08, 0xba, 0x09, 0xcb, 0x96, 0xda, 0xd5, 0x48, 0x47, 0xf6, 0x40, + 0x3e, 0xfb, 0x5c, 0x1a, 0x17, 0xf9, 0x8b, 0x3d, 0x07, 0xe1, 0xdf, 0x4b, 0xa4, 0xe3, 0xa5, 0xc4, + 0xbd, 0x44, 0x3a, 0x51, 0x4a, 0x4a, 0xff, 0x88, 0x42, 0xda, 0xa9, 0x84, 0xa3, 0x57, 0x7c, 0x47, + 0xb1, 0x30, 0x29, 0x3c, 0x08, 0x46, 0xaf, 0x67, 0x18, 0x9c, 0x77, 0x6c, 0xf1, 0x79, 0x87, 0xb5, + 0x15, 0x9c, 0x36, 0x7c, 0x62, 0xe1, 0x36, 0xfc, 0x2d, 0x40, 0xb6, 0x6e, 0x2b, 0x7d, 0xf9, 0x54, + 0xb7, 0x55, 0xad, 0x2b, 0x73, 0xcb, 0xf3, 0x53, 0x53, 0x62, 0x6f, 0x1e, 0xb0, 0x17, 0x87, 0xee, + 0x4f, 0x70, 0xf3, 0xd4, 0x45, 0x5b, 0x80, 0xab, 0x90, 0x12, 0xa9, 0x18, 0xef, 0x01, 0x8a, 0x91, + 0xdb, 0x3f, 0x49, 0xf8, 0xfa, 0x27, 0x15, 0x48, 0x0f, 0x88, 0xad, 0x30, 0x17, 0xc0, 0x6b, 0x2e, + 0xee, 0xf8, 0xe6, 0xeb, 0x90, 0xf5, 0x75, 0x63, 0xa9, 0x57, 0xd8, 0xaf, 0xbf, 0x53, 0x8a, 0x54, + 0x96, 0x3e, 0xf9, 0xec, 0x5a, 0x7c, 0x9f, 0x7c, 0x4c, 0x37, 0x30, 0xae, 0xd7, 0x1a, 0xf5, 0xda, + 0xfd, 0x52, 0xb4, 0x92, 0xfd, 0xe4, 0xb3, 0x6b, 0x4b, 0x98, 0xb0, 0x42, 0xf5, 0xcd, 0x06, 0xe4, + 0xfc, 0x7f, 0x25, 0x98, 0xa0, 0x20, 0x28, 0xdc, 0x3d, 0x3e, 0xdc, 0xdb, 0xad, 0x6d, 0x37, 0xeb, + 0xf2, 0x83, 0x83, 0x66, 0xbd, 0x14, 0x45, 0x4f, 0xc3, 0xca, 0xde, 0xee, 0x5b, 0x8d, 0xa6, 0x5c, + 0xdb, 0xdb, 0xad, 0xef, 0x37, 0xe5, 0xed, 0x66, 0x73, 0xbb, 0x76, 0xbf, 0x14, 0xdb, 0xfa, 0x65, + 0x16, 0x8a, 0xdb, 0xd5, 0xda, 0x2e, 0xcd, 0x44, 0xd5, 0xb6, 0xc2, 0x0a, 0x62, 0x35, 0x48, 0xb0, + 0x92, 0xd7, 0xd4, 0xdb, 0x75, 0x95, 0xe9, 0x6d, 0x0c, 0xb4, 0x03, 0x49, 0x56, 0x0d, 0x43, 0xd3, + 0xaf, 0xdb, 0x55, 0x66, 0xf4, 0x35, 0xe8, 0x64, 0xd8, 0x51, 0x99, 0x7a, 0xff, 0xae, 0x32, 0xbd, + 0xcd, 0x81, 0xf6, 0x60, 0xc9, 0x29, 0x56, 0xcc, 0xba, 0xc9, 0x56, 0x99, 0xd9, 0x2f, 0xa0, 0x4b, + 0xe3, 0x45, 0xa5, 0xe9, 0x57, 0xf3, 0x2a, 0x33, 0x1a, 0x20, 0x68, 0x17, 0x52, 0x02, 0xcf, 0xcd, + 0xb8, 0x95, 0x56, 0x99, 0x55, 0xf7, 0x47, 0x18, 0x32, 0x5e, 0xb9, 0x6e, 0xf6, 0x85, 0xc3, 0xca, + 0x1c, 0xbd, 0x1d, 0xf4, 0x10, 0xf2, 0x41, 0x8c, 0x38, 0xdf, 0xcd, 0xb7, 0xca, 0x9c, 0x1d, 0x06, + 0xaa, 0x3f, 0x08, 0x18, 0xe7, 0xbb, 0x09, 0x57, 0x99, 0xb3, 0xe1, 0x80, 0x3e, 0x84, 0xe5, 0x71, + 0x40, 0x37, 0xff, 0xc5, 0xb8, 0xca, 0x02, 0x2d, 0x08, 0x34, 0x00, 0x34, 0x01, 0x08, 0x2e, 0x70, + 0x4f, 0xae, 0xb2, 0x48, 0x47, 0x02, 0x75, 0xa0, 0x38, 0x0a, 0x2c, 0xe6, 0xbd, 0x37, 0x57, 0x99, + 0xbb, 0x3b, 0xc1, 0xbf, 0x12, 0xc4, 0x20, 0xf3, 0xde, 0xa3, 0xab, 0xcc, 0xdd, 0xac, 0x40, 0xc7, + 0x00, 0x3e, 0xa4, 0x38, 0xc7, 0xbd, 0xba, 0xca, 0x3c, 0x6d, 0x0b, 0x64, 0xc0, 0xca, 0x24, 0x84, + 0xb8, 0xc8, 0x35, 0xbb, 0xca, 0x42, 0xdd, 0x0c, 0xba, 0x9f, 0x83, 0xd8, 0x63, 0xbe, 0x6b, 0x77, + 0x95, 0x39, 0xdb, 0x1a, 0xd5, 0xfa, 0xe7, 0x5f, 0xad, 0x45, 0xbf, 0xf8, 0x6a, 0x2d, 0xfa, 0xd7, + 0xaf, 0xd6, 0xa2, 0x9f, 0x7e, 0xbd, 0x16, 0xf9, 0xe2, 0xeb, 0xb5, 0xc8, 0x9f, 0xbe, 0x5e, 0x8b, + 0x7c, 0xef, 0xa5, 0xae, 0x6a, 0xf7, 0x86, 0xad, 0x8d, 0xb6, 0x3e, 0xd8, 0xf4, 0xdf, 0xc0, 0x9e, + 0x74, 0x2b, 0xbc, 0x95, 0x62, 0xd1, 0xf4, 0xf6, 0xbf, 0x02, 0x00, 0x00, 0xff, 0xff, 0xab, 0x59, + 0xb3, 0x08, 0x35, 0x2e, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -4061,9 +4067,9 @@ type ABCIApplicationClient interface { ApplySnapshotChunk(ctx context.Context, in *RequestApplySnapshotChunk, opts ...grpc.CallOption) (*ResponseApplySnapshotChunk, error) PrepareProposal(ctx context.Context, in *RequestPrepareProposal, opts ...grpc.CallOption) (*ResponsePrepareProposal, error) ProcessProposal(ctx context.Context, in *RequestProcessProposal, opts ...grpc.CallOption) (*ResponseProcessProposal, error) - FinalizeBlock(ctx context.Context, in *RequestFinalizeBlock, opts ...grpc.CallOption) (*ResponseFinalizeBlock, error) ExtendVote(ctx context.Context, in *RequestExtendVote, opts ...grpc.CallOption) (*ResponseExtendVote, error) VerifyVoteExtension(ctx context.Context, in *RequestVerifyVoteExtension, opts ...grpc.CallOption) (*ResponseVerifyVoteExtension, error) + FinalizeBlock(ctx context.Context, in *RequestFinalizeBlock, opts ...grpc.CallOption) (*ResponseFinalizeBlock, error) } type aBCIApplicationClient struct { @@ -4191,15 +4197,6 @@ func (c *aBCIApplicationClient) ProcessProposal(ctx context.Context, in *Request return out, nil } -func (c *aBCIApplicationClient) FinalizeBlock(ctx context.Context, in *RequestFinalizeBlock, opts ...grpc.CallOption) (*ResponseFinalizeBlock, error) { - out := new(ResponseFinalizeBlock) - err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/FinalizeBlock", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *aBCIApplicationClient) ExtendVote(ctx context.Context, in *RequestExtendVote, opts ...grpc.CallOption) (*ResponseExtendVote, error) { out := new(ResponseExtendVote) err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/ExtendVote", in, out, opts...) @@ -4218,6 +4215,15 @@ func (c *aBCIApplicationClient) VerifyVoteExtension(ctx context.Context, in *Req return out, nil } +func (c *aBCIApplicationClient) FinalizeBlock(ctx context.Context, in *RequestFinalizeBlock, opts ...grpc.CallOption) (*ResponseFinalizeBlock, error) { + out := new(ResponseFinalizeBlock) + err := c.cc.Invoke(ctx, "/tendermint.abci.ABCIApplication/FinalizeBlock", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // ABCIApplicationServer is the server API for ABCIApplication service. type ABCIApplicationServer interface { Echo(context.Context, *RequestEcho) (*ResponseEcho, error) @@ -4233,9 +4239,9 @@ type ABCIApplicationServer interface { ApplySnapshotChunk(context.Context, *RequestApplySnapshotChunk) (*ResponseApplySnapshotChunk, error) PrepareProposal(context.Context, *RequestPrepareProposal) (*ResponsePrepareProposal, error) ProcessProposal(context.Context, *RequestProcessProposal) (*ResponseProcessProposal, error) - FinalizeBlock(context.Context, *RequestFinalizeBlock) (*ResponseFinalizeBlock, error) ExtendVote(context.Context, *RequestExtendVote) (*ResponseExtendVote, error) VerifyVoteExtension(context.Context, *RequestVerifyVoteExtension) (*ResponseVerifyVoteExtension, error) + FinalizeBlock(context.Context, *RequestFinalizeBlock) (*ResponseFinalizeBlock, error) } // UnimplementedABCIApplicationServer can be embedded to have forward compatible implementations. @@ -4281,15 +4287,15 @@ func (*UnimplementedABCIApplicationServer) PrepareProposal(ctx context.Context, func (*UnimplementedABCIApplicationServer) ProcessProposal(ctx context.Context, req *RequestProcessProposal) (*ResponseProcessProposal, error) { return nil, status.Errorf(codes.Unimplemented, "method ProcessProposal not implemented") } -func (*UnimplementedABCIApplicationServer) FinalizeBlock(ctx context.Context, req *RequestFinalizeBlock) (*ResponseFinalizeBlock, error) { - return nil, status.Errorf(codes.Unimplemented, "method FinalizeBlock not implemented") -} func (*UnimplementedABCIApplicationServer) ExtendVote(ctx context.Context, req *RequestExtendVote) (*ResponseExtendVote, error) { return nil, status.Errorf(codes.Unimplemented, "method ExtendVote not implemented") } func (*UnimplementedABCIApplicationServer) VerifyVoteExtension(ctx context.Context, req *RequestVerifyVoteExtension) (*ResponseVerifyVoteExtension, error) { return nil, status.Errorf(codes.Unimplemented, "method VerifyVoteExtension not implemented") } +func (*UnimplementedABCIApplicationServer) FinalizeBlock(ctx context.Context, req *RequestFinalizeBlock) (*ResponseFinalizeBlock, error) { + return nil, status.Errorf(codes.Unimplemented, "method FinalizeBlock not implemented") +} func RegisterABCIApplicationServer(s *grpc.Server, srv ABCIApplicationServer) { s.RegisterService(&_ABCIApplication_serviceDesc, srv) @@ -4529,56 +4535,56 @@ func _ABCIApplication_ProcessProposal_Handler(srv interface{}, ctx context.Conte return interceptor(ctx, in, info, handler) } -func _ABCIApplication_FinalizeBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(RequestFinalizeBlock) +func _ABCIApplication_ExtendVote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RequestExtendVote) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(ABCIApplicationServer).FinalizeBlock(ctx, in) + return srv.(ABCIApplicationServer).ExtendVote(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/tendermint.abci.ABCIApplication/FinalizeBlock", + FullMethod: "/tendermint.abci.ABCIApplication/ExtendVote", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ABCIApplicationServer).FinalizeBlock(ctx, req.(*RequestFinalizeBlock)) + return srv.(ABCIApplicationServer).ExtendVote(ctx, req.(*RequestExtendVote)) } return interceptor(ctx, in, info, handler) } -func _ABCIApplication_ExtendVote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(RequestExtendVote) +func _ABCIApplication_VerifyVoteExtension_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RequestVerifyVoteExtension) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(ABCIApplicationServer).ExtendVote(ctx, in) + return srv.(ABCIApplicationServer).VerifyVoteExtension(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/tendermint.abci.ABCIApplication/ExtendVote", + FullMethod: "/tendermint.abci.ABCIApplication/VerifyVoteExtension", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ABCIApplicationServer).ExtendVote(ctx, req.(*RequestExtendVote)) + return srv.(ABCIApplicationServer).VerifyVoteExtension(ctx, req.(*RequestVerifyVoteExtension)) } return interceptor(ctx, in, info, handler) } -func _ABCIApplication_VerifyVoteExtension_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(RequestVerifyVoteExtension) +func _ABCIApplication_FinalizeBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RequestFinalizeBlock) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(ABCIApplicationServer).VerifyVoteExtension(ctx, in) + return srv.(ABCIApplicationServer).FinalizeBlock(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/tendermint.abci.ABCIApplication/VerifyVoteExtension", + FullMethod: "/tendermint.abci.ABCIApplication/FinalizeBlock", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ABCIApplicationServer).VerifyVoteExtension(ctx, req.(*RequestVerifyVoteExtension)) + return srv.(ABCIApplicationServer).FinalizeBlock(ctx, req.(*RequestFinalizeBlock)) } return interceptor(ctx, in, info, handler) } @@ -4639,10 +4645,6 @@ var _ABCIApplication_serviceDesc = grpc.ServiceDesc{ MethodName: "ProcessProposal", Handler: _ABCIApplication_ProcessProposal_Handler, }, - { - MethodName: "FinalizeBlock", - Handler: _ABCIApplication_FinalizeBlock_Handler, - }, { MethodName: "ExtendVote", Handler: _ABCIApplication_ExtendVote_Handler, @@ -4651,6 +4653,10 @@ var _ABCIApplication_serviceDesc = grpc.ServiceDesc{ MethodName: "VerifyVoteExtension", Handler: _ABCIApplication_VerifyVoteExtension_Handler, }, + { + MethodName: "FinalizeBlock", + Handler: _ABCIApplication_FinalizeBlock_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "tendermint/abci/types.proto", @@ -5125,70 +5131,6 @@ func (m *RequestEcho) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *RequestBeginBlock) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *RequestBeginBlock) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *RequestBeginBlock) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.ByzantineValidators) > 0 { - for iNdEx := len(m.ByzantineValidators) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.ByzantineValidators[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTypes(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x22 - } - } - { - size, err := m.LastCommitInfo.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTypes(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1a - { - size, err := m.Header.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTypes(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - if len(m.Hash) > 0 { - i -= len(m.Hash) - copy(dAtA[i:], m.Hash) - i = encodeVarintTypes(dAtA, i, uint64(len(m.Hash))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - func (m *RequestFlush) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -5324,12 +5266,12 @@ func (m *RequestInitChain) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x12 } - n23, err23 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) - if err23 != nil { - return 0, err23 + n21, err21 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) + if err21 != nil { + return 0, err21 } - i -= n23 - i = encodeVarintTypes(dAtA, i, uint64(n23)) + i -= n21 + i = encodeVarintTypes(dAtA, i, uint64(n21)) i-- dAtA[i] = 0xa return len(dAtA) - i, nil @@ -5377,17 +5319,81 @@ func (m *RequestQuery) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x12 } - if len(m.Data) > 0 { - i -= len(m.Data) - copy(dAtA[i:], m.Data) - i = encodeVarintTypes(dAtA, i, uint64(len(m.Data))) + if len(m.Data) > 0 { + i -= len(m.Data) + copy(dAtA[i:], m.Data) + i = encodeVarintTypes(dAtA, i, uint64(len(m.Data))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *RequestBeginBlock) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RequestBeginBlock) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *RequestBeginBlock) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.ByzantineValidators) > 0 { + for iNdEx := len(m.ByzantineValidators) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.ByzantineValidators[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTypes(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } + } + { + size, err := m.LastCommitInfo.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTypes(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + { + size, err := m.Header.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTypes(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.Hash) > 0 { + i -= len(m.Hash) + copy(dAtA[i:], m.Hash) + i = encodeVarintTypes(dAtA, i, uint64(len(m.Hash))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *RequestDeliverTx) Marshal() (dAtA []byte, err error) { +func (m *RequestCheckTx) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5397,16 +5403,21 @@ func (m *RequestDeliverTx) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *RequestDeliverTx) MarshalTo(dAtA []byte) (int, error) { +func (m *RequestCheckTx) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *RequestDeliverTx) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *RequestCheckTx) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l + if m.Type != 0 { + i = encodeVarintTypes(dAtA, i, uint64(m.Type)) + i-- + dAtA[i] = 0x10 + } if len(m.Tx) > 0 { i -= len(m.Tx) copy(dAtA[i:], m.Tx) @@ -5417,7 +5428,7 @@ func (m *RequestDeliverTx) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *RequestEndBlock) Marshal() (dAtA []byte, err error) { +func (m *RequestDeliverTx) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5427,25 +5438,27 @@ func (m *RequestEndBlock) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *RequestEndBlock) MarshalTo(dAtA []byte) (int, error) { +func (m *RequestDeliverTx) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *RequestEndBlock) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *RequestDeliverTx) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.Height != 0 { - i = encodeVarintTypes(dAtA, i, uint64(m.Height)) + if len(m.Tx) > 0 { + i -= len(m.Tx) + copy(dAtA[i:], m.Tx) + i = encodeVarintTypes(dAtA, i, uint64(len(m.Tx))) i-- - dAtA[i] = 0x8 + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *RequestCheckTx) Marshal() (dAtA []byte, err error) { +func (m *RequestEndBlock) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5455,27 +5468,20 @@ func (m *RequestCheckTx) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *RequestCheckTx) MarshalTo(dAtA []byte) (int, error) { +func (m *RequestEndBlock) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *RequestCheckTx) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *RequestEndBlock) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.Type != 0 { - i = encodeVarintTypes(dAtA, i, uint64(m.Type)) - i-- - dAtA[i] = 0x10 - } - if len(m.Tx) > 0 { - i -= len(m.Tx) - copy(dAtA[i:], m.Tx) - i = encodeVarintTypes(dAtA, i, uint64(len(m.Tx))) + if m.Height != 0 { + i = encodeVarintTypes(dAtA, i, uint64(m.Height)) i-- - dAtA[i] = 0xa + dAtA[i] = 0x8 } return len(dAtA) - i, nil } @@ -5648,7 +5654,7 @@ func (m *RequestApplySnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, erro return len(dAtA) - i, nil } -func (m *RequestPrepareProposal) Marshal() (dAtA []byte, err error) { +func (m *RequestExtendVote) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5658,48 +5664,32 @@ func (m *RequestPrepareProposal) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *RequestPrepareProposal) MarshalTo(dAtA []byte) (int, error) { +func (m *RequestExtendVote) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *RequestPrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *RequestExtendVote) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Votes) > 0 { - for iNdEx := len(m.Votes) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Votes[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTypes(dAtA, i, uint64(size)) + if m.Vote != nil { + { + size, err := m.Vote.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err } - i-- - dAtA[i] = 0x1a + i -= size + i = encodeVarintTypes(dAtA, i, uint64(size)) } - } - if m.BlockDataSize != 0 { - i = encodeVarintTypes(dAtA, i, uint64(m.BlockDataSize)) i-- - dAtA[i] = 0x10 - } - if len(m.BlockData) > 0 { - for iNdEx := len(m.BlockData) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.BlockData[iNdEx]) - copy(dAtA[i:], m.BlockData[iNdEx]) - i = encodeVarintTypes(dAtA, i, uint64(len(m.BlockData[iNdEx]))) - i-- - dAtA[i] = 0xa - } + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *RequestExtendVote) Marshal() (dAtA []byte, err error) { +func (m *RequestVerifyVoteExtension) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5709,12 +5699,12 @@ func (m *RequestExtendVote) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *RequestExtendVote) MarshalTo(dAtA []byte) (int, error) { +func (m *RequestVerifyVoteExtension) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *RequestExtendVote) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *RequestVerifyVoteExtension) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -5734,7 +5724,7 @@ func (m *RequestExtendVote) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *RequestVerifyVoteExtension) Marshal() (dAtA []byte, err error) { +func (m *RequestPrepareProposal) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -5744,27 +5734,43 @@ func (m *RequestVerifyVoteExtension) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *RequestVerifyVoteExtension) MarshalTo(dAtA []byte) (int, error) { +func (m *RequestPrepareProposal) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *RequestVerifyVoteExtension) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *RequestPrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.Vote != nil { - { - size, err := m.Vote.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err + if len(m.Votes) > 0 { + for iNdEx := len(m.Votes) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Votes[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTypes(dAtA, i, uint64(size)) } - i -= size - i = encodeVarintTypes(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a } + } + if m.BlockDataSize != 0 { + i = encodeVarintTypes(dAtA, i, uint64(m.BlockDataSize)) i-- - dAtA[i] = 0xa + dAtA[i] = 0x10 + } + if len(m.BlockData) > 0 { + for iNdEx := len(m.BlockData) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.BlockData[iNdEx]) + copy(dAtA[i:], m.BlockData[iNdEx]) + i = encodeVarintTypes(dAtA, i, uint64(len(m.BlockData[iNdEx]))) + i-- + dAtA[i] = 0xa + } } return len(dAtA) - i, nil } @@ -7124,7 +7130,7 @@ func (m *ResponseApplySnapshotChunk) MarshalToSizedBuffer(dAtA []byte) (int, err return len(dAtA) - i, nil } -func (m *ResponsePrepareProposal) Marshal() (dAtA []byte, err error) { +func (m *ResponseExtendVote) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7134,29 +7140,32 @@ func (m *ResponsePrepareProposal) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ResponsePrepareProposal) MarshalTo(dAtA []byte) (int, error) { +func (m *ResponseExtendVote) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *ResponsePrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *ResponseExtendVote) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.BlockData) > 0 { - for iNdEx := len(m.BlockData) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.BlockData[iNdEx]) - copy(dAtA[i:], m.BlockData[iNdEx]) - i = encodeVarintTypes(dAtA, i, uint64(len(m.BlockData[iNdEx]))) - i-- - dAtA[i] = 0xa + if m.VoteExtension != nil { + { + size, err := m.VoteExtension.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTypes(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ResponseExtendVote) Marshal() (dAtA []byte, err error) { +func (m *ResponseVerifyVoteExtension) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7166,32 +7175,25 @@ func (m *ResponseExtendVote) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ResponseExtendVote) MarshalTo(dAtA []byte) (int, error) { +func (m *ResponseVerifyVoteExtension) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *ResponseExtendVote) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *ResponseVerifyVoteExtension) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.VoteExtension != nil { - { - size, err := m.VoteExtension.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTypes(dAtA, i, uint64(size)) - } + if m.Result != 0 { + i = encodeVarintTypes(dAtA, i, uint64(m.Result)) i-- - dAtA[i] = 0xa + dAtA[i] = 0x8 } return len(dAtA) - i, nil } -func (m *ResponseVerifyVoteExtension) Marshal() (dAtA []byte, err error) { +func (m *ResponsePrepareProposal) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7201,20 +7203,24 @@ func (m *ResponseVerifyVoteExtension) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ResponseVerifyVoteExtension) MarshalTo(dAtA []byte) (int, error) { +func (m *ResponsePrepareProposal) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *ResponseVerifyVoteExtension) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *ResponsePrepareProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.Result != 0 { - i = encodeVarintTypes(dAtA, i, uint64(m.Result)) - i-- - dAtA[i] = 0x8 + if len(m.BlockData) > 0 { + for iNdEx := len(m.BlockData) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.BlockData[iNdEx]) + copy(dAtA[i:], m.BlockData[iNdEx]) + i = encodeVarintTypes(dAtA, i, uint64(len(m.BlockData[iNdEx]))) + i-- + dAtA[i] = 0xa + } } return len(dAtA) - i, nil } @@ -8127,29 +8133,6 @@ func (m *RequestEcho) Size() (n int) { return n } -func (m *RequestBeginBlock) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Hash) - if l > 0 { - n += 1 + l + sovTypes(uint64(l)) - } - l = m.Header.Size() - n += 1 + l + sovTypes(uint64(l)) - l = m.LastCommitInfo.Size() - n += 1 + l + sovTypes(uint64(l)) - if len(m.ByzantineValidators) > 0 { - for _, e := range m.ByzantineValidators { - l = e.Size() - n += 1 + l + sovTypes(uint64(l)) - } - } - return n -} - func (m *RequestFlush) Size() (n int) { if m == nil { return 0 @@ -8237,7 +8220,30 @@ func (m *RequestQuery) Size() (n int) { return n } -func (m *RequestDeliverTx) Size() (n int) { +func (m *RequestBeginBlock) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Hash) + if l > 0 { + n += 1 + l + sovTypes(uint64(l)) + } + l = m.Header.Size() + n += 1 + l + sovTypes(uint64(l)) + l = m.LastCommitInfo.Size() + n += 1 + l + sovTypes(uint64(l)) + if len(m.ByzantineValidators) > 0 { + for _, e := range m.ByzantineValidators { + l = e.Size() + n += 1 + l + sovTypes(uint64(l)) + } + } + return n +} + +func (m *RequestCheckTx) Size() (n int) { if m == nil { return 0 } @@ -8247,33 +8253,33 @@ func (m *RequestDeliverTx) Size() (n int) { if l > 0 { n += 1 + l + sovTypes(uint64(l)) } + if m.Type != 0 { + n += 1 + sovTypes(uint64(m.Type)) + } return n } -func (m *RequestEndBlock) Size() (n int) { +func (m *RequestDeliverTx) Size() (n int) { if m == nil { return 0 } var l int _ = l - if m.Height != 0 { - n += 1 + sovTypes(uint64(m.Height)) + l = len(m.Tx) + if l > 0 { + n += 1 + l + sovTypes(uint64(l)) } return n } -func (m *RequestCheckTx) Size() (n int) { +func (m *RequestEndBlock) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.Tx) - if l > 0 { - n += 1 + l + sovTypes(uint64(l)) - } - if m.Type != 0 { - n += 1 + sovTypes(uint64(m.Type)) + if m.Height != 0 { + n += 1 + sovTypes(uint64(m.Height)) } return n } @@ -8351,31 +8357,20 @@ func (m *RequestApplySnapshotChunk) Size() (n int) { return n } -func (m *RequestPrepareProposal) Size() (n int) { +func (m *RequestExtendVote) Size() (n int) { if m == nil { return 0 } var l int _ = l - if len(m.BlockData) > 0 { - for _, b := range m.BlockData { - l = len(b) - n += 1 + l + sovTypes(uint64(l)) - } - } - if m.BlockDataSize != 0 { - n += 1 + sovTypes(uint64(m.BlockDataSize)) - } - if len(m.Votes) > 0 { - for _, e := range m.Votes { - l = e.Size() - n += 1 + l + sovTypes(uint64(l)) - } + if m.Vote != nil { + l = m.Vote.Size() + n += 1 + l + sovTypes(uint64(l)) } return n } -func (m *RequestExtendVote) Size() (n int) { +func (m *RequestVerifyVoteExtension) Size() (n int) { if m == nil { return 0 } @@ -8388,15 +8383,26 @@ func (m *RequestExtendVote) Size() (n int) { return n } -func (m *RequestVerifyVoteExtension) Size() (n int) { +func (m *RequestPrepareProposal) Size() (n int) { if m == nil { return 0 } var l int _ = l - if m.Vote != nil { - l = m.Vote.Size() - n += 1 + l + sovTypes(uint64(l)) + if len(m.BlockData) > 0 { + for _, b := range m.BlockData { + l = len(b) + n += 1 + l + sovTypes(uint64(l)) + } + } + if m.BlockDataSize != 0 { + n += 1 + sovTypes(uint64(m.BlockDataSize)) + } + if len(m.Votes) > 0 { + for _, e := range m.Votes { + l = e.Size() + n += 1 + l + sovTypes(uint64(l)) + } } return n } @@ -9053,42 +9059,42 @@ func (m *ResponseApplySnapshotChunk) Size() (n int) { return n } -func (m *ResponsePrepareProposal) Size() (n int) { +func (m *ResponseExtendVote) Size() (n int) { if m == nil { return 0 } var l int _ = l - if len(m.BlockData) > 0 { - for _, b := range m.BlockData { - l = len(b) - n += 1 + l + sovTypes(uint64(l)) - } + if m.VoteExtension != nil { + l = m.VoteExtension.Size() + n += 1 + l + sovTypes(uint64(l)) } return n } -func (m *ResponseExtendVote) Size() (n int) { +func (m *ResponseVerifyVoteExtension) Size() (n int) { if m == nil { return 0 } var l int _ = l - if m.VoteExtension != nil { - l = m.VoteExtension.Size() - n += 1 + l + sovTypes(uint64(l)) + if m.Result != 0 { + n += 1 + sovTypes(uint64(m.Result)) } return n } -func (m *ResponseVerifyVoteExtension) Size() (n int) { +func (m *ResponsePrepareProposal) Size() (n int) { if m == nil { return 0 } var l int _ = l - if m.Result != 0 { - n += 1 + sovTypes(uint64(m.Result)) + if len(m.BlockData) > 0 { + for _, b := range m.BlockData { + l = len(b) + n += 1 + l + sovTypes(uint64(l)) + } } return n } @@ -10118,191 +10124,9 @@ func (m *RequestEcho) Unmarshal(dAtA []byte) error { switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Message = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTypes(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTypes - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *RequestBeginBlock) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: RequestBeginBlock: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: RequestBeginBlock: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Hash = append(m.Hash[:0], dAtA[iNdEx:postIndex]...) - if m.Hash == nil { - m.Hash = []byte{} - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Header", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LastCommitInfo", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.LastCommitInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ByzantineValidators", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -10312,25 +10136,23 @@ func (m *RequestBeginBlock) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthTypes } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTypes } if postIndex > l { return io.ErrUnexpectedEOF } - m.ByzantineValidators = append(m.ByzantineValidators, Evidence{}) - if err := m.ByzantineValidators[len(m.ByzantineValidators)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Message = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -10679,7 +10501,7 @@ func (m *RequestInitChain) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.ConsensusParams == nil { - m.ConsensusParams = &types.ConsensusParams{} + m.ConsensusParams = &types1.ConsensusParams{} } if err := m.ConsensusParams.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -10948,7 +10770,7 @@ func (m *RequestQuery) Unmarshal(dAtA []byte) error { } return nil } -func (m *RequestDeliverTx) Unmarshal(dAtA []byte) error { +func (m *RequestBeginBlock) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10971,10 +10793,194 @@ func (m *RequestDeliverTx) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: RequestDeliverTx: wiretype end group for non-group") + return fmt.Errorf("proto: RequestBeginBlock: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: RequestDeliverTx: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: RequestBeginBlock: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Hash = append(m.Hash[:0], dAtA[iNdEx:postIndex]...) + if m.Hash == nil { + m.Hash = []byte{} + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Header", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Header.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LastCommitInfo", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.LastCommitInfo.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ByzantineValidators", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ByzantineValidators = append(m.ByzantineValidators, Evidence{}) + if err := m.ByzantineValidators[len(m.ByzantineValidators)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTypes(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTypes + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RequestCheckTx) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: RequestCheckTx: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RequestCheckTx: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -11011,6 +11017,25 @@ func (m *RequestDeliverTx) Unmarshal(dAtA []byte) error { m.Tx = []byte{} } iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + m.Type = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Type |= CheckTxType(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipTypes(dAtA[iNdEx:]) @@ -11032,7 +11057,7 @@ func (m *RequestDeliverTx) Unmarshal(dAtA []byte) error { } return nil } -func (m *RequestEndBlock) Unmarshal(dAtA []byte) error { +func (m *RequestDeliverTx) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11055,17 +11080,17 @@ func (m *RequestEndBlock) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: RequestEndBlock: wiretype end group for non-group") + return fmt.Errorf("proto: RequestDeliverTx: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: RequestEndBlock: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: RequestDeliverTx: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Tx", wireType) } - m.Height = 0 + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -11075,11 +11100,26 @@ func (m *RequestEndBlock) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Height |= int64(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } + if byteLen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Tx = append(m.Tx[:0], dAtA[iNdEx:postIndex]...) + if m.Tx == nil { + m.Tx = []byte{} + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTypes(dAtA[iNdEx:]) @@ -11101,7 +11141,7 @@ func (m *RequestEndBlock) Unmarshal(dAtA []byte) error { } return nil } -func (m *RequestCheckTx) Unmarshal(dAtA []byte) error { +func (m *RequestEndBlock) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11124,51 +11164,17 @@ func (m *RequestCheckTx) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: RequestCheckTx: wiretype end group for non-group") + return fmt.Errorf("proto: RequestEndBlock: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: RequestCheckTx: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: RequestEndBlock: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Tx", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Tx = append(m.Tx[:0], dAtA[iNdEx:postIndex]...) - if m.Tx == nil { - m.Tx = []byte{} - } - iNdEx = postIndex - case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType) } - m.Type = 0 + m.Height = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -11178,7 +11184,7 @@ func (m *RequestCheckTx) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Type |= CheckTxType(b&0x7F) << shift + m.Height |= int64(b&0x7F) << shift if b < 0x80 { break } @@ -11666,7 +11672,7 @@ func (m *RequestApplySnapshotChunk) Unmarshal(dAtA []byte) error { } return nil } -func (m *RequestPrepareProposal) Unmarshal(dAtA []byte) error { +func (m *RequestExtendVote) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11689,66 +11695,15 @@ func (m *RequestPrepareProposal) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: RequestPrepareProposal: wiretype end group for non-group") + return fmt.Errorf("proto: RequestExtendVote: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: RequestPrepareProposal: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: RequestExtendVote: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockData", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.BlockData = append(m.BlockData, make([]byte, postIndex-iNdEx)) - copy(m.BlockData[len(m.BlockData)-1], dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockDataSize", wireType) - } - m.BlockDataSize = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTypes - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.BlockDataSize |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Votes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Vote", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -11775,8 +11730,10 @@ func (m *RequestPrepareProposal) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Votes = append(m.Votes, &types.Vote{}) - if err := m.Votes[len(m.Votes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if m.Vote == nil { + m.Vote = &types1.Vote{} + } + if err := m.Vote.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -11801,7 +11758,7 @@ func (m *RequestPrepareProposal) Unmarshal(dAtA []byte) error { } return nil } -func (m *RequestExtendVote) Unmarshal(dAtA []byte) error { +func (m *RequestVerifyVoteExtension) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11824,10 +11781,10 @@ func (m *RequestExtendVote) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: RequestExtendVote: wiretype end group for non-group") + return fmt.Errorf("proto: RequestVerifyVoteExtension: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: RequestExtendVote: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: RequestVerifyVoteExtension: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -11860,7 +11817,7 @@ func (m *RequestExtendVote) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.Vote == nil { - m.Vote = &types.Vote{} + m.Vote = &types1.Vote{} } if err := m.Vote.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -11887,7 +11844,7 @@ func (m *RequestExtendVote) Unmarshal(dAtA []byte) error { } return nil } -func (m *RequestVerifyVoteExtension) Unmarshal(dAtA []byte) error { +func (m *RequestPrepareProposal) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11910,15 +11867,66 @@ func (m *RequestVerifyVoteExtension) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: RequestVerifyVoteExtension: wiretype end group for non-group") + return fmt.Errorf("proto: RequestPrepareProposal: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: RequestVerifyVoteExtension: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: RequestPrepareProposal: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Vote", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BlockData", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BlockData = append(m.BlockData, make([]byte, postIndex-iNdEx)) + copy(m.BlockData[len(m.BlockData)-1], dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockDataSize", wireType) + } + m.BlockDataSize = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.BlockDataSize |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Votes", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -11945,10 +11953,8 @@ func (m *RequestVerifyVoteExtension) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Vote == nil { - m.Vote = &types.Vote{} - } - if err := m.Vote.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Votes = append(m.Votes, &types1.Vote{}) + if err := m.Votes[len(m.Votes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -13633,7 +13639,7 @@ func (m *ResponseInitChain) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.ConsensusParams == nil { - m.ConsensusParams = &types.ConsensusParams{} + m.ConsensusParams = &types1.ConsensusParams{} } if err := m.ConsensusParams.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -14837,7 +14843,7 @@ func (m *ResponseEndBlock) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.ConsensusParamUpdates == nil { - m.ConsensusParamUpdates = &types.ConsensusParams{} + m.ConsensusParamUpdates = &types1.ConsensusParams{} } if err := m.ConsensusParamUpdates.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -15415,7 +15421,7 @@ func (m *ResponseApplySnapshotChunk) Unmarshal(dAtA []byte) error { } return nil } -func (m *ResponsePrepareProposal) Unmarshal(dAtA []byte) error { +func (m *ResponseExtendVote) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15438,17 +15444,17 @@ func (m *ResponsePrepareProposal) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ResponsePrepareProposal: wiretype end group for non-group") + return fmt.Errorf("proto: ResponseExtendVote: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ResponsePrepareProposal: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ResponseExtendVote: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BlockData", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field VoteExtension", wireType) } - var byteLen int + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -15458,23 +15464,27 @@ func (m *ResponsePrepareProposal) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - if byteLen < 0 { + if msglen < 0 { return ErrInvalidLengthTypes } - postIndex := iNdEx + byteLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTypes } if postIndex > l { return io.ErrUnexpectedEOF } - m.BlockData = append(m.BlockData, make([]byte, postIndex-iNdEx)) - copy(m.BlockData[len(m.BlockData)-1], dAtA[iNdEx:postIndex]) + if m.VoteExtension == nil { + m.VoteExtension = &types1.VoteExtension{} + } + if err := m.VoteExtension.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -15497,7 +15507,7 @@ func (m *ResponsePrepareProposal) Unmarshal(dAtA []byte) error { } return nil } -func (m *ResponseExtendVote) Unmarshal(dAtA []byte) error { +func (m *ResponseVerifyVoteExtension) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15520,17 +15530,17 @@ func (m *ResponseExtendVote) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ResponseExtendVote: wiretype end group for non-group") + return fmt.Errorf("proto: ResponseVerifyVoteExtension: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ResponseExtendVote: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ResponseVerifyVoteExtension: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field VoteExtension", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Result", wireType) } - var msglen int + m.Result = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -15540,28 +15550,11 @@ func (m *ResponseExtendVote) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.Result |= ResponseVerifyVoteExtension_Result(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return ErrInvalidLengthTypes - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthTypes - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.VoteExtension == nil { - m.VoteExtension = &types.VoteExtension{} - } - if err := m.VoteExtension.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTypes(dAtA[iNdEx:]) @@ -15583,7 +15576,7 @@ func (m *ResponseExtendVote) Unmarshal(dAtA []byte) error { } return nil } -func (m *ResponseVerifyVoteExtension) Unmarshal(dAtA []byte) error { +func (m *ResponsePrepareProposal) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15606,17 +15599,17 @@ func (m *ResponseVerifyVoteExtension) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ResponseVerifyVoteExtension: wiretype end group for non-group") + return fmt.Errorf("proto: ResponsePrepareProposal: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ResponseVerifyVoteExtension: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ResponsePrepareProposal: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Result", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field BlockData", wireType) } - m.Result = 0 + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTypes @@ -15626,11 +15619,24 @@ func (m *ResponseVerifyVoteExtension) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Result |= ResponseVerifyVoteExtension_Result(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } + if byteLen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.BlockData = append(m.BlockData, make([]byte, postIndex-iNdEx)) + copy(m.BlockData[len(m.BlockData)-1], dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTypes(dAtA[iNdEx:]) @@ -15833,7 +15839,7 @@ func (m *ResponseProcessProposal) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.ConsensusParamUpdates == nil { - m.ConsensusParamUpdates = &types.ConsensusParams{} + m.ConsensusParamUpdates = &types1.ConsensusParams{} } if err := m.ConsensusParamUpdates.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err @@ -15987,7 +15993,7 @@ func (m *ResponseFinalizeBlock) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } if m.ConsensusParamUpdates == nil { - m.ConsensusParamUpdates = &types.ConsensusParams{} + m.ConsensusParamUpdates = &types1.ConsensusParams{} } if err := m.ConsensusParamUpdates.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err diff --git a/proto/tendermint/abci/types.proto.intermediate b/proto/tendermint/abci/types.proto.intermediate new file mode 100644 index 000000000..ace64d911 --- /dev/null +++ b/proto/tendermint/abci/types.proto.intermediate @@ -0,0 +1,476 @@ +syntax = "proto3"; +package tendermint.abci; + +import "tendermint/crypto/proof.proto"; +import "tendermint/types/types.proto"; +import "tendermint/crypto/keys.proto"; +import "tendermint/types/params.proto"; +import "google/protobuf/timestamp.proto"; +import "gogoproto/gogo.proto"; + + +// This file is a temporary workaround to enable development during the ABCI++ +// project. This file should be deleted and any references to it removed when +// the ongoing work on ABCI++ is completed. +// +// For the duration of ABCI++, this file should be able to build the `abci/types/types.pb.go` +// file. Any changes that update that file must come as a result of a change in +// this .proto file. +// For more information, see https://github.com/tendermint/tendermint/issues/8066 + +//---------------------------------------- +// Request types + +message Request { + oneof value { + RequestEcho echo = 1; + RequestFlush flush = 2; + RequestInfo info = 3; + RequestInitChain init_chain = 4; + RequestQuery query = 5; + RequestBeginBlock begin_block = 6 [deprecated = true]; + RequestCheckTx check_tx = 7; + RequestDeliverTx deliver_tx = 8 [deprecated = true]; + RequestEndBlock end_block = 9 [deprecated = true]; + RequestCommit commit = 10; + RequestListSnapshots list_snapshots = 11; + RequestOfferSnapshot offer_snapshot = 12; + RequestLoadSnapshotChunk load_snapshot_chunk = 13; + RequestApplySnapshotChunk apply_snapshot_chunk = 14; + RequestPrepareProposal prepare_proposal = 15; + RequestProcessProposal process_proposal = 16; + RequestExtendVote extend_vote = 17; + RequestVerifyVoteExtension verify_vote_extension = 18; + RequestFinalizeBlock finalize_block = 19; + } +} + +message RequestEcho { + string message = 1; +} + +message RequestFlush {} + +message RequestInfo { + string version = 1; + uint64 block_version = 2; + uint64 p2p_version = 3; + string abci_version = 4; +} + +message RequestInitChain { + google.protobuf.Timestamp time = 1 [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; + string chain_id = 2; + tendermint.types.ConsensusParams consensus_params = 3; + repeated ValidatorUpdate validators = 4 [(gogoproto.nullable) = false]; + bytes app_state_bytes = 5; + int64 initial_height = 6; +} + +message RequestQuery { + bytes data = 1; + string path = 2; + int64 height = 3; + bool prove = 4; +} + +message RequestBeginBlock { + bytes hash = 1; + tendermint.types.Header header = 2 [(gogoproto.nullable) = false]; + LastCommitInfo last_commit_info = 3 [(gogoproto.nullable) = false]; + repeated Evidence byzantine_validators = 4 [(gogoproto.nullable) = false]; +} + +enum CheckTxType { + NEW = 0 [(gogoproto.enumvalue_customname) = "New"]; + RECHECK = 1 [(gogoproto.enumvalue_customname) = "Recheck"]; +} + +message RequestCheckTx { + bytes tx = 1; + CheckTxType type = 2; +} + +message RequestDeliverTx { + bytes tx = 1; +} + +message RequestEndBlock { + int64 height = 1; +} + +message RequestCommit {} + +// lists available snapshots +message RequestListSnapshots {} + +// offers a snapshot to the application +message RequestOfferSnapshot { + Snapshot snapshot = 1; // snapshot offered by peers + bytes app_hash = 2; // light client-verified app hash for snapshot height +} + +// loads a snapshot chunk +message RequestLoadSnapshotChunk { + uint64 height = 1; + uint32 format = 2; + uint32 chunk = 3; +} + +// Applies a snapshot chunk +message RequestApplySnapshotChunk { + uint32 index = 1; + bytes chunk = 2; + string sender = 3; +} + +// Extends a vote with application-side injection +message RequestExtendVote { + types.Vote vote = 1; +} + +// Verify the vote extension +message RequestVerifyVoteExtension { + types.Vote vote = 1; +} + +message RequestPrepareProposal { + // block_data is an array of transactions that will be included in a block, + // sent to the app for possible modifications. + // applications can not exceed the size of the data passed to it. + repeated bytes block_data = 1; + // If an application decides to populate block_data with extra information, they can not exceed this value. + int64 block_data_size = 2; + // votes includes all votes from the previous block. This contains vote extension data that can be used in proposal + // preparation. The votes here will then form the last commit that gets sent in the proposed block. + repeated tendermint.types.Vote votes = 3; +} + + +message RequestProcessProposal { + bytes hash = 1; + tendermint.types.Header header = 2 [(gogoproto.nullable) = false]; + repeated bytes txs = 3; + LastCommitInfo last_commit_info = 4 [(gogoproto.nullable) = false]; + repeated Evidence byzantine_validators = 5 [(gogoproto.nullable) = false]; +} + +message RequestFinalizeBlock { + repeated bytes txs = 1; + bytes hash = 2; + int64 height = 3; + tendermint.types.Header header = 4 [(gogoproto.nullable) = false]; + LastCommitInfo last_commit_info = 5 [(gogoproto.nullable) = false]; + repeated Evidence byzantine_validators = 6 [(gogoproto.nullable) = false]; +} + +//---------------------------------------- +// Response types + +message Response { + oneof value { + ResponseException exception = 1; + ResponseEcho echo = 2; + ResponseFlush flush = 3; + ResponseInfo info = 4; + ResponseInitChain init_chain = 5; + ResponseQuery query = 6; + ResponseBeginBlock begin_block = 7 [deprecated = true]; + ResponseCheckTx check_tx = 8; + ResponseDeliverTx deliver_tx = 9 [deprecated = true]; + ResponseEndBlock end_block = 10 [deprecated = true]; + ResponseCommit commit = 11; + ResponseListSnapshots list_snapshots = 12; + ResponseOfferSnapshot offer_snapshot = 13; + ResponseLoadSnapshotChunk load_snapshot_chunk = 14; + ResponseApplySnapshotChunk apply_snapshot_chunk = 15; + ResponsePrepareProposal prepare_proposal = 16; + ResponseProcessProposal process_proposal = 17; + ResponseExtendVote extend_vote = 18; + ResponseVerifyVoteExtension verify_vote_extension = 19; + ResponseFinalizeBlock finalize_block = 20; + } +} + +// nondeterministic +message ResponseException { + string error = 1; +} + +message ResponseEcho { + string message = 1; +} + +message ResponseFlush {} + +message ResponseInfo { + string data = 1; + + // this is the software version of the application. TODO: remove? + string version = 2; + uint64 app_version = 3; + + int64 last_block_height = 4; + bytes last_block_app_hash = 5; +} + +message ResponseInitChain { + tendermint.types.ConsensusParams consensus_params = 1; + repeated ValidatorUpdate validators = 2 [(gogoproto.nullable) = false]; + bytes app_hash = 3; +} + +message ResponseQuery { + uint32 code = 1; + // bytes data = 2; // use "value" instead. + string log = 3; // nondeterministic + string info = 4; // nondeterministic + int64 index = 5; + bytes key = 6; + bytes value = 7; + tendermint.crypto.ProofOps proof_ops = 8; + int64 height = 9; + string codespace = 10; +} + +message ResponseBeginBlock { + repeated Event events = 1 [(gogoproto.nullable) = false, (gogoproto.jsontag) = "events,omitempty"]; +} + +message ResponseCheckTx { + uint32 code = 1; + bytes data = 2; + string log = 3; // nondeterministic + string info = 4; // nondeterministic + int64 gas_wanted = 5; + int64 gas_used = 6; + repeated Event events = 7 [(gogoproto.nullable) = false, (gogoproto.jsontag) = "events,omitempty"]; + string codespace = 8; + string sender = 9; + int64 priority = 10; + + // mempool_error is set by Tendermint. + + // ABCI applications creating a ResponseCheckTX should not set mempool_error. + string mempool_error = 11; +} + +message ResponseDeliverTx { + uint32 code = 1; + bytes data = 2; + string log = 3; // nondeterministic + string info = 4; // nondeterministic + int64 gas_wanted = 5 [json_name = "gas_wanted"]; + int64 gas_used = 6 [json_name = "gas_used"]; + repeated Event events = 7 + [(gogoproto.nullable) = false, (gogoproto.jsontag) = "events,omitempty"]; // nondeterministic + string codespace = 8; +} + +message ResponseEndBlock { + repeated ValidatorUpdate validator_updates = 1 [(gogoproto.nullable) = false]; + tendermint.types.ConsensusParams consensus_param_updates = 2; + repeated Event events = 3 [(gogoproto.nullable) = false, (gogoproto.jsontag) = "events,omitempty"]; +} + +message ResponseCommit { + // reserve 1 + bytes data = 2; + int64 retain_height = 3; +} + +message ResponseListSnapshots { + repeated Snapshot snapshots = 1; +} + +message ResponseOfferSnapshot { + Result result = 1; + + enum Result { + UNKNOWN = 0; // Unknown result, abort all snapshot restoration + ACCEPT = 1; // Snapshot accepted, apply chunks + ABORT = 2; // Abort all snapshot restoration + REJECT = 3; // Reject this specific snapshot, try others + REJECT_FORMAT = 4; // Reject all snapshots of this format, try others + REJECT_SENDER = 5; // Reject all snapshots from the sender(s), try others + } +} + +message ResponseLoadSnapshotChunk { + bytes chunk = 1; +} + +message ResponseApplySnapshotChunk { + Result result = 1; + repeated uint32 refetch_chunks = 2; // Chunks to refetch and reapply + repeated string reject_senders = 3; // Chunk senders to reject and ban + + enum Result { + UNKNOWN = 0; // Unknown result, abort all snapshot restoration + ACCEPT = 1; // Chunk successfully accepted + ABORT = 2; // Abort all snapshot restoration + RETRY = 3; // Retry chunk (combine with refetch and reject) + RETRY_SNAPSHOT = 4; // Retry snapshot (combine with refetch and reject) + REJECT_SNAPSHOT = 5; // Reject this snapshot, try others + } +} + +message ResponseExtendVote { + tendermint.types.VoteExtension vote_extension = 1; +} + +message ResponseVerifyVoteExtension { + Result result = 1; + + enum Result { + UNKNOWN = 0; // Unknown result, reject vote extension + ACCEPT = 1; // Vote extension verified, include the vote + SLASH = 2; // Vote extension verification aborted, continue but slash validator + REJECT = 3; // Vote extension invalidated + } +} + +message ResponsePrepareProposal { + repeated bytes block_data = 1; +} + +message ResponseProcessProposal { + bool accept = 1; + bytes app_hash = 2; + repeated ExecTxResult tx_results = 3; + repeated ValidatorUpdate validator_updates = 4; + tendermint.types.ConsensusParams consensus_param_updates = 5; +} + +message ResponseFinalizeBlock { + repeated ResponseDeliverTx txs = 1; + repeated ValidatorUpdate validator_updates = 2 [(gogoproto.nullable) = false]; + tendermint.types.ConsensusParams consensus_param_updates = 3; + repeated Event events = 4 + [(gogoproto.nullable) = false, (gogoproto.jsontag) = "events,omitempty"]; +} + +//---------------------------------------- +// Misc. + +message LastCommitInfo { + int32 round = 1; + repeated VoteInfo votes = 2 [(gogoproto.nullable) = false]; +} + +// Event allows application developers to attach additional information to +// ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and ResponseDeliverTx. +// Later, transactions may be queried using these events. +message Event { + string type = 1; + repeated EventAttribute attributes = 2 [(gogoproto.nullable) = false, (gogoproto.jsontag) = "attributes,omitempty"]; +} + +// EventAttribute is a single key-value pair, associated with an event. +message EventAttribute { + string key = 1; + string value = 2; + bool index = 3; // nondeterministic +} + +// ExecTxResult contains results of executing one individual transaction. +// +// * Its structure is equivalent to #ResponseDeliverTx which will be deprecated/deleted +message ExecTxResult { + uint32 code = 1; + bytes data = 2; + string log = 3; // nondeterministic + string info = 4; // nondeterministic + int64 gas_wanted = 5; + int64 gas_used = 6; + repeated Event tx_events = 7 + [(gogoproto.nullable) = false, (gogoproto.jsontag) = "events,omitempty"]; // nondeterministic + string codespace = 8; +} + +// TxResult contains results of executing the transaction. +// +// One usage is indexing transaction results. +message TxResult { + int64 height = 1; + uint32 index = 2; + bytes tx = 3; + ResponseDeliverTx result = 4 [(gogoproto.nullable) = false]; +} + +//---------------------------------------- +// Blockchain Types + +// Validator +message Validator { + bytes address = 1; // The first 20 bytes of SHA256(public key) + // PubKey pub_key = 2 [(gogoproto.nullable)=false]; + int64 power = 3; // The voting power +} + +// ValidatorUpdate +message ValidatorUpdate { + tendermint.crypto.PublicKey pub_key = 1 [(gogoproto.nullable) = false]; + int64 power = 2; +} + +// VoteInfo +message VoteInfo { + Validator validator = 1 [(gogoproto.nullable) = false]; + bool signed_last_block = 2; + reserved 3; // Placeholder for tendermint_signed_extension in v0.37 + reserved 4; // Placeholder for app_signed_extension in v0.37 +} + +enum EvidenceType { + UNKNOWN = 0; + DUPLICATE_VOTE = 1; + LIGHT_CLIENT_ATTACK = 2; +} + +message Evidence { + EvidenceType type = 1; + // The offending validator + Validator validator = 2 [(gogoproto.nullable) = false]; + // The height when the offense occurred + int64 height = 3; + // The corresponding time where the offense occurred + google.protobuf.Timestamp time = 4 [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; + // Total voting power of the validator set in case the ABCI application does + // not store historical validators. + // https://github.com/tendermint/tendermint/issues/4581 + int64 total_voting_power = 5; +} + +//---------------------------------------- +// State Sync Types + +message Snapshot { + uint64 height = 1; // The height at which the snapshot was taken + uint32 format = 2; // The application-specific snapshot format + uint32 chunks = 3; // Number of chunks in the snapshot + bytes hash = 4; // Arbitrary snapshot hash, equal only if identical + bytes metadata = 5; // Arbitrary application metadata +} + +//---------------------------------------- +// Service Definition + +service ABCIApplication { + rpc Echo(RequestEcho) returns (ResponseEcho); + rpc Flush(RequestFlush) returns (ResponseFlush); + rpc Info(RequestInfo) returns (ResponseInfo); + rpc CheckTx(RequestCheckTx) returns (ResponseCheckTx); + rpc Query(RequestQuery) returns (ResponseQuery); + rpc Commit(RequestCommit) returns (ResponseCommit); + rpc InitChain(RequestInitChain) returns (ResponseInitChain); + rpc ListSnapshots(RequestListSnapshots) returns (ResponseListSnapshots); + rpc OfferSnapshot(RequestOfferSnapshot) returns (ResponseOfferSnapshot); + rpc LoadSnapshotChunk(RequestLoadSnapshotChunk) returns (ResponseLoadSnapshotChunk); + rpc ApplySnapshotChunk(RequestApplySnapshotChunk) returns (ResponseApplySnapshotChunk); + rpc PrepareProposal(RequestPrepareProposal) returns (ResponsePrepareProposal); + rpc ProcessProposal(RequestProcessProposal) returns (ResponseProcessProposal); + rpc ExtendVote(RequestExtendVote) returns (ResponseExtendVote); + rpc VerifyVoteExtension(RequestVerifyVoteExtension) returns (ResponseVerifyVoteExtension); + rpc FinalizeBlock(RequestFinalizeBlock) returns (ResponseFinalizeBlock); +} diff --git a/proto/tendermint/types/types.proto b/proto/tendermint/types/types.proto index d9e6973e9..ef448d9ca 100644 --- a/proto/tendermint/types/types.proto +++ b/proto/tendermint/types/types.proto @@ -1,6 +1,8 @@ syntax = "proto3"; package tendermint.types; +option go_package = "github.com/tendermint/tendermint/types"; + import "gogoproto/gogo.proto"; import "google/protobuf/timestamp.proto"; import "tendermint/crypto/proof.proto"; diff --git a/proto/tendermint/types/types.proto.intermediate b/proto/tendermint/types/types.proto.intermediate new file mode 100644 index 000000000..280cd7133 --- /dev/null +++ b/proto/tendermint/types/types.proto.intermediate @@ -0,0 +1,192 @@ +syntax = "proto3"; +package tendermint.types; + +import "gogoproto/gogo.proto"; +import "google/protobuf/timestamp.proto"; +import "tendermint/crypto/proof.proto"; +import "tendermint/version/types.proto"; +import "tendermint/types/validator.proto"; + +// This file is a temporary workaround to enable development during the ABCI++ +// project. This file should be deleted and any references to it removed when +// the ongoing work on ABCI++ is completed. +// +// This file supports building of the `tendermint.abci` proto package. +// For more information, see https://github.com/tendermint/tendermint/issues/8066 + +// BlockIdFlag indicates which BlockID the signature is for +enum BlockIDFlag { + option (gogoproto.goproto_enum_stringer) = true; + option (gogoproto.goproto_enum_prefix) = false; + + BLOCK_ID_FLAG_UNKNOWN = 0 + [(gogoproto.enumvalue_customname) = "BlockIDFlagUnknown"]; + BLOCK_ID_FLAG_ABSENT = 1 + [(gogoproto.enumvalue_customname) = "BlockIDFlagAbsent"]; + BLOCK_ID_FLAG_COMMIT = 2 + [(gogoproto.enumvalue_customname) = "BlockIDFlagCommit"]; + BLOCK_ID_FLAG_NIL = 3 [(gogoproto.enumvalue_customname) = "BlockIDFlagNil"]; +} + +// SignedMsgType is a type of signed message in the consensus. +enum SignedMsgType { + option (gogoproto.goproto_enum_stringer) = true; + option (gogoproto.goproto_enum_prefix) = false; + + SIGNED_MSG_TYPE_UNKNOWN = 0 + [(gogoproto.enumvalue_customname) = "UnknownType"]; + // Votes + SIGNED_MSG_TYPE_PREVOTE = 1 + [(gogoproto.enumvalue_customname) = "PrevoteType"]; + SIGNED_MSG_TYPE_PRECOMMIT = 2 + [(gogoproto.enumvalue_customname) = "PrecommitType"]; + + // Proposals + SIGNED_MSG_TYPE_PROPOSAL = 32 + [(gogoproto.enumvalue_customname) = "ProposalType"]; +} + +// PartsetHeader +message PartSetHeader { + uint32 total = 1; + bytes hash = 2; +} + +message Part { + uint32 index = 1; + bytes bytes = 2; + tendermint.crypto.Proof proof = 3 [(gogoproto.nullable) = false]; +} + +// BlockID +message BlockID { + bytes hash = 1; + PartSetHeader part_set_header = 2 [(gogoproto.nullable) = false]; +} + +// -------------------------------- + +// Header defines the structure of a Tendermint block header. +message Header { + // basic block info + tendermint.version.Consensus version = 1 [(gogoproto.nullable) = false]; + string chain_id = 2 [(gogoproto.customname) = "ChainID"]; + int64 height = 3; + google.protobuf.Timestamp time = 4 + [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; + + // prev block info + BlockID last_block_id = 5 [(gogoproto.nullable) = false]; + + // hashes of block data + bytes last_commit_hash = 6; // commit from validators from the last block + bytes data_hash = 7; // transactions + + // hashes from the app output from the prev block + bytes validators_hash = 8; // validators for the current block + bytes next_validators_hash = 9; // validators for the next block + bytes consensus_hash = 10; // consensus params for current block + bytes app_hash = 11; // state after txs from the previous block + bytes last_results_hash = + 12; // root hash of all results from the txs from the previous block + + // consensus info + bytes evidence_hash = 13; // evidence included in the block + bytes proposer_address = 14; // original proposer of the block +} + +// Data contains the set of transactions included in the block +message Data { + // Txs that will be applied by state @ block.Height+1. + // NOTE: not all txs here are valid. We're just agreeing on the order first. + // This means that block.AppHash does not include these txs. + repeated bytes txs = 1; +} + +// Vote represents a prevote, precommit, or commit vote from validators for +// consensus. +message Vote { + SignedMsgType type = 1; + int64 height = 2; + int32 round = 3; + BlockID block_id = 4 [ + (gogoproto.nullable) = false, + (gogoproto.customname) = "BlockID" + ]; // zero if vote is nil. + google.protobuf.Timestamp timestamp = 5 + [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; + bytes validator_address = 6; + int32 validator_index = 7; + bytes signature = 8; + VoteExtension vote_extension = 9; +} + +// VoteExtension is app-defined additional information to the validator votes. +message VoteExtension { + bytes app_data_to_sign = 1; + bytes app_data_self_authenticating = 2; +} + +// VoteExtensionToSign is a subset of VoteExtension that is signed by the validators private key. +// VoteExtensionToSign is extracted from an existing VoteExtension. +message VoteExtensionToSign { + bytes app_data_to_sign = 1; +} + +// Commit contains the evidence that a block was committed by a set of +// validators. +message Commit { + int64 height = 1; + int32 round = 2; + BlockID block_id = 3 + [(gogoproto.nullable) = false, (gogoproto.customname) = "BlockID"]; + repeated CommitSig signatures = 4 [(gogoproto.nullable) = false]; +} + +// CommitSig is a part of the Vote included in a Commit. +message CommitSig { + BlockIDFlag block_id_flag = 1; + bytes validator_address = 2; + google.protobuf.Timestamp timestamp = 3 + [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; + bytes signature = 4; + VoteExtensionToSign vote_extension = 5; +} + +message Proposal { + SignedMsgType type = 1; + int64 height = 2; + int32 round = 3; + int32 pol_round = 4; + BlockID block_id = 5 + [(gogoproto.customname) = "BlockID", (gogoproto.nullable) = false]; + google.protobuf.Timestamp timestamp = 6 + [(gogoproto.nullable) = false, (gogoproto.stdtime) = true]; + bytes signature = 7; +} + +message SignedHeader { + Header header = 1; + Commit commit = 2; +} + +message LightBlock { + SignedHeader signed_header = 1; + tendermint.types.ValidatorSet validator_set = 2; +} + +message BlockMeta { + BlockID block_id = 1 + [(gogoproto.customname) = "BlockID", (gogoproto.nullable) = false]; + int64 block_size = 2; + Header header = 3 [(gogoproto.nullable) = false]; + int64 num_txs = 4; +} + +// TxProof represents a Merkle proof of the presence of a transaction in the +// Merkle tree. +message TxProof { + bytes root_hash = 1; + bytes data = 2; + tendermint.crypto.Proof proof = 3; +} diff --git a/scripts/abci-gen.sh b/scripts/abci-gen.sh new file mode 100755 index 000000000..fe3728ad4 --- /dev/null +++ b/scripts/abci-gen.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +# This file was added during development of ABCI++. This file is a script to allow +# the intermediate proto files to be built while active development proceeds +# on ABCI++. +# This file should be removed when work on ABCI++ is complete. +# For more information, see https://github.com/tendermint/tendermint/issues/8066. +set -euo pipefail + +cp ./proto/tendermint/abci/types.proto.intermediate ./proto/tendermint/abci/types.proto +cp ./proto/tendermint/types/types.proto.intermediate ./proto/tendermint/types/types.proto + +MODNAME="$(go list -m)" +find ./proto/tendermint -name '*.proto' -not -path "./proto/tendermint/abci/types.proto" \ + -exec sh ./scripts/protopackage.sh {} "$MODNAME" ';' + +sh ./scripts/protopackage.sh ./proto/tendermint/abci/types.proto $MODNAME "abci/types" + +make proto-gen + +mv ./proto/tendermint/abci/types.pb.go ./abci/types + +echo "proto files have been compiled" + +echo "checking out copied files" + +find proto/tendermint/ -name '*.proto' -not -path "*.intermediate"\ + | xargs -I {} git checkout {} + +find proto/tendermint/ -name '*.pb.go' \ + | xargs -I {} git checkout {}