Commit a02f9889 authored by jiangpeng's avatar jiangpeng Committed by vipwzw

fix parachain mining

parent 03552689
...@@ -703,7 +703,10 @@ func (client *client) addMinerTx(preStateHash []byte, block *types.Block, main * ...@@ -703,7 +703,10 @@ func (client *client) addMinerTx(preStateHash []byte, block *types.Block, main *
MainBlockHash: main.Seq.Hash, MainBlockHash: main.Seq.Hash,
MainBlockHeight: main.Detail.Block.Height, MainBlockHeight: main.Detail.Block.Height,
} }
tx, err := paracross.CreateRawMinerTx(status) tx, err := paracross.CreateRawMinerTx(&pt.ParacrossMinerAction{
Status:status,
IsSelfConsensus:isParaSelfConsensusForked(status.MainBlockHeight),
})
if err != nil { if err != nil {
return err return err
} }
......
...@@ -359,6 +359,10 @@ func (a *action) Commit(commit *pt.ParacrossCommitAction) (*types.Receipt, error ...@@ -359,6 +359,10 @@ func (a *action) Commit(commit *pt.ParacrossCommitAction) (*types.Receipt, error
saveTitleHeight(a.db, calcTitleHeightKey(commit.Status.Title, commit.Status.Height), stat) saveTitleHeight(a.db, calcTitleHeightKey(commit.Status.Title, commit.Status.Height), stat)
return receipt, nil return receipt, nil
} }
//add commit done receipt
receiptDone := makeDoneReceipt(a.fromaddr, commit, stat, int32(most), int32(commitCount), int32(len(nodes)))
receipt.KV = append(receipt.KV, receiptDone.KV...)
receipt.Logs = append(receipt.Logs, receiptDone.Logs...)
//平行连进行奖励分配,考虑可能的失败,需要在保存共识高度等数据之前处理 //平行连进行奖励分配,考虑可能的失败,需要在保存共识高度等数据之前处理
if types.IsPara() { if types.IsPara() {
...@@ -376,9 +380,6 @@ func (a *action) Commit(commit *pt.ParacrossCommitAction) (*types.Receipt, error ...@@ -376,9 +380,6 @@ func (a *action) Commit(commit *pt.ParacrossCommitAction) (*types.Receipt, error
clog.Info("paracross.Commit commit ----pass", "most", most, "mostHash", hex.EncodeToString([]byte(mostHash))) clog.Info("paracross.Commit commit ----pass", "most", most, "mostHash", hex.EncodeToString([]byte(mostHash)))
stat.Status = pt.ParacrossStatusCommitDone stat.Status = pt.ParacrossStatusCommitDone
receiptDone := makeDoneReceipt(a.fromaddr, commit, stat, int32(most), int32(commitCount), int32(len(nodes)))
receipt.KV = append(receipt.KV, receiptDone.KV...)
receipt.Logs = append(receipt.Logs, receiptDone.Logs...)
saveTitleHeight(a.db, calcTitleHeightKey(commit.Status.Title, commit.Status.Height), stat) saveTitleHeight(a.db, calcTitleHeightKey(commit.Status.Title, commit.Status.Height), stat)
titleStatus.Title = commit.Status.Title titleStatus.Title = commit.Status.Title
...@@ -526,18 +527,35 @@ func (a *action) Miner(miner *pt.ParacrossMinerAction) (*types.Receipt, error) { ...@@ -526,18 +527,35 @@ func (a *action) Miner(miner *pt.ParacrossMinerAction) (*types.Receipt, error) {
logs = append(logs, log) logs = append(logs, log)
minerReceipt := &types.Receipt{Ty: types.ExecOk, KV: nil, Logs: logs} minerReceipt := &types.Receipt{Ty: types.ExecOk, KV: nil, Logs: logs}
//自共识后才挖矿
if miner.IsSelfConsensus {
//增发coins到paracross合约中,只处理发放,不做分配 //增发coins到paracross合约中,只处理发放,不做分配
reward := (types.MGInt("mver.consensus.coinReward", a.height) + totalReward := int64(0)
types.MGInt("mver.consensus.coinDevFund", a.height)) * types.Coin coinReward := types.MGInt("mver.consensus.coinReward", a.height)
issueReceipt, err := a.coinsAccount.ExecIssueCoins(a.execaddr, reward) fundReward := types.MGInt("mver.consensus.coinDevFund", a.height)
if coinReward > 0 {
totalReward += coinReward
}
if fundReward > 0 {
totalReward += fundReward
}
totalReward *= types.Coin
if totalReward > 0 {
issueReceipt, err := a.coinsAccount.ExecIssueCoins(a.execaddr, totalReward)
if err != nil { if err != nil {
clog.Error("paracross miner issue err", "height", miner.Status.Height, clog.Error("paracross miner issue err", "height", miner.Status.Height,
"execAddr", a.execaddr, "amount", reward/types.Coin) "execAddr", a.execaddr, "amount", totalReward/types.Coin)
return nil, err return nil, err
} }
minerReceipt = mergeReceipt(minerReceipt, issueReceipt)
}
}
return mergeReceipt(minerReceipt, issueReceipt), nil return minerReceipt, nil
} }
func getTitleFrom(exec []byte) ([]byte, error) { func getTitleFrom(exec []byte) ([]byte, error) {
......
...@@ -449,7 +449,7 @@ func (s *VoteTestSuite) TestVoteTx() { ...@@ -449,7 +449,7 @@ func (s *VoteTestSuite) TestVoteTx() {
} }
func (s *VoteTestSuite) createVoteTx(status *pt.ParacrossNodeStatus, privFrom string) (*types.Transaction, error) { func (s *VoteTestSuite) createVoteTx(status *pt.ParacrossNodeStatus, privFrom string) (*types.Transaction, error) {
tx, err := pt.CreateRawMinerTx(status) tx, err := pt.CreateRawMinerTx(&pt.ParacrossMinerAction{Status: status})
assert.Nil(s.T(), err, "create asset transfer failed") assert.Nil(s.T(), err, "create asset transfer failed")
if err != nil { if err != nil {
return nil, err return nil, err
......
...@@ -16,12 +16,13 @@ func (a *action) reward(nodeStatus *pt.ParacrossNodeStatus, stat *pt.ParacrossHe ...@@ -16,12 +16,13 @@ func (a *action) reward(nodeStatus *pt.ParacrossNodeStatus, stat *pt.ParacrossHe
fundAddr := types.MGStr("mver.consensus.fundKeyAddr", nodeStatus.Height) fundAddr := types.MGStr("mver.consensus.fundKeyAddr", nodeStatus.Height)
minerAddrs := getMiners(stat.Details, nodeStatus.BlockHash) minerAddrs := getMiners(stat.Details, nodeStatus.BlockHash)
//分配给矿工的单位奖励
//分配给矿工的单位奖励,如果不等分转到发展基金
minerUnit := coinReward / int64(len(minerAddrs)) minerUnit := coinReward / int64(len(minerAddrs))
fundReward += coinReward % minerUnit
receipt := &types.Receipt{Ty: types.ExecOk} receipt := &types.Receipt{Ty: types.ExecOk}
if minerUnit > 0 {
//如果不等分转到发展基金
fundReward += coinReward % minerUnit
for _, addr := range minerAddrs { for _, addr := range minerAddrs {
rep, err := a.coinsAccount.ExecDeposit(addr, a.execaddr, minerUnit) rep, err := a.coinsAccount.ExecDeposit(addr, a.execaddr, minerUnit)
...@@ -32,15 +33,19 @@ func (a *action) reward(nodeStatus *pt.ParacrossNodeStatus, stat *pt.ParacrossHe ...@@ -32,15 +33,19 @@ func (a *action) reward(nodeStatus *pt.ParacrossNodeStatus, stat *pt.ParacrossHe
} }
receipt = mergeReceipt(receipt, rep) receipt = mergeReceipt(receipt, rep)
} }
}
if fundReward > 0 {
rep, err := a.coinsAccount.ExecDeposit(fundAddr, a.execaddr, fundReward) rep, err := a.coinsAccount.ExecDeposit(fundAddr, a.execaddr, fundReward)
if err != nil { if err != nil {
clog.Error("paracross fund reward deposit err", "height", nodeStatus.Height, clog.Error("paracross fund reward deposit err", "height", nodeStatus.Height,
"execAddr", a.execaddr, "fundAddr", fundAddr, "amount", fundReward, "err", err) "execAddr", a.execaddr, "fundAddr", fundAddr, "amount", fundReward, "err", err)
return nil, err return nil, err
} }
receipt = mergeReceipt(receipt, rep)
}
return mergeReceipt(receipt, rep), nil return receipt, nil
} }
// getMiners 获取提交共识消息的矿工地址 // getMiners 获取提交共识消息的矿工地址
......
...@@ -124,6 +124,7 @@ message ParacrossCommitAction { ...@@ -124,6 +124,7 @@ message ParacrossCommitAction {
message ParacrossMinerAction { message ParacrossMinerAction {
ParacrossNodeStatus status = 1; ParacrossNodeStatus status = 1;
bool isSelfConsensus = 2;
} }
message ParacrossAction { message ParacrossAction {
......
...@@ -209,13 +209,11 @@ func CreateRawAssetTransferTx(param *types.CreateTx) (*types.Transaction, error) ...@@ -209,13 +209,11 @@ func CreateRawAssetTransferTx(param *types.CreateTx) (*types.Transaction, error)
} }
// CreateRawMinerTx create miner tx // CreateRawMinerTx create miner tx
func CreateRawMinerTx(status *ParacrossNodeStatus) (*types.Transaction, error) { func CreateRawMinerTx(value *ParacrossMinerAction) (*types.Transaction, error) {
v := &ParacrossMinerAction{
Status: status,
}
action := &ParacrossAction{ action := &ParacrossAction{
Ty: ParacrossActionMiner, Ty: ParacrossActionMiner,
Value: &ParacrossAction_Miner{v}, Value: &ParacrossAction_Miner{value},
} }
tx := &types.Transaction{ tx := &types.Transaction{
Execer: []byte(types.ExecName(ParaX)), Execer: []byte(types.ExecName(ParaX)),
......
...@@ -3,13 +3,13 @@ ...@@ -3,13 +3,13 @@
package types package types
import ( import proto "github.com/golang/protobuf/proto"
context "context" import fmt "fmt"
fmt "fmt" import math "math"
math "math" import types "github.com/33cn/chain33/types"
types "github.com/33cn/chain33/types" import (
proto "github.com/golang/protobuf/proto" context "golang.org/x/net/context"
grpc "google.golang.org/grpc" grpc "google.golang.org/grpc"
) )
...@@ -37,17 +37,16 @@ func (m *ParacrossStatusDetails) Reset() { *m = ParacrossStatusDetails{} ...@@ -37,17 +37,16 @@ func (m *ParacrossStatusDetails) Reset() { *m = ParacrossStatusDetails{}
func (m *ParacrossStatusDetails) String() string { return proto.CompactTextString(m) } func (m *ParacrossStatusDetails) String() string { return proto.CompactTextString(m) }
func (*ParacrossStatusDetails) ProtoMessage() {} func (*ParacrossStatusDetails) ProtoMessage() {}
func (*ParacrossStatusDetails) Descriptor() ([]byte, []int) { func (*ParacrossStatusDetails) Descriptor() ([]byte, []int) {
return fileDescriptor_6a397e38c9ea6747, []int{0} return fileDescriptor_paracross_9fd7d9353dbdeff6, []int{0}
} }
func (m *ParacrossStatusDetails) XXX_Unmarshal(b []byte) error { func (m *ParacrossStatusDetails) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ParacrossStatusDetails.Unmarshal(m, b) return xxx_messageInfo_ParacrossStatusDetails.Unmarshal(m, b)
} }
func (m *ParacrossStatusDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ParacrossStatusDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ParacrossStatusDetails.Marshal(b, m, deterministic) return xxx_messageInfo_ParacrossStatusDetails.Marshal(b, m, deterministic)
} }
func (m *ParacrossStatusDetails) XXX_Merge(src proto.Message) { func (dst *ParacrossStatusDetails) XXX_Merge(src proto.Message) {
xxx_messageInfo_ParacrossStatusDetails.Merge(m, src) xxx_messageInfo_ParacrossStatusDetails.Merge(dst, src)
} }
func (m *ParacrossStatusDetails) XXX_Size() int { func (m *ParacrossStatusDetails) XXX_Size() int {
return xxx_messageInfo_ParacrossStatusDetails.Size(m) return xxx_messageInfo_ParacrossStatusDetails.Size(m)
...@@ -87,17 +86,16 @@ func (m *ParacrossHeightStatus) Reset() { *m = ParacrossHeightStatus{} } ...@@ -87,17 +86,16 @@ func (m *ParacrossHeightStatus) Reset() { *m = ParacrossHeightStatus{} }
func (m *ParacrossHeightStatus) String() string { return proto.CompactTextString(m) } func (m *ParacrossHeightStatus) String() string { return proto.CompactTextString(m) }
func (*ParacrossHeightStatus) ProtoMessage() {} func (*ParacrossHeightStatus) ProtoMessage() {}
func (*ParacrossHeightStatus) Descriptor() ([]byte, []int) { func (*ParacrossHeightStatus) Descriptor() ([]byte, []int) {
return fileDescriptor_6a397e38c9ea6747, []int{1} return fileDescriptor_paracross_9fd7d9353dbdeff6, []int{1}
} }
func (m *ParacrossHeightStatus) XXX_Unmarshal(b []byte) error { func (m *ParacrossHeightStatus) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ParacrossHeightStatus.Unmarshal(m, b) return xxx_messageInfo_ParacrossHeightStatus.Unmarshal(m, b)
} }
func (m *ParacrossHeightStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ParacrossHeightStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ParacrossHeightStatus.Marshal(b, m, deterministic) return xxx_messageInfo_ParacrossHeightStatus.Marshal(b, m, deterministic)
} }
func (m *ParacrossHeightStatus) XXX_Merge(src proto.Message) { func (dst *ParacrossHeightStatus) XXX_Merge(src proto.Message) {
xxx_messageInfo_ParacrossHeightStatus.Merge(m, src) xxx_messageInfo_ParacrossHeightStatus.Merge(dst, src)
} }
func (m *ParacrossHeightStatus) XXX_Size() int { func (m *ParacrossHeightStatus) XXX_Size() int {
return xxx_messageInfo_ParacrossHeightStatus.Size(m) return xxx_messageInfo_ParacrossHeightStatus.Size(m)
...@@ -149,17 +147,16 @@ func (m *ParacrossStatus) Reset() { *m = ParacrossStatus{} } ...@@ -149,17 +147,16 @@ func (m *ParacrossStatus) Reset() { *m = ParacrossStatus{} }
func (m *ParacrossStatus) String() string { return proto.CompactTextString(m) } func (m *ParacrossStatus) String() string { return proto.CompactTextString(m) }
func (*ParacrossStatus) ProtoMessage() {} func (*ParacrossStatus) ProtoMessage() {}
func (*ParacrossStatus) Descriptor() ([]byte, []int) { func (*ParacrossStatus) Descriptor() ([]byte, []int) {
return fileDescriptor_6a397e38c9ea6747, []int{2} return fileDescriptor_paracross_9fd7d9353dbdeff6, []int{2}
} }
func (m *ParacrossStatus) XXX_Unmarshal(b []byte) error { func (m *ParacrossStatus) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ParacrossStatus.Unmarshal(m, b) return xxx_messageInfo_ParacrossStatus.Unmarshal(m, b)
} }
func (m *ParacrossStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ParacrossStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ParacrossStatus.Marshal(b, m, deterministic) return xxx_messageInfo_ParacrossStatus.Marshal(b, m, deterministic)
} }
func (m *ParacrossStatus) XXX_Merge(src proto.Message) { func (dst *ParacrossStatus) XXX_Merge(src proto.Message) {
xxx_messageInfo_ParacrossStatus.Merge(m, src) xxx_messageInfo_ParacrossStatus.Merge(dst, src)
} }
func (m *ParacrossStatus) XXX_Size() int { func (m *ParacrossStatus) XXX_Size() int {
return xxx_messageInfo_ParacrossStatus.Size(m) return xxx_messageInfo_ParacrossStatus.Size(m)
...@@ -205,17 +202,16 @@ func (m *ParacrossConsensusStatus) Reset() { *m = ParacrossConsensusStat ...@@ -205,17 +202,16 @@ func (m *ParacrossConsensusStatus) Reset() { *m = ParacrossConsensusStat
func (m *ParacrossConsensusStatus) String() string { return proto.CompactTextString(m) } func (m *ParacrossConsensusStatus) String() string { return proto.CompactTextString(m) }
func (*ParacrossConsensusStatus) ProtoMessage() {} func (*ParacrossConsensusStatus) ProtoMessage() {}
func (*ParacrossConsensusStatus) Descriptor() ([]byte, []int) { func (*ParacrossConsensusStatus) Descriptor() ([]byte, []int) {
return fileDescriptor_6a397e38c9ea6747, []int{3} return fileDescriptor_paracross_9fd7d9353dbdeff6, []int{3}
} }
func (m *ParacrossConsensusStatus) XXX_Unmarshal(b []byte) error { func (m *ParacrossConsensusStatus) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ParacrossConsensusStatus.Unmarshal(m, b) return xxx_messageInfo_ParacrossConsensusStatus.Unmarshal(m, b)
} }
func (m *ParacrossConsensusStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ParacrossConsensusStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ParacrossConsensusStatus.Marshal(b, m, deterministic) return xxx_messageInfo_ParacrossConsensusStatus.Marshal(b, m, deterministic)
} }
func (m *ParacrossConsensusStatus) XXX_Merge(src proto.Message) { func (dst *ParacrossConsensusStatus) XXX_Merge(src proto.Message) {
xxx_messageInfo_ParacrossConsensusStatus.Merge(m, src) xxx_messageInfo_ParacrossConsensusStatus.Merge(dst, src)
} }
func (m *ParacrossConsensusStatus) XXX_Size() int { func (m *ParacrossConsensusStatus) XXX_Size() int {
return xxx_messageInfo_ParacrossConsensusStatus.Size(m) return xxx_messageInfo_ParacrossConsensusStatus.Size(m)
...@@ -268,17 +264,16 @@ func (m *ParaNodeAddrConfig) Reset() { *m = ParaNodeAddrConfig{} } ...@@ -268,17 +264,16 @@ func (m *ParaNodeAddrConfig) Reset() { *m = ParaNodeAddrConfig{} }
func (m *ParaNodeAddrConfig) String() string { return proto.CompactTextString(m) } func (m *ParaNodeAddrConfig) String() string { return proto.CompactTextString(m) }
func (*ParaNodeAddrConfig) ProtoMessage() {} func (*ParaNodeAddrConfig) ProtoMessage() {}
func (*ParaNodeAddrConfig) Descriptor() ([]byte, []int) { func (*ParaNodeAddrConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_6a397e38c9ea6747, []int{4} return fileDescriptor_paracross_9fd7d9353dbdeff6, []int{4}
} }
func (m *ParaNodeAddrConfig) XXX_Unmarshal(b []byte) error { func (m *ParaNodeAddrConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ParaNodeAddrConfig.Unmarshal(m, b) return xxx_messageInfo_ParaNodeAddrConfig.Unmarshal(m, b)
} }
func (m *ParaNodeAddrConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ParaNodeAddrConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ParaNodeAddrConfig.Marshal(b, m, deterministic) return xxx_messageInfo_ParaNodeAddrConfig.Marshal(b, m, deterministic)
} }
func (m *ParaNodeAddrConfig) XXX_Merge(src proto.Message) { func (dst *ParaNodeAddrConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_ParaNodeAddrConfig.Merge(m, src) xxx_messageInfo_ParaNodeAddrConfig.Merge(dst, src)
} }
func (m *ParaNodeAddrConfig) XXX_Size() int { func (m *ParaNodeAddrConfig) XXX_Size() int {
return xxx_messageInfo_ParaNodeAddrConfig.Size(m) return xxx_messageInfo_ParaNodeAddrConfig.Size(m)
...@@ -329,17 +324,16 @@ func (m *ParaNodeVoteDetail) Reset() { *m = ParaNodeVoteDetail{} } ...@@ -329,17 +324,16 @@ func (m *ParaNodeVoteDetail) Reset() { *m = ParaNodeVoteDetail{} }
func (m *ParaNodeVoteDetail) String() string { return proto.CompactTextString(m) } func (m *ParaNodeVoteDetail) String() string { return proto.CompactTextString(m) }
func (*ParaNodeVoteDetail) ProtoMessage() {} func (*ParaNodeVoteDetail) ProtoMessage() {}
func (*ParaNodeVoteDetail) Descriptor() ([]byte, []int) { func (*ParaNodeVoteDetail) Descriptor() ([]byte, []int) {
return fileDescriptor_6a397e38c9ea6747, []int{5} return fileDescriptor_paracross_9fd7d9353dbdeff6, []int{5}
} }
func (m *ParaNodeVoteDetail) XXX_Unmarshal(b []byte) error { func (m *ParaNodeVoteDetail) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ParaNodeVoteDetail.Unmarshal(m, b) return xxx_messageInfo_ParaNodeVoteDetail.Unmarshal(m, b)
} }
func (m *ParaNodeVoteDetail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ParaNodeVoteDetail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ParaNodeVoteDetail.Marshal(b, m, deterministic) return xxx_messageInfo_ParaNodeVoteDetail.Marshal(b, m, deterministic)
} }
func (m *ParaNodeVoteDetail) XXX_Merge(src proto.Message) { func (dst *ParaNodeVoteDetail) XXX_Merge(src proto.Message) {
xxx_messageInfo_ParaNodeVoteDetail.Merge(m, src) xxx_messageInfo_ParaNodeVoteDetail.Merge(dst, src)
} }
func (m *ParaNodeVoteDetail) XXX_Size() int { func (m *ParaNodeVoteDetail) XXX_Size() int {
return xxx_messageInfo_ParaNodeVoteDetail.Size(m) return xxx_messageInfo_ParaNodeVoteDetail.Size(m)
...@@ -378,17 +372,16 @@ func (m *ParaNodeAddrStatus) Reset() { *m = ParaNodeAddrStatus{} } ...@@ -378,17 +372,16 @@ func (m *ParaNodeAddrStatus) Reset() { *m = ParaNodeAddrStatus{} }
func (m *ParaNodeAddrStatus) String() string { return proto.CompactTextString(m) } func (m *ParaNodeAddrStatus) String() string { return proto.CompactTextString(m) }
func (*ParaNodeAddrStatus) ProtoMessage() {} func (*ParaNodeAddrStatus) ProtoMessage() {}
func (*ParaNodeAddrStatus) Descriptor() ([]byte, []int) { func (*ParaNodeAddrStatus) Descriptor() ([]byte, []int) {
return fileDescriptor_6a397e38c9ea6747, []int{6} return fileDescriptor_paracross_9fd7d9353dbdeff6, []int{6}
} }
func (m *ParaNodeAddrStatus) XXX_Unmarshal(b []byte) error { func (m *ParaNodeAddrStatus) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ParaNodeAddrStatus.Unmarshal(m, b) return xxx_messageInfo_ParaNodeAddrStatus.Unmarshal(m, b)
} }
func (m *ParaNodeAddrStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ParaNodeAddrStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ParaNodeAddrStatus.Marshal(b, m, deterministic) return xxx_messageInfo_ParaNodeAddrStatus.Marshal(b, m, deterministic)
} }
func (m *ParaNodeAddrStatus) XXX_Merge(src proto.Message) { func (dst *ParaNodeAddrStatus) XXX_Merge(src proto.Message) {
xxx_messageInfo_ParaNodeAddrStatus.Merge(m, src) xxx_messageInfo_ParaNodeAddrStatus.Merge(dst, src)
} }
func (m *ParaNodeAddrStatus) XXX_Size() int { func (m *ParaNodeAddrStatus) XXX_Size() int {
return xxx_messageInfo_ParaNodeAddrStatus.Size(m) return xxx_messageInfo_ParaNodeAddrStatus.Size(m)
...@@ -441,17 +434,16 @@ func (m *ReceiptParaNodeConfig) Reset() { *m = ReceiptParaNodeConfig{} } ...@@ -441,17 +434,16 @@ func (m *ReceiptParaNodeConfig) Reset() { *m = ReceiptParaNodeConfig{} }
func (m *ReceiptParaNodeConfig) String() string { return proto.CompactTextString(m) } func (m *ReceiptParaNodeConfig) String() string { return proto.CompactTextString(m) }
func (*ReceiptParaNodeConfig) ProtoMessage() {} func (*ReceiptParaNodeConfig) ProtoMessage() {}
func (*ReceiptParaNodeConfig) Descriptor() ([]byte, []int) { func (*ReceiptParaNodeConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_6a397e38c9ea6747, []int{7} return fileDescriptor_paracross_9fd7d9353dbdeff6, []int{7}
} }
func (m *ReceiptParaNodeConfig) XXX_Unmarshal(b []byte) error { func (m *ReceiptParaNodeConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReceiptParaNodeConfig.Unmarshal(m, b) return xxx_messageInfo_ReceiptParaNodeConfig.Unmarshal(m, b)
} }
func (m *ReceiptParaNodeConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReceiptParaNodeConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReceiptParaNodeConfig.Marshal(b, m, deterministic) return xxx_messageInfo_ReceiptParaNodeConfig.Marshal(b, m, deterministic)
} }
func (m *ReceiptParaNodeConfig) XXX_Merge(src proto.Message) { func (dst *ReceiptParaNodeConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReceiptParaNodeConfig.Merge(m, src) xxx_messageInfo_ReceiptParaNodeConfig.Merge(dst, src)
} }
func (m *ReceiptParaNodeConfig) XXX_Size() int { func (m *ReceiptParaNodeConfig) XXX_Size() int {
return xxx_messageInfo_ReceiptParaNodeConfig.Size(m) return xxx_messageInfo_ReceiptParaNodeConfig.Size(m)
...@@ -503,17 +495,16 @@ func (m *ReceiptParaNodeVoteRecord) Reset() { *m = ReceiptParaNodeVoteRe ...@@ -503,17 +495,16 @@ func (m *ReceiptParaNodeVoteRecord) Reset() { *m = ReceiptParaNodeVoteRe
func (m *ReceiptParaNodeVoteRecord) String() string { return proto.CompactTextString(m) } func (m *ReceiptParaNodeVoteRecord) String() string { return proto.CompactTextString(m) }
func (*ReceiptParaNodeVoteRecord) ProtoMessage() {} func (*ReceiptParaNodeVoteRecord) ProtoMessage() {}
func (*ReceiptParaNodeVoteRecord) Descriptor() ([]byte, []int) { func (*ReceiptParaNodeVoteRecord) Descriptor() ([]byte, []int) {
return fileDescriptor_6a397e38c9ea6747, []int{8} return fileDescriptor_paracross_9fd7d9353dbdeff6, []int{8}
} }
func (m *ReceiptParaNodeVoteRecord) XXX_Unmarshal(b []byte) error { func (m *ReceiptParaNodeVoteRecord) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReceiptParaNodeVoteRecord.Unmarshal(m, b) return xxx_messageInfo_ReceiptParaNodeVoteRecord.Unmarshal(m, b)
} }
func (m *ReceiptParaNodeVoteRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReceiptParaNodeVoteRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReceiptParaNodeVoteRecord.Marshal(b, m, deterministic) return xxx_messageInfo_ReceiptParaNodeVoteRecord.Marshal(b, m, deterministic)
} }
func (m *ReceiptParaNodeVoteRecord) XXX_Merge(src proto.Message) { func (dst *ReceiptParaNodeVoteRecord) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReceiptParaNodeVoteRecord.Merge(m, src) xxx_messageInfo_ReceiptParaNodeVoteRecord.Merge(dst, src)
} }
func (m *ReceiptParaNodeVoteRecord) XXX_Size() int { func (m *ReceiptParaNodeVoteRecord) XXX_Size() int {
return xxx_messageInfo_ReceiptParaNodeVoteRecord.Size(m) return xxx_messageInfo_ReceiptParaNodeVoteRecord.Size(m)
...@@ -562,17 +553,16 @@ func (m *ReceiptParaNodeVoteDone) Reset() { *m = ReceiptParaNodeVoteDone ...@@ -562,17 +553,16 @@ func (m *ReceiptParaNodeVoteDone) Reset() { *m = ReceiptParaNodeVoteDone
func (m *ReceiptParaNodeVoteDone) String() string { return proto.CompactTextString(m) } func (m *ReceiptParaNodeVoteDone) String() string { return proto.CompactTextString(m) }
func (*ReceiptParaNodeVoteDone) ProtoMessage() {} func (*ReceiptParaNodeVoteDone) ProtoMessage() {}
func (*ReceiptParaNodeVoteDone) Descriptor() ([]byte, []int) { func (*ReceiptParaNodeVoteDone) Descriptor() ([]byte, []int) {
return fileDescriptor_6a397e38c9ea6747, []int{9} return fileDescriptor_paracross_9fd7d9353dbdeff6, []int{9}
} }
func (m *ReceiptParaNodeVoteDone) XXX_Unmarshal(b []byte) error { func (m *ReceiptParaNodeVoteDone) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReceiptParaNodeVoteDone.Unmarshal(m, b) return xxx_messageInfo_ReceiptParaNodeVoteDone.Unmarshal(m, b)
} }
func (m *ReceiptParaNodeVoteDone) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReceiptParaNodeVoteDone) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReceiptParaNodeVoteDone.Marshal(b, m, deterministic) return xxx_messageInfo_ReceiptParaNodeVoteDone.Marshal(b, m, deterministic)
} }
func (m *ReceiptParaNodeVoteDone) XXX_Merge(src proto.Message) { func (dst *ReceiptParaNodeVoteDone) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReceiptParaNodeVoteDone.Merge(m, src) xxx_messageInfo_ReceiptParaNodeVoteDone.Merge(dst, src)
} }
func (m *ReceiptParaNodeVoteDone) XXX_Size() int { func (m *ReceiptParaNodeVoteDone) XXX_Size() int {
return xxx_messageInfo_ReceiptParaNodeVoteDone.Size(m) return xxx_messageInfo_ReceiptParaNodeVoteDone.Size(m)
...@@ -646,17 +636,16 @@ func (m *ReqParacrossNodeInfo) Reset() { *m = ReqParacrossNodeInfo{} } ...@@ -646,17 +636,16 @@ func (m *ReqParacrossNodeInfo) Reset() { *m = ReqParacrossNodeInfo{} }
func (m *ReqParacrossNodeInfo) String() string { return proto.CompactTextString(m) } func (m *ReqParacrossNodeInfo) String() string { return proto.CompactTextString(m) }
func (*ReqParacrossNodeInfo) ProtoMessage() {} func (*ReqParacrossNodeInfo) ProtoMessage() {}
func (*ReqParacrossNodeInfo) Descriptor() ([]byte, []int) { func (*ReqParacrossNodeInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_6a397e38c9ea6747, []int{10} return fileDescriptor_paracross_9fd7d9353dbdeff6, []int{10}
} }
func (m *ReqParacrossNodeInfo) XXX_Unmarshal(b []byte) error { func (m *ReqParacrossNodeInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqParacrossNodeInfo.Unmarshal(m, b) return xxx_messageInfo_ReqParacrossNodeInfo.Unmarshal(m, b)
} }
func (m *ReqParacrossNodeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReqParacrossNodeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqParacrossNodeInfo.Marshal(b, m, deterministic) return xxx_messageInfo_ReqParacrossNodeInfo.Marshal(b, m, deterministic)
} }
func (m *ReqParacrossNodeInfo) XXX_Merge(src proto.Message) { func (dst *ReqParacrossNodeInfo) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqParacrossNodeInfo.Merge(m, src) xxx_messageInfo_ReqParacrossNodeInfo.Merge(dst, src)
} }
func (m *ReqParacrossNodeInfo) XXX_Size() int { func (m *ReqParacrossNodeInfo) XXX_Size() int {
return xxx_messageInfo_ReqParacrossNodeInfo.Size(m) return xxx_messageInfo_ReqParacrossNodeInfo.Size(m)
...@@ -699,17 +688,16 @@ func (m *RespParacrossNodeAddrs) Reset() { *m = RespParacrossNodeAddrs{} ...@@ -699,17 +688,16 @@ func (m *RespParacrossNodeAddrs) Reset() { *m = RespParacrossNodeAddrs{}
func (m *RespParacrossNodeAddrs) String() string { return proto.CompactTextString(m) } func (m *RespParacrossNodeAddrs) String() string { return proto.CompactTextString(m) }
func (*RespParacrossNodeAddrs) ProtoMessage() {} func (*RespParacrossNodeAddrs) ProtoMessage() {}
func (*RespParacrossNodeAddrs) Descriptor() ([]byte, []int) { func (*RespParacrossNodeAddrs) Descriptor() ([]byte, []int) {
return fileDescriptor_6a397e38c9ea6747, []int{11} return fileDescriptor_paracross_9fd7d9353dbdeff6, []int{11}
} }
func (m *RespParacrossNodeAddrs) XXX_Unmarshal(b []byte) error { func (m *RespParacrossNodeAddrs) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RespParacrossNodeAddrs.Unmarshal(m, b) return xxx_messageInfo_RespParacrossNodeAddrs.Unmarshal(m, b)
} }
func (m *RespParacrossNodeAddrs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *RespParacrossNodeAddrs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RespParacrossNodeAddrs.Marshal(b, m, deterministic) return xxx_messageInfo_RespParacrossNodeAddrs.Marshal(b, m, deterministic)
} }
func (m *RespParacrossNodeAddrs) XXX_Merge(src proto.Message) { func (dst *RespParacrossNodeAddrs) XXX_Merge(src proto.Message) {
xxx_messageInfo_RespParacrossNodeAddrs.Merge(m, src) xxx_messageInfo_RespParacrossNodeAddrs.Merge(dst, src)
} }
func (m *RespParacrossNodeAddrs) XXX_Size() int { func (m *RespParacrossNodeAddrs) XXX_Size() int {
return xxx_messageInfo_RespParacrossNodeAddrs.Size(m) return xxx_messageInfo_RespParacrossNodeAddrs.Size(m)
...@@ -741,17 +729,16 @@ func (m *ParaBlock2MainMap) Reset() { *m = ParaBlock2MainMap{} } ...@@ -741,17 +729,16 @@ func (m *ParaBlock2MainMap) Reset() { *m = ParaBlock2MainMap{} }
func (m *ParaBlock2MainMap) String() string { return proto.CompactTextString(m) } func (m *ParaBlock2MainMap) String() string { return proto.CompactTextString(m) }
func (*ParaBlock2MainMap) ProtoMessage() {} func (*ParaBlock2MainMap) ProtoMessage() {}
func (*ParaBlock2MainMap) Descriptor() ([]byte, []int) { func (*ParaBlock2MainMap) Descriptor() ([]byte, []int) {
return fileDescriptor_6a397e38c9ea6747, []int{12} return fileDescriptor_paracross_9fd7d9353dbdeff6, []int{12}
} }
func (m *ParaBlock2MainMap) XXX_Unmarshal(b []byte) error { func (m *ParaBlock2MainMap) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ParaBlock2MainMap.Unmarshal(m, b) return xxx_messageInfo_ParaBlock2MainMap.Unmarshal(m, b)
} }
func (m *ParaBlock2MainMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ParaBlock2MainMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ParaBlock2MainMap.Marshal(b, m, deterministic) return xxx_messageInfo_ParaBlock2MainMap.Marshal(b, m, deterministic)
} }
func (m *ParaBlock2MainMap) XXX_Merge(src proto.Message) { func (dst *ParaBlock2MainMap) XXX_Merge(src proto.Message) {
xxx_messageInfo_ParaBlock2MainMap.Merge(m, src) xxx_messageInfo_ParaBlock2MainMap.Merge(dst, src)
} }
func (m *ParaBlock2MainMap) XXX_Size() int { func (m *ParaBlock2MainMap) XXX_Size() int {
return xxx_messageInfo_ParaBlock2MainMap.Size(m) return xxx_messageInfo_ParaBlock2MainMap.Size(m)
...@@ -801,17 +788,16 @@ func (m *ParaBlock2MainInfo) Reset() { *m = ParaBlock2MainInfo{} } ...@@ -801,17 +788,16 @@ func (m *ParaBlock2MainInfo) Reset() { *m = ParaBlock2MainInfo{} }
func (m *ParaBlock2MainInfo) String() string { return proto.CompactTextString(m) } func (m *ParaBlock2MainInfo) String() string { return proto.CompactTextString(m) }
func (*ParaBlock2MainInfo) ProtoMessage() {} func (*ParaBlock2MainInfo) ProtoMessage() {}
func (*ParaBlock2MainInfo) Descriptor() ([]byte, []int) { func (*ParaBlock2MainInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_6a397e38c9ea6747, []int{13} return fileDescriptor_paracross_9fd7d9353dbdeff6, []int{13}
} }
func (m *ParaBlock2MainInfo) XXX_Unmarshal(b []byte) error { func (m *ParaBlock2MainInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ParaBlock2MainInfo.Unmarshal(m, b) return xxx_messageInfo_ParaBlock2MainInfo.Unmarshal(m, b)
} }
func (m *ParaBlock2MainInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ParaBlock2MainInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ParaBlock2MainInfo.Marshal(b, m, deterministic) return xxx_messageInfo_ParaBlock2MainInfo.Marshal(b, m, deterministic)
} }
func (m *ParaBlock2MainInfo) XXX_Merge(src proto.Message) { func (dst *ParaBlock2MainInfo) XXX_Merge(src proto.Message) {
xxx_messageInfo_ParaBlock2MainInfo.Merge(m, src) xxx_messageInfo_ParaBlock2MainInfo.Merge(dst, src)
} }
func (m *ParaBlock2MainInfo) XXX_Size() int { func (m *ParaBlock2MainInfo) XXX_Size() int {
return xxx_messageInfo_ParaBlock2MainInfo.Size(m) return xxx_messageInfo_ParaBlock2MainInfo.Size(m)
...@@ -853,17 +839,16 @@ func (m *ParacrossNodeStatus) Reset() { *m = ParacrossNodeStatus{} } ...@@ -853,17 +839,16 @@ func (m *ParacrossNodeStatus) Reset() { *m = ParacrossNodeStatus{} }
func (m *ParacrossNodeStatus) String() string { return proto.CompactTextString(m) } func (m *ParacrossNodeStatus) String() string { return proto.CompactTextString(m) }
func (*ParacrossNodeStatus) ProtoMessage() {} func (*ParacrossNodeStatus) ProtoMessage() {}
func (*ParacrossNodeStatus) Descriptor() ([]byte, []int) { func (*ParacrossNodeStatus) Descriptor() ([]byte, []int) {
return fileDescriptor_6a397e38c9ea6747, []int{14} return fileDescriptor_paracross_9fd7d9353dbdeff6, []int{14}
} }
func (m *ParacrossNodeStatus) XXX_Unmarshal(b []byte) error { func (m *ParacrossNodeStatus) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ParacrossNodeStatus.Unmarshal(m, b) return xxx_messageInfo_ParacrossNodeStatus.Unmarshal(m, b)
} }
func (m *ParacrossNodeStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ParacrossNodeStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ParacrossNodeStatus.Marshal(b, m, deterministic) return xxx_messageInfo_ParacrossNodeStatus.Marshal(b, m, deterministic)
} }
func (m *ParacrossNodeStatus) XXX_Merge(src proto.Message) { func (dst *ParacrossNodeStatus) XXX_Merge(src proto.Message) {
xxx_messageInfo_ParacrossNodeStatus.Merge(m, src) xxx_messageInfo_ParacrossNodeStatus.Merge(dst, src)
} }
func (m *ParacrossNodeStatus) XXX_Size() int { func (m *ParacrossNodeStatus) XXX_Size() int {
return xxx_messageInfo_ParacrossNodeStatus.Size(m) return xxx_messageInfo_ParacrossNodeStatus.Size(m)
...@@ -976,17 +961,16 @@ func (m *ParacrossCommitAction) Reset() { *m = ParacrossCommitAction{} } ...@@ -976,17 +961,16 @@ func (m *ParacrossCommitAction) Reset() { *m = ParacrossCommitAction{} }
func (m *ParacrossCommitAction) String() string { return proto.CompactTextString(m) } func (m *ParacrossCommitAction) String() string { return proto.CompactTextString(m) }
func (*ParacrossCommitAction) ProtoMessage() {} func (*ParacrossCommitAction) ProtoMessage() {}
func (*ParacrossCommitAction) Descriptor() ([]byte, []int) { func (*ParacrossCommitAction) Descriptor() ([]byte, []int) {
return fileDescriptor_6a397e38c9ea6747, []int{15} return fileDescriptor_paracross_9fd7d9353dbdeff6, []int{15}
} }
func (m *ParacrossCommitAction) XXX_Unmarshal(b []byte) error { func (m *ParacrossCommitAction) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ParacrossCommitAction.Unmarshal(m, b) return xxx_messageInfo_ParacrossCommitAction.Unmarshal(m, b)
} }
func (m *ParacrossCommitAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ParacrossCommitAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ParacrossCommitAction.Marshal(b, m, deterministic) return xxx_messageInfo_ParacrossCommitAction.Marshal(b, m, deterministic)
} }
func (m *ParacrossCommitAction) XXX_Merge(src proto.Message) { func (dst *ParacrossCommitAction) XXX_Merge(src proto.Message) {
xxx_messageInfo_ParacrossCommitAction.Merge(m, src) xxx_messageInfo_ParacrossCommitAction.Merge(dst, src)
} }
func (m *ParacrossCommitAction) XXX_Size() int { func (m *ParacrossCommitAction) XXX_Size() int {
return xxx_messageInfo_ParacrossCommitAction.Size(m) return xxx_messageInfo_ParacrossCommitAction.Size(m)
...@@ -1006,6 +990,7 @@ func (m *ParacrossCommitAction) GetStatus() *ParacrossNodeStatus { ...@@ -1006,6 +990,7 @@ func (m *ParacrossCommitAction) GetStatus() *ParacrossNodeStatus {
type ParacrossMinerAction struct { type ParacrossMinerAction struct {
Status *ParacrossNodeStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` Status *ParacrossNodeStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
IsSelfConsensus bool `protobuf:"varint,2,opt,name=isSelfConsensus,proto3" json:"isSelfConsensus,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
...@@ -1015,17 +1000,16 @@ func (m *ParacrossMinerAction) Reset() { *m = ParacrossMinerAction{} } ...@@ -1015,17 +1000,16 @@ func (m *ParacrossMinerAction) Reset() { *m = ParacrossMinerAction{} }
func (m *ParacrossMinerAction) String() string { return proto.CompactTextString(m) } func (m *ParacrossMinerAction) String() string { return proto.CompactTextString(m) }
func (*ParacrossMinerAction) ProtoMessage() {} func (*ParacrossMinerAction) ProtoMessage() {}
func (*ParacrossMinerAction) Descriptor() ([]byte, []int) { func (*ParacrossMinerAction) Descriptor() ([]byte, []int) {
return fileDescriptor_6a397e38c9ea6747, []int{16} return fileDescriptor_paracross_9fd7d9353dbdeff6, []int{16}
} }
func (m *ParacrossMinerAction) XXX_Unmarshal(b []byte) error { func (m *ParacrossMinerAction) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ParacrossMinerAction.Unmarshal(m, b) return xxx_messageInfo_ParacrossMinerAction.Unmarshal(m, b)
} }
func (m *ParacrossMinerAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ParacrossMinerAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ParacrossMinerAction.Marshal(b, m, deterministic) return xxx_messageInfo_ParacrossMinerAction.Marshal(b, m, deterministic)
} }
func (m *ParacrossMinerAction) XXX_Merge(src proto.Message) { func (dst *ParacrossMinerAction) XXX_Merge(src proto.Message) {
xxx_messageInfo_ParacrossMinerAction.Merge(m, src) xxx_messageInfo_ParacrossMinerAction.Merge(dst, src)
} }
func (m *ParacrossMinerAction) XXX_Size() int { func (m *ParacrossMinerAction) XXX_Size() int {
return xxx_messageInfo_ParacrossMinerAction.Size(m) return xxx_messageInfo_ParacrossMinerAction.Size(m)
...@@ -1043,6 +1027,13 @@ func (m *ParacrossMinerAction) GetStatus() *ParacrossNodeStatus { ...@@ -1043,6 +1027,13 @@ func (m *ParacrossMinerAction) GetStatus() *ParacrossNodeStatus {
return nil return nil
} }
func (m *ParacrossMinerAction) GetIsSelfConsensus() bool {
if m != nil {
return m.IsSelfConsensus
}
return false
}
type ParacrossAction struct { type ParacrossAction struct {
// Types that are valid to be assigned to Value: // Types that are valid to be assigned to Value:
// *ParacrossAction_Commit // *ParacrossAction_Commit
...@@ -1064,17 +1055,16 @@ func (m *ParacrossAction) Reset() { *m = ParacrossAction{} } ...@@ -1064,17 +1055,16 @@ func (m *ParacrossAction) Reset() { *m = ParacrossAction{} }
func (m *ParacrossAction) String() string { return proto.CompactTextString(m) } func (m *ParacrossAction) String() string { return proto.CompactTextString(m) }
func (*ParacrossAction) ProtoMessage() {} func (*ParacrossAction) ProtoMessage() {}
func (*ParacrossAction) Descriptor() ([]byte, []int) { func (*ParacrossAction) Descriptor() ([]byte, []int) {
return fileDescriptor_6a397e38c9ea6747, []int{17} return fileDescriptor_paracross_9fd7d9353dbdeff6, []int{17}
} }
func (m *ParacrossAction) XXX_Unmarshal(b []byte) error { func (m *ParacrossAction) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ParacrossAction.Unmarshal(m, b) return xxx_messageInfo_ParacrossAction.Unmarshal(m, b)
} }
func (m *ParacrossAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ParacrossAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ParacrossAction.Marshal(b, m, deterministic) return xxx_messageInfo_ParacrossAction.Marshal(b, m, deterministic)
} }
func (m *ParacrossAction) XXX_Merge(src proto.Message) { func (dst *ParacrossAction) XXX_Merge(src proto.Message) {
xxx_messageInfo_ParacrossAction.Merge(m, src) xxx_messageInfo_ParacrossAction.Merge(dst, src)
} }
func (m *ParacrossAction) XXX_Size() int { func (m *ParacrossAction) XXX_Size() int {
return xxx_messageInfo_ParacrossAction.Size(m) return xxx_messageInfo_ParacrossAction.Size(m)
...@@ -1410,17 +1400,16 @@ func (m *ReceiptParacrossCommit) Reset() { *m = ReceiptParacrossCommit{} ...@@ -1410,17 +1400,16 @@ func (m *ReceiptParacrossCommit) Reset() { *m = ReceiptParacrossCommit{}
func (m *ReceiptParacrossCommit) String() string { return proto.CompactTextString(m) } func (m *ReceiptParacrossCommit) String() string { return proto.CompactTextString(m) }
func (*ReceiptParacrossCommit) ProtoMessage() {} func (*ReceiptParacrossCommit) ProtoMessage() {}
func (*ReceiptParacrossCommit) Descriptor() ([]byte, []int) { func (*ReceiptParacrossCommit) Descriptor() ([]byte, []int) {
return fileDescriptor_6a397e38c9ea6747, []int{18} return fileDescriptor_paracross_9fd7d9353dbdeff6, []int{18}
} }
func (m *ReceiptParacrossCommit) XXX_Unmarshal(b []byte) error { func (m *ReceiptParacrossCommit) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReceiptParacrossCommit.Unmarshal(m, b) return xxx_messageInfo_ReceiptParacrossCommit.Unmarshal(m, b)
} }
func (m *ReceiptParacrossCommit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReceiptParacrossCommit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReceiptParacrossCommit.Marshal(b, m, deterministic) return xxx_messageInfo_ReceiptParacrossCommit.Marshal(b, m, deterministic)
} }
func (m *ReceiptParacrossCommit) XXX_Merge(src proto.Message) { func (dst *ReceiptParacrossCommit) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReceiptParacrossCommit.Merge(m, src) xxx_messageInfo_ReceiptParacrossCommit.Merge(dst, src)
} }
func (m *ReceiptParacrossCommit) XXX_Size() int { func (m *ReceiptParacrossCommit) XXX_Size() int {
return xxx_messageInfo_ReceiptParacrossCommit.Size(m) return xxx_messageInfo_ReceiptParacrossCommit.Size(m)
...@@ -1470,17 +1459,16 @@ func (m *ReceiptParacrossMiner) Reset() { *m = ReceiptParacrossMiner{} } ...@@ -1470,17 +1459,16 @@ func (m *ReceiptParacrossMiner) Reset() { *m = ReceiptParacrossMiner{} }
func (m *ReceiptParacrossMiner) String() string { return proto.CompactTextString(m) } func (m *ReceiptParacrossMiner) String() string { return proto.CompactTextString(m) }
func (*ReceiptParacrossMiner) ProtoMessage() {} func (*ReceiptParacrossMiner) ProtoMessage() {}
func (*ReceiptParacrossMiner) Descriptor() ([]byte, []int) { func (*ReceiptParacrossMiner) Descriptor() ([]byte, []int) {
return fileDescriptor_6a397e38c9ea6747, []int{19} return fileDescriptor_paracross_9fd7d9353dbdeff6, []int{19}
} }
func (m *ReceiptParacrossMiner) XXX_Unmarshal(b []byte) error { func (m *ReceiptParacrossMiner) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReceiptParacrossMiner.Unmarshal(m, b) return xxx_messageInfo_ReceiptParacrossMiner.Unmarshal(m, b)
} }
func (m *ReceiptParacrossMiner) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReceiptParacrossMiner) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReceiptParacrossMiner.Marshal(b, m, deterministic) return xxx_messageInfo_ReceiptParacrossMiner.Marshal(b, m, deterministic)
} }
func (m *ReceiptParacrossMiner) XXX_Merge(src proto.Message) { func (dst *ReceiptParacrossMiner) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReceiptParacrossMiner.Merge(m, src) xxx_messageInfo_ReceiptParacrossMiner.Merge(dst, src)
} }
func (m *ReceiptParacrossMiner) XXX_Size() int { func (m *ReceiptParacrossMiner) XXX_Size() int {
return xxx_messageInfo_ReceiptParacrossMiner.Size(m) return xxx_messageInfo_ReceiptParacrossMiner.Size(m)
...@@ -1516,17 +1504,16 @@ func (m *ReceiptParacrossDone) Reset() { *m = ReceiptParacrossDone{} } ...@@ -1516,17 +1504,16 @@ func (m *ReceiptParacrossDone) Reset() { *m = ReceiptParacrossDone{} }
func (m *ReceiptParacrossDone) String() string { return proto.CompactTextString(m) } func (m *ReceiptParacrossDone) String() string { return proto.CompactTextString(m) }
func (*ReceiptParacrossDone) ProtoMessage() {} func (*ReceiptParacrossDone) ProtoMessage() {}
func (*ReceiptParacrossDone) Descriptor() ([]byte, []int) { func (*ReceiptParacrossDone) Descriptor() ([]byte, []int) {
return fileDescriptor_6a397e38c9ea6747, []int{20} return fileDescriptor_paracross_9fd7d9353dbdeff6, []int{20}
} }
func (m *ReceiptParacrossDone) XXX_Unmarshal(b []byte) error { func (m *ReceiptParacrossDone) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReceiptParacrossDone.Unmarshal(m, b) return xxx_messageInfo_ReceiptParacrossDone.Unmarshal(m, b)
} }
func (m *ReceiptParacrossDone) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReceiptParacrossDone) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReceiptParacrossDone.Marshal(b, m, deterministic) return xxx_messageInfo_ReceiptParacrossDone.Marshal(b, m, deterministic)
} }
func (m *ReceiptParacrossDone) XXX_Merge(src proto.Message) { func (dst *ReceiptParacrossDone) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReceiptParacrossDone.Merge(m, src) xxx_messageInfo_ReceiptParacrossDone.Merge(dst, src)
} }
func (m *ReceiptParacrossDone) XXX_Size() int { func (m *ReceiptParacrossDone) XXX_Size() int {
return xxx_messageInfo_ReceiptParacrossDone.Size(m) return xxx_messageInfo_ReceiptParacrossDone.Size(m)
...@@ -1605,17 +1592,16 @@ func (m *ReceiptParacrossRecord) Reset() { *m = ReceiptParacrossRecord{} ...@@ -1605,17 +1592,16 @@ func (m *ReceiptParacrossRecord) Reset() { *m = ReceiptParacrossRecord{}
func (m *ReceiptParacrossRecord) String() string { return proto.CompactTextString(m) } func (m *ReceiptParacrossRecord) String() string { return proto.CompactTextString(m) }
func (*ReceiptParacrossRecord) ProtoMessage() {} func (*ReceiptParacrossRecord) ProtoMessage() {}
func (*ReceiptParacrossRecord) Descriptor() ([]byte, []int) { func (*ReceiptParacrossRecord) Descriptor() ([]byte, []int) {
return fileDescriptor_6a397e38c9ea6747, []int{21} return fileDescriptor_paracross_9fd7d9353dbdeff6, []int{21}
} }
func (m *ReceiptParacrossRecord) XXX_Unmarshal(b []byte) error { func (m *ReceiptParacrossRecord) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReceiptParacrossRecord.Unmarshal(m, b) return xxx_messageInfo_ReceiptParacrossRecord.Unmarshal(m, b)
} }
func (m *ReceiptParacrossRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReceiptParacrossRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReceiptParacrossRecord.Marshal(b, m, deterministic) return xxx_messageInfo_ReceiptParacrossRecord.Marshal(b, m, deterministic)
} }
func (m *ReceiptParacrossRecord) XXX_Merge(src proto.Message) { func (dst *ReceiptParacrossRecord) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReceiptParacrossRecord.Merge(m, src) xxx_messageInfo_ReceiptParacrossRecord.Merge(dst, src)
} }
func (m *ReceiptParacrossRecord) XXX_Size() int { func (m *ReceiptParacrossRecord) XXX_Size() int {
return xxx_messageInfo_ReceiptParacrossRecord.Size(m) return xxx_messageInfo_ReceiptParacrossRecord.Size(m)
...@@ -1653,17 +1639,16 @@ func (m *ParacrossTx) Reset() { *m = ParacrossTx{} } ...@@ -1653,17 +1639,16 @@ func (m *ParacrossTx) Reset() { *m = ParacrossTx{} }
func (m *ParacrossTx) String() string { return proto.CompactTextString(m) } func (m *ParacrossTx) String() string { return proto.CompactTextString(m) }
func (*ParacrossTx) ProtoMessage() {} func (*ParacrossTx) ProtoMessage() {}
func (*ParacrossTx) Descriptor() ([]byte, []int) { func (*ParacrossTx) Descriptor() ([]byte, []int) {
return fileDescriptor_6a397e38c9ea6747, []int{22} return fileDescriptor_paracross_9fd7d9353dbdeff6, []int{22}
} }
func (m *ParacrossTx) XXX_Unmarshal(b []byte) error { func (m *ParacrossTx) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ParacrossTx.Unmarshal(m, b) return xxx_messageInfo_ParacrossTx.Unmarshal(m, b)
} }
func (m *ParacrossTx) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ParacrossTx) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ParacrossTx.Marshal(b, m, deterministic) return xxx_messageInfo_ParacrossTx.Marshal(b, m, deterministic)
} }
func (m *ParacrossTx) XXX_Merge(src proto.Message) { func (dst *ParacrossTx) XXX_Merge(src proto.Message) {
xxx_messageInfo_ParacrossTx.Merge(m, src) xxx_messageInfo_ParacrossTx.Merge(dst, src)
} }
func (m *ParacrossTx) XXX_Size() int { func (m *ParacrossTx) XXX_Size() int {
return xxx_messageInfo_ParacrossTx.Size(m) return xxx_messageInfo_ParacrossTx.Size(m)
...@@ -1694,17 +1679,16 @@ func (m *ReqParacrossTitleHeight) Reset() { *m = ReqParacrossTitleHeight ...@@ -1694,17 +1679,16 @@ func (m *ReqParacrossTitleHeight) Reset() { *m = ReqParacrossTitleHeight
func (m *ReqParacrossTitleHeight) String() string { return proto.CompactTextString(m) } func (m *ReqParacrossTitleHeight) String() string { return proto.CompactTextString(m) }
func (*ReqParacrossTitleHeight) ProtoMessage() {} func (*ReqParacrossTitleHeight) ProtoMessage() {}
func (*ReqParacrossTitleHeight) Descriptor() ([]byte, []int) { func (*ReqParacrossTitleHeight) Descriptor() ([]byte, []int) {
return fileDescriptor_6a397e38c9ea6747, []int{23} return fileDescriptor_paracross_9fd7d9353dbdeff6, []int{23}
} }
func (m *ReqParacrossTitleHeight) XXX_Unmarshal(b []byte) error { func (m *ReqParacrossTitleHeight) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqParacrossTitleHeight.Unmarshal(m, b) return xxx_messageInfo_ReqParacrossTitleHeight.Unmarshal(m, b)
} }
func (m *ReqParacrossTitleHeight) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReqParacrossTitleHeight) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqParacrossTitleHeight.Marshal(b, m, deterministic) return xxx_messageInfo_ReqParacrossTitleHeight.Marshal(b, m, deterministic)
} }
func (m *ReqParacrossTitleHeight) XXX_Merge(src proto.Message) { func (dst *ReqParacrossTitleHeight) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqParacrossTitleHeight.Merge(m, src) xxx_messageInfo_ReqParacrossTitleHeight.Merge(dst, src)
} }
func (m *ReqParacrossTitleHeight) XXX_Size() int { func (m *ReqParacrossTitleHeight) XXX_Size() int {
return xxx_messageInfo_ReqParacrossTitleHeight.Size(m) return xxx_messageInfo_ReqParacrossTitleHeight.Size(m)
...@@ -1747,17 +1731,16 @@ func (m *RespParacrossDone) Reset() { *m = RespParacrossDone{} } ...@@ -1747,17 +1731,16 @@ func (m *RespParacrossDone) Reset() { *m = RespParacrossDone{} }
func (m *RespParacrossDone) String() string { return proto.CompactTextString(m) } func (m *RespParacrossDone) String() string { return proto.CompactTextString(m) }
func (*RespParacrossDone) ProtoMessage() {} func (*RespParacrossDone) ProtoMessage() {}
func (*RespParacrossDone) Descriptor() ([]byte, []int) { func (*RespParacrossDone) Descriptor() ([]byte, []int) {
return fileDescriptor_6a397e38c9ea6747, []int{24} return fileDescriptor_paracross_9fd7d9353dbdeff6, []int{24}
} }
func (m *RespParacrossDone) XXX_Unmarshal(b []byte) error { func (m *RespParacrossDone) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RespParacrossDone.Unmarshal(m, b) return xxx_messageInfo_RespParacrossDone.Unmarshal(m, b)
} }
func (m *RespParacrossDone) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *RespParacrossDone) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RespParacrossDone.Marshal(b, m, deterministic) return xxx_messageInfo_RespParacrossDone.Marshal(b, m, deterministic)
} }
func (m *RespParacrossDone) XXX_Merge(src proto.Message) { func (dst *RespParacrossDone) XXX_Merge(src proto.Message) {
xxx_messageInfo_RespParacrossDone.Merge(m, src) xxx_messageInfo_RespParacrossDone.Merge(dst, src)
} }
func (m *RespParacrossDone) XXX_Size() int { func (m *RespParacrossDone) XXX_Size() int {
return xxx_messageInfo_RespParacrossDone.Size(m) return xxx_messageInfo_RespParacrossDone.Size(m)
...@@ -1835,17 +1818,16 @@ func (m *RespParacrossTitles) Reset() { *m = RespParacrossTitles{} } ...@@ -1835,17 +1818,16 @@ func (m *RespParacrossTitles) Reset() { *m = RespParacrossTitles{} }
func (m *RespParacrossTitles) String() string { return proto.CompactTextString(m) } func (m *RespParacrossTitles) String() string { return proto.CompactTextString(m) }
func (*RespParacrossTitles) ProtoMessage() {} func (*RespParacrossTitles) ProtoMessage() {}
func (*RespParacrossTitles) Descriptor() ([]byte, []int) { func (*RespParacrossTitles) Descriptor() ([]byte, []int) {
return fileDescriptor_6a397e38c9ea6747, []int{25} return fileDescriptor_paracross_9fd7d9353dbdeff6, []int{25}
} }
func (m *RespParacrossTitles) XXX_Unmarshal(b []byte) error { func (m *RespParacrossTitles) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RespParacrossTitles.Unmarshal(m, b) return xxx_messageInfo_RespParacrossTitles.Unmarshal(m, b)
} }
func (m *RespParacrossTitles) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *RespParacrossTitles) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RespParacrossTitles.Marshal(b, m, deterministic) return xxx_messageInfo_RespParacrossTitles.Marshal(b, m, deterministic)
} }
func (m *RespParacrossTitles) XXX_Merge(src proto.Message) { func (dst *RespParacrossTitles) XXX_Merge(src proto.Message) {
xxx_messageInfo_RespParacrossTitles.Merge(m, src) xxx_messageInfo_RespParacrossTitles.Merge(dst, src)
} }
func (m *RespParacrossTitles) XXX_Size() int { func (m *RespParacrossTitles) XXX_Size() int {
return xxx_messageInfo_RespParacrossTitles.Size(m) return xxx_messageInfo_RespParacrossTitles.Size(m)
...@@ -1875,17 +1857,16 @@ func (m *ReqParacrossTitleHash) Reset() { *m = ReqParacrossTitleHash{} } ...@@ -1875,17 +1857,16 @@ func (m *ReqParacrossTitleHash) Reset() { *m = ReqParacrossTitleHash{} }
func (m *ReqParacrossTitleHash) String() string { return proto.CompactTextString(m) } func (m *ReqParacrossTitleHash) String() string { return proto.CompactTextString(m) }
func (*ReqParacrossTitleHash) ProtoMessage() {} func (*ReqParacrossTitleHash) ProtoMessage() {}
func (*ReqParacrossTitleHash) Descriptor() ([]byte, []int) { func (*ReqParacrossTitleHash) Descriptor() ([]byte, []int) {
return fileDescriptor_6a397e38c9ea6747, []int{26} return fileDescriptor_paracross_9fd7d9353dbdeff6, []int{26}
} }
func (m *ReqParacrossTitleHash) XXX_Unmarshal(b []byte) error { func (m *ReqParacrossTitleHash) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqParacrossTitleHash.Unmarshal(m, b) return xxx_messageInfo_ReqParacrossTitleHash.Unmarshal(m, b)
} }
func (m *ReqParacrossTitleHash) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReqParacrossTitleHash) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqParacrossTitleHash.Marshal(b, m, deterministic) return xxx_messageInfo_ReqParacrossTitleHash.Marshal(b, m, deterministic)
} }
func (m *ReqParacrossTitleHash) XXX_Merge(src proto.Message) { func (dst *ReqParacrossTitleHash) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqParacrossTitleHash.Merge(m, src) xxx_messageInfo_ReqParacrossTitleHash.Merge(dst, src)
} }
func (m *ReqParacrossTitleHash) XXX_Size() int { func (m *ReqParacrossTitleHash) XXX_Size() int {
return xxx_messageInfo_ReqParacrossTitleHash.Size(m) return xxx_messageInfo_ReqParacrossTitleHash.Size(m)
...@@ -1935,17 +1916,16 @@ func (m *ParacrossAsset) Reset() { *m = ParacrossAsset{} } ...@@ -1935,17 +1916,16 @@ func (m *ParacrossAsset) Reset() { *m = ParacrossAsset{} }
func (m *ParacrossAsset) String() string { return proto.CompactTextString(m) } func (m *ParacrossAsset) String() string { return proto.CompactTextString(m) }
func (*ParacrossAsset) ProtoMessage() {} func (*ParacrossAsset) ProtoMessage() {}
func (*ParacrossAsset) Descriptor() ([]byte, []int) { func (*ParacrossAsset) Descriptor() ([]byte, []int) {
return fileDescriptor_6a397e38c9ea6747, []int{27} return fileDescriptor_paracross_9fd7d9353dbdeff6, []int{27}
} }
func (m *ParacrossAsset) XXX_Unmarshal(b []byte) error { func (m *ParacrossAsset) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ParacrossAsset.Unmarshal(m, b) return xxx_messageInfo_ParacrossAsset.Unmarshal(m, b)
} }
func (m *ParacrossAsset) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ParacrossAsset) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ParacrossAsset.Marshal(b, m, deterministic) return xxx_messageInfo_ParacrossAsset.Marshal(b, m, deterministic)
} }
func (m *ParacrossAsset) XXX_Merge(src proto.Message) { func (dst *ParacrossAsset) XXX_Merge(src proto.Message) {
xxx_messageInfo_ParacrossAsset.Merge(m, src) xxx_messageInfo_ParacrossAsset.Merge(dst, src)
} }
func (m *ParacrossAsset) XXX_Size() int { func (m *ParacrossAsset) XXX_Size() int {
return xxx_messageInfo_ParacrossAsset.Size(m) return xxx_messageInfo_ParacrossAsset.Size(m)
...@@ -2064,105 +2044,6 @@ func init() { ...@@ -2064,105 +2044,6 @@ func init() {
proto.RegisterType((*ParacrossAsset)(nil), "types.ParacrossAsset") proto.RegisterType((*ParacrossAsset)(nil), "types.ParacrossAsset")
} }
func init() { proto.RegisterFile("paracross.proto", fileDescriptor_6a397e38c9ea6747) }
var fileDescriptor_6a397e38c9ea6747 = []byte{
// 1473 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x58, 0x4b, 0x6f, 0x1c, 0x45,
0x10, 0xde, 0xd9, 0xa7, 0xb7, 0xfc, 0x88, 0xdd, 0x89, 0x9d, 0xc9, 0x12, 0x60, 0x35, 0x0a, 0xc8,
0x42, 0xe0, 0x80, 0x2d, 0x05, 0xa1, 0x08, 0x81, 0xe3, 0x44, 0x5e, 0x93, 0x87, 0xd0, 0xd8, 0x3c,
0x2e, 0x48, 0x4c, 0x66, 0xdb, 0xf6, 0x88, 0xdd, 0x99, 0xc9, 0x74, 0x6f, 0x62, 0x1f, 0x11, 0xf0,
0x03, 0xb8, 0xf0, 0x0b, 0x38, 0x73, 0xe1, 0x0f, 0x20, 0x8e, 0xfc, 0x0d, 0xfe, 0x08, 0xaa, 0xee,
0x9e, 0x7e, 0xcc, 0x3e, 0x14, 0x05, 0x2e, 0xdc, 0xb6, 0xaa, 0xab, 0xeb, 0xf1, 0x55, 0x75, 0x55,
0xcd, 0xc2, 0x95, 0x3c, 0x2a, 0xa2, 0xb8, 0xc8, 0x18, 0xdb, 0xc9, 0x8b, 0x8c, 0x67, 0xa4, 0xc5,
0x2f, 0x73, 0xca, 0x7a, 0x1b, 0xbc, 0x88, 0x52, 0x16, 0xc5, 0x3c, 0xc9, 0x52, 0x79, 0xd2, 0x5b,
0x89, 0xb3, 0xf1, 0x58, 0x53, 0xeb, 0x4f, 0x47, 0x59, 0xfc, 0x5d, 0x7c, 0x1e, 0x25, 0x25, 0x67,
0x8d, 0x5e, 0xd0, 0x78, 0xc2, 0xb3, 0x42, 0xd2, 0xc1, 0x23, 0xd8, 0xfa, 0xbc, 0x54, 0x7e, 0xcc,
0x23, 0x3e, 0x61, 0xf7, 0x29, 0x8f, 0x92, 0x11, 0x23, 0xd7, 0xa0, 0x15, 0x0d, 0x87, 0x05, 0xf3,
0xbd, 0x7e, 0x63, 0xbb, 0x1b, 0x4a, 0x82, 0xdc, 0x84, 0xae, 0xd0, 0x39, 0x88, 0xd8, 0xb9, 0x5f,
0xef, 0x37, 0xb6, 0x57, 0x42, 0xc3, 0x08, 0x7e, 0xf1, 0x60, 0x53, 0xab, 0x1b, 0xd0, 0xe4, 0xec,
0x9c, 0x4b, 0xa5, 0x64, 0x0b, 0xda, 0x4c, 0xfc, 0xf2, 0xbd, 0xbe, 0xb7, 0xdd, 0x0a, 0x15, 0x85,
0x56, 0x78, 0xc2, 0x47, 0xd4, 0xaf, 0xf7, 0x3d, 0xb4, 0x22, 0x08, 0x94, 0x3e, 0x17, 0xb7, 0xfd,
0x46, 0xdf, 0xdb, 0x6e, 0x84, 0x8a, 0x22, 0x1f, 0x42, 0x67, 0x28, 0xdd, 0xf3, 0x9b, 0x7d, 0x6f,
0x7b, 0x79, 0xf7, 0xf5, 0x1d, 0x81, 0xc4, 0xce, 0xec, 0x18, 0xc2, 0x52, 0x3a, 0xf8, 0x06, 0xae,
0x54, 0x44, 0x8c, 0x65, 0x6f, 0xb6, 0xe5, 0xba, 0x63, 0xd9, 0x89, 0x1b, 0x9d, 0x72, 0xe2, 0xfe,
0xd5, 0x03, 0x5f, 0xeb, 0x3f, 0xc8, 0x52, 0x46, 0x53, 0x36, 0x59, 0x6c, 0xa8, 0x0f, 0xcb, 0x22,
0x2f, 0x03, 0xdb, 0x9a, 0xcd, 0x22, 0xb7, 0x60, 0x35, 0x96, 0xaa, 0x06, 0x36, 0x16, 0x2e, 0x93,
0xbc, 0x03, 0xeb, 0x8a, 0x71, 0x4f, 0xfb, 0xd7, 0x14, 0x86, 0xa6, 0xf8, 0xc1, 0x10, 0x08, 0x7a,
0xf9, 0x24, 0x1b, 0xd2, 0xfd, 0xe1, 0xb0, 0x38, 0xc8, 0xd2, 0xd3, 0xe4, 0x6c, 0x8e, 0x7f, 0x6b,
0x50, 0xcf, 0x72, 0x95, 0x95, 0x7a, 0x96, 0x13, 0x02, 0x4d, 0xac, 0x00, 0xe1, 0x44, 0x37, 0x14,
0xbf, 0xf1, 0xe6, 0xf3, 0x68, 0x34, 0xa1, 0xca, 0xa0, 0x24, 0x82, 0x4f, 0x8d, 0x95, 0x2f, 0x33,
0x4e, 0x65, 0x2e, 0xe6, 0x94, 0x13, 0x6a, 0xc8, 0x38, 0x65, 0xa2, 0x94, 0x50, 0x03, 0x12, 0xc1,
0xcf, 0x9e, 0xeb, 0xe8, 0x2b, 0xd5, 0xd0, 0x4d, 0xe8, 0x46, 0x79, 0x3e, 0xba, 0xdc, 0x37, 0x5e,
0x1b, 0x06, 0xb9, 0x5d, 0x1a, 0x96, 0x75, 0x74, 0xc3, 0xaa, 0x23, 0xd7, 0xf1, 0xd2, 0xa7, 0x3f,
0x3d, 0xd8, 0x0c, 0x69, 0x4c, 0x93, 0x9c, 0x97, 0x42, 0x0a, 0xbf, 0x12, 0x19, 0xcf, 0x42, 0xe6,
0x03, 0x68, 0xc7, 0xe2, 0x54, 0xf8, 0x34, 0xad, 0xdf, 0xc0, 0x1f, 0x2a, 0x41, 0xf2, 0x1e, 0x34,
0xf3, 0x82, 0x3e, 0x17, 0xae, 0xce, 0xbe, 0x20, 0x61, 0x08, 0x85, 0x18, 0xd9, 0x83, 0x4e, 0x3c,
0x29, 0x0a, 0x9a, 0xf2, 0x39, 0x21, 0x58, 0x37, 0x4a, 0xc9, 0x20, 0x81, 0x1b, 0x95, 0x18, 0x30,
0xd0, 0x90, 0xc6, 0x59, 0x31, 0x24, 0x3d, 0x58, 0x3a, 0x2d, 0xb2, 0xf1, 0xbe, 0x89, 0x45, 0xd3,
0x78, 0x86, 0x30, 0x88, 0x33, 0x89, 0xb2, 0xa6, 0x4d, 0x15, 0x34, 0x44, 0x56, 0x54, 0x15, 0xfc,
0xed, 0xc1, 0xf5, 0x19, 0xb6, 0xee, 0x67, 0x29, 0x9d, 0x53, 0x71, 0x6f, 0x00, 0xf0, 0xa8, 0x38,
0xa3, 0xdc, 0xb2, 0x62, 0x71, 0xc4, 0x79, 0xc6, 0xa3, 0x11, 0xaa, 0x62, 0xca, 0x98, 0xc5, 0xc1,
0x84, 0x0b, 0x0a, 0xcd, 0x08, 0x4c, 0x5a, 0xa1, 0x61, 0x60, 0x04, 0xe3, 0x8c, 0x71, 0x71, 0xd8,
0x12, 0x87, 0x9a, 0x26, 0x3e, 0x74, 0x30, 0x9a, 0x90, 0x71, 0xbf, 0x2d, 0xcc, 0x96, 0x24, 0xda,
0x1c, 0x66, 0x29, 0x95, 0x38, 0xfa, 0x1d, 0x69, 0xd3, 0x70, 0x82, 0xaf, 0xe1, 0x5a, 0x48, 0x9f,
0xe9, 0xa7, 0x8f, 0x8e, 0x1c, 0xa5, 0xa7, 0xd9, 0x9c, 0x08, 0xcb, 0x4a, 0xa9, 0x5b, 0x95, 0x62,
0x8a, 0xba, 0x61, 0x17, 0x75, 0x70, 0x04, 0x5b, 0x21, 0x65, 0xb9, 0xa3, 0x7a, 0x5f, 0xbc, 0x99,
0xdb, 0xf6, 0x4b, 0x5a, 0x98, 0x77, 0x29, 0x17, 0xfc, 0xe4, 0xc1, 0x06, 0x9e, 0x8a, 0x46, 0xb0,
0xfb, 0x38, 0x4a, 0xd2, 0xc7, 0x51, 0x6e, 0x75, 0x3a, 0x6f, 0x7e, 0xa7, 0x93, 0x9e, 0x1a, 0x06,
0x02, 0x32, 0x36, 0x5d, 0x4b, 0x76, 0x24, 0x8b, 0x23, 0x60, 0x46, 0xca, 0xb4, 0x21, 0x4d, 0x07,
0xf7, 0xe5, 0xab, 0x36, 0x6e, 0x08, 0xa8, 0x76, 0xa0, 0x95, 0x70, 0x3a, 0x2e, 0xc3, 0xf1, 0xad,
0x70, 0x1c, 0x87, 0x43, 0x29, 0x16, 0xfc, 0xde, 0x80, 0xab, 0x0e, 0x2a, 0xaa, 0x3b, 0xdc, 0x82,
0x55, 0xb4, 0x64, 0xba, 0xa0, 0x27, 0xba, 0xb4, 0xcb, 0x24, 0xdb, 0x70, 0xc5, 0x30, 0xec, 0xd6,
0x5b, 0x65, 0x9b, 0x14, 0x36, 0x66, 0xcf, 0x87, 0xa6, 0x83, 0x5a, 0x00, 0x2b, 0x79, 0x41, 0x8d,
0xf1, 0x96, 0x30, 0xee, 0xf0, 0x5c, 0x64, 0xdb, 0x95, 0x19, 0xa2, 0x34, 0x60, 0x30, 0x54, 0x08,
0x74, 0xb4, 0x06, 0xcd, 0x43, 0x0d, 0x4c, 0x0b, 0x2c, 0x49, 0x0d, 0x9a, 0x81, 0xd8, 0xf3, 0x8b,
0x83, 0x6c, 0x92, 0x72, 0xe6, 0x77, 0xfb, 0xde, 0xf6, 0x6a, 0xa8, 0x69, 0x79, 0x16, 0x52, 0x36,
0x19, 0x71, 0x1f, 0xc4, 0x45, 0x4d, 0x63, 0xf9, 0xf3, 0x0b, 0xd4, 0xc0, 0xfc, 0x65, 0x31, 0xd1,
0x4b, 0x52, 0x8c, 0x20, 0x84, 0xf9, 0xa4, 0xbc, 0xba, 0x22, 0x31, 0x75, 0x98, 0xe8, 0xb9, 0x62,
0x48, 0x25, 0xab, 0x42, 0x89, 0xc3, 0x0b, 0x1e, 0x5a, 0x8b, 0xc1, 0x41, 0x36, 0x1e, 0x27, 0x7c,
0x5f, 0xac, 0x2d, 0x64, 0xd7, 0x69, 0xea, 0xcb, 0xbb, 0xbd, 0xea, 0x44, 0x37, 0x29, 0xd6, 0x6f,
0xe3, 0x33, 0xb8, 0xa6, 0x8f, 0x1f, 0x27, 0x29, 0x2d, 0xfe, 0x85, 0xae, 0x1f, 0x9a, 0xd6, 0x6a,
0xa0, 0xf4, 0xdc, 0xc1, 0xee, 0x8d, 0x3e, 0x2a, 0x3d, 0x37, 0xab, 0x7a, 0xec, 0x08, 0x06, 0xb5,
0x50, 0x49, 0x93, 0x3d, 0x68, 0x8d, 0xd1, 0x1d, 0xd5, 0xc3, 0x5f, 0xab, 0x5e, 0xb3, 0x7c, 0x1d,
0xd4, 0x42, 0x29, 0x4b, 0x3e, 0x86, 0xd5, 0x88, 0x31, 0xca, 0x4f, 0x70, 0x97, 0x3b, 0xa5, 0x85,
0x6a, 0xe7, 0x9b, 0xea, 0xf2, 0x3e, 0x9e, 0xb1, 0xf2, 0x70, 0x50, 0x0b, 0x5d, 0x69, 0x7d, 0xfd,
0xab, 0x84, 0x9f, 0x0f, 0x8b, 0xe8, 0x85, 0xa8, 0xbc, 0xea, 0xf5, 0xf2, 0x50, 0x5f, 0x2f, 0x19,
0x64, 0x0f, 0x96, 0x78, 0x69, 0xb8, 0xbd, 0xd8, 0xb0, 0x16, 0xc4, 0x4b, 0x2f, 0x4a, 0x73, 0x9d,
0xc5, 0xe6, 0xb4, 0x20, 0x79, 0x00, 0x6b, 0xa5, 0x82, 0x93, 0xec, 0xc1, 0x05, 0x8d, 0x45, 0x01,
0x1b, 0x94, 0x5c, 0x7b, 0x52, 0x64, 0x50, 0x0b, 0x2b, 0x97, 0xc8, 0x5d, 0x80, 0x54, 0xcf, 0x5e,
0x51, 0xe6, 0x8b, 0xa6, 0xeb, 0xa0, 0x16, 0x5a, 0xe2, 0xb8, 0xd4, 0xf0, 0x4b, 0xf1, 0xe0, 0x5b,
0x61, 0x9d, 0x5f, 0xde, 0xeb, 0xa8, 0xd1, 0x15, 0xfc, 0xe5, 0x61, 0xbb, 0xd5, 0xd3, 0xca, 0x4a,
0xf2, 0xcc, 0xf1, 0x6e, 0x0a, 0xad, 0xfe, 0xb2, 0x85, 0x46, 0xde, 0x77, 0xe6, 0xfb, 0x54, 0x49,
0xd9, 0xdb, 0xb2, 0x1a, 0xf1, 0x77, 0xaa, 0x23, 0x7e, 0xf1, 0x25, 0x3d, 0xe5, 0x1f, 0x3a, 0x9b,
0x8a, 0xa9, 0xbc, 0x57, 0x7a, 0x1f, 0x3f, 0xd6, 0x71, 0xc4, 0xb9, 0xda, 0xc4, 0x10, 0x77, 0xc7,
0xb1, 0x37, 0x35, 0x8e, 0xfb, 0xb0, 0x2c, 0x28, 0x09, 0xa3, 0x02, 0xdd, 0x66, 0x91, 0xb7, 0x61,
0x0d, 0x47, 0xf0, 0x71, 0x34, 0xa6, 0x4a, 0x48, 0x8e, 0xc0, 0x0a, 0xd7, 0x74, 0xe2, 0xe6, 0xec,
0x4e, 0xdc, 0xaa, 0xce, 0x2f, 0xd3, 0x23, 0xdb, 0x8b, 0x7a, 0x64, 0x67, 0x41, 0x8f, 0x5c, 0x72,
0x7b, 0x64, 0xf0, 0xed, 0x74, 0x7d, 0xa8, 0xb5, 0xe9, 0x3f, 0xaa, 0x8f, 0xe0, 0x2d, 0x58, 0xd6,
0xc7, 0x27, 0x17, 0x18, 0x9e, 0xec, 0xc2, 0x4a, 0xb1, 0xa2, 0x82, 0x43, 0x5c, 0xab, 0xcc, 0xc6,
0x71, 0x82, 0x58, 0x54, 0x27, 0xd6, 0xcb, 0x7c, 0xd1, 0x04, 0xdf, 0xd7, 0x61, 0xc3, 0xd9, 0x30,
0xfe, 0x5f, 0x59, 0xed, 0xbe, 0x6a, 0x56, 0xbb, 0x56, 0x56, 0x0f, 0xe1, 0xaa, 0x03, 0x81, 0x40,
0x13, 0x9f, 0x6a, 0x5b, 0x78, 0x53, 0xdd, 0x49, 0xa6, 0xe0, 0x0a, 0x95, 0x9c, 0x7c, 0x72, 0xd5,
0xac, 0xa0, 0x67, 0xb3, 0x73, 0x32, 0xb5, 0x63, 0x39, 0x5f, 0x93, 0xbf, 0xd5, 0x61, 0xcd, 0x8c,
0x24, 0x6c, 0x8b, 0x58, 0x64, 0xb8, 0x8b, 0x97, 0x45, 0x86, 0xbf, 0x45, 0x33, 0xcb, 0xca, 0x2f,
0x34, 0x9e, 0x61, 0xea, 0x12, 0xdd, 0x7a, 0x05, 0xe8, 0x4b, 0xa1, 0xc5, 0xb1, 0x2a, 0xaa, 0x29,
0x2c, 0x2a, 0x0a, 0xf9, 0xd1, 0x18, 0xb1, 0x2a, 0x21, 0x97, 0x14, 0xda, 0xa4, 0xd8, 0xa6, 0x25,
0xda, 0xe2, 0xb7, 0xd8, 0x56, 0x2f, 0xc7, 0x4f, 0xb3, 0x91, 0x80, 0xb9, 0x1b, 0x2a, 0xca, 0x4a,
0x1b, 0x38, 0x69, 0x13, 0x5f, 0xa7, 0x98, 0x6e, 0x44, 0x4b, 0xed, 0x5b, 0x9b, 0x42, 0x62, 0x8a,
0x8f, 0xfe, 0xe7, 0x51, 0x11, 0x29, 0xa9, 0x2d, 0xb9, 0x5a, 0x1a, 0x0e, 0xae, 0x29, 0x6c, 0x12,
0xc7, 0x94, 0x31, 0xff, 0xba, 0x08, 0xae, 0x24, 0x77, 0xff, 0xa8, 0x43, 0x57, 0xff, 0x45, 0x42,
0x3e, 0x81, 0xa5, 0x43, 0xca, 0x45, 0x0a, 0xc8, 0xba, 0xce, 0xdc, 0xb3, 0x63, 0x5e, 0x24, 0xe9,
0x59, 0xef, 0xcd, 0xe9, 0x59, 0xee, 0x7c, 0xae, 0x07, 0x35, 0xf2, 0x11, 0xc0, 0xa3, 0x84, 0x71,
0x55, 0x0c, 0xab, 0x46, 0xc5, 0x93, 0x64, 0xd4, 0xeb, 0xcd, 0xaa, 0x05, 0x29, 0x1a, 0xd4, 0xc8,
0x23, 0x58, 0x2b, 0x6d, 0x97, 0x51, 0x99, 0xeb, 0xb3, 0x1e, 0x6d, 0x6f, 0x6e, 0x6d, 0x05, 0x35,
0x72, 0x17, 0xd6, 0x0f, 0x29, 0x17, 0x15, 0xa0, 0x97, 0xad, 0x35, 0xa3, 0x0f, 0xb3, 0xd7, 0xdb,
0xac, 0xc6, 0x23, 0xc4, 0x83, 0x1a, 0x79, 0x17, 0xda, 0x47, 0xec, 0xf8, 0x32, 0x8d, 0xab, 0x11,
0x6c, 0x28, 0xf2, 0x88, 0x1d, 0x44, 0x93, 0xb3, 0x73, 0xfe, 0x45, 0x1e, 0xd4, 0x9e, 0xb6, 0xc5,
0xdf, 0x41, 0x7b, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0x69, 0x19, 0xcd, 0x46, 0x6b, 0x12, 0x00,
0x00,
}
// Reference imports to suppress errors if they are not otherwise used. // Reference imports to suppress errors if they are not otherwise used.
var _ context.Context var _ context.Context
var _ grpc.ClientConn var _ grpc.ClientConn
...@@ -2366,3 +2247,102 @@ var _Paracross_serviceDesc = grpc.ServiceDesc{ ...@@ -2366,3 +2247,102 @@ var _Paracross_serviceDesc = grpc.ServiceDesc{
Streams: []grpc.StreamDesc{}, Streams: []grpc.StreamDesc{},
Metadata: "paracross.proto", Metadata: "paracross.proto",
} }
func init() { proto.RegisterFile("paracross.proto", fileDescriptor_paracross_9fd7d9353dbdeff6) }
var fileDescriptor_paracross_9fd7d9353dbdeff6 = []byte{
// 1488 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x58, 0x4b, 0x6f, 0x1c, 0x45,
0x10, 0xde, 0xd9, 0xa7, 0xb7, 0xfc, 0x88, 0xdd, 0x89, 0x9d, 0xc9, 0x12, 0x60, 0x35, 0x0a, 0xc8,
0x42, 0xe0, 0x80, 0x2d, 0x05, 0xa1, 0x08, 0x81, 0xe3, 0x44, 0x5e, 0x2b, 0x0f, 0xa1, 0xb1, 0x79,
0x5c, 0x90, 0x98, 0xcc, 0xb6, 0xed, 0x11, 0xbb, 0x33, 0x93, 0xe9, 0xde, 0xc4, 0x3e, 0x22, 0xe0,
0x07, 0x70, 0xe1, 0x17, 0x70, 0xe6, 0xc2, 0x1f, 0x40, 0x1c, 0xf9, 0x1b, 0xfc, 0x11, 0x54, 0xd5,
0x3d, 0xdd, 0x33, 0xb3, 0x0f, 0x45, 0x16, 0x17, 0x6e, 0x5b, 0xd5, 0xd5, 0xf5, 0xf8, 0xaa, 0xba,
0xaa, 0x66, 0xe1, 0x5a, 0x1a, 0x64, 0x41, 0x98, 0x25, 0x42, 0xec, 0xa4, 0x59, 0x22, 0x13, 0xd6,
0x92, 0x97, 0x29, 0x17, 0xbd, 0x0d, 0x99, 0x05, 0xb1, 0x08, 0x42, 0x19, 0x25, 0xb1, 0x3a, 0xe9,
0xad, 0x84, 0xc9, 0x78, 0x6c, 0xa8, 0xf5, 0xe7, 0xa3, 0x24, 0xfc, 0x3e, 0x3c, 0x0f, 0xa2, 0x9c,
0xb3, 0xc6, 0x2f, 0x78, 0x38, 0x91, 0x49, 0xa6, 0x68, 0xef, 0x09, 0x6c, 0x7d, 0x91, 0x2b, 0x3f,
0x96, 0x81, 0x9c, 0x88, 0x87, 0x5c, 0x06, 0xd1, 0x48, 0xb0, 0x1b, 0xd0, 0x0a, 0x86, 0xc3, 0x4c,
0xb8, 0x4e, 0xbf, 0xb1, 0xdd, 0xf5, 0x15, 0xc1, 0x6e, 0x43, 0x97, 0x74, 0x0e, 0x02, 0x71, 0xee,
0xd6, 0xfb, 0x8d, 0xed, 0x15, 0xdf, 0x32, 0xbc, 0x5f, 0x1d, 0xd8, 0x34, 0xea, 0x06, 0x3c, 0x3a,
0x3b, 0x97, 0x4a, 0x29, 0xdb, 0x82, 0xb6, 0xa0, 0x5f, 0xae, 0xd3, 0x77, 0xb6, 0x5b, 0xbe, 0xa6,
0xd0, 0x8a, 0x8c, 0xe4, 0x88, 0xbb, 0xf5, 0xbe, 0x83, 0x56, 0x88, 0x40, 0xe9, 0x73, 0xba, 0xed,
0x36, 0xfa, 0xce, 0x76, 0xc3, 0xd7, 0x14, 0xfb, 0x18, 0x3a, 0x43, 0xe5, 0x9e, 0xdb, 0xec, 0x3b,
0xdb, 0xcb, 0xbb, 0x6f, 0xee, 0x10, 0x12, 0x3b, 0xb3, 0x63, 0xf0, 0x73, 0x69, 0xef, 0x5b, 0xb8,
0x56, 0x11, 0xb1, 0x96, 0x9d, 0xd9, 0x96, 0xeb, 0x25, 0xcb, 0xa5, 0xb8, 0xd1, 0xa9, 0x52, 0xdc,
0xbf, 0x39, 0xe0, 0x1a, 0xfd, 0x07, 0x49, 0x2c, 0x78, 0x2c, 0x26, 0x8b, 0x0d, 0xf5, 0x61, 0x99,
0xf2, 0x32, 0x28, 0x5a, 0x2b, 0xb2, 0xd8, 0x1d, 0x58, 0x0d, 0x95, 0xaa, 0x41, 0x11, 0x8b, 0x32,
0x93, 0xbd, 0x07, 0xeb, 0x9a, 0xf1, 0xc0, 0xf8, 0xd7, 0x24, 0x43, 0x53, 0x7c, 0x6f, 0x08, 0x0c,
0xbd, 0x7c, 0x96, 0x0c, 0xf9, 0xfe, 0x70, 0x98, 0x1d, 0x24, 0xf1, 0x69, 0x74, 0x36, 0xc7, 0xbf,
0x35, 0xa8, 0x27, 0xa9, 0xce, 0x4a, 0x3d, 0x49, 0x19, 0x83, 0x26, 0x56, 0x00, 0x39, 0xd1, 0xf5,
0xe9, 0x37, 0xde, 0x7c, 0x19, 0x8c, 0x26, 0x5c, 0x1b, 0x54, 0x84, 0xf7, 0xb9, 0xb5, 0xf2, 0x55,
0x22, 0xb9, 0xca, 0xc5, 0x9c, 0x72, 0x42, 0x0d, 0x89, 0xe4, 0x82, 0x4a, 0x09, 0x35, 0x20, 0xe1,
0xfd, 0xe2, 0x94, 0x1d, 0xbd, 0x52, 0x0d, 0xdd, 0x86, 0x6e, 0x90, 0xa6, 0xa3, 0xcb, 0x7d, 0xeb,
0xb5, 0x65, 0xb0, 0xbb, 0xb9, 0x61, 0x55, 0x47, 0xb7, 0x0a, 0x75, 0x54, 0x76, 0x3c, 0xf7, 0xe9,
0x2f, 0x07, 0x36, 0x7d, 0x1e, 0xf2, 0x28, 0x95, 0xb9, 0x90, 0xc6, 0x2f, 0x47, 0xc6, 0x29, 0x20,
0xf3, 0x11, 0xb4, 0x43, 0x3a, 0x25, 0x9f, 0xa6, 0xf5, 0x5b, 0xf8, 0x7d, 0x2d, 0xc8, 0x3e, 0x80,
0x66, 0x9a, 0xf1, 0x97, 0xe4, 0xea, 0xec, 0x0b, 0x0a, 0x06, 0x9f, 0xc4, 0xd8, 0x1e, 0x74, 0xc2,
0x49, 0x96, 0xf1, 0x58, 0xce, 0x09, 0xa1, 0x70, 0x23, 0x97, 0xf4, 0x22, 0xb8, 0x55, 0x89, 0x01,
0x03, 0xf5, 0x79, 0x98, 0x64, 0x43, 0xd6, 0x83, 0xa5, 0xd3, 0x2c, 0x19, 0xef, 0xdb, 0x58, 0x0c,
0x8d, 0x67, 0x08, 0x03, 0x9d, 0x29, 0x94, 0x0d, 0x6d, 0xab, 0xa0, 0x41, 0x59, 0xd1, 0x55, 0xf0,
0x8f, 0x03, 0x37, 0x67, 0xd8, 0x7a, 0x98, 0xc4, 0x7c, 0x4e, 0xc5, 0xbd, 0x05, 0x20, 0x83, 0xec,
0x8c, 0xcb, 0x82, 0x95, 0x02, 0x87, 0xce, 0x13, 0x19, 0x8c, 0x50, 0x95, 0xd0, 0xc6, 0x0a, 0x1c,
0x4c, 0x38, 0x51, 0x68, 0x86, 0x30, 0x69, 0xf9, 0x96, 0x81, 0x11, 0x8c, 0x13, 0x21, 0xe9, 0xb0,
0x45, 0x87, 0x86, 0x66, 0x2e, 0x74, 0x30, 0x1a, 0x5f, 0x48, 0xb7, 0x4d, 0x66, 0x73, 0x12, 0x6d,
0x0e, 0x93, 0x98, 0x2b, 0x1c, 0xdd, 0x8e, 0xb2, 0x69, 0x39, 0xde, 0x37, 0x70, 0xc3, 0xe7, 0x2f,
0xcc, 0xd3, 0x47, 0x47, 0x8e, 0xe2, 0xd3, 0x64, 0x4e, 0x84, 0x79, 0xa5, 0xd4, 0x0b, 0x95, 0x62,
0x8b, 0xba, 0x51, 0x2c, 0x6a, 0xef, 0x08, 0xb6, 0x7c, 0x2e, 0xd2, 0x92, 0xea, 0x7d, 0x7a, 0x33,
0x77, 0x8b, 0x2f, 0x69, 0x61, 0xde, 0x95, 0x9c, 0xf7, 0xb3, 0x03, 0x1b, 0x78, 0x4a, 0x8d, 0x60,
0xf7, 0x69, 0x10, 0xc5, 0x4f, 0x83, 0xb4, 0xd0, 0xe9, 0x9c, 0xf9, 0x9d, 0x4e, 0x79, 0x6a, 0x19,
0x08, 0xc8, 0xd8, 0x76, 0x2d, 0xd5, 0x91, 0x0a, 0x1c, 0x82, 0x19, 0x29, 0xdb, 0x86, 0x0c, 0xed,
0x3d, 0x54, 0xaf, 0xda, 0xba, 0x41, 0x50, 0xed, 0x40, 0x2b, 0x92, 0x7c, 0x9c, 0x87, 0xe3, 0x16,
0xc2, 0x29, 0x39, 0xec, 0x2b, 0x31, 0xef, 0x8f, 0x06, 0x5c, 0x2f, 0xa1, 0xa2, 0xbb, 0xc3, 0x1d,
0x58, 0x45, 0x4b, 0xb6, 0x0b, 0x3a, 0xd4, 0xa5, 0xcb, 0x4c, 0xb6, 0x0d, 0xd7, 0x2c, 0xa3, 0xd8,
0x7a, 0xab, 0x6c, 0x9b, 0xc2, 0xc6, 0xec, 0xf9, 0xd0, 0x2c, 0xa1, 0xe6, 0xc1, 0x4a, 0x9a, 0x71,
0x6b, 0xbc, 0x45, 0xc6, 0x4b, 0xbc, 0x32, 0xb2, 0xed, 0xca, 0x0c, 0xd1, 0x1a, 0x30, 0x18, 0x4e,
0x02, 0x1d, 0xa3, 0xc1, 0xf0, 0x50, 0x83, 0x30, 0x02, 0x4b, 0x4a, 0x83, 0x61, 0x20, 0xf6, 0xf2,
0xe2, 0x20, 0x99, 0xc4, 0x52, 0xb8, 0xdd, 0xbe, 0xb3, 0xbd, 0xea, 0x1b, 0x5a, 0x9d, 0xf9, 0x5c,
0x4c, 0x46, 0xd2, 0x05, 0xba, 0x68, 0x68, 0x2c, 0x7f, 0x79, 0x81, 0x1a, 0x84, 0xbb, 0x4c, 0x13,
0x3d, 0x27, 0x69, 0x04, 0x21, 0xcc, 0x27, 0xf9, 0xd5, 0x15, 0x85, 0x69, 0x89, 0x89, 0x9e, 0x6b,
0x86, 0x52, 0xb2, 0x4a, 0x4a, 0x4a, 0x3c, 0xef, 0x71, 0x61, 0x31, 0x38, 0x48, 0xc6, 0xe3, 0x48,
0xee, 0xd3, 0xda, 0xc2, 0x76, 0x4b, 0x4d, 0x7d, 0x79, 0xb7, 0x57, 0x9d, 0xe8, 0x36, 0xc5, 0xe6,
0x6d, 0x48, 0xb8, 0x61, 0x8e, 0x9f, 0x46, 0x31, 0xcf, 0xae, 0xae, 0x0b, 0x0b, 0x22, 0x12, 0xc7,
0x7c, 0x74, 0x6a, 0xc6, 0x36, 0x15, 0xc4, 0x92, 0x5f, 0x65, 0x7b, 0x3f, 0x36, 0x0b, 0x4b, 0x84,
0xb6, 0x78, 0x0f, 0xfb, 0x3c, 0x46, 0xa3, 0x2d, 0xde, 0xae, 0x5a, 0x2c, 0xc6, 0x3a, 0xa8, 0xf9,
0x5a, 0x9a, 0xed, 0x41, 0x6b, 0x8c, 0x8e, 0xeb, 0x6e, 0xff, 0x46, 0xf5, 0x5a, 0x21, 0xaa, 0x41,
0xcd, 0x57, 0xb2, 0xec, 0x53, 0x58, 0x0d, 0x84, 0xe0, 0xf2, 0x04, 0xb7, 0xbe, 0x53, 0x9e, 0xe9,
0xc6, 0xbf, 0xa9, 0x2f, 0xef, 0xe3, 0x99, 0xc8, 0x0f, 0x07, 0x35, 0xbf, 0x2c, 0x6d, 0xae, 0x7f,
0x1d, 0xc9, 0xf3, 0x61, 0x16, 0xbc, 0xa2, 0x1a, 0xad, 0x5e, 0xcf, 0x0f, 0xcd, 0xf5, 0x9c, 0xc1,
0xf6, 0x60, 0x49, 0xe6, 0x86, 0xdb, 0x8b, 0x0d, 0x1b, 0x41, 0xbc, 0xf4, 0x2a, 0x37, 0xd7, 0x59,
0x6c, 0xce, 0x08, 0xb2, 0x47, 0xb0, 0x96, 0x2b, 0x38, 0x49, 0x1e, 0x5d, 0xf0, 0x90, 0x4a, 0xdd,
0xa2, 0x54, 0xb6, 0xa7, 0x44, 0x06, 0x35, 0xbf, 0x72, 0x89, 0xdd, 0x07, 0x88, 0xcd, 0x94, 0xa6,
0x07, 0xb1, 0x68, 0x0e, 0x0f, 0x6a, 0x7e, 0x41, 0x1c, 0xd7, 0x1f, 0x79, 0x49, 0x95, 0xd0, 0xf2,
0xeb, 0xf2, 0xf2, 0x41, 0x47, 0x0f, 0x39, 0xef, 0x6f, 0x07, 0x1b, 0xb3, 0x99, 0x6b, 0x85, 0x24,
0xcf, 0x5c, 0x04, 0x6c, 0x49, 0xd6, 0x5f, 0xbb, 0x24, 0x3f, 0x2c, 0x6d, 0x02, 0x53, 0x25, 0x55,
0xdc, 0xab, 0xf5, 0x32, 0x70, 0xaf, 0xba, 0x0c, 0x2c, 0xbe, 0x64, 0xf6, 0x81, 0xc7, 0xa5, 0x9d,
0xc6, 0x56, 0xde, 0x95, 0x5e, 0xe5, 0x4f, 0x75, 0x1c, 0x86, 0x65, 0x6d, 0x34, 0xee, 0xcb, 0x83,
0xdb, 0x99, 0x1a, 0xdc, 0x7d, 0x58, 0x26, 0x4a, 0xc1, 0xa8, 0x41, 0x2f, 0xb2, 0xd8, 0xbb, 0xb0,
0x86, 0xc3, 0xfa, 0x38, 0x18, 0x73, 0x2d, 0xa4, 0x86, 0x65, 0x85, 0x6b, 0x7b, 0x76, 0x73, 0x76,
0xcf, 0x6e, 0x55, 0x27, 0x9d, 0xed, 0xa6, 0xed, 0x45, 0xdd, 0xb4, 0xb3, 0xa0, 0x9b, 0x2e, 0x95,
0xbb, 0xa9, 0xf7, 0xdd, 0x74, 0x7d, 0xe8, 0x05, 0xeb, 0x3f, 0xaa, 0x0f, 0xef, 0x1d, 0x58, 0x36,
0xc7, 0x27, 0x17, 0x18, 0x9e, 0xea, 0xd7, 0x5a, 0xb1, 0xa6, 0xbc, 0x43, 0x5c, 0xc0, 0xec, 0x6e,
0x72, 0x82, 0x58, 0x54, 0x67, 0xdb, 0xeb, 0x7c, 0xfb, 0x78, 0x3f, 0xd4, 0x61, 0xa3, 0xb4, 0x8b,
0xfc, 0xbf, 0xb2, 0xda, 0xbd, 0x6a, 0x56, 0xbb, 0x85, 0xac, 0x1e, 0xc2, 0xf5, 0x12, 0x04, 0x84,
0x26, 0x3e, 0xd5, 0x36, 0x79, 0x53, 0xdd, 0x5e, 0xa6, 0xe0, 0xf2, 0xb5, 0x9c, 0x7a, 0x72, 0xd5,
0xac, 0xa0, 0x67, 0xb3, 0x73, 0x32, 0xb5, 0x8d, 0x95, 0xbe, 0x3b, 0x7f, 0xaf, 0xc3, 0x9a, 0x1d,
0x49, 0xd8, 0x16, 0xb1, 0xc8, 0x70, 0x6b, 0xcf, 0x8b, 0x0c, 0x7f, 0x53, 0x33, 0x4b, 0xf2, 0x6f,
0x39, 0x99, 0x60, 0xea, 0x22, 0xd3, 0x7a, 0x09, 0xf4, 0x25, 0xbf, 0xc0, 0x29, 0x54, 0x54, 0x93,
0x2c, 0x6a, 0x0a, 0xf9, 0xc1, 0x18, 0xb1, 0xca, 0x21, 0x57, 0x14, 0xda, 0xe4, 0xd8, 0xa6, 0x15,
0xda, 0xf4, 0x9b, 0xf6, 0xda, 0xcb, 0xf1, 0xf3, 0x64, 0x44, 0x30, 0x77, 0x7d, 0x4d, 0x15, 0xd2,
0x06, 0xa5, 0xb4, 0xd1, 0x77, 0x2c, 0xa6, 0x1b, 0xd1, 0xd2, 0x9b, 0xd9, 0x26, 0x49, 0x4c, 0xf1,
0xd1, 0xff, 0x34, 0xc8, 0x02, 0x2d, 0xb5, 0xa5, 0x96, 0x50, 0xcb, 0xc1, 0x85, 0x46, 0x4c, 0xc2,
0x90, 0x0b, 0xe1, 0xde, 0xa4, 0xe0, 0x72, 0x72, 0xf7, 0xcf, 0x3a, 0x74, 0xcd, 0x9f, 0x29, 0xec,
0x33, 0x58, 0x3a, 0xe4, 0x92, 0x52, 0xc0, 0xd6, 0x4d, 0xe6, 0x5e, 0x1c, 0xcb, 0x2c, 0x8a, 0xcf,
0x7a, 0x6f, 0x4f, 0xcf, 0xf2, 0xd2, 0x87, 0xbd, 0x57, 0x63, 0x9f, 0x00, 0x3c, 0x89, 0x84, 0xd4,
0xc5, 0xb0, 0x6a, 0x55, 0x3c, 0x8b, 0x46, 0xbd, 0xde, 0xac, 0x5a, 0x50, 0xa2, 0x5e, 0x8d, 0x3d,
0x81, 0xb5, 0xdc, 0x76, 0x1e, 0x95, 0xbd, 0x3e, 0xeb, 0xd1, 0xf6, 0xe6, 0xd6, 0x96, 0x57, 0x63,
0xf7, 0x61, 0xfd, 0x90, 0x4b, 0xaa, 0x00, 0xb3, 0x96, 0xad, 0x59, 0x7d, 0x98, 0xbd, 0xde, 0x66,
0x35, 0x1e, 0x12, 0xf7, 0x6a, 0xec, 0x7d, 0x68, 0x1f, 0x89, 0xe3, 0xcb, 0x38, 0xac, 0x46, 0xb0,
0xa1, 0xc9, 0x23, 0x71, 0x10, 0x4c, 0xce, 0xce, 0xe5, 0x97, 0xa9, 0x57, 0x7b, 0xde, 0xa6, 0x3f,
0x8e, 0xf6, 0xfe, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xac, 0x4d, 0x78, 0xed, 0x95, 0x12, 0x00, 0x00,
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment