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
b1ed6b60
Commit
b1ed6b60
authored
Oct 27, 2021
by
mdj33
Committed by
33cn
Nov 23, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refactor para bind miner
parent
808969f4
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
4241 additions
and
571 deletions
+4241
-571
paracross.go
plugin/dapp/paracross/commands/paracross.go
+42
-6
bindminer.go
plugin/dapp/paracross/executor/bindminer.go
+462
-0
kv.go
plugin/dapp/paracross/executor/kv.go
+25
-8
query.go
plugin/dapp/paracross/executor/query.go
+40
-45
reward.go
plugin/dapp/paracross/executor/reward.go
+2
-302
parabls.proto
plugin/dapp/paracross/proto/parabls.proto
+52
-0
paraconsensus.proto
plugin/dapp/paracross/proto/paraconsensus.proto
+26
-0
paracross.proto
plugin/dapp/paracross/proto/paracross.proto
+3
-209
paraminer.proto
plugin/dapp/paracross/proto/paraminer.proto
+92
-0
paranodegroup.proto
plugin/dapp/paracross/proto/paranodegroup.proto
+112
-0
parabls.pb.go
plugin/dapp/paracross/types/parabls.pb.go
+676
-0
paraconsensus.pb.go
plugin/dapp/paracross/types/paraconsensus.pb.go
+310
-0
paracross.go
plugin/dapp/paracross/types/paracross.go
+2
-0
paraminer.pb.go
plugin/dapp/paracross/types/paraminer.pb.go
+972
-0
paranodegroup.pb.go
plugin/dapp/paracross/types/paranodegroup.pb.go
+1422
-0
type.go
plugin/dapp/paracross/types/type.go
+3
-1
No files found.
plugin/dapp/paracross/commands/paracross.go
View file @
b1ed6b60
...
...
@@ -345,6 +345,7 @@ func superNodeCmd() *cobra.Command {
cmd
.
AddCommand
(
getNodeListCmd
())
cmd
.
AddCommand
(
nodeModifyCmd
())
cmd
.
AddCommand
(
getNodeBindListCmd
())
cmd
.
AddCommand
(
getMinerBindListCmd
())
return
cmd
}
...
...
@@ -598,8 +599,44 @@ func createNodeBindTx(cmd *cobra.Command, args []string) {
func
getNodeBindListCmd
()
*
cobra
.
Command
{
cmd
:=
&
cobra
.
Command
{
Use
:
"
bind
_list"
,
Use
:
"
miner
_list"
,
Short
:
"Get node bind miner account list"
,
Run
:
minerBindInfo
,
}
addMinerBindCmdFlags
(
cmd
)
return
cmd
}
func
addMinerBindCmdFlags
(
cmd
*
cobra
.
Command
)
{
cmd
.
Flags
()
.
StringP
(
"node"
,
"n"
,
""
,
"super node addr to bind miner"
)
cmd
.
MarkFlagRequired
(
"node"
)
cmd
.
Flags
()
.
StringP
(
"miner"
,
"m"
,
""
,
"bind miner addr"
)
cmd
.
Flags
()
.
BoolP
(
"unbind"
,
"u"
,
false
,
"query with unbinded miner,default false"
)
}
func
minerBindInfo
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
rpcLaddr
,
_
:=
cmd
.
Flags
()
.
GetString
(
"rpc_laddr"
)
node
,
_
:=
cmd
.
Flags
()
.
GetString
(
"node"
)
miner
,
_
:=
cmd
.
Flags
()
.
GetString
(
"miner"
)
unbind
,
_
:=
cmd
.
Flags
()
.
GetBool
(
"unbind"
)
var
params
rpctypes
.
Query4Jrpc
params
.
Execer
=
pt
.
ParaX
params
.
FuncName
=
"GetNodeBindMinerList"
params
.
Payload
=
types
.
MustPBToJSON
(
&
pt
.
ParaNodeMinerListReq
{
Node
:
node
,
Miner
:
miner
,
WithUnBind
:
unbind
})
var
res
pt
.
ParaBindMinerList
ctx
:=
jsonclient
.
NewRPCCtx
(
rpcLaddr
,
"Chain33.Query"
,
params
,
&
res
)
ctx
.
Run
()
}
func
getMinerBindListCmd
()
*
cobra
.
Command
{
cmd
:=
&
cobra
.
Command
{
Use
:
"node_list"
,
Short
:
"Get miner bind consensus node account list"
,
Run
:
nodeBindInfo
,
}
addNodeBindCmdFlags
(
cmd
)
...
...
@@ -607,22 +644,21 @@ func getNodeBindListCmd() *cobra.Command {
}
func
addNodeBindCmdFlags
(
cmd
*
cobra
.
Command
)
{
cmd
.
Flags
()
.
StringP
(
"node"
,
"n"
,
""
,
"super node addr to bind miner"
)
cmd
.
Flags
()
.
StringP
(
"miner"
,
"m"
,
""
,
"bind miner addr"
)
cmd
.
MarkFlagRequired
(
"miner"
)
}
func
nodeBindInfo
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
rpcLaddr
,
_
:=
cmd
.
Flags
()
.
GetString
(
"rpc_laddr"
)
node
,
_
:=
cmd
.
Flags
()
.
GetString
(
"node"
)
miner
,
_
:=
cmd
.
Flags
()
.
GetString
(
"miner"
)
var
params
rpctypes
.
Query4Jrpc
params
.
Execer
=
pt
.
ParaX
params
.
FuncName
=
"Get
NodeBindMiner
List"
params
.
FuncName
=
"Get
MinerBindNode
List"
params
.
Payload
=
types
.
MustPBToJSON
(
&
pt
.
ParaNodeBindOne
{
SuperNode
:
node
,
Miner
:
miner
})
params
.
Payload
=
types
.
MustPBToJSON
(
&
types
.
ReqString
{
Data
:
miner
})
var
res
pt
.
RespParaNodeBindList
var
res
types
.
ReplyStrings
ctx
:=
jsonclient
.
NewRPCCtx
(
rpcLaddr
,
"Chain33.Query"
,
params
,
&
res
)
ctx
.
Run
()
}
...
...
plugin/dapp/paracross/executor/bindminer.go
0 → 100644
View file @
b1ed6b60
package
executor
import
(
"github.com/pkg/errors"
dbm
"github.com/33cn/chain33/common/db"
"github.com/33cn/chain33/types"
pt
"github.com/33cn/plugin/plugin/dapp/paracross/types"
)
const
(
opBind
=
1
opUnBind
=
2
opModify
=
3
)
//根据挖矿共识节点地址 过滤整体共识节点映射列表, 获取委托挖矿地址
//func (a *action) getBindAddrs(nodes []string, statusHeight int64) ([]*pt.ParaBindMinerInfo, error) {
// nodesMap := make(map[string]bool)
// for _, n := range nodes {
// nodesMap[n] = true
// }
//
// var newLists pt.ParaNodeBindList
// list, err := getBindNodeInfo(a.db)
// if err != nil {
// clog.Error("paracross getBindAddrs err", "height", statusHeight)
// return nil, err
// }
// //这样检索是按照list的映射顺序,不是按照nodes的顺序(需要循环嵌套)
// for _, m := range list.Miners {
// if nodesMap[m.SuperNode] {
// newLists.Miners = append(newLists.Miners, m)
// }
// }
//
// return &newLists, nil
//
//}
//从内存中获取bin状态的miner list
func
(
a
*
action
)
getBindAddrs
(
nodes
[]
string
,
statusHeight
int64
)
([]
*
pt
.
ParaBindMinerInfo
,
error
)
{
var
minerList
[]
*
pt
.
ParaBindMinerInfo
for
_
,
node
:=
range
nodes
{
list
,
err
:=
getBindMinerList
(
a
.
db
,
node
)
if
err
!=
nil
{
clog
.
Error
(
"paracross getBindAddrs err"
,
"height"
,
statusHeight
,
"err"
,
err
)
return
nil
,
err
}
for
_
,
l
:=
range
list
{
//过滤所有bind状态的miner
if
l
.
BindStatus
==
opBind
{
minerList
=
append
(
minerList
,
l
)
}
}
}
return
minerList
,
nil
}
//
func
mergeReceipt
(
receipt1
,
receipt2
*
types
.
Receipt
)
*
types
.
Receipt
{
if
receipt2
!=
nil
{
receipt1
.
KV
=
append
(
receipt1
.
KV
,
receipt2
.
KV
...
)
receipt1
.
Logs
=
append
(
receipt1
.
Logs
,
receipt2
.
Logs
...
)
}
return
receipt1
}
func
makeAddrBindReceipt
(
node
,
addr
string
,
prev
,
current
*
pt
.
ParaBindMinerInfo
)
*
types
.
Receipt
{
key
:=
calcParaBindMinerAddr
(
node
,
addr
)
log
:=
&
pt
.
ReceiptParaBindMinerInfo
{
Addr
:
addr
,
Prev
:
prev
,
Current
:
current
,
}
return
&
types
.
Receipt
{
Ty
:
types
.
ExecOk
,
KV
:
[]
*
types
.
KeyValue
{
{
Key
:
key
,
Value
:
types
.
Encode
(
current
)},
},
Logs
:
[]
*
types
.
ReceiptLog
{
{
Ty
:
pt
.
TyLogParaBindMinerAddr
,
Log
:
types
.
Encode
(
log
),
},
},
}
}
func
makeAddMinerBindNodeListReceipt
(
miner
string
,
node
string
,
current
*
pt
.
ParaMinerBindNodes
)
*
types
.
Receipt
{
key
:=
calcParaMinerBindNodeList
(
miner
)
log
:=
&
pt
.
ReceiptParaMinerBindNodeList
{
Miner
:
miner
,
Node
:
node
,
Current
:
current
,
}
return
&
types
.
Receipt
{
Ty
:
types
.
ExecOk
,
KV
:
[]
*
types
.
KeyValue
{
{
Key
:
key
,
Value
:
types
.
Encode
(
current
)},
},
Logs
:
[]
*
types
.
ReceiptLog
{
{
Ty
:
pt
.
TyLogParaMinerBindNodeList
,
Log
:
types
.
Encode
(
log
),
},
},
}
}
func
makeAddNodeBindMinerCountReceipt
(
node
string
,
prev
,
current
*
pt
.
ParaBindNodeInfo
)
*
types
.
Receipt
{
key
:=
calcParaNodeBindMinerCount
(
node
)
log
:=
&
pt
.
ReceiptParaBindConsensusNodeInfo
{
NodeAddr
:
node
,
Prev
:
prev
,
Current
:
current
,
}
return
&
types
.
Receipt
{
Ty
:
types
.
ExecOk
,
KV
:
[]
*
types
.
KeyValue
{
{
Key
:
key
,
Value
:
types
.
Encode
(
current
)},
},
Logs
:
[]
*
types
.
ReceiptLog
{
{
Ty
:
pt
.
TyLogParaBindMinerNode
,
Log
:
types
.
Encode
(
log
),
},
},
}
}
func
makeNodeBindMinerIndexReceipt
(
node
,
miner
string
,
index
int64
)
*
types
.
Receipt
{
key
:=
calcParaNodeBindMinerIndex
(
node
,
index
)
log
:=
&
pt
.
ReceiptParaBindIndex
{
SelfAddr
:
node
,
BindAddr
:
miner
,
Index
:
index
,
}
return
&
types
.
Receipt
{
Ty
:
types
.
ExecOk
,
KV
:
[]
*
types
.
KeyValue
{
{
Key
:
key
,
Value
:
types
.
Encode
(
&
pt
.
ParaBindAddr
{
Addr
:
miner
})},
},
Logs
:
[]
*
types
.
ReceiptLog
{
{
Ty
:
pt
.
TyLogParaBindMinerIndex
,
Log
:
types
.
Encode
(
log
),
},
},
}
}
func
getBindAddrInfo
(
db
dbm
.
KV
,
node
,
addr
string
)
(
*
pt
.
ParaBindMinerInfo
,
error
)
{
key
:=
calcParaBindMinerAddr
(
node
,
addr
)
data
,
err
:=
db
.
Get
(
key
)
if
err
!=
nil
{
return
nil
,
errors
.
Wrapf
(
err
,
"get key failed node=%s,addr=%s"
,
node
,
addr
)
}
var
info
pt
.
ParaBindMinerInfo
err
=
types
.
Decode
(
data
,
&
info
)
if
err
!=
nil
{
return
nil
,
errors
.
Wrapf
(
err
,
"decode failed node=%s,addr=%s"
,
node
,
addr
)
}
return
&
info
,
nil
}
// node绑定的miner数量
func
getBindMinerCount
(
db
dbm
.
KV
,
node
string
)
(
*
pt
.
ParaBindNodeInfo
,
error
)
{
key
:=
calcParaNodeBindMinerCount
(
node
)
data
,
err
:=
db
.
Get
(
key
)
if
isNotFound
(
err
)
{
return
&
pt
.
ParaBindNodeInfo
{},
nil
}
if
err
!=
nil
{
return
nil
,
errors
.
Wrapf
(
err
,
"getBindNodeInfo node=%s"
,
node
)
}
var
info
pt
.
ParaBindNodeInfo
err
=
types
.
Decode
(
data
,
&
info
)
if
err
!=
nil
{
return
nil
,
errors
.
Wrapf
(
err
,
"decode failed node=%s"
,
node
)
}
return
&
info
,
nil
}
func
getNodeBindMinerIndexInfo
(
db
dbm
.
KV
,
node
string
,
index
int64
)
(
*
pt
.
ParaBindAddr
,
error
)
{
key
:=
calcParaNodeBindMinerIndex
(
node
,
index
)
data
,
err
:=
db
.
Get
(
key
)
if
err
!=
nil
{
return
nil
,
errors
.
Wrap
(
err
,
"db.get"
)
}
var
info
pt
.
ParaBindAddr
err
=
types
.
Decode
(
data
,
&
info
)
if
err
!=
nil
{
return
nil
,
errors
.
Wrap
(
err
,
"decode failed node"
)
}
return
&
info
,
nil
}
func
getBindMinerList
(
db
dbm
.
KV
,
node
string
)
([]
*
pt
.
ParaBindMinerInfo
,
error
)
{
//从db恢复
//node 绑定挖矿地址数量
nodeInfo
,
err
:=
getBindMinerCount
(
db
,
node
)
if
err
!=
nil
{
return
nil
,
errors
.
Wrapf
(
err
,
"updateGlobalBindMinerInfo.getNodeInfo node=%s"
,
node
)
}
if
nodeInfo
.
BindTotalCount
<=
0
{
return
nil
,
nil
}
var
minerList
[]
*
pt
.
ParaBindMinerInfo
for
i
:=
int64
(
0
);
i
<
nodeInfo
.
BindTotalCount
;
i
++
{
miner
,
err
:=
getNodeBindMinerIndexInfo
(
db
,
node
,
i
)
if
err
!=
nil
{
return
nil
,
errors
.
Wrapf
(
err
,
"getBindMinerList.getMinerIndex,node=%s,index=%d"
,
node
,
i
)
}
minerInfo
,
err
:=
getBindAddrInfo
(
db
,
node
,
miner
.
Addr
)
if
err
!=
nil
{
return
nil
,
errors
.
Wrapf
(
err
,
"getBindMinerList.getBindAddrInfo,node=%s,addr=%s"
,
node
,
miner
.
Addr
)
}
minerList
=
append
(
minerList
,
minerInfo
)
}
return
minerList
,
nil
}
func
getMinerBindNodeList
(
db
dbm
.
KV
,
miner
string
)
(
*
pt
.
ParaMinerBindNodes
,
error
)
{
key
:=
calcParaMinerBindNodeList
(
miner
)
data
,
err
:=
db
.
Get
(
key
)
if
isNotFound
(
err
)
{
return
&
pt
.
ParaMinerBindNodes
{},
nil
}
if
err
!=
nil
{
return
nil
,
errors
.
Wrapf
(
err
,
"getBindNodeInfo node=%s"
,
miner
)
}
var
info
pt
.
ParaMinerBindNodes
err
=
types
.
Decode
(
data
,
&
info
)
if
err
!=
nil
{
return
nil
,
errors
.
Wrapf
(
err
,
"decode failed node=%s"
,
miner
)
}
return
&
info
,
nil
}
func
(
a
*
action
)
addMinerBindNode
(
miner
,
node
string
)
(
*
types
.
Receipt
,
error
)
{
nodes
,
err
:=
getMinerBindNodeList
(
a
.
db
,
miner
)
if
err
!=
nil
{
return
nil
,
errors
.
Wrapf
(
err
,
"addMinerBindNode miner=%s"
,
miner
)
}
nodes
.
Nodes
=
append
(
nodes
.
Nodes
,
node
)
return
makeAddMinerBindNodeListReceipt
(
miner
,
node
,
nodes
),
nil
}
func
(
a
*
action
)
addNodeBindMinerCount
(
node
,
miner
string
)
(
*
types
.
Receipt
,
int64
,
error
)
{
receipt
:=
&
types
.
Receipt
{
Ty
:
types
.
ExecOk
}
bindInfo
,
err
:=
getBindMinerCount
(
a
.
db
,
node
)
if
err
!=
nil
{
return
nil
,
0
,
err
}
//new index --> target
rIdx
:=
makeNodeBindMinerIndexReceipt
(
node
,
miner
,
bindInfo
.
BindTotalCount
)
mergeReceipt
(
receipt
,
rIdx
)
//只增加绑定index,如果有bind miner退出或又加入,只更新对应miner状态,绑定关系不变
//add totalCount
rNode
:=
makeAddNodeBindMinerCountReceipt
(
node
,
bindInfo
,
&
pt
.
ParaBindNodeInfo
{
BindTotalCount
:
bindInfo
.
BindTotalCount
+
1
})
mergeReceipt
(
receipt
,
rNode
)
return
receipt
,
bindInfo
.
BindTotalCount
,
nil
}
func
(
a
*
action
)
addNewBind
(
cmd
*
pt
.
ParaBindMinerCmd
)
(
*
types
.
Receipt
,
error
)
{
coinPrecision
:=
a
.
api
.
GetConfig
()
.
GetCoinPrecision
()
receipt
,
err
:=
a
.
coinsAccount
.
ExecFrozen
(
a
.
fromaddr
,
a
.
execaddr
,
cmd
.
BindCoins
*
coinPrecision
)
if
err
!=
nil
{
return
nil
,
errors
.
Wrapf
(
err
,
"addNew bindOp frozen addr=%s,execaddr=%s,count=%d"
,
a
.
fromaddr
,
a
.
execaddr
,
cmd
.
BindCoins
)
}
//增加node绑定miner数量
rNode
,
newGlobalIndex
,
err
:=
a
.
addNodeBindMinerCount
(
cmd
.
TargetNode
,
a
.
fromaddr
)
if
err
!=
nil
{
return
nil
,
errors
.
Wrapf
(
err
,
"addBindCount for %s to %s"
,
cmd
.
TargetNode
,
a
.
fromaddr
)
}
mergeReceipt
(
receipt
,
rNode
)
//增加node绑定miner
newer
:=
&
pt
.
ParaBindMinerInfo
{
Addr
:
a
.
fromaddr
,
BindStatus
:
opBind
,
BindCoins
:
cmd
.
BindCoins
,
BlockTime
:
a
.
blocktime
,
BlockHeight
:
a
.
height
,
ConsensusNode
:
cmd
.
TargetNode
,
GlobalIndex
:
newGlobalIndex
,
}
//miner --> index and detail info
rBind
:=
makeAddrBindReceipt
(
cmd
.
TargetNode
,
a
.
fromaddr
,
nil
,
newer
)
mergeReceipt
(
receipt
,
rBind
)
//增加miner 绑定node信息
rMiner
,
err
:=
a
.
addMinerBindNode
(
a
.
fromaddr
,
cmd
.
TargetNode
)
if
err
!=
nil
{
return
nil
,
errors
.
Wrapf
(
err
,
"addBindCount for %s to %s"
,
a
.
fromaddr
,
cmd
.
TargetNode
)
}
mergeReceipt
(
receipt
,
rMiner
)
return
receipt
,
nil
}
func
(
a
*
action
)
bindOp
(
cmd
*
pt
.
ParaBindMinerCmd
)
(
*
types
.
Receipt
,
error
)
{
if
cmd
.
BindCoins
<=
0
{
return
nil
,
errors
.
Wrapf
(
types
.
ErrInvalidParam
,
"bindMiner BindCoins nil from addr %s"
,
a
.
fromaddr
)
}
err
:=
a
.
isValidSuperNode
(
cmd
.
TargetNode
)
if
err
!=
nil
{
return
nil
,
err
}
current
,
err
:=
getBindAddrInfo
(
a
.
db
,
cmd
.
TargetNode
,
a
.
fromaddr
)
if
err
!=
nil
&&
!
isNotFound
(
errors
.
Cause
(
err
))
{
return
nil
,
errors
.
Wrapf
(
err
,
"getBindAddrInfo,node=%s,from=%s"
,
cmd
.
TargetNode
,
a
.
fromaddr
)
}
//found, 修改当前的绑定
if
current
!=
nil
{
//已经是绑定状态,不允许重复绑定
if
current
.
BindStatus
==
opBind
{
return
nil
,
errors
.
Wrapf
(
types
.
ErrNotAllow
,
"already binded,node=%s,addr=%s"
,
cmd
.
TargetNode
,
a
.
fromaddr
)
}
//处理解绑定状态
//新冻结资产
coinPrecision
:=
a
.
api
.
GetConfig
()
.
GetCoinPrecision
()
receipt
,
err
:=
a
.
coinsAccount
.
ExecFrozen
(
a
.
fromaddr
,
a
.
execaddr
,
cmd
.
BindCoins
*
coinPrecision
)
if
err
!=
nil
{
return
nil
,
errors
.
Wrapf
(
err
,
"bindOp frozen addr=%s,execaddr=%s,count=%d"
,
a
.
fromaddr
,
a
.
execaddr
,
cmd
.
BindCoins
)
}
acctCopy
:=
*
current
current
.
BindStatus
=
opBind
current
.
BindCoins
=
cmd
.
BindCoins
current
.
BlockTime
=
a
.
blocktime
current
.
BlockHeight
=
a
.
height
r
:=
makeAddrBindReceipt
(
cmd
.
TargetNode
,
a
.
fromaddr
,
&
acctCopy
,
current
)
return
mergeReceipt
(
receipt
,
r
),
nil
}
//增加新绑定
return
a
.
addNewBind
(
cmd
)
}
func
(
a
*
action
)
modifyBindOp
(
cmd
*
pt
.
ParaBindMinerCmd
)
(
*
types
.
Receipt
,
error
)
{
if
cmd
.
BindCoins
<=
0
{
return
nil
,
errors
.
Wrapf
(
types
.
ErrInvalidParam
,
"bindMiner BindCoins=0 from addr %s"
,
a
.
fromaddr
)
}
err
:=
a
.
isValidSuperNode
(
cmd
.
TargetNode
)
if
err
!=
nil
{
return
nil
,
err
}
current
,
err
:=
getBindAddrInfo
(
a
.
db
,
cmd
.
TargetNode
,
a
.
fromaddr
)
if
err
!=
nil
{
return
nil
,
errors
.
Wrapf
(
err
,
"getBindAddrInfo node=%s,binder=%s"
,
cmd
.
TargetNode
,
a
.
fromaddr
)
}
if
current
.
BindStatus
!=
opBind
{
return
nil
,
errors
.
Wrapf
(
types
.
ErrNotAllow
,
"not bind status, node=%s,binder=%s"
,
cmd
.
TargetNode
,
a
.
fromaddr
)
}
var
receipt
*
types
.
Receipt
if
cmd
.
BindCoins
==
current
.
BindCoins
{
return
nil
,
errors
.
Wrapf
(
types
.
ErrInvalidParam
,
"bind coins same current=%d, cmd=%d"
,
current
.
BindCoins
,
cmd
.
BindCoins
)
}
coinPrecision
:=
a
.
api
.
GetConfig
()
.
GetCoinPrecision
()
//释放一部分coins
if
cmd
.
BindCoins
<
current
.
BindCoins
{
receipt
,
err
=
a
.
coinsAccount
.
ExecActive
(
a
.
fromaddr
,
a
.
execaddr
,
(
current
.
BindCoins
-
cmd
.
BindCoins
)
*
coinPrecision
)
if
err
!=
nil
{
return
nil
,
errors
.
Wrapf
(
err
,
"bindOp Active addr=%s,execaddr=%s,coins=%d"
,
a
.
fromaddr
,
a
.
execaddr
,
current
.
BindCoins
-
cmd
.
BindCoins
)
}
}
else
{
//冻结更多
receipt
,
err
=
a
.
coinsAccount
.
ExecFrozen
(
a
.
fromaddr
,
a
.
execaddr
,
(
cmd
.
BindCoins
-
current
.
BindCoins
)
*
coinPrecision
)
if
err
!=
nil
{
return
nil
,
errors
.
Wrapf
(
err
,
"bindOp frozen more addr=%s,execaddr=%s,coins=%d"
,
a
.
fromaddr
,
a
.
execaddr
,
cmd
.
BindCoins
-
current
.
BindCoins
)
}
}
acctCopy
:=
*
current
current
.
BindCoins
=
cmd
.
BindCoins
r
:=
makeAddrBindReceipt
(
cmd
.
TargetNode
,
a
.
fromaddr
,
&
acctCopy
,
current
)
return
mergeReceipt
(
receipt
,
r
),
nil
}
func
(
a
*
action
)
unBindOp
(
cmd
*
pt
.
ParaBindMinerCmd
)
(
*
types
.
Receipt
,
error
)
{
minerInfo
,
err
:=
getBindAddrInfo
(
a
.
db
,
cmd
.
TargetNode
,
a
.
fromaddr
)
if
err
!=
nil
{
return
nil
,
err
}
if
minerInfo
.
BindStatus
!=
opBind
{
return
nil
,
errors
.
Wrapf
(
types
.
ErrNotAllow
,
"unBindOp,current addr is unbind status"
)
}
cfg
:=
a
.
api
.
GetConfig
()
unBindHours
:=
cfg
.
MGInt
(
"mver.consensus.paracross.unBindTime"
,
a
.
height
)
if
a
.
blocktime
-
minerInfo
.
BlockTime
<
unBindHours
*
60
*
60
{
return
nil
,
errors
.
Wrapf
(
types
.
ErrNotAllow
,
"unBindOp unbind time=%d less %d hours than bind time =%d"
,
a
.
blocktime
,
unBindHours
,
minerInfo
.
BlockTime
)
}
//unfrozen
receipt
,
err
:=
a
.
coinsAccount
.
ExecActive
(
a
.
fromaddr
,
a
.
execaddr
,
minerInfo
.
BindCoins
*
cfg
.
GetCoinPrecision
())
if
err
!=
nil
{
return
nil
,
errors
.
Wrapf
(
err
,
"unBindOp addr=%s,execaddr=%s,count=%d"
,
a
.
fromaddr
,
a
.
execaddr
,
minerInfo
.
BindCoins
)
}
//删除 bind addr
//由于kvmvcc的原因,不能通过把一个key值=nil的方式删除,kvmvcc这样是删除了当前版本,就会查询更早的版本,&struct{}也不行,len=0 也被认为是删除了的
acctCopy
:=
*
minerInfo
minerInfo
.
BindStatus
=
opUnBind
minerInfo
.
BlockHeight
=
a
.
height
minerInfo
.
BlockTime
=
a
.
blocktime
minerInfo
.
BindCoins
=
0
rUnBind
:=
makeAddrBindReceipt
(
cmd
.
TargetNode
,
a
.
fromaddr
,
&
acctCopy
,
minerInfo
)
mergeReceipt
(
receipt
,
rUnBind
)
return
receipt
,
nil
}
func
(
a
*
action
)
bindMiner
(
info
*
pt
.
ParaBindMinerCmd
)
(
*
types
.
Receipt
,
error
)
{
if
len
(
info
.
TargetNode
)
<=
0
{
return
nil
,
errors
.
Wrapf
(
types
.
ErrInvalidParam
,
"bindMiner TargetNode should not be nil to addr %s"
,
a
.
fromaddr
)
}
//只允许平行链操作
if
!
types
.
IsParaExecName
(
string
(
a
.
tx
.
Execer
))
{
return
nil
,
errors
.
Wrapf
(
types
.
ErrInvalidParam
,
"exec=%s,should prefix with user.p."
,
string
(
a
.
tx
.
Execer
))
}
switch
info
.
BindAction
{
case
opBind
:
return
a
.
bindOp
(
info
)
case
opUnBind
:
return
a
.
unBindOp
(
info
)
case
opModify
:
return
a
.
modifyBindOp
(
info
)
default
:
return
nil
,
errors
.
Wrapf
(
types
.
ErrInvalidParam
,
"bindMiner action=%d not support"
,
info
.
BindAction
)
}
}
plugin/dapp/paracross/executor/kv.go
View file @
b1ed6b60
...
...
@@ -36,8 +36,8 @@ var (
paraSelfConsensStages
string
paraSelfConsensStageIDPrefix
string
paraBindMinderAddr
string
paraBindMinderNode
string
paraBindMinderAddr
string
//监督节点
paraSupervisionNodes
string
...
...
@@ -58,9 +58,9 @@ func setPrefix() {
paraSelfConsensStages
=
"mavl-paracross-selfconsens-stages-"
paraSelfConsensStageIDPrefix
=
"mavl-paracross-selfconsens-id-"
//bind miner
paraBindMinderAddr
=
"mavl-paracross-bindmineraddr-"
//bind miner,node和miner角色要区分开,不然如果miner也是node,就会混淆
paraBindMinderNode
=
"mavl-paracross-bindminernode-"
paraBindMinderAddr
=
"mavl-paracross-bindmineraddr-"
localTx
=
"LODB-paracross-titleHeightAddr-"
localTitle
=
"LODB-paracross-title-"
...
...
@@ -195,15 +195,32 @@ func calcLocalNodeGroupAllPrefix() []byte {
return
[]
byte
(
fmt
.
Sprintf
(
localNodeGroupStatusTitle
))
}
//bind miner
func
calcParaBindMinerAddr
(
node
,
bind
string
)
[]
byte
{
return
[]
byte
(
fmt
.
Sprintf
(
paraBindMinderAddr
+
"%s-%s"
,
node
,
bind
))
/////bind miner
//统计共识节点绑定挖矿地址总数量
//key: prefix-nodeAddr val: bindTotalCount
func
calcParaNodeBindMinerCount
(
node
string
)
[]
byte
{
return
[]
byte
(
fmt
.
Sprintf
(
paraBindMinderNode
+
"%s"
,
node
))
}
//记录共识节点某一索引绑定的挖矿地址,一一对应,以此地址获取更详细信息
//key: prefix-nodeAddr-index val:bindMinerAddr
func
calcParaNodeBindMinerIndex
(
node
string
,
index
int64
)
[]
byte
{
return
[]
byte
(
fmt
.
Sprintf
(
paraBindMinderNode
+
"%s-%d"
,
node
,
index
))
}
//记录node和miner bind详细信息
//key: prefix-nodeAddr-miner val:miner detail info
func
calcParaBindMinerAddr
(
node
,
miner
string
)
[]
byte
{
return
[]
byte
(
fmt
.
Sprintf
(
paraBindMinderNode
+
"%s-%s"
,
node
,
miner
))
}
func
calcParaBindMinerNode
()
[]
byte
{
return
[]
byte
(
paraBindMinderNode
)
//key: prefix-minerAddr val: node list
func
calcParaMinerBindNodeList
(
miner
string
)
[]
byte
{
return
[]
byte
(
fmt
.
Sprintf
(
paraBindMinderAddr
+
"%s"
,
miner
))
}
/////supervision
func
calcParaSupervisionNodeGroupAddrsKey
(
title
string
)
[]
byte
{
return
[]
byte
(
fmt
.
Sprintf
(
paraSupervisionNodes
+
"%s"
,
title
))
}
...
...
plugin/dapp/paracross/executor/query.go
View file @
b1ed6b60
...
...
@@ -598,63 +598,58 @@ func (p *Paracross) Query_GetHeight(req *types.ReqString) (*pt.ParacrossConsensu
return
nil
,
types
.
ErrDecode
}
func
getMinerListResp
(
db
dbm
.
KV
,
list
*
pt
.
ParaNodeBindList
)
(
types
.
Message
,
error
)
{
var
resp
pt
.
RespParaNodeBindList
resp
.
List
=
list
// Query_GetNodeBindMinerList query get super node bind miner list
func
(
p
*
Paracross
)
Query_GetNodeBindMinerList
(
in
*
pt
.
ParaNodeMinerListReq
)
(
types
.
Message
,
error
)
{
if
in
==
nil
||
len
(
in
.
Node
)
<=
0
{
return
nil
,
types
.
ErrInvalidParam
}
db
:=
p
.
GetStateDB
()
var
lists
pt
.
ParaBindMinerList
for
_
,
n
:=
range
list
.
Miners
{
info
,
err
:=
getBindAddrInfo
(
db
,
n
.
SuperNode
,
n
.
Miner
)
//单独查询 node-miner 绑定
if
len
(
in
.
Miner
)
>
0
{
minerInfo
,
err
:=
getBindAddrInfo
(
db
,
in
.
Node
,
in
.
Miner
)
if
err
!=
nil
{
clog
.
Error
(
"Query_GetNodeBindMinerList get addr"
,
"err"
,
err
,
"node"
,
n
.
SuperNode
,
"addr"
,
n
.
Miner
)
return
nil
,
errors
.
Cause
(
err
)
return
nil
,
err
}
resp
.
Details
=
append
(
resp
.
Details
,
info
)
lists
.
List
=
append
(
lists
.
List
,
minerInfo
)
return
&
lists
,
nil
}
return
&
resp
,
nil
}
// Query_GetNodeBindMinerList query get super node bind miner list
func
(
p
*
Paracross
)
Query_GetNodeBindMinerList
(
in
*
pt
.
ParaNodeBindOne
)
(
types
.
Message
,
error
)
{
if
in
==
nil
{
return
nil
,
types
.
ErrInvalidParam
}
list
,
err
:=
getBindNodeInfo
(
p
.
GetStateDB
())
//按node query all
//从内存获取
miners
,
err
:=
getBindMinerList
(
db
,
in
.
Node
)
if
err
!=
nil
{
clog
.
Error
(
"Query_GetNodeBindMinerList get node"
,
"err"
,
err
)
return
nil
,
errors
.
Cause
(
err
)
return
nil
,
err
}
var
newList
pt
.
ParaNodeBindList
//按node query
if
len
(
in
.
SuperNode
)
!=
0
&&
len
(
in
.
Miner
)
==
0
{
for
_
,
n
:=
range
list
.
M
iners
{
if
n
.
SuperNode
==
in
.
SuperNode
{
newList
.
Miners
=
append
(
newList
.
Miners
,
n
)
if
in
.
WithUnBind
{
lists
.
List
=
append
(
lists
.
List
,
miners
...
)
}
else
{
for
_
,
m
:=
range
m
iners
{
if
m
.
BindStatus
==
opBind
{
lists
.
List
=
append
(
lists
.
List
,
m
)
}
}
return
getMinerListResp
(
p
.
GetStateDB
(),
&
newList
)
}
//按miner query
if
len
(
in
.
SuperNode
)
==
0
&&
len
(
in
.
Miner
)
!=
0
{
for
_
,
n
:=
range
list
.
Miners
{
if
n
.
Miner
==
in
.
Miner
{
newList
.
Miners
=
append
(
newList
.
Miners
,
n
)
}
}
return
getMinerListResp
(
p
.
GetStateDB
(),
&
newList
)
}
//按唯一绑定查询
if
len
(
in
.
SuperNode
)
!=
0
&&
len
(
in
.
Miner
)
!=
0
{
for
_
,
n
:=
range
list
.
Miners
{
if
n
.
SuperNode
==
in
.
SuperNode
&&
n
.
Miner
==
in
.
Miner
{
newList
.
Miners
=
append
(
newList
.
Miners
,
n
)
}
}
return
getMinerListResp
(
p
.
GetStateDB
(),
&
newList
)
return
&
lists
,
nil
}
// Query_GetMinerBindNodeList query get miner bind super node list
func
(
p
*
Paracross
)
Query_GetMinerBindNodeList
(
in
*
types
.
ReqString
)
(
types
.
Message
,
error
)
{
if
in
==
nil
||
len
(
in
.
Data
)
<=
0
{
return
nil
,
types
.
ErrInvalidParam
}
//获取所有
return
getMinerListResp
(
p
.
GetStateDB
(),
list
)
db
:=
p
.
GetStateDB
()
nodeInfo
,
err
:=
getMinerBindNodeList
(
db
,
in
.
Data
)
if
err
!=
nil
{
return
nil
,
errors
.
Wrapf
(
err
,
"getBindNodeCount miner=%s"
,
in
.
Data
)
}
var
nodeAddrs
types
.
ReplyStrings
nodeAddrs
.
Datas
=
append
(
nodeAddrs
.
Datas
,
nodeInfo
.
Nodes
...
)
return
&
nodeAddrs
,
nil
}
plugin/dapp/paracross/executor/reward.go
View file @
b1ed6b60
...
...
@@ -5,43 +5,10 @@ import (
"github.com/33cn/plugin/plugin/dapp/paracross/executor/minerrewards"
"github.com/pkg/errors"
dbm
"github.com/33cn/chain33/common/db"
"github.com/33cn/chain33/types"
pt
"github.com/33cn/plugin/plugin/dapp/paracross/types"
"github.com/golang/protobuf/proto"
)
const
(
opBind
=
1
opUnBind
=
2
)
//根据挖矿共识节点地址 过滤整体共识节点映射列表, 获取委托挖矿地址
func
(
a
*
action
)
getBindAddrs
(
nodes
[]
string
,
statusHeight
int64
)
(
*
pt
.
ParaNodeBindList
,
error
)
{
nodesMap
:=
make
(
map
[
string
]
bool
)
for
_
,
n
:=
range
nodes
{
nodesMap
[
n
]
=
true
}
var
newLists
pt
.
ParaNodeBindList
list
,
err
:=
getBindNodeInfo
(
a
.
db
)
if
err
!=
nil
{
clog
.
Error
(
"paracross getBindAddrs err"
,
"height"
,
statusHeight
)
return
nil
,
err
}
//这样检索是按照list的映射顺序,不是按照nodes的顺序(需要循环嵌套)
for
_
,
m
:=
range
list
.
Miners
{
if
nodesMap
[
m
.
SuperNode
]
{
newLists
.
Miners
=
append
(
newLists
.
Miners
,
m
)
}
}
return
&
newLists
,
nil
}
func
(
a
*
action
)
rewardSuperNode
(
coinReward
int64
,
miners
[]
string
,
statusHeight
int64
)
(
*
types
.
Receipt
,
int64
,
error
)
{
cfg
:=
a
.
api
.
GetConfig
()
receipt
:=
&
types
.
Receipt
{
Ty
:
types
.
ExecOk
}
...
...
@@ -73,21 +40,11 @@ func (a *action) rewardDeposit(rewards []*pt.ParaMinerReward, statusHeight int64
}
//奖励委托挖矿账户
func
(
a
*
action
)
rewardBindAddr
(
coinReward
int64
,
bind
List
*
pt
.
ParaNodeBindList
,
statusHeight
int64
)
(
*
types
.
Receipt
,
int64
,
error
)
{
func
(
a
*
action
)
rewardBindAddr
(
coinReward
int64
,
bind
AddrList
[]
*
pt
.
ParaBindMinerInfo
,
statusHeight
int64
)
(
*
types
.
Receipt
,
int64
,
error
)
{
if
coinReward
<=
0
{
return
nil
,
0
,
nil
}
//有可能一个bindAddr 在多个node绑定,这里会累计上去
var
bindAddrList
[]
*
pt
.
ParaBindMinerInfo
for
_
,
node
:=
range
bindList
.
Miners
{
info
,
err
:=
getBindAddrInfo
(
a
.
db
,
node
.
SuperNode
,
node
.
Miner
)
if
err
!=
nil
{
return
nil
,
0
,
err
}
bindAddrList
=
append
(
bindAddrList
,
info
)
}
var
totalCoins
int64
for
_
,
addr
:=
range
bindAddrList
{
totalCoins
+=
addr
.
BindCoins
...
...
@@ -146,7 +103,7 @@ func (a *action) reward(nodeStatus *pt.ParacrossNodeStatus, stat *pt.ParacrossHe
//奖励超级节点
minderRewards
:=
coinReward
//如果有委托挖矿地址,则超级节点分baseReward部分,否则全部
if
len
(
bindAddrs
.
Miners
)
>
0
{
if
len
(
bindAddrs
)
>
0
{
minderRewards
=
coinBaseReward
}
receipt
:=
&
types
.
Receipt
{
Ty
:
types
.
ExecOk
}
...
...
@@ -194,260 +151,3 @@ func getSuperNodes(detail *pt.ParacrossStatusDetails, blockHash []byte) []string
}
return
addrs
}
//
func
mergeReceipt
(
receipt1
,
receipt2
*
types
.
Receipt
)
*
types
.
Receipt
{
if
receipt2
!=
nil
{
receipt1
.
KV
=
append
(
receipt1
.
KV
,
receipt2
.
KV
...
)
receipt1
.
Logs
=
append
(
receipt1
.
Logs
,
receipt2
.
Logs
...
)
}
return
receipt1
}
func
makeAddrBindReceipt
(
node
,
addr
string
,
prev
,
current
*
pt
.
ParaBindMinerInfo
)
*
types
.
Receipt
{
key
:=
calcParaBindMinerAddr
(
node
,
addr
)
log
:=
&
pt
.
ReceiptParaBindMinerInfo
{
Addr
:
addr
,
Prev
:
prev
,
Current
:
current
,
}
return
&
types
.
Receipt
{
Ty
:
types
.
ExecOk
,
KV
:
[]
*
types
.
KeyValue
{
{
Key
:
key
,
Value
:
types
.
Encode
(
current
)},
},
Logs
:
[]
*
types
.
ReceiptLog
{
{
Ty
:
pt
.
TyLogParaBindMinerAddr
,
Log
:
types
.
Encode
(
log
),
},
},
}
}
func
makeNodeBindReceipt
(
prev
,
current
*
pt
.
ParaNodeBindList
)
*
types
.
Receipt
{
key
:=
calcParaBindMinerNode
()
log
:=
&
pt
.
ReceiptParaNodeBindListUpdate
{
Prev
:
prev
,
Current
:
current
,
}
return
&
types
.
Receipt
{
Ty
:
types
.
ExecOk
,
KV
:
[]
*
types
.
KeyValue
{
{
Key
:
key
,
Value
:
types
.
Encode
(
current
)},
},
Logs
:
[]
*
types
.
ReceiptLog
{
{
Ty
:
pt
.
TyLogParaBindMinerNode
,
Log
:
types
.
Encode
(
log
),
},
},
}
}
//绑定到超级节点
func
(
a
*
action
)
bind2Node
(
node
string
)
(
*
types
.
Receipt
,
error
)
{
list
,
err
:=
getBindNodeInfo
(
a
.
db
)
if
err
!=
nil
{
return
nil
,
errors
.
Wrap
(
err
,
"bind2Node"
)
}
//由于kvmvcc内存架构,如果存储结构为nil,将回溯查找,这样在只有一个绑定时候,unbind后,有可能会回溯到更早状态,是错误的,title这里就是占位使用
if
len
(
list
.
Title
)
<=
0
{
list
.
Title
=
a
.
api
.
GetConfig
()
.
GetTitle
()
}
old
:=
proto
.
Clone
(
list
)
.
(
*
pt
.
ParaNodeBindList
)
list
.
Miners
=
append
(
list
.
Miners
,
&
pt
.
ParaNodeBindOne
{
SuperNode
:
node
,
Miner
:
a
.
fromaddr
})
return
makeNodeBindReceipt
(
old
,
list
),
nil
}
//从超级节点解绑
func
(
a
*
action
)
unbind2Node
(
node
string
)
(
*
types
.
Receipt
,
error
)
{
list
,
err
:=
getBindNodeInfo
(
a
.
db
)
if
err
!=
nil
{
return
nil
,
errors
.
Wrap
(
err
,
"unbind2Node"
)
}
newList
:=
&
pt
.
ParaNodeBindList
{
Title
:
a
.
api
.
GetConfig
()
.
GetTitle
()}
old
:=
proto
.
Clone
(
list
)
.
(
*
pt
.
ParaNodeBindList
)
for
_
,
m
:=
range
list
.
Miners
{
if
m
.
SuperNode
==
node
&&
m
.
Miner
==
a
.
fromaddr
{
continue
}
newList
.
Miners
=
append
(
newList
.
Miners
,
m
)
}
return
makeNodeBindReceipt
(
old
,
newList
),
nil
}
func
getBindNodeInfo
(
db
dbm
.
KV
)
(
*
pt
.
ParaNodeBindList
,
error
)
{
var
list
pt
.
ParaNodeBindList
key
:=
calcParaBindMinerNode
()
data
,
err
:=
db
.
Get
(
key
)
if
isNotFound
(
err
)
{
return
&
list
,
nil
}
if
err
!=
nil
{
return
nil
,
errors
.
Wrapf
(
err
,
"get key failed"
)
}
err
=
types
.
Decode
(
data
,
&
list
)
if
err
!=
nil
{
return
nil
,
errors
.
Wrapf
(
err
,
"decode failed"
)
}
return
&
list
,
nil
}
func
getBindAddrInfo
(
db
dbm
.
KV
,
node
,
addr
string
)
(
*
pt
.
ParaBindMinerInfo
,
error
)
{
key
:=
calcParaBindMinerAddr
(
node
,
addr
)
data
,
err
:=
db
.
Get
(
key
)
if
err
!=
nil
{
return
nil
,
errors
.
Wrapf
(
err
,
"get key failed node=%s,addr=%s"
,
node
,
addr
)
}
var
info
pt
.
ParaBindMinerInfo
err
=
types
.
Decode
(
data
,
&
info
)
if
err
!=
nil
{
return
nil
,
errors
.
Wrapf
(
err
,
"decode failed node=%s,addr=%s"
,
node
,
addr
)
}
return
&
info
,
nil
}
func
(
a
*
action
)
bindOp
(
cmd
*
pt
.
ParaBindMinerCmd
)
(
*
types
.
Receipt
,
error
)
{
if
cmd
.
BindCoins
<=
0
{
return
nil
,
errors
.
Wrapf
(
types
.
ErrInvalidParam
,
"bindMiner BindCoins nil from addr %s"
,
a
.
fromaddr
)
}
err
:=
a
.
isValidSuperNode
(
cmd
.
TargetNode
)
if
err
!=
nil
{
return
nil
,
err
}
current
,
err
:=
getBindAddrInfo
(
a
.
db
,
cmd
.
TargetNode
,
a
.
fromaddr
)
if
err
!=
nil
&&
!
isNotFound
(
errors
.
Cause
(
err
))
{
return
nil
,
errors
.
Wrap
(
err
,
"getBindAddrInfo"
)
}
coinPrecision
:=
a
.
api
.
GetConfig
()
.
GetCoinPrecision
()
//found, 修改当前的绑定
if
current
!=
nil
&&
current
.
BindStatus
==
opBind
{
var
receipt
*
types
.
Receipt
if
cmd
.
BindCoins
==
current
.
BindCoins
{
return
nil
,
errors
.
Wrapf
(
types
.
ErrInvalidParam
,
"bind coins same current=%d, cmd=%d"
,
current
.
BindCoins
,
cmd
.
BindCoins
)
}
//释放一部分coins
if
cmd
.
BindCoins
<
current
.
BindCoins
{
receipt
,
err
=
a
.
coinsAccount
.
ExecActive
(
a
.
fromaddr
,
a
.
execaddr
,
(
current
.
BindCoins
-
cmd
.
BindCoins
)
*
coinPrecision
)
if
err
!=
nil
{
return
nil
,
errors
.
Wrapf
(
err
,
"bindOp Active addr=%s,execaddr=%s,coins=%d"
,
a
.
fromaddr
,
a
.
execaddr
,
current
.
BindCoins
-
cmd
.
BindCoins
)
}
}
else
{
//冻结更多
receipt
,
err
=
a
.
coinsAccount
.
ExecFrozen
(
a
.
fromaddr
,
a
.
execaddr
,
(
cmd
.
BindCoins
-
current
.
BindCoins
)
*
coinPrecision
)
if
err
!=
nil
{
return
nil
,
errors
.
Wrapf
(
err
,
"bindOp frozen more addr=%s,execaddr=%s,coins=%d"
,
a
.
fromaddr
,
a
.
execaddr
,
cmd
.
BindCoins
-
current
.
BindCoins
)
}
}
acctCopy
:=
*
current
current
.
BindCoins
=
cmd
.
BindCoins
r
:=
makeAddrBindReceipt
(
cmd
.
TargetNode
,
a
.
fromaddr
,
&
acctCopy
,
current
)
return
mergeReceipt
(
receipt
,
r
),
nil
}
//not bind, 增加新绑定
receipt
,
err
:=
a
.
coinsAccount
.
ExecFrozen
(
a
.
fromaddr
,
a
.
execaddr
,
cmd
.
BindCoins
*
coinPrecision
)
if
err
!=
nil
{
return
nil
,
errors
.
Wrapf
(
err
,
"bindOp frozen addr=%s,execaddr=%s,count=%d"
,
a
.
fromaddr
,
a
.
execaddr
,
cmd
.
BindCoins
)
}
//bind addr
newer
:=
&
pt
.
ParaBindMinerInfo
{
Addr
:
a
.
fromaddr
,
BindStatus
:
opBind
,
BindCoins
:
cmd
.
BindCoins
,
BlockTime
:
a
.
blocktime
,
BlockHeight
:
a
.
height
,
TargetNode
:
cmd
.
TargetNode
,
}
rBind
:=
makeAddrBindReceipt
(
cmd
.
TargetNode
,
a
.
fromaddr
,
current
,
newer
)
mergeReceipt
(
receipt
,
rBind
)
//增加到列表中
rList
,
err
:=
a
.
bind2Node
(
cmd
.
TargetNode
)
if
err
!=
nil
{
return
nil
,
err
}
mergeReceipt
(
receipt
,
rList
)
return
receipt
,
nil
}
func
(
a
*
action
)
unBindOp
(
cmd
*
pt
.
ParaBindMinerCmd
)
(
*
types
.
Receipt
,
error
)
{
acct
,
err
:=
getBindAddrInfo
(
a
.
db
,
cmd
.
TargetNode
,
a
.
fromaddr
)
if
err
!=
nil
{
return
nil
,
err
}
cfg
:=
a
.
api
.
GetConfig
()
unBindHours
:=
cfg
.
MGInt
(
"mver.consensus.paracross.unBindTime"
,
a
.
height
)
if
a
.
blocktime
-
acct
.
BlockTime
<
unBindHours
*
60
*
60
{
return
nil
,
errors
.
Wrapf
(
types
.
ErrNotAllow
,
"unBindOp unbind time=%d less %d hours than bind time =%d"
,
a
.
blocktime
,
unBindHours
,
acct
.
BlockTime
)
}
if
acct
.
BindStatus
!=
opBind
{
return
nil
,
errors
.
Wrapf
(
types
.
ErrNotAllow
,
"unBindOp,current addr is unbind status"
)
}
//unfrozen
receipt
,
err
:=
a
.
coinsAccount
.
ExecActive
(
a
.
fromaddr
,
a
.
execaddr
,
acct
.
BindCoins
*
cfg
.
GetCoinPrecision
())
if
err
!=
nil
{
return
nil
,
errors
.
Wrapf
(
err
,
"unBindOp addr=%s,execaddr=%s,count=%d"
,
a
.
fromaddr
,
a
.
execaddr
,
acct
.
BindCoins
)
}
//删除 bind addr
//由于kvmvcc的原因,不能通过把一个key值=nil的方式删除,kvmvcc这样是删除了当前版本,就会查询更早的版本,&struct{}也不行,len=0 也被认为是删除了的
acctCopy
:=
*
acct
acct
.
BindStatus
=
opUnBind
acct
.
BlockHeight
=
a
.
height
acct
.
BlockTime
=
a
.
blocktime
rUnBind
:=
makeAddrBindReceipt
(
cmd
.
TargetNode
,
a
.
fromaddr
,
&
acctCopy
,
acct
)
mergeReceipt
(
receipt
,
rUnBind
)
//从列表删除
rUnList
,
err
:=
a
.
unbind2Node
(
cmd
.
TargetNode
)
if
err
!=
nil
{
return
nil
,
err
}
mergeReceipt
(
receipt
,
rUnList
)
return
receipt
,
nil
}
func
(
a
*
action
)
bindMiner
(
info
*
pt
.
ParaBindMinerCmd
)
(
*
types
.
Receipt
,
error
)
{
if
len
(
info
.
TargetNode
)
<=
0
{
return
nil
,
errors
.
Wrapf
(
types
.
ErrInvalidParam
,
"bindMiner TargetNode should not be nil to addr %s"
,
a
.
fromaddr
)
}
//只允许平行链操作
if
!
types
.
IsParaExecName
(
string
(
a
.
tx
.
Execer
))
{
return
nil
,
errors
.
Wrapf
(
types
.
ErrInvalidParam
,
"exec=%s,should prefix with user.p."
,
string
(
a
.
tx
.
Execer
))
}
if
info
.
BindAction
!=
opBind
&&
info
.
BindAction
!=
opUnBind
{
return
nil
,
errors
.
Wrapf
(
types
.
ErrInvalidParam
,
"bindMiner action=%d not correct"
,
info
.
BindAction
)
}
if
info
.
BindAction
==
opBind
{
return
a
.
bindOp
(
info
)
}
return
a
.
unBindOp
(
info
)
}
plugin/dapp/paracross/proto/parabls.proto
0 → 100644
View file @
b1ed6b60
syntax
=
"proto3"
;
import
"transaction.proto"
;
package
types
;
option
go_package
=
"../types"
;
message
ParaBlsSignSumDetails
{
int64
height
=
1
;
repeated
string
addrs
=
2
;
repeated
bytes
msgs
=
3
;
repeated
bytes
signs
=
4
;
}
message
ParaBlsSignSumDetailsShow
{
int64
height
=
1
;
repeated
string
addrs
=
2
;
repeated
string
msgs
=
3
;
}
message
ParaBlsSignSumInfo
{
repeated
ParaBlsSignSumDetailsShow
info
=
1
;
repeated
string
topics
=
2
;
}
message
LeaderSyncInfo
{
string
ID
=
1
;
//self id
int32
baseIdx
=
2
;
//calculated by corrent consensus height and remainder by len(nodes)
int32
offset
=
3
;
uint32
count
=
4
;
//发送计数器
}
message
ParaP2PSubMsg
{
int32
ty
=
1
;
oneof
value
{
Transaction
commitTx
=
10
;
LeaderSyncInfo
syncMsg
=
11
;
}
}
//bls sign leader info
message
ElectionStatus
{
bool
isLeader
=
1
;
LeaderSyncInfo
leader
=
2
;
}
message
BlsPubKey
{
string
key
=
1
;
}
plugin/dapp/paracross/proto/paraconsensus.proto
0 → 100644
View file @
b1ed6b60
syntax
=
"proto3"
;
import
"transaction.proto"
;
package
types
;
option
go_package
=
"../types"
;
message
ParaLocalDbBlock
{
int64
height
=
1
;
bytes
mainHash
=
2
;
int64
mainHeight
=
3
;
bytes
parentMainHash
=
4
;
int64
blockTime
=
5
;
repeated
Transaction
txs
=
6
;
}
message
ParaLocalDbBlockInfo
{
int64
height
=
1
;
string
mainHash
=
2
;
int64
mainHeight
=
3
;
string
parentMainHash
=
4
;
int64
blockTime
=
5
;
repeated
string
txs
=
6
;
}
plugin/dapp/paracross/proto/paracross.proto
View file @
b1ed6b60
...
...
@@ -4,6 +4,9 @@ import "transaction.proto";
import
"common.proto"
;
import
"blockchain.proto"
;
import
"paraminer.proto"
;
import
"paranodegroup.proto"
;
package
types
;
option
go_package
=
"../types"
;
...
...
@@ -58,152 +61,6 @@ message ParacrossConsensusStatus {
string
consensBlockHash
=
4
;
}
message
ParaNodeAddrConfig
{
string
title
=
1
;
uint32
op
=
2
;
string
id
=
3
;
string
addr
=
4
;
uint32
value
=
5
;
int64
coinsFrozen
=
6
;
string
blsPubKey
=
7
;
//本地址私钥对应的bls聚合签名的公钥
}
message
ParaNodeVoteDetail
{
repeated
string
addrs
=
1
;
repeated
string
votes
=
2
;
}
message
ParaNodeAddrIdStatus
{
string
addr
=
1
;
string
proposalId
=
2
;
string
quitId
=
3
;
int32
status
=
4
;
string
title
=
5
;
string
blsPubKey
=
6
;
}
message
ParaNodeIdStatus
{
string
id
=
1
;
int32
status
=
2
;
string
title
=
3
;
string
targetAddr
=
4
;
int64
coinsFrozen
=
5
;
ParaNodeVoteDetail
votes
=
6
;
string
fromAddr
=
7
;
int64
height
=
8
;
string
blsPubKey
=
9
;
}
message
ReceiptParaNodeConfig
{
string
addr
=
1
;
ParaNodeAddrConfig
config
=
2
;
ParaNodeIdStatus
prev
=
3
;
ParaNodeIdStatus
current
=
4
;
}
message
ReceiptParaNodeAddrStatUpdate
{
string
fromAddr
=
1
;
ParaNodeAddrIdStatus
prev
=
2
;
ParaNodeAddrIdStatus
current
=
3
;
}
message
ReceiptParaNodeVoteDone
{
string
id
=
1
;
string
title
=
2
;
string
targetAddr
=
3
;
int32
totalNodes
=
4
;
int32
totalVote
=
5
;
int32
mostVote
=
6
;
string
voteRst
=
7
;
int32
doneStatus
=
8
;
}
message
ParaNodeGroupConfig
{
string
title
=
1
;
uint32
op
=
2
;
string
id
=
3
;
string
addrs
=
4
;
int64
coinsFrozen
=
5
;
string
blsPubKeys
=
6
;
string
autonomyItemID
=
7
;
}
message
ParaNodeGroupStatus
{
string
id
=
1
;
int32
status
=
2
;
string
title
=
3
;
string
targetAddrs
=
4
;
int64
coinsFrozen
=
5
;
string
fromAddr
=
6
;
int64
height
=
7
;
string
blsPubKeys
=
8
;
}
message
ReceiptParaNodeGroupConfig
{
string
addr
=
1
;
ParaNodeGroupConfig
config
=
2
;
ParaNodeGroupStatus
prev
=
3
;
ParaNodeGroupStatus
current
=
4
;
}
// node query
message
ReqParacrossNodeInfo
{
string
title
=
1
;
string
id
=
2
;
string
addr
=
3
;
int32
status
=
4
;
string
blsPubKey
=
5
;
}
message
RespParacrossNodeAddrs
{
repeated
ParaNodeIdStatus
ids
=
1
;
}
message
RespParacrossNodeGroups
{
repeated
ParaNodeGroupStatus
ids
=
1
;
}
//para bind miner
message
ParaBindMinerCmd
{
int32
bindAction
=
1
;
// 1: bind, 2:unbind
int64
bindCoins
=
2
;
// bind coins count
string
targetNode
=
3
;
// super node addr
}
message
ParaBindMinerInfo
{
string
addr
=
1
;
// miner addr
int32
bindStatus
=
2
;
// 1: bind, 2:unbind
int64
bindCoins
=
3
;
// bind coins count
string
targetNode
=
4
;
// super node addr
int64
blockTime
=
5
;
// action bind block time
int64
blockHeight
=
6
;
// action bind block height
}
message
ReceiptParaBindMinerInfo
{
string
addr
=
1
;
// miner addr
ParaBindMinerInfo
prev
=
2
;
ParaBindMinerInfo
current
=
3
;
}
message
ParaNodeBindOne
{
string
superNode
=
1
;
string
miner
=
2
;
}
message
ParaNodeBindList
{
string
title
=
1
;
repeated
ParaNodeBindOne
miners
=
2
;
}
message
ReceiptParaNodeBindListUpdate
{
ParaNodeBindList
prev
=
1
;
ParaNodeBindList
current
=
2
;
}
message
RespParaNodeBindList
{
ParaNodeBindList
list
=
1
;
repeated
ParaBindMinerInfo
details
=
2
;
}
message
ParaBlock2MainMap
{
int64
height
=
1
;
...
...
@@ -455,69 +312,6 @@ message ParacrossAsset {
}
message
ParaLocalDbBlock
{
int64
height
=
1
;
bytes
mainHash
=
2
;
int64
mainHeight
=
3
;
bytes
parentMainHash
=
4
;
int64
blockTime
=
5
;
repeated
Transaction
txs
=
6
;
}
message
ParaLocalDbBlockInfo
{
int64
height
=
1
;
string
mainHash
=
2
;
int64
mainHeight
=
3
;
string
parentMainHash
=
4
;
int64
blockTime
=
5
;
repeated
string
txs
=
6
;
}
message
ParaBlsSignSumDetails
{
int64
height
=
1
;
repeated
string
addrs
=
2
;
repeated
bytes
msgs
=
3
;
repeated
bytes
signs
=
4
;
}
message
ParaBlsSignSumDetailsShow
{
int64
height
=
1
;
repeated
string
addrs
=
2
;
repeated
string
msgs
=
3
;
}
message
ParaBlsSignSumInfo
{
repeated
ParaBlsSignSumDetailsShow
info
=
1
;
repeated
string
topics
=
2
;
}
message
LeaderSyncInfo
{
string
ID
=
1
;
//self id
int32
baseIdx
=
2
;
//calculated by corrent consensus height and remainder by len(nodes)
int32
offset
=
3
;
uint32
count
=
4
;
//发送计数器
}
message
ParaP2PSubMsg
{
int32
ty
=
1
;
oneof
value
{
Transaction
commitTx
=
10
;
LeaderSyncInfo
syncMsg
=
11
;
}
}
//bls sign leader info
message
ElectionStatus
{
bool
isLeader
=
1
;
LeaderSyncInfo
leader
=
2
;
}
message
BlsPubKey
{
string
key
=
1
;
}
service
paracross
{
rpc
IsSync
(
ReqNil
)
returns
(
IsCaughtUp
)
{}
}
plugin/dapp/paracross/proto/paraminer.proto
0 → 100644
View file @
b1ed6b60
syntax
=
"proto3"
;
import
"transaction.proto"
;
import
"common.proto"
;
import
"blockchain.proto"
;
package
types
;
option
go_package
=
"../types"
;
//para bind miner
message
ParaBindMinerCmd
{
int32
bindAction
=
1
;
// 1: bind, 2:unbind
int64
bindCoins
=
2
;
// bind coins count
string
targetNode
=
3
;
// consensus node addr
}
message
ParaBindMinerInfo
{
string
addr
=
1
;
// miner addr
int32
bindStatus
=
2
;
// 1: bind, 2:unbind
int64
bindCoins
=
3
;
// bind coins count
string
consensusNode
=
4
;
// consensus node addr
int64
blockTime
=
5
;
// action bind block time
int64
blockHeight
=
6
;
// action bind block height
int64
globalIndex
=
7
;
// bind global only index to the consensus node
}
message
ReceiptParaBindMinerInfo
{
string
addr
=
1
;
// miner addr
ParaBindMinerInfo
prev
=
2
;
ParaBindMinerInfo
current
=
3
;
}
//共识节点绑定全局状态
message
ParaBindNodeInfo
{
int64
bindTotalCount
=
1
;
// total bind count to the consensus node
}
message
ReceiptParaBindConsensusNodeInfo
{
string
nodeAddr
=
1
;
// node addr
ParaBindNodeInfo
prev
=
2
;
ParaBindNodeInfo
current
=
3
;
}
//共识节点索引绑定挖矿地址
message
ParaBindAddr
{
string
addr
=
1
;
// bind addr
}
message
ParaMinerBindNodes
{
repeated
string
nodes
=
1
;
// bind nodes
}
message
ReceiptParaMinerBindNodeList
{
string
miner
=
1
;
// node addr
string
node
=
2
;
ParaMinerBindNodes
current
=
3
;
}
message
ReceiptParaBindIndex
{
string
selfAddr
=
1
;
// self addr
string
bindAddr
=
2
;
int64
index
=
3
;
}
message
ParaNodeMinerListReq
{
string
node
=
1
;
//共识节点
string
miner
=
2
;
//唯一miner 地址
bool
withUnBind
=
3
;
//是否也查询未绑定的
}
message
ParaBindMinerList
{
repeated
ParaBindMinerInfo
list
=
1
;
}
//
//message ParaNodeBindList{
// string title = 1;
// repeated ParaNodeBindOne miners = 2;
//}
//message ReceiptParaNodeBindListUpdate{
// ParaNodeBindList prev = 1;
// ParaNodeBindList current = 2;
//}
//
//message RespParaNodeBindList{
// ParaNodeBindList list = 1;
// repeated ParaBindMinerInfo details = 2;
//}
plugin/dapp/paracross/proto/paranodegroup.proto
0 → 100644
View file @
b1ed6b60
syntax
=
"proto3"
;
import
"transaction.proto"
;
import
"common.proto"
;
import
"blockchain.proto"
;
package
types
;
option
go_package
=
"../types"
;
message
ParaNodeAddrConfig
{
string
title
=
1
;
uint32
op
=
2
;
string
id
=
3
;
string
addr
=
4
;
uint32
value
=
5
;
int64
coinsFrozen
=
6
;
string
blsPubKey
=
7
;
//本地址私钥对应的bls聚合签名的公钥
}
message
ParaNodeVoteDetail
{
repeated
string
addrs
=
1
;
repeated
string
votes
=
2
;
}
message
ParaNodeAddrIdStatus
{
string
addr
=
1
;
string
proposalId
=
2
;
string
quitId
=
3
;
int32
status
=
4
;
string
title
=
5
;
string
blsPubKey
=
6
;
}
message
ParaNodeIdStatus
{
string
id
=
1
;
int32
status
=
2
;
string
title
=
3
;
string
targetAddr
=
4
;
int64
coinsFrozen
=
5
;
ParaNodeVoteDetail
votes
=
6
;
string
fromAddr
=
7
;
int64
height
=
8
;
string
blsPubKey
=
9
;
}
message
ReceiptParaNodeConfig
{
string
addr
=
1
;
ParaNodeAddrConfig
config
=
2
;
ParaNodeIdStatus
prev
=
3
;
ParaNodeIdStatus
current
=
4
;
}
message
ReceiptParaNodeAddrStatUpdate
{
string
fromAddr
=
1
;
ParaNodeAddrIdStatus
prev
=
2
;
ParaNodeAddrIdStatus
current
=
3
;
}
message
ReceiptParaNodeVoteDone
{
string
id
=
1
;
string
title
=
2
;
string
targetAddr
=
3
;
int32
totalNodes
=
4
;
int32
totalVote
=
5
;
int32
mostVote
=
6
;
string
voteRst
=
7
;
int32
doneStatus
=
8
;
}
message
ParaNodeGroupConfig
{
string
title
=
1
;
uint32
op
=
2
;
string
id
=
3
;
string
addrs
=
4
;
int64
coinsFrozen
=
5
;
string
blsPubKeys
=
6
;
}
message
ParaNodeGroupStatus
{
string
id
=
1
;
int32
status
=
2
;
string
title
=
3
;
string
targetAddrs
=
4
;
int64
coinsFrozen
=
5
;
string
fromAddr
=
6
;
int64
height
=
7
;
string
blsPubKeys
=
8
;
}
message
ReceiptParaNodeGroupConfig
{
string
addr
=
1
;
ParaNodeGroupConfig
config
=
2
;
ParaNodeGroupStatus
prev
=
3
;
ParaNodeGroupStatus
current
=
4
;
}
// node query
message
ReqParacrossNodeInfo
{
string
title
=
1
;
string
id
=
2
;
string
addr
=
3
;
int32
status
=
4
;
string
blsPubKey
=
5
;
}
message
RespParacrossNodeAddrs
{
repeated
ParaNodeIdStatus
ids
=
1
;
}
message
RespParacrossNodeGroups
{
repeated
ParaNodeGroupStatus
ids
=
1
;
}
plugin/dapp/paracross/types/parabls.pb.go
0 → 100644
View file @
b1ed6b60
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.26.0
// protoc v3.9.1
// source: parabls.proto
package
types
import
(
reflect
"reflect"
sync
"sync"
types
"github.com/33cn/chain33/types"
protoreflect
"google.golang.org/protobuf/reflect/protoreflect"
protoimpl
"google.golang.org/protobuf/runtime/protoimpl"
)
const
(
// Verify that this generated code is sufficiently up-to-date.
_
=
protoimpl
.
EnforceVersion
(
20
-
protoimpl
.
MinVersion
)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_
=
protoimpl
.
EnforceVersion
(
protoimpl
.
MaxVersion
-
20
)
)
type
ParaBlsSignSumDetails
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Height
int64
`protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
Addrs
[]
string
`protobuf:"bytes,2,rep,name=addrs,proto3" json:"addrs,omitempty"`
Msgs
[][]
byte
`protobuf:"bytes,3,rep,name=msgs,proto3" json:"msgs,omitempty"`
Signs
[][]
byte
`protobuf:"bytes,4,rep,name=signs,proto3" json:"signs,omitempty"`
}
func
(
x
*
ParaBlsSignSumDetails
)
Reset
()
{
*
x
=
ParaBlsSignSumDetails
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_parabls_proto_msgTypes
[
0
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
ParaBlsSignSumDetails
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
ParaBlsSignSumDetails
)
ProtoMessage
()
{}
func
(
x
*
ParaBlsSignSumDetails
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_parabls_proto_msgTypes
[
0
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use ParaBlsSignSumDetails.ProtoReflect.Descriptor instead.
func
(
*
ParaBlsSignSumDetails
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_parabls_proto_rawDescGZIP
(),
[]
int
{
0
}
}
func
(
x
*
ParaBlsSignSumDetails
)
GetHeight
()
int64
{
if
x
!=
nil
{
return
x
.
Height
}
return
0
}
func
(
x
*
ParaBlsSignSumDetails
)
GetAddrs
()
[]
string
{
if
x
!=
nil
{
return
x
.
Addrs
}
return
nil
}
func
(
x
*
ParaBlsSignSumDetails
)
GetMsgs
()
[][]
byte
{
if
x
!=
nil
{
return
x
.
Msgs
}
return
nil
}
func
(
x
*
ParaBlsSignSumDetails
)
GetSigns
()
[][]
byte
{
if
x
!=
nil
{
return
x
.
Signs
}
return
nil
}
type
ParaBlsSignSumDetailsShow
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Height
int64
`protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
Addrs
[]
string
`protobuf:"bytes,2,rep,name=addrs,proto3" json:"addrs,omitempty"`
Msgs
[]
string
`protobuf:"bytes,3,rep,name=msgs,proto3" json:"msgs,omitempty"`
}
func
(
x
*
ParaBlsSignSumDetailsShow
)
Reset
()
{
*
x
=
ParaBlsSignSumDetailsShow
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_parabls_proto_msgTypes
[
1
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
ParaBlsSignSumDetailsShow
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
ParaBlsSignSumDetailsShow
)
ProtoMessage
()
{}
func
(
x
*
ParaBlsSignSumDetailsShow
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_parabls_proto_msgTypes
[
1
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use ParaBlsSignSumDetailsShow.ProtoReflect.Descriptor instead.
func
(
*
ParaBlsSignSumDetailsShow
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_parabls_proto_rawDescGZIP
(),
[]
int
{
1
}
}
func
(
x
*
ParaBlsSignSumDetailsShow
)
GetHeight
()
int64
{
if
x
!=
nil
{
return
x
.
Height
}
return
0
}
func
(
x
*
ParaBlsSignSumDetailsShow
)
GetAddrs
()
[]
string
{
if
x
!=
nil
{
return
x
.
Addrs
}
return
nil
}
func
(
x
*
ParaBlsSignSumDetailsShow
)
GetMsgs
()
[]
string
{
if
x
!=
nil
{
return
x
.
Msgs
}
return
nil
}
type
ParaBlsSignSumInfo
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Info
[]
*
ParaBlsSignSumDetailsShow
`protobuf:"bytes,1,rep,name=info,proto3" json:"info,omitempty"`
Topics
[]
string
`protobuf:"bytes,2,rep,name=topics,proto3" json:"topics,omitempty"`
}
func
(
x
*
ParaBlsSignSumInfo
)
Reset
()
{
*
x
=
ParaBlsSignSumInfo
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_parabls_proto_msgTypes
[
2
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
ParaBlsSignSumInfo
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
ParaBlsSignSumInfo
)
ProtoMessage
()
{}
func
(
x
*
ParaBlsSignSumInfo
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_parabls_proto_msgTypes
[
2
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use ParaBlsSignSumInfo.ProtoReflect.Descriptor instead.
func
(
*
ParaBlsSignSumInfo
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_parabls_proto_rawDescGZIP
(),
[]
int
{
2
}
}
func
(
x
*
ParaBlsSignSumInfo
)
GetInfo
()
[]
*
ParaBlsSignSumDetailsShow
{
if
x
!=
nil
{
return
x
.
Info
}
return
nil
}
func
(
x
*
ParaBlsSignSumInfo
)
GetTopics
()
[]
string
{
if
x
!=
nil
{
return
x
.
Topics
}
return
nil
}
type
LeaderSyncInfo
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
ID
string
`protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"`
//self id
BaseIdx
int32
`protobuf:"varint,2,opt,name=baseIdx,proto3" json:"baseIdx,omitempty"`
//calculated by corrent consensus height and remainder by len(nodes)
Offset
int32
`protobuf:"varint,3,opt,name=offset,proto3" json:"offset,omitempty"`
Count
uint32
`protobuf:"varint,4,opt,name=count,proto3" json:"count,omitempty"`
//发送计数器
}
func
(
x
*
LeaderSyncInfo
)
Reset
()
{
*
x
=
LeaderSyncInfo
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_parabls_proto_msgTypes
[
3
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
LeaderSyncInfo
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
LeaderSyncInfo
)
ProtoMessage
()
{}
func
(
x
*
LeaderSyncInfo
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_parabls_proto_msgTypes
[
3
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use LeaderSyncInfo.ProtoReflect.Descriptor instead.
func
(
*
LeaderSyncInfo
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_parabls_proto_rawDescGZIP
(),
[]
int
{
3
}
}
func
(
x
*
LeaderSyncInfo
)
GetID
()
string
{
if
x
!=
nil
{
return
x
.
ID
}
return
""
}
func
(
x
*
LeaderSyncInfo
)
GetBaseIdx
()
int32
{
if
x
!=
nil
{
return
x
.
BaseIdx
}
return
0
}
func
(
x
*
LeaderSyncInfo
)
GetOffset
()
int32
{
if
x
!=
nil
{
return
x
.
Offset
}
return
0
}
func
(
x
*
LeaderSyncInfo
)
GetCount
()
uint32
{
if
x
!=
nil
{
return
x
.
Count
}
return
0
}
type
ParaP2PSubMsg
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Ty
int32
`protobuf:"varint,1,opt,name=ty,proto3" json:"ty,omitempty"`
// Types that are assignable to Value:
// *ParaP2PSubMsg_CommitTx
// *ParaP2PSubMsg_SyncMsg
Value
isParaP2PSubMsg_Value
`protobuf_oneof:"value"`
}
func
(
x
*
ParaP2PSubMsg
)
Reset
()
{
*
x
=
ParaP2PSubMsg
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_parabls_proto_msgTypes
[
4
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
ParaP2PSubMsg
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
ParaP2PSubMsg
)
ProtoMessage
()
{}
func
(
x
*
ParaP2PSubMsg
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_parabls_proto_msgTypes
[
4
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use ParaP2PSubMsg.ProtoReflect.Descriptor instead.
func
(
*
ParaP2PSubMsg
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_parabls_proto_rawDescGZIP
(),
[]
int
{
4
}
}
func
(
x
*
ParaP2PSubMsg
)
GetTy
()
int32
{
if
x
!=
nil
{
return
x
.
Ty
}
return
0
}
func
(
m
*
ParaP2PSubMsg
)
GetValue
()
isParaP2PSubMsg_Value
{
if
m
!=
nil
{
return
m
.
Value
}
return
nil
}
func
(
x
*
ParaP2PSubMsg
)
GetCommitTx
()
*
types
.
Transaction
{
if
x
,
ok
:=
x
.
GetValue
()
.
(
*
ParaP2PSubMsg_CommitTx
);
ok
{
return
x
.
CommitTx
}
return
nil
}
func
(
x
*
ParaP2PSubMsg
)
GetSyncMsg
()
*
LeaderSyncInfo
{
if
x
,
ok
:=
x
.
GetValue
()
.
(
*
ParaP2PSubMsg_SyncMsg
);
ok
{
return
x
.
SyncMsg
}
return
nil
}
type
isParaP2PSubMsg_Value
interface
{
isParaP2PSubMsg_Value
()
}
type
ParaP2PSubMsg_CommitTx
struct
{
CommitTx
*
types
.
Transaction
`protobuf:"bytes,10,opt,name=commitTx,proto3,oneof"`
}
type
ParaP2PSubMsg_SyncMsg
struct
{
SyncMsg
*
LeaderSyncInfo
`protobuf:"bytes,11,opt,name=syncMsg,proto3,oneof"`
}
func
(
*
ParaP2PSubMsg_CommitTx
)
isParaP2PSubMsg_Value
()
{}
func
(
*
ParaP2PSubMsg_SyncMsg
)
isParaP2PSubMsg_Value
()
{}
//bls sign leader info
type
ElectionStatus
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
IsLeader
bool
`protobuf:"varint,1,opt,name=isLeader,proto3" json:"isLeader,omitempty"`
Leader
*
LeaderSyncInfo
`protobuf:"bytes,2,opt,name=leader,proto3" json:"leader,omitempty"`
}
func
(
x
*
ElectionStatus
)
Reset
()
{
*
x
=
ElectionStatus
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_parabls_proto_msgTypes
[
5
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
ElectionStatus
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
ElectionStatus
)
ProtoMessage
()
{}
func
(
x
*
ElectionStatus
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_parabls_proto_msgTypes
[
5
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use ElectionStatus.ProtoReflect.Descriptor instead.
func
(
*
ElectionStatus
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_parabls_proto_rawDescGZIP
(),
[]
int
{
5
}
}
func
(
x
*
ElectionStatus
)
GetIsLeader
()
bool
{
if
x
!=
nil
{
return
x
.
IsLeader
}
return
false
}
func
(
x
*
ElectionStatus
)
GetLeader
()
*
LeaderSyncInfo
{
if
x
!=
nil
{
return
x
.
Leader
}
return
nil
}
type
BlsPubKey
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Key
string
`protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
}
func
(
x
*
BlsPubKey
)
Reset
()
{
*
x
=
BlsPubKey
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_parabls_proto_msgTypes
[
6
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
BlsPubKey
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
BlsPubKey
)
ProtoMessage
()
{}
func
(
x
*
BlsPubKey
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_parabls_proto_msgTypes
[
6
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use BlsPubKey.ProtoReflect.Descriptor instead.
func
(
*
BlsPubKey
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_parabls_proto_rawDescGZIP
(),
[]
int
{
6
}
}
func
(
x
*
BlsPubKey
)
GetKey
()
string
{
if
x
!=
nil
{
return
x
.
Key
}
return
""
}
var
File_parabls_proto
protoreflect
.
FileDescriptor
var
file_parabls_proto_rawDesc
=
[]
byte
{
0x0a
,
0x0d
,
0x70
,
0x61
,
0x72
,
0x61
,
0x62
,
0x6c
,
0x73
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x12
,
0x05
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x1a
,
0x11
,
0x74
,
0x72
,
0x61
,
0x6e
,
0x73
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x22
,
0x6f
,
0x0a
,
0x15
,
0x50
,
0x61
,
0x72
,
0x61
,
0x42
,
0x6c
,
0x73
,
0x53
,
0x69
,
0x67
,
0x6e
,
0x53
,
0x75
,
0x6d
,
0x44
,
0x65
,
0x74
,
0x61
,
0x69
,
0x6c
,
0x73
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x68
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x06
,
0x68
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x61
,
0x64
,
0x64
,
0x72
,
0x73
,
0x18
,
0x02
,
0x20
,
0x03
,
0x28
,
0x09
,
0x52
,
0x05
,
0x61
,
0x64
,
0x64
,
0x72
,
0x73
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6d
,
0x73
,
0x67
,
0x73
,
0x18
,
0x03
,
0x20
,
0x03
,
0x28
,
0x0c
,
0x52
,
0x04
,
0x6d
,
0x73
,
0x67
,
0x73
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x73
,
0x69
,
0x67
,
0x6e
,
0x73
,
0x18
,
0x04
,
0x20
,
0x03
,
0x28
,
0x0c
,
0x52
,
0x05
,
0x73
,
0x69
,
0x67
,
0x6e
,
0x73
,
0x22
,
0x5d
,
0x0a
,
0x19
,
0x50
,
0x61
,
0x72
,
0x61
,
0x42
,
0x6c
,
0x73
,
0x53
,
0x69
,
0x67
,
0x6e
,
0x53
,
0x75
,
0x6d
,
0x44
,
0x65
,
0x74
,
0x61
,
0x69
,
0x6c
,
0x73
,
0x53
,
0x68
,
0x6f
,
0x77
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x68
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x06
,
0x68
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x61
,
0x64
,
0x64
,
0x72
,
0x73
,
0x18
,
0x02
,
0x20
,
0x03
,
0x28
,
0x09
,
0x52
,
0x05
,
0x61
,
0x64
,
0x64
,
0x72
,
0x73
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6d
,
0x73
,
0x67
,
0x73
,
0x18
,
0x03
,
0x20
,
0x03
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6d
,
0x73
,
0x67
,
0x73
,
0x22
,
0x62
,
0x0a
,
0x12
,
0x50
,
0x61
,
0x72
,
0x61
,
0x42
,
0x6c
,
0x73
,
0x53
,
0x69
,
0x67
,
0x6e
,
0x53
,
0x75
,
0x6d
,
0x49
,
0x6e
,
0x66
,
0x6f
,
0x12
,
0x34
,
0x0a
,
0x04
,
0x69
,
0x6e
,
0x66
,
0x6f
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x20
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x50
,
0x61
,
0x72
,
0x61
,
0x42
,
0x6c
,
0x73
,
0x53
,
0x69
,
0x67
,
0x6e
,
0x53
,
0x75
,
0x6d
,
0x44
,
0x65
,
0x74
,
0x61
,
0x69
,
0x6c
,
0x73
,
0x53
,
0x68
,
0x6f
,
0x77
,
0x52
,
0x04
,
0x69
,
0x6e
,
0x66
,
0x6f
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x74
,
0x6f
,
0x70
,
0x69
,
0x63
,
0x73
,
0x18
,
0x02
,
0x20
,
0x03
,
0x28
,
0x09
,
0x52
,
0x06
,
0x74
,
0x6f
,
0x70
,
0x69
,
0x63
,
0x73
,
0x22
,
0x68
,
0x0a
,
0x0e
,
0x4c
,
0x65
,
0x61
,
0x64
,
0x65
,
0x72
,
0x53
,
0x79
,
0x6e
,
0x63
,
0x49
,
0x6e
,
0x66
,
0x6f
,
0x12
,
0x0e
,
0x0a
,
0x02
,
0x49
,
0x44
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x02
,
0x49
,
0x44
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x62
,
0x61
,
0x73
,
0x65
,
0x49
,
0x64
,
0x78
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x07
,
0x62
,
0x61
,
0x73
,
0x65
,
0x49
,
0x64
,
0x78
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x6f
,
0x66
,
0x66
,
0x73
,
0x65
,
0x74
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x06
,
0x6f
,
0x66
,
0x66
,
0x73
,
0x65
,
0x74
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x63
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x0d
,
0x52
,
0x05
,
0x63
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x22
,
0x8d
,
0x01
,
0x0a
,
0x0d
,
0x50
,
0x61
,
0x72
,
0x61
,
0x50
,
0x32
,
0x50
,
0x53
,
0x75
,
0x62
,
0x4d
,
0x73
,
0x67
,
0x12
,
0x0e
,
0x0a
,
0x02
,
0x74
,
0x79
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x02
,
0x74
,
0x79
,
0x12
,
0x30
,
0x0a
,
0x08
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x69
,
0x74
,
0x54
,
0x78
,
0x18
,
0x0a
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x12
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x54
,
0x72
,
0x61
,
0x6e
,
0x73
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x48
,
0x00
,
0x52
,
0x08
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x69
,
0x74
,
0x54
,
0x78
,
0x12
,
0x31
,
0x0a
,
0x07
,
0x73
,
0x79
,
0x6e
,
0x63
,
0x4d
,
0x73
,
0x67
,
0x18
,
0x0b
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x15
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x4c
,
0x65
,
0x61
,
0x64
,
0x65
,
0x72
,
0x53
,
0x79
,
0x6e
,
0x63
,
0x49
,
0x6e
,
0x66
,
0x6f
,
0x48
,
0x00
,
0x52
,
0x07
,
0x73
,
0x79
,
0x6e
,
0x63
,
0x4d
,
0x73
,
0x67
,
0x42
,
0x07
,
0x0a
,
0x05
,
0x76
,
0x61
,
0x6c
,
0x75
,
0x65
,
0x22
,
0x5b
,
0x0a
,
0x0e
,
0x45
,
0x6c
,
0x65
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x69
,
0x73
,
0x4c
,
0x65
,
0x61
,
0x64
,
0x65
,
0x72
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x08
,
0x69
,
0x73
,
0x4c
,
0x65
,
0x61
,
0x64
,
0x65
,
0x72
,
0x12
,
0x2d
,
0x0a
,
0x06
,
0x6c
,
0x65
,
0x61
,
0x64
,
0x65
,
0x72
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x15
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x4c
,
0x65
,
0x61
,
0x64
,
0x65
,
0x72
,
0x53
,
0x79
,
0x6e
,
0x63
,
0x49
,
0x6e
,
0x66
,
0x6f
,
0x52
,
0x06
,
0x6c
,
0x65
,
0x61
,
0x64
,
0x65
,
0x72
,
0x22
,
0x1d
,
0x0a
,
0x09
,
0x42
,
0x6c
,
0x73
,
0x50
,
0x75
,
0x62
,
0x4b
,
0x65
,
0x79
,
0x12
,
0x10
,
0x0a
,
0x03
,
0x6b
,
0x65
,
0x79
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x03
,
0x6b
,
0x65
,
0x79
,
0x42
,
0x0a
,
0x5a
,
0x08
,
0x2e
,
0x2e
,
0x2f
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x62
,
0x06
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x33
,
}
var
(
file_parabls_proto_rawDescOnce
sync
.
Once
file_parabls_proto_rawDescData
=
file_parabls_proto_rawDesc
)
func
file_parabls_proto_rawDescGZIP
()
[]
byte
{
file_parabls_proto_rawDescOnce
.
Do
(
func
()
{
file_parabls_proto_rawDescData
=
protoimpl
.
X
.
CompressGZIP
(
file_parabls_proto_rawDescData
)
})
return
file_parabls_proto_rawDescData
}
var
file_parabls_proto_msgTypes
=
make
([]
protoimpl
.
MessageInfo
,
7
)
var
file_parabls_proto_goTypes
=
[]
interface
{}{
(
*
ParaBlsSignSumDetails
)(
nil
),
// 0: types.ParaBlsSignSumDetails
(
*
ParaBlsSignSumDetailsShow
)(
nil
),
// 1: types.ParaBlsSignSumDetailsShow
(
*
ParaBlsSignSumInfo
)(
nil
),
// 2: types.ParaBlsSignSumInfo
(
*
LeaderSyncInfo
)(
nil
),
// 3: types.LeaderSyncInfo
(
*
ParaP2PSubMsg
)(
nil
),
// 4: types.ParaP2PSubMsg
(
*
ElectionStatus
)(
nil
),
// 5: types.ElectionStatus
(
*
BlsPubKey
)(
nil
),
// 6: types.BlsPubKey
(
*
types
.
Transaction
)(
nil
),
// 7: types.Transaction
}
var
file_parabls_proto_depIdxs
=
[]
int32
{
1
,
// 0: types.ParaBlsSignSumInfo.info:type_name -> types.ParaBlsSignSumDetailsShow
7
,
// 1: types.ParaP2PSubMsg.commitTx:type_name -> types.Transaction
3
,
// 2: types.ParaP2PSubMsg.syncMsg:type_name -> types.LeaderSyncInfo
3
,
// 3: types.ElectionStatus.leader:type_name -> types.LeaderSyncInfo
4
,
// [4:4] is the sub-list for method output_type
4
,
// [4:4] is the sub-list for method input_type
4
,
// [4:4] is the sub-list for extension type_name
4
,
// [4:4] is the sub-list for extension extendee
0
,
// [0:4] is the sub-list for field type_name
}
func
init
()
{
file_parabls_proto_init
()
}
func
file_parabls_proto_init
()
{
if
File_parabls_proto
!=
nil
{
return
}
if
!
protoimpl
.
UnsafeEnabled
{
file_parabls_proto_msgTypes
[
0
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ParaBlsSignSumDetails
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_parabls_proto_msgTypes
[
1
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ParaBlsSignSumDetailsShow
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_parabls_proto_msgTypes
[
2
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ParaBlsSignSumInfo
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_parabls_proto_msgTypes
[
3
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
LeaderSyncInfo
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_parabls_proto_msgTypes
[
4
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ParaP2PSubMsg
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_parabls_proto_msgTypes
[
5
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ElectionStatus
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_parabls_proto_msgTypes
[
6
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
BlsPubKey
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
}
file_parabls_proto_msgTypes
[
4
]
.
OneofWrappers
=
[]
interface
{}{
(
*
ParaP2PSubMsg_CommitTx
)(
nil
),
(
*
ParaP2PSubMsg_SyncMsg
)(
nil
),
}
type
x
struct
{}
out
:=
protoimpl
.
TypeBuilder
{
File
:
protoimpl
.
DescBuilder
{
GoPackagePath
:
reflect
.
TypeOf
(
x
{})
.
PkgPath
(),
RawDescriptor
:
file_parabls_proto_rawDesc
,
NumEnums
:
0
,
NumMessages
:
7
,
NumExtensions
:
0
,
NumServices
:
0
,
},
GoTypes
:
file_parabls_proto_goTypes
,
DependencyIndexes
:
file_parabls_proto_depIdxs
,
MessageInfos
:
file_parabls_proto_msgTypes
,
}
.
Build
()
File_parabls_proto
=
out
.
File
file_parabls_proto_rawDesc
=
nil
file_parabls_proto_goTypes
=
nil
file_parabls_proto_depIdxs
=
nil
}
plugin/dapp/paracross/types/paraconsensus.pb.go
0 → 100644
View file @
b1ed6b60
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.26.0
// protoc v3.9.1
// source: paraconsensus.proto
package
types
import
(
reflect
"reflect"
sync
"sync"
types
"github.com/33cn/chain33/types"
protoreflect
"google.golang.org/protobuf/reflect/protoreflect"
protoimpl
"google.golang.org/protobuf/runtime/protoimpl"
)
const
(
// Verify that this generated code is sufficiently up-to-date.
_
=
protoimpl
.
EnforceVersion
(
20
-
protoimpl
.
MinVersion
)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_
=
protoimpl
.
EnforceVersion
(
protoimpl
.
MaxVersion
-
20
)
)
type
ParaLocalDbBlock
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Height
int64
`protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
MainHash
[]
byte
`protobuf:"bytes,2,opt,name=mainHash,proto3" json:"mainHash,omitempty"`
MainHeight
int64
`protobuf:"varint,3,opt,name=mainHeight,proto3" json:"mainHeight,omitempty"`
ParentMainHash
[]
byte
`protobuf:"bytes,4,opt,name=parentMainHash,proto3" json:"parentMainHash,omitempty"`
BlockTime
int64
`protobuf:"varint,5,opt,name=blockTime,proto3" json:"blockTime,omitempty"`
Txs
[]
*
types
.
Transaction
`protobuf:"bytes,6,rep,name=txs,proto3" json:"txs,omitempty"`
}
func
(
x
*
ParaLocalDbBlock
)
Reset
()
{
*
x
=
ParaLocalDbBlock
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_paraconsensus_proto_msgTypes
[
0
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
ParaLocalDbBlock
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
ParaLocalDbBlock
)
ProtoMessage
()
{}
func
(
x
*
ParaLocalDbBlock
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_paraconsensus_proto_msgTypes
[
0
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use ParaLocalDbBlock.ProtoReflect.Descriptor instead.
func
(
*
ParaLocalDbBlock
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_paraconsensus_proto_rawDescGZIP
(),
[]
int
{
0
}
}
func
(
x
*
ParaLocalDbBlock
)
GetHeight
()
int64
{
if
x
!=
nil
{
return
x
.
Height
}
return
0
}
func
(
x
*
ParaLocalDbBlock
)
GetMainHash
()
[]
byte
{
if
x
!=
nil
{
return
x
.
MainHash
}
return
nil
}
func
(
x
*
ParaLocalDbBlock
)
GetMainHeight
()
int64
{
if
x
!=
nil
{
return
x
.
MainHeight
}
return
0
}
func
(
x
*
ParaLocalDbBlock
)
GetParentMainHash
()
[]
byte
{
if
x
!=
nil
{
return
x
.
ParentMainHash
}
return
nil
}
func
(
x
*
ParaLocalDbBlock
)
GetBlockTime
()
int64
{
if
x
!=
nil
{
return
x
.
BlockTime
}
return
0
}
func
(
x
*
ParaLocalDbBlock
)
GetTxs
()
[]
*
types
.
Transaction
{
if
x
!=
nil
{
return
x
.
Txs
}
return
nil
}
type
ParaLocalDbBlockInfo
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Height
int64
`protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
MainHash
string
`protobuf:"bytes,2,opt,name=mainHash,proto3" json:"mainHash,omitempty"`
MainHeight
int64
`protobuf:"varint,3,opt,name=mainHeight,proto3" json:"mainHeight,omitempty"`
ParentMainHash
string
`protobuf:"bytes,4,opt,name=parentMainHash,proto3" json:"parentMainHash,omitempty"`
BlockTime
int64
`protobuf:"varint,5,opt,name=blockTime,proto3" json:"blockTime,omitempty"`
Txs
[]
string
`protobuf:"bytes,6,rep,name=txs,proto3" json:"txs,omitempty"`
}
func
(
x
*
ParaLocalDbBlockInfo
)
Reset
()
{
*
x
=
ParaLocalDbBlockInfo
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_paraconsensus_proto_msgTypes
[
1
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
ParaLocalDbBlockInfo
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
ParaLocalDbBlockInfo
)
ProtoMessage
()
{}
func
(
x
*
ParaLocalDbBlockInfo
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_paraconsensus_proto_msgTypes
[
1
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use ParaLocalDbBlockInfo.ProtoReflect.Descriptor instead.
func
(
*
ParaLocalDbBlockInfo
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_paraconsensus_proto_rawDescGZIP
(),
[]
int
{
1
}
}
func
(
x
*
ParaLocalDbBlockInfo
)
GetHeight
()
int64
{
if
x
!=
nil
{
return
x
.
Height
}
return
0
}
func
(
x
*
ParaLocalDbBlockInfo
)
GetMainHash
()
string
{
if
x
!=
nil
{
return
x
.
MainHash
}
return
""
}
func
(
x
*
ParaLocalDbBlockInfo
)
GetMainHeight
()
int64
{
if
x
!=
nil
{
return
x
.
MainHeight
}
return
0
}
func
(
x
*
ParaLocalDbBlockInfo
)
GetParentMainHash
()
string
{
if
x
!=
nil
{
return
x
.
ParentMainHash
}
return
""
}
func
(
x
*
ParaLocalDbBlockInfo
)
GetBlockTime
()
int64
{
if
x
!=
nil
{
return
x
.
BlockTime
}
return
0
}
func
(
x
*
ParaLocalDbBlockInfo
)
GetTxs
()
[]
string
{
if
x
!=
nil
{
return
x
.
Txs
}
return
nil
}
var
File_paraconsensus_proto
protoreflect
.
FileDescriptor
var
file_paraconsensus_proto_rawDesc
=
[]
byte
{
0x0a
,
0x13
,
0x70
,
0x61
,
0x72
,
0x61
,
0x63
,
0x6f
,
0x6e
,
0x73
,
0x65
,
0x6e
,
0x73
,
0x75
,
0x73
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x12
,
0x05
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x1a
,
0x11
,
0x74
,
0x72
,
0x61
,
0x6e
,
0x73
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x22
,
0xd2
,
0x01
,
0x0a
,
0x10
,
0x50
,
0x61
,
0x72
,
0x61
,
0x4c
,
0x6f
,
0x63
,
0x61
,
0x6c
,
0x44
,
0x62
,
0x42
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x68
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x06
,
0x68
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x6d
,
0x61
,
0x69
,
0x6e
,
0x48
,
0x61
,
0x73
,
0x68
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0c
,
0x52
,
0x08
,
0x6d
,
0x61
,
0x69
,
0x6e
,
0x48
,
0x61
,
0x73
,
0x68
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x6d
,
0x61
,
0x69
,
0x6e
,
0x48
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x0a
,
0x6d
,
0x61
,
0x69
,
0x6e
,
0x48
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x12
,
0x26
,
0x0a
,
0x0e
,
0x70
,
0x61
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x4d
,
0x61
,
0x69
,
0x6e
,
0x48
,
0x61
,
0x73
,
0x68
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x0c
,
0x52
,
0x0e
,
0x70
,
0x61
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x4d
,
0x61
,
0x69
,
0x6e
,
0x48
,
0x61
,
0x73
,
0x68
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x62
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x54
,
0x69
,
0x6d
,
0x65
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x09
,
0x62
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x54
,
0x69
,
0x6d
,
0x65
,
0x12
,
0x24
,
0x0a
,
0x03
,
0x74
,
0x78
,
0x73
,
0x18
,
0x06
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x12
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x54
,
0x72
,
0x61
,
0x6e
,
0x73
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x52
,
0x03
,
0x74
,
0x78
,
0x73
,
0x22
,
0xc2
,
0x01
,
0x0a
,
0x14
,
0x50
,
0x61
,
0x72
,
0x61
,
0x4c
,
0x6f
,
0x63
,
0x61
,
0x6c
,
0x44
,
0x62
,
0x42
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x49
,
0x6e
,
0x66
,
0x6f
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x68
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x06
,
0x68
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x6d
,
0x61
,
0x69
,
0x6e
,
0x48
,
0x61
,
0x73
,
0x68
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x08
,
0x6d
,
0x61
,
0x69
,
0x6e
,
0x48
,
0x61
,
0x73
,
0x68
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x6d
,
0x61
,
0x69
,
0x6e
,
0x48
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x0a
,
0x6d
,
0x61
,
0x69
,
0x6e
,
0x48
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x12
,
0x26
,
0x0a
,
0x0e
,
0x70
,
0x61
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x4d
,
0x61
,
0x69
,
0x6e
,
0x48
,
0x61
,
0x73
,
0x68
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0e
,
0x70
,
0x61
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x4d
,
0x61
,
0x69
,
0x6e
,
0x48
,
0x61
,
0x73
,
0x68
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x62
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x54
,
0x69
,
0x6d
,
0x65
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x09
,
0x62
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x54
,
0x69
,
0x6d
,
0x65
,
0x12
,
0x10
,
0x0a
,
0x03
,
0x74
,
0x78
,
0x73
,
0x18
,
0x06
,
0x20
,
0x03
,
0x28
,
0x09
,
0x52
,
0x03
,
0x74
,
0x78
,
0x73
,
0x42
,
0x0a
,
0x5a
,
0x08
,
0x2e
,
0x2e
,
0x2f
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x62
,
0x06
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x33
,
}
var
(
file_paraconsensus_proto_rawDescOnce
sync
.
Once
file_paraconsensus_proto_rawDescData
=
file_paraconsensus_proto_rawDesc
)
func
file_paraconsensus_proto_rawDescGZIP
()
[]
byte
{
file_paraconsensus_proto_rawDescOnce
.
Do
(
func
()
{
file_paraconsensus_proto_rawDescData
=
protoimpl
.
X
.
CompressGZIP
(
file_paraconsensus_proto_rawDescData
)
})
return
file_paraconsensus_proto_rawDescData
}
var
file_paraconsensus_proto_msgTypes
=
make
([]
protoimpl
.
MessageInfo
,
2
)
var
file_paraconsensus_proto_goTypes
=
[]
interface
{}{
(
*
ParaLocalDbBlock
)(
nil
),
// 0: types.ParaLocalDbBlock
(
*
ParaLocalDbBlockInfo
)(
nil
),
// 1: types.ParaLocalDbBlockInfo
(
*
types
.
Transaction
)(
nil
),
// 2: types.Transaction
}
var
file_paraconsensus_proto_depIdxs
=
[]
int32
{
2
,
// 0: types.ParaLocalDbBlock.txs:type_name -> types.Transaction
1
,
// [1:1] is the sub-list for method output_type
1
,
// [1:1] is the sub-list for method input_type
1
,
// [1:1] is the sub-list for extension type_name
1
,
// [1:1] is the sub-list for extension extendee
0
,
// [0:1] is the sub-list for field type_name
}
func
init
()
{
file_paraconsensus_proto_init
()
}
func
file_paraconsensus_proto_init
()
{
if
File_paraconsensus_proto
!=
nil
{
return
}
if
!
protoimpl
.
UnsafeEnabled
{
file_paraconsensus_proto_msgTypes
[
0
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ParaLocalDbBlock
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_paraconsensus_proto_msgTypes
[
1
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ParaLocalDbBlockInfo
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
}
type
x
struct
{}
out
:=
protoimpl
.
TypeBuilder
{
File
:
protoimpl
.
DescBuilder
{
GoPackagePath
:
reflect
.
TypeOf
(
x
{})
.
PkgPath
(),
RawDescriptor
:
file_paraconsensus_proto_rawDesc
,
NumEnums
:
0
,
NumMessages
:
2
,
NumExtensions
:
0
,
NumServices
:
0
,
},
GoTypes
:
file_paraconsensus_proto_goTypes
,
DependencyIndexes
:
file_paraconsensus_proto_depIdxs
,
MessageInfos
:
file_paraconsensus_proto_msgTypes
,
}
.
Build
()
File_paraconsensus_proto
=
out
.
File
file_paraconsensus_proto_rawDesc
=
nil
file_paraconsensus_proto_goTypes
=
nil
file_paraconsensus_proto_depIdxs
=
nil
}
plugin/dapp/paracross/types/paracross.go
View file @
b1ed6b60
...
...
@@ -49,6 +49,8 @@ const (
TyLogParaCrossAssetTransfer
=
670
TyLogParaBindMinerAddr
=
671
TyLogParaBindMinerNode
=
672
TyLogParaBindMinerIndex
=
673
TyLogParaMinerBindNodeList
=
674
// Supervision Node
TyLogParaSupervisionNodeConfig
=
680
TyLogParaSupervisionNodeGroupAddrsUpdate
=
681
...
...
plugin/dapp/paracross/types/paraminer.pb.go
0 → 100644
View file @
b1ed6b60
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.26.0
// protoc v3.9.1
// source: paraminer.proto
package
types
import
(
reflect
"reflect"
sync
"sync"
_
"github.com/33cn/chain33/types"
protoreflect
"google.golang.org/protobuf/reflect/protoreflect"
protoimpl
"google.golang.org/protobuf/runtime/protoimpl"
)
const
(
// Verify that this generated code is sufficiently up-to-date.
_
=
protoimpl
.
EnforceVersion
(
20
-
protoimpl
.
MinVersion
)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_
=
protoimpl
.
EnforceVersion
(
protoimpl
.
MaxVersion
-
20
)
)
//para bind miner
type
ParaBindMinerCmd
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
BindAction
int32
`protobuf:"varint,1,opt,name=bindAction,proto3" json:"bindAction,omitempty"`
// 1: bind, 2:unbind
BindCoins
int64
`protobuf:"varint,2,opt,name=bindCoins,proto3" json:"bindCoins,omitempty"`
// bind coins count
TargetNode
string
`protobuf:"bytes,3,opt,name=targetNode,proto3" json:"targetNode,omitempty"`
// consensus node addr
}
func
(
x
*
ParaBindMinerCmd
)
Reset
()
{
*
x
=
ParaBindMinerCmd
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_paraminer_proto_msgTypes
[
0
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
ParaBindMinerCmd
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
ParaBindMinerCmd
)
ProtoMessage
()
{}
func
(
x
*
ParaBindMinerCmd
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_paraminer_proto_msgTypes
[
0
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use ParaBindMinerCmd.ProtoReflect.Descriptor instead.
func
(
*
ParaBindMinerCmd
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_paraminer_proto_rawDescGZIP
(),
[]
int
{
0
}
}
func
(
x
*
ParaBindMinerCmd
)
GetBindAction
()
int32
{
if
x
!=
nil
{
return
x
.
BindAction
}
return
0
}
func
(
x
*
ParaBindMinerCmd
)
GetBindCoins
()
int64
{
if
x
!=
nil
{
return
x
.
BindCoins
}
return
0
}
func
(
x
*
ParaBindMinerCmd
)
GetTargetNode
()
string
{
if
x
!=
nil
{
return
x
.
TargetNode
}
return
""
}
type
ParaBindMinerInfo
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Addr
string
`protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"`
// miner addr
BindStatus
int32
`protobuf:"varint,2,opt,name=bindStatus,proto3" json:"bindStatus,omitempty"`
// 1: bind, 2:unbind
BindCoins
int64
`protobuf:"varint,3,opt,name=bindCoins,proto3" json:"bindCoins,omitempty"`
// bind coins count
ConsensusNode
string
`protobuf:"bytes,4,opt,name=consensusNode,proto3" json:"consensusNode,omitempty"`
// consensus node addr
BlockTime
int64
`protobuf:"varint,5,opt,name=blockTime,proto3" json:"blockTime,omitempty"`
// action bind block time
BlockHeight
int64
`protobuf:"varint,6,opt,name=blockHeight,proto3" json:"blockHeight,omitempty"`
// action bind block height
GlobalIndex
int64
`protobuf:"varint,7,opt,name=globalIndex,proto3" json:"globalIndex,omitempty"`
// bind global only index to the consensus node
}
func
(
x
*
ParaBindMinerInfo
)
Reset
()
{
*
x
=
ParaBindMinerInfo
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_paraminer_proto_msgTypes
[
1
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
ParaBindMinerInfo
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
ParaBindMinerInfo
)
ProtoMessage
()
{}
func
(
x
*
ParaBindMinerInfo
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_paraminer_proto_msgTypes
[
1
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use ParaBindMinerInfo.ProtoReflect.Descriptor instead.
func
(
*
ParaBindMinerInfo
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_paraminer_proto_rawDescGZIP
(),
[]
int
{
1
}
}
func
(
x
*
ParaBindMinerInfo
)
GetAddr
()
string
{
if
x
!=
nil
{
return
x
.
Addr
}
return
""
}
func
(
x
*
ParaBindMinerInfo
)
GetBindStatus
()
int32
{
if
x
!=
nil
{
return
x
.
BindStatus
}
return
0
}
func
(
x
*
ParaBindMinerInfo
)
GetBindCoins
()
int64
{
if
x
!=
nil
{
return
x
.
BindCoins
}
return
0
}
func
(
x
*
ParaBindMinerInfo
)
GetConsensusNode
()
string
{
if
x
!=
nil
{
return
x
.
ConsensusNode
}
return
""
}
func
(
x
*
ParaBindMinerInfo
)
GetBlockTime
()
int64
{
if
x
!=
nil
{
return
x
.
BlockTime
}
return
0
}
func
(
x
*
ParaBindMinerInfo
)
GetBlockHeight
()
int64
{
if
x
!=
nil
{
return
x
.
BlockHeight
}
return
0
}
func
(
x
*
ParaBindMinerInfo
)
GetGlobalIndex
()
int64
{
if
x
!=
nil
{
return
x
.
GlobalIndex
}
return
0
}
type
ReceiptParaBindMinerInfo
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Addr
string
`protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"`
// miner addr
Prev
*
ParaBindMinerInfo
`protobuf:"bytes,2,opt,name=prev,proto3" json:"prev,omitempty"`
Current
*
ParaBindMinerInfo
`protobuf:"bytes,3,opt,name=current,proto3" json:"current,omitempty"`
}
func
(
x
*
ReceiptParaBindMinerInfo
)
Reset
()
{
*
x
=
ReceiptParaBindMinerInfo
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_paraminer_proto_msgTypes
[
2
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
ReceiptParaBindMinerInfo
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
ReceiptParaBindMinerInfo
)
ProtoMessage
()
{}
func
(
x
*
ReceiptParaBindMinerInfo
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_paraminer_proto_msgTypes
[
2
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use ReceiptParaBindMinerInfo.ProtoReflect.Descriptor instead.
func
(
*
ReceiptParaBindMinerInfo
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_paraminer_proto_rawDescGZIP
(),
[]
int
{
2
}
}
func
(
x
*
ReceiptParaBindMinerInfo
)
GetAddr
()
string
{
if
x
!=
nil
{
return
x
.
Addr
}
return
""
}
func
(
x
*
ReceiptParaBindMinerInfo
)
GetPrev
()
*
ParaBindMinerInfo
{
if
x
!=
nil
{
return
x
.
Prev
}
return
nil
}
func
(
x
*
ReceiptParaBindMinerInfo
)
GetCurrent
()
*
ParaBindMinerInfo
{
if
x
!=
nil
{
return
x
.
Current
}
return
nil
}
//共识节点绑定全局状态
type
ParaBindNodeInfo
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
BindTotalCount
int64
`protobuf:"varint,1,opt,name=bindTotalCount,proto3" json:"bindTotalCount,omitempty"`
// total bind count to the consensus node
}
func
(
x
*
ParaBindNodeInfo
)
Reset
()
{
*
x
=
ParaBindNodeInfo
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_paraminer_proto_msgTypes
[
3
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
ParaBindNodeInfo
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
ParaBindNodeInfo
)
ProtoMessage
()
{}
func
(
x
*
ParaBindNodeInfo
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_paraminer_proto_msgTypes
[
3
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use ParaBindNodeInfo.ProtoReflect.Descriptor instead.
func
(
*
ParaBindNodeInfo
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_paraminer_proto_rawDescGZIP
(),
[]
int
{
3
}
}
func
(
x
*
ParaBindNodeInfo
)
GetBindTotalCount
()
int64
{
if
x
!=
nil
{
return
x
.
BindTotalCount
}
return
0
}
type
ReceiptParaBindConsensusNodeInfo
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
NodeAddr
string
`protobuf:"bytes,1,opt,name=nodeAddr,proto3" json:"nodeAddr,omitempty"`
// node addr
Prev
*
ParaBindNodeInfo
`protobuf:"bytes,2,opt,name=prev,proto3" json:"prev,omitempty"`
Current
*
ParaBindNodeInfo
`protobuf:"bytes,3,opt,name=current,proto3" json:"current,omitempty"`
}
func
(
x
*
ReceiptParaBindConsensusNodeInfo
)
Reset
()
{
*
x
=
ReceiptParaBindConsensusNodeInfo
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_paraminer_proto_msgTypes
[
4
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
ReceiptParaBindConsensusNodeInfo
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
ReceiptParaBindConsensusNodeInfo
)
ProtoMessage
()
{}
func
(
x
*
ReceiptParaBindConsensusNodeInfo
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_paraminer_proto_msgTypes
[
4
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use ReceiptParaBindConsensusNodeInfo.ProtoReflect.Descriptor instead.
func
(
*
ReceiptParaBindConsensusNodeInfo
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_paraminer_proto_rawDescGZIP
(),
[]
int
{
4
}
}
func
(
x
*
ReceiptParaBindConsensusNodeInfo
)
GetNodeAddr
()
string
{
if
x
!=
nil
{
return
x
.
NodeAddr
}
return
""
}
func
(
x
*
ReceiptParaBindConsensusNodeInfo
)
GetPrev
()
*
ParaBindNodeInfo
{
if
x
!=
nil
{
return
x
.
Prev
}
return
nil
}
func
(
x
*
ReceiptParaBindConsensusNodeInfo
)
GetCurrent
()
*
ParaBindNodeInfo
{
if
x
!=
nil
{
return
x
.
Current
}
return
nil
}
//共识节点索引绑定挖矿地址
type
ParaBindAddr
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Addr
string
`protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"`
// bind addr
}
func
(
x
*
ParaBindAddr
)
Reset
()
{
*
x
=
ParaBindAddr
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_paraminer_proto_msgTypes
[
5
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
ParaBindAddr
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
ParaBindAddr
)
ProtoMessage
()
{}
func
(
x
*
ParaBindAddr
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_paraminer_proto_msgTypes
[
5
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use ParaBindAddr.ProtoReflect.Descriptor instead.
func
(
*
ParaBindAddr
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_paraminer_proto_rawDescGZIP
(),
[]
int
{
5
}
}
func
(
x
*
ParaBindAddr
)
GetAddr
()
string
{
if
x
!=
nil
{
return
x
.
Addr
}
return
""
}
type
ParaMinerBindNodes
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Nodes
[]
string
`protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
// bind nodes
}
func
(
x
*
ParaMinerBindNodes
)
Reset
()
{
*
x
=
ParaMinerBindNodes
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_paraminer_proto_msgTypes
[
6
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
ParaMinerBindNodes
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
ParaMinerBindNodes
)
ProtoMessage
()
{}
func
(
x
*
ParaMinerBindNodes
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_paraminer_proto_msgTypes
[
6
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use ParaMinerBindNodes.ProtoReflect.Descriptor instead.
func
(
*
ParaMinerBindNodes
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_paraminer_proto_rawDescGZIP
(),
[]
int
{
6
}
}
func
(
x
*
ParaMinerBindNodes
)
GetNodes
()
[]
string
{
if
x
!=
nil
{
return
x
.
Nodes
}
return
nil
}
type
ReceiptParaMinerBindNodeList
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Miner
string
`protobuf:"bytes,1,opt,name=miner,proto3" json:"miner,omitempty"`
// node addr
Node
string
`protobuf:"bytes,2,opt,name=node,proto3" json:"node,omitempty"`
Current
*
ParaMinerBindNodes
`protobuf:"bytes,3,opt,name=current,proto3" json:"current,omitempty"`
}
func
(
x
*
ReceiptParaMinerBindNodeList
)
Reset
()
{
*
x
=
ReceiptParaMinerBindNodeList
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_paraminer_proto_msgTypes
[
7
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
ReceiptParaMinerBindNodeList
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
ReceiptParaMinerBindNodeList
)
ProtoMessage
()
{}
func
(
x
*
ReceiptParaMinerBindNodeList
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_paraminer_proto_msgTypes
[
7
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use ReceiptParaMinerBindNodeList.ProtoReflect.Descriptor instead.
func
(
*
ReceiptParaMinerBindNodeList
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_paraminer_proto_rawDescGZIP
(),
[]
int
{
7
}
}
func
(
x
*
ReceiptParaMinerBindNodeList
)
GetMiner
()
string
{
if
x
!=
nil
{
return
x
.
Miner
}
return
""
}
func
(
x
*
ReceiptParaMinerBindNodeList
)
GetNode
()
string
{
if
x
!=
nil
{
return
x
.
Node
}
return
""
}
func
(
x
*
ReceiptParaMinerBindNodeList
)
GetCurrent
()
*
ParaMinerBindNodes
{
if
x
!=
nil
{
return
x
.
Current
}
return
nil
}
type
ReceiptParaBindIndex
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
SelfAddr
string
`protobuf:"bytes,1,opt,name=selfAddr,proto3" json:"selfAddr,omitempty"`
// self addr
BindAddr
string
`protobuf:"bytes,2,opt,name=bindAddr,proto3" json:"bindAddr,omitempty"`
Index
int64
`protobuf:"varint,3,opt,name=index,proto3" json:"index,omitempty"`
}
func
(
x
*
ReceiptParaBindIndex
)
Reset
()
{
*
x
=
ReceiptParaBindIndex
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_paraminer_proto_msgTypes
[
8
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
ReceiptParaBindIndex
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
ReceiptParaBindIndex
)
ProtoMessage
()
{}
func
(
x
*
ReceiptParaBindIndex
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_paraminer_proto_msgTypes
[
8
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use ReceiptParaBindIndex.ProtoReflect.Descriptor instead.
func
(
*
ReceiptParaBindIndex
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_paraminer_proto_rawDescGZIP
(),
[]
int
{
8
}
}
func
(
x
*
ReceiptParaBindIndex
)
GetSelfAddr
()
string
{
if
x
!=
nil
{
return
x
.
SelfAddr
}
return
""
}
func
(
x
*
ReceiptParaBindIndex
)
GetBindAddr
()
string
{
if
x
!=
nil
{
return
x
.
BindAddr
}
return
""
}
func
(
x
*
ReceiptParaBindIndex
)
GetIndex
()
int64
{
if
x
!=
nil
{
return
x
.
Index
}
return
0
}
type
ParaNodeMinerListReq
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Node
string
`protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"`
//共识节点
Miner
string
`protobuf:"bytes,2,opt,name=miner,proto3" json:"miner,omitempty"`
//唯一miner 地址
WithUnBind
bool
`protobuf:"varint,3,opt,name=withUnBind,proto3" json:"withUnBind,omitempty"`
//是否也查询未绑定的
}
func
(
x
*
ParaNodeMinerListReq
)
Reset
()
{
*
x
=
ParaNodeMinerListReq
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_paraminer_proto_msgTypes
[
9
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
ParaNodeMinerListReq
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
ParaNodeMinerListReq
)
ProtoMessage
()
{}
func
(
x
*
ParaNodeMinerListReq
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_paraminer_proto_msgTypes
[
9
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use ParaNodeMinerListReq.ProtoReflect.Descriptor instead.
func
(
*
ParaNodeMinerListReq
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_paraminer_proto_rawDescGZIP
(),
[]
int
{
9
}
}
func
(
x
*
ParaNodeMinerListReq
)
GetNode
()
string
{
if
x
!=
nil
{
return
x
.
Node
}
return
""
}
func
(
x
*
ParaNodeMinerListReq
)
GetMiner
()
string
{
if
x
!=
nil
{
return
x
.
Miner
}
return
""
}
func
(
x
*
ParaNodeMinerListReq
)
GetWithUnBind
()
bool
{
if
x
!=
nil
{
return
x
.
WithUnBind
}
return
false
}
type
ParaBindMinerList
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
List
[]
*
ParaBindMinerInfo
`protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"`
}
func
(
x
*
ParaBindMinerList
)
Reset
()
{
*
x
=
ParaBindMinerList
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_paraminer_proto_msgTypes
[
10
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
ParaBindMinerList
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
ParaBindMinerList
)
ProtoMessage
()
{}
func
(
x
*
ParaBindMinerList
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_paraminer_proto_msgTypes
[
10
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use ParaBindMinerList.ProtoReflect.Descriptor instead.
func
(
*
ParaBindMinerList
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_paraminer_proto_rawDescGZIP
(),
[]
int
{
10
}
}
func
(
x
*
ParaBindMinerList
)
GetList
()
[]
*
ParaBindMinerInfo
{
if
x
!=
nil
{
return
x
.
List
}
return
nil
}
var
File_paraminer_proto
protoreflect
.
FileDescriptor
var
file_paraminer_proto_rawDesc
=
[]
byte
{
0x0a
,
0x0f
,
0x70
,
0x61
,
0x72
,
0x61
,
0x6d
,
0x69
,
0x6e
,
0x65
,
0x72
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x12
,
0x05
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x1a
,
0x11
,
0x74
,
0x72
,
0x61
,
0x6e
,
0x73
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x1a
,
0x0c
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x1a
,
0x10
,
0x62
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x63
,
0x68
,
0x61
,
0x69
,
0x6e
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x22
,
0x70
,
0x0a
,
0x10
,
0x50
,
0x61
,
0x72
,
0x61
,
0x42
,
0x69
,
0x6e
,
0x64
,
0x4d
,
0x69
,
0x6e
,
0x65
,
0x72
,
0x43
,
0x6d
,
0x64
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x62
,
0x69
,
0x6e
,
0x64
,
0x41
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x0a
,
0x62
,
0x69
,
0x6e
,
0x64
,
0x41
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x62
,
0x69
,
0x6e
,
0x64
,
0x43
,
0x6f
,
0x69
,
0x6e
,
0x73
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x09
,
0x62
,
0x69
,
0x6e
,
0x64
,
0x43
,
0x6f
,
0x69
,
0x6e
,
0x73
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x74
,
0x61
,
0x72
,
0x67
,
0x65
,
0x74
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x74
,
0x61
,
0x72
,
0x67
,
0x65
,
0x74
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x22
,
0xed
,
0x01
,
0x0a
,
0x11
,
0x50
,
0x61
,
0x72
,
0x61
,
0x42
,
0x69
,
0x6e
,
0x64
,
0x4d
,
0x69
,
0x6e
,
0x65
,
0x72
,
0x49
,
0x6e
,
0x66
,
0x6f
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x61
,
0x64
,
0x64
,
0x72
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x61
,
0x64
,
0x64
,
0x72
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x62
,
0x69
,
0x6e
,
0x64
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x0a
,
0x62
,
0x69
,
0x6e
,
0x64
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x62
,
0x69
,
0x6e
,
0x64
,
0x43
,
0x6f
,
0x69
,
0x6e
,
0x73
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x09
,
0x62
,
0x69
,
0x6e
,
0x64
,
0x43
,
0x6f
,
0x69
,
0x6e
,
0x73
,
0x12
,
0x24
,
0x0a
,
0x0d
,
0x63
,
0x6f
,
0x6e
,
0x73
,
0x65
,
0x6e
,
0x73
,
0x75
,
0x73
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0d
,
0x63
,
0x6f
,
0x6e
,
0x73
,
0x65
,
0x6e
,
0x73
,
0x75
,
0x73
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x62
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x54
,
0x69
,
0x6d
,
0x65
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x09
,
0x62
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x54
,
0x69
,
0x6d
,
0x65
,
0x12
,
0x20
,
0x0a
,
0x0b
,
0x62
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x48
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x18
,
0x06
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x0b
,
0x62
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x48
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x12
,
0x20
,
0x0a
,
0x0b
,
0x67
,
0x6c
,
0x6f
,
0x62
,
0x61
,
0x6c
,
0x49
,
0x6e
,
0x64
,
0x65
,
0x78
,
0x18
,
0x07
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x0b
,
0x67
,
0x6c
,
0x6f
,
0x62
,
0x61
,
0x6c
,
0x49
,
0x6e
,
0x64
,
0x65
,
0x78
,
0x22
,
0x90
,
0x01
,
0x0a
,
0x18
,
0x52
,
0x65
,
0x63
,
0x65
,
0x69
,
0x70
,
0x74
,
0x50
,
0x61
,
0x72
,
0x61
,
0x42
,
0x69
,
0x6e
,
0x64
,
0x4d
,
0x69
,
0x6e
,
0x65
,
0x72
,
0x49
,
0x6e
,
0x66
,
0x6f
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x61
,
0x64
,
0x64
,
0x72
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x61
,
0x64
,
0x64
,
0x72
,
0x12
,
0x2c
,
0x0a
,
0x04
,
0x70
,
0x72
,
0x65
,
0x76
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x18
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x50
,
0x61
,
0x72
,
0x61
,
0x42
,
0x69
,
0x6e
,
0x64
,
0x4d
,
0x69
,
0x6e
,
0x65
,
0x72
,
0x49
,
0x6e
,
0x66
,
0x6f
,
0x52
,
0x04
,
0x70
,
0x72
,
0x65
,
0x76
,
0x12
,
0x32
,
0x0a
,
0x07
,
0x63
,
0x75
,
0x72
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x18
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x50
,
0x61
,
0x72
,
0x61
,
0x42
,
0x69
,
0x6e
,
0x64
,
0x4d
,
0x69
,
0x6e
,
0x65
,
0x72
,
0x49
,
0x6e
,
0x66
,
0x6f
,
0x52
,
0x07
,
0x63
,
0x75
,
0x72
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x22
,
0x3a
,
0x0a
,
0x10
,
0x50
,
0x61
,
0x72
,
0x61
,
0x42
,
0x69
,
0x6e
,
0x64
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x49
,
0x6e
,
0x66
,
0x6f
,
0x12
,
0x26
,
0x0a
,
0x0e
,
0x62
,
0x69
,
0x6e
,
0x64
,
0x54
,
0x6f
,
0x74
,
0x61
,
0x6c
,
0x43
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x0e
,
0x62
,
0x69
,
0x6e
,
0x64
,
0x54
,
0x6f
,
0x74
,
0x61
,
0x6c
,
0x43
,
0x6f
,
0x75
,
0x6e
,
0x74
,
0x22
,
0x9e
,
0x01
,
0x0a
,
0x20
,
0x52
,
0x65
,
0x63
,
0x65
,
0x69
,
0x70
,
0x74
,
0x50
,
0x61
,
0x72
,
0x61
,
0x42
,
0x69
,
0x6e
,
0x64
,
0x43
,
0x6f
,
0x6e
,
0x73
,
0x65
,
0x6e
,
0x73
,
0x75
,
0x73
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x49
,
0x6e
,
0x66
,
0x6f
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x41
,
0x64
,
0x64
,
0x72
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x08
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x41
,
0x64
,
0x64
,
0x72
,
0x12
,
0x2b
,
0x0a
,
0x04
,
0x70
,
0x72
,
0x65
,
0x76
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x17
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x50
,
0x61
,
0x72
,
0x61
,
0x42
,
0x69
,
0x6e
,
0x64
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x49
,
0x6e
,
0x66
,
0x6f
,
0x52
,
0x04
,
0x70
,
0x72
,
0x65
,
0x76
,
0x12
,
0x31
,
0x0a
,
0x07
,
0x63
,
0x75
,
0x72
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x17
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x50
,
0x61
,
0x72
,
0x61
,
0x42
,
0x69
,
0x6e
,
0x64
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x49
,
0x6e
,
0x66
,
0x6f
,
0x52
,
0x07
,
0x63
,
0x75
,
0x72
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x22
,
0x22
,
0x0a
,
0x0c
,
0x50
,
0x61
,
0x72
,
0x61
,
0x42
,
0x69
,
0x6e
,
0x64
,
0x41
,
0x64
,
0x64
,
0x72
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x61
,
0x64
,
0x64
,
0x72
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x61
,
0x64
,
0x64
,
0x72
,
0x22
,
0x2a
,
0x0a
,
0x12
,
0x50
,
0x61
,
0x72
,
0x61
,
0x4d
,
0x69
,
0x6e
,
0x65
,
0x72
,
0x42
,
0x69
,
0x6e
,
0x64
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x73
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x09
,
0x52
,
0x05
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x73
,
0x22
,
0x7d
,
0x0a
,
0x1c
,
0x52
,
0x65
,
0x63
,
0x65
,
0x69
,
0x70
,
0x74
,
0x50
,
0x61
,
0x72
,
0x61
,
0x4d
,
0x69
,
0x6e
,
0x65
,
0x72
,
0x42
,
0x69
,
0x6e
,
0x64
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x6d
,
0x69
,
0x6e
,
0x65
,
0x72
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x05
,
0x6d
,
0x69
,
0x6e
,
0x65
,
0x72
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x33
,
0x0a
,
0x07
,
0x63
,
0x75
,
0x72
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x19
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x50
,
0x61
,
0x72
,
0x61
,
0x4d
,
0x69
,
0x6e
,
0x65
,
0x72
,
0x42
,
0x69
,
0x6e
,
0x64
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x73
,
0x52
,
0x07
,
0x63
,
0x75
,
0x72
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x22
,
0x64
,
0x0a
,
0x14
,
0x52
,
0x65
,
0x63
,
0x65
,
0x69
,
0x70
,
0x74
,
0x50
,
0x61
,
0x72
,
0x61
,
0x42
,
0x69
,
0x6e
,
0x64
,
0x49
,
0x6e
,
0x64
,
0x65
,
0x78
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x73
,
0x65
,
0x6c
,
0x66
,
0x41
,
0x64
,
0x64
,
0x72
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x08
,
0x73
,
0x65
,
0x6c
,
0x66
,
0x41
,
0x64
,
0x64
,
0x72
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x62
,
0x69
,
0x6e
,
0x64
,
0x41
,
0x64
,
0x64
,
0x72
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x08
,
0x62
,
0x69
,
0x6e
,
0x64
,
0x41
,
0x64
,
0x64
,
0x72
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x69
,
0x6e
,
0x64
,
0x65
,
0x78
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x05
,
0x69
,
0x6e
,
0x64
,
0x65
,
0x78
,
0x22
,
0x60
,
0x0a
,
0x14
,
0x50
,
0x61
,
0x72
,
0x61
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x4d
,
0x69
,
0x6e
,
0x65
,
0x72
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x52
,
0x65
,
0x71
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x6d
,
0x69
,
0x6e
,
0x65
,
0x72
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x05
,
0x6d
,
0x69
,
0x6e
,
0x65
,
0x72
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x77
,
0x69
,
0x74
,
0x68
,
0x55
,
0x6e
,
0x42
,
0x69
,
0x6e
,
0x64
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x0a
,
0x77
,
0x69
,
0x74
,
0x68
,
0x55
,
0x6e
,
0x42
,
0x69
,
0x6e
,
0x64
,
0x22
,
0x41
,
0x0a
,
0x11
,
0x50
,
0x61
,
0x72
,
0x61
,
0x42
,
0x69
,
0x6e
,
0x64
,
0x4d
,
0x69
,
0x6e
,
0x65
,
0x72
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x12
,
0x2c
,
0x0a
,
0x04
,
0x6c
,
0x69
,
0x73
,
0x74
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x18
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x50
,
0x61
,
0x72
,
0x61
,
0x42
,
0x69
,
0x6e
,
0x64
,
0x4d
,
0x69
,
0x6e
,
0x65
,
0x72
,
0x49
,
0x6e
,
0x66
,
0x6f
,
0x52
,
0x04
,
0x6c
,
0x69
,
0x73
,
0x74
,
0x42
,
0x0a
,
0x5a
,
0x08
,
0x2e
,
0x2e
,
0x2f
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x62
,
0x06
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x33
,
}
var
(
file_paraminer_proto_rawDescOnce
sync
.
Once
file_paraminer_proto_rawDescData
=
file_paraminer_proto_rawDesc
)
func
file_paraminer_proto_rawDescGZIP
()
[]
byte
{
file_paraminer_proto_rawDescOnce
.
Do
(
func
()
{
file_paraminer_proto_rawDescData
=
protoimpl
.
X
.
CompressGZIP
(
file_paraminer_proto_rawDescData
)
})
return
file_paraminer_proto_rawDescData
}
var
file_paraminer_proto_msgTypes
=
make
([]
protoimpl
.
MessageInfo
,
11
)
var
file_paraminer_proto_goTypes
=
[]
interface
{}{
(
*
ParaBindMinerCmd
)(
nil
),
// 0: types.ParaBindMinerCmd
(
*
ParaBindMinerInfo
)(
nil
),
// 1: types.ParaBindMinerInfo
(
*
ReceiptParaBindMinerInfo
)(
nil
),
// 2: types.ReceiptParaBindMinerInfo
(
*
ParaBindNodeInfo
)(
nil
),
// 3: types.ParaBindNodeInfo
(
*
ReceiptParaBindConsensusNodeInfo
)(
nil
),
// 4: types.ReceiptParaBindConsensusNodeInfo
(
*
ParaBindAddr
)(
nil
),
// 5: types.ParaBindAddr
(
*
ParaMinerBindNodes
)(
nil
),
// 6: types.ParaMinerBindNodes
(
*
ReceiptParaMinerBindNodeList
)(
nil
),
// 7: types.ReceiptParaMinerBindNodeList
(
*
ReceiptParaBindIndex
)(
nil
),
// 8: types.ReceiptParaBindIndex
(
*
ParaNodeMinerListReq
)(
nil
),
// 9: types.ParaNodeMinerListReq
(
*
ParaBindMinerList
)(
nil
),
// 10: types.ParaBindMinerList
}
var
file_paraminer_proto_depIdxs
=
[]
int32
{
1
,
// 0: types.ReceiptParaBindMinerInfo.prev:type_name -> types.ParaBindMinerInfo
1
,
// 1: types.ReceiptParaBindMinerInfo.current:type_name -> types.ParaBindMinerInfo
3
,
// 2: types.ReceiptParaBindConsensusNodeInfo.prev:type_name -> types.ParaBindNodeInfo
3
,
// 3: types.ReceiptParaBindConsensusNodeInfo.current:type_name -> types.ParaBindNodeInfo
6
,
// 4: types.ReceiptParaMinerBindNodeList.current:type_name -> types.ParaMinerBindNodes
1
,
// 5: types.ParaBindMinerList.list:type_name -> types.ParaBindMinerInfo
6
,
// [6:6] is the sub-list for method output_type
6
,
// [6:6] is the sub-list for method input_type
6
,
// [6:6] is the sub-list for extension type_name
6
,
// [6:6] is the sub-list for extension extendee
0
,
// [0:6] is the sub-list for field type_name
}
func
init
()
{
file_paraminer_proto_init
()
}
func
file_paraminer_proto_init
()
{
if
File_paraminer_proto
!=
nil
{
return
}
if
!
protoimpl
.
UnsafeEnabled
{
file_paraminer_proto_msgTypes
[
0
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ParaBindMinerCmd
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_paraminer_proto_msgTypes
[
1
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ParaBindMinerInfo
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_paraminer_proto_msgTypes
[
2
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ReceiptParaBindMinerInfo
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_paraminer_proto_msgTypes
[
3
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ParaBindNodeInfo
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_paraminer_proto_msgTypes
[
4
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ReceiptParaBindConsensusNodeInfo
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_paraminer_proto_msgTypes
[
5
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ParaBindAddr
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_paraminer_proto_msgTypes
[
6
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ParaMinerBindNodes
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_paraminer_proto_msgTypes
[
7
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ReceiptParaMinerBindNodeList
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_paraminer_proto_msgTypes
[
8
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ReceiptParaBindIndex
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_paraminer_proto_msgTypes
[
9
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ParaNodeMinerListReq
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_paraminer_proto_msgTypes
[
10
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ParaBindMinerList
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
}
type
x
struct
{}
out
:=
protoimpl
.
TypeBuilder
{
File
:
protoimpl
.
DescBuilder
{
GoPackagePath
:
reflect
.
TypeOf
(
x
{})
.
PkgPath
(),
RawDescriptor
:
file_paraminer_proto_rawDesc
,
NumEnums
:
0
,
NumMessages
:
11
,
NumExtensions
:
0
,
NumServices
:
0
,
},
GoTypes
:
file_paraminer_proto_goTypes
,
DependencyIndexes
:
file_paraminer_proto_depIdxs
,
MessageInfos
:
file_paraminer_proto_msgTypes
,
}
.
Build
()
File_paraminer_proto
=
out
.
File
file_paraminer_proto_rawDesc
=
nil
file_paraminer_proto_goTypes
=
nil
file_paraminer_proto_depIdxs
=
nil
}
plugin/dapp/paracross/types/paranodegroup.pb.go
0 → 100644
View file @
b1ed6b60
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.26.0
// protoc v3.9.1
// source: paranodegroup.proto
package
types
import
(
reflect
"reflect"
sync
"sync"
_
"github.com/33cn/chain33/types"
protoreflect
"google.golang.org/protobuf/reflect/protoreflect"
protoimpl
"google.golang.org/protobuf/runtime/protoimpl"
)
const
(
// Verify that this generated code is sufficiently up-to-date.
_
=
protoimpl
.
EnforceVersion
(
20
-
protoimpl
.
MinVersion
)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_
=
protoimpl
.
EnforceVersion
(
protoimpl
.
MaxVersion
-
20
)
)
type
ParaNodeAddrConfig
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Title
string
`protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
Op
uint32
`protobuf:"varint,2,opt,name=op,proto3" json:"op,omitempty"`
Id
string
`protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"`
Addr
string
`protobuf:"bytes,4,opt,name=addr,proto3" json:"addr,omitempty"`
Value
uint32
`protobuf:"varint,5,opt,name=value,proto3" json:"value,omitempty"`
CoinsFrozen
int64
`protobuf:"varint,6,opt,name=coinsFrozen,proto3" json:"coinsFrozen,omitempty"`
BlsPubKey
string
`protobuf:"bytes,7,opt,name=blsPubKey,proto3" json:"blsPubKey,omitempty"`
//本地址私钥对应的bls聚合签名的公钥
}
func
(
x
*
ParaNodeAddrConfig
)
Reset
()
{
*
x
=
ParaNodeAddrConfig
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_paranodegroup_proto_msgTypes
[
0
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
ParaNodeAddrConfig
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
ParaNodeAddrConfig
)
ProtoMessage
()
{}
func
(
x
*
ParaNodeAddrConfig
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_paranodegroup_proto_msgTypes
[
0
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use ParaNodeAddrConfig.ProtoReflect.Descriptor instead.
func
(
*
ParaNodeAddrConfig
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_paranodegroup_proto_rawDescGZIP
(),
[]
int
{
0
}
}
func
(
x
*
ParaNodeAddrConfig
)
GetTitle
()
string
{
if
x
!=
nil
{
return
x
.
Title
}
return
""
}
func
(
x
*
ParaNodeAddrConfig
)
GetOp
()
uint32
{
if
x
!=
nil
{
return
x
.
Op
}
return
0
}
func
(
x
*
ParaNodeAddrConfig
)
GetId
()
string
{
if
x
!=
nil
{
return
x
.
Id
}
return
""
}
func
(
x
*
ParaNodeAddrConfig
)
GetAddr
()
string
{
if
x
!=
nil
{
return
x
.
Addr
}
return
""
}
func
(
x
*
ParaNodeAddrConfig
)
GetValue
()
uint32
{
if
x
!=
nil
{
return
x
.
Value
}
return
0
}
func
(
x
*
ParaNodeAddrConfig
)
GetCoinsFrozen
()
int64
{
if
x
!=
nil
{
return
x
.
CoinsFrozen
}
return
0
}
func
(
x
*
ParaNodeAddrConfig
)
GetBlsPubKey
()
string
{
if
x
!=
nil
{
return
x
.
BlsPubKey
}
return
""
}
type
ParaNodeVoteDetail
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Addrs
[]
string
`protobuf:"bytes,1,rep,name=addrs,proto3" json:"addrs,omitempty"`
Votes
[]
string
`protobuf:"bytes,2,rep,name=votes,proto3" json:"votes,omitempty"`
}
func
(
x
*
ParaNodeVoteDetail
)
Reset
()
{
*
x
=
ParaNodeVoteDetail
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_paranodegroup_proto_msgTypes
[
1
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
ParaNodeVoteDetail
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
ParaNodeVoteDetail
)
ProtoMessage
()
{}
func
(
x
*
ParaNodeVoteDetail
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_paranodegroup_proto_msgTypes
[
1
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use ParaNodeVoteDetail.ProtoReflect.Descriptor instead.
func
(
*
ParaNodeVoteDetail
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_paranodegroup_proto_rawDescGZIP
(),
[]
int
{
1
}
}
func
(
x
*
ParaNodeVoteDetail
)
GetAddrs
()
[]
string
{
if
x
!=
nil
{
return
x
.
Addrs
}
return
nil
}
func
(
x
*
ParaNodeVoteDetail
)
GetVotes
()
[]
string
{
if
x
!=
nil
{
return
x
.
Votes
}
return
nil
}
type
ParaNodeAddrIdStatus
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Addr
string
`protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"`
ProposalId
string
`protobuf:"bytes,2,opt,name=proposalId,proto3" json:"proposalId,omitempty"`
QuitId
string
`protobuf:"bytes,3,opt,name=quitId,proto3" json:"quitId,omitempty"`
Status
int32
`protobuf:"varint,4,opt,name=status,proto3" json:"status,omitempty"`
Title
string
`protobuf:"bytes,5,opt,name=title,proto3" json:"title,omitempty"`
BlsPubKey
string
`protobuf:"bytes,6,opt,name=blsPubKey,proto3" json:"blsPubKey,omitempty"`
}
func
(
x
*
ParaNodeAddrIdStatus
)
Reset
()
{
*
x
=
ParaNodeAddrIdStatus
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_paranodegroup_proto_msgTypes
[
2
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
ParaNodeAddrIdStatus
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
ParaNodeAddrIdStatus
)
ProtoMessage
()
{}
func
(
x
*
ParaNodeAddrIdStatus
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_paranodegroup_proto_msgTypes
[
2
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use ParaNodeAddrIdStatus.ProtoReflect.Descriptor instead.
func
(
*
ParaNodeAddrIdStatus
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_paranodegroup_proto_rawDescGZIP
(),
[]
int
{
2
}
}
func
(
x
*
ParaNodeAddrIdStatus
)
GetAddr
()
string
{
if
x
!=
nil
{
return
x
.
Addr
}
return
""
}
func
(
x
*
ParaNodeAddrIdStatus
)
GetProposalId
()
string
{
if
x
!=
nil
{
return
x
.
ProposalId
}
return
""
}
func
(
x
*
ParaNodeAddrIdStatus
)
GetQuitId
()
string
{
if
x
!=
nil
{
return
x
.
QuitId
}
return
""
}
func
(
x
*
ParaNodeAddrIdStatus
)
GetStatus
()
int32
{
if
x
!=
nil
{
return
x
.
Status
}
return
0
}
func
(
x
*
ParaNodeAddrIdStatus
)
GetTitle
()
string
{
if
x
!=
nil
{
return
x
.
Title
}
return
""
}
func
(
x
*
ParaNodeAddrIdStatus
)
GetBlsPubKey
()
string
{
if
x
!=
nil
{
return
x
.
BlsPubKey
}
return
""
}
type
ParaNodeIdStatus
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Id
string
`protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Status
int32
`protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"`
Title
string
`protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"`
TargetAddr
string
`protobuf:"bytes,4,opt,name=targetAddr,proto3" json:"targetAddr,omitempty"`
CoinsFrozen
int64
`protobuf:"varint,5,opt,name=coinsFrozen,proto3" json:"coinsFrozen,omitempty"`
Votes
*
ParaNodeVoteDetail
`protobuf:"bytes,6,opt,name=votes,proto3" json:"votes,omitempty"`
FromAddr
string
`protobuf:"bytes,7,opt,name=fromAddr,proto3" json:"fromAddr,omitempty"`
Height
int64
`protobuf:"varint,8,opt,name=height,proto3" json:"height,omitempty"`
BlsPubKey
string
`protobuf:"bytes,9,opt,name=blsPubKey,proto3" json:"blsPubKey,omitempty"`
}
func
(
x
*
ParaNodeIdStatus
)
Reset
()
{
*
x
=
ParaNodeIdStatus
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_paranodegroup_proto_msgTypes
[
3
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
ParaNodeIdStatus
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
ParaNodeIdStatus
)
ProtoMessage
()
{}
func
(
x
*
ParaNodeIdStatus
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_paranodegroup_proto_msgTypes
[
3
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use ParaNodeIdStatus.ProtoReflect.Descriptor instead.
func
(
*
ParaNodeIdStatus
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_paranodegroup_proto_rawDescGZIP
(),
[]
int
{
3
}
}
func
(
x
*
ParaNodeIdStatus
)
GetId
()
string
{
if
x
!=
nil
{
return
x
.
Id
}
return
""
}
func
(
x
*
ParaNodeIdStatus
)
GetStatus
()
int32
{
if
x
!=
nil
{
return
x
.
Status
}
return
0
}
func
(
x
*
ParaNodeIdStatus
)
GetTitle
()
string
{
if
x
!=
nil
{
return
x
.
Title
}
return
""
}
func
(
x
*
ParaNodeIdStatus
)
GetTargetAddr
()
string
{
if
x
!=
nil
{
return
x
.
TargetAddr
}
return
""
}
func
(
x
*
ParaNodeIdStatus
)
GetCoinsFrozen
()
int64
{
if
x
!=
nil
{
return
x
.
CoinsFrozen
}
return
0
}
func
(
x
*
ParaNodeIdStatus
)
GetVotes
()
*
ParaNodeVoteDetail
{
if
x
!=
nil
{
return
x
.
Votes
}
return
nil
}
func
(
x
*
ParaNodeIdStatus
)
GetFromAddr
()
string
{
if
x
!=
nil
{
return
x
.
FromAddr
}
return
""
}
func
(
x
*
ParaNodeIdStatus
)
GetHeight
()
int64
{
if
x
!=
nil
{
return
x
.
Height
}
return
0
}
func
(
x
*
ParaNodeIdStatus
)
GetBlsPubKey
()
string
{
if
x
!=
nil
{
return
x
.
BlsPubKey
}
return
""
}
type
ReceiptParaNodeConfig
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Addr
string
`protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"`
Config
*
ParaNodeAddrConfig
`protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"`
Prev
*
ParaNodeIdStatus
`protobuf:"bytes,3,opt,name=prev,proto3" json:"prev,omitempty"`
Current
*
ParaNodeIdStatus
`protobuf:"bytes,4,opt,name=current,proto3" json:"current,omitempty"`
}
func
(
x
*
ReceiptParaNodeConfig
)
Reset
()
{
*
x
=
ReceiptParaNodeConfig
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_paranodegroup_proto_msgTypes
[
4
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
ReceiptParaNodeConfig
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
ReceiptParaNodeConfig
)
ProtoMessage
()
{}
func
(
x
*
ReceiptParaNodeConfig
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_paranodegroup_proto_msgTypes
[
4
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use ReceiptParaNodeConfig.ProtoReflect.Descriptor instead.
func
(
*
ReceiptParaNodeConfig
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_paranodegroup_proto_rawDescGZIP
(),
[]
int
{
4
}
}
func
(
x
*
ReceiptParaNodeConfig
)
GetAddr
()
string
{
if
x
!=
nil
{
return
x
.
Addr
}
return
""
}
func
(
x
*
ReceiptParaNodeConfig
)
GetConfig
()
*
ParaNodeAddrConfig
{
if
x
!=
nil
{
return
x
.
Config
}
return
nil
}
func
(
x
*
ReceiptParaNodeConfig
)
GetPrev
()
*
ParaNodeIdStatus
{
if
x
!=
nil
{
return
x
.
Prev
}
return
nil
}
func
(
x
*
ReceiptParaNodeConfig
)
GetCurrent
()
*
ParaNodeIdStatus
{
if
x
!=
nil
{
return
x
.
Current
}
return
nil
}
type
ReceiptParaNodeAddrStatUpdate
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
FromAddr
string
`protobuf:"bytes,1,opt,name=fromAddr,proto3" json:"fromAddr,omitempty"`
Prev
*
ParaNodeAddrIdStatus
`protobuf:"bytes,2,opt,name=prev,proto3" json:"prev,omitempty"`
Current
*
ParaNodeAddrIdStatus
`protobuf:"bytes,3,opt,name=current,proto3" json:"current,omitempty"`
}
func
(
x
*
ReceiptParaNodeAddrStatUpdate
)
Reset
()
{
*
x
=
ReceiptParaNodeAddrStatUpdate
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_paranodegroup_proto_msgTypes
[
5
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
ReceiptParaNodeAddrStatUpdate
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
ReceiptParaNodeAddrStatUpdate
)
ProtoMessage
()
{}
func
(
x
*
ReceiptParaNodeAddrStatUpdate
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_paranodegroup_proto_msgTypes
[
5
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use ReceiptParaNodeAddrStatUpdate.ProtoReflect.Descriptor instead.
func
(
*
ReceiptParaNodeAddrStatUpdate
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_paranodegroup_proto_rawDescGZIP
(),
[]
int
{
5
}
}
func
(
x
*
ReceiptParaNodeAddrStatUpdate
)
GetFromAddr
()
string
{
if
x
!=
nil
{
return
x
.
FromAddr
}
return
""
}
func
(
x
*
ReceiptParaNodeAddrStatUpdate
)
GetPrev
()
*
ParaNodeAddrIdStatus
{
if
x
!=
nil
{
return
x
.
Prev
}
return
nil
}
func
(
x
*
ReceiptParaNodeAddrStatUpdate
)
GetCurrent
()
*
ParaNodeAddrIdStatus
{
if
x
!=
nil
{
return
x
.
Current
}
return
nil
}
type
ReceiptParaNodeVoteDone
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Id
string
`protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Title
string
`protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
TargetAddr
string
`protobuf:"bytes,3,opt,name=targetAddr,proto3" json:"targetAddr,omitempty"`
TotalNodes
int32
`protobuf:"varint,4,opt,name=totalNodes,proto3" json:"totalNodes,omitempty"`
TotalVote
int32
`protobuf:"varint,5,opt,name=totalVote,proto3" json:"totalVote,omitempty"`
MostVote
int32
`protobuf:"varint,6,opt,name=mostVote,proto3" json:"mostVote,omitempty"`
VoteRst
string
`protobuf:"bytes,7,opt,name=voteRst,proto3" json:"voteRst,omitempty"`
DoneStatus
int32
`protobuf:"varint,8,opt,name=doneStatus,proto3" json:"doneStatus,omitempty"`
}
func
(
x
*
ReceiptParaNodeVoteDone
)
Reset
()
{
*
x
=
ReceiptParaNodeVoteDone
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_paranodegroup_proto_msgTypes
[
6
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
ReceiptParaNodeVoteDone
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
ReceiptParaNodeVoteDone
)
ProtoMessage
()
{}
func
(
x
*
ReceiptParaNodeVoteDone
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_paranodegroup_proto_msgTypes
[
6
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use ReceiptParaNodeVoteDone.ProtoReflect.Descriptor instead.
func
(
*
ReceiptParaNodeVoteDone
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_paranodegroup_proto_rawDescGZIP
(),
[]
int
{
6
}
}
func
(
x
*
ReceiptParaNodeVoteDone
)
GetId
()
string
{
if
x
!=
nil
{
return
x
.
Id
}
return
""
}
func
(
x
*
ReceiptParaNodeVoteDone
)
GetTitle
()
string
{
if
x
!=
nil
{
return
x
.
Title
}
return
""
}
func
(
x
*
ReceiptParaNodeVoteDone
)
GetTargetAddr
()
string
{
if
x
!=
nil
{
return
x
.
TargetAddr
}
return
""
}
func
(
x
*
ReceiptParaNodeVoteDone
)
GetTotalNodes
()
int32
{
if
x
!=
nil
{
return
x
.
TotalNodes
}
return
0
}
func
(
x
*
ReceiptParaNodeVoteDone
)
GetTotalVote
()
int32
{
if
x
!=
nil
{
return
x
.
TotalVote
}
return
0
}
func
(
x
*
ReceiptParaNodeVoteDone
)
GetMostVote
()
int32
{
if
x
!=
nil
{
return
x
.
MostVote
}
return
0
}
func
(
x
*
ReceiptParaNodeVoteDone
)
GetVoteRst
()
string
{
if
x
!=
nil
{
return
x
.
VoteRst
}
return
""
}
func
(
x
*
ReceiptParaNodeVoteDone
)
GetDoneStatus
()
int32
{
if
x
!=
nil
{
return
x
.
DoneStatus
}
return
0
}
type
ParaNodeGroupConfig
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Title
string
`protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
Op
uint32
`protobuf:"varint,2,opt,name=op,proto3" json:"op,omitempty"`
Id
string
`protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"`
Addrs
string
`protobuf:"bytes,4,opt,name=addrs,proto3" json:"addrs,omitempty"`
CoinsFrozen
int64
`protobuf:"varint,5,opt,name=coinsFrozen,proto3" json:"coinsFrozen,omitempty"`
BlsPubKeys
string
`protobuf:"bytes,6,opt,name=blsPubKeys,proto3" json:"blsPubKeys,omitempty"`
}
func
(
x
*
ParaNodeGroupConfig
)
Reset
()
{
*
x
=
ParaNodeGroupConfig
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_paranodegroup_proto_msgTypes
[
7
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
ParaNodeGroupConfig
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
ParaNodeGroupConfig
)
ProtoMessage
()
{}
func
(
x
*
ParaNodeGroupConfig
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_paranodegroup_proto_msgTypes
[
7
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use ParaNodeGroupConfig.ProtoReflect.Descriptor instead.
func
(
*
ParaNodeGroupConfig
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_paranodegroup_proto_rawDescGZIP
(),
[]
int
{
7
}
}
func
(
x
*
ParaNodeGroupConfig
)
GetTitle
()
string
{
if
x
!=
nil
{
return
x
.
Title
}
return
""
}
func
(
x
*
ParaNodeGroupConfig
)
GetOp
()
uint32
{
if
x
!=
nil
{
return
x
.
Op
}
return
0
}
func
(
x
*
ParaNodeGroupConfig
)
GetId
()
string
{
if
x
!=
nil
{
return
x
.
Id
}
return
""
}
func
(
x
*
ParaNodeGroupConfig
)
GetAddrs
()
string
{
if
x
!=
nil
{
return
x
.
Addrs
}
return
""
}
func
(
x
*
ParaNodeGroupConfig
)
GetCoinsFrozen
()
int64
{
if
x
!=
nil
{
return
x
.
CoinsFrozen
}
return
0
}
func
(
x
*
ParaNodeGroupConfig
)
GetBlsPubKeys
()
string
{
if
x
!=
nil
{
return
x
.
BlsPubKeys
}
return
""
}
type
ParaNodeGroupStatus
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Id
string
`protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Status
int32
`protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"`
Title
string
`protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"`
TargetAddrs
string
`protobuf:"bytes,4,opt,name=targetAddrs,proto3" json:"targetAddrs,omitempty"`
CoinsFrozen
int64
`protobuf:"varint,5,opt,name=coinsFrozen,proto3" json:"coinsFrozen,omitempty"`
FromAddr
string
`protobuf:"bytes,6,opt,name=fromAddr,proto3" json:"fromAddr,omitempty"`
Height
int64
`protobuf:"varint,7,opt,name=height,proto3" json:"height,omitempty"`
BlsPubKeys
string
`protobuf:"bytes,8,opt,name=blsPubKeys,proto3" json:"blsPubKeys,omitempty"`
}
func
(
x
*
ParaNodeGroupStatus
)
Reset
()
{
*
x
=
ParaNodeGroupStatus
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_paranodegroup_proto_msgTypes
[
8
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
ParaNodeGroupStatus
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
ParaNodeGroupStatus
)
ProtoMessage
()
{}
func
(
x
*
ParaNodeGroupStatus
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_paranodegroup_proto_msgTypes
[
8
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use ParaNodeGroupStatus.ProtoReflect.Descriptor instead.
func
(
*
ParaNodeGroupStatus
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_paranodegroup_proto_rawDescGZIP
(),
[]
int
{
8
}
}
func
(
x
*
ParaNodeGroupStatus
)
GetId
()
string
{
if
x
!=
nil
{
return
x
.
Id
}
return
""
}
func
(
x
*
ParaNodeGroupStatus
)
GetStatus
()
int32
{
if
x
!=
nil
{
return
x
.
Status
}
return
0
}
func
(
x
*
ParaNodeGroupStatus
)
GetTitle
()
string
{
if
x
!=
nil
{
return
x
.
Title
}
return
""
}
func
(
x
*
ParaNodeGroupStatus
)
GetTargetAddrs
()
string
{
if
x
!=
nil
{
return
x
.
TargetAddrs
}
return
""
}
func
(
x
*
ParaNodeGroupStatus
)
GetCoinsFrozen
()
int64
{
if
x
!=
nil
{
return
x
.
CoinsFrozen
}
return
0
}
func
(
x
*
ParaNodeGroupStatus
)
GetFromAddr
()
string
{
if
x
!=
nil
{
return
x
.
FromAddr
}
return
""
}
func
(
x
*
ParaNodeGroupStatus
)
GetHeight
()
int64
{
if
x
!=
nil
{
return
x
.
Height
}
return
0
}
func
(
x
*
ParaNodeGroupStatus
)
GetBlsPubKeys
()
string
{
if
x
!=
nil
{
return
x
.
BlsPubKeys
}
return
""
}
type
ReceiptParaNodeGroupConfig
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Addr
string
`protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"`
Config
*
ParaNodeGroupConfig
`protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"`
Prev
*
ParaNodeGroupStatus
`protobuf:"bytes,3,opt,name=prev,proto3" json:"prev,omitempty"`
Current
*
ParaNodeGroupStatus
`protobuf:"bytes,4,opt,name=current,proto3" json:"current,omitempty"`
}
func
(
x
*
ReceiptParaNodeGroupConfig
)
Reset
()
{
*
x
=
ReceiptParaNodeGroupConfig
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_paranodegroup_proto_msgTypes
[
9
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
ReceiptParaNodeGroupConfig
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
ReceiptParaNodeGroupConfig
)
ProtoMessage
()
{}
func
(
x
*
ReceiptParaNodeGroupConfig
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_paranodegroup_proto_msgTypes
[
9
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use ReceiptParaNodeGroupConfig.ProtoReflect.Descriptor instead.
func
(
*
ReceiptParaNodeGroupConfig
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_paranodegroup_proto_rawDescGZIP
(),
[]
int
{
9
}
}
func
(
x
*
ReceiptParaNodeGroupConfig
)
GetAddr
()
string
{
if
x
!=
nil
{
return
x
.
Addr
}
return
""
}
func
(
x
*
ReceiptParaNodeGroupConfig
)
GetConfig
()
*
ParaNodeGroupConfig
{
if
x
!=
nil
{
return
x
.
Config
}
return
nil
}
func
(
x
*
ReceiptParaNodeGroupConfig
)
GetPrev
()
*
ParaNodeGroupStatus
{
if
x
!=
nil
{
return
x
.
Prev
}
return
nil
}
func
(
x
*
ReceiptParaNodeGroupConfig
)
GetCurrent
()
*
ParaNodeGroupStatus
{
if
x
!=
nil
{
return
x
.
Current
}
return
nil
}
// node query
type
ReqParacrossNodeInfo
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Title
string
`protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
Id
string
`protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
Addr
string
`protobuf:"bytes,3,opt,name=addr,proto3" json:"addr,omitempty"`
Status
int32
`protobuf:"varint,4,opt,name=status,proto3" json:"status,omitempty"`
BlsPubKey
string
`protobuf:"bytes,5,opt,name=blsPubKey,proto3" json:"blsPubKey,omitempty"`
}
func
(
x
*
ReqParacrossNodeInfo
)
Reset
()
{
*
x
=
ReqParacrossNodeInfo
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_paranodegroup_proto_msgTypes
[
10
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
ReqParacrossNodeInfo
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
ReqParacrossNodeInfo
)
ProtoMessage
()
{}
func
(
x
*
ReqParacrossNodeInfo
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_paranodegroup_proto_msgTypes
[
10
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use ReqParacrossNodeInfo.ProtoReflect.Descriptor instead.
func
(
*
ReqParacrossNodeInfo
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_paranodegroup_proto_rawDescGZIP
(),
[]
int
{
10
}
}
func
(
x
*
ReqParacrossNodeInfo
)
GetTitle
()
string
{
if
x
!=
nil
{
return
x
.
Title
}
return
""
}
func
(
x
*
ReqParacrossNodeInfo
)
GetId
()
string
{
if
x
!=
nil
{
return
x
.
Id
}
return
""
}
func
(
x
*
ReqParacrossNodeInfo
)
GetAddr
()
string
{
if
x
!=
nil
{
return
x
.
Addr
}
return
""
}
func
(
x
*
ReqParacrossNodeInfo
)
GetStatus
()
int32
{
if
x
!=
nil
{
return
x
.
Status
}
return
0
}
func
(
x
*
ReqParacrossNodeInfo
)
GetBlsPubKey
()
string
{
if
x
!=
nil
{
return
x
.
BlsPubKey
}
return
""
}
type
RespParacrossNodeAddrs
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Ids
[]
*
ParaNodeIdStatus
`protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"`
}
func
(
x
*
RespParacrossNodeAddrs
)
Reset
()
{
*
x
=
RespParacrossNodeAddrs
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_paranodegroup_proto_msgTypes
[
11
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
RespParacrossNodeAddrs
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
RespParacrossNodeAddrs
)
ProtoMessage
()
{}
func
(
x
*
RespParacrossNodeAddrs
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_paranodegroup_proto_msgTypes
[
11
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use RespParacrossNodeAddrs.ProtoReflect.Descriptor instead.
func
(
*
RespParacrossNodeAddrs
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_paranodegroup_proto_rawDescGZIP
(),
[]
int
{
11
}
}
func
(
x
*
RespParacrossNodeAddrs
)
GetIds
()
[]
*
ParaNodeIdStatus
{
if
x
!=
nil
{
return
x
.
Ids
}
return
nil
}
type
RespParacrossNodeGroups
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
unknownFields
protoimpl
.
UnknownFields
Ids
[]
*
ParaNodeGroupStatus
`protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"`
}
func
(
x
*
RespParacrossNodeGroups
)
Reset
()
{
*
x
=
RespParacrossNodeGroups
{}
if
protoimpl
.
UnsafeEnabled
{
mi
:=
&
file_paranodegroup_proto_msgTypes
[
12
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
}
func
(
x
*
RespParacrossNodeGroups
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
RespParacrossNodeGroups
)
ProtoMessage
()
{}
func
(
x
*
RespParacrossNodeGroups
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_paranodegroup_proto_msgTypes
[
12
]
if
protoimpl
.
UnsafeEnabled
&&
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use RespParacrossNodeGroups.ProtoReflect.Descriptor instead.
func
(
*
RespParacrossNodeGroups
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_paranodegroup_proto_rawDescGZIP
(),
[]
int
{
12
}
}
func
(
x
*
RespParacrossNodeGroups
)
GetIds
()
[]
*
ParaNodeGroupStatus
{
if
x
!=
nil
{
return
x
.
Ids
}
return
nil
}
var
File_paranodegroup_proto
protoreflect
.
FileDescriptor
var
file_paranodegroup_proto_rawDesc
=
[]
byte
{
0x0a
,
0x13
,
0x70
,
0x61
,
0x72
,
0x61
,
0x6e
,
0x6f
,
0x64
,
0x65
,
0x67
,
0x72
,
0x6f
,
0x75
,
0x70
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x12
,
0x05
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x1a
,
0x11
,
0x74
,
0x72
,
0x61
,
0x6e
,
0x73
,
0x61
,
0x63
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x1a
,
0x0c
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x6f
,
0x6e
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x1a
,
0x10
,
0x62
,
0x6c
,
0x6f
,
0x63
,
0x6b
,
0x63
,
0x68
,
0x61
,
0x69
,
0x6e
,
0x2e
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x22
,
0xb4
,
0x01
,
0x0a
,
0x12
,
0x50
,
0x61
,
0x72
,
0x61
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x41
,
0x64
,
0x64
,
0x72
,
0x43
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x74
,
0x69
,
0x74
,
0x6c
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x05
,
0x74
,
0x69
,
0x74
,
0x6c
,
0x65
,
0x12
,
0x0e
,
0x0a
,
0x02
,
0x6f
,
0x70
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0d
,
0x52
,
0x02
,
0x6f
,
0x70
,
0x12
,
0x0e
,
0x0a
,
0x02
,
0x69
,
0x64
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x02
,
0x69
,
0x64
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x61
,
0x64
,
0x64
,
0x72
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x61
,
0x64
,
0x64
,
0x72
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x76
,
0x61
,
0x6c
,
0x75
,
0x65
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x0d
,
0x52
,
0x05
,
0x76
,
0x61
,
0x6c
,
0x75
,
0x65
,
0x12
,
0x20
,
0x0a
,
0x0b
,
0x63
,
0x6f
,
0x69
,
0x6e
,
0x73
,
0x46
,
0x72
,
0x6f
,
0x7a
,
0x65
,
0x6e
,
0x18
,
0x06
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x0b
,
0x63
,
0x6f
,
0x69
,
0x6e
,
0x73
,
0x46
,
0x72
,
0x6f
,
0x7a
,
0x65
,
0x6e
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x62
,
0x6c
,
0x73
,
0x50
,
0x75
,
0x62
,
0x4b
,
0x65
,
0x79
,
0x18
,
0x07
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x09
,
0x62
,
0x6c
,
0x73
,
0x50
,
0x75
,
0x62
,
0x4b
,
0x65
,
0x79
,
0x22
,
0x40
,
0x0a
,
0x12
,
0x50
,
0x61
,
0x72
,
0x61
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x56
,
0x6f
,
0x74
,
0x65
,
0x44
,
0x65
,
0x74
,
0x61
,
0x69
,
0x6c
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x61
,
0x64
,
0x64
,
0x72
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x09
,
0x52
,
0x05
,
0x61
,
0x64
,
0x64
,
0x72
,
0x73
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x76
,
0x6f
,
0x74
,
0x65
,
0x73
,
0x18
,
0x02
,
0x20
,
0x03
,
0x28
,
0x09
,
0x52
,
0x05
,
0x76
,
0x6f
,
0x74
,
0x65
,
0x73
,
0x22
,
0xae
,
0x01
,
0x0a
,
0x14
,
0x50
,
0x61
,
0x72
,
0x61
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x41
,
0x64
,
0x64
,
0x72
,
0x49
,
0x64
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x61
,
0x64
,
0x64
,
0x72
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x61
,
0x64
,
0x64
,
0x72
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x70
,
0x72
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x64
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x70
,
0x72
,
0x6f
,
0x70
,
0x6f
,
0x73
,
0x61
,
0x6c
,
0x49
,
0x64
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x71
,
0x75
,
0x69
,
0x74
,
0x49
,
0x64
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x71
,
0x75
,
0x69
,
0x74
,
0x49
,
0x64
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x73
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x06
,
0x73
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x74
,
0x69
,
0x74
,
0x6c
,
0x65
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x05
,
0x74
,
0x69
,
0x74
,
0x6c
,
0x65
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x62
,
0x6c
,
0x73
,
0x50
,
0x75
,
0x62
,
0x4b
,
0x65
,
0x79
,
0x18
,
0x06
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x09
,
0x62
,
0x6c
,
0x73
,
0x50
,
0x75
,
0x62
,
0x4b
,
0x65
,
0x79
,
0x22
,
0x95
,
0x02
,
0x0a
,
0x10
,
0x50
,
0x61
,
0x72
,
0x61
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x49
,
0x64
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x12
,
0x0e
,
0x0a
,
0x02
,
0x69
,
0x64
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x02
,
0x69
,
0x64
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x73
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x06
,
0x73
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x74
,
0x69
,
0x74
,
0x6c
,
0x65
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x05
,
0x74
,
0x69
,
0x74
,
0x6c
,
0x65
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x74
,
0x61
,
0x72
,
0x67
,
0x65
,
0x74
,
0x41
,
0x64
,
0x64
,
0x72
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x74
,
0x61
,
0x72
,
0x67
,
0x65
,
0x74
,
0x41
,
0x64
,
0x64
,
0x72
,
0x12
,
0x20
,
0x0a
,
0x0b
,
0x63
,
0x6f
,
0x69
,
0x6e
,
0x73
,
0x46
,
0x72
,
0x6f
,
0x7a
,
0x65
,
0x6e
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x0b
,
0x63
,
0x6f
,
0x69
,
0x6e
,
0x73
,
0x46
,
0x72
,
0x6f
,
0x7a
,
0x65
,
0x6e
,
0x12
,
0x2f
,
0x0a
,
0x05
,
0x76
,
0x6f
,
0x74
,
0x65
,
0x73
,
0x18
,
0x06
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x19
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x50
,
0x61
,
0x72
,
0x61
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x56
,
0x6f
,
0x74
,
0x65
,
0x44
,
0x65
,
0x74
,
0x61
,
0x69
,
0x6c
,
0x52
,
0x05
,
0x76
,
0x6f
,
0x74
,
0x65
,
0x73
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x66
,
0x72
,
0x6f
,
0x6d
,
0x41
,
0x64
,
0x64
,
0x72
,
0x18
,
0x07
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x08
,
0x66
,
0x72
,
0x6f
,
0x6d
,
0x41
,
0x64
,
0x64
,
0x72
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x68
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x18
,
0x08
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x06
,
0x68
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x62
,
0x6c
,
0x73
,
0x50
,
0x75
,
0x62
,
0x4b
,
0x65
,
0x79
,
0x18
,
0x09
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x09
,
0x62
,
0x6c
,
0x73
,
0x50
,
0x75
,
0x62
,
0x4b
,
0x65
,
0x79
,
0x22
,
0xbe
,
0x01
,
0x0a
,
0x15
,
0x52
,
0x65
,
0x63
,
0x65
,
0x69
,
0x70
,
0x74
,
0x50
,
0x61
,
0x72
,
0x61
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x43
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x61
,
0x64
,
0x64
,
0x72
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x61
,
0x64
,
0x64
,
0x72
,
0x12
,
0x31
,
0x0a
,
0x06
,
0x63
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x19
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x50
,
0x61
,
0x72
,
0x61
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x41
,
0x64
,
0x64
,
0x72
,
0x43
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x52
,
0x06
,
0x63
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x12
,
0x2b
,
0x0a
,
0x04
,
0x70
,
0x72
,
0x65
,
0x76
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x17
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x50
,
0x61
,
0x72
,
0x61
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x49
,
0x64
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x52
,
0x04
,
0x70
,
0x72
,
0x65
,
0x76
,
0x12
,
0x31
,
0x0a
,
0x07
,
0x63
,
0x75
,
0x72
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x17
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x50
,
0x61
,
0x72
,
0x61
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x49
,
0x64
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x52
,
0x07
,
0x63
,
0x75
,
0x72
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x22
,
0xa3
,
0x01
,
0x0a
,
0x1d
,
0x52
,
0x65
,
0x63
,
0x65
,
0x69
,
0x70
,
0x74
,
0x50
,
0x61
,
0x72
,
0x61
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x41
,
0x64
,
0x64
,
0x72
,
0x53
,
0x74
,
0x61
,
0x74
,
0x55
,
0x70
,
0x64
,
0x61
,
0x74
,
0x65
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x66
,
0x72
,
0x6f
,
0x6d
,
0x41
,
0x64
,
0x64
,
0x72
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x08
,
0x66
,
0x72
,
0x6f
,
0x6d
,
0x41
,
0x64
,
0x64
,
0x72
,
0x12
,
0x2f
,
0x0a
,
0x04
,
0x70
,
0x72
,
0x65
,
0x76
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x1b
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x50
,
0x61
,
0x72
,
0x61
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x41
,
0x64
,
0x64
,
0x72
,
0x49
,
0x64
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x52
,
0x04
,
0x70
,
0x72
,
0x65
,
0x76
,
0x12
,
0x35
,
0x0a
,
0x07
,
0x63
,
0x75
,
0x72
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x1b
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x50
,
0x61
,
0x72
,
0x61
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x41
,
0x64
,
0x64
,
0x72
,
0x49
,
0x64
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x52
,
0x07
,
0x63
,
0x75
,
0x72
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x22
,
0xf3
,
0x01
,
0x0a
,
0x17
,
0x52
,
0x65
,
0x63
,
0x65
,
0x69
,
0x70
,
0x74
,
0x50
,
0x61
,
0x72
,
0x61
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x56
,
0x6f
,
0x74
,
0x65
,
0x44
,
0x6f
,
0x6e
,
0x65
,
0x12
,
0x0e
,
0x0a
,
0x02
,
0x69
,
0x64
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x02
,
0x69
,
0x64
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x74
,
0x69
,
0x74
,
0x6c
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x05
,
0x74
,
0x69
,
0x74
,
0x6c
,
0x65
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x74
,
0x61
,
0x72
,
0x67
,
0x65
,
0x74
,
0x41
,
0x64
,
0x64
,
0x72
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x74
,
0x61
,
0x72
,
0x67
,
0x65
,
0x74
,
0x41
,
0x64
,
0x64
,
0x72
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x74
,
0x6f
,
0x74
,
0x61
,
0x6c
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x73
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x0a
,
0x74
,
0x6f
,
0x74
,
0x61
,
0x6c
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x73
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x74
,
0x6f
,
0x74
,
0x61
,
0x6c
,
0x56
,
0x6f
,
0x74
,
0x65
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x09
,
0x74
,
0x6f
,
0x74
,
0x61
,
0x6c
,
0x56
,
0x6f
,
0x74
,
0x65
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x6d
,
0x6f
,
0x73
,
0x74
,
0x56
,
0x6f
,
0x74
,
0x65
,
0x18
,
0x06
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x08
,
0x6d
,
0x6f
,
0x73
,
0x74
,
0x56
,
0x6f
,
0x74
,
0x65
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x76
,
0x6f
,
0x74
,
0x65
,
0x52
,
0x73
,
0x74
,
0x18
,
0x07
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x76
,
0x6f
,
0x74
,
0x65
,
0x52
,
0x73
,
0x74
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x64
,
0x6f
,
0x6e
,
0x65
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x18
,
0x08
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x0a
,
0x64
,
0x6f
,
0x6e
,
0x65
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x22
,
0xa3
,
0x01
,
0x0a
,
0x13
,
0x50
,
0x61
,
0x72
,
0x61
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x47
,
0x72
,
0x6f
,
0x75
,
0x70
,
0x43
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x74
,
0x69
,
0x74
,
0x6c
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x05
,
0x74
,
0x69
,
0x74
,
0x6c
,
0x65
,
0x12
,
0x0e
,
0x0a
,
0x02
,
0x6f
,
0x70
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0d
,
0x52
,
0x02
,
0x6f
,
0x70
,
0x12
,
0x0e
,
0x0a
,
0x02
,
0x69
,
0x64
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x02
,
0x69
,
0x64
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x61
,
0x64
,
0x64
,
0x72
,
0x73
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x05
,
0x61
,
0x64
,
0x64
,
0x72
,
0x73
,
0x12
,
0x20
,
0x0a
,
0x0b
,
0x63
,
0x6f
,
0x69
,
0x6e
,
0x73
,
0x46
,
0x72
,
0x6f
,
0x7a
,
0x65
,
0x6e
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x0b
,
0x63
,
0x6f
,
0x69
,
0x6e
,
0x73
,
0x46
,
0x72
,
0x6f
,
0x7a
,
0x65
,
0x6e
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x62
,
0x6c
,
0x73
,
0x50
,
0x75
,
0x62
,
0x4b
,
0x65
,
0x79
,
0x73
,
0x18
,
0x06
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x62
,
0x6c
,
0x73
,
0x50
,
0x75
,
0x62
,
0x4b
,
0x65
,
0x79
,
0x73
,
0x22
,
0xeb
,
0x01
,
0x0a
,
0x13
,
0x50
,
0x61
,
0x72
,
0x61
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x47
,
0x72
,
0x6f
,
0x75
,
0x70
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x12
,
0x0e
,
0x0a
,
0x02
,
0x69
,
0x64
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x02
,
0x69
,
0x64
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x73
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x06
,
0x73
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x74
,
0x69
,
0x74
,
0x6c
,
0x65
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x05
,
0x74
,
0x69
,
0x74
,
0x6c
,
0x65
,
0x12
,
0x20
,
0x0a
,
0x0b
,
0x74
,
0x61
,
0x72
,
0x67
,
0x65
,
0x74
,
0x41
,
0x64
,
0x64
,
0x72
,
0x73
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0b
,
0x74
,
0x61
,
0x72
,
0x67
,
0x65
,
0x74
,
0x41
,
0x64
,
0x64
,
0x72
,
0x73
,
0x12
,
0x20
,
0x0a
,
0x0b
,
0x63
,
0x6f
,
0x69
,
0x6e
,
0x73
,
0x46
,
0x72
,
0x6f
,
0x7a
,
0x65
,
0x6e
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x0b
,
0x63
,
0x6f
,
0x69
,
0x6e
,
0x73
,
0x46
,
0x72
,
0x6f
,
0x7a
,
0x65
,
0x6e
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x66
,
0x72
,
0x6f
,
0x6d
,
0x41
,
0x64
,
0x64
,
0x72
,
0x18
,
0x06
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x08
,
0x66
,
0x72
,
0x6f
,
0x6d
,
0x41
,
0x64
,
0x64
,
0x72
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x68
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x18
,
0x07
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x06
,
0x68
,
0x65
,
0x69
,
0x67
,
0x68
,
0x74
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x62
,
0x6c
,
0x73
,
0x50
,
0x75
,
0x62
,
0x4b
,
0x65
,
0x79
,
0x73
,
0x18
,
0x08
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x62
,
0x6c
,
0x73
,
0x50
,
0x75
,
0x62
,
0x4b
,
0x65
,
0x79
,
0x73
,
0x22
,
0xca
,
0x01
,
0x0a
,
0x1a
,
0x52
,
0x65
,
0x63
,
0x65
,
0x69
,
0x70
,
0x74
,
0x50
,
0x61
,
0x72
,
0x61
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x47
,
0x72
,
0x6f
,
0x75
,
0x70
,
0x43
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x61
,
0x64
,
0x64
,
0x72
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x61
,
0x64
,
0x64
,
0x72
,
0x12
,
0x32
,
0x0a
,
0x06
,
0x63
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x1a
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x50
,
0x61
,
0x72
,
0x61
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x47
,
0x72
,
0x6f
,
0x75
,
0x70
,
0x43
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x52
,
0x06
,
0x63
,
0x6f
,
0x6e
,
0x66
,
0x69
,
0x67
,
0x12
,
0x2e
,
0x0a
,
0x04
,
0x70
,
0x72
,
0x65
,
0x76
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x1a
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x50
,
0x61
,
0x72
,
0x61
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x47
,
0x72
,
0x6f
,
0x75
,
0x70
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x52
,
0x04
,
0x70
,
0x72
,
0x65
,
0x76
,
0x12
,
0x34
,
0x0a
,
0x07
,
0x63
,
0x75
,
0x72
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x1a
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x50
,
0x61
,
0x72
,
0x61
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x47
,
0x72
,
0x6f
,
0x75
,
0x70
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x52
,
0x07
,
0x63
,
0x75
,
0x72
,
0x72
,
0x65
,
0x6e
,
0x74
,
0x22
,
0x86
,
0x01
,
0x0a
,
0x14
,
0x52
,
0x65
,
0x71
,
0x50
,
0x61
,
0x72
,
0x61
,
0x63
,
0x72
,
0x6f
,
0x73
,
0x73
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x49
,
0x6e
,
0x66
,
0x6f
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x74
,
0x69
,
0x74
,
0x6c
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x05
,
0x74
,
0x69
,
0x74
,
0x6c
,
0x65
,
0x12
,
0x0e
,
0x0a
,
0x02
,
0x69
,
0x64
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x02
,
0x69
,
0x64
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x61
,
0x64
,
0x64
,
0x72
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x61
,
0x64
,
0x64
,
0x72
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x73
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x05
,
0x52
,
0x06
,
0x73
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x62
,
0x6c
,
0x73
,
0x50
,
0x75
,
0x62
,
0x4b
,
0x65
,
0x79
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x09
,
0x62
,
0x6c
,
0x73
,
0x50
,
0x75
,
0x62
,
0x4b
,
0x65
,
0x79
,
0x22
,
0x43
,
0x0a
,
0x16
,
0x52
,
0x65
,
0x73
,
0x70
,
0x50
,
0x61
,
0x72
,
0x61
,
0x63
,
0x72
,
0x6f
,
0x73
,
0x73
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x41
,
0x64
,
0x64
,
0x72
,
0x73
,
0x12
,
0x29
,
0x0a
,
0x03
,
0x69
,
0x64
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x17
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x50
,
0x61
,
0x72
,
0x61
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x49
,
0x64
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x52
,
0x03
,
0x69
,
0x64
,
0x73
,
0x22
,
0x47
,
0x0a
,
0x17
,
0x52
,
0x65
,
0x73
,
0x70
,
0x50
,
0x61
,
0x72
,
0x61
,
0x63
,
0x72
,
0x6f
,
0x73
,
0x73
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x47
,
0x72
,
0x6f
,
0x75
,
0x70
,
0x73
,
0x12
,
0x2c
,
0x0a
,
0x03
,
0x69
,
0x64
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x1a
,
0x2e
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x2e
,
0x50
,
0x61
,
0x72
,
0x61
,
0x4e
,
0x6f
,
0x64
,
0x65
,
0x47
,
0x72
,
0x6f
,
0x75
,
0x70
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x52
,
0x03
,
0x69
,
0x64
,
0x73
,
0x42
,
0x0a
,
0x5a
,
0x08
,
0x2e
,
0x2e
,
0x2f
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x62
,
0x06
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x33
,
}
var
(
file_paranodegroup_proto_rawDescOnce
sync
.
Once
file_paranodegroup_proto_rawDescData
=
file_paranodegroup_proto_rawDesc
)
func
file_paranodegroup_proto_rawDescGZIP
()
[]
byte
{
file_paranodegroup_proto_rawDescOnce
.
Do
(
func
()
{
file_paranodegroup_proto_rawDescData
=
protoimpl
.
X
.
CompressGZIP
(
file_paranodegroup_proto_rawDescData
)
})
return
file_paranodegroup_proto_rawDescData
}
var
file_paranodegroup_proto_msgTypes
=
make
([]
protoimpl
.
MessageInfo
,
13
)
var
file_paranodegroup_proto_goTypes
=
[]
interface
{}{
(
*
ParaNodeAddrConfig
)(
nil
),
// 0: types.ParaNodeAddrConfig
(
*
ParaNodeVoteDetail
)(
nil
),
// 1: types.ParaNodeVoteDetail
(
*
ParaNodeAddrIdStatus
)(
nil
),
// 2: types.ParaNodeAddrIdStatus
(
*
ParaNodeIdStatus
)(
nil
),
// 3: types.ParaNodeIdStatus
(
*
ReceiptParaNodeConfig
)(
nil
),
// 4: types.ReceiptParaNodeConfig
(
*
ReceiptParaNodeAddrStatUpdate
)(
nil
),
// 5: types.ReceiptParaNodeAddrStatUpdate
(
*
ReceiptParaNodeVoteDone
)(
nil
),
// 6: types.ReceiptParaNodeVoteDone
(
*
ParaNodeGroupConfig
)(
nil
),
// 7: types.ParaNodeGroupConfig
(
*
ParaNodeGroupStatus
)(
nil
),
// 8: types.ParaNodeGroupStatus
(
*
ReceiptParaNodeGroupConfig
)(
nil
),
// 9: types.ReceiptParaNodeGroupConfig
(
*
ReqParacrossNodeInfo
)(
nil
),
// 10: types.ReqParacrossNodeInfo
(
*
RespParacrossNodeAddrs
)(
nil
),
// 11: types.RespParacrossNodeAddrs
(
*
RespParacrossNodeGroups
)(
nil
),
// 12: types.RespParacrossNodeGroups
}
var
file_paranodegroup_proto_depIdxs
=
[]
int32
{
1
,
// 0: types.ParaNodeIdStatus.votes:type_name -> types.ParaNodeVoteDetail
0
,
// 1: types.ReceiptParaNodeConfig.config:type_name -> types.ParaNodeAddrConfig
3
,
// 2: types.ReceiptParaNodeConfig.prev:type_name -> types.ParaNodeIdStatus
3
,
// 3: types.ReceiptParaNodeConfig.current:type_name -> types.ParaNodeIdStatus
2
,
// 4: types.ReceiptParaNodeAddrStatUpdate.prev:type_name -> types.ParaNodeAddrIdStatus
2
,
// 5: types.ReceiptParaNodeAddrStatUpdate.current:type_name -> types.ParaNodeAddrIdStatus
7
,
// 6: types.ReceiptParaNodeGroupConfig.config:type_name -> types.ParaNodeGroupConfig
8
,
// 7: types.ReceiptParaNodeGroupConfig.prev:type_name -> types.ParaNodeGroupStatus
8
,
// 8: types.ReceiptParaNodeGroupConfig.current:type_name -> types.ParaNodeGroupStatus
3
,
// 9: types.RespParacrossNodeAddrs.ids:type_name -> types.ParaNodeIdStatus
8
,
// 10: types.RespParacrossNodeGroups.ids:type_name -> types.ParaNodeGroupStatus
11
,
// [11:11] is the sub-list for method output_type
11
,
// [11:11] is the sub-list for method input_type
11
,
// [11:11] is the sub-list for extension type_name
11
,
// [11:11] is the sub-list for extension extendee
0
,
// [0:11] is the sub-list for field type_name
}
func
init
()
{
file_paranodegroup_proto_init
()
}
func
file_paranodegroup_proto_init
()
{
if
File_paranodegroup_proto
!=
nil
{
return
}
if
!
protoimpl
.
UnsafeEnabled
{
file_paranodegroup_proto_msgTypes
[
0
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ParaNodeAddrConfig
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_paranodegroup_proto_msgTypes
[
1
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ParaNodeVoteDetail
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_paranodegroup_proto_msgTypes
[
2
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ParaNodeAddrIdStatus
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_paranodegroup_proto_msgTypes
[
3
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ParaNodeIdStatus
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_paranodegroup_proto_msgTypes
[
4
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ReceiptParaNodeConfig
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_paranodegroup_proto_msgTypes
[
5
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ReceiptParaNodeAddrStatUpdate
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_paranodegroup_proto_msgTypes
[
6
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ReceiptParaNodeVoteDone
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_paranodegroup_proto_msgTypes
[
7
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ParaNodeGroupConfig
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_paranodegroup_proto_msgTypes
[
8
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ParaNodeGroupStatus
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_paranodegroup_proto_msgTypes
[
9
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ReceiptParaNodeGroupConfig
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_paranodegroup_proto_msgTypes
[
10
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
ReqParacrossNodeInfo
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_paranodegroup_proto_msgTypes
[
11
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
RespParacrossNodeAddrs
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
file_paranodegroup_proto_msgTypes
[
12
]
.
Exporter
=
func
(
v
interface
{},
i
int
)
interface
{}
{
switch
v
:=
v
.
(
*
RespParacrossNodeGroups
);
i
{
case
0
:
return
&
v
.
state
case
1
:
return
&
v
.
sizeCache
case
2
:
return
&
v
.
unknownFields
default
:
return
nil
}
}
}
type
x
struct
{}
out
:=
protoimpl
.
TypeBuilder
{
File
:
protoimpl
.
DescBuilder
{
GoPackagePath
:
reflect
.
TypeOf
(
x
{})
.
PkgPath
(),
RawDescriptor
:
file_paranodegroup_proto_rawDesc
,
NumEnums
:
0
,
NumMessages
:
13
,
NumExtensions
:
0
,
NumServices
:
0
,
},
GoTypes
:
file_paranodegroup_proto_goTypes
,
DependencyIndexes
:
file_paranodegroup_proto_depIdxs
,
MessageInfos
:
file_paranodegroup_proto_msgTypes
,
}
.
Build
()
File_paranodegroup_proto
=
out
.
File
file_paranodegroup_proto_rawDesc
=
nil
file_paranodegroup_proto_goTypes
=
nil
file_paranodegroup_proto_depIdxs
=
nil
}
plugin/dapp/paracross/types/type.go
View file @
b1ed6b60
...
...
@@ -126,7 +126,9 @@ func (p *ParacrossType) GetLogMap() map[int64]*types.LogInfo {
TyLogParaStageVoteDone
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptSelfConsStageVoteDone
{}),
Name
:
"LogParaSelfConfStageVoteDoen"
},
TyLogParaStageGroupUpdate
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptSelfConsStagesUpdate
{}),
Name
:
"LogParaSelfConfStagesUpdate"
},
TyLogParaBindMinerAddr
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParaBindMinerInfo
{}),
Name
:
"TyLogParaBindMinerAddrUpdate"
},
TyLogParaBindMinerNode
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParaNodeBindListUpdate
{}),
Name
:
"TyLogParaBindNodeListUpdate"
},
TyLogParaBindMinerNode
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParaBindConsensusNodeInfo
{}),
Name
:
"TyLogParaBindNodeUpdate"
},
TyLogParaBindMinerIndex
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParaBindIndex
{}),
Name
:
"TyLogParaBindIndex"
},
TyLogParaMinerBindNodeList
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParaMinerBindNodeList
{}),
Name
:
"TyLogParaMinerBindNodeList"
},
TyLogParaSupervisionNodeConfig
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParaNodeGroupConfig
{}),
Name
:
"LogParaSupervisionNodeConfig"
},
TyLogParaSupervisionNodeGroupAddrsUpdate
:
{
Ty
:
reflect
.
TypeOf
(
types
.
ReceiptConfig
{}),
Name
:
"LogParaSupervisionNodeGroupAddrsUpdate"
},
TyLogParaSupervisionNodeStatusUpdate
:
{
Ty
:
reflect
.
TypeOf
(
ReceiptParaNodeAddrStatUpdate
{}),
Name
:
"LogParaSupervisionNodeStatusUpdate"
},
...
...
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