Commit db26652c authored by caopingcp's avatar caopingcp Committed by vipwzw

add commands in valnode

parent def4afbb
......@@ -729,7 +729,8 @@ func (cs *ConsensusState) createProposalBlock() (block *ttypes.TendermintBlock)
// Mempool validated transactions
beg := time.Now()
pblock := cs.client.BuildBlock()
tendermintlog.Info(fmt.Sprintf("createProposalBlock BuildBlock. Current: %v/%v/%v", cs.Height, cs.Round, cs.Step), "txs-len", len(pblock.Txs), "cost", types.Since(beg))
tendermintlog.Info(fmt.Sprintf("createProposalBlock BuildBlock. Current: %v/%v/%v", cs.Height, cs.Round, cs.Step),
"txs-len", len(pblock.Txs), "cost", types.Since(beg))
if pblock.Height != cs.Height {
tendermintlog.Error("pblock.Height is not equal to cs.Height")
......@@ -1097,6 +1098,7 @@ func (cs *ConsensusState) finalizeCommit(height int64) {
valNodes, err := cs.client.QueryValidatorsByHeight(block.Header.Height)
if err == nil && valNodes != nil {
if len(valNodes.Nodes) > 0 {
tendermintlog.Info("finalizeCommit validators of statecopy update", "update-valnodes", valNodes)
prevValSet := stateCopy.LastValidators.Copy()
nextValSet := prevValSet.Copy()
err := updateValidators(nextValSet, valNodes.Nodes)
......@@ -1107,10 +1109,9 @@ func (cs *ConsensusState) finalizeCommit(height int64) {
stateCopy.LastHeightValidatorsChanged = block.Header.Height + 1
nextValSet.IncrementAccum(1)
stateCopy.Validators = nextValSet
tendermintlog.Info("finalizeCommit validators of statecopy updated", "update-valnodes", valNodes)
}
}
tendermintlog.Debug("finalizeCommit real validators of statecopy", "validators", stateCopy.Validators)
tendermintlog.Debug("finalizeCommit validators of statecopy", "validators", stateCopy.Validators)
// NewHeightStep!
cs.updateToState(stateCopy)
......@@ -1383,7 +1384,7 @@ func (cs *ConsensusState) signVote(voteType byte, hash []byte) (*ttypes.Vote, er
}
beg := time.Now()
err := cs.privValidator.SignVote(cs.state.ChainID, vote)
tendermintlog.Info("signVote", "height", cs.Height, "cost", types.Since(beg))
tendermintlog.Debug("signVote", "height", cs.Height, "cost", types.Since(beg))
return vote, err
}
......
......@@ -266,7 +266,7 @@ OuterLoop:
}
state = statetmp.Copy()
} else {
tendermintlog.Info("StartConsensus", "blockinfo", blockInfo)
tendermintlog.Debug("StartConsensus", "blockinfo", blockInfo)
csState := blockInfo.GetState()
if csState == nil {
tendermintlog.Error("StartConsensus", "msg", "blockInfo.GetState is nil")
......@@ -282,25 +282,24 @@ OuterLoop:
}
}
tendermintlog.Info("load state finish", "state", state, "validators", state.Validators)
tendermintlog.Debug("Load state finish", "state", state)
valNodes, err := client.QueryValidatorsByHeight(curHeight)
if err == nil && valNodes != nil {
if len(valNodes.Nodes) > 0 {
tendermintlog.Info("StartConsensus validators update", "update-valnodes", valNodes)
prevValSet := state.LastValidators.Copy()
nextValSet := prevValSet.Copy()
err := updateValidators(nextValSet, valNodes.Nodes)
if err != nil {
tendermintlog.Error("Error changing validator set", "error", err)
//return s, fmt.Errorf("Error changing validator set: %v", err)
}
// change results from this height but only applies to the next height
state.LastHeightValidatorsChanged = curHeight + 1
nextValSet.IncrementAccum(1)
state.Validators = nextValSet
tendermintlog.Info("StartConsensus validators updated", "update-valnodes", valNodes)
}
}
tendermintlog.Info("StartConsensus", "real validators", state.Validators)
tendermintlog.Info("StartConsensus", "validators", state.Validators)
// Log whether this node is a validator or an observer
if state.Validators.HasAddress(client.privValidator.GetAddress()) {
tendermintlog.Info("This node is a validator")
......@@ -574,3 +573,38 @@ func (client *Client) LoadProposalBlock(height int64) *tmtypes.TendermintBlock {
}
return proposalBlock
}
// Query_IsHealthy query whether consensus is sync
func (client *Client) Query_IsHealthy(req *types.ReqNil) (types.Message, error) {
if client == nil {
return nil, fmt.Errorf("%s", "client not bind message queue.")
}
isHealthy := false
if client.IsCaughtUp() && client.GetCurrentHeight() <= client.csState.GetRoundState().Height+1 {
isHealthy = true
}
return &tmtypes.IsHealthy{IsHealthy: isHealthy}, nil
}
// Query_NodeInfo query validator node info
func (client *Client) Query_NodeInfo(req *types.ReqNil) (types.Message, error) {
if client == nil {
return nil, fmt.Errorf("%s", "client not bind message queue.")
}
nodes := client.csState.GetRoundState().Validators.Validators
validators := make([]*tmtypes.Validator, 0)
for _, node := range nodes {
if node == nil {
validators = append(validators, &tmtypes.Validator{})
} else {
item := &tmtypes.Validator{
Address: node.Address,
PubKey: node.PubKey,
VotingPower: node.VotingPower,
Accum: node.Accum,
}
validators = append(validators, item)
}
}
return &tmtypes.ValidatorSet{Validators: validators, Proposer: &tmtypes.Validator{}}, nil
}
// Copyright Fuzamei Corp. 2018 All Rights Reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package commands
import (
"encoding/hex"
"fmt"
"math/rand"
"os"
"time"
"github.com/33cn/chain33/common"
"github.com/33cn/chain33/common/address"
"github.com/33cn/chain33/common/crypto"
"github.com/33cn/chain33/rpc/jsonclient"
rpctypes "github.com/33cn/chain33/rpc/types"
"github.com/33cn/chain33/types"
vt "github.com/33cn/plugin/plugin/dapp/valnode/types"
"github.com/spf13/cobra"
)
// ValCmd valnode cmd register
func ValCmd() *cobra.Command {
cmd := &cobra.Command{
Use: "valnode",
Short: "Construct valnode transactions",
Args: cobra.MinimumNArgs(1),
}
cmd.AddCommand(
IsSyncCmd(),
GetBlockInfoCmd(),
GetNodeInfoCmd(),
AddNodeCmd(),
)
return cmd
}
// IsSyncCmd query tendermint is sync
func IsSyncCmd() *cobra.Command {
cmd := &cobra.Command{
Use: "is_sync",
Short: "Query tendermint consensus is sync",
Run: isSync,
}
return cmd
}
func isSync(cmd *cobra.Command, args []string) {
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
var res bool
ctx := jsonclient.NewRPCCtx(rpcLaddr, "valnode.IsSync", nil, &res)
ctx.Run()
}
// GetNodeInfoCmd get validator nodes
func GetNodeInfoCmd() *cobra.Command {
cmd := &cobra.Command{
Use: "nodes",
Short: "Get tendermint validator nodes",
Run: getNodeInfo,
}
return cmd
}
func getNodeInfo(cmd *cobra.Command, args []string) {
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
var res string
ctx := jsonclient.NewRPCCtx(rpcLaddr, "valnode.GetNodeInfo", nil, &res)
ctx.SetResultCb(parseNodeInfo)
ctx.Run()
}
func parseNodeInfo(arg interface{}) (interface{}, error) {
var result vt.ValidatorSet
res := arg.(*string)
data, err := hex.DecodeString(*res)
if err != nil {
return nil, err
}
err = types.Decode(data, &result)
if err != nil {
return nil, err
}
return result.Validators, nil
}
// GetBlockInfoCmd get block info
func GetBlockInfoCmd() *cobra.Command {
cmd := &cobra.Command{
Use: "info",
Short: "Get tendermint consensus info",
Run: getBlockInfo,
}
addGetBlockInfoFlags(cmd)
return cmd
}
func addGetBlockInfoFlags(cmd *cobra.Command) {
cmd.Flags().Int64P("height", "t", 0, "block height (larger than 0)")
cmd.MarkFlagRequired("height")
}
func getBlockInfo(cmd *cobra.Command, args []string) {
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
height, _ := cmd.Flags().GetInt64("height")
req := &vt.ReqBlockInfo{
Height: height,
}
params := rpctypes.Query4Jrpc{
Execer: vt.ValNodeX,
FuncName: "GetBlockInfoByHeight",
Payload: types.MustPBToJSON(req),
}
var res vt.TendermintBlockInfo
ctx := jsonclient.NewRPCCtx(rpcLaddr, "Chain33.Query", params, &res)
ctx.Run()
}
// AddNodeCmd add validator node
func AddNodeCmd() *cobra.Command {
cmd := &cobra.Command{
Use: "add",
Short: "Add tendermint validator node",
Run: addNode,
}
addNodeFlags(cmd)
return cmd
}
func addNodeFlags(cmd *cobra.Command) {
cmd.Flags().StringP("pubkey", "p", "", "public key")
cmd.MarkFlagRequired("pubkey")
cmd.Flags().Int64P("power", "w", 0, "voting power")
cmd.MarkFlagRequired("power")
}
func addNode(cmd *cobra.Command, args []string) {
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
pubkey, _ := cmd.Flags().GetString("pubkey")
power, _ := cmd.Flags().GetInt64("power")
pubkeybyte, err := hex.DecodeString(pubkey)
if err != nil {
fmt.Fprintln(os.Stderr, err)
return
}
privkey, err := getprivkey()
if err != nil {
fmt.Fprintln(os.Stderr, err)
return
}
value := &vt.ValNodeAction_Node{Node: &vt.ValNode{PubKey: pubkeybyte, Power: power}}
action := &vt.ValNodeAction{Value: value, Ty: vt.ValNodeActionUpdate}
tx := &types.Transaction{Execer: []byte(vt.ValNodeX), Payload: types.Encode(action), Fee: 0}
err = tx.SetRealFee(types.GInt("MinFee"))
if err != nil {
fmt.Fprintln(os.Stderr, err)
return
}
random := rand.New(rand.NewSource(time.Now().UnixNano()))
tx.Nonce = random.Int63()
tx.To = address.ExecAddress(vt.ValNodeX)
tx.Sign(types.SECP256K1, privkey)
txHex := types.Encode(tx)
data := hex.EncodeToString(txHex)
params := rpctypes.RawParm{
Data: data,
}
ctx := jsonclient.NewRPCCtx(rpcLaddr, "Chain33.SendTransaction", params, nil)
ctx.RunWithoutMarshal()
}
func getprivkey() (crypto.PrivKey, error) {
key := "CC38546E9E659D15E6B4893F0AB32A06D103931A8230B0BDE71459D2B27D6944"
cr, err := crypto.New(types.GetSignName("", types.SECP256K1))
if err != nil {
return nil, err
}
bkey, err := common.FromHex(key)
if err != nil {
return nil, err
}
priv, err := cr.PrivKeyFromBytes(bkey)
if err != nil {
return nil, err
}
return priv, nil
}
......@@ -5,6 +5,7 @@
package executor
import (
"encoding/hex"
"errors"
"github.com/33cn/chain33/types"
......@@ -20,7 +21,7 @@ func (val *ValNode) ExecLocal_Node(node *pty.ValNode, tx *types.Transaction, rec
if node.GetPower() < 0 {
return nil, errors.New("validator power must not be negative")
}
clog.Info("update validator", "pubkey", node.GetPubKey(), "power", node.GetPower())
clog.Info("update validator", "pubkey", hex.EncodeToString(node.GetPubKey()), "power", node.GetPower())
key := CalcValNodeUpdateHeightIndexKey(val.GetHeight(), index)
set.KV = append(set.KV, &types.KeyValue{Key: key, Value: types.Encode(node)})
return set, nil
......
......@@ -6,6 +6,8 @@ package valnode
import (
"github.com/33cn/chain33/pluginmgr"
"github.com/33cn/plugin/plugin/dapp/valnode/rpc"
"github.com/33cn/plugin/plugin/dapp/valnode/commands"
"github.com/33cn/plugin/plugin/dapp/valnode/executor"
"github.com/33cn/plugin/plugin/dapp/valnode/types"
)
......@@ -15,7 +17,7 @@ func init() {
Name: types.ValNodeX,
ExecName: executor.GetName(),
Exec: executor.Init,
Cmd: nil,
RPC: nil,
Cmd: commands.ValCmd,
RPC: rpc.Init,
})
}
......@@ -186,3 +186,7 @@ message Heartbeat {
int32 sequence = 5;
bytes signature = 6;
}
message IsHealthy {
bool isHealthy = 1;
}
\ No newline at end of file
syntax = "proto3";
package types;
import "common.proto";
import "tendermint.proto";
message ValNode {
......@@ -26,4 +27,9 @@ message ReqNodeInfo {
message ReqBlockInfo {
int64 height = 1;
}
service valnode {
rpc IsSync(ReqNil) returns (IsHealthy) {}
rpc GetNodeInfo(ReqNil) returns (ValidatorSet) {}
}
\ No newline at end of file
// Copyright Fuzamei Corp. 2018 All Rights Reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package rpc
import (
"context"
"encoding/hex"
"github.com/33cn/chain33/types"
vt "github.com/33cn/plugin/plugin/dapp/valnode/types"
)
// IsSync query is sync
func (c *channelClient) IsSync(ctx context.Context, req *types.ReqNil) (*vt.IsHealthy, error) {
data, err := c.QueryConsensusFunc("tendermint", "IsHealthy", &types.ReqNil{})
if err != nil {
return nil, err
}
if resp, ok := data.(*vt.IsHealthy); ok {
return resp, nil
}
return nil, types.ErrDecode
}
// IsSync query is sync
func (c *Jrpc) IsSync(req *types.ReqNil, result *interface{}) error {
data, err := c.cli.IsSync(context.Background(), req)
if err != nil {
return err
}
*result = data.IsHealthy
return nil
}
// GetNodeInfo query block info
func (c *channelClient) GetNodeInfo(ctx context.Context, req *types.ReqNil) (*vt.ValidatorSet, error) {
data, err := c.QueryConsensusFunc("tendermint", "NodeInfo", &types.ReqNil{})
if err != nil {
return nil, err
}
if resp, ok := data.(*vt.ValidatorSet); ok {
return resp, nil
}
return nil, types.ErrDecode
}
// GetNodeInfo query block info
func (c *Jrpc) GetNodeInfo(req *types.ReqNil, result *interface{}) error {
data, err := c.cli.GetNodeInfo(context.Background(), req)
if err != nil {
return err
}
*result = hex.EncodeToString(types.Encode(data))
return nil
}
/*
* Copyright Fuzamei Corp. 2018 All Rights Reserved.
* Use of this source code is governed by a BSD-style
* license that can be found in the LICENSE file.
*/
package rpc
//only load all plugin and system
import (
"encoding/hex"
"testing"
"github.com/33cn/chain33/client/mocks"
rpctypes "github.com/33cn/chain33/rpc/types"
"github.com/33cn/chain33/types"
vt "github.com/33cn/plugin/plugin/dapp/valnode/types"
"github.com/stretchr/testify/assert"
"golang.org/x/net/context"
)
func newGrpc(api *mocks.QueueProtocolAPI) *channelClient {
return &channelClient{
ChannelClient: rpctypes.ChannelClient{QueueProtocolAPI: api},
}
}
func newJrpc(api *mocks.QueueProtocolAPI) *Jrpc {
return &Jrpc{cli: newGrpc(api)}
}
func TestChannelClient_IsSync(t *testing.T) {
api := new(mocks.QueueProtocolAPI)
client := newGrpc(api)
client.Init("valnode", nil, nil, nil)
req := &types.ReqNil{}
api.On("QueryConsensusFunc", "tendermint", "IsHealthy", req).Return(&vt.IsHealthy{IsHealthy: true}, nil)
result, err := client.IsSync(context.Background(), req)
assert.Nil(t, err)
assert.Equal(t, true, result.IsHealthy)
}
func TestJrpc_IsSync(t *testing.T) {
api := new(mocks.QueueProtocolAPI)
J := newJrpc(api)
req := &types.ReqNil{}
var result interface{}
api.On("QueryConsensusFunc", "tendermint", "IsHealthy", req).Return(&vt.IsHealthy{IsHealthy: true}, nil)
err := J.IsSync(req, &result)
assert.Nil(t, err)
assert.Equal(t, true, result)
}
func TestChannelClient_GetNodeInfo(t *testing.T) {
api := new(mocks.QueueProtocolAPI)
client := newGrpc(api)
client.Init("valnode", nil, nil, nil)
req := &types.ReqNil{}
node := &vt.Validator{
Address: []byte("aaa"),
PubKey: []byte("bbb"),
VotingPower: 10,
Accum: -1,
}
set := &vt.ValidatorSet{
Validators: []*vt.Validator{node},
Proposer: node,
}
api.On("QueryConsensusFunc", "tendermint", "NodeInfo", req).Return(set, nil)
result, err := client.GetNodeInfo(context.Background(), req)
assert.Nil(t, err)
assert.EqualValues(t, set, result)
}
func TestJrpc_GetNodeInfo(t *testing.T) {
api := new(mocks.QueueProtocolAPI)
J := newJrpc(api)
req := &types.ReqNil{}
var result interface{}
node := &vt.Validator{
Address: []byte("aaa"),
PubKey: []byte("bbb"),
VotingPower: 10,
Accum: -1,
}
set := &vt.ValidatorSet{
Validators: []*vt.Validator{node},
Proposer: node,
}
api.On("QueryConsensusFunc", "tendermint", "NodeInfo", req).Return(set, nil)
err := J.GetNodeInfo(req, &result)
assert.Nil(t, err)
assert.EqualValues(t, hex.EncodeToString(types.Encode(set)), result)
}
// Copyright Fuzamei Corp. 2018 All Rights Reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package rpc
import (
"github.com/33cn/chain33/rpc/types"
vt "github.com/33cn/plugin/plugin/dapp/valnode/types"
)
// Jrpc valnode jrpc interface
type Jrpc struct {
cli *channelClient
}
// Grpc valnode Grpc interface
type Grpc struct {
*channelClient
}
type channelClient struct {
types.ChannelClient
}
// Init valnode rpc register
func Init(name string, s types.RPCServer) {
cli := &channelClient{}
grpc := &Grpc{channelClient: cli}
cli.Init(name, s, &Jrpc{cli: cli}, grpc)
vt.RegisterValnodeServer(s.GRPC(), grpc)
}
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: tendermint.proto
/*
Package types is a generated protocol buffer package.
It is generated from these files:
tendermint.proto
valnode.proto
It has these top-level messages:
BlockID
TendermintBitArray
Vote
TendermintCommit
TendermintBlockInfo
BlockSize
TxSize
BlockGossip
EvidenceParams
ConsensusParams
Validator
ValidatorSet
State
DuplicateVoteEvidence
EvidenceEnvelope
EvidenceData
TendermintBlockHeader
TendermintBlock
Proposal
NewRoundStepMsg
CommitStepMsg
ProposalPOLMsg
HasVoteMsg
VoteSetMaj23Msg
VoteSetBitsMsg
Heartbeat
IsHealthy
ValNode
ValNodes
ValNodeAction
ReqNodeInfo
ReqBlockInfo
*/
package types
import (
fmt "fmt"
math "math"
types "github.com/33cn/chain33/types"
proto "github.com/golang/protobuf/proto"
)
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import types2 "github.com/33cn/chain33/types"
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
......@@ -23,36 +61,13 @@ var _ = math.Inf
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
type BlockID struct {
Hash []byte `protobuf:"bytes,1,opt,name=Hash,proto3" json:"Hash,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *BlockID) Reset() { *m = BlockID{} }
func (m *BlockID) String() string { return proto.CompactTextString(m) }
func (*BlockID) ProtoMessage() {}
func (*BlockID) Descriptor() ([]byte, []int) {
return fileDescriptor_04f926c8da23c367, []int{0}
}
func (m *BlockID) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BlockID.Unmarshal(m, b)
}
func (m *BlockID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_BlockID.Marshal(b, m, deterministic)
}
func (m *BlockID) XXX_Merge(src proto.Message) {
xxx_messageInfo_BlockID.Merge(m, src)
}
func (m *BlockID) XXX_Size() int {
return xxx_messageInfo_BlockID.Size(m)
}
func (m *BlockID) XXX_DiscardUnknown() {
xxx_messageInfo_BlockID.DiscardUnknown(m)
Hash []byte `protobuf:"bytes,1,opt,name=Hash,proto3" json:"Hash,omitempty"`
}
var xxx_messageInfo_BlockID proto.InternalMessageInfo
func (m *BlockID) Reset() { *m = BlockID{} }
func (m *BlockID) String() string { return proto.CompactTextString(m) }
func (*BlockID) ProtoMessage() {}
func (*BlockID) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
func (m *BlockID) GetHash() []byte {
if m != nil {
......@@ -62,37 +77,14 @@ func (m *BlockID) GetHash() []byte {
}
type TendermintBitArray struct {
Bits int32 `protobuf:"varint,1,opt,name=Bits,proto3" json:"Bits,omitempty"`
Elems []uint64 `protobuf:"varint,2,rep,packed,name=Elems,proto3" json:"Elems,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TendermintBitArray) Reset() { *m = TendermintBitArray{} }
func (m *TendermintBitArray) String() string { return proto.CompactTextString(m) }
func (*TendermintBitArray) ProtoMessage() {}
func (*TendermintBitArray) Descriptor() ([]byte, []int) {
return fileDescriptor_04f926c8da23c367, []int{1}
}
func (m *TendermintBitArray) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TendermintBitArray.Unmarshal(m, b)
}
func (m *TendermintBitArray) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TendermintBitArray.Marshal(b, m, deterministic)
}
func (m *TendermintBitArray) XXX_Merge(src proto.Message) {
xxx_messageInfo_TendermintBitArray.Merge(m, src)
}
func (m *TendermintBitArray) XXX_Size() int {
return xxx_messageInfo_TendermintBitArray.Size(m)
}
func (m *TendermintBitArray) XXX_DiscardUnknown() {
xxx_messageInfo_TendermintBitArray.DiscardUnknown(m)
Bits int32 `protobuf:"varint,1,opt,name=Bits" json:"Bits,omitempty"`
Elems []uint64 `protobuf:"varint,2,rep,packed,name=Elems" json:"Elems,omitempty"`
}
var xxx_messageInfo_TendermintBitArray proto.InternalMessageInfo
func (m *TendermintBitArray) Reset() { *m = TendermintBitArray{} }
func (m *TendermintBitArray) String() string { return proto.CompactTextString(m) }
func (*TendermintBitArray) ProtoMessage() {}
func (*TendermintBitArray) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
func (m *TendermintBitArray) GetBits() int32 {
if m != nil {
......@@ -109,43 +101,20 @@ func (m *TendermintBitArray) GetElems() []uint64 {
}
type Vote struct {
ValidatorAddress []byte `protobuf:"bytes,1,opt,name=ValidatorAddress,proto3" json:"ValidatorAddress,omitempty"`
ValidatorIndex int32 `protobuf:"varint,2,opt,name=ValidatorIndex,proto3" json:"ValidatorIndex,omitempty"`
Height int64 `protobuf:"varint,3,opt,name=Height,proto3" json:"Height,omitempty"`
Round int32 `protobuf:"varint,4,opt,name=Round,proto3" json:"Round,omitempty"`
Timestamp int64 `protobuf:"varint,5,opt,name=Timestamp,proto3" json:"Timestamp,omitempty"`
Type uint32 `protobuf:"varint,6,opt,name=Type,proto3" json:"Type,omitempty"`
BlockID *BlockID `protobuf:"bytes,7,opt,name=BlockID,proto3" json:"BlockID,omitempty"`
Signature []byte `protobuf:"bytes,8,opt,name=Signature,proto3" json:"Signature,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Vote) Reset() { *m = Vote{} }
func (m *Vote) String() string { return proto.CompactTextString(m) }
func (*Vote) ProtoMessage() {}
func (*Vote) Descriptor() ([]byte, []int) {
return fileDescriptor_04f926c8da23c367, []int{2}
}
func (m *Vote) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Vote.Unmarshal(m, b)
}
func (m *Vote) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Vote.Marshal(b, m, deterministic)
}
func (m *Vote) XXX_Merge(src proto.Message) {
xxx_messageInfo_Vote.Merge(m, src)
}
func (m *Vote) XXX_Size() int {
return xxx_messageInfo_Vote.Size(m)
}
func (m *Vote) XXX_DiscardUnknown() {
xxx_messageInfo_Vote.DiscardUnknown(m)
ValidatorAddress []byte `protobuf:"bytes,1,opt,name=ValidatorAddress,proto3" json:"ValidatorAddress,omitempty"`
ValidatorIndex int32 `protobuf:"varint,2,opt,name=ValidatorIndex" json:"ValidatorIndex,omitempty"`
Height int64 `protobuf:"varint,3,opt,name=Height" json:"Height,omitempty"`
Round int32 `protobuf:"varint,4,opt,name=Round" json:"Round,omitempty"`
Timestamp int64 `protobuf:"varint,5,opt,name=Timestamp" json:"Timestamp,omitempty"`
Type uint32 `protobuf:"varint,6,opt,name=Type" json:"Type,omitempty"`
BlockID *BlockID `protobuf:"bytes,7,opt,name=BlockID" json:"BlockID,omitempty"`
Signature []byte `protobuf:"bytes,8,opt,name=Signature,proto3" json:"Signature,omitempty"`
}
var xxx_messageInfo_Vote proto.InternalMessageInfo
func (m *Vote) Reset() { *m = Vote{} }
func (m *Vote) String() string { return proto.CompactTextString(m) }
func (*Vote) ProtoMessage() {}
func (*Vote) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
func (m *Vote) GetValidatorAddress() []byte {
if m != nil {
......@@ -204,37 +173,14 @@ func (m *Vote) GetSignature() []byte {
}
type TendermintCommit struct {
BlockID *BlockID `protobuf:"bytes,1,opt,name=BlockID,proto3" json:"BlockID,omitempty"`
Precommits []*Vote `protobuf:"bytes,2,rep,name=Precommits,proto3" json:"Precommits,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
BlockID *BlockID `protobuf:"bytes,1,opt,name=BlockID" json:"BlockID,omitempty"`
Precommits []*Vote `protobuf:"bytes,2,rep,name=Precommits" json:"Precommits,omitempty"`
}
func (m *TendermintCommit) Reset() { *m = TendermintCommit{} }
func (m *TendermintCommit) String() string { return proto.CompactTextString(m) }
func (*TendermintCommit) ProtoMessage() {}
func (*TendermintCommit) Descriptor() ([]byte, []int) {
return fileDescriptor_04f926c8da23c367, []int{3}
}
func (m *TendermintCommit) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TendermintCommit.Unmarshal(m, b)
}
func (m *TendermintCommit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TendermintCommit.Marshal(b, m, deterministic)
}
func (m *TendermintCommit) XXX_Merge(src proto.Message) {
xxx_messageInfo_TendermintCommit.Merge(m, src)
}
func (m *TendermintCommit) XXX_Size() int {
return xxx_messageInfo_TendermintCommit.Size(m)
}
func (m *TendermintCommit) XXX_DiscardUnknown() {
xxx_messageInfo_TendermintCommit.DiscardUnknown(m)
}
var xxx_messageInfo_TendermintCommit proto.InternalMessageInfo
func (m *TendermintCommit) Reset() { *m = TendermintCommit{} }
func (m *TendermintCommit) String() string { return proto.CompactTextString(m) }
func (*TendermintCommit) ProtoMessage() {}
func (*TendermintCommit) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
func (m *TendermintCommit) GetBlockID() *BlockID {
if m != nil {
......@@ -251,40 +197,17 @@ func (m *TendermintCommit) GetPrecommits() []*Vote {
}
type TendermintBlockInfo struct {
SeenCommit *TendermintCommit `protobuf:"bytes,1,opt,name=SeenCommit,proto3" json:"SeenCommit,omitempty"`
LastCommit *TendermintCommit `protobuf:"bytes,2,opt,name=LastCommit,proto3" json:"LastCommit,omitempty"`
State *State `protobuf:"bytes,3,opt,name=State,proto3" json:"State,omitempty"`
Proposal *Proposal `protobuf:"bytes,4,opt,name=Proposal,proto3" json:"Proposal,omitempty"`
Block *TendermintBlock `protobuf:"bytes,5,opt,name=block,proto3" json:"block,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TendermintBlockInfo) Reset() { *m = TendermintBlockInfo{} }
func (m *TendermintBlockInfo) String() string { return proto.CompactTextString(m) }
func (*TendermintBlockInfo) ProtoMessage() {}
func (*TendermintBlockInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_04f926c8da23c367, []int{4}
SeenCommit *TendermintCommit `protobuf:"bytes,1,opt,name=SeenCommit" json:"SeenCommit,omitempty"`
LastCommit *TendermintCommit `protobuf:"bytes,2,opt,name=LastCommit" json:"LastCommit,omitempty"`
State *State `protobuf:"bytes,3,opt,name=State" json:"State,omitempty"`
Proposal *Proposal `protobuf:"bytes,4,opt,name=Proposal" json:"Proposal,omitempty"`
Block *TendermintBlock `protobuf:"bytes,5,opt,name=block" json:"block,omitempty"`
}
func (m *TendermintBlockInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TendermintBlockInfo.Unmarshal(m, b)
}
func (m *TendermintBlockInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TendermintBlockInfo.Marshal(b, m, deterministic)
}
func (m *TendermintBlockInfo) XXX_Merge(src proto.Message) {
xxx_messageInfo_TendermintBlockInfo.Merge(m, src)
}
func (m *TendermintBlockInfo) XXX_Size() int {
return xxx_messageInfo_TendermintBlockInfo.Size(m)
}
func (m *TendermintBlockInfo) XXX_DiscardUnknown() {
xxx_messageInfo_TendermintBlockInfo.DiscardUnknown(m)
}
var xxx_messageInfo_TendermintBlockInfo proto.InternalMessageInfo
func (m *TendermintBlockInfo) Reset() { *m = TendermintBlockInfo{} }
func (m *TendermintBlockInfo) String() string { return proto.CompactTextString(m) }
func (*TendermintBlockInfo) ProtoMessage() {}
func (*TendermintBlockInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
func (m *TendermintBlockInfo) GetSeenCommit() *TendermintCommit {
if m != nil {
......@@ -322,38 +245,15 @@ func (m *TendermintBlockInfo) GetBlock() *TendermintBlock {
}
type BlockSize struct {
MaxBytes int32 `protobuf:"varint,1,opt,name=MaxBytes,proto3" json:"MaxBytes,omitempty"`
MaxTxs int32 `protobuf:"varint,2,opt,name=MaxTxs,proto3" json:"MaxTxs,omitempty"`
MaxGas int64 `protobuf:"varint,3,opt,name=MaxGas,proto3" json:"MaxGas,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
MaxBytes int32 `protobuf:"varint,1,opt,name=MaxBytes" json:"MaxBytes,omitempty"`
MaxTxs int32 `protobuf:"varint,2,opt,name=MaxTxs" json:"MaxTxs,omitempty"`
MaxGas int64 `protobuf:"varint,3,opt,name=MaxGas" json:"MaxGas,omitempty"`
}
func (m *BlockSize) Reset() { *m = BlockSize{} }
func (m *BlockSize) String() string { return proto.CompactTextString(m) }
func (*BlockSize) ProtoMessage() {}
func (*BlockSize) Descriptor() ([]byte, []int) {
return fileDescriptor_04f926c8da23c367, []int{5}
}
func (m *BlockSize) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BlockSize.Unmarshal(m, b)
}
func (m *BlockSize) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_BlockSize.Marshal(b, m, deterministic)
}
func (m *BlockSize) XXX_Merge(src proto.Message) {
xxx_messageInfo_BlockSize.Merge(m, src)
}
func (m *BlockSize) XXX_Size() int {
return xxx_messageInfo_BlockSize.Size(m)
}
func (m *BlockSize) XXX_DiscardUnknown() {
xxx_messageInfo_BlockSize.DiscardUnknown(m)
}
var xxx_messageInfo_BlockSize proto.InternalMessageInfo
func (m *BlockSize) Reset() { *m = BlockSize{} }
func (m *BlockSize) String() string { return proto.CompactTextString(m) }
func (*BlockSize) ProtoMessage() {}
func (*BlockSize) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
func (m *BlockSize) GetMaxBytes() int32 {
if m != nil {
......@@ -377,37 +277,14 @@ func (m *BlockSize) GetMaxGas() int64 {
}
type TxSize struct {
MaxBytes int32 `protobuf:"varint,1,opt,name=MaxBytes,proto3" json:"MaxBytes,omitempty"`
MaxGas int64 `protobuf:"varint,2,opt,name=MaxGas,proto3" json:"MaxGas,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TxSize) Reset() { *m = TxSize{} }
func (m *TxSize) String() string { return proto.CompactTextString(m) }
func (*TxSize) ProtoMessage() {}
func (*TxSize) Descriptor() ([]byte, []int) {
return fileDescriptor_04f926c8da23c367, []int{6}
}
func (m *TxSize) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TxSize.Unmarshal(m, b)
}
func (m *TxSize) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TxSize.Marshal(b, m, deterministic)
}
func (m *TxSize) XXX_Merge(src proto.Message) {
xxx_messageInfo_TxSize.Merge(m, src)
}
func (m *TxSize) XXX_Size() int {
return xxx_messageInfo_TxSize.Size(m)
}
func (m *TxSize) XXX_DiscardUnknown() {
xxx_messageInfo_TxSize.DiscardUnknown(m)
MaxBytes int32 `protobuf:"varint,1,opt,name=MaxBytes" json:"MaxBytes,omitempty"`
MaxGas int64 `protobuf:"varint,2,opt,name=MaxGas" json:"MaxGas,omitempty"`
}
var xxx_messageInfo_TxSize proto.InternalMessageInfo
func (m *TxSize) Reset() { *m = TxSize{} }
func (m *TxSize) String() string { return proto.CompactTextString(m) }
func (*TxSize) ProtoMessage() {}
func (*TxSize) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
func (m *TxSize) GetMaxBytes() int32 {
if m != nil {
......@@ -424,36 +301,13 @@ func (m *TxSize) GetMaxGas() int64 {
}
type BlockGossip struct {
BlockPartSizeBytes int32 `protobuf:"varint,1,opt,name=BlockPartSizeBytes,proto3" json:"BlockPartSizeBytes,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *BlockGossip) Reset() { *m = BlockGossip{} }
func (m *BlockGossip) String() string { return proto.CompactTextString(m) }
func (*BlockGossip) ProtoMessage() {}
func (*BlockGossip) Descriptor() ([]byte, []int) {
return fileDescriptor_04f926c8da23c367, []int{7}
}
func (m *BlockGossip) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BlockGossip.Unmarshal(m, b)
}
func (m *BlockGossip) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_BlockGossip.Marshal(b, m, deterministic)
}
func (m *BlockGossip) XXX_Merge(src proto.Message) {
xxx_messageInfo_BlockGossip.Merge(m, src)
}
func (m *BlockGossip) XXX_Size() int {
return xxx_messageInfo_BlockGossip.Size(m)
}
func (m *BlockGossip) XXX_DiscardUnknown() {
xxx_messageInfo_BlockGossip.DiscardUnknown(m)
BlockPartSizeBytes int32 `protobuf:"varint,1,opt,name=BlockPartSizeBytes" json:"BlockPartSizeBytes,omitempty"`
}
var xxx_messageInfo_BlockGossip proto.InternalMessageInfo
func (m *BlockGossip) Reset() { *m = BlockGossip{} }
func (m *BlockGossip) String() string { return proto.CompactTextString(m) }
func (*BlockGossip) ProtoMessage() {}
func (*BlockGossip) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
func (m *BlockGossip) GetBlockPartSizeBytes() int32 {
if m != nil {
......@@ -463,36 +317,13 @@ func (m *BlockGossip) GetBlockPartSizeBytes() int32 {
}
type EvidenceParams struct {
MaxAge int64 `protobuf:"varint,1,opt,name=MaxAge,proto3" json:"MaxAge,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *EvidenceParams) Reset() { *m = EvidenceParams{} }
func (m *EvidenceParams) String() string { return proto.CompactTextString(m) }
func (*EvidenceParams) ProtoMessage() {}
func (*EvidenceParams) Descriptor() ([]byte, []int) {
return fileDescriptor_04f926c8da23c367, []int{8}
}
func (m *EvidenceParams) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_EvidenceParams.Unmarshal(m, b)
}
func (m *EvidenceParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_EvidenceParams.Marshal(b, m, deterministic)
}
func (m *EvidenceParams) XXX_Merge(src proto.Message) {
xxx_messageInfo_EvidenceParams.Merge(m, src)
}
func (m *EvidenceParams) XXX_Size() int {
return xxx_messageInfo_EvidenceParams.Size(m)
}
func (m *EvidenceParams) XXX_DiscardUnknown() {
xxx_messageInfo_EvidenceParams.DiscardUnknown(m)
MaxAge int64 `protobuf:"varint,1,opt,name=MaxAge" json:"MaxAge,omitempty"`
}
var xxx_messageInfo_EvidenceParams proto.InternalMessageInfo
func (m *EvidenceParams) Reset() { *m = EvidenceParams{} }
func (m *EvidenceParams) String() string { return proto.CompactTextString(m) }
func (*EvidenceParams) ProtoMessage() {}
func (*EvidenceParams) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
func (m *EvidenceParams) GetMaxAge() int64 {
if m != nil {
......@@ -502,39 +333,16 @@ func (m *EvidenceParams) GetMaxAge() int64 {
}
type ConsensusParams struct {
BlockSize *BlockSize `protobuf:"bytes,1,opt,name=BlockSize,proto3" json:"BlockSize,omitempty"`
TxSize *TxSize `protobuf:"bytes,2,opt,name=TxSize,proto3" json:"TxSize,omitempty"`
BlockGossip *BlockGossip `protobuf:"bytes,3,opt,name=BlockGossip,proto3" json:"BlockGossip,omitempty"`
EvidenceParams *EvidenceParams `protobuf:"bytes,4,opt,name=EvidenceParams,proto3" json:"EvidenceParams,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ConsensusParams) Reset() { *m = ConsensusParams{} }
func (m *ConsensusParams) String() string { return proto.CompactTextString(m) }
func (*ConsensusParams) ProtoMessage() {}
func (*ConsensusParams) Descriptor() ([]byte, []int) {
return fileDescriptor_04f926c8da23c367, []int{9}
}
func (m *ConsensusParams) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ConsensusParams.Unmarshal(m, b)
}
func (m *ConsensusParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ConsensusParams.Marshal(b, m, deterministic)
}
func (m *ConsensusParams) XXX_Merge(src proto.Message) {
xxx_messageInfo_ConsensusParams.Merge(m, src)
}
func (m *ConsensusParams) XXX_Size() int {
return xxx_messageInfo_ConsensusParams.Size(m)
}
func (m *ConsensusParams) XXX_DiscardUnknown() {
xxx_messageInfo_ConsensusParams.DiscardUnknown(m)
BlockSize *BlockSize `protobuf:"bytes,1,opt,name=BlockSize" json:"BlockSize,omitempty"`
TxSize *TxSize `protobuf:"bytes,2,opt,name=TxSize" json:"TxSize,omitempty"`
BlockGossip *BlockGossip `protobuf:"bytes,3,opt,name=BlockGossip" json:"BlockGossip,omitempty"`
EvidenceParams *EvidenceParams `protobuf:"bytes,4,opt,name=EvidenceParams" json:"EvidenceParams,omitempty"`
}
var xxx_messageInfo_ConsensusParams proto.InternalMessageInfo
func (m *ConsensusParams) Reset() { *m = ConsensusParams{} }
func (m *ConsensusParams) String() string { return proto.CompactTextString(m) }
func (*ConsensusParams) ProtoMessage() {}
func (*ConsensusParams) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
func (m *ConsensusParams) GetBlockSize() *BlockSize {
if m != nil {
......@@ -565,39 +373,16 @@ func (m *ConsensusParams) GetEvidenceParams() *EvidenceParams {
}
type Validator struct {
Address []byte `protobuf:"bytes,1,opt,name=Address,proto3" json:"Address,omitempty"`
PubKey []byte `protobuf:"bytes,2,opt,name=PubKey,proto3" json:"PubKey,omitempty"`
VotingPower int64 `protobuf:"varint,3,opt,name=VotingPower,proto3" json:"VotingPower,omitempty"`
Accum int64 `protobuf:"varint,4,opt,name=Accum,proto3" json:"Accum,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
Address []byte `protobuf:"bytes,1,opt,name=Address,proto3" json:"Address,omitempty"`
PubKey []byte `protobuf:"bytes,2,opt,name=PubKey,proto3" json:"PubKey,omitempty"`
VotingPower int64 `protobuf:"varint,3,opt,name=VotingPower" json:"VotingPower,omitempty"`
Accum int64 `protobuf:"varint,4,opt,name=Accum" json:"Accum,omitempty"`
}
func (m *Validator) Reset() { *m = Validator{} }
func (m *Validator) String() string { return proto.CompactTextString(m) }
func (*Validator) ProtoMessage() {}
func (*Validator) Descriptor() ([]byte, []int) {
return fileDescriptor_04f926c8da23c367, []int{10}
}
func (m *Validator) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Validator.Unmarshal(m, b)
}
func (m *Validator) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Validator.Marshal(b, m, deterministic)
}
func (m *Validator) XXX_Merge(src proto.Message) {
xxx_messageInfo_Validator.Merge(m, src)
}
func (m *Validator) XXX_Size() int {
return xxx_messageInfo_Validator.Size(m)
}
func (m *Validator) XXX_DiscardUnknown() {
xxx_messageInfo_Validator.DiscardUnknown(m)
}
var xxx_messageInfo_Validator proto.InternalMessageInfo
func (m *Validator) Reset() { *m = Validator{} }
func (m *Validator) String() string { return proto.CompactTextString(m) }
func (*Validator) ProtoMessage() {}
func (*Validator) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
func (m *Validator) GetAddress() []byte {
if m != nil {
......@@ -628,37 +413,14 @@ func (m *Validator) GetAccum() int64 {
}
type ValidatorSet struct {
Validators []*Validator `protobuf:"bytes,1,rep,name=Validators,proto3" json:"Validators,omitempty"`
Proposer *Validator `protobuf:"bytes,2,opt,name=Proposer,proto3" json:"Proposer,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ValidatorSet) Reset() { *m = ValidatorSet{} }
func (m *ValidatorSet) String() string { return proto.CompactTextString(m) }
func (*ValidatorSet) ProtoMessage() {}
func (*ValidatorSet) Descriptor() ([]byte, []int) {
return fileDescriptor_04f926c8da23c367, []int{11}
}
func (m *ValidatorSet) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ValidatorSet.Unmarshal(m, b)
}
func (m *ValidatorSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ValidatorSet.Marshal(b, m, deterministic)
}
func (m *ValidatorSet) XXX_Merge(src proto.Message) {
xxx_messageInfo_ValidatorSet.Merge(m, src)
}
func (m *ValidatorSet) XXX_Size() int {
return xxx_messageInfo_ValidatorSet.Size(m)
}
func (m *ValidatorSet) XXX_DiscardUnknown() {
xxx_messageInfo_ValidatorSet.DiscardUnknown(m)
Validators []*Validator `protobuf:"bytes,1,rep,name=Validators" json:"Validators,omitempty"`
Proposer *Validator `protobuf:"bytes,2,opt,name=Proposer" json:"Proposer,omitempty"`
}
var xxx_messageInfo_ValidatorSet proto.InternalMessageInfo
func (m *ValidatorSet) Reset() { *m = ValidatorSet{} }
func (m *ValidatorSet) String() string { return proto.CompactTextString(m) }
func (*ValidatorSet) ProtoMessage() {}
func (*ValidatorSet) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
func (m *ValidatorSet) GetValidators() []*Validator {
if m != nil {
......@@ -675,47 +437,24 @@ func (m *ValidatorSet) GetProposer() *Validator {
}
type State struct {
ChainID string `protobuf:"bytes,1,opt,name=ChainID,proto3" json:"ChainID,omitempty"`
LastBlockHeight int64 `protobuf:"varint,2,opt,name=LastBlockHeight,proto3" json:"LastBlockHeight,omitempty"`
LastBlockTotalTx int64 `protobuf:"varint,3,opt,name=LastBlockTotalTx,proto3" json:"LastBlockTotalTx,omitempty"`
LastBlockID *BlockID `protobuf:"bytes,4,opt,name=LastBlockID,proto3" json:"LastBlockID,omitempty"`
LastBlockTime int64 `protobuf:"varint,5,opt,name=LastBlockTime,proto3" json:"LastBlockTime,omitempty"`
Validators *ValidatorSet `protobuf:"bytes,6,opt,name=Validators,proto3" json:"Validators,omitempty"`
LastValidators *ValidatorSet `protobuf:"bytes,7,opt,name=LastValidators,proto3" json:"LastValidators,omitempty"`
LastHeightValidatorsChanged int64 `protobuf:"varint,8,opt,name=LastHeightValidatorsChanged,proto3" json:"LastHeightValidatorsChanged,omitempty"`
ConsensusParams *ConsensusParams `protobuf:"bytes,9,opt,name=ConsensusParams,proto3" json:"ConsensusParams,omitempty"`
LastHeightConsensusParamsChanged int64 `protobuf:"varint,10,opt,name=LastHeightConsensusParamsChanged,proto3" json:"LastHeightConsensusParamsChanged,omitempty"`
ChainID string `protobuf:"bytes,1,opt,name=ChainID" json:"ChainID,omitempty"`
LastBlockHeight int64 `protobuf:"varint,2,opt,name=LastBlockHeight" json:"LastBlockHeight,omitempty"`
LastBlockTotalTx int64 `protobuf:"varint,3,opt,name=LastBlockTotalTx" json:"LastBlockTotalTx,omitempty"`
LastBlockID *BlockID `protobuf:"bytes,4,opt,name=LastBlockID" json:"LastBlockID,omitempty"`
LastBlockTime int64 `protobuf:"varint,5,opt,name=LastBlockTime" json:"LastBlockTime,omitempty"`
Validators *ValidatorSet `protobuf:"bytes,6,opt,name=Validators" json:"Validators,omitempty"`
LastValidators *ValidatorSet `protobuf:"bytes,7,opt,name=LastValidators" json:"LastValidators,omitempty"`
LastHeightValidatorsChanged int64 `protobuf:"varint,8,opt,name=LastHeightValidatorsChanged" json:"LastHeightValidatorsChanged,omitempty"`
ConsensusParams *ConsensusParams `protobuf:"bytes,9,opt,name=ConsensusParams" json:"ConsensusParams,omitempty"`
LastHeightConsensusParamsChanged int64 `protobuf:"varint,10,opt,name=LastHeightConsensusParamsChanged" json:"LastHeightConsensusParamsChanged,omitempty"`
LastResultsHash []byte `protobuf:"bytes,11,opt,name=LastResultsHash,proto3" json:"LastResultsHash,omitempty"`
AppHash []byte `protobuf:"bytes,12,opt,name=AppHash,proto3" json:"AppHash,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *State) Reset() { *m = State{} }
func (m *State) String() string { return proto.CompactTextString(m) }
func (*State) ProtoMessage() {}
func (*State) Descriptor() ([]byte, []int) {
return fileDescriptor_04f926c8da23c367, []int{12}
}
func (m *State) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_State.Unmarshal(m, b)
}
func (m *State) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_State.Marshal(b, m, deterministic)
}
func (m *State) XXX_Merge(src proto.Message) {
xxx_messageInfo_State.Merge(m, src)
}
func (m *State) XXX_Size() int {
return xxx_messageInfo_State.Size(m)
}
func (m *State) XXX_DiscardUnknown() {
xxx_messageInfo_State.DiscardUnknown(m)
}
var xxx_messageInfo_State proto.InternalMessageInfo
func (m *State) Reset() { *m = State{} }
func (m *State) String() string { return proto.CompactTextString(m) }
func (*State) ProtoMessage() {}
func (*State) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
func (m *State) GetChainID() string {
if m != nil {
......@@ -802,38 +541,15 @@ func (m *State) GetAppHash() []byte {
}
type DuplicateVoteEvidence struct {
PubKey string `protobuf:"bytes,1,opt,name=pubKey,proto3" json:"pubKey,omitempty"`
VoteA *Vote `protobuf:"bytes,2,opt,name=voteA,proto3" json:"voteA,omitempty"`
VoteB *Vote `protobuf:"bytes,3,opt,name=voteB,proto3" json:"voteB,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *DuplicateVoteEvidence) Reset() { *m = DuplicateVoteEvidence{} }
func (m *DuplicateVoteEvidence) String() string { return proto.CompactTextString(m) }
func (*DuplicateVoteEvidence) ProtoMessage() {}
func (*DuplicateVoteEvidence) Descriptor() ([]byte, []int) {
return fileDescriptor_04f926c8da23c367, []int{13}
}
func (m *DuplicateVoteEvidence) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DuplicateVoteEvidence.Unmarshal(m, b)
}
func (m *DuplicateVoteEvidence) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DuplicateVoteEvidence.Marshal(b, m, deterministic)
}
func (m *DuplicateVoteEvidence) XXX_Merge(src proto.Message) {
xxx_messageInfo_DuplicateVoteEvidence.Merge(m, src)
}
func (m *DuplicateVoteEvidence) XXX_Size() int {
return xxx_messageInfo_DuplicateVoteEvidence.Size(m)
}
func (m *DuplicateVoteEvidence) XXX_DiscardUnknown() {
xxx_messageInfo_DuplicateVoteEvidence.DiscardUnknown(m)
PubKey string `protobuf:"bytes,1,opt,name=pubKey" json:"pubKey,omitempty"`
VoteA *Vote `protobuf:"bytes,2,opt,name=voteA" json:"voteA,omitempty"`
VoteB *Vote `protobuf:"bytes,3,opt,name=voteB" json:"voteB,omitempty"`
}
var xxx_messageInfo_DuplicateVoteEvidence proto.InternalMessageInfo
func (m *DuplicateVoteEvidence) Reset() { *m = DuplicateVoteEvidence{} }
func (m *DuplicateVoteEvidence) String() string { return proto.CompactTextString(m) }
func (*DuplicateVoteEvidence) ProtoMessage() {}
func (*DuplicateVoteEvidence) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
func (m *DuplicateVoteEvidence) GetPubKey() string {
if m != nil {
......@@ -857,37 +573,14 @@ func (m *DuplicateVoteEvidence) GetVoteB() *Vote {
}
type EvidenceEnvelope struct {
TypeName string `protobuf:"bytes,1,opt,name=typeName,proto3" json:"typeName,omitempty"`
Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *EvidenceEnvelope) Reset() { *m = EvidenceEnvelope{} }
func (m *EvidenceEnvelope) String() string { return proto.CompactTextString(m) }
func (*EvidenceEnvelope) ProtoMessage() {}
func (*EvidenceEnvelope) Descriptor() ([]byte, []int) {
return fileDescriptor_04f926c8da23c367, []int{14}
}
func (m *EvidenceEnvelope) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_EvidenceEnvelope.Unmarshal(m, b)
}
func (m *EvidenceEnvelope) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_EvidenceEnvelope.Marshal(b, m, deterministic)
}
func (m *EvidenceEnvelope) XXX_Merge(src proto.Message) {
xxx_messageInfo_EvidenceEnvelope.Merge(m, src)
}
func (m *EvidenceEnvelope) XXX_Size() int {
return xxx_messageInfo_EvidenceEnvelope.Size(m)
}
func (m *EvidenceEnvelope) XXX_DiscardUnknown() {
xxx_messageInfo_EvidenceEnvelope.DiscardUnknown(m)
TypeName string `protobuf:"bytes,1,opt,name=typeName" json:"typeName,omitempty"`
Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
}
var xxx_messageInfo_EvidenceEnvelope proto.InternalMessageInfo
func (m *EvidenceEnvelope) Reset() { *m = EvidenceEnvelope{} }
func (m *EvidenceEnvelope) String() string { return proto.CompactTextString(m) }
func (*EvidenceEnvelope) ProtoMessage() {}
func (*EvidenceEnvelope) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
func (m *EvidenceEnvelope) GetTypeName() string {
if m != nil {
......@@ -904,36 +597,13 @@ func (m *EvidenceEnvelope) GetData() []byte {
}
type EvidenceData struct {
Evidence []*EvidenceEnvelope `protobuf:"bytes,1,rep,name=evidence,proto3" json:"evidence,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *EvidenceData) Reset() { *m = EvidenceData{} }
func (m *EvidenceData) String() string { return proto.CompactTextString(m) }
func (*EvidenceData) ProtoMessage() {}
func (*EvidenceData) Descriptor() ([]byte, []int) {
return fileDescriptor_04f926c8da23c367, []int{15}
}
func (m *EvidenceData) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_EvidenceData.Unmarshal(m, b)
}
func (m *EvidenceData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_EvidenceData.Marshal(b, m, deterministic)
}
func (m *EvidenceData) XXX_Merge(src proto.Message) {
xxx_messageInfo_EvidenceData.Merge(m, src)
}
func (m *EvidenceData) XXX_Size() int {
return xxx_messageInfo_EvidenceData.Size(m)
}
func (m *EvidenceData) XXX_DiscardUnknown() {
xxx_messageInfo_EvidenceData.DiscardUnknown(m)
Evidence []*EvidenceEnvelope `protobuf:"bytes,1,rep,name=evidence" json:"evidence,omitempty"`
}
var xxx_messageInfo_EvidenceData proto.InternalMessageInfo
func (m *EvidenceData) Reset() { *m = EvidenceData{} }
func (m *EvidenceData) String() string { return proto.CompactTextString(m) }
func (*EvidenceData) ProtoMessage() {}
func (*EvidenceData) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
func (m *EvidenceData) GetEvidence() []*EvidenceEnvelope {
if m != nil {
......@@ -943,48 +613,25 @@ func (m *EvidenceData) GetEvidence() []*EvidenceEnvelope {
}
type TendermintBlockHeader struct {
ChainID string `protobuf:"bytes,1,opt,name=chainID,proto3" json:"chainID,omitempty"`
Height int64 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"`
Round int64 `protobuf:"varint,3,opt,name=round,proto3" json:"round,omitempty"`
Time int64 `protobuf:"varint,4,opt,name=time,proto3" json:"time,omitempty"`
NumTxs int64 `protobuf:"varint,5,opt,name=numTxs,proto3" json:"numTxs,omitempty"`
LastBlockID *BlockID `protobuf:"bytes,6,opt,name=lastBlockID,proto3" json:"lastBlockID,omitempty"`
TotalTxs int64 `protobuf:"varint,7,opt,name=totalTxs,proto3" json:"totalTxs,omitempty"`
LastCommitHash []byte `protobuf:"bytes,8,opt,name=lastCommitHash,proto3" json:"lastCommitHash,omitempty"`
ValidatorsHash []byte `protobuf:"bytes,9,opt,name=validatorsHash,proto3" json:"validatorsHash,omitempty"`
ConsensusHash []byte `protobuf:"bytes,10,opt,name=consensusHash,proto3" json:"consensusHash,omitempty"`
AppHash []byte `protobuf:"bytes,11,opt,name=appHash,proto3" json:"appHash,omitempty"`
LastResultsHash []byte `protobuf:"bytes,12,opt,name=lastResultsHash,proto3" json:"lastResultsHash,omitempty"`
EvidenceHash []byte `protobuf:"bytes,13,opt,name=evidenceHash,proto3" json:"evidenceHash,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TendermintBlockHeader) Reset() { *m = TendermintBlockHeader{} }
func (m *TendermintBlockHeader) String() string { return proto.CompactTextString(m) }
func (*TendermintBlockHeader) ProtoMessage() {}
func (*TendermintBlockHeader) Descriptor() ([]byte, []int) {
return fileDescriptor_04f926c8da23c367, []int{16}
}
func (m *TendermintBlockHeader) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TendermintBlockHeader.Unmarshal(m, b)
}
func (m *TendermintBlockHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TendermintBlockHeader.Marshal(b, m, deterministic)
}
func (m *TendermintBlockHeader) XXX_Merge(src proto.Message) {
xxx_messageInfo_TendermintBlockHeader.Merge(m, src)
}
func (m *TendermintBlockHeader) XXX_Size() int {
return xxx_messageInfo_TendermintBlockHeader.Size(m)
}
func (m *TendermintBlockHeader) XXX_DiscardUnknown() {
xxx_messageInfo_TendermintBlockHeader.DiscardUnknown(m)
}
var xxx_messageInfo_TendermintBlockHeader proto.InternalMessageInfo
ChainID string `protobuf:"bytes,1,opt,name=chainID" json:"chainID,omitempty"`
Height int64 `protobuf:"varint,2,opt,name=height" json:"height,omitempty"`
Round int64 `protobuf:"varint,3,opt,name=round" json:"round,omitempty"`
Time int64 `protobuf:"varint,4,opt,name=time" json:"time,omitempty"`
NumTxs int64 `protobuf:"varint,5,opt,name=numTxs" json:"numTxs,omitempty"`
LastBlockID *BlockID `protobuf:"bytes,6,opt,name=lastBlockID" json:"lastBlockID,omitempty"`
TotalTxs int64 `protobuf:"varint,7,opt,name=totalTxs" json:"totalTxs,omitempty"`
LastCommitHash []byte `protobuf:"bytes,8,opt,name=lastCommitHash,proto3" json:"lastCommitHash,omitempty"`
ValidatorsHash []byte `protobuf:"bytes,9,opt,name=validatorsHash,proto3" json:"validatorsHash,omitempty"`
ConsensusHash []byte `protobuf:"bytes,10,opt,name=consensusHash,proto3" json:"consensusHash,omitempty"`
AppHash []byte `protobuf:"bytes,11,opt,name=appHash,proto3" json:"appHash,omitempty"`
LastResultsHash []byte `protobuf:"bytes,12,opt,name=lastResultsHash,proto3" json:"lastResultsHash,omitempty"`
EvidenceHash []byte `protobuf:"bytes,13,opt,name=evidenceHash,proto3" json:"evidenceHash,omitempty"`
}
func (m *TendermintBlockHeader) Reset() { *m = TendermintBlockHeader{} }
func (m *TendermintBlockHeader) String() string { return proto.CompactTextString(m) }
func (*TendermintBlockHeader) ProtoMessage() {}
func (*TendermintBlockHeader) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
func (m *TendermintBlockHeader) GetChainID() string {
if m != nil {
......@@ -1078,40 +725,17 @@ func (m *TendermintBlockHeader) GetEvidenceHash() []byte {
}
type TendermintBlock struct {
Header *TendermintBlockHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
Txs []*types.Transaction `protobuf:"bytes,2,rep,name=txs,proto3" json:"txs,omitempty"`
Evidence *EvidenceData `protobuf:"bytes,3,opt,name=evidence,proto3" json:"evidence,omitempty"`
LastCommit *TendermintCommit `protobuf:"bytes,4,opt,name=lastCommit,proto3" json:"lastCommit,omitempty"`
ProposerAddr []byte `protobuf:"bytes,5,opt,name=proposerAddr,proto3" json:"proposerAddr,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TendermintBlock) Reset() { *m = TendermintBlock{} }
func (m *TendermintBlock) String() string { return proto.CompactTextString(m) }
func (*TendermintBlock) ProtoMessage() {}
func (*TendermintBlock) Descriptor() ([]byte, []int) {
return fileDescriptor_04f926c8da23c367, []int{17}
}
func (m *TendermintBlock) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TendermintBlock.Unmarshal(m, b)
}
func (m *TendermintBlock) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TendermintBlock.Marshal(b, m, deterministic)
}
func (m *TendermintBlock) XXX_Merge(src proto.Message) {
xxx_messageInfo_TendermintBlock.Merge(m, src)
}
func (m *TendermintBlock) XXX_Size() int {
return xxx_messageInfo_TendermintBlock.Size(m)
}
func (m *TendermintBlock) XXX_DiscardUnknown() {
xxx_messageInfo_TendermintBlock.DiscardUnknown(m)
Header *TendermintBlockHeader `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
Txs []*types2.Transaction `protobuf:"bytes,2,rep,name=txs" json:"txs,omitempty"`
Evidence *EvidenceData `protobuf:"bytes,3,opt,name=evidence" json:"evidence,omitempty"`
LastCommit *TendermintCommit `protobuf:"bytes,4,opt,name=lastCommit" json:"lastCommit,omitempty"`
ProposerAddr []byte `protobuf:"bytes,5,opt,name=proposerAddr,proto3" json:"proposerAddr,omitempty"`
}
var xxx_messageInfo_TendermintBlock proto.InternalMessageInfo
func (m *TendermintBlock) Reset() { *m = TendermintBlock{} }
func (m *TendermintBlock) String() string { return proto.CompactTextString(m) }
func (*TendermintBlock) ProtoMessage() {}
func (*TendermintBlock) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
func (m *TendermintBlock) GetHeader() *TendermintBlockHeader {
if m != nil {
......@@ -1120,7 +744,7 @@ func (m *TendermintBlock) GetHeader() *TendermintBlockHeader {
return nil
}
func (m *TendermintBlock) GetTxs() []*types.Transaction {
func (m *TendermintBlock) GetTxs() []*types2.Transaction {
if m != nil {
return m.Txs
}
......@@ -1149,42 +773,19 @@ func (m *TendermintBlock) GetProposerAddr() []byte {
}
type Proposal struct {
Height int64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
Round int32 `protobuf:"varint,2,opt,name=round,proto3" json:"round,omitempty"`
Timestamp int64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
POLRound int32 `protobuf:"varint,4,opt,name=POLRound,proto3" json:"POLRound,omitempty"`
POLBlockID *BlockID `protobuf:"bytes,5,opt,name=POLBlockID,proto3" json:"POLBlockID,omitempty"`
Signature []byte `protobuf:"bytes,6,opt,name=signature,proto3" json:"signature,omitempty"`
Blockhash []byte `protobuf:"bytes,7,opt,name=blockhash,proto3" json:"blockhash,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
Height int64 `protobuf:"varint,1,opt,name=height" json:"height,omitempty"`
Round int32 `protobuf:"varint,2,opt,name=round" json:"round,omitempty"`
Timestamp int64 `protobuf:"varint,3,opt,name=timestamp" json:"timestamp,omitempty"`
POLRound int32 `protobuf:"varint,4,opt,name=POLRound" json:"POLRound,omitempty"`
POLBlockID *BlockID `protobuf:"bytes,5,opt,name=POLBlockID" json:"POLBlockID,omitempty"`
Signature []byte `protobuf:"bytes,6,opt,name=signature,proto3" json:"signature,omitempty"`
Blockhash []byte `protobuf:"bytes,7,opt,name=blockhash,proto3" json:"blockhash,omitempty"`
}
func (m *Proposal) Reset() { *m = Proposal{} }
func (m *Proposal) String() string { return proto.CompactTextString(m) }
func (*Proposal) ProtoMessage() {}
func (*Proposal) Descriptor() ([]byte, []int) {
return fileDescriptor_04f926c8da23c367, []int{18}
}
func (m *Proposal) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Proposal.Unmarshal(m, b)
}
func (m *Proposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Proposal.Marshal(b, m, deterministic)
}
func (m *Proposal) XXX_Merge(src proto.Message) {
xxx_messageInfo_Proposal.Merge(m, src)
}
func (m *Proposal) XXX_Size() int {
return xxx_messageInfo_Proposal.Size(m)
}
func (m *Proposal) XXX_DiscardUnknown() {
xxx_messageInfo_Proposal.DiscardUnknown(m)
}
var xxx_messageInfo_Proposal proto.InternalMessageInfo
func (m *Proposal) Reset() { *m = Proposal{} }
func (m *Proposal) String() string { return proto.CompactTextString(m) }
func (*Proposal) ProtoMessage() {}
func (*Proposal) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
func (m *Proposal) GetHeight() int64 {
if m != nil {
......@@ -1236,40 +837,17 @@ func (m *Proposal) GetBlockhash() []byte {
}
type NewRoundStepMsg struct {
Height int64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
Round int32 `protobuf:"varint,2,opt,name=round,proto3" json:"round,omitempty"`
Step int32 `protobuf:"varint,3,opt,name=step,proto3" json:"step,omitempty"`
SecondsSinceStartTime int32 `protobuf:"varint,4,opt,name=secondsSinceStartTime,proto3" json:"secondsSinceStartTime,omitempty"`
LastCommitRound int32 `protobuf:"varint,5,opt,name=lastCommitRound,proto3" json:"lastCommitRound,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
Height int64 `protobuf:"varint,1,opt,name=height" json:"height,omitempty"`
Round int32 `protobuf:"varint,2,opt,name=round" json:"round,omitempty"`
Step int32 `protobuf:"varint,3,opt,name=step" json:"step,omitempty"`
SecondsSinceStartTime int32 `protobuf:"varint,4,opt,name=secondsSinceStartTime" json:"secondsSinceStartTime,omitempty"`
LastCommitRound int32 `protobuf:"varint,5,opt,name=lastCommitRound" json:"lastCommitRound,omitempty"`
}
func (m *NewRoundStepMsg) Reset() { *m = NewRoundStepMsg{} }
func (m *NewRoundStepMsg) String() string { return proto.CompactTextString(m) }
func (*NewRoundStepMsg) ProtoMessage() {}
func (*NewRoundStepMsg) Descriptor() ([]byte, []int) {
return fileDescriptor_04f926c8da23c367, []int{19}
}
func (m *NewRoundStepMsg) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NewRoundStepMsg.Unmarshal(m, b)
}
func (m *NewRoundStepMsg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_NewRoundStepMsg.Marshal(b, m, deterministic)
}
func (m *NewRoundStepMsg) XXX_Merge(src proto.Message) {
xxx_messageInfo_NewRoundStepMsg.Merge(m, src)
}
func (m *NewRoundStepMsg) XXX_Size() int {
return xxx_messageInfo_NewRoundStepMsg.Size(m)
}
func (m *NewRoundStepMsg) XXX_DiscardUnknown() {
xxx_messageInfo_NewRoundStepMsg.DiscardUnknown(m)
}
var xxx_messageInfo_NewRoundStepMsg proto.InternalMessageInfo
func (m *NewRoundStepMsg) Reset() { *m = NewRoundStepMsg{} }
func (m *NewRoundStepMsg) String() string { return proto.CompactTextString(m) }
func (*NewRoundStepMsg) ProtoMessage() {}
func (*NewRoundStepMsg) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }
func (m *NewRoundStepMsg) GetHeight() int64 {
if m != nil {
......@@ -1307,36 +885,13 @@ func (m *NewRoundStepMsg) GetLastCommitRound() int32 {
}
type CommitStepMsg struct {
Height int64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CommitStepMsg) Reset() { *m = CommitStepMsg{} }
func (m *CommitStepMsg) String() string { return proto.CompactTextString(m) }
func (*CommitStepMsg) ProtoMessage() {}
func (*CommitStepMsg) Descriptor() ([]byte, []int) {
return fileDescriptor_04f926c8da23c367, []int{20}
Height int64 `protobuf:"varint,1,opt,name=height" json:"height,omitempty"`
}
func (m *CommitStepMsg) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CommitStepMsg.Unmarshal(m, b)
}
func (m *CommitStepMsg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CommitStepMsg.Marshal(b, m, deterministic)
}
func (m *CommitStepMsg) XXX_Merge(src proto.Message) {
xxx_messageInfo_CommitStepMsg.Merge(m, src)
}
func (m *CommitStepMsg) XXX_Size() int {
return xxx_messageInfo_CommitStepMsg.Size(m)
}
func (m *CommitStepMsg) XXX_DiscardUnknown() {
xxx_messageInfo_CommitStepMsg.DiscardUnknown(m)
}
var xxx_messageInfo_CommitStepMsg proto.InternalMessageInfo
func (m *CommitStepMsg) Reset() { *m = CommitStepMsg{} }
func (m *CommitStepMsg) String() string { return proto.CompactTextString(m) }
func (*CommitStepMsg) ProtoMessage() {}
func (*CommitStepMsg) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }
func (m *CommitStepMsg) GetHeight() int64 {
if m != nil {
......@@ -1346,38 +901,15 @@ func (m *CommitStepMsg) GetHeight() int64 {
}
type ProposalPOLMsg struct {
Height int64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
ProposalPOLRound int32 `protobuf:"varint,2,opt,name=proposalPOLRound,proto3" json:"proposalPOLRound,omitempty"`
ProposalPOL *TendermintBitArray `protobuf:"bytes,3,opt,name=proposalPOL,proto3" json:"proposalPOL,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ProposalPOLMsg) Reset() { *m = ProposalPOLMsg{} }
func (m *ProposalPOLMsg) String() string { return proto.CompactTextString(m) }
func (*ProposalPOLMsg) ProtoMessage() {}
func (*ProposalPOLMsg) Descriptor() ([]byte, []int) {
return fileDescriptor_04f926c8da23c367, []int{21}
}
func (m *ProposalPOLMsg) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ProposalPOLMsg.Unmarshal(m, b)
}
func (m *ProposalPOLMsg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ProposalPOLMsg.Marshal(b, m, deterministic)
}
func (m *ProposalPOLMsg) XXX_Merge(src proto.Message) {
xxx_messageInfo_ProposalPOLMsg.Merge(m, src)
}
func (m *ProposalPOLMsg) XXX_Size() int {
return xxx_messageInfo_ProposalPOLMsg.Size(m)
}
func (m *ProposalPOLMsg) XXX_DiscardUnknown() {
xxx_messageInfo_ProposalPOLMsg.DiscardUnknown(m)
Height int64 `protobuf:"varint,1,opt,name=height" json:"height,omitempty"`
ProposalPOLRound int32 `protobuf:"varint,2,opt,name=proposalPOLRound" json:"proposalPOLRound,omitempty"`
ProposalPOL *TendermintBitArray `protobuf:"bytes,3,opt,name=proposalPOL" json:"proposalPOL,omitempty"`
}
var xxx_messageInfo_ProposalPOLMsg proto.InternalMessageInfo
func (m *ProposalPOLMsg) Reset() { *m = ProposalPOLMsg{} }
func (m *ProposalPOLMsg) String() string { return proto.CompactTextString(m) }
func (*ProposalPOLMsg) ProtoMessage() {}
func (*ProposalPOLMsg) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }
func (m *ProposalPOLMsg) GetHeight() int64 {
if m != nil {
......@@ -1401,39 +933,16 @@ func (m *ProposalPOLMsg) GetProposalPOL() *TendermintBitArray {
}
type HasVoteMsg struct {
Height int64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
Round int32 `protobuf:"varint,2,opt,name=round,proto3" json:"round,omitempty"`
Type int32 `protobuf:"varint,3,opt,name=type,proto3" json:"type,omitempty"`
Index int32 `protobuf:"varint,4,opt,name=index,proto3" json:"index,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
Height int64 `protobuf:"varint,1,opt,name=height" json:"height,omitempty"`
Round int32 `protobuf:"varint,2,opt,name=round" json:"round,omitempty"`
Type int32 `protobuf:"varint,3,opt,name=type" json:"type,omitempty"`
Index int32 `protobuf:"varint,4,opt,name=index" json:"index,omitempty"`
}
func (m *HasVoteMsg) Reset() { *m = HasVoteMsg{} }
func (m *HasVoteMsg) String() string { return proto.CompactTextString(m) }
func (*HasVoteMsg) ProtoMessage() {}
func (*HasVoteMsg) Descriptor() ([]byte, []int) {
return fileDescriptor_04f926c8da23c367, []int{22}
}
func (m *HasVoteMsg) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_HasVoteMsg.Unmarshal(m, b)
}
func (m *HasVoteMsg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_HasVoteMsg.Marshal(b, m, deterministic)
}
func (m *HasVoteMsg) XXX_Merge(src proto.Message) {
xxx_messageInfo_HasVoteMsg.Merge(m, src)
}
func (m *HasVoteMsg) XXX_Size() int {
return xxx_messageInfo_HasVoteMsg.Size(m)
}
func (m *HasVoteMsg) XXX_DiscardUnknown() {
xxx_messageInfo_HasVoteMsg.DiscardUnknown(m)
}
var xxx_messageInfo_HasVoteMsg proto.InternalMessageInfo
func (m *HasVoteMsg) Reset() { *m = HasVoteMsg{} }
func (m *HasVoteMsg) String() string { return proto.CompactTextString(m) }
func (*HasVoteMsg) ProtoMessage() {}
func (*HasVoteMsg) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} }
func (m *HasVoteMsg) GetHeight() int64 {
if m != nil {
......@@ -1464,39 +973,16 @@ func (m *HasVoteMsg) GetIndex() int32 {
}
type VoteSetMaj23Msg struct {
Height int64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
Round int32 `protobuf:"varint,2,opt,name=round,proto3" json:"round,omitempty"`
Type int32 `protobuf:"varint,3,opt,name=type,proto3" json:"type,omitempty"`
BlockID *BlockID `protobuf:"bytes,4,opt,name=blockID,proto3" json:"blockID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
Height int64 `protobuf:"varint,1,opt,name=height" json:"height,omitempty"`
Round int32 `protobuf:"varint,2,opt,name=round" json:"round,omitempty"`
Type int32 `protobuf:"varint,3,opt,name=type" json:"type,omitempty"`
BlockID *BlockID `protobuf:"bytes,4,opt,name=blockID" json:"blockID,omitempty"`
}
func (m *VoteSetMaj23Msg) Reset() { *m = VoteSetMaj23Msg{} }
func (m *VoteSetMaj23Msg) String() string { return proto.CompactTextString(m) }
func (*VoteSetMaj23Msg) ProtoMessage() {}
func (*VoteSetMaj23Msg) Descriptor() ([]byte, []int) {
return fileDescriptor_04f926c8da23c367, []int{23}
}
func (m *VoteSetMaj23Msg) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_VoteSetMaj23Msg.Unmarshal(m, b)
}
func (m *VoteSetMaj23Msg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_VoteSetMaj23Msg.Marshal(b, m, deterministic)
}
func (m *VoteSetMaj23Msg) XXX_Merge(src proto.Message) {
xxx_messageInfo_VoteSetMaj23Msg.Merge(m, src)
}
func (m *VoteSetMaj23Msg) XXX_Size() int {
return xxx_messageInfo_VoteSetMaj23Msg.Size(m)
}
func (m *VoteSetMaj23Msg) XXX_DiscardUnknown() {
xxx_messageInfo_VoteSetMaj23Msg.DiscardUnknown(m)
}
var xxx_messageInfo_VoteSetMaj23Msg proto.InternalMessageInfo
func (m *VoteSetMaj23Msg) Reset() { *m = VoteSetMaj23Msg{} }
func (m *VoteSetMaj23Msg) String() string { return proto.CompactTextString(m) }
func (*VoteSetMaj23Msg) ProtoMessage() {}
func (*VoteSetMaj23Msg) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} }
func (m *VoteSetMaj23Msg) GetHeight() int64 {
if m != nil {
......@@ -1527,40 +1013,17 @@ func (m *VoteSetMaj23Msg) GetBlockID() *BlockID {
}
type VoteSetBitsMsg struct {
Height int64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
Round int32 `protobuf:"varint,2,opt,name=round,proto3" json:"round,omitempty"`
Type int32 `protobuf:"varint,3,opt,name=type,proto3" json:"type,omitempty"`
BlockID *BlockID `protobuf:"bytes,4,opt,name=blockID,proto3" json:"blockID,omitempty"`
Votes *TendermintBitArray `protobuf:"bytes,5,opt,name=votes,proto3" json:"votes,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *VoteSetBitsMsg) Reset() { *m = VoteSetBitsMsg{} }
func (m *VoteSetBitsMsg) String() string { return proto.CompactTextString(m) }
func (*VoteSetBitsMsg) ProtoMessage() {}
func (*VoteSetBitsMsg) Descriptor() ([]byte, []int) {
return fileDescriptor_04f926c8da23c367, []int{24}
}
func (m *VoteSetBitsMsg) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_VoteSetBitsMsg.Unmarshal(m, b)
}
func (m *VoteSetBitsMsg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_VoteSetBitsMsg.Marshal(b, m, deterministic)
}
func (m *VoteSetBitsMsg) XXX_Merge(src proto.Message) {
xxx_messageInfo_VoteSetBitsMsg.Merge(m, src)
}
func (m *VoteSetBitsMsg) XXX_Size() int {
return xxx_messageInfo_VoteSetBitsMsg.Size(m)
}
func (m *VoteSetBitsMsg) XXX_DiscardUnknown() {
xxx_messageInfo_VoteSetBitsMsg.DiscardUnknown(m)
Height int64 `protobuf:"varint,1,opt,name=height" json:"height,omitempty"`
Round int32 `protobuf:"varint,2,opt,name=round" json:"round,omitempty"`
Type int32 `protobuf:"varint,3,opt,name=type" json:"type,omitempty"`
BlockID *BlockID `protobuf:"bytes,4,opt,name=blockID" json:"blockID,omitempty"`
Votes *TendermintBitArray `protobuf:"bytes,5,opt,name=votes" json:"votes,omitempty"`
}
var xxx_messageInfo_VoteSetBitsMsg proto.InternalMessageInfo
func (m *VoteSetBitsMsg) Reset() { *m = VoteSetBitsMsg{} }
func (m *VoteSetBitsMsg) String() string { return proto.CompactTextString(m) }
func (*VoteSetBitsMsg) ProtoMessage() {}
func (*VoteSetBitsMsg) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} }
func (m *VoteSetBitsMsg) GetHeight() int64 {
if m != nil {
......@@ -1598,41 +1061,18 @@ func (m *VoteSetBitsMsg) GetVotes() *TendermintBitArray {
}
type Heartbeat struct {
ValidatorAddress []byte `protobuf:"bytes,1,opt,name=validatorAddress,proto3" json:"validatorAddress,omitempty"`
ValidatorIndex int32 `protobuf:"varint,2,opt,name=validatorIndex,proto3" json:"validatorIndex,omitempty"`
Height int64 `protobuf:"varint,3,opt,name=height,proto3" json:"height,omitempty"`
Round int32 `protobuf:"varint,4,opt,name=round,proto3" json:"round,omitempty"`
Sequence int32 `protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"`
Signature []byte `protobuf:"bytes,6,opt,name=signature,proto3" json:"signature,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
ValidatorAddress []byte `protobuf:"bytes,1,opt,name=validatorAddress,proto3" json:"validatorAddress,omitempty"`
ValidatorIndex int32 `protobuf:"varint,2,opt,name=validatorIndex" json:"validatorIndex,omitempty"`
Height int64 `protobuf:"varint,3,opt,name=height" json:"height,omitempty"`
Round int32 `protobuf:"varint,4,opt,name=round" json:"round,omitempty"`
Sequence int32 `protobuf:"varint,5,opt,name=sequence" json:"sequence,omitempty"`
Signature []byte `protobuf:"bytes,6,opt,name=signature,proto3" json:"signature,omitempty"`
}
func (m *Heartbeat) Reset() { *m = Heartbeat{} }
func (m *Heartbeat) String() string { return proto.CompactTextString(m) }
func (*Heartbeat) ProtoMessage() {}
func (*Heartbeat) Descriptor() ([]byte, []int) {
return fileDescriptor_04f926c8da23c367, []int{25}
}
func (m *Heartbeat) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Heartbeat.Unmarshal(m, b)
}
func (m *Heartbeat) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Heartbeat.Marshal(b, m, deterministic)
}
func (m *Heartbeat) XXX_Merge(src proto.Message) {
xxx_messageInfo_Heartbeat.Merge(m, src)
}
func (m *Heartbeat) XXX_Size() int {
return xxx_messageInfo_Heartbeat.Size(m)
}
func (m *Heartbeat) XXX_DiscardUnknown() {
xxx_messageInfo_Heartbeat.DiscardUnknown(m)
}
var xxx_messageInfo_Heartbeat proto.InternalMessageInfo
func (m *Heartbeat) Reset() { *m = Heartbeat{} }
func (m *Heartbeat) String() string { return proto.CompactTextString(m) }
func (*Heartbeat) ProtoMessage() {}
func (*Heartbeat) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} }
func (m *Heartbeat) GetValidatorAddress() []byte {
if m != nil {
......@@ -1676,6 +1116,22 @@ func (m *Heartbeat) GetSignature() []byte {
return nil
}
type IsHealthy struct {
IsHealthy bool `protobuf:"varint,1,opt,name=isHealthy" json:"isHealthy,omitempty"`
}
func (m *IsHealthy) Reset() { *m = IsHealthy{} }
func (m *IsHealthy) String() string { return proto.CompactTextString(m) }
func (*IsHealthy) ProtoMessage() {}
func (*IsHealthy) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} }
func (m *IsHealthy) GetIsHealthy() bool {
if m != nil {
return m.IsHealthy
}
return false
}
func init() {
proto.RegisterType((*BlockID)(nil), "types.BlockID")
proto.RegisterType((*TendermintBitArray)(nil), "types.TendermintBitArray")
......@@ -1703,101 +1159,103 @@ func init() {
proto.RegisterType((*VoteSetMaj23Msg)(nil), "types.VoteSetMaj23Msg")
proto.RegisterType((*VoteSetBitsMsg)(nil), "types.VoteSetBitsMsg")
proto.RegisterType((*Heartbeat)(nil), "types.Heartbeat")
}
func init() { proto.RegisterFile("tendermint.proto", fileDescriptor_04f926c8da23c367) }
var fileDescriptor_04f926c8da23c367 = []byte{
// 1450 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0x4f, 0x6f, 0x5b, 0x45,
0x10, 0xd7, 0x8b, 0xe3, 0x24, 0x1e, 0x3b, 0x7f, 0xd8, 0x92, 0xd6, 0x94, 0x20, 0x85, 0x55, 0x01,
0xab, 0xad, 0xd2, 0x2a, 0xa9, 0xc4, 0xa1, 0x14, 0x35, 0x4e, 0xaa, 0xa6, 0x90, 0xb4, 0xd6, 0xda,
0x2a, 0xe7, 0x8d, 0xbd, 0xd8, 0x0f, 0xec, 0xf7, 0x1e, 0x6f, 0xd7, 0xae, 0x83, 0xc4, 0x85, 0x03,
0x77, 0x3e, 0x08, 0x27, 0x0e, 0x7c, 0x04, 0x3e, 0x01, 0x47, 0xf8, 0x22, 0x5c, 0xd0, 0xce, 0xee,
0x3e, 0xef, 0x7b, 0x76, 0x5d, 0x40, 0x88, 0x9b, 0x67, 0xf6, 0xb7, 0x3b, 0x6f, 0x66, 0x7e, 0x33,
0x3b, 0x6b, 0xd8, 0x51, 0x22, 0xea, 0x89, 0x74, 0x14, 0x46, 0xea, 0x20, 0x49, 0x63, 0x15, 0x93,
0xb2, 0xba, 0x4a, 0x84, 0xbc, 0xf9, 0x96, 0x4a, 0x79, 0x24, 0x79, 0x57, 0x85, 0x71, 0x64, 0x56,
0xe8, 0x7b, 0xb0, 0xde, 0x1c, 0xc6, 0xdd, 0xaf, 0x9f, 0x9d, 0x12, 0x02, 0xab, 0x67, 0x5c, 0x0e,
0xea, 0xc1, 0x7e, 0xd0, 0xa8, 0x31, 0xfc, 0x4d, 0x3f, 0x05, 0xd2, 0xc9, 0x0e, 0x6b, 0x86, 0xea,
0x38, 0x4d, 0xf9, 0x95, 0x46, 0x36, 0x43, 0x25, 0x11, 0x59, 0x66, 0xf8, 0x9b, 0xbc, 0x0d, 0xe5,
0x27, 0x43, 0x31, 0x92, 0xf5, 0x95, 0xfd, 0x52, 0x63, 0x95, 0x19, 0x81, 0x7e, 0xbf, 0x02, 0xab,
0x2f, 0x63, 0x25, 0xc8, 0x6d, 0xd8, 0x79, 0xc9, 0x87, 0x61, 0x8f, 0xab, 0x38, 0x3d, 0xee, 0xf5,
0x52, 0x21, 0xa5, 0x35, 0x34, 0xa7, 0x27, 0x1f, 0xc2, 0x56, 0xa6, 0x7b, 0x16, 0xf5, 0xc4, 0xb4,
0xbe, 0x82, 0x86, 0x0a, 0x5a, 0x72, 0x1d, 0xd6, 0xce, 0x44, 0xd8, 0x1f, 0xa8, 0x7a, 0x69, 0x3f,
0x68, 0x94, 0x98, 0x95, 0xf4, 0xa7, 0xb0, 0x78, 0x1c, 0xf5, 0xea, 0xab, 0xb8, 0xcd, 0x08, 0x64,
0x0f, 0x2a, 0x9d, 0x70, 0x24, 0xa4, 0xe2, 0xa3, 0xa4, 0x5e, 0xc6, 0x0d, 0x33, 0x85, 0x76, 0xa9,
0x73, 0x95, 0x88, 0xfa, 0xda, 0x7e, 0xd0, 0xd8, 0x64, 0xf8, 0x9b, 0x34, 0xb2, 0xd8, 0xd4, 0xd7,
0xf7, 0x83, 0x46, 0xf5, 0x70, 0xeb, 0x00, 0xe3, 0x78, 0x60, 0xb5, 0x2c, 0x0b, 0xdd, 0x1e, 0x54,
0xda, 0x61, 0x3f, 0xe2, 0x6a, 0x9c, 0x8a, 0xfa, 0x06, 0xba, 0x35, 0x53, 0xd0, 0x10, 0x76, 0x66,
0x41, 0x3c, 0x89, 0x47, 0xa3, 0x50, 0xf9, 0x67, 0x07, 0xcb, 0xcf, 0xbe, 0x03, 0xd0, 0x4a, 0x45,
0x17, 0xb7, 0x99, 0xe8, 0x56, 0x0f, 0xab, 0x16, 0xac, 0x43, 0xcb, 0xbc, 0x65, 0xfa, 0xc3, 0x0a,
0x5c, 0xf3, 0x12, 0x86, 0x47, 0x44, 0x5f, 0xc6, 0xe4, 0x63, 0x80, 0xb6, 0x10, 0x91, 0x31, 0x6e,
0x2d, 0xde, 0xb0, 0x87, 0x14, 0xbf, 0x8d, 0x79, 0x50, 0xbd, 0xf1, 0x9c, 0x4b, 0xbb, 0x82, 0x79,
0x58, 0xb6, 0x71, 0x06, 0x25, 0x14, 0xca, 0x6d, 0xc5, 0x95, 0xc0, 0xdc, 0x54, 0x0f, 0x6b, 0x76,
0x0f, 0xea, 0x98, 0x59, 0x22, 0x77, 0x60, 0xa3, 0x95, 0xc6, 0x49, 0x2c, 0xf9, 0x10, 0x73, 0x55,
0x3d, 0xdc, 0xb6, 0x30, 0xa7, 0x66, 0x19, 0x80, 0xdc, 0x85, 0xf2, 0xa5, 0xf6, 0x07, 0x73, 0x57,
0x3d, 0xbc, 0x3e, 0xf7, 0x11, 0xe8, 0x2d, 0x33, 0x20, 0xfa, 0x05, 0x54, 0x50, 0x6e, 0x87, 0xdf,
0x0a, 0x72, 0x13, 0x36, 0x2e, 0xf8, 0xb4, 0x79, 0xa5, 0x84, 0xe3, 0x6c, 0x26, 0x6b, 0x12, 0x5d,
0xf0, 0x69, 0x67, 0x2a, 0x2d, 0xc9, 0xac, 0x64, 0xf5, 0x4f, 0xb9, 0x74, 0xe4, 0x32, 0x12, 0xfd,
0x04, 0xd6, 0x3a, 0xd3, 0xbf, 0x79, 0xaa, 0xde, 0xbd, 0x92, 0xdb, 0xfd, 0x08, 0xaa, 0xf8, 0x59,
0x4f, 0x63, 0x29, 0xc3, 0x84, 0x1c, 0x00, 0x41, 0xb1, 0xc5, 0x53, 0xa5, 0xcf, 0xf4, 0x0f, 0x5b,
0xb0, 0x42, 0x1b, 0xb0, 0xf5, 0x64, 0x12, 0xf6, 0x44, 0xd4, 0x15, 0x2d, 0x9e, 0xf2, 0x91, 0x33,
0x74, 0xdc, 0x17, 0xb8, 0xcb, 0x18, 0x3a, 0xee, 0x0b, 0xfa, 0x7b, 0x00, 0xdb, 0x27, 0x71, 0x24,
0x45, 0x24, 0xc7, 0xd2, 0x62, 0x0f, 0xbc, 0x98, 0x58, 0x0e, 0xec, 0xf8, 0xac, 0xd3, 0x7a, 0xe6,
0x85, 0xed, 0x03, 0xe7, 0xaa, 0xcd, 0xfb, 0xa6, 0x0b, 0x39, 0x2a, 0x99, 0x8b, 0xc3, 0x83, 0x9c,
0x4f, 0x36, 0xdf, 0xc4, 0x3f, 0xd8, 0xac, 0xb0, 0x9c, 0xeb, 0x8f, 0x8a, 0xae, 0x58, 0x06, 0xec,
0xda, 0x8d, 0xf9, 0x45, 0x56, 0x00, 0xd3, 0x31, 0x54, 0xb2, 0x6e, 0x40, 0xea, 0xb0, 0x9e, 0xef,
0x29, 0x4e, 0xd4, 0xe1, 0x69, 0x8d, 0x2f, 0x3f, 0x17, 0x57, 0xe8, 0x42, 0x8d, 0x59, 0x89, 0xec,
0x43, 0xf5, 0x65, 0xac, 0xc2, 0xa8, 0xdf, 0x8a, 0x5f, 0x89, 0xd4, 0xa6, 0xd8, 0x57, 0xe9, 0x26,
0x72, 0xdc, 0xed, 0x8e, 0x47, 0xf8, 0x59, 0x25, 0x66, 0x04, 0x1a, 0x41, 0x2d, 0x33, 0xdb, 0x16,
0x8a, 0xdc, 0x07, 0xc8, 0x64, 0x6d, 0xbc, 0xe4, 0xc5, 0x34, 0x5b, 0x60, 0x1e, 0x86, 0xdc, 0x75,
0x9c, 0x17, 0xa9, 0x0d, 0xeb, 0x3c, 0x3e, 0x43, 0xd0, 0xdf, 0x56, 0x6d, 0x19, 0x69, 0x1f, 0x4f,
0x06, 0x3c, 0x8c, 0x6c, 0xc3, 0xa8, 0x30, 0x27, 0x92, 0x06, 0x6c, 0xeb, 0xba, 0xc3, 0xe0, 0xda,
0x7e, 0x68, 0x48, 0x57, 0x54, 0xeb, 0x26, 0x9c, 0xa9, 0x3a, 0xb1, 0xe2, 0xc3, 0xce, 0xd4, 0xba,
0x3e, 0xa7, 0x27, 0xf7, 0xa1, 0x9a, 0xe9, 0x9e, 0x9d, 0xda, 0xe4, 0x14, 0x9b, 0x94, 0x0f, 0x21,
0xb7, 0x60, 0x73, 0x76, 0x4a, 0x38, 0x12, 0xb6, 0xc9, 0xe6, 0x95, 0xe4, 0x28, 0x17, 0xb1, 0x35,
0x3c, 0xf6, 0x5a, 0x31, 0x02, 0x6d, 0xa1, 0x72, 0x41, 0x7b, 0x08, 0x5b, 0xfa, 0x14, 0x6f, 0xe3,
0xfa, 0xeb, 0x37, 0x16, 0xa0, 0xe4, 0x31, 0xbc, 0xab, 0x35, 0x26, 0x06, 0x33, 0xfd, 0xc9, 0x80,
0x47, 0x7d, 0xd1, 0xc3, 0x76, 0x5d, 0x62, 0xcb, 0x20, 0xe4, 0xf1, 0x5c, 0x2d, 0xd5, 0x2b, 0xb9,
0x26, 0x54, 0x58, 0x65, 0x73, 0xa5, 0xf7, 0x19, 0xec, 0xcf, 0x0c, 0x14, 0x16, 0xdd, 0x87, 0x00,
0x7e, 0xc8, 0x1b, 0x71, 0x2e, 0xdf, 0x4c, 0xc8, 0xf1, 0x50, 0x49, 0xbc, 0xb2, 0xab, 0x48, 0xee,
0xa2, 0x1a, 0xeb, 0x22, 0x49, 0x10, 0x51, 0xb3, 0x75, 0x61, 0x44, 0x3a, 0x86, 0xdd, 0xd3, 0x71,
0x32, 0x0c, 0xbb, 0x5c, 0x09, 0x7d, 0x89, 0xb8, 0xea, 0xd2, 0x05, 0x93, 0x98, 0x82, 0x31, 0x2c,
0xb3, 0x12, 0x79, 0x1f, 0xca, 0x93, 0x58, 0x89, 0x63, 0xcb, 0xd9, 0xdc, 0x05, 0x64, 0x56, 0x1c,
0xa4, 0x69, 0x3b, 0xc0, 0x3c, 0xa4, 0x49, 0x9b, 0xb0, 0xe3, 0x2c, 0x3d, 0x89, 0x26, 0x62, 0x18,
0x27, 0xd8, 0x46, 0x35, 0xf0, 0x39, 0x1f, 0x09, 0x6b, 0x33, 0x93, 0xf5, 0xad, 0xdc, 0xe3, 0x8a,
0xdb, 0xe2, 0xc5, 0xdf, 0xf4, 0x04, 0x6a, 0xee, 0x8c, 0x53, 0xae, 0x38, 0x39, 0x82, 0x0d, 0x61,
0x65, 0x5b, 0x80, 0x37, 0x0a, 0x2d, 0xc4, 0x99, 0x62, 0x19, 0x90, 0xfe, 0x52, 0x82, 0xdd, 0xc2,
0xcd, 0x71, 0x26, 0x78, 0x4f, 0x60, 0x2f, 0xe9, 0xe6, 0xeb, 0xcc, 0x8a, 0x3a, 0x34, 0x03, 0xbf,
0xbc, 0xac, 0xa4, 0x3b, 0x45, 0x8a, 0xe3, 0x86, 0x29, 0x25, 0x23, 0xe8, 0x4f, 0x57, 0xba, 0x08,
0x4c, 0xfb, 0xc0, 0xdf, 0xfa, 0x84, 0x68, 0x3c, 0xd2, 0x77, 0x8d, 0x29, 0x0d, 0x2b, 0xe9, 0x5a,
0x1b, 0x7a, 0xb5, 0xb6, 0xb6, 0xb8, 0xd6, 0x3c, 0x08, 0x06, 0xcd, 0x14, 0xaa, 0x29, 0x85, 0x12,
0xcb, 0x64, 0x3d, 0x3e, 0x0d, 0xb3, 0x7b, 0x18, 0x93, 0x6f, 0x26, 0x92, 0x82, 0x56, 0xe3, 0x26,
0x19, 0xd5, 0x11, 0x57, 0x31, 0xb8, 0xbc, 0x56, 0xd7, 0x75, 0xd7, 0x31, 0x11, 0x61, 0x80, 0xb0,
0xbc, 0x52, 0xc7, 0x8d, 0x5b, 0xae, 0x19, 0x36, 0x3a, 0x51, 0xf3, 0x75, 0x58, 0xe0, 0xab, 0x61,
0x63, 0x51, 0x4d, 0x28, 0xd4, 0x5c, 0x86, 0x10, 0xb6, 0x89, 0xb0, 0x9c, 0x8e, 0xfe, 0x19, 0xc0,
0x76, 0x21, 0x73, 0xe4, 0x81, 0xce, 0x8c, 0xce, 0x9e, 0xbd, 0xd5, 0xf6, 0x16, 0xcf, 0x06, 0x26,
0xc3, 0xcc, 0x62, 0xc9, 0x2d, 0x28, 0xa9, 0xa9, 0x9b, 0xa8, 0xdc, 0x7d, 0xd5, 0x99, 0x4d, 0xc8,
0x4c, 0x2f, 0x93, 0x7b, 0x1e, 0xbd, 0x4a, 0xb9, 0xa6, 0xe3, 0xb3, 0x70, 0x46, 0x2d, 0x3d, 0x31,
0xcd, 0x02, 0x6d, 0xfb, 0xe6, 0xeb, 0x27, 0xa6, 0xa1, 0x3f, 0x31, 0xd5, 0x12, 0xdb, 0xf7, 0xf5,
0xf5, 0x85, 0x1c, 0xa9, 0xb1, 0x9c, 0x8e, 0xfe, 0x11, 0xcc, 0x46, 0x26, 0x8f, 0x90, 0xc1, 0x62,
0x42, 0x9a, 0x89, 0xc6, 0x12, 0x72, 0x0f, 0x2a, 0x2a, 0x9b, 0x7f, 0x0d, 0x55, 0x67, 0x0a, 0x4d,
0xa8, 0xd6, 0x8b, 0x73, 0x7f, 0x6c, 0xce, 0x64, 0x72, 0x00, 0xd0, 0x7a, 0x71, 0xee, 0xd8, 0x59,
0x5e, 0xc8, 0x4e, 0x0f, 0xa1, 0x2d, 0xc9, 0x6c, 0x1a, 0x5e, 0x33, 0xd3, 0x70, 0xa6, 0xd0, 0xab,
0x38, 0xa2, 0x0d, 0x74, 0x86, 0xd7, 0xcd, 0x6a, 0xa6, 0xa0, 0x3f, 0x07, 0xb0, 0xfd, 0x5c, 0xbc,
0x42, 0xc3, 0x6d, 0x25, 0x92, 0x0b, 0xd9, 0xff, 0x87, 0x7e, 0x12, 0x58, 0x95, 0x4a, 0x18, 0x17,
0xcb, 0x0c, 0x7f, 0x93, 0x07, 0xb0, 0x2b, 0x45, 0x37, 0x8e, 0x7a, 0xb2, 0x1d, 0x46, 0x5d, 0xd1,
0x56, 0x3c, 0x55, 0x1d, 0x57, 0x9d, 0x65, 0xb6, 0x78, 0xd1, 0x11, 0xd7, 0xa6, 0x0a, 0x2d, 0x95,
0x11, 0x5f, 0x54, 0xd3, 0x8f, 0x60, 0xd3, 0x88, 0x6f, 0xf8, 0x64, 0xfa, 0x63, 0x00, 0x5b, 0x2e,
0x7f, 0xad, 0x17, 0xe7, 0xcb, 0xbc, 0xbb, 0x0d, 0x3b, 0xc9, 0x0c, 0xc9, 0x3c, 0x47, 0xe7, 0xf4,
0xe4, 0x21, 0x54, 0x3d, 0x9d, 0xe5, 0xe9, 0x3b, 0xf3, 0x55, 0x60, 0x1f, 0x70, 0xcc, 0x47, 0xd3,
0x1e, 0xc0, 0x19, 0x97, 0xba, 0x4d, 0xff, 0xab, 0x60, 0x6b, 0x23, 0x2e, 0xd8, 0xfa, 0xb7, 0x46,
0x86, 0xf8, 0x6a, 0xb3, 0xcf, 0x2f, 0x14, 0xe8, 0x77, 0xb0, 0xad, 0x4d, 0xb4, 0x85, 0xba, 0xe0,
0x5f, 0x1d, 0x1e, 0xfd, 0x37, 0xa6, 0x1a, 0xb0, 0x7e, 0xb9, 0x74, 0x40, 0x71, 0xcb, 0xf4, 0xa7,
0x00, 0xb6, 0xac, 0x7d, 0xfd, 0x5c, 0xfd, 0x9f, 0xcd, 0x93, 0x7b, 0xe6, 0x6e, 0x94, 0xb6, 0x7a,
0x96, 0xa4, 0xc6, 0xe0, 0xe8, 0xaf, 0x01, 0x54, 0xce, 0x04, 0x4f, 0xd5, 0xa5, 0xe0, 0xc8, 0x85,
0xc9, 0x6b, 0x5e, 0xcf, 0x93, 0x05, 0xaf, 0xe7, 0xc9, 0xc2, 0xd7, 0xf3, 0x64, 0xee, 0xf5, 0x3c,
0xc8, 0xbd, 0x9e, 0x8b, 0xee, 0xaf, 0xfa, 0xee, 0xdf, 0x84, 0x0d, 0x29, 0xbe, 0x19, 0x63, 0x1b,
0x34, 0x45, 0x90, 0xc9, 0xcb, 0xeb, 0xfd, 0x72, 0x0d, 0xff, 0x68, 0x38, 0xfa, 0x2b, 0x00, 0x00,
0xff, 0xff, 0x75, 0x36, 0xb8, 0xf1, 0x96, 0x10, 0x00, 0x00,
proto.RegisterType((*IsHealthy)(nil), "types.IsHealthy")
}
func init() { proto.RegisterFile("tendermint.proto", fileDescriptor0) }
var fileDescriptor0 = []byte{
// 1472 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0x4f, 0x73, 0x1b, 0xc5,
0x12, 0xaf, 0xb5, 0x2c, 0xd9, 0x6a, 0xc9, 0x7f, 0xde, 0xe4, 0x39, 0xd1, 0xcb, 0xf3, 0xab, 0xd2,
0x9b, 0x0a, 0x20, 0x92, 0x94, 0x93, 0xb2, 0x53, 0xc5, 0x21, 0x84, 0x8a, 0x65, 0xa7, 0x62, 0x83,
0x9d, 0xa8, 0x46, 0xaa, 0x70, 0x1e, 0x4b, 0x83, 0xb4, 0x20, 0xed, 0x2e, 0x3b, 0x23, 0x45, 0xa6,
0x8a, 0x0b, 0x07, 0xee, 0x7c, 0x10, 0x4e, 0x1c, 0xf8, 0x08, 0x7c, 0x02, 0x8e, 0xf0, 0x45, 0xb8,
0x50, 0xd3, 0x33, 0xb3, 0xff, 0xa4, 0x28, 0x40, 0x51, 0xdc, 0xd4, 0x3d, 0xbf, 0x99, 0xde, 0xee,
0xfe, 0x75, 0x4f, 0x8f, 0x60, 0x57, 0x89, 0x60, 0x20, 0xe2, 0x89, 0x1f, 0xa8, 0x83, 0x28, 0x0e,
0x55, 0x48, 0xca, 0xea, 0x3a, 0x12, 0xf2, 0xf6, 0xbf, 0x54, 0xcc, 0x03, 0xc9, 0xfb, 0xca, 0x0f,
0x03, 0xb3, 0x42, 0xff, 0x07, 0x1b, 0xed, 0x71, 0xd8, 0xff, 0xe2, 0xfc, 0x94, 0x10, 0x58, 0x3f,
0xe3, 0x72, 0xd4, 0xf0, 0x9a, 0x5e, 0xab, 0xce, 0xf0, 0x37, 0xfd, 0x08, 0x48, 0x2f, 0x39, 0xac,
0xed, 0xab, 0xe3, 0x38, 0xe6, 0xd7, 0x1a, 0xd9, 0xf6, 0x95, 0x44, 0x64, 0x99, 0xe1, 0x6f, 0xf2,
0x6f, 0x28, 0x3f, 0x1b, 0x8b, 0x89, 0x6c, 0xac, 0x35, 0x4b, 0xad, 0x75, 0x66, 0x04, 0xfa, 0xcd,
0x1a, 0xac, 0xbf, 0x0a, 0x95, 0x20, 0x77, 0x61, 0xf7, 0x15, 0x1f, 0xfb, 0x03, 0xae, 0xc2, 0xf8,
0x78, 0x30, 0x88, 0x85, 0x94, 0xd6, 0xd0, 0x82, 0x9e, 0xbc, 0x0b, 0xdb, 0x89, 0xee, 0x3c, 0x18,
0x88, 0x79, 0x63, 0x0d, 0x0d, 0x15, 0xb4, 0xe4, 0x26, 0x54, 0xce, 0x84, 0x3f, 0x1c, 0xa9, 0x46,
0xa9, 0xe9, 0xb5, 0x4a, 0xcc, 0x4a, 0xfa, 0x53, 0x58, 0x38, 0x0d, 0x06, 0x8d, 0x75, 0xdc, 0x66,
0x04, 0xb2, 0x0f, 0xd5, 0x9e, 0x3f, 0x11, 0x52, 0xf1, 0x49, 0xd4, 0x28, 0xe3, 0x86, 0x54, 0xa1,
0x5d, 0xea, 0x5d, 0x47, 0xa2, 0x51, 0x69, 0x7a, 0xad, 0x2d, 0x86, 0xbf, 0x49, 0x2b, 0x89, 0x4d,
0x63, 0xa3, 0xe9, 0xb5, 0x6a, 0x87, 0xdb, 0x07, 0x18, 0xc7, 0x03, 0xab, 0x65, 0x49, 0xe8, 0xf6,
0xa1, 0xda, 0xf5, 0x87, 0x01, 0x57, 0xd3, 0x58, 0x34, 0x36, 0xd1, 0xad, 0x54, 0x41, 0x7d, 0xd8,
0x4d, 0x83, 0x78, 0x12, 0x4e, 0x26, 0xbe, 0xca, 0x9e, 0xed, 0xad, 0x3e, 0xfb, 0x1e, 0x40, 0x27,
0x16, 0x7d, 0xdc, 0x66, 0xa2, 0x5b, 0x3b, 0xac, 0x59, 0xb0, 0x0e, 0x2d, 0xcb, 0x2c, 0xd3, 0x6f,
0xd7, 0xe0, 0x46, 0x26, 0x61, 0x78, 0x44, 0xf0, 0x59, 0x48, 0x3e, 0x00, 0xe8, 0x0a, 0x11, 0x18,
0xe3, 0xd6, 0xe2, 0x2d, 0x7b, 0x48, 0xf1, 0xdb, 0x58, 0x06, 0xaa, 0x37, 0x5e, 0x70, 0x69, 0x57,
0x30, 0x0f, 0xab, 0x36, 0xa6, 0x50, 0x42, 0xa1, 0xdc, 0x55, 0x5c, 0x09, 0xcc, 0x4d, 0xed, 0xb0,
0x6e, 0xf7, 0xa0, 0x8e, 0x99, 0x25, 0x72, 0x0f, 0x36, 0x3b, 0x71, 0x18, 0x85, 0x92, 0x8f, 0x31,
0x57, 0xb5, 0xc3, 0x1d, 0x0b, 0x73, 0x6a, 0x96, 0x00, 0xc8, 0x7d, 0x28, 0x5f, 0x69, 0x7f, 0x30,
0x77, 0xb5, 0xc3, 0x9b, 0x0b, 0x1f, 0x81, 0xde, 0x32, 0x03, 0xa2, 0x9f, 0x42, 0x15, 0xe5, 0xae,
0xff, 0x95, 0x20, 0xb7, 0x61, 0xf3, 0x92, 0xcf, 0xdb, 0xd7, 0x4a, 0x38, 0xce, 0x26, 0xb2, 0x26,
0xd1, 0x25, 0x9f, 0xf7, 0xe6, 0xd2, 0x92, 0xcc, 0x4a, 0x56, 0xff, 0x9c, 0x4b, 0x47, 0x2e, 0x23,
0xd1, 0x0f, 0xa1, 0xd2, 0x9b, 0xff, 0xc1, 0x53, 0xf5, 0xee, 0xb5, 0xdc, 0xee, 0x27, 0x50, 0xc3,
0xcf, 0x7a, 0x1e, 0x4a, 0xe9, 0x47, 0xe4, 0x00, 0x08, 0x8a, 0x1d, 0x1e, 0x2b, 0x7d, 0x66, 0xf6,
0xb0, 0x25, 0x2b, 0xb4, 0x05, 0xdb, 0xcf, 0x66, 0xfe, 0x40, 0x04, 0x7d, 0xd1, 0xe1, 0x31, 0x9f,
0x38, 0x43, 0xc7, 0x43, 0x81, 0xbb, 0x8c, 0xa1, 0xe3, 0xa1, 0xa0, 0xbf, 0x78, 0xb0, 0x73, 0x12,
0x06, 0x52, 0x04, 0x72, 0x2a, 0x2d, 0xf6, 0x20, 0x13, 0x13, 0xcb, 0x81, 0xdd, 0x2c, 0xeb, 0xb4,
0x9e, 0x65, 0xc2, 0xf6, 0x8e, 0x73, 0xd5, 0xe6, 0x7d, 0xcb, 0x85, 0x1c, 0x95, 0xcc, 0xc5, 0xe1,
0x51, 0xce, 0x27, 0x9b, 0x6f, 0x92, 0x3d, 0xd8, 0xac, 0xb0, 0x9c, 0xeb, 0x4f, 0x8a, 0xae, 0x58,
0x06, 0xec, 0xd9, 0x8d, 0xf9, 0x45, 0x56, 0x00, 0xd3, 0x29, 0x54, 0x93, 0x6e, 0x40, 0x1a, 0xb0,
0x91, 0xef, 0x29, 0x4e, 0xd4, 0xe1, 0xe9, 0x4c, 0xaf, 0x3e, 0x11, 0xd7, 0xe8, 0x42, 0x9d, 0x59,
0x89, 0x34, 0xa1, 0xf6, 0x2a, 0x54, 0x7e, 0x30, 0xec, 0x84, 0xaf, 0x45, 0x6c, 0x53, 0x9c, 0x55,
0xe9, 0x26, 0x72, 0xdc, 0xef, 0x4f, 0x27, 0xf8, 0x59, 0x25, 0x66, 0x04, 0x1a, 0x40, 0x3d, 0x31,
0xdb, 0x15, 0x8a, 0x3c, 0x04, 0x48, 0x64, 0x6d, 0xbc, 0x94, 0x89, 0x69, 0xb2, 0xc0, 0x32, 0x18,
0x72, 0xdf, 0x71, 0x5e, 0xc4, 0x36, 0xac, 0x8b, 0xf8, 0x04, 0x41, 0x7f, 0x5e, 0xb7, 0x65, 0xa4,
0x7d, 0x3c, 0x19, 0x71, 0x3f, 0xb0, 0x0d, 0xa3, 0xca, 0x9c, 0x48, 0x5a, 0xb0, 0xa3, 0xeb, 0x0e,
0x83, 0x6b, 0xfb, 0xa1, 0x21, 0x5d, 0x51, 0xad, 0x9b, 0x70, 0xa2, 0xea, 0x85, 0x8a, 0x8f, 0x7b,
0x73, 0xeb, 0xfa, 0x82, 0x9e, 0x3c, 0x84, 0x5a, 0xa2, 0x3b, 0x3f, 0xb5, 0xc9, 0x29, 0x36, 0xa9,
0x2c, 0x84, 0xdc, 0x81, 0xad, 0xf4, 0x14, 0x7f, 0x22, 0x6c, 0x93, 0xcd, 0x2b, 0xc9, 0x51, 0x2e,
0x62, 0x15, 0x3c, 0xf6, 0x46, 0x31, 0x02, 0x5d, 0xa1, 0x72, 0x41, 0x7b, 0x0c, 0xdb, 0xfa, 0x94,
0xcc, 0xc6, 0x8d, 0x37, 0x6f, 0x2c, 0x40, 0xc9, 0x53, 0xf8, 0xaf, 0xd6, 0x98, 0x18, 0xa4, 0xfa,
0x93, 0x11, 0x0f, 0x86, 0x62, 0x80, 0xed, 0xba, 0xc4, 0x56, 0x41, 0xc8, 0xd3, 0x85, 0x5a, 0x6a,
0x54, 0x73, 0x4d, 0xa8, 0xb0, 0xca, 0x16, 0x4a, 0xef, 0x63, 0x68, 0xa6, 0x06, 0x0a, 0x8b, 0xee,
0x43, 0x00, 0x3f, 0xe4, 0xad, 0x38, 0x97, 0x6f, 0x26, 0xe4, 0x74, 0xac, 0x24, 0x5e, 0xd9, 0x35,
0x24, 0x77, 0x51, 0x8d, 0x75, 0x11, 0x45, 0x88, 0xa8, 0xdb, 0xba, 0x30, 0x22, 0x9d, 0xc2, 0xde,
0xe9, 0x34, 0x1a, 0xfb, 0x7d, 0xae, 0x84, 0xbe, 0x44, 0x5c, 0x75, 0xe9, 0x82, 0x89, 0x4c, 0xc1,
0x18, 0x96, 0x59, 0x89, 0xfc, 0x1f, 0xca, 0xb3, 0x50, 0x89, 0x63, 0xcb, 0xd9, 0xdc, 0x05, 0x64,
0x56, 0x1c, 0xa4, 0x6d, 0x3b, 0xc0, 0x22, 0xa4, 0x4d, 0xdb, 0xb0, 0xeb, 0x2c, 0x3d, 0x0b, 0x66,
0x62, 0x1c, 0x46, 0xd8, 0x46, 0x35, 0xf0, 0x05, 0x9f, 0x08, 0x6b, 0x33, 0x91, 0xf5, 0xad, 0x3c,
0xe0, 0x8a, 0xdb, 0xe2, 0xc5, 0xdf, 0xf4, 0x04, 0xea, 0xee, 0x8c, 0x53, 0xae, 0x38, 0x39, 0x82,
0x4d, 0x61, 0x65, 0x5b, 0x80, 0xb7, 0x0a, 0x2d, 0xc4, 0x99, 0x62, 0x09, 0x90, 0xfe, 0x58, 0x82,
0xbd, 0xc2, 0xcd, 0x71, 0x26, 0xf8, 0x40, 0x60, 0x2f, 0xe9, 0xe7, 0xeb, 0xcc, 0x8a, 0x3a, 0x34,
0xa3, 0x6c, 0x79, 0x59, 0x49, 0x77, 0x8a, 0x18, 0xc7, 0x0d, 0x53, 0x4a, 0x46, 0xd0, 0x9f, 0xae,
0x74, 0x11, 0x98, 0xf6, 0x81, 0xbf, 0xf5, 0x09, 0xc1, 0x74, 0xa2, 0xef, 0x1a, 0x53, 0x1a, 0x56,
0xd2, 0xb5, 0x36, 0xce, 0xd4, 0x5a, 0x65, 0x79, 0xad, 0x65, 0x20, 0x18, 0x34, 0x53, 0xa8, 0xa6,
0x14, 0x4a, 0x2c, 0x91, 0xf5, 0xf8, 0x34, 0x4e, 0xee, 0x61, 0x4c, 0xbe, 0x99, 0x48, 0x0a, 0x5a,
0x8d, 0x9b, 0x25, 0x54, 0x47, 0x5c, 0xd5, 0xe0, 0xf2, 0x5a, 0x5d, 0xd7, 0x7d, 0xc7, 0x44, 0x84,
0x01, 0xc2, 0xf2, 0x4a, 0x1d, 0x37, 0x6e, 0xb9, 0x66, 0xd8, 0xe8, 0x44, 0xcd, 0xd7, 0x71, 0x81,
0xaf, 0x86, 0x8d, 0x45, 0x35, 0xa1, 0x50, 0x77, 0x19, 0x42, 0xd8, 0x16, 0xc2, 0x72, 0x3a, 0xfa,
0x9b, 0x07, 0x3b, 0x85, 0xcc, 0x91, 0x47, 0x3a, 0x33, 0x3a, 0x7b, 0xf6, 0x56, 0xdb, 0x5f, 0x3e,
0x1b, 0x98, 0x0c, 0x33, 0x8b, 0x25, 0x77, 0xa0, 0xa4, 0xe6, 0x6e, 0xa2, 0x72, 0xf7, 0x55, 0x2f,
0x9d, 0x90, 0x99, 0x5e, 0x26, 0x0f, 0x32, 0xf4, 0x2a, 0xe5, 0x9a, 0x4e, 0x96, 0x85, 0x29, 0xb5,
0xf4, 0xc4, 0x94, 0x06, 0xda, 0xf6, 0xcd, 0x37, 0x4f, 0x4c, 0xe3, 0xec, 0xc4, 0x54, 0x8f, 0x6c,
0xdf, 0xd7, 0xd7, 0x17, 0x72, 0xa4, 0xce, 0x72, 0x3a, 0xfa, 0xab, 0x97, 0x8e, 0x4c, 0x19, 0x42,
0x7a, 0xcb, 0x09, 0x69, 0x26, 0x1a, 0x4b, 0xc8, 0x7d, 0xa8, 0xaa, 0x64, 0xfe, 0x35, 0x54, 0x4d,
0x15, 0x9a, 0x50, 0x9d, 0x97, 0x17, 0xd9, 0xb1, 0x39, 0x91, 0xc9, 0x01, 0x40, 0xe7, 0xe5, 0x85,
0x63, 0x67, 0x79, 0x29, 0x3b, 0x33, 0x08, 0x6d, 0x49, 0x26, 0xd3, 0x70, 0xc5, 0x4c, 0xc3, 0x89,
0x42, 0xaf, 0xe2, 0x88, 0x36, 0xd2, 0x19, 0xde, 0x30, 0xab, 0x89, 0x82, 0xfe, 0xe0, 0xc1, 0xce,
0x0b, 0xf1, 0x1a, 0x0d, 0x77, 0x95, 0x88, 0x2e, 0xe5, 0xf0, 0x4f, 0xfa, 0x49, 0x60, 0x5d, 0x2a,
0x61, 0x5c, 0x2c, 0x33, 0xfc, 0x4d, 0x1e, 0xc1, 0x9e, 0x14, 0xfd, 0x30, 0x18, 0xc8, 0xae, 0x1f,
0xf4, 0x45, 0x57, 0xf1, 0x58, 0xf5, 0x5c, 0x75, 0x96, 0xd9, 0xf2, 0x45, 0x47, 0x5c, 0x9b, 0x2a,
0xb4, 0x54, 0x46, 0x7c, 0x51, 0x4d, 0xdf, 0x83, 0x2d, 0x23, 0xbe, 0xe5, 0x93, 0xe9, 0x77, 0x1e,
0x6c, 0xbb, 0xfc, 0x75, 0x5e, 0x5e, 0xac, 0xf2, 0xee, 0x2e, 0xec, 0x46, 0x29, 0x92, 0x65, 0x1c,
0x5d, 0xd0, 0x93, 0xc7, 0x50, 0xcb, 0xe8, 0x2c, 0x4f, 0xff, 0xb3, 0x58, 0x05, 0xf6, 0x01, 0xc7,
0xb2, 0x68, 0x3a, 0x00, 0x38, 0xe3, 0x52, 0xb7, 0xe9, 0xbf, 0x14, 0x6c, 0x6d, 0xc4, 0x05, 0x5b,
0xff, 0xd6, 0x48, 0x1f, 0x5f, 0x6d, 0xf6, 0xf9, 0x85, 0x02, 0xfd, 0x1a, 0x76, 0xb4, 0x89, 0xae,
0x50, 0x97, 0xfc, 0xf3, 0xc3, 0xa3, 0xbf, 0xc7, 0x54, 0x0b, 0x36, 0xae, 0x56, 0x0e, 0x28, 0x6e,
0x99, 0x7e, 0xef, 0xc1, 0xb6, 0xb5, 0xaf, 0x9f, 0xab, 0xff, 0xb0, 0x79, 0xf2, 0xc0, 0xdc, 0x8d,
0xd2, 0x56, 0xcf, 0x8a, 0xd4, 0x18, 0x1c, 0xfd, 0xc9, 0x83, 0xea, 0x99, 0xe0, 0xb1, 0xba, 0x12,
0x1c, 0xb9, 0x30, 0x7b, 0xc3, 0xeb, 0x79, 0xb6, 0xe4, 0xf5, 0x3c, 0x5b, 0xfa, 0x7a, 0x9e, 0x2d,
0xbc, 0x9e, 0x47, 0xb9, 0xd7, 0x73, 0xd1, 0xfd, 0xf5, 0xac, 0xfb, 0xb7, 0x61, 0x53, 0x8a, 0x2f,
0xa7, 0xd8, 0x06, 0x4d, 0x11, 0x24, 0xf2, 0xea, 0x7a, 0xa7, 0xef, 0x43, 0xf5, 0x5c, 0x9e, 0x09,
0x3e, 0x56, 0xa3, 0x6b, 0x0d, 0xf5, 0x9d, 0x80, 0x1e, 0x6c, 0xb2, 0x54, 0x71, 0x55, 0xc1, 0xff,
0x24, 0x8e, 0x7e, 0x0f, 0x00, 0x00, 0xff, 0xff, 0x8e, 0x20, 0x41, 0x55, 0xc1, 0x10, 0x00, 0x00,
}
......@@ -17,6 +17,11 @@ func init() {
types.RegisterDappFork(ValNodeX, "Enable", 0)
}
// GetExecName get exec name
func GetExecName() string {
return types.ExecName(ValNodeX)
}
// ValNodeType stuct
type ValNodeType struct {
types.ExecTypeBase
......
......@@ -3,11 +3,14 @@
package types
import (
fmt "fmt"
math "math"
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import types1 "github.com/33cn/chain33/types"
proto "github.com/golang/protobuf/proto"
import (
context "golang.org/x/net/context"
grpc "google.golang.org/grpc"
)
// Reference imports to suppress errors if they are not otherwise used.
......@@ -15,44 +18,15 @@ var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
type ValNode struct {
PubKey []byte `protobuf:"bytes,1,opt,name=pubKey,proto3" json:"pubKey,omitempty"`
Power int64 `protobuf:"varint,2,opt,name=power,proto3" json:"power,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ValNode) Reset() { *m = ValNode{} }
func (m *ValNode) String() string { return proto.CompactTextString(m) }
func (*ValNode) ProtoMessage() {}
func (*ValNode) Descriptor() ([]byte, []int) {
return fileDescriptor_38e9a3523ca7e0ea, []int{0}
}
func (m *ValNode) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ValNode.Unmarshal(m, b)
}
func (m *ValNode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ValNode.Marshal(b, m, deterministic)
}
func (m *ValNode) XXX_Merge(src proto.Message) {
xxx_messageInfo_ValNode.Merge(m, src)
}
func (m *ValNode) XXX_Size() int {
return xxx_messageInfo_ValNode.Size(m)
}
func (m *ValNode) XXX_DiscardUnknown() {
xxx_messageInfo_ValNode.DiscardUnknown(m)
PubKey []byte `protobuf:"bytes,1,opt,name=pubKey,proto3" json:"pubKey,omitempty"`
Power int64 `protobuf:"varint,2,opt,name=power" json:"power,omitempty"`
}
var xxx_messageInfo_ValNode proto.InternalMessageInfo
func (m *ValNode) Reset() { *m = ValNode{} }
func (m *ValNode) String() string { return proto.CompactTextString(m) }
func (*ValNode) ProtoMessage() {}
func (*ValNode) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
func (m *ValNode) GetPubKey() []byte {
if m != nil {
......@@ -69,36 +43,13 @@ func (m *ValNode) GetPower() int64 {
}
type ValNodes struct {
Nodes []*ValNode `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ValNodes) Reset() { *m = ValNodes{} }
func (m *ValNodes) String() string { return proto.CompactTextString(m) }
func (*ValNodes) ProtoMessage() {}
func (*ValNodes) Descriptor() ([]byte, []int) {
return fileDescriptor_38e9a3523ca7e0ea, []int{1}
}
func (m *ValNodes) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ValNodes.Unmarshal(m, b)
}
func (m *ValNodes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ValNodes.Marshal(b, m, deterministic)
}
func (m *ValNodes) XXX_Merge(src proto.Message) {
xxx_messageInfo_ValNodes.Merge(m, src)
}
func (m *ValNodes) XXX_Size() int {
return xxx_messageInfo_ValNodes.Size(m)
}
func (m *ValNodes) XXX_DiscardUnknown() {
xxx_messageInfo_ValNodes.DiscardUnknown(m)
Nodes []*ValNode `protobuf:"bytes,1,rep,name=nodes" json:"nodes,omitempty"`
}
var xxx_messageInfo_ValNodes proto.InternalMessageInfo
func (m *ValNodes) Reset() { *m = ValNodes{} }
func (m *ValNodes) String() string { return proto.CompactTextString(m) }
func (*ValNodes) ProtoMessage() {}
func (*ValNodes) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
func (m *ValNodes) GetNodes() []*ValNode {
if m != nil {
......@@ -111,52 +62,27 @@ type ValNodeAction struct {
// Types that are valid to be assigned to Value:
// *ValNodeAction_Node
// *ValNodeAction_BlockInfo
Value isValNodeAction_Value `protobuf_oneof:"value"`
Ty int32 `protobuf:"varint,3,opt,name=Ty,proto3" json:"Ty,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
Value isValNodeAction_Value `protobuf_oneof:"value"`
Ty int32 `protobuf:"varint,3,opt,name=Ty" json:"Ty,omitempty"`
}
func (m *ValNodeAction) Reset() { *m = ValNodeAction{} }
func (m *ValNodeAction) String() string { return proto.CompactTextString(m) }
func (*ValNodeAction) ProtoMessage() {}
func (*ValNodeAction) Descriptor() ([]byte, []int) {
return fileDescriptor_38e9a3523ca7e0ea, []int{2}
}
func (m *ValNodeAction) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ValNodeAction.Unmarshal(m, b)
}
func (m *ValNodeAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ValNodeAction.Marshal(b, m, deterministic)
}
func (m *ValNodeAction) XXX_Merge(src proto.Message) {
xxx_messageInfo_ValNodeAction.Merge(m, src)
}
func (m *ValNodeAction) XXX_Size() int {
return xxx_messageInfo_ValNodeAction.Size(m)
}
func (m *ValNodeAction) XXX_DiscardUnknown() {
xxx_messageInfo_ValNodeAction.DiscardUnknown(m)
}
var xxx_messageInfo_ValNodeAction proto.InternalMessageInfo
func (m *ValNodeAction) Reset() { *m = ValNodeAction{} }
func (m *ValNodeAction) String() string { return proto.CompactTextString(m) }
func (*ValNodeAction) ProtoMessage() {}
func (*ValNodeAction) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
type isValNodeAction_Value interface {
isValNodeAction_Value()
}
type ValNodeAction_Node struct {
Node *ValNode `protobuf:"bytes,1,opt,name=node,proto3,oneof"`
Node *ValNode `protobuf:"bytes,1,opt,name=node,oneof"`
}
type ValNodeAction_BlockInfo struct {
BlockInfo *TendermintBlockInfo `protobuf:"bytes,2,opt,name=blockInfo,proto3,oneof"`
BlockInfo *TendermintBlockInfo `protobuf:"bytes,2,opt,name=blockInfo,oneof"`
}
func (*ValNodeAction_Node) isValNodeAction_Value() {}
func (*ValNodeAction_Node) isValNodeAction_Value() {}
func (*ValNodeAction_BlockInfo) isValNodeAction_Value() {}
func (m *ValNodeAction) GetValue() isValNodeAction_Value {
......@@ -246,12 +172,12 @@ func _ValNodeAction_OneofSizer(msg proto.Message) (n int) {
switch x := m.Value.(type) {
case *ValNodeAction_Node:
s := proto.Size(x.Node)
n += 1 // tag and wire
n += proto.SizeVarint(1<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *ValNodeAction_BlockInfo:
s := proto.Size(x.BlockInfo)
n += 1 // tag and wire
n += proto.SizeVarint(2<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case nil:
......@@ -262,36 +188,13 @@ func _ValNodeAction_OneofSizer(msg proto.Message) (n int) {
}
type ReqNodeInfo struct {
Height int64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
Height int64 `protobuf:"varint,1,opt,name=height" json:"height,omitempty"`
}
func (m *ReqNodeInfo) Reset() { *m = ReqNodeInfo{} }
func (m *ReqNodeInfo) String() string { return proto.CompactTextString(m) }
func (*ReqNodeInfo) ProtoMessage() {}
func (*ReqNodeInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_38e9a3523ca7e0ea, []int{3}
}
func (m *ReqNodeInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqNodeInfo.Unmarshal(m, b)
}
func (m *ReqNodeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqNodeInfo.Marshal(b, m, deterministic)
}
func (m *ReqNodeInfo) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqNodeInfo.Merge(m, src)
}
func (m *ReqNodeInfo) XXX_Size() int {
return xxx_messageInfo_ReqNodeInfo.Size(m)
}
func (m *ReqNodeInfo) XXX_DiscardUnknown() {
xxx_messageInfo_ReqNodeInfo.DiscardUnknown(m)
}
var xxx_messageInfo_ReqNodeInfo proto.InternalMessageInfo
func (m *ReqNodeInfo) Reset() { *m = ReqNodeInfo{} }
func (m *ReqNodeInfo) String() string { return proto.CompactTextString(m) }
func (*ReqNodeInfo) ProtoMessage() {}
func (*ReqNodeInfo) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
func (m *ReqNodeInfo) GetHeight() int64 {
if m != nil {
......@@ -301,36 +204,13 @@ func (m *ReqNodeInfo) GetHeight() int64 {
}
type ReqBlockInfo struct {
Height int64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ReqBlockInfo) Reset() { *m = ReqBlockInfo{} }
func (m *ReqBlockInfo) String() string { return proto.CompactTextString(m) }
func (*ReqBlockInfo) ProtoMessage() {}
func (*ReqBlockInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_38e9a3523ca7e0ea, []int{4}
}
func (m *ReqBlockInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqBlockInfo.Unmarshal(m, b)
}
func (m *ReqBlockInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqBlockInfo.Marshal(b, m, deterministic)
}
func (m *ReqBlockInfo) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqBlockInfo.Merge(m, src)
}
func (m *ReqBlockInfo) XXX_Size() int {
return xxx_messageInfo_ReqBlockInfo.Size(m)
}
func (m *ReqBlockInfo) XXX_DiscardUnknown() {
xxx_messageInfo_ReqBlockInfo.DiscardUnknown(m)
Height int64 `protobuf:"varint,1,opt,name=height" json:"height,omitempty"`
}
var xxx_messageInfo_ReqBlockInfo proto.InternalMessageInfo
func (m *ReqBlockInfo) Reset() { *m = ReqBlockInfo{} }
func (m *ReqBlockInfo) String() string { return proto.CompactTextString(m) }
func (*ReqBlockInfo) ProtoMessage() {}
func (*ReqBlockInfo) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
func (m *ReqBlockInfo) GetHeight() int64 {
if m != nil {
......@@ -347,25 +227,134 @@ func init() {
proto.RegisterType((*ReqBlockInfo)(nil), "types.ReqBlockInfo")
}
func init() { proto.RegisterFile("valnode.proto", fileDescriptor_38e9a3523ca7e0ea) }
var fileDescriptor_38e9a3523ca7e0ea = []byte{
// 261 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x90, 0x41, 0x4b, 0xc3, 0x30,
0x14, 0xc7, 0x97, 0xd6, 0x74, 0xfa, 0xba, 0x0d, 0x09, 0x32, 0xca, 0x4e, 0x25, 0x4c, 0xe9, 0xa9,
0xc8, 0x3c, 0x08, 0xde, 0xdc, 0x69, 0x22, 0x78, 0x08, 0xc5, 0x7b, 0xbb, 0x3e, 0x5d, 0xb1, 0x26,
0x5d, 0x9b, 0x4d, 0xfa, 0x15, 0xfc, 0xd4, 0xd2, 0x34, 0xd6, 0x83, 0xec, 0xf8, 0xcf, 0xef, 0xf7,
0xf2, 0x7f, 0x09, 0x4c, 0x8f, 0x69, 0x29, 0x55, 0x8e, 0x71, 0x55, 0x2b, 0xad, 0x18, 0xd5, 0x6d,
0x85, 0xcd, 0xe2, 0x52, 0xa3, 0xcc, 0xb1, 0xfe, 0x2c, 0xa4, 0xee, 0x01, 0xbf, 0x87, 0xf1, 0x6b,
0x5a, 0xbe, 0xa8, 0x1c, 0xd9, 0x1c, 0xbc, 0xea, 0x90, 0x3d, 0x63, 0x1b, 0x90, 0x90, 0x44, 0x13,
0x61, 0x13, 0xbb, 0x02, 0x5a, 0xa9, 0x2f, 0xac, 0x03, 0x27, 0x24, 0x91, 0x2b, 0xfa, 0xc0, 0x6f,
0xe1, 0xdc, 0x0e, 0x36, 0x6c, 0x09, 0xb4, 0xeb, 0x6a, 0x02, 0x12, 0xba, 0x91, 0xbf, 0x9a, 0xc5,
0xa6, 0x2d, 0xb6, 0x5c, 0xf4, 0x90, 0x7f, 0x13, 0x98, 0xda, 0xa3, 0xc7, 0xad, 0x2e, 0x94, 0x64,
0x4b, 0x38, 0xeb, 0x90, 0xe9, 0xfb, 0x37, 0xb6, 0x19, 0x09, 0x43, 0xd9, 0x03, 0x5c, 0x64, 0xa5,
0xda, 0x7e, 0x3c, 0xc9, 0x37, 0x65, 0x76, 0xf0, 0x57, 0x0b, 0xab, 0x26, 0xc3, 0x73, 0xd6, 0xbf,
0xc6, 0x66, 0x24, 0xfe, 0x74, 0x36, 0x03, 0x27, 0x69, 0x03, 0x37, 0x24, 0x11, 0x15, 0x4e, 0xd2,
0xae, 0xc7, 0x40, 0x8f, 0x69, 0x79, 0x40, 0x7e, 0x0d, 0xbe, 0xc0, 0x7d, 0xd7, 0x63, 0xbc, 0x39,
0x78, 0x3b, 0x2c, 0xde, 0x77, 0xda, 0xec, 0xe2, 0x0a, 0x9b, 0xf8, 0x0d, 0x4c, 0x04, 0xee, 0x87,
0xcb, 0x4f, 0x79, 0x99, 0x67, 0x7e, 0xf3, 0xee, 0x27, 0x00, 0x00, 0xff, 0xff, 0x0a, 0x4a, 0x26,
0xac, 0x77, 0x01, 0x00, 0x00,
// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4
// Client API for Valnode service
type ValnodeClient interface {
IsSync(ctx context.Context, in *types1.ReqNil, opts ...grpc.CallOption) (*IsHealthy, error)
GetNodeInfo(ctx context.Context, in *types1.ReqNil, opts ...grpc.CallOption) (*ValidatorSet, error)
}
type valnodeClient struct {
cc *grpc.ClientConn
}
func NewValnodeClient(cc *grpc.ClientConn) ValnodeClient {
return &valnodeClient{cc}
}
func (c *valnodeClient) IsSync(ctx context.Context, in *types1.ReqNil, opts ...grpc.CallOption) (*IsHealthy, error) {
out := new(IsHealthy)
err := grpc.Invoke(ctx, "/types.valnode/IsSync", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *valnodeClient) GetNodeInfo(ctx context.Context, in *types1.ReqNil, opts ...grpc.CallOption) (*ValidatorSet, error) {
out := new(ValidatorSet)
err := grpc.Invoke(ctx, "/types.valnode/GetNodeInfo", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// Server API for Valnode service
type ValnodeServer interface {
IsSync(context.Context, *types1.ReqNil) (*IsHealthy, error)
GetNodeInfo(context.Context, *types1.ReqNil) (*ValidatorSet, error)
}
func RegisterValnodeServer(s *grpc.Server, srv ValnodeServer) {
s.RegisterService(&_Valnode_serviceDesc, srv)
}
func _Valnode_IsSync_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(types1.ReqNil)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ValnodeServer).IsSync(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/types.valnode/IsSync",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ValnodeServer).IsSync(ctx, req.(*types1.ReqNil))
}
return interceptor(ctx, in, info, handler)
}
func _Valnode_GetNodeInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(types1.ReqNil)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ValnodeServer).GetNodeInfo(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/types.valnode/GetNodeInfo",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ValnodeServer).GetNodeInfo(ctx, req.(*types1.ReqNil))
}
return interceptor(ctx, in, info, handler)
}
var _Valnode_serviceDesc = grpc.ServiceDesc{
ServiceName: "types.valnode",
HandlerType: (*ValnodeServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "IsSync",
Handler: _Valnode_IsSync_Handler,
},
{
MethodName: "GetNodeInfo",
Handler: _Valnode_GetNodeInfo_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "valnode.proto",
}
func init() { proto.RegisterFile("valnode.proto", fileDescriptor1) }
var fileDescriptor1 = []byte{
// 322 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x51, 0xcd, 0x6a, 0xf2, 0x40,
0x14, 0x4d, 0xcc, 0x97, 0xf8, 0xf5, 0x46, 0x45, 0xa6, 0x45, 0x42, 0x56, 0x61, 0xb0, 0x25, 0x50,
0x90, 0xa2, 0x8b, 0x42, 0x77, 0x75, 0x53, 0xa5, 0xd0, 0xc5, 0x28, 0xdd, 0xc7, 0xe4, 0xb6, 0x06,
0xe3, 0x4c, 0x4c, 0x46, 0x4b, 0x5e, 0xa1, 0x4f, 0x5d, 0x32, 0x99, 0x46, 0x68, 0xe9, 0xf2, 0xfc,
0xe5, 0x9c, 0xdc, 0x81, 0xfe, 0x29, 0xca, 0xb8, 0x48, 0x70, 0x92, 0x17, 0x42, 0x0a, 0x62, 0xcb,
0x2a, 0xc7, 0xd2, 0xef, 0xc5, 0x62, 0xbf, 0x17, 0xbc, 0x21, 0xfd, 0xa1, 0x44, 0x9e, 0x60, 0xb1,
0x4f, 0xb9, 0x6c, 0x18, 0x7a, 0x0f, 0xdd, 0xd7, 0x28, 0x7b, 0x11, 0x09, 0x92, 0x11, 0x38, 0xf9,
0x71, 0xf3, 0x8c, 0x95, 0x67, 0x06, 0x66, 0xd8, 0x63, 0x1a, 0x91, 0x2b, 0xb0, 0x73, 0xf1, 0x81,
0x85, 0xd7, 0x09, 0xcc, 0xd0, 0x62, 0x0d, 0xa0, 0x77, 0xf0, 0x5f, 0x07, 0x4b, 0x32, 0x06, 0xbb,
0x6e, 0x2e, 0x3d, 0x33, 0xb0, 0x42, 0x77, 0x3a, 0x98, 0xa8, 0xee, 0x89, 0xd6, 0x59, 0x23, 0xd2,
0x4f, 0x13, 0xfa, 0x9a, 0x7a, 0x8c, 0x65, 0x2a, 0x38, 0x19, 0xc3, 0xbf, 0x5a, 0x52, 0x7d, 0xbf,
0x62, 0x0b, 0x83, 0x29, 0x95, 0x3c, 0xc0, 0xc5, 0x26, 0x13, 0xf1, 0x6e, 0xc9, 0xdf, 0x84, 0xda,
0xe0, 0x4e, 0x7d, 0x6d, 0x5d, 0xb7, 0xbf, 0x33, 0xff, 0x76, 0x2c, 0x0c, 0x76, 0xb6, 0x93, 0x01,
0x74, 0xd6, 0x95, 0x67, 0x05, 0x66, 0x68, 0xb3, 0xce, 0xba, 0x9a, 0x77, 0xc1, 0x3e, 0x45, 0xd9,
0x11, 0xe9, 0x35, 0xb8, 0x0c, 0x0f, 0x75, 0x8f, 0xf2, 0x8d, 0xc0, 0xd9, 0x62, 0xfa, 0xbe, 0x95,
0x6a, 0x8b, 0xc5, 0x34, 0xa2, 0x37, 0xd0, 0x63, 0x78, 0x68, 0x3f, 0xfe, 0x97, 0x6f, 0xba, 0x83,
0xae, 0x3e, 0x3f, 0xb9, 0x05, 0x67, 0x59, 0xae, 0x2a, 0x1e, 0x93, 0xbe, 0x5e, 0x59, 0x17, 0xa5,
0x99, 0x3f, 0xd4, 0x70, 0x59, 0x2e, 0x30, 0xca, 0xe4, 0xb6, 0xa2, 0x06, 0x99, 0x81, 0xfb, 0x84,
0xb2, 0x9d, 0xf1, 0x23, 0x71, 0x79, 0xbe, 0x48, 0x9a, 0x44, 0x52, 0x14, 0x2b, 0x94, 0xd4, 0xd8,
0x38, 0xea, 0xe9, 0x66, 0x5f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xce, 0xc8, 0x21, 0x55, 0xf2, 0x01,
0x00, 0x00,
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment