Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
plugin
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
link33
plugin
Commits
db26652c
Commit
db26652c
authored
Jan 31, 2019
by
caopingcp
Committed by
vipwzw
Feb 11, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add commands in valnode
parent
def4afbb
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
983 additions
and
1105 deletions
+983
-1105
consensus_state.go
plugin/consensus/tendermint/consensus_state.go
+5
-4
tendermint.go
plugin/consensus/tendermint/tendermint.go
+39
-5
valnode.go
plugin/dapp/valnode/commands/valnode.go
+192
-0
exec_local.go
plugin/dapp/valnode/executor/exec_local.go
+2
-1
plugin.go
plugin/dapp/valnode/plugin.go
+4
-2
tendermint.proto
plugin/dapp/valnode/proto/tendermint.proto
+5
-0
valnode.proto
plugin/dapp/valnode/proto/valnode.proto
+7
-0
rpc.go
plugin/dapp/valnode/rpc/rpc.go
+57
-0
rpc_test.go
plugin/dapp/valnode/rpc/rpc_test.go
+94
-0
types.go
plugin/dapp/valnode/rpc/types.go
+33
-0
tendermint.pb.go
plugin/dapp/valnode/types/tendermint.pb.go
+371
-913
valnode.go
plugin/dapp/valnode/types/valnode.go
+5
-0
valnode.pb.go
plugin/dapp/valnode/types/valnode.pb.go
+169
-180
No files found.
plugin/consensus/tendermint/consensus_state.go
View file @
db26652c
...
@@ -729,7 +729,8 @@ func (cs *ConsensusState) createProposalBlock() (block *ttypes.TendermintBlock)
...
@@ -729,7 +729,8 @@ func (cs *ConsensusState) createProposalBlock() (block *ttypes.TendermintBlock)
// Mempool validated transactions
// Mempool validated transactions
beg
:=
time
.
Now
()
beg
:=
time
.
Now
()
pblock
:=
cs
.
client
.
BuildBlock
()
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
{
if
pblock
.
Height
!=
cs
.
Height
{
tendermintlog
.
Error
(
"pblock.Height is not equal to cs.Height"
)
tendermintlog
.
Error
(
"pblock.Height is not equal to cs.Height"
)
...
@@ -1097,6 +1098,7 @@ func (cs *ConsensusState) finalizeCommit(height int64) {
...
@@ -1097,6 +1098,7 @@ func (cs *ConsensusState) finalizeCommit(height int64) {
valNodes
,
err
:=
cs
.
client
.
QueryValidatorsByHeight
(
block
.
Header
.
Height
)
valNodes
,
err
:=
cs
.
client
.
QueryValidatorsByHeight
(
block
.
Header
.
Height
)
if
err
==
nil
&&
valNodes
!=
nil
{
if
err
==
nil
&&
valNodes
!=
nil
{
if
len
(
valNodes
.
Nodes
)
>
0
{
if
len
(
valNodes
.
Nodes
)
>
0
{
tendermintlog
.
Info
(
"finalizeCommit validators of statecopy update"
,
"update-valnodes"
,
valNodes
)
prevValSet
:=
stateCopy
.
LastValidators
.
Copy
()
prevValSet
:=
stateCopy
.
LastValidators
.
Copy
()
nextValSet
:=
prevValSet
.
Copy
()
nextValSet
:=
prevValSet
.
Copy
()
err
:=
updateValidators
(
nextValSet
,
valNodes
.
Nodes
)
err
:=
updateValidators
(
nextValSet
,
valNodes
.
Nodes
)
...
@@ -1107,10 +1109,9 @@ func (cs *ConsensusState) finalizeCommit(height int64) {
...
@@ -1107,10 +1109,9 @@ func (cs *ConsensusState) finalizeCommit(height int64) {
stateCopy
.
LastHeightValidatorsChanged
=
block
.
Header
.
Height
+
1
stateCopy
.
LastHeightValidatorsChanged
=
block
.
Header
.
Height
+
1
nextValSet
.
IncrementAccum
(
1
)
nextValSet
.
IncrementAccum
(
1
)
stateCopy
.
Validators
=
nextValSet
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!
// NewHeightStep!
cs
.
updateToState
(
stateCopy
)
cs
.
updateToState
(
stateCopy
)
...
@@ -1383,7 +1384,7 @@ func (cs *ConsensusState) signVote(voteType byte, hash []byte) (*ttypes.Vote, er
...
@@ -1383,7 +1384,7 @@ func (cs *ConsensusState) signVote(voteType byte, hash []byte) (*ttypes.Vote, er
}
}
beg
:=
time
.
Now
()
beg
:=
time
.
Now
()
err
:=
cs
.
privValidator
.
SignVote
(
cs
.
state
.
ChainID
,
vote
)
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
return
vote
,
err
}
}
...
...
plugin/consensus/tendermint/tendermint.go
View file @
db26652c
...
@@ -266,7 +266,7 @@ OuterLoop:
...
@@ -266,7 +266,7 @@ OuterLoop:
}
}
state
=
statetmp
.
Copy
()
state
=
statetmp
.
Copy
()
}
else
{
}
else
{
tendermintlog
.
Info
(
"StartConsensus"
,
"blockinfo"
,
blockInfo
)
tendermintlog
.
Debug
(
"StartConsensus"
,
"blockinfo"
,
blockInfo
)
csState
:=
blockInfo
.
GetState
()
csState
:=
blockInfo
.
GetState
()
if
csState
==
nil
{
if
csState
==
nil
{
tendermintlog
.
Error
(
"StartConsensus"
,
"msg"
,
"blockInfo.GetState is nil"
)
tendermintlog
.
Error
(
"StartConsensus"
,
"msg"
,
"blockInfo.GetState is nil"
)
...
@@ -282,25 +282,24 @@ OuterLoop:
...
@@ -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
)
valNodes
,
err
:=
client
.
QueryValidatorsByHeight
(
curHeight
)
if
err
==
nil
&&
valNodes
!=
nil
{
if
err
==
nil
&&
valNodes
!=
nil
{
if
len
(
valNodes
.
Nodes
)
>
0
{
if
len
(
valNodes
.
Nodes
)
>
0
{
tendermintlog
.
Info
(
"StartConsensus validators update"
,
"update-valnodes"
,
valNodes
)
prevValSet
:=
state
.
LastValidators
.
Copy
()
prevValSet
:=
state
.
LastValidators
.
Copy
()
nextValSet
:=
prevValSet
.
Copy
()
nextValSet
:=
prevValSet
.
Copy
()
err
:=
updateValidators
(
nextValSet
,
valNodes
.
Nodes
)
err
:=
updateValidators
(
nextValSet
,
valNodes
.
Nodes
)
if
err
!=
nil
{
if
err
!=
nil
{
tendermintlog
.
Error
(
"Error changing validator set"
,
"error"
,
err
)
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
// change results from this height but only applies to the next height
state
.
LastHeightValidatorsChanged
=
curHeight
+
1
state
.
LastHeightValidatorsChanged
=
curHeight
+
1
nextValSet
.
IncrementAccum
(
1
)
nextValSet
.
IncrementAccum
(
1
)
state
.
Validators
=
nextValSet
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
// Log whether this node is a validator or an observer
if
state
.
Validators
.
HasAddress
(
client
.
privValidator
.
GetAddress
())
{
if
state
.
Validators
.
HasAddress
(
client
.
privValidator
.
GetAddress
())
{
tendermintlog
.
Info
(
"This node is a validator"
)
tendermintlog
.
Info
(
"This node is a validator"
)
...
@@ -574,3 +573,38 @@ func (client *Client) LoadProposalBlock(height int64) *tmtypes.TendermintBlock {
...
@@ -574,3 +573,38 @@ func (client *Client) LoadProposalBlock(height int64) *tmtypes.TendermintBlock {
}
}
return
proposalBlock
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
}
plugin/dapp/valnode/commands/valnode.go
0 → 100644
View file @
db26652c
// 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
}
plugin/dapp/valnode/executor/exec_local.go
View file @
db26652c
...
@@ -5,6 +5,7 @@
...
@@ -5,6 +5,7 @@
package
executor
package
executor
import
(
import
(
"encoding/hex"
"errors"
"errors"
"github.com/33cn/chain33/types"
"github.com/33cn/chain33/types"
...
@@ -20,7 +21,7 @@ func (val *ValNode) ExecLocal_Node(node *pty.ValNode, tx *types.Transaction, rec
...
@@ -20,7 +21,7 @@ func (val *ValNode) ExecLocal_Node(node *pty.ValNode, tx *types.Transaction, rec
if
node
.
GetPower
()
<
0
{
if
node
.
GetPower
()
<
0
{
return
nil
,
errors
.
New
(
"validator power must not be negative"
)
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
)
key
:=
CalcValNodeUpdateHeightIndexKey
(
val
.
GetHeight
(),
index
)
set
.
KV
=
append
(
set
.
KV
,
&
types
.
KeyValue
{
Key
:
key
,
Value
:
types
.
Encode
(
node
)})
set
.
KV
=
append
(
set
.
KV
,
&
types
.
KeyValue
{
Key
:
key
,
Value
:
types
.
Encode
(
node
)})
return
set
,
nil
return
set
,
nil
...
...
plugin/dapp/valnode/plugin.go
View file @
db26652c
...
@@ -6,6 +6,8 @@ package valnode
...
@@ -6,6 +6,8 @@ package valnode
import
(
import
(
"github.com/33cn/chain33/pluginmgr"
"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/executor"
"github.com/33cn/plugin/plugin/dapp/valnode/types"
"github.com/33cn/plugin/plugin/dapp/valnode/types"
)
)
...
@@ -15,7 +17,7 @@ func init() {
...
@@ -15,7 +17,7 @@ func init() {
Name
:
types
.
ValNodeX
,
Name
:
types
.
ValNodeX
,
ExecName
:
executor
.
GetName
(),
ExecName
:
executor
.
GetName
(),
Exec
:
executor
.
Init
,
Exec
:
executor
.
Init
,
Cmd
:
nil
,
Cmd
:
commands
.
ValCmd
,
RPC
:
nil
,
RPC
:
rpc
.
Init
,
})
})
}
}
plugin/dapp/valnode/proto/tendermint.proto
View file @
db26652c
...
@@ -186,3 +186,7 @@ message Heartbeat {
...
@@ -186,3 +186,7 @@ message Heartbeat {
int32
sequence
=
5
;
int32
sequence
=
5
;
bytes
signature
=
6
;
bytes
signature
=
6
;
}
}
message
IsHealthy
{
bool
isHealthy
=
1
;
}
\ No newline at end of file
plugin/dapp/valnode/proto/valnode.proto
View file @
db26652c
syntax
=
"proto3"
;
syntax
=
"proto3"
;
package
types
;
package
types
;
import
"common.proto"
;
import
"tendermint.proto"
;
import
"tendermint.proto"
;
message
ValNode
{
message
ValNode
{
...
@@ -26,4 +27,9 @@ message ReqNodeInfo {
...
@@ -26,4 +27,9 @@ message ReqNodeInfo {
message
ReqBlockInfo
{
message
ReqBlockInfo
{
int64
height
=
1
;
int64
height
=
1
;
}
service
valnode
{
rpc
IsSync
(
ReqNil
)
returns
(
IsHealthy
)
{}
rpc
GetNodeInfo
(
ReqNil
)
returns
(
ValidatorSet
)
{}
}
}
\ No newline at end of file
plugin/dapp/valnode/rpc/rpc.go
0 → 100644
View file @
db26652c
// 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
}
plugin/dapp/valnode/rpc/rpc_test.go
0 → 100644
View file @
db26652c
/*
* 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
)
}
plugin/dapp/valnode/rpc/types.go
0 → 100644
View file @
db26652c
// 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
)
}
plugin/dapp/valnode/types/tendermint.pb.go
View file @
db26652c
// Code generated by protoc-gen-go. DO NOT EDIT.
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: tendermint.proto
// 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
package
types
import
(
import
proto
"github.com/golang/protobuf/proto"
fmt
"fmt"
import
fmt
"fmt"
math
"math"
import
math
"math"
import
types2
"github.com/33cn/chain33/types"
types
"github.com/33cn/chain33/types"
proto
"github.com/golang/protobuf/proto"
)
// Reference imports to suppress errors if they are not otherwise used.
// Reference imports to suppress errors if they are not otherwise used.
var
_
=
proto
.
Marshal
var
_
=
proto
.
Marshal
...
@@ -23,36 +61,13 @@ var _ = math.Inf
...
@@ -23,36 +61,13 @@ var _ = math.Inf
const
_
=
proto
.
ProtoPackageIsVersion2
// please upgrade the proto package
const
_
=
proto
.
ProtoPackageIsVersion2
// please upgrade the proto package
type
BlockID
struct
{
type
BlockID
struct
{
Hash
[]
byte
`protobuf:"bytes,1,opt,name=Hash,proto3" json:"Hash,omitempty"`
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
)
}
}
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
{
func
(
m
*
BlockID
)
GetHash
()
[]
byte
{
if
m
!=
nil
{
if
m
!=
nil
{
...
@@ -62,37 +77,14 @@ func (m *BlockID) GetHash() []byte {
...
@@ -62,37 +77,14 @@ func (m *BlockID) GetHash() []byte {
}
}
type
TendermintBitArray
struct
{
type
TendermintBitArray
struct
{
Bits
int32
`protobuf:"varint,1,opt,name=Bits,proto3" json:"Bits,omitempty"`
Bits
int32
`protobuf:"varint,1,opt,name=Bits" json:"Bits,omitempty"`
Elems
[]
uint64
`protobuf:"varint,2,rep,packed,name=Elems,proto3" json:"Elems,omitempty"`
Elems
[]
uint64
`protobuf:"varint,2,rep,packed,name=Elems" 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
)
}
}
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
{
func
(
m
*
TendermintBitArray
)
GetBits
()
int32
{
if
m
!=
nil
{
if
m
!=
nil
{
...
@@ -109,43 +101,20 @@ func (m *TendermintBitArray) GetElems() []uint64 {
...
@@ -109,43 +101,20 @@ func (m *TendermintBitArray) GetElems() []uint64 {
}
}
type
Vote
struct
{
type
Vote
struct
{
ValidatorAddress
[]
byte
`protobuf:"bytes,1,opt,name=ValidatorAddress,proto3" json:"ValidatorAddress,omitempty"`
ValidatorAddress
[]
byte
`protobuf:"bytes,1,opt,name=ValidatorAddress,proto3" json:"ValidatorAddress,omitempty"`
ValidatorIndex
int32
`protobuf:"varint,2,opt,name=ValidatorIndex,proto3" json:"ValidatorIndex,omitempty"`
ValidatorIndex
int32
`protobuf:"varint,2,opt,name=ValidatorIndex" json:"ValidatorIndex,omitempty"`
Height
int64
`protobuf:"varint,3,opt,name=Height,proto3" json:"Height,omitempty"`
Height
int64
`protobuf:"varint,3,opt,name=Height" json:"Height,omitempty"`
Round
int32
`protobuf:"varint,4,opt,name=Round,proto3" json:"Round,omitempty"`
Round
int32
`protobuf:"varint,4,opt,name=Round" json:"Round,omitempty"`
Timestamp
int64
`protobuf:"varint,5,opt,name=Timestamp,proto3" json:"Timestamp,omitempty"`
Timestamp
int64
`protobuf:"varint,5,opt,name=Timestamp" json:"Timestamp,omitempty"`
Type
uint32
`protobuf:"varint,6,opt,name=Type,proto3" json:"Type,omitempty"`
Type
uint32
`protobuf:"varint,6,opt,name=Type" json:"Type,omitempty"`
BlockID
*
BlockID
`protobuf:"bytes,7,opt,name=BlockID,proto3" json:"BlockID,omitempty"`
BlockID
*
BlockID
`protobuf:"bytes,7,opt,name=BlockID" json:"BlockID,omitempty"`
Signature
[]
byte
`protobuf:"bytes,8,opt,name=Signature,proto3" json:"Signature,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
)
}
}
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
{
func
(
m
*
Vote
)
GetValidatorAddress
()
[]
byte
{
if
m
!=
nil
{
if
m
!=
nil
{
...
@@ -204,37 +173,14 @@ func (m *Vote) GetSignature() []byte {
...
@@ -204,37 +173,14 @@ func (m *Vote) GetSignature() []byte {
}
}
type
TendermintCommit
struct
{
type
TendermintCommit
struct
{
BlockID
*
BlockID
`protobuf:"bytes,1,opt,name=BlockID,proto3" json:"BlockID,omitempty"`
BlockID
*
BlockID
`protobuf:"bytes,1,opt,name=BlockID" json:"BlockID,omitempty"`
Precommits
[]
*
Vote
`protobuf:"bytes,2,rep,name=Precommits,proto3" json:"Precommits,omitempty"`
Precommits
[]
*
Vote
`protobuf:"bytes,2,rep,name=Precommits" json:"Precommits,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
}
func
(
m
*
TendermintCommit
)
Reset
()
{
*
m
=
TendermintCommit
{}
}
func
(
m
*
TendermintCommit
)
Reset
()
{
*
m
=
TendermintCommit
{}
}
func
(
m
*
TendermintCommit
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
m
*
TendermintCommit
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
TendermintCommit
)
ProtoMessage
()
{}
func
(
*
TendermintCommit
)
ProtoMessage
()
{}
func
(
*
TendermintCommit
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
TendermintCommit
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
3
}
}
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
)
GetBlockID
()
*
BlockID
{
func
(
m
*
TendermintCommit
)
GetBlockID
()
*
BlockID
{
if
m
!=
nil
{
if
m
!=
nil
{
...
@@ -251,40 +197,17 @@ func (m *TendermintCommit) GetPrecommits() []*Vote {
...
@@ -251,40 +197,17 @@ func (m *TendermintCommit) GetPrecommits() []*Vote {
}
}
type
TendermintBlockInfo
struct
{
type
TendermintBlockInfo
struct
{
SeenCommit
*
TendermintCommit
`protobuf:"bytes,1,opt,name=SeenCommit,proto3" json:"SeenCommit,omitempty"`
SeenCommit
*
TendermintCommit
`protobuf:"bytes,1,opt,name=SeenCommit" json:"SeenCommit,omitempty"`
LastCommit
*
TendermintCommit
`protobuf:"bytes,2,opt,name=LastCommit,proto3" json:"LastCommit,omitempty"`
LastCommit
*
TendermintCommit
`protobuf:"bytes,2,opt,name=LastCommit" json:"LastCommit,omitempty"`
State
*
State
`protobuf:"bytes,3,opt,name=State,proto3" json:"State,omitempty"`
State
*
State
`protobuf:"bytes,3,opt,name=State" json:"State,omitempty"`
Proposal
*
Proposal
`protobuf:"bytes,4,opt,name=Proposal,proto3" json:"Proposal,omitempty"`
Proposal
*
Proposal
`protobuf:"bytes,4,opt,name=Proposal" json:"Proposal,omitempty"`
Block
*
TendermintBlock
`protobuf:"bytes,5,opt,name=block,proto3" json:"block,omitempty"`
Block
*
TendermintBlock
`protobuf:"bytes,5,opt,name=block" 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
}
}
}
func
(
m
*
TendermintBlockInfo
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
func
(
m
*
TendermintBlockInfo
)
Reset
()
{
*
m
=
TendermintBlockInfo
{}
}
return
xxx_messageInfo_TendermintBlockInfo
.
Unmarshal
(
m
,
b
)
func
(
m
*
TendermintBlockInfo
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
}
func
(
*
TendermintBlockInfo
)
ProtoMessage
()
{}
func
(
m
*
TendermintBlockInfo
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
func
(
*
TendermintBlockInfo
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
4
}
}
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
)
GetSeenCommit
()
*
TendermintCommit
{
func
(
m
*
TendermintBlockInfo
)
GetSeenCommit
()
*
TendermintCommit
{
if
m
!=
nil
{
if
m
!=
nil
{
...
@@ -322,38 +245,15 @@ func (m *TendermintBlockInfo) GetBlock() *TendermintBlock {
...
@@ -322,38 +245,15 @@ func (m *TendermintBlockInfo) GetBlock() *TendermintBlock {
}
}
type
BlockSize
struct
{
type
BlockSize
struct
{
MaxBytes
int32
`protobuf:"varint,1,opt,name=MaxBytes,proto3" json:"MaxBytes,omitempty"`
MaxBytes
int32
`protobuf:"varint,1,opt,name=MaxBytes" json:"MaxBytes,omitempty"`
MaxTxs
int32
`protobuf:"varint,2,opt,name=MaxTxs,proto3" json:"MaxTxs,omitempty"`
MaxTxs
int32
`protobuf:"varint,2,opt,name=MaxTxs" json:"MaxTxs,omitempty"`
MaxGas
int64
`protobuf:"varint,3,opt,name=MaxGas,proto3" json:"MaxGas,omitempty"`
MaxGas
int64
`protobuf:"varint,3,opt,name=MaxGas" json:"MaxGas,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
}
func
(
m
*
BlockSize
)
Reset
()
{
*
m
=
BlockSize
{}
}
func
(
m
*
BlockSize
)
Reset
()
{
*
m
=
BlockSize
{}
}
func
(
m
*
BlockSize
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
m
*
BlockSize
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
BlockSize
)
ProtoMessage
()
{}
func
(
*
BlockSize
)
ProtoMessage
()
{}
func
(
*
BlockSize
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
BlockSize
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
5
}
}
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
)
GetMaxBytes
()
int32
{
func
(
m
*
BlockSize
)
GetMaxBytes
()
int32
{
if
m
!=
nil
{
if
m
!=
nil
{
...
@@ -377,37 +277,14 @@ func (m *BlockSize) GetMaxGas() int64 {
...
@@ -377,37 +277,14 @@ func (m *BlockSize) GetMaxGas() int64 {
}
}
type
TxSize
struct
{
type
TxSize
struct
{
MaxBytes
int32
`protobuf:"varint,1,opt,name=MaxBytes,proto3" json:"MaxBytes,omitempty"`
MaxBytes
int32
`protobuf:"varint,1,opt,name=MaxBytes" json:"MaxBytes,omitempty"`
MaxGas
int64
`protobuf:"varint,2,opt,name=MaxGas,proto3" json:"MaxGas,omitempty"`
MaxGas
int64
`protobuf:"varint,2,opt,name=MaxGas" 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
)
}
}
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
{
func
(
m
*
TxSize
)
GetMaxBytes
()
int32
{
if
m
!=
nil
{
if
m
!=
nil
{
...
@@ -424,36 +301,13 @@ func (m *TxSize) GetMaxGas() int64 {
...
@@ -424,36 +301,13 @@ func (m *TxSize) GetMaxGas() int64 {
}
}
type
BlockGossip
struct
{
type
BlockGossip
struct
{
BlockPartSizeBytes
int32
`protobuf:"varint,1,opt,name=BlockPartSizeBytes,proto3" json:"BlockPartSizeBytes,omitempty"`
BlockPartSizeBytes
int32
`protobuf:"varint,1,opt,name=BlockPartSizeBytes" 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
)
}
}
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
{
func
(
m
*
BlockGossip
)
GetBlockPartSizeBytes
()
int32
{
if
m
!=
nil
{
if
m
!=
nil
{
...
@@ -463,36 +317,13 @@ func (m *BlockGossip) GetBlockPartSizeBytes() int32 {
...
@@ -463,36 +317,13 @@ func (m *BlockGossip) GetBlockPartSizeBytes() int32 {
}
}
type
EvidenceParams
struct
{
type
EvidenceParams
struct
{
MaxAge
int64
`protobuf:"varint,1,opt,name=MaxAge,proto3" json:"MaxAge,omitempty"`
MaxAge
int64
`protobuf:"varint,1,opt,name=MaxAge" 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
)
}
}
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
{
func
(
m
*
EvidenceParams
)
GetMaxAge
()
int64
{
if
m
!=
nil
{
if
m
!=
nil
{
...
@@ -502,39 +333,16 @@ func (m *EvidenceParams) GetMaxAge() int64 {
...
@@ -502,39 +333,16 @@ func (m *EvidenceParams) GetMaxAge() int64 {
}
}
type
ConsensusParams
struct
{
type
ConsensusParams
struct
{
BlockSize
*
BlockSize
`protobuf:"bytes,1,opt,name=BlockSize,proto3" json:"BlockSize,omitempty"`
BlockSize
*
BlockSize
`protobuf:"bytes,1,opt,name=BlockSize" json:"BlockSize,omitempty"`
TxSize
*
TxSize
`protobuf:"bytes,2,opt,name=TxSize,proto3" json:"TxSize,omitempty"`
TxSize
*
TxSize
`protobuf:"bytes,2,opt,name=TxSize" json:"TxSize,omitempty"`
BlockGossip
*
BlockGossip
`protobuf:"bytes,3,opt,name=BlockGossip,proto3" json:"BlockGossip,omitempty"`
BlockGossip
*
BlockGossip
`protobuf:"bytes,3,opt,name=BlockGossip" json:"BlockGossip,omitempty"`
EvidenceParams
*
EvidenceParams
`protobuf:"bytes,4,opt,name=EvidenceParams,proto3" json:"EvidenceParams,omitempty"`
EvidenceParams
*
EvidenceParams
`protobuf:"bytes,4,opt,name=EvidenceParams" 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
)
}
}
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
{
func
(
m
*
ConsensusParams
)
GetBlockSize
()
*
BlockSize
{
if
m
!=
nil
{
if
m
!=
nil
{
...
@@ -565,39 +373,16 @@ func (m *ConsensusParams) GetEvidenceParams() *EvidenceParams {
...
@@ -565,39 +373,16 @@ func (m *ConsensusParams) GetEvidenceParams() *EvidenceParams {
}
}
type
Validator
struct
{
type
Validator
struct
{
Address
[]
byte
`protobuf:"bytes,1,opt,name=Address,proto3" json:"Address,omitempty"`
Address
[]
byte
`protobuf:"bytes,1,opt,name=Address,proto3" json:"Address,omitempty"`
PubKey
[]
byte
`protobuf:"bytes,2,opt,name=PubKey,proto3" json:"PubKey,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"`
VotingPower
int64
`protobuf:"varint,3,opt,name=VotingPower" json:"VotingPower,omitempty"`
Accum
int64
`protobuf:"varint,4,opt,name=Accum,proto3" json:"Accum,omitempty"`
Accum
int64
`protobuf:"varint,4,opt,name=Accum" json:"Accum,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
}
func
(
m
*
Validator
)
Reset
()
{
*
m
=
Validator
{}
}
func
(
m
*
Validator
)
Reset
()
{
*
m
=
Validator
{}
}
func
(
m
*
Validator
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
m
*
Validator
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
Validator
)
ProtoMessage
()
{}
func
(
*
Validator
)
ProtoMessage
()
{}
func
(
*
Validator
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
Validator
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
10
}
}
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
)
GetAddress
()
[]
byte
{
func
(
m
*
Validator
)
GetAddress
()
[]
byte
{
if
m
!=
nil
{
if
m
!=
nil
{
...
@@ -628,37 +413,14 @@ func (m *Validator) GetAccum() int64 {
...
@@ -628,37 +413,14 @@ func (m *Validator) GetAccum() int64 {
}
}
type
ValidatorSet
struct
{
type
ValidatorSet
struct
{
Validators
[]
*
Validator
`protobuf:"bytes,1,rep,name=Validators,proto3" json:"Validators,omitempty"`
Validators
[]
*
Validator
`protobuf:"bytes,1,rep,name=Validators" json:"Validators,omitempty"`
Proposer
*
Validator
`protobuf:"bytes,2,opt,name=Proposer,proto3" json:"Proposer,omitempty"`
Proposer
*
Validator
`protobuf:"bytes,2,opt,name=Proposer" 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
)
}
}
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
{
func
(
m
*
ValidatorSet
)
GetValidators
()
[]
*
Validator
{
if
m
!=
nil
{
if
m
!=
nil
{
...
@@ -675,47 +437,24 @@ func (m *ValidatorSet) GetProposer() *Validator {
...
@@ -675,47 +437,24 @@ func (m *ValidatorSet) GetProposer() *Validator {
}
}
type
State
struct
{
type
State
struct
{
ChainID
string
`protobuf:"bytes,1,opt,name=ChainID
,proto3
" json:"ChainID,omitempty"`
ChainID
string
`protobuf:"bytes,1,opt,name=ChainID" json:"ChainID,omitempty"`
LastBlockHeight
int64
`protobuf:"varint,2,opt,name=LastBlockHeight
,proto3
" json:"LastBlockHeight,omitempty"`
LastBlockHeight
int64
`protobuf:"varint,2,opt,name=LastBlockHeight" json:"LastBlockHeight,omitempty"`
LastBlockTotalTx
int64
`protobuf:"varint,3,opt,name=LastBlockTotalTx
,proto3
" json:"LastBlockTotalTx,omitempty"`
LastBlockTotalTx
int64
`protobuf:"varint,3,opt,name=LastBlockTotalTx" json:"LastBlockTotalTx,omitempty"`
LastBlockID
*
BlockID
`protobuf:"bytes,4,opt,name=LastBlockID
,proto3
" json:"LastBlockID,omitempty"`
LastBlockID
*
BlockID
`protobuf:"bytes,4,opt,name=LastBlockID" json:"LastBlockID,omitempty"`
LastBlockTime
int64
`protobuf:"varint,5,opt,name=LastBlockTime
,proto3
" json:"LastBlockTime,omitempty"`
LastBlockTime
int64
`protobuf:"varint,5,opt,name=LastBlockTime" json:"LastBlockTime,omitempty"`
Validators
*
ValidatorSet
`protobuf:"bytes,6,opt,name=Validators
,proto3
" json:"Validators,omitempty"`
Validators
*
ValidatorSet
`protobuf:"bytes,6,opt,name=Validators" json:"Validators,omitempty"`
LastValidators
*
ValidatorSet
`protobuf:"bytes,7,opt,name=LastValidators
,proto3
" json:"LastValidators,omitempty"`
LastValidators
*
ValidatorSet
`protobuf:"bytes,7,opt,name=LastValidators" json:"LastValidators,omitempty"`
LastHeightValidatorsChanged
int64
`protobuf:"varint,8,opt,name=LastHeightValidatorsChanged
,proto3
" json:"LastHeightValidatorsChanged,omitempty"`
LastHeightValidatorsChanged
int64
`protobuf:"varint,8,opt,name=LastHeightValidatorsChanged" json:"LastHeightValidatorsChanged,omitempty"`
ConsensusParams
*
ConsensusParams
`protobuf:"bytes,9,opt,name=ConsensusParams
,proto3
" json:"ConsensusParams,omitempty"`
ConsensusParams
*
ConsensusParams
`protobuf:"bytes,9,opt,name=ConsensusParams" json:"ConsensusParams,omitempty"`
LastHeightConsensusParamsChanged
int64
`protobuf:"varint,10,opt,name=LastHeightConsensusParamsChanged
,proto3
" json:"LastHeightConsensusParamsChanged,omitempty"`
LastHeightConsensusParamsChanged
int64
`protobuf:"varint,10,opt,name=LastHeightConsensusParamsChanged" json:"LastHeightConsensusParamsChanged,omitempty"`
LastResultsHash
[]
byte
`protobuf:"bytes,11,opt,name=LastResultsHash,proto3" json:"LastResultsHash,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"`
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
)
Reset
()
{
*
m
=
State
{}
}
func
(
m
*
State
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
m
*
State
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
State
)
ProtoMessage
()
{}
func
(
*
State
)
ProtoMessage
()
{}
func
(
*
State
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
State
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
12
}
}
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
)
GetChainID
()
string
{
func
(
m
*
State
)
GetChainID
()
string
{
if
m
!=
nil
{
if
m
!=
nil
{
...
@@ -802,38 +541,15 @@ func (m *State) GetAppHash() []byte {
...
@@ -802,38 +541,15 @@ func (m *State) GetAppHash() []byte {
}
}
type
DuplicateVoteEvidence
struct
{
type
DuplicateVoteEvidence
struct
{
PubKey
string
`protobuf:"bytes,1,opt,name=pubKey,proto3" json:"pubKey,omitempty"`
PubKey
string
`protobuf:"bytes,1,opt,name=pubKey" json:"pubKey,omitempty"`
VoteA
*
Vote
`protobuf:"bytes,2,opt,name=voteA,proto3" json:"voteA,omitempty"`
VoteA
*
Vote
`protobuf:"bytes,2,opt,name=voteA" json:"voteA,omitempty"`
VoteB
*
Vote
`protobuf:"bytes,3,opt,name=voteB,proto3" json:"voteB,omitempty"`
VoteB
*
Vote
`protobuf:"bytes,3,opt,name=voteB" 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
)
}
}
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
{
func
(
m
*
DuplicateVoteEvidence
)
GetPubKey
()
string
{
if
m
!=
nil
{
if
m
!=
nil
{
...
@@ -857,37 +573,14 @@ func (m *DuplicateVoteEvidence) GetVoteB() *Vote {
...
@@ -857,37 +573,14 @@ func (m *DuplicateVoteEvidence) GetVoteB() *Vote {
}
}
type
EvidenceEnvelope
struct
{
type
EvidenceEnvelope
struct
{
TypeName
string
`protobuf:"bytes,1,opt,name=typeName,proto3" json:"typeName,omitempty"`
TypeName
string
`protobuf:"bytes,1,opt,name=typeName" json:"typeName,omitempty"`
Data
[]
byte
`protobuf:"bytes,2,opt,name=data,proto3" json:"data,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
)
}
}
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
{
func
(
m
*
EvidenceEnvelope
)
GetTypeName
()
string
{
if
m
!=
nil
{
if
m
!=
nil
{
...
@@ -904,36 +597,13 @@ func (m *EvidenceEnvelope) GetData() []byte {
...
@@ -904,36 +597,13 @@ func (m *EvidenceEnvelope) GetData() []byte {
}
}
type
EvidenceData
struct
{
type
EvidenceData
struct
{
Evidence
[]
*
EvidenceEnvelope
`protobuf:"bytes,1,rep,name=evidence,proto3" json:"evidence,omitempty"`
Evidence
[]
*
EvidenceEnvelope
`protobuf:"bytes,1,rep,name=evidence" 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
)
}
}
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
{
func
(
m
*
EvidenceData
)
GetEvidence
()
[]
*
EvidenceEnvelope
{
if
m
!=
nil
{
if
m
!=
nil
{
...
@@ -943,48 +613,25 @@ func (m *EvidenceData) GetEvidence() []*EvidenceEnvelope {
...
@@ -943,48 +613,25 @@ func (m *EvidenceData) GetEvidence() []*EvidenceEnvelope {
}
}
type
TendermintBlockHeader
struct
{
type
TendermintBlockHeader
struct
{
ChainID
string
`protobuf:"bytes,1,opt,name=chainID,proto3" json:"chainID,omitempty"`
ChainID
string
`protobuf:"bytes,1,opt,name=chainID" json:"chainID,omitempty"`
Height
int64
`protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"`
Height
int64
`protobuf:"varint,2,opt,name=height" json:"height,omitempty"`
Round
int64
`protobuf:"varint,3,opt,name=round,proto3" json:"round,omitempty"`
Round
int64
`protobuf:"varint,3,opt,name=round" json:"round,omitempty"`
Time
int64
`protobuf:"varint,4,opt,name=time,proto3" json:"time,omitempty"`
Time
int64
`protobuf:"varint,4,opt,name=time" json:"time,omitempty"`
NumTxs
int64
`protobuf:"varint,5,opt,name=numTxs,proto3" json:"numTxs,omitempty"`
NumTxs
int64
`protobuf:"varint,5,opt,name=numTxs" json:"numTxs,omitempty"`
LastBlockID
*
BlockID
`protobuf:"bytes,6,opt,name=lastBlockID,proto3" json:"lastBlockID,omitempty"`
LastBlockID
*
BlockID
`protobuf:"bytes,6,opt,name=lastBlockID" json:"lastBlockID,omitempty"`
TotalTxs
int64
`protobuf:"varint,7,opt,name=totalTxs,proto3" json:"totalTxs,omitempty"`
TotalTxs
int64
`protobuf:"varint,7,opt,name=totalTxs" json:"totalTxs,omitempty"`
LastCommitHash
[]
byte
`protobuf:"bytes,8,opt,name=lastCommitHash,proto3" json:"lastCommitHash,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"`
ValidatorsHash
[]
byte
`protobuf:"bytes,9,opt,name=validatorsHash,proto3" json:"validatorsHash,omitempty"`
ConsensusHash
[]
byte
`protobuf:"bytes,10,opt,name=consensusHash,proto3" json:"consensusHash,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"`
AppHash
[]
byte
`protobuf:"bytes,11,opt,name=appHash,proto3" json:"appHash,omitempty"`
LastResultsHash
[]
byte
`protobuf:"bytes,12,opt,name=lastResultsHash,proto3" json:"lastResultsHash,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"`
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
(
m
*
TendermintBlockHeader
)
Reset
()
{
*
m
=
TendermintBlockHeader
{}
}
func
(
*
TendermintBlockHeader
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
16
}
}
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
func
(
m
*
TendermintBlockHeader
)
GetChainID
()
string
{
func
(
m
*
TendermintBlockHeader
)
GetChainID
()
string
{
if
m
!=
nil
{
if
m
!=
nil
{
...
@@ -1078,40 +725,17 @@ func (m *TendermintBlockHeader) GetEvidenceHash() []byte {
...
@@ -1078,40 +725,17 @@ func (m *TendermintBlockHeader) GetEvidenceHash() []byte {
}
}
type
TendermintBlock
struct
{
type
TendermintBlock
struct
{
Header
*
TendermintBlockHeader
`protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
Header
*
TendermintBlockHeader
`protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
Txs
[]
*
types
.
Transaction
`protobuf:"bytes,2,rep,name=txs,proto3" json:"txs,omitempty"`
Txs
[]
*
types2
.
Transaction
`protobuf:"bytes,2,rep,name=txs" json:"txs,omitempty"`
Evidence
*
EvidenceData
`protobuf:"bytes,3,opt,name=evidence,proto3" json:"evidence,omitempty"`
Evidence
*
EvidenceData
`protobuf:"bytes,3,opt,name=evidence" json:"evidence,omitempty"`
LastCommit
*
TendermintCommit
`protobuf:"bytes,4,opt,name=lastCommit,proto3" json:"lastCommit,omitempty"`
LastCommit
*
TendermintCommit
`protobuf:"bytes,4,opt,name=lastCommit" json:"lastCommit,omitempty"`
ProposerAddr
[]
byte
`protobuf:"bytes,5,opt,name=proposerAddr,proto3" json:"proposerAddr,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
)
}
}
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
{
func
(
m
*
TendermintBlock
)
GetHeader
()
*
TendermintBlockHeader
{
if
m
!=
nil
{
if
m
!=
nil
{
...
@@ -1120,7 +744,7 @@ func (m *TendermintBlock) GetHeader() *TendermintBlockHeader {
...
@@ -1120,7 +744,7 @@ func (m *TendermintBlock) GetHeader() *TendermintBlockHeader {
return
nil
return
nil
}
}
func
(
m
*
TendermintBlock
)
GetTxs
()
[]
*
types
.
Transaction
{
func
(
m
*
TendermintBlock
)
GetTxs
()
[]
*
types
2
.
Transaction
{
if
m
!=
nil
{
if
m
!=
nil
{
return
m
.
Txs
return
m
.
Txs
}
}
...
@@ -1149,42 +773,19 @@ func (m *TendermintBlock) GetProposerAddr() []byte {
...
@@ -1149,42 +773,19 @@ func (m *TendermintBlock) GetProposerAddr() []byte {
}
}
type
Proposal
struct
{
type
Proposal
struct
{
Height
int64
`protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
Height
int64
`protobuf:"varint,1,opt,name=height" json:"height,omitempty"`
Round
int32
`protobuf:"varint,2,opt,name=round,proto3" json:"round,omitempty"`
Round
int32
`protobuf:"varint,2,opt,name=round" json:"round,omitempty"`
Timestamp
int64
`protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
Timestamp
int64
`protobuf:"varint,3,opt,name=timestamp" json:"timestamp,omitempty"`
POLRound
int32
`protobuf:"varint,4,opt,name=POLRound,proto3" json:"POLRound,omitempty"`
POLRound
int32
`protobuf:"varint,4,opt,name=POLRound" json:"POLRound,omitempty"`
POLBlockID
*
BlockID
`protobuf:"bytes,5,opt,name=POLBlockID,proto3" json:"POLBlockID,omitempty"`
POLBlockID
*
BlockID
`protobuf:"bytes,5,opt,name=POLBlockID" json:"POLBlockID,omitempty"`
Signature
[]
byte
`protobuf:"bytes,6,opt,name=signature,proto3" json:"signature,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"`
Blockhash
[]
byte
`protobuf:"bytes,7,opt,name=blockhash,proto3" json:"blockhash,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
}
func
(
m
*
Proposal
)
Reset
()
{
*
m
=
Proposal
{}
}
func
(
m
*
Proposal
)
Reset
()
{
*
m
=
Proposal
{}
}
func
(
m
*
Proposal
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
m
*
Proposal
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
Proposal
)
ProtoMessage
()
{}
func
(
*
Proposal
)
ProtoMessage
()
{}
func
(
*
Proposal
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
Proposal
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
18
}
}
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
)
GetHeight
()
int64
{
func
(
m
*
Proposal
)
GetHeight
()
int64
{
if
m
!=
nil
{
if
m
!=
nil
{
...
@@ -1236,40 +837,17 @@ func (m *Proposal) GetBlockhash() []byte {
...
@@ -1236,40 +837,17 @@ func (m *Proposal) GetBlockhash() []byte {
}
}
type
NewRoundStepMsg
struct
{
type
NewRoundStepMsg
struct
{
Height
int64
`protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
Height
int64
`protobuf:"varint,1,opt,name=height" json:"height,omitempty"`
Round
int32
`protobuf:"varint,2,opt,name=round,proto3" json:"round,omitempty"`
Round
int32
`protobuf:"varint,2,opt,name=round" json:"round,omitempty"`
Step
int32
`protobuf:"varint,3,opt,name=step,proto3" json:"step,omitempty"`
Step
int32
`protobuf:"varint,3,opt,name=step" json:"step,omitempty"`
SecondsSinceStartTime
int32
`protobuf:"varint,4,opt,name=secondsSinceStartTime,proto3" json:"secondsSinceStartTime,omitempty"`
SecondsSinceStartTime
int32
`protobuf:"varint,4,opt,name=secondsSinceStartTime" json:"secondsSinceStartTime,omitempty"`
LastCommitRound
int32
`protobuf:"varint,5,opt,name=lastCommitRound,proto3" json:"lastCommitRound,omitempty"`
LastCommitRound
int32
`protobuf:"varint,5,opt,name=lastCommitRound" json:"lastCommitRound,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
}
func
(
m
*
NewRoundStepMsg
)
Reset
()
{
*
m
=
NewRoundStepMsg
{}
}
func
(
m
*
NewRoundStepMsg
)
Reset
()
{
*
m
=
NewRoundStepMsg
{}
}
func
(
m
*
NewRoundStepMsg
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
m
*
NewRoundStepMsg
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
NewRoundStepMsg
)
ProtoMessage
()
{}
func
(
*
NewRoundStepMsg
)
ProtoMessage
()
{}
func
(
*
NewRoundStepMsg
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
NewRoundStepMsg
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
19
}
}
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
)
GetHeight
()
int64
{
func
(
m
*
NewRoundStepMsg
)
GetHeight
()
int64
{
if
m
!=
nil
{
if
m
!=
nil
{
...
@@ -1307,36 +885,13 @@ func (m *NewRoundStepMsg) GetLastCommitRound() int32 {
...
@@ -1307,36 +885,13 @@ func (m *NewRoundStepMsg) GetLastCommitRound() int32 {
}
}
type
CommitStepMsg
struct
{
type
CommitStepMsg
struct
{
Height
int64
`protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
Height
int64
`protobuf:"varint,1,opt,name=height" 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
}
}
}
func
(
m
*
CommitStepMsg
)
XXX_Unmarshal
(
b
[]
byte
)
error
{
func
(
m
*
CommitStepMsg
)
Reset
()
{
*
m
=
CommitStepMsg
{}
}
return
xxx_messageInfo_CommitStepMsg
.
Unmarshal
(
m
,
b
)
func
(
m
*
CommitStepMsg
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
}
func
(
*
CommitStepMsg
)
ProtoMessage
()
{}
func
(
m
*
CommitStepMsg
)
XXX_Marshal
(
b
[]
byte
,
deterministic
bool
)
([]
byte
,
error
)
{
func
(
*
CommitStepMsg
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
20
}
}
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
)
GetHeight
()
int64
{
func
(
m
*
CommitStepMsg
)
GetHeight
()
int64
{
if
m
!=
nil
{
if
m
!=
nil
{
...
@@ -1346,38 +901,15 @@ func (m *CommitStepMsg) GetHeight() int64 {
...
@@ -1346,38 +901,15 @@ func (m *CommitStepMsg) GetHeight() int64 {
}
}
type
ProposalPOLMsg
struct
{
type
ProposalPOLMsg
struct
{
Height
int64
`protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
Height
int64
`protobuf:"varint,1,opt,name=height" json:"height,omitempty"`
ProposalPOLRound
int32
`protobuf:"varint,2,opt,name=proposalPOLRound,proto3" json:"proposalPOLRound,omitempty"`
ProposalPOLRound
int32
`protobuf:"varint,2,opt,name=proposalPOLRound" json:"proposalPOLRound,omitempty"`
ProposalPOL
*
TendermintBitArray
`protobuf:"bytes,3,opt,name=proposalPOL,proto3" json:"proposalPOL,omitempty"`
ProposalPOL
*
TendermintBitArray
`protobuf:"bytes,3,opt,name=proposalPOL" 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
)
}
}
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
{
func
(
m
*
ProposalPOLMsg
)
GetHeight
()
int64
{
if
m
!=
nil
{
if
m
!=
nil
{
...
@@ -1401,39 +933,16 @@ func (m *ProposalPOLMsg) GetProposalPOL() *TendermintBitArray {
...
@@ -1401,39 +933,16 @@ func (m *ProposalPOLMsg) GetProposalPOL() *TendermintBitArray {
}
}
type
HasVoteMsg
struct
{
type
HasVoteMsg
struct
{
Height
int64
`protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
Height
int64
`protobuf:"varint,1,opt,name=height" json:"height,omitempty"`
Round
int32
`protobuf:"varint,2,opt,name=round,proto3" json:"round,omitempty"`
Round
int32
`protobuf:"varint,2,opt,name=round" json:"round,omitempty"`
Type
int32
`protobuf:"varint,3,opt,name=type,proto3" json:"type,omitempty"`
Type
int32
`protobuf:"varint,3,opt,name=type" json:"type,omitempty"`
Index
int32
`protobuf:"varint,4,opt,name=index,proto3" json:"index,omitempty"`
Index
int32
`protobuf:"varint,4,opt,name=index" json:"index,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
}
func
(
m
*
HasVoteMsg
)
Reset
()
{
*
m
=
HasVoteMsg
{}
}
func
(
m
*
HasVoteMsg
)
Reset
()
{
*
m
=
HasVoteMsg
{}
}
func
(
m
*
HasVoteMsg
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
m
*
HasVoteMsg
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
HasVoteMsg
)
ProtoMessage
()
{}
func
(
*
HasVoteMsg
)
ProtoMessage
()
{}
func
(
*
HasVoteMsg
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
HasVoteMsg
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
22
}
}
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
)
GetHeight
()
int64
{
func
(
m
*
HasVoteMsg
)
GetHeight
()
int64
{
if
m
!=
nil
{
if
m
!=
nil
{
...
@@ -1464,39 +973,16 @@ func (m *HasVoteMsg) GetIndex() int32 {
...
@@ -1464,39 +973,16 @@ func (m *HasVoteMsg) GetIndex() int32 {
}
}
type
VoteSetMaj23Msg
struct
{
type
VoteSetMaj23Msg
struct
{
Height
int64
`protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
Height
int64
`protobuf:"varint,1,opt,name=height" json:"height,omitempty"`
Round
int32
`protobuf:"varint,2,opt,name=round,proto3" json:"round,omitempty"`
Round
int32
`protobuf:"varint,2,opt,name=round" json:"round,omitempty"`
Type
int32
`protobuf:"varint,3,opt,name=type,proto3" json:"type,omitempty"`
Type
int32
`protobuf:"varint,3,opt,name=type" json:"type,omitempty"`
BlockID
*
BlockID
`protobuf:"bytes,4,opt,name=blockID,proto3" json:"blockID,omitempty"`
BlockID
*
BlockID
`protobuf:"bytes,4,opt,name=blockID" json:"blockID,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
}
func
(
m
*
VoteSetMaj23Msg
)
Reset
()
{
*
m
=
VoteSetMaj23Msg
{}
}
func
(
m
*
VoteSetMaj23Msg
)
Reset
()
{
*
m
=
VoteSetMaj23Msg
{}
}
func
(
m
*
VoteSetMaj23Msg
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
m
*
VoteSetMaj23Msg
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
VoteSetMaj23Msg
)
ProtoMessage
()
{}
func
(
*
VoteSetMaj23Msg
)
ProtoMessage
()
{}
func
(
*
VoteSetMaj23Msg
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
VoteSetMaj23Msg
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
23
}
}
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
)
GetHeight
()
int64
{
func
(
m
*
VoteSetMaj23Msg
)
GetHeight
()
int64
{
if
m
!=
nil
{
if
m
!=
nil
{
...
@@ -1527,40 +1013,17 @@ func (m *VoteSetMaj23Msg) GetBlockID() *BlockID {
...
@@ -1527,40 +1013,17 @@ func (m *VoteSetMaj23Msg) GetBlockID() *BlockID {
}
}
type
VoteSetBitsMsg
struct
{
type
VoteSetBitsMsg
struct
{
Height
int64
`protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
Height
int64
`protobuf:"varint,1,opt,name=height" json:"height,omitempty"`
Round
int32
`protobuf:"varint,2,opt,name=round,proto3" json:"round,omitempty"`
Round
int32
`protobuf:"varint,2,opt,name=round" json:"round,omitempty"`
Type
int32
`protobuf:"varint,3,opt,name=type,proto3" json:"type,omitempty"`
Type
int32
`protobuf:"varint,3,opt,name=type" json:"type,omitempty"`
BlockID
*
BlockID
`protobuf:"bytes,4,opt,name=blockID,proto3" json:"blockID,omitempty"`
BlockID
*
BlockID
`protobuf:"bytes,4,opt,name=blockID" json:"blockID,omitempty"`
Votes
*
TendermintBitArray
`protobuf:"bytes,5,opt,name=votes,proto3" json:"votes,omitempty"`
Votes
*
TendermintBitArray
`protobuf:"bytes,5,opt,name=votes" 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
)
}
}
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
{
func
(
m
*
VoteSetBitsMsg
)
GetHeight
()
int64
{
if
m
!=
nil
{
if
m
!=
nil
{
...
@@ -1598,41 +1061,18 @@ func (m *VoteSetBitsMsg) GetVotes() *TendermintBitArray {
...
@@ -1598,41 +1061,18 @@ func (m *VoteSetBitsMsg) GetVotes() *TendermintBitArray {
}
}
type
Heartbeat
struct
{
type
Heartbeat
struct
{
ValidatorAddress
[]
byte
`protobuf:"bytes,1,opt,name=validatorAddress,proto3" json:"validatorAddress,omitempty"`
ValidatorAddress
[]
byte
`protobuf:"bytes,1,opt,name=validatorAddress,proto3" json:"validatorAddress,omitempty"`
ValidatorIndex
int32
`protobuf:"varint,2,opt,name=validatorIndex,proto3" json:"validatorIndex,omitempty"`
ValidatorIndex
int32
`protobuf:"varint,2,opt,name=validatorIndex" json:"validatorIndex,omitempty"`
Height
int64
`protobuf:"varint,3,opt,name=height,proto3" json:"height,omitempty"`
Height
int64
`protobuf:"varint,3,opt,name=height" json:"height,omitempty"`
Round
int32
`protobuf:"varint,4,opt,name=round,proto3" json:"round,omitempty"`
Round
int32
`protobuf:"varint,4,opt,name=round" json:"round,omitempty"`
Sequence
int32
`protobuf:"varint,5,opt,name=sequence,proto3" json:"sequence,omitempty"`
Sequence
int32
`protobuf:"varint,5,opt,name=sequence" json:"sequence,omitempty"`
Signature
[]
byte
`protobuf:"bytes,6,opt,name=signature,proto3" json:"signature,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:"-"`
}
}
func
(
m
*
Heartbeat
)
Reset
()
{
*
m
=
Heartbeat
{}
}
func
(
m
*
Heartbeat
)
Reset
()
{
*
m
=
Heartbeat
{}
}
func
(
m
*
Heartbeat
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
m
*
Heartbeat
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
Heartbeat
)
ProtoMessage
()
{}
func
(
*
Heartbeat
)
ProtoMessage
()
{}
func
(
*
Heartbeat
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
Heartbeat
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor0
,
[]
int
{
25
}
}
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
)
GetValidatorAddress
()
[]
byte
{
func
(
m
*
Heartbeat
)
GetValidatorAddress
()
[]
byte
{
if
m
!=
nil
{
if
m
!=
nil
{
...
@@ -1676,6 +1116,22 @@ func (m *Heartbeat) GetSignature() []byte {
...
@@ -1676,6 +1116,22 @@ func (m *Heartbeat) GetSignature() []byte {
return
nil
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
()
{
func
init
()
{
proto
.
RegisterType
((
*
BlockID
)(
nil
),
"types.BlockID"
)
proto
.
RegisterType
((
*
BlockID
)(
nil
),
"types.BlockID"
)
proto
.
RegisterType
((
*
TendermintBitArray
)(
nil
),
"types.TendermintBitArray"
)
proto
.
RegisterType
((
*
TendermintBitArray
)(
nil
),
"types.TendermintBitArray"
)
...
@@ -1703,101 +1159,103 @@ func init() {
...
@@ -1703,101 +1159,103 @@ func init() {
proto
.
RegisterType
((
*
VoteSetMaj23Msg
)(
nil
),
"types.VoteSetMaj23Msg"
)
proto
.
RegisterType
((
*
VoteSetMaj23Msg
)(
nil
),
"types.VoteSetMaj23Msg"
)
proto
.
RegisterType
((
*
VoteSetBitsMsg
)(
nil
),
"types.VoteSetBitsMsg"
)
proto
.
RegisterType
((
*
VoteSetBitsMsg
)(
nil
),
"types.VoteSetBitsMsg"
)
proto
.
RegisterType
((
*
Heartbeat
)(
nil
),
"types.Heartbeat"
)
proto
.
RegisterType
((
*
Heartbeat
)(
nil
),
"types.Heartbeat"
)
}
proto
.
RegisterType
((
*
IsHealthy
)(
nil
),
"types.IsHealthy"
)
}
func
init
()
{
proto
.
RegisterFile
(
"tendermint.proto"
,
fileDescriptor_04f926c8da23c367
)
}
func
init
()
{
proto
.
RegisterFile
(
"tendermint.proto"
,
fileDescriptor0
)
}
var
fileDescriptor_04f926c8da23c367
=
[]
byte
{
// 1450 bytes of a gzipped FileDescriptorProto
var
fileDescriptor0
=
[]
byte
{
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0xbc
,
0x58
,
0x4f
,
0x6f
,
0x5b
,
0x45
,
// 1472 bytes of a gzipped FileDescriptorProto
0x10
,
0xd7
,
0x8b
,
0xe3
,
0x24
,
0x1e
,
0x3b
,
0x7f
,
0xd8
,
0x92
,
0xd6
,
0x94
,
0x20
,
0x85
,
0x55
,
0x01
,
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0xbc
,
0x58
,
0x4f
,
0x73
,
0x1b
,
0xc5
,
0xab
,
0xad
,
0xd2
,
0x2a
,
0xa9
,
0xc4
,
0xa1
,
0x14
,
0x35
,
0x4e
,
0xaa
,
0xa6
,
0x90
,
0xb4
,
0xd6
,
0xda
,
0x12
,
0xaf
,
0xb5
,
0x2c
,
0xd9
,
0x6a
,
0xc9
,
0x7f
,
0xde
,
0xe4
,
0x39
,
0xd1
,
0xcb
,
0xf3
,
0xab
,
0xd2
,
0x2a
,
0xe7
,
0x8d
,
0xbd
,
0xd8
,
0x0f
,
0xec
,
0xf7
,
0x1e
,
0x6f
,
0xd7
,
0xae
,
0x83
,
0xc4
,
0x85
,
0x03
,
0x9b
,
0x0a
,
0x20
,
0x92
,
0x94
,
0x93
,
0xb2
,
0x53
,
0xc5
,
0x21
,
0x84
,
0x8a
,
0x65
,
0xa7
,
0x62
,
0x83
,
0x77
,
0x3e
,
0x08
,
0x27
,
0x0e
,
0x7c
,
0x04
,
0x3e
,
0x01
,
0x47
,
0xf8
,
0x22
,
0x5c
,
0xd0
,
0xce
,
0xee
,
0x9d
,
0xa8
,
0x46
,
0xaa
,
0x70
,
0x1e
,
0x4b
,
0x83
,
0xb4
,
0x20
,
0xed
,
0x2e
,
0x3b
,
0x23
,
0x45
,
0xa6
,
0x3e
,
0xef
,
0x7b
,
0x76
,
0x5d
,
0x40
,
0x88
,
0x9b
,
0x67
,
0xf6
,
0xb7
,
0x3b
,
0x6f
,
0x66
,
0x7e
,
0x33
,
0x8a
,
0x0b
,
0x07
,
0xee
,
0x7c
,
0x10
,
0x4e
,
0x1c
,
0xf8
,
0x08
,
0x7c
,
0x02
,
0x8e
,
0xf0
,
0x45
,
0xb8
,
0x3b
,
0x6b
,
0xd8
,
0x51
,
0x22
,
0xea
,
0x89
,
0x74
,
0x14
,
0x46
,
0xea
,
0x20
,
0x49
,
0x63
,
0x15
,
0x93
,
0x50
,
0xd3
,
0x33
,
0xb3
,
0xff
,
0xa4
,
0x28
,
0x40
,
0x51
,
0xdc
,
0xd4
,
0x3d
,
0xbf
,
0x99
,
0xde
,
0xee
,
0xb2
,
0xba
,
0x4a
,
0x84
,
0xbc
,
0xf9
,
0x96
,
0x4a
,
0x79
,
0x24
,
0x79
,
0x57
,
0x85
,
0x71
,
0x64
,
0x56
,
0xfe
,
0x75
,
0x4f
,
0x8f
,
0x60
,
0x57
,
0x89
,
0x60
,
0x20
,
0xe2
,
0x89
,
0x1f
,
0xa8
,
0x83
,
0x28
,
0x0e
,
0xe8
,
0x7b
,
0xb0
,
0xde
,
0x1c
,
0xc6
,
0xdd
,
0xaf
,
0x9f
,
0x9d
,
0x12
,
0x02
,
0xab
,
0x67
,
0x5c
,
0x0e
,
0x55
,
0x48
,
0xca
,
0xea
,
0x3a
,
0x12
,
0xf2
,
0xf6
,
0xbf
,
0x54
,
0xcc
,
0x03
,
0xc9
,
0xfb
,
0xca
,
0x0f
,
0xea
,
0xc1
,
0x7e
,
0xd0
,
0xa8
,
0x31
,
0xfc
,
0x4d
,
0x3f
,
0x05
,
0xd2
,
0xc9
,
0x0e
,
0x6b
,
0x86
,
0xea
,
0x03
,
0xb3
,
0x42
,
0xff
,
0x07
,
0x1b
,
0xed
,
0x71
,
0xd8
,
0xff
,
0xe2
,
0xfc
,
0x94
,
0x10
,
0x58
,
0x3f
,
0x38
,
0x4d
,
0xf9
,
0x95
,
0x46
,
0x36
,
0x43
,
0x25
,
0x11
,
0x59
,
0x66
,
0xf8
,
0x9b
,
0xbc
,
0x0d
,
0xe5
,
0xe3
,
0x72
,
0xd4
,
0xf0
,
0x9a
,
0x5e
,
0xab
,
0xce
,
0xf0
,
0x37
,
0xfd
,
0x08
,
0x48
,
0x2f
,
0x39
,
0xac
,
0x27
,
0x43
,
0x31
,
0x92
,
0xf5
,
0x95
,
0xfd
,
0x52
,
0x63
,
0x95
,
0x19
,
0x81
,
0x7e
,
0xbf
,
0x02
,
0xab
,
0xed
,
0xab
,
0xe3
,
0x38
,
0xe6
,
0xd7
,
0x1a
,
0xd9
,
0xf6
,
0x95
,
0x44
,
0x64
,
0x99
,
0xe1
,
0x6f
,
0xf2
,
0x2f
,
0x63
,
0x25
,
0xc8
,
0x6d
,
0xd8
,
0x79
,
0xc9
,
0x87
,
0x61
,
0x8f
,
0xab
,
0x38
,
0x3d
,
0xee
,
0xf5
,
0x6f
,
0x28
,
0x3f
,
0x1b
,
0x8b
,
0x89
,
0x6c
,
0xac
,
0x35
,
0x4b
,
0xad
,
0x75
,
0x66
,
0x04
,
0xfa
,
0xcd
,
0x52
,
0x21
,
0xa5
,
0x35
,
0x34
,
0xa7
,
0x27
,
0x1f
,
0xc2
,
0x56
,
0xa6
,
0x7b
,
0x16
,
0xf5
,
0xc4
,
0xb4
,
0x1a
,
0xac
,
0xbf
,
0x0a
,
0x95
,
0x20
,
0x77
,
0x61
,
0xf7
,
0x15
,
0x1f
,
0xfb
,
0x03
,
0xae
,
0xc2
,
0xf8
,
0xbe
,
0x82
,
0x86
,
0x0a
,
0x5a
,
0x72
,
0x1d
,
0xd6
,
0xce
,
0x44
,
0xd8
,
0x1f
,
0xa8
,
0x7a
,
0x69
,
0x3f
,
0x78
,
0x30
,
0x88
,
0x85
,
0x94
,
0xd6
,
0xd0
,
0x82
,
0x9e
,
0xbc
,
0x0b
,
0xdb
,
0x89
,
0xee
,
0x3c
,
0x18
,
0x68
,
0x94
,
0x98
,
0x95
,
0xf4
,
0xa7
,
0xb0
,
0x78
,
0x1c
,
0xf5
,
0xea
,
0xab
,
0xb8
,
0xcd
,
0x08
,
0x64
,
0x88
,
0x79
,
0x63
,
0x0d
,
0x0d
,
0x15
,
0xb4
,
0xe4
,
0x26
,
0x54
,
0xce
,
0x84
,
0x3f
,
0x1c
,
0xa9
,
0x46
,
0x0f
,
0x2a
,
0x9d
,
0x70
,
0x24
,
0xa4
,
0xe2
,
0xa3
,
0xa4
,
0x5e
,
0xc6
,
0x0d
,
0x33
,
0x85
,
0x76
,
0xa9
,
0xa9
,
0xe9
,
0xb5
,
0x4a
,
0xcc
,
0x4a
,
0xfa
,
0x53
,
0x58
,
0x38
,
0x0d
,
0x06
,
0x8d
,
0x75
,
0xdc
,
0x66
,
0x73
,
0x95
,
0x88
,
0xfa
,
0xda
,
0x7e
,
0xd0
,
0xd8
,
0x64
,
0xf8
,
0x9b
,
0x34
,
0xb2
,
0xd8
,
0xd4
,
0xd7
,
0x04
,
0xb2
,
0x0f
,
0xd5
,
0x9e
,
0x3f
,
0x11
,
0x52
,
0xf1
,
0x49
,
0xd4
,
0x28
,
0xe3
,
0x86
,
0x54
,
0xa1
,
0xf7
,
0x83
,
0x46
,
0xf5
,
0x70
,
0xeb
,
0x00
,
0xe3
,
0x78
,
0x60
,
0xb5
,
0x2c
,
0x0b
,
0xdd
,
0x1e
,
0x54
,
0x5d
,
0xea
,
0x5d
,
0x47
,
0xa2
,
0x51
,
0x69
,
0x7a
,
0xad
,
0x2d
,
0x86
,
0xbf
,
0x49
,
0x2b
,
0x89
,
0x4d
,
0xda
,
0x61
,
0x3f
,
0xe2
,
0x6a
,
0x9c
,
0x8a
,
0xfa
,
0x06
,
0xba
,
0x35
,
0x53
,
0xd0
,
0x10
,
0x76
,
0x66
,
0x63
,
0xa3
,
0xe9
,
0xb5
,
0x6a
,
0x87
,
0xdb
,
0x07
,
0x18
,
0xc7
,
0x03
,
0xab
,
0x65
,
0x49
,
0xe8
,
0xf6
,
0x41
,
0x3c
,
0x89
,
0x47
,
0xa3
,
0x50
,
0xf9
,
0x67
,
0x07
,
0xcb
,
0xcf
,
0xbe
,
0x03
,
0xd0
,
0x4a
,
0x45
,
0xa1
,
0xda
,
0xf5
,
0x87
,
0x01
,
0x57
,
0xd3
,
0x58
,
0x34
,
0x36
,
0xd1
,
0xad
,
0x54
,
0x41
,
0x7d
,
0xd8
,
0x17
,
0xb7
,
0x99
,
0xe8
,
0x56
,
0x0f
,
0xab
,
0x16
,
0xac
,
0x43
,
0xcb
,
0xbc
,
0x65
,
0xfa
,
0xc3
,
0x0a
,
0x4d
,
0x83
,
0x78
,
0x12
,
0x4e
,
0x26
,
0xbe
,
0xca
,
0x9e
,
0xed
,
0xad
,
0x3e
,
0xfb
,
0x1e
,
0x40
,
0x27
,
0x5c
,
0xf3
,
0x12
,
0x86
,
0x47
,
0x44
,
0x5f
,
0xc6
,
0xe4
,
0x63
,
0x80
,
0xb6
,
0x10
,
0x91
,
0x31
,
0x6e
,
0x16
,
0x7d
,
0xdc
,
0x66
,
0xa2
,
0x5b
,
0x3b
,
0xac
,
0x59
,
0xb0
,
0x0e
,
0x2d
,
0xcb
,
0x2c
,
0xd3
,
0x6f
,
0x2d
,
0xde
,
0xb0
,
0x87
,
0x14
,
0xbf
,
0x8d
,
0x79
,
0x50
,
0xbd
,
0xf1
,
0x9c
,
0x4b
,
0xbb
,
0x82
,
0x79
,
0xd7
,
0xe0
,
0x46
,
0x26
,
0x61
,
0x78
,
0x44
,
0xf0
,
0x59
,
0x48
,
0x3e
,
0x00
,
0xe8
,
0x0a
,
0x11
,
0x18
,
0x58
,
0xb6
,
0x71
,
0x06
,
0x25
,
0x14
,
0xca
,
0x6d
,
0xc5
,
0x95
,
0xc0
,
0xdc
,
0x54
,
0x0f
,
0x6b
,
0x76
,
0xe3
,
0xd6
,
0xe2
,
0x2d
,
0x7b
,
0x48
,
0xf1
,
0xdb
,
0x58
,
0x06
,
0xaa
,
0x37
,
0x5e
,
0x70
,
0x69
,
0x57
,
0x0f
,
0xea
,
0x98
,
0x59
,
0x22
,
0x77
,
0x60
,
0xa3
,
0x95
,
0xc6
,
0x49
,
0x2c
,
0xf9
,
0x10
,
0x73
,
0x55
,
0x30
,
0x0f
,
0xab
,
0x36
,
0xa6
,
0x50
,
0x42
,
0xa1
,
0xdc
,
0x55
,
0x5c
,
0x09
,
0xcc
,
0x4d
,
0xed
,
0xb0
,
0x3d
,
0xdc
,
0xb6
,
0x30
,
0xa7
,
0x66
,
0x19
,
0x80
,
0xdc
,
0x85
,
0xf2
,
0xa5
,
0xf6
,
0x07
,
0x73
,
0x57
,
0x6e
,
0xf7
,
0xa0
,
0x8e
,
0x99
,
0x25
,
0x72
,
0x0f
,
0x36
,
0x3b
,
0x71
,
0x18
,
0x85
,
0x92
,
0x8f
,
0x31
,
0x3d
,
0xbc
,
0x3e
,
0xf7
,
0x11
,
0xe8
,
0x2d
,
0x33
,
0x20
,
0xfa
,
0x05
,
0x54
,
0x50
,
0x6e
,
0x87
,
0xdf
,
0x57
,
0xb5
,
0xc3
,
0x1d
,
0x0b
,
0x73
,
0x6a
,
0x96
,
0x00
,
0xc8
,
0x7d
,
0x28
,
0x5f
,
0x69
,
0x7f
,
0x30
,
0x0a
,
0x72
,
0x13
,
0x36
,
0x2e
,
0xf8
,
0xb4
,
0x79
,
0xa5
,
0x84
,
0xe3
,
0x6c
,
0x26
,
0x6b
,
0x12
,
0x5d
,
0x77
,
0xb5
,
0xc3
,
0x9b
,
0x0b
,
0x1f
,
0x81
,
0xde
,
0x32
,
0x03
,
0xa2
,
0x9f
,
0x42
,
0x15
,
0xe5
,
0xae
,
0xf0
,
0x69
,
0x67
,
0x2a
,
0x2d
,
0xc9
,
0xac
,
0x64
,
0xf5
,
0x4f
,
0xb9
,
0x74
,
0xe4
,
0x32
,
0x12
,
0xfd
,
0xff
,
0x95
,
0x20
,
0xb7
,
0x61
,
0xf3
,
0x92
,
0xcf
,
0xdb
,
0xd7
,
0x4a
,
0x38
,
0xce
,
0x26
,
0xb2
,
0x26
,
0x04
,
0xd6
,
0x3a
,
0xd3
,
0xbf
,
0x79
,
0xaa
,
0xde
,
0xbd
,
0x92
,
0xdb
,
0xfd
,
0x08
,
0xaa
,
0xf8
,
0x59
,
0xd1
,
0x25
,
0x9f
,
0xf7
,
0xe6
,
0xd2
,
0x92
,
0xcc
,
0x4a
,
0x56
,
0xff
,
0x9c
,
0x4b
,
0x47
,
0x2e
,
0x23
,
0x4f
,
0x63
,
0x29
,
0xc3
,
0x84
,
0x1c
,
0x00
,
0x41
,
0xb1
,
0xc5
,
0x53
,
0xa5
,
0xcf
,
0xf4
,
0x0f
,
0x5b
,
0xd1
,
0x0f
,
0xa1
,
0xd2
,
0x9b
,
0xff
,
0xc1
,
0x53
,
0xf5
,
0xee
,
0xb5
,
0xdc
,
0xee
,
0x27
,
0x50
,
0xc3
,
0xb0
,
0x42
,
0x1b
,
0xb0
,
0xf5
,
0x64
,
0x12
,
0xf6
,
0x44
,
0xd4
,
0x15
,
0x2d
,
0x9e
,
0xf2
,
0x91
,
0x33
,
0xcf
,
0x7a
,
0x1e
,
0x4a
,
0xe9
,
0x47
,
0xe4
,
0x00
,
0x08
,
0x8a
,
0x1d
,
0x1e
,
0x2b
,
0x7d
,
0x66
,
0xf6
,
0x74
,
0xdc
,
0x17
,
0xb8
,
0xcb
,
0x18
,
0x3a
,
0xee
,
0x0b
,
0xfa
,
0x7b
,
0x00
,
0xdb
,
0x27
,
0x71
,
0x24
,
0xb0
,
0x25
,
0x2b
,
0xb4
,
0x05
,
0xdb
,
0xcf
,
0x66
,
0xfe
,
0x40
,
0x04
,
0x7d
,
0xd1
,
0xe1
,
0x31
,
0x9f
,
0x45
,
0x24
,
0xc7
,
0xd2
,
0x62
,
0x0f
,
0xbc
,
0x98
,
0x58
,
0x0e
,
0xec
,
0xf8
,
0xac
,
0xd3
,
0x7a
,
0xe6
,
0x38
,
0x43
,
0xc7
,
0x43
,
0x81
,
0xbb
,
0x8c
,
0xa1
,
0xe3
,
0xa1
,
0xa0
,
0xbf
,
0x78
,
0xb0
,
0x73
,
0x12
,
0x85
,
0xed
,
0x03
,
0xe7
,
0xaa
,
0xcd
,
0xfb
,
0xa6
,
0x0b
,
0x39
,
0x2a
,
0x99
,
0x8b
,
0xc3
,
0x83
,
0x9c
,
0x06
,
0x52
,
0x04
,
0x72
,
0x2a
,
0x2d
,
0xf6
,
0x20
,
0x13
,
0x13
,
0xcb
,
0x81
,
0xdd
,
0x2c
,
0xeb
,
0xb4
,
0x4f
,
0x36
,
0xdf
,
0xc4
,
0x3f
,
0xd8
,
0xac
,
0xb0
,
0x9c
,
0xeb
,
0x8f
,
0x8a
,
0xae
,
0x58
,
0x06
,
0xec
,
0x9e
,
0x65
,
0xc2
,
0xf6
,
0x8e
,
0x73
,
0xd5
,
0xe6
,
0x7d
,
0xcb
,
0x85
,
0x1c
,
0x95
,
0xcc
,
0xc5
,
0xe1
,
0xda
,
0x8d
,
0xf9
,
0x45
,
0x56
,
0x00
,
0xd3
,
0x31
,
0x54
,
0xb2
,
0x6e
,
0x40
,
0xea
,
0xb0
,
0x9e
,
0xef
,
0x51
,
0xce
,
0x27
,
0x9b
,
0x6f
,
0x92
,
0x3d
,
0xd8
,
0xac
,
0xb0
,
0x9c
,
0xeb
,
0x4f
,
0x8a
,
0xae
,
0x58
,
0x29
,
0x4e
,
0xd4
,
0xe1
,
0x69
,
0x8d
,
0x2f
,
0x3f
,
0x17
,
0x57
,
0xe8
,
0x42
,
0x8d
,
0x59
,
0x89
,
0xec
,
0x06
,
0xec
,
0xd9
,
0x8d
,
0xf9
,
0x45
,
0x56
,
0x00
,
0xd3
,
0x29
,
0x54
,
0x93
,
0x6e
,
0x40
,
0x1a
,
0xb0
,
0x43
,
0xf5
,
0x65
,
0xac
,
0xc2
,
0xa8
,
0xdf
,
0x8a
,
0x5f
,
0x89
,
0xd4
,
0xa6
,
0xd8
,
0x57
,
0xe9
,
0x26
,
0x91
,
0xef
,
0x29
,
0x4e
,
0xd4
,
0xe1
,
0xe9
,
0x4c
,
0xaf
,
0x3e
,
0x11
,
0xd7
,
0xe8
,
0x42
,
0x9d
,
0x59
,
0x72
,
0xdc
,
0xed
,
0x8e
,
0x47
,
0xf8
,
0x59
,
0x25
,
0x66
,
0x04
,
0x1a
,
0x41
,
0x2d
,
0x33
,
0xdb
,
0x16
,
0x89
,
0x34
,
0xa1
,
0xf6
,
0x2a
,
0x54
,
0x7e
,
0x30
,
0xec
,
0x84
,
0xaf
,
0x45
,
0x6c
,
0x53
,
0x9c
,
0x55
,
0x8a
,
0xdc
,
0x07
,
0xc8
,
0x64
,
0x6d
,
0xbc
,
0xe4
,
0xc5
,
0x34
,
0x5b
,
0x60
,
0x1e
,
0x86
,
0xdc
,
0x75
,
0xe9
,
0x26
,
0x72
,
0xdc
,
0xef
,
0x4f
,
0x27
,
0xf8
,
0x59
,
0x25
,
0x66
,
0x04
,
0x1a
,
0x40
,
0x3d
,
0x31
,
0x9c
,
0x17
,
0xa9
,
0x0d
,
0xeb
,
0x3c
,
0x3e
,
0x43
,
0xd0
,
0xdf
,
0x56
,
0x6d
,
0x19
,
0x69
,
0x1f
,
0x4f
,
0xdb
,
0x15
,
0x8a
,
0x3c
,
0x04
,
0x48
,
0x64
,
0x6d
,
0xbc
,
0x94
,
0x89
,
0x69
,
0xb2
,
0xc0
,
0x32
,
0x18
,
0x06
,
0x3c
,
0x8c
,
0x6c
,
0xc3
,
0xa8
,
0x30
,
0x27
,
0x92
,
0x06
,
0x6c
,
0xeb
,
0xba
,
0xc3
,
0xe0
,
0xda
,
0x72
,
0xdf
,
0x71
,
0x5e
,
0xc4
,
0x36
,
0xac
,
0x8b
,
0xf8
,
0x04
,
0x41
,
0x7f
,
0x5e
,
0xb7
,
0x65
,
0xa4
,
0x7e
,
0x68
,
0x48
,
0x57
,
0x54
,
0xeb
,
0x26
,
0x9c
,
0xa9
,
0x3a
,
0xb1
,
0xe2
,
0xc3
,
0xce
,
0xd4
,
0xba
,
0x7d
,
0x3c
,
0x19
,
0x71
,
0x3f
,
0xb0
,
0x0d
,
0xa3
,
0xca
,
0x9c
,
0x48
,
0x5a
,
0xb0
,
0xa3
,
0xeb
,
0x0e
,
0x3e
,
0xa7
,
0x27
,
0xf7
,
0xa1
,
0x9a
,
0xe9
,
0x9e
,
0x9d
,
0xda
,
0xe4
,
0x14
,
0x9b
,
0x94
,
0x0f
,
0x21
,
0x83
,
0x6b
,
0xfb
,
0xa1
,
0x21
,
0x5d
,
0x51
,
0xad
,
0x9b
,
0x70
,
0xa2
,
0xea
,
0x85
,
0x8a
,
0x8f
,
0x7b
,
0xb7
,
0x60
,
0x73
,
0x76
,
0x4a
,
0x38
,
0x12
,
0xb6
,
0xc9
,
0xe6
,
0x95
,
0xe4
,
0x28
,
0x17
,
0xb1
,
0x35
,
0x73
,
0xeb
,
0xfa
,
0x82
,
0x9e
,
0x3c
,
0x84
,
0x5a
,
0xa2
,
0x3b
,
0x3f
,
0xb5
,
0xc9
,
0x29
,
0x36
,
0xa9
,
0x3c
,
0xf6
,
0x5a
,
0x31
,
0x02
,
0x6d
,
0xa1
,
0x72
,
0x41
,
0x7b
,
0x08
,
0x5b
,
0xfa
,
0x14
,
0x6f
,
0xe3
,
0x2c
,
0x84
,
0xdc
,
0x81
,
0xad
,
0xf4
,
0x14
,
0x7f
,
0x22
,
0x6c
,
0x93
,
0xcd
,
0x2b
,
0xc9
,
0x51
,
0x2e
,
0xfa
,
0xeb
,
0x37
,
0x16
,
0xa0
,
0xe4
,
0x31
,
0xbc
,
0xab
,
0x35
,
0x26
,
0x06
,
0x33
,
0xfd
,
0xc9
,
0x80
,
0x62
,
0x15
,
0x3c
,
0xf6
,
0x46
,
0x31
,
0x02
,
0x5d
,
0xa1
,
0x72
,
0x41
,
0x7b
,
0x0c
,
0xdb
,
0xfa
,
0x94
,
0x47
,
0x7d
,
0xd1
,
0xc3
,
0x76
,
0x5d
,
0x62
,
0xcb
,
0x20
,
0xe4
,
0xf1
,
0x5c
,
0x2d
,
0xd5
,
0x2b
,
0xb9
,
0xcc
,
0xc6
,
0x8d
,
0x37
,
0x6f
,
0x2c
,
0x40
,
0xc9
,
0x53
,
0xf8
,
0xaf
,
0xd6
,
0x98
,
0x18
,
0xa4
,
0xfa
,
0x26
,
0x54
,
0x58
,
0x65
,
0x73
,
0xa5
,
0xf7
,
0x19
,
0xec
,
0xcf
,
0x0c
,
0x14
,
0x16
,
0xdd
,
0x87
,
0x00
,
0x93
,
0x11
,
0x0f
,
0x86
,
0x62
,
0x80
,
0xed
,
0xba
,
0xc4
,
0x56
,
0x41
,
0xc8
,
0xd3
,
0x85
,
0x5a
,
0x6a
,
0x7e
,
0xc8
,
0x1b
,
0x71
,
0x2e
,
0xdf
,
0x4c
,
0xc8
,
0xf1
,
0x50
,
0x49
,
0xbc
,
0xb2
,
0xab
,
0x48
,
0xee
,
0x54
,
0x73
,
0x4d
,
0xa8
,
0xb0
,
0xca
,
0x16
,
0x4a
,
0xef
,
0x63
,
0x68
,
0xa6
,
0x06
,
0x0a
,
0x8b
,
0xee
,
0xa2
,
0x1a
,
0xeb
,
0x22
,
0x49
,
0x10
,
0x51
,
0xb3
,
0x75
,
0x61
,
0x44
,
0x3a
,
0x86
,
0xdd
,
0xd3
,
0x71
,
0x43
,
0x00
,
0x3f
,
0xe4
,
0xad
,
0x38
,
0x97
,
0x6f
,
0x26
,
0xe4
,
0x74
,
0xac
,
0x24
,
0x5e
,
0xd9
,
0x35
,
0x32
,
0x0c
,
0xbb
,
0x5c
,
0x09
,
0x7d
,
0x89
,
0xb8
,
0xea
,
0xd2
,
0x05
,
0x93
,
0x98
,
0x82
,
0x31
,
0x2c
,
0x24
,
0x77
,
0x51
,
0x8d
,
0x75
,
0x11
,
0x45
,
0x88
,
0xa8
,
0xdb
,
0xba
,
0x30
,
0x22
,
0x9d
,
0xc2
,
0xde
,
0xb3
,
0x12
,
0x79
,
0x1f
,
0xca
,
0x93
,
0x58
,
0x89
,
0x63
,
0xcb
,
0xd9
,
0xdc
,
0x05
,
0x64
,
0x56
,
0x1c
,
0xe9
,
0x34
,
0x1a
,
0xfb
,
0x7d
,
0xae
,
0x84
,
0xbe
,
0x44
,
0x5c
,
0x75
,
0xe9
,
0x82
,
0x89
,
0x4c
,
0xc1
,
0xa4
,
0x69
,
0x3b
,
0xc0
,
0x3c
,
0xa4
,
0x49
,
0x9b
,
0xb0
,
0xe3
,
0x2c
,
0x3d
,
0x89
,
0x26
,
0x62
,
0x18
,
0x18
,
0x96
,
0x59
,
0x89
,
0xfc
,
0x1f
,
0xca
,
0xb3
,
0x50
,
0x89
,
0x63
,
0xcb
,
0xd9
,
0xdc
,
0x05
,
0x64
,
0x27
,
0xd8
,
0x46
,
0x35
,
0xf0
,
0x39
,
0x1f
,
0x09
,
0x6b
,
0x33
,
0x93
,
0xf5
,
0xad
,
0xdc
,
0xe3
,
0x8a
,
0x56
,
0x1c
,
0xa4
,
0x6d
,
0x3b
,
0xc0
,
0x22
,
0xa4
,
0x4d
,
0xdb
,
0xb0
,
0xeb
,
0x2c
,
0x3d
,
0x0b
,
0x66
,
0xdb
,
0xe2
,
0xc5
,
0xdf
,
0xf4
,
0x04
,
0x6a
,
0xee
,
0x8c
,
0x53
,
0xae
,
0x38
,
0x39
,
0x82
,
0x0d
,
0x61
,
0x62
,
0x1c
,
0x46
,
0xd8
,
0x46
,
0x35
,
0xf0
,
0x05
,
0x9f
,
0x08
,
0x6b
,
0x33
,
0x91
,
0xf5
,
0xad
,
0x3c
,
0x65
,
0x5b
,
0x80
,
0x37
,
0x0a
,
0x2d
,
0xc4
,
0x99
,
0x62
,
0x19
,
0x90
,
0xfe
,
0x52
,
0x82
,
0xdd
,
0xc2
,
0xe0
,
0x8a
,
0xdb
,
0xe2
,
0xc5
,
0xdf
,
0xf4
,
0x04
,
0xea
,
0xee
,
0x8c
,
0x53
,
0xae
,
0x38
,
0x39
,
0x82
,
0xcd
,
0x71
,
0x26
,
0x78
,
0x4f
,
0x60
,
0x2f
,
0xe9
,
0xe6
,
0xeb
,
0xcc
,
0x8a
,
0x3a
,
0x34
,
0x03
,
0xbf
,
0x4d
,
0x61
,
0x65
,
0x5b
,
0x80
,
0xb7
,
0x0a
,
0x2d
,
0xc4
,
0x99
,
0x62
,
0x09
,
0x90
,
0xfe
,
0x58
,
0x82
,
0xbc
,
0xac
,
0xa4
,
0x3b
,
0x45
,
0x8a
,
0xe3
,
0x86
,
0x29
,
0x25
,
0x23
,
0xe8
,
0x4f
,
0x57
,
0xba
,
0x08
,
0xbd
,
0xc2
,
0xcd
,
0x71
,
0x26
,
0xf8
,
0x40
,
0x60
,
0x2f
,
0xe9
,
0xe7
,
0xeb
,
0xcc
,
0x8a
,
0x3a
,
0x34
,
0x4c
,
0xfb
,
0xc0
,
0xdf
,
0xfa
,
0x84
,
0x68
,
0x3c
,
0xd2
,
0x77
,
0x8d
,
0x29
,
0x0d
,
0x2b
,
0xe9
,
0x5a
,
0xa3
,
0x6c
,
0x79
,
0x59
,
0x49
,
0x77
,
0x8a
,
0x18
,
0xc7
,
0x0d
,
0x53
,
0x4a
,
0x46
,
0xd0
,
0x9f
,
0xae
,
0x1b
,
0x7a
,
0xb5
,
0xb6
,
0xb6
,
0xb8
,
0xd6
,
0x3c
,
0x08
,
0x06
,
0xcd
,
0x14
,
0xaa
,
0x29
,
0x85
,
0x12
,
0x74
,
0x11
,
0x98
,
0xf6
,
0x81
,
0xbf
,
0xf5
,
0x09
,
0xc1
,
0x74
,
0xa2
,
0xef
,
0x1a
,
0x53
,
0x1a
,
0x56
,
0xcb
,
0x64
,
0x3d
,
0x3e
,
0x0d
,
0xb3
,
0x7b
,
0x18
,
0x93
,
0x6f
,
0x26
,
0x92
,
0x82
,
0x56
,
0xe3
,
0x26
,
0xd2
,
0xb5
,
0x36
,
0xce
,
0xd4
,
0x5a
,
0x65
,
0x79
,
0xad
,
0x65
,
0x20
,
0x18
,
0x34
,
0x53
,
0xa8
,
0xa6
,
0x19
,
0xd5
,
0x11
,
0x57
,
0x31
,
0xb8
,
0xbc
,
0x56
,
0xd7
,
0x75
,
0xd7
,
0x31
,
0x11
,
0x61
,
0x80
,
0xb0
,
0x14
,
0x4a
,
0x2c
,
0x91
,
0xf5
,
0xf8
,
0x34
,
0x4e
,
0xee
,
0x61
,
0x4c
,
0xbe
,
0x99
,
0x48
,
0x0a
,
0x5a
,
0xbc
,
0x52
,
0xc7
,
0x8d
,
0x5b
,
0xae
,
0x19
,
0x36
,
0x3a
,
0x51
,
0xf3
,
0x75
,
0x58
,
0xe0
,
0xab
,
0x61
,
0x8d
,
0x9b
,
0x25
,
0x54
,
0x47
,
0x5c
,
0xd5
,
0xe0
,
0xf2
,
0x5a
,
0x5d
,
0xd7
,
0x7d
,
0xc7
,
0x44
,
0x84
,
0x63
,
0x51
,
0x4d
,
0x28
,
0xd4
,
0x5c
,
0x86
,
0x10
,
0xb6
,
0x89
,
0xb0
,
0x9c
,
0x8e
,
0xfe
,
0x19
,
0xc0
,
0x01
,
0xc2
,
0xf2
,
0x4a
,
0x1d
,
0x37
,
0x6e
,
0xb9
,
0x66
,
0xd8
,
0xe8
,
0x44
,
0xcd
,
0xd7
,
0x71
,
0x81
,
0x76
,
0x21
,
0x73
,
0xe4
,
0x81
,
0xce
,
0x8c
,
0xce
,
0x9e
,
0xbd
,
0xd5
,
0xf6
,
0x16
,
0xcf
,
0x06
,
0x26
,
0xaf
,
0x86
,
0x8d
,
0x45
,
0x35
,
0xa1
,
0x50
,
0x77
,
0x19
,
0x42
,
0xd8
,
0x16
,
0xc2
,
0x72
,
0x3a
,
0xfa
,
0xc3
,
0xcc
,
0x62
,
0xc9
,
0x2d
,
0x28
,
0xa9
,
0xa9
,
0x9b
,
0xa8
,
0xdc
,
0x7d
,
0xd5
,
0x99
,
0x4d
,
0xc8
,
0x9b
,
0x07
,
0x3b
,
0x85
,
0xcc
,
0x91
,
0x47
,
0x3a
,
0x33
,
0x3a
,
0x7b
,
0xf6
,
0x56
,
0xdb
,
0x5f
,
0x3e
,
0x4c
,
0x2f
,
0x93
,
0x7b
,
0x1e
,
0xbd
,
0x4a
,
0xb9
,
0xa6
,
0xe3
,
0xb3
,
0x70
,
0x46
,
0x2d
,
0x3d
,
0x31
,
0x1b
,
0x98
,
0x0c
,
0x33
,
0x8b
,
0x25
,
0x77
,
0xa0
,
0xa4
,
0xe6
,
0x6e
,
0xa2
,
0x72
,
0xf7
,
0x55
,
0x2f
,
0xcd
,
0x02
,
0x6d
,
0xfb
,
0xe6
,
0xeb
,
0x27
,
0xa6
,
0xa1
,
0x3f
,
0x31
,
0xd5
,
0x12
,
0xdb
,
0xf7
,
0xf5
,
0x9d
,
0x90
,
0x99
,
0x5e
,
0x26
,
0x0f
,
0x32
,
0xf4
,
0x2a
,
0xe5
,
0x9a
,
0x4e
,
0x96
,
0x85
,
0x29
,
0xb5
,
0xf5
,
0x85
,
0x1c
,
0xa9
,
0xb1
,
0x9c
,
0x8e
,
0xfe
,
0x11
,
0xcc
,
0x46
,
0x26
,
0x8f
,
0x90
,
0xc1
,
0x62
,
0xf4
,
0xc4
,
0x94
,
0x06
,
0xda
,
0xf6
,
0xcd
,
0x37
,
0x4f
,
0x4c
,
0xe3
,
0xec
,
0xc4
,
0x54
,
0x8f
,
0x6c
,
0x42
,
0x9a
,
0x89
,
0xc6
,
0x12
,
0x72
,
0x0f
,
0x2a
,
0x2a
,
0x9b
,
0x7f
,
0x0d
,
0x55
,
0x67
,
0x0a
,
0x4d
,
0xdf
,
0xd7
,
0xd7
,
0x17
,
0x72
,
0xa4
,
0xce
,
0x72
,
0x3a
,
0xfa
,
0xab
,
0x97
,
0x8e
,
0x4c
,
0x19
,
0x42
,
0xa8
,
0xd6
,
0x8b
,
0x73
,
0x7f
,
0x6c
,
0xce
,
0x64
,
0x72
,
0x00
,
0xd0
,
0x7a
,
0x71
,
0xee
,
0xd8
,
0x59
,
0x7a
,
0xcb
,
0x09
,
0x69
,
0x26
,
0x1a
,
0x4b
,
0xc8
,
0x7d
,
0xa8
,
0xaa
,
0x64
,
0xfe
,
0x35
,
0x54
,
0x4d
,
0x5e
,
0xc8
,
0x4e
,
0x0f
,
0xa1
,
0x2d
,
0xc9
,
0x6c
,
0x1a
,
0x5e
,
0x33
,
0xd3
,
0x70
,
0xa6
,
0xd0
,
0xab
,
0x15
,
0x9a
,
0x50
,
0x9d
,
0x97
,
0x17
,
0xd9
,
0xb1
,
0x39
,
0x91
,
0xc9
,
0x01
,
0x40
,
0xe7
,
0xe5
,
0x85
,
0x38
,
0xa2
,
0x0d
,
0x74
,
0x86
,
0xd7
,
0xcd
,
0x6a
,
0xa6
,
0xa0
,
0x3f
,
0x07
,
0xb0
,
0xfd
,
0x5c
,
0xbc
,
0x63
,
0x67
,
0x79
,
0x29
,
0x3b
,
0x33
,
0x08
,
0x6d
,
0x49
,
0x26
,
0xd3
,
0x70
,
0xc5
,
0x4c
,
0xc3
,
0x89
,
0x42
,
0xc3
,
0x6d
,
0x25
,
0x92
,
0x0b
,
0xd9
,
0xff
,
0x87
,
0x7e
,
0x12
,
0x58
,
0x95
,
0x4a
,
0x18
,
0x17
,
0x42
,
0xaf
,
0xe2
,
0x88
,
0x36
,
0xd2
,
0x19
,
0xde
,
0x30
,
0xab
,
0x89
,
0x82
,
0xfe
,
0xe0
,
0xc1
,
0xce
,
0xcb
,
0x0c
,
0x7f
,
0x93
,
0x07
,
0xb0
,
0x2b
,
0x45
,
0x37
,
0x8e
,
0x7a
,
0xb2
,
0x1d
,
0x46
,
0x5d
,
0xd1
,
0x0b
,
0xf1
,
0x1a
,
0x0d
,
0x77
,
0x95
,
0x88
,
0x2e
,
0xe5
,
0xf0
,
0x4f
,
0xfa
,
0x49
,
0x60
,
0x5d
,
0x2a
,
0x56
,
0x3c
,
0x55
,
0x1d
,
0x57
,
0x9d
,
0x65
,
0xb6
,
0x78
,
0xd1
,
0x11
,
0xd7
,
0xa6
,
0x0a
,
0x2d
,
0x95
,
0x61
,
0x5c
,
0x2c
,
0x33
,
0xfc
,
0x4d
,
0x1e
,
0xc1
,
0x9e
,
0x14
,
0xfd
,
0x30
,
0x18
,
0xc8
,
0xae
,
0x1f
,
0x11
,
0x5f
,
0x54
,
0xd3
,
0x8f
,
0x60
,
0xd3
,
0x88
,
0x6f
,
0xf8
,
0x64
,
0xfa
,
0x63
,
0x00
,
0x5b
,
0x2e
,
0xf4
,
0x45
,
0x57
,
0xf1
,
0x58
,
0xf5
,
0x5c
,
0x75
,
0x96
,
0xd9
,
0xf2
,
0x45
,
0x47
,
0x5c
,
0x9b
,
0x2a
,
0x7f
,
0xad
,
0x17
,
0xe7
,
0xcb
,
0xbc
,
0xbb
,
0x0d
,
0x3b
,
0xc9
,
0x0c
,
0xc9
,
0x3c
,
0x47
,
0xe7
,
0xf4
,
0xb4
,
0x54
,
0x46
,
0x7c
,
0x51
,
0x4d
,
0xdf
,
0x83
,
0x2d
,
0x23
,
0xbe
,
0xe5
,
0x93
,
0xe9
,
0x77
,
0x1e
,
0xe4
,
0x21
,
0x54
,
0x3d
,
0x9d
,
0xe5
,
0xe9
,
0x3b
,
0xf3
,
0x55
,
0x60
,
0x1f
,
0x70
,
0xcc
,
0x47
,
0xd3
,
0x6c
,
0xbb
,
0xfc
,
0x75
,
0x5e
,
0x5e
,
0xac
,
0xf2
,
0xee
,
0x2e
,
0xec
,
0x46
,
0x29
,
0x92
,
0x65
,
0x1c
,
0x1e
,
0xc0
,
0x19
,
0x97
,
0xba
,
0x4d
,
0xff
,
0xab
,
0x60
,
0x6b
,
0x23
,
0x2e
,
0xd8
,
0xfa
,
0xb7
,
0x46
,
0x5d
,
0xd0
,
0x93
,
0xc7
,
0x50
,
0xcb
,
0xe8
,
0x2c
,
0x4f
,
0xff
,
0xb3
,
0x58
,
0x05
,
0xf6
,
0x01
,
0xc7
,
0x86
,
0xf8
,
0x6a
,
0xb3
,
0xcf
,
0x2f
,
0x14
,
0xe8
,
0x77
,
0xb0
,
0xad
,
0x4d
,
0xb4
,
0x85
,
0xba
,
0xe0
,
0xb2
,
0x68
,
0x3a
,
0x00
,
0x38
,
0xe3
,
0x52
,
0xb7
,
0xe9
,
0xbf
,
0x14
,
0x6c
,
0x6d
,
0xc4
,
0x05
,
0x5b
,
0x5f
,
0x1d
,
0x1e
,
0xfd
,
0x37
,
0xa6
,
0x1a
,
0xb0
,
0x7e
,
0xb9
,
0x74
,
0x40
,
0x71
,
0xcb
,
0xf4
,
0xa7
,
0xff
,
0xd6
,
0x48
,
0x1f
,
0x5f
,
0x6d
,
0xf6
,
0xf9
,
0x85
,
0x02
,
0xfd
,
0x1a
,
0x76
,
0xb4
,
0x89
,
0xae
,
0x00
,
0xb6
,
0xac
,
0x7d
,
0xfd
,
0x5c
,
0xfd
,
0x9f
,
0xcd
,
0x93
,
0x7b
,
0xe6
,
0x6e
,
0x94
,
0xb6
,
0x7a
,
0x50
,
0x97
,
0xfc
,
0xf3
,
0xc3
,
0xa3
,
0xbf
,
0xc7
,
0x54
,
0x0b
,
0x36
,
0xae
,
0x56
,
0x0e
,
0x28
,
0x6e
,
0x96
,
0xa4
,
0xc6
,
0xe0
,
0xe8
,
0xaf
,
0x01
,
0x54
,
0xce
,
0x04
,
0x4f
,
0xd5
,
0xa5
,
0xe0
,
0xc8
,
0x85
,
0x99
,
0x7e
,
0xef
,
0xc1
,
0xb6
,
0xb5
,
0xaf
,
0x9f
,
0xab
,
0xff
,
0xb0
,
0x79
,
0xf2
,
0xc0
,
0xdc
,
0x8d
,
0xc9
,
0x6b
,
0x5e
,
0xcf
,
0x93
,
0x05
,
0xaf
,
0xe7
,
0xc9
,
0xc2
,
0xd7
,
0xf3
,
0x64
,
0xee
,
0xf5
,
0x3c
,
0xd2
,
0x56
,
0xcf
,
0x8a
,
0xd4
,
0x18
,
0x1c
,
0xfd
,
0xc9
,
0x83
,
0xea
,
0x99
,
0xe0
,
0xb1
,
0xba
,
0x12
,
0xc8
,
0xbd
,
0x9e
,
0x8b
,
0xee
,
0xaf
,
0xfa
,
0xee
,
0xdf
,
0x84
,
0x0d
,
0x29
,
0xbe
,
0x19
,
0x63
,
0x1b
,
0x1c
,
0xb9
,
0x30
,
0x7b
,
0xc3
,
0xeb
,
0x79
,
0xb6
,
0xe4
,
0xf5
,
0x3c
,
0x5b
,
0xfa
,
0x7a
,
0x9e
,
0x2d
,
0x34
,
0x45
,
0x90
,
0xc9
,
0xcb
,
0xeb
,
0xfd
,
0x72
,
0x0d
,
0xff
,
0x68
,
0x38
,
0xfa
,
0x2b
,
0x00
,
0x00
,
0xbc
,
0x9e
,
0x47
,
0xb9
,
0xd7
,
0x73
,
0xd1
,
0xfd
,
0xf5
,
0xac
,
0xfb
,
0xb7
,
0x61
,
0x53
,
0x8a
,
0x2f
,
0xff
,
0xff
,
0x75
,
0x36
,
0xb8
,
0xf1
,
0x96
,
0x10
,
0x00
,
0x00
,
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
,
}
}
plugin/dapp/valnode/types/valnode.go
View file @
db26652c
...
@@ -17,6 +17,11 @@ func init() {
...
@@ -17,6 +17,11 @@ func init() {
types
.
RegisterDappFork
(
ValNodeX
,
"Enable"
,
0
)
types
.
RegisterDappFork
(
ValNodeX
,
"Enable"
,
0
)
}
}
// GetExecName get exec name
func
GetExecName
()
string
{
return
types
.
ExecName
(
ValNodeX
)
}
// ValNodeType stuct
// ValNodeType stuct
type
ValNodeType
struct
{
type
ValNodeType
struct
{
types
.
ExecTypeBase
types
.
ExecTypeBase
...
...
plugin/dapp/valnode/types/valnode.pb.go
View file @
db26652c
...
@@ -3,11 +3,14 @@
...
@@ -3,11 +3,14 @@
package
types
package
types
import
(
import
proto
"github.com/golang/protobuf/proto"
fmt
"fmt"
import
fmt
"fmt"
math
"math"
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.
// Reference imports to suppress errors if they are not otherwise used.
...
@@ -15,44 +18,15 @@ var _ = proto.Marshal
...
@@ -15,44 +18,15 @@ var _ = proto.Marshal
var
_
=
fmt
.
Errorf
var
_
=
fmt
.
Errorf
var
_
=
math
.
Inf
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
{
type
ValNode
struct
{
PubKey
[]
byte
`protobuf:"bytes,1,opt,name=pubKey,proto3" json:"pubKey,omitempty"`
PubKey
[]
byte
`protobuf:"bytes,1,opt,name=pubKey,proto3" json:"pubKey,omitempty"`
Power
int64
`protobuf:"varint,2,opt,name=power,proto3" json:"power,omitempty"`
Power
int64
`protobuf:"varint,2,opt,name=power" 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
)
}
}
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
{
func
(
m
*
ValNode
)
GetPubKey
()
[]
byte
{
if
m
!=
nil
{
if
m
!=
nil
{
...
@@ -69,36 +43,13 @@ func (m *ValNode) GetPower() int64 {
...
@@ -69,36 +43,13 @@ func (m *ValNode) GetPower() int64 {
}
}
type
ValNodes
struct
{
type
ValNodes
struct
{
Nodes
[]
*
ValNode
`protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
Nodes
[]
*
ValNode
`protobuf:"bytes,1,rep,name=nodes" 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
)
}
}
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
{
func
(
m
*
ValNodes
)
GetNodes
()
[]
*
ValNode
{
if
m
!=
nil
{
if
m
!=
nil
{
...
@@ -111,52 +62,27 @@ type ValNodeAction struct {
...
@@ -111,52 +62,27 @@ type ValNodeAction struct {
// Types that are valid to be assigned to Value:
// Types that are valid to be assigned to Value:
// *ValNodeAction_Node
// *ValNodeAction_Node
// *ValNodeAction_BlockInfo
// *ValNodeAction_BlockInfo
Value
isValNodeAction_Value
`protobuf_oneof:"value"`
Value
isValNodeAction_Value
`protobuf_oneof:"value"`
Ty
int32
`protobuf:"varint,3,opt,name=Ty,proto3" json:"Ty,omitempty"`
Ty
int32
`protobuf:"varint,3,opt,name=Ty" json:"Ty,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
}
func
(
m
*
ValNodeAction
)
Reset
()
{
*
m
=
ValNodeAction
{}
}
func
(
m
*
ValNodeAction
)
Reset
()
{
*
m
=
ValNodeAction
{}
}
func
(
m
*
ValNodeAction
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
m
*
ValNodeAction
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ValNodeAction
)
ProtoMessage
()
{}
func
(
*
ValNodeAction
)
ProtoMessage
()
{}
func
(
*
ValNodeAction
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
ValNodeAction
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor1
,
[]
int
{
2
}
}
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
type
isValNodeAction_Value
interface
{
type
isValNodeAction_Value
interface
{
isValNodeAction_Value
()
isValNodeAction_Value
()
}
}
type
ValNodeAction_Node
struct
{
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
{
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
(
*
ValNodeAction_BlockInfo
)
isValNodeAction_Value
()
{}
func
(
m
*
ValNodeAction
)
GetValue
()
isValNodeAction_Value
{
func
(
m
*
ValNodeAction
)
GetValue
()
isValNodeAction_Value
{
...
@@ -246,12 +172,12 @@ func _ValNodeAction_OneofSizer(msg proto.Message) (n int) {
...
@@ -246,12 +172,12 @@ func _ValNodeAction_OneofSizer(msg proto.Message) (n int) {
switch
x
:=
m
.
Value
.
(
type
)
{
switch
x
:=
m
.
Value
.
(
type
)
{
case
*
ValNodeAction_Node
:
case
*
ValNodeAction_Node
:
s
:=
proto
.
Size
(
x
.
Node
)
s
:=
proto
.
Size
(
x
.
Node
)
n
+=
1
// tag and wire
n
+=
proto
.
SizeVarint
(
1
<<
3
|
proto
.
WireBytes
)
n
+=
proto
.
SizeVarint
(
uint64
(
s
))
n
+=
proto
.
SizeVarint
(
uint64
(
s
))
n
+=
s
n
+=
s
case
*
ValNodeAction_BlockInfo
:
case
*
ValNodeAction_BlockInfo
:
s
:=
proto
.
Size
(
x
.
BlockInfo
)
s
:=
proto
.
Size
(
x
.
BlockInfo
)
n
+=
1
// tag and wire
n
+=
proto
.
SizeVarint
(
2
<<
3
|
proto
.
WireBytes
)
n
+=
proto
.
SizeVarint
(
uint64
(
s
))
n
+=
proto
.
SizeVarint
(
uint64
(
s
))
n
+=
s
n
+=
s
case
nil
:
case
nil
:
...
@@ -262,36 +188,13 @@ func _ValNodeAction_OneofSizer(msg proto.Message) (n int) {
...
@@ -262,36 +188,13 @@ func _ValNodeAction_OneofSizer(msg proto.Message) (n int) {
}
}
type
ReqNodeInfo
struct
{
type
ReqNodeInfo
struct
{
Height
int64
`protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
Height
int64
`protobuf:"varint,1,opt,name=height" json:"height,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
XXX_unrecognized
[]
byte
`json:"-"`
XXX_sizecache
int32
`json:"-"`
}
}
func
(
m
*
ReqNodeInfo
)
Reset
()
{
*
m
=
ReqNodeInfo
{}
}
func
(
m
*
ReqNodeInfo
)
Reset
()
{
*
m
=
ReqNodeInfo
{}
}
func
(
m
*
ReqNodeInfo
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
m
*
ReqNodeInfo
)
String
()
string
{
return
proto
.
CompactTextString
(
m
)
}
func
(
*
ReqNodeInfo
)
ProtoMessage
()
{}
func
(
*
ReqNodeInfo
)
ProtoMessage
()
{}
func
(
*
ReqNodeInfo
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
ReqNodeInfo
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
fileDescriptor1
,
[]
int
{
3
}
}
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
)
GetHeight
()
int64
{
func
(
m
*
ReqNodeInfo
)
GetHeight
()
int64
{
if
m
!=
nil
{
if
m
!=
nil
{
...
@@ -301,36 +204,13 @@ func (m *ReqNodeInfo) GetHeight() int64 {
...
@@ -301,36 +204,13 @@ func (m *ReqNodeInfo) GetHeight() int64 {
}
}
type
ReqBlockInfo
struct
{
type
ReqBlockInfo
struct
{
Height
int64
`protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
Height
int64
`protobuf:"varint,1,opt,name=height" 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
)
}
}
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
{
func
(
m
*
ReqBlockInfo
)
GetHeight
()
int64
{
if
m
!=
nil
{
if
m
!=
nil
{
...
@@ -347,25 +227,134 @@ func init() {
...
@@ -347,25 +227,134 @@ func init() {
proto
.
RegisterType
((
*
ReqBlockInfo
)(
nil
),
"types.ReqBlockInfo"
)
proto
.
RegisterType
((
*
ReqBlockInfo
)(
nil
),
"types.ReqBlockInfo"
)
}
}
func
init
()
{
proto
.
RegisterFile
(
"valnode.proto"
,
fileDescriptor_38e9a3523ca7e0ea
)
}
// Reference imports to suppress errors if they are not otherwise used.
var
_
context
.
Context
var
fileDescriptor_38e9a3523ca7e0ea
=
[]
byte
{
var
_
grpc
.
ClientConn
// 261 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0x74
,
0x90
,
0x41
,
0x4b
,
0xc3
,
0x30
,
// This is a compile-time assertion to ensure that this generated file
0x14
,
0xc7
,
0x97
,
0xd6
,
0x74
,
0xfa
,
0xba
,
0x0d
,
0x09
,
0x32
,
0xca
,
0x4e
,
0x25
,
0x4c
,
0xe9
,
0xa9
,
// is compatible with the grpc package it is being compiled against.
0xc8
,
0x3c
,
0x08
,
0xde
,
0xdc
,
0x69
,
0x22
,
0x78
,
0x08
,
0xc5
,
0x7b
,
0xbb
,
0x3e
,
0x5d
,
0xb1
,
0x26
,
const
_
=
grpc
.
SupportPackageIsVersion4
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
,
// Client API for Valnode service
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
,
type
ValnodeClient
interface
{
0x61
,
0x13
,
0xbb
,
0x02
,
0x5a
,
0xa9
,
0x2f
,
0xac
,
0x03
,
0x27
,
0x24
,
0x91
,
0x2b
,
0xfa
,
0xc0
,
0x6f
,
IsSync
(
ctx
context
.
Context
,
in
*
types1
.
ReqNil
,
opts
...
grpc
.
CallOption
)
(
*
IsHealthy
,
error
)
0xe1
,
0xdc
,
0x0e
,
0x36
,
0x6c
,
0x09
,
0xb4
,
0xeb
,
0x6a
,
0x02
,
0x12
,
0xba
,
0x91
,
0xbf
,
0x9a
,
0xc5
,
GetNodeInfo
(
ctx
context
.
Context
,
in
*
types1
.
ReqNil
,
opts
...
grpc
.
CallOption
)
(
*
ValidatorSet
,
error
)
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
,
type
valnodeClient
struct
{
0xc6
,
0x66
,
0x24
,
0xfe
,
0x74
,
0x36
,
0x03
,
0x27
,
0x69
,
0x03
,
0x37
,
0x24
,
0x11
,
0x15
,
0x4e
,
0xd2
,
cc
*
grpc
.
ClientConn
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
,
func
NewValnodeClient
(
cc
*
grpc
.
ClientConn
)
ValnodeClient
{
0xac
,
0x77
,
0x01
,
0x00
,
0x00
,
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
,
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment