Commit b1ed6b60 authored by mdj33's avatar mdj33 Committed by 33cn

refactor para bind miner

parent 808969f4
......@@ -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 = "GetNodeBindMinerList"
params.FuncName = "GetMinerBindNodeList"
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()
}
......
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)
}
}
......@@ -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))
}
......
......@@ -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.Miners {
if n.SuperNode == in.SuperNode {
newList.Miners = append(newList.Miners, n)
if in.WithUnBind {
lists.List = append(lists.List, miners...)
} else {
for _, m := range miners {
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
}
......@@ -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, bindList *pt.ParaNodeBindList, statusHeight int64) (*types.Receipt, int64, error) {
func (a *action) rewardBindAddr(coinReward int64, bindAddrList []*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)
}
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;
}
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;
}
......@@ -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) {}
}
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;
//}
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;
}
// 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
}
// 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
}
......@@ -49,6 +49,8 @@ const (
TyLogParaCrossAssetTransfer = 670
TyLogParaBindMinerAddr = 671
TyLogParaBindMinerNode = 672
TyLogParaBindMinerIndex = 673
TyLogParaMinerBindNodeList = 674
// Supervision Node
TyLogParaSupervisionNodeConfig = 680
TyLogParaSupervisionNodeGroupAddrsUpdate = 681
......
// 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
}
// 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
}
......@@ -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"},
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment