Commit 83b88f85 authored by liuyuhang's avatar liuyuhang

1、修改可变系统参数范围以及默认值

2、加入对于代理挖矿的投票 3、加入提案撤销某个board的新提案
parent a3a0d677
......@@ -81,7 +81,7 @@ func addProposalBoardFlags(cmd *cobra.Command) {
cmd.Flags().Int64P("endBlock", "e", 0, "end block height")
cmd.MarkFlagRequired("endBlock")
cmd.Flags().StringP("boards", "b", "", "addr1-addr2......addrN (3<=N<=30)")
cmd.Flags().StringP("boards", "b", "", "addr1-addr2......addrN (20<=N<=40)")
cmd.MarkFlagRequired("boards")
}
......@@ -173,22 +173,27 @@ func addVoteProposalBoardFlags(cmd *cobra.Command) {
cmd.Flags().StringP("proposalID", "p", "", "proposal ID")
cmd.MarkFlagRequired("proposalID")
cmd.Flags().Int32P("approve", "r", 1, "is approve, default true")
cmd.Flags().StringP("originAddr", "o", "", "origin address: addr1-addr2......addrN")
}
func voteProposalBoard(cmd *cobra.Command, args []string) {
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
ID, _ := cmd.Flags().GetString("proposalID")
approve, _ := cmd.Flags().GetInt32("approve")
originAddr, _ := cmd.Flags().GetString("originAddr")
var isapp bool
if approve == 0 {
isapp = false
} else {
isapp = true
}
originAddrs := strings.Split(originAddr, "-")
params := &auty.VoteProposalBoard{
ProposalID: ID,
Approve: isapp,
OriginAddr: originAddrs,
}
payLoad, err := json.Marshal(params)
if err != nil {
......
......@@ -12,6 +12,7 @@ import (
"github.com/33cn/chain33/types"
auty "github.com/33cn/plugin/plugin/dapp/autonomy/types"
"github.com/spf13/cobra"
"strings"
)
// ProposalProjectCmd 创建提案命令
......@@ -201,12 +202,14 @@ func addPubVoteProposalProjectFlags(cmd *cobra.Command) {
cmd.Flags().StringP("proposalID", "p", "", "proposal ID")
cmd.MarkFlagRequired("proposalID")
cmd.Flags().Int32P("oppose", "o", 1, "is oppose, default true")
cmd.Flags().StringP("originAddr", "o", "", "origin address: addr1-addr2......addrN")
}
func pubVoteProposalProject(cmd *cobra.Command, args []string) {
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
ID, _ := cmd.Flags().GetString("proposalID")
oppose, _ := cmd.Flags().GetInt32("oppose")
originAddr, _ := cmd.Flags().GetString("originAddr")
var isopp bool
if oppose == 0 {
......@@ -215,9 +218,12 @@ func pubVoteProposalProject(cmd *cobra.Command, args []string) {
isopp = true
}
originAddrs := strings.Split(originAddr, "-")
params := &auty.PubVoteProposalProject{
ProposalID: ID,
Oppose: isopp,
OriginAddr: originAddrs,
}
payLoad, err := json.Marshal(params)
if err != nil {
......
......@@ -12,6 +12,7 @@ import (
"github.com/33cn/chain33/types"
auty "github.com/33cn/plugin/plugin/dapp/autonomy/types"
"github.com/spf13/cobra"
"strings"
)
// ProposalRuleCmd 创建提案命令
......@@ -142,12 +143,14 @@ func addVoteProposalRuleFlags(cmd *cobra.Command) {
cmd.Flags().StringP("proposalID", "p", "", "proposal ID")
cmd.MarkFlagRequired("proposalID")
cmd.Flags().Int32P("approve", "r", 1, "is approve, default true")
cmd.Flags().StringP("originAddr", "o", "", "origin address: addr1-addr2......addrN")
}
func voteProposalRule(cmd *cobra.Command, args []string) {
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
ID, _ := cmd.Flags().GetString("proposalID")
approve, _ := cmd.Flags().GetInt32("approve")
originAddr, _ := cmd.Flags().GetString("originAddr")
var isapp bool
if approve == 0 {
isapp = false
......@@ -155,9 +158,12 @@ func voteProposalRule(cmd *cobra.Command, args []string) {
isapp = true
}
originAddrs := strings.Split(originAddr, "-")
params := &auty.VoteProposalRule{
ProposalID: ID,
Approve: isapp,
OriginAddr: originAddrs,
}
payLoad, err := json.Marshal(params)
if err != nil {
......
......@@ -14,19 +14,21 @@ import (
auty "github.com/33cn/plugin/plugin/dapp/autonomy/types"
"github.com/33cn/chain33/common/address"
"syscall"
ticket "github.com/33cn/plugin/plugin/dapp/ticket/executor"
ticketTy "github.com/33cn/plugin/plugin/dapp/ticket/types"
)
const (
minBoards = 3
maxBoards = 30
publicPeriod int32 = 120960 // 公示一周时间,以区块高度计算
minBoards = 20
maxBoards = 40
publicPeriod int32 = 17280 * 7 // 公示一周时间,以区块高度计算
ticketPrice = types.Coin * 3000 // 单张票价
largeProjectAmount = types.Coin * 100 * 10000 // 重大项目公示金额阈值
proposalAmount = types.Coin * 1000 // 创建者消耗金额
boardAttendRatio int32 = 66 // 董事会成员参与率,以%计,可修改
boardApproveRatio int32 = 66 // 董事会成员赞成率,以%计,可修改
pubAttendRatio int32 = 50 // 全体持票人参与率,以%计
pubApproveRatio int32 = 50 // 全体持票人赞成率,以%计
pubAttendRatio int32 = 75 // 全体持票人参与率,以%计
pubApproveRatio int32 = 66 // 全体持票人赞成率,以%计
pubOpposeRatio int32 = 33 // 全体持票人否决率,以%计
)
......@@ -187,15 +189,33 @@ func (a *action) votePropBoard(voteProb *auty.VoteProposalBoard) (*types.Receipt
return nil, err
}
// 挖矿地址验证
if len(voteProb.OriginAddr) > 0 {
addr, err := a.verifyMinerAddr(voteProb.OriginAddr, a.fromaddr)
if err != nil {
alog.Error("votePropBoard ", "from addr", a.fromaddr, "error addr", addr, "ProposalID",
voteProb.ProposalID, "err", err)
return nil, err
}
}
// 本次参与投票地址
var addrs []string
if len(voteProb.OriginAddr) == 0 {
addrs = append(addrs, a.fromaddr)
} else {
addrs = append(addrs, voteProb.OriginAddr...)
}
// 检查是否已经参与投票
votes, err := a.checkVotesRecord(votesRecord(voteProb.ProposalID))
votes, err := a.checkVotesRecord(addrs, votesRecord(voteProb.ProposalID))
if err != nil {
alog.Error("votePropBoard ", "addr", a.fromaddr, "execaddr", a.execaddr, "checkVotesRecord failed",
voteProb.ProposalID, "err", err)
return nil, err
}
// 更新投票记录
votes.Address = append(votes.Address, a.fromaddr)
votes.Address = append(votes.Address, addrs...)
if cur.GetVoteResult().TotalVotes == 0 { //需要统计票数
vtCouts, err := a.getTotalVotes(start)
......@@ -205,8 +225,10 @@ func (a *action) votePropBoard(voteProb *auty.VoteProposalBoard) (*types.Receipt
cur.VoteResult.TotalVotes = vtCouts
}
vtCouts, err := a.getAddressVotes(a.fromaddr, start)
vtCouts, err := a.batchGetAddressVotes(addrs, start)
if err != nil {
alog.Error("votePropBoard ", "addr", a.fromaddr, "execaddr", a.execaddr, "batchGetAddressVotes failed",
voteProb.ProposalID, "err", err)
return nil, err
}
if voteProb.Approve {
......@@ -249,7 +271,11 @@ func (a *action) votePropBoard(voteProb *auty.VoteProposalBoard) (*types.Receipt
// 更新当前具有权利的董事会成员
if cur.VoteResult.Pass {
kv = append(kv, &types.KeyValue{Key: activeBoardID(), Value: types.Encode(cur.PropBoard)})
act := &auty.ActiveBoard{
Boards: cur.PropBoard.Boards,
StartHeight: a.height,
}
kv = append(kv, &types.KeyValue{Key: activeBoardID(), Value: types.Encode(act)})
}
ty := auty.TyLogVotePropBoard
......@@ -325,7 +351,11 @@ func (a *action) tmintPropBoard(tmintProb *auty.TerminateProposalBoard) (*types.
// 更新当前具有权利的董事会成员
if cur.VoteResult.Pass {
kv = append(kv, &types.KeyValue{Key: activeBoardID(), Value: types.Encode(cur.PropBoard)})
act := &auty.ActiveBoard{
Boards: cur.PropBoard.Boards,
StartHeight: a.height,
}
kv = append(kv, &types.KeyValue{Key: activeBoardID(), Value: types.Encode(act)})
}
receiptLog := getReceiptLog(pre, cur, auty.TyLogTmintPropBoard)
......@@ -346,6 +376,34 @@ func (a *action) getTotalVotes(height int64) (int32, error) {
return int32(account.Balance / ticketPrice), nil
}
func (a *action) verifyMinerAddr(addrs []string, bindAddr string) (string, error) {
// 验证绑定关系
for _, addr := range addrs {
value, err := a.db.Get(ticket.BindKey(addr))
if err != nil {
return addr, auty.ErrMinerAddr
}
tkBind := &ticketTy.TicketBind{}
err = types.Decode(value, tkBind)
if err != nil ||tkBind.MinerAddress != bindAddr {
return addr, auty.ErrBindAddr
}
}
return "", nil
}
func (a *action) batchGetAddressVotes(addrs []string, height int64) (int32, error) {
total := int32(0)
for _, addr := range addrs {
count, err := a.getAddressVotes(addr, height)
if err != nil {
return 0, err
}
total += count
}
return total, nil
}
func (a *action) getAddressVotes(addr string, height int64) (int32, error) {
account, err := a.getStartHeightVoteAccount(addr, auty.TicketX, height)
if err != nil {
......@@ -416,7 +474,7 @@ func (a *action) getActiveRule() (*auty.RuleConfig, error) {
return rule, nil
}
func (a *action) checkVotesRecord(key []byte) (*auty.VotesRecord, error) {
func (a *action) checkVotesRecord(addrs []string, key []byte) (*auty.VotesRecord, error) {
var votes auty.VotesRecord
value, err := a.db.Get(key)
if err == nil {
......@@ -425,10 +483,15 @@ func (a *action) checkVotesRecord(key []byte) (*auty.VotesRecord, error) {
return nil, err
}
}
mp := make(map[string]struct{}, len(addrs))
for _, addr := range addrs {
mp[addr] = struct{}{}
}
// 检查是否有重复
for _, addr := range votes.Address {
if addr == a.fromaddr {
if _, ok := mp[addr]; ok {
err := auty.ErrRepeatVoteAddr
alog.Error("autonomy ", "addr", addr, "err", err)
return nil, err
}
}
......
// Copyright Fuzamei Corp. 2018 All Rights Reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package executor
import (
"github.com/33cn/chain33/common"
"github.com/33cn/chain33/types"
auty "github.com/33cn/plugin/plugin/dapp/autonomy/types"
)
func (a *action) propChange(prob *auty.ProposalChange) (*types.Receipt, error) {
//如果全小于等于0,则说明该提案规则参数不正确
if prob == nil || len(prob.Changes) == 0 {
alog.Error("propChange ", "ProposalChange ChangeCfg invaild or have no modify param", prob)
return nil, types.ErrInvalidParam
}
if prob.StartBlockHeight < a.height || prob.EndBlockHeight < a.height {
alog.Error("propChange height invaild", "StartBlockHeight", prob.StartBlockHeight, "EndBlockHeight",
prob.EndBlockHeight, "height", a.height)
return nil, types.ErrInvalidParam
}
act, err := a.getActiveBoard()
if err != nil {
alog.Error("propChange ", "addr", a.fromaddr, "execaddr", a.execaddr, "getActiveBoard failed", err)
return nil, err
}
// 获取当前生效提案规则,并且将不修改的规则补齐
rule, err := a.getActiveRule()
if err != nil {
alog.Error("propChange ", "addr", a.fromaddr, "execaddr", a.execaddr, "getActiveRule failed", err)
return nil, err
}
receipt, err := a.coinsAccount.ExecFrozen(a.fromaddr, a.execaddr, rule.ProposalAmount)
if err != nil {
alog.Error("propChange ", "addr", a.fromaddr, "execaddr", a.execaddr, "ExecFrozen amount", rule.ProposalAmount)
return nil, err
}
var logs []*types.ReceiptLog
var kv []*types.KeyValue
logs = append(logs, receipt.Logs...)
kv = append(kv, receipt.KV...)
cur := &auty.AutonomyProposalChange{
PropChange: prob,
CurRule: rule,
VoteResult: &auty.VoteResult{},
Status: auty.AutonomyStatusProposalChange,
Address: a.fromaddr,
Height: a.height,
Index: a.index,
ProposalID: common.ToHex(a.txhash),
}
key := propChangeID(common.ToHex(a.txhash))
value := types.Encode(cur)
kv = append(kv, &types.KeyValue{Key: key, Value: value})
receiptLog := getChangeReceiptLog(nil, cur, auty.TyLogPropChange)
logs = append(logs, receiptLog)
return &types.Receipt{Ty: types.ExecOk, KV: kv, Logs: logs}, nil
}
func (a *action) rvkPropChange(rvkProb *auty.RevokeProposalChange) (*types.Receipt, error) {
cur, err := a.getProposalChange(rvkProb.ProposalID)
if err != nil {
alog.Error("rvkPropChange ", "addr", a.fromaddr, "execaddr", a.execaddr, "getProposalChange failed",
rvkProb.ProposalID, "err", err)
return nil, err
}
pre := copyAutonomyProposalChange(cur)
// 检查当前状态
if cur.Status != auty.AutonomyStatusProposalChange {
err := auty.ErrProposalStatus
alog.Error("rvkPropChange ", "addr", a.fromaddr, "status", cur.Status, "status is not match",
rvkProb.ProposalID, "err", err)
return nil, err
}
start := cur.GetPropChange().StartBlockHeight
if a.height >= start {
err := auty.ErrRevokeProposalPeriod
alog.Error("rvkPropChange ", "addr", a.fromaddr, "execaddr", a.execaddr, "ProposalID",
rvkProb.ProposalID, "err", err)
return nil, err
}
if a.fromaddr != cur.Address {
err := auty.ErrRevokeProposalPower
alog.Error("rvkPropChange ", "addr", a.fromaddr, "execaddr", a.execaddr, "ProposalID",
rvkProb.ProposalID, "err", err)
return nil, err
}
var logs []*types.ReceiptLog
var kv []*types.KeyValue
receipt, err := a.coinsAccount.ExecActive(a.fromaddr, a.execaddr, cur.CurChange.ProposalAmount)
if err != nil {
alog.Error("rvkPropChange ", "addr", a.fromaddr, "execaddr", a.execaddr, "ExecActive amount", cur.CurChange.ProposalAmount, "err", err)
return nil, err
}
logs = append(logs, receipt.Logs...)
kv = append(kv, receipt.KV...)
cur.Status = auty.AutonomyStatusRvkPropChange
kv = append(kv, &types.KeyValue{Key: propChangeID(rvkProb.ProposalID), Value: types.Encode(cur)})
receiptLog := getChangeReceiptLog(pre, cur, auty.TyLogRvkPropChange)
logs = append(logs, receiptLog)
return &types.Receipt{Ty: types.ExecOk, KV: kv, Logs: logs}, nil
}
func (a *action) votePropChange(voteProb *auty.VoteProposalChange) (*types.Receipt, error) {
cur, err := a.getProposalChange(voteProb.ProposalID)
if err != nil {
alog.Error("votePropChange ", "addr", a.fromaddr, "execaddr", a.execaddr, "getProposalChange failed",
voteProb.ProposalID, "err", err)
return nil, err
}
pre := copyAutonomyProposalChange(cur)
// 检查当前状态
if cur.Status == auty.AutonomyStatusRvkPropChange ||
cur.Status == auty.AutonomyStatusTmintPropChange {
err := auty.ErrProposalStatus
alog.Error("votePropChange ", "addr", a.fromaddr, "status", cur.Status, "ProposalID",
voteProb.ProposalID, "err", err)
return nil, err
}
start := cur.GetPropChange().StartBlockHeight
end := cur.GetPropChange().EndBlockHeight
real := cur.GetPropChange().RealEndBlockHeight
if a.height < start || a.height > end || real != 0 {
err := auty.ErrVotePeriod
alog.Error("votePropChange ", "addr", a.fromaddr, "execaddr", a.execaddr, "ProposalID",
voteProb.ProposalID, "err", err)
return nil, err
}
// 检查是否已经参与投票
votes, err := a.checkVotesRecord([]string{a.fromaddr}, votesRecord(voteProb.ProposalID))
if err != nil {
alog.Error("votePropChange ", "addr", a.fromaddr, "execaddr", a.execaddr, "checkVotesRecord failed",
voteProb.ProposalID, "err", err)
return nil, err
}
// 更新投票记录
votes.Address = append(votes.Address, a.fromaddr)
if cur.GetVoteResult().TotalVotes == 0 { //需要统计票数
vtCouts, err := a.getTotalVotes(start)
if err != nil {
return nil, err
}
cur.VoteResult.TotalVotes = vtCouts
}
// 获取可投票数
vtCouts, err := a.getAddressVotes(a.fromaddr, start)
if err != nil {
return nil, err
}
if voteProb.Approve {
cur.VoteResult.ApproveVotes += vtCouts
} else {
cur.VoteResult.OpposeVotes += vtCouts
}
var logs []*types.ReceiptLog
var kv []*types.KeyValue
// 首次进入投票期,即将提案金转入自治系统地址
if cur.Status == auty.AutonomyStatusProposalChange {
receipt, err := a.coinsAccount.ExecTransferFrozen(cur.Address, autonomyFundAddr, a.execaddr, cur.CurChange.ProposalAmount)
if err != nil {
alog.Error("votePropChange ", "addr", cur.Address, "execaddr", a.execaddr, "ExecTransferFrozen amount fail", err)
return nil, err
}
logs = append(logs, receipt.Logs...)
kv = append(kv, receipt.KV...)
}
if cur.VoteResult.TotalVotes != 0 &&
cur.VoteResult.ApproveVotes+cur.VoteResult.OpposeVotes != 0 &&
float32(cur.VoteResult.ApproveVotes+cur.VoteResult.OpposeVotes)/float32(cur.VoteResult.TotalVotes) > float32(pubAttendRatio)/100.0 &&
float32(cur.VoteResult.ApproveVotes)/float32(cur.VoteResult.ApproveVotes+cur.VoteResult.OpposeVotes) > float32(pubApproveRatio)/100.0 {
cur.VoteResult.Pass = true
cur.PropChange.RealEndBlockHeight = a.height
}
key := propChangeID(voteProb.ProposalID)
cur.Status = auty.AutonomyStatusVotePropChange
if cur.VoteResult.Pass {
cur.Status = auty.AutonomyStatusTmintPropChange
}
kv = append(kv, &types.KeyValue{Key: key, Value: types.Encode(cur)})
// 更新VotesRecord
kv = append(kv, &types.KeyValue{Key: votesRecord(voteProb.ProposalID), Value: types.Encode(votes)})
// 更新系统规则
if cur.VoteResult.Pass {
upChange := upgradeChange(cur.CurChange, cur.PropChange.ChangeCfg)
kv = append(kv, &types.KeyValue{Key: activeChangeID(), Value: types.Encode(upChange)})
}
ty := auty.TyLogVotePropChange
if cur.VoteResult.Pass {
ty = auty.TyLogTmintPropChange
}
receiptLog := getChangeReceiptLog(pre, cur, int32(ty))
logs = append(logs, receiptLog)
return &types.Receipt{Ty: types.ExecOk, KV: kv, Logs: logs}, nil
}
func (a *action) tmintPropChange(tmintProb *auty.TerminateProposalChange) (*types.Receipt, error) {
cur, err := a.getProposalChange(tmintProb.ProposalID)
if err != nil {
alog.Error("tmintPropChange ", "addr", a.fromaddr, "execaddr", a.execaddr, "getProposalChange failed",
tmintProb.ProposalID, "err", err)
return nil, err
}
pre := copyAutonomyProposalChange(cur)
// 检查当前状态
if cur.Status == auty.AutonomyStatusTmintPropChange ||
cur.Status == auty.AutonomyStatusRvkPropChange {
err := auty.ErrProposalStatus
alog.Error("tmintPropChange ", "addr", a.fromaddr, "status", cur.Status, "status is not match",
tmintProb.ProposalID, "err", err)
return nil, err
}
start := cur.GetPropChange().StartBlockHeight
end := cur.GetPropChange().EndBlockHeight
if a.height < end && !cur.VoteResult.Pass {
err := auty.ErrTerminatePeriod
alog.Error("tmintPropChange ", "addr", a.fromaddr, "status", cur.Status, "height", a.height,
"in vote period can not terminate", tmintProb.ProposalID, "err", err)
return nil, err
}
if cur.GetVoteResult().TotalVotes == 0 { //需要统计票数
vtCouts, err := a.getTotalVotes(start)
if err != nil {
return nil, err
}
cur.VoteResult.TotalVotes = vtCouts
}
if float32(cur.VoteResult.ApproveVotes+cur.VoteResult.OpposeVotes)/float32(cur.VoteResult.TotalVotes) > float32(pubAttendRatio)/100.0 &&
float32(cur.VoteResult.ApproveVotes)/float32(cur.VoteResult.ApproveVotes+cur.VoteResult.OpposeVotes) > float32(pubApproveRatio)/100.0 {
cur.VoteResult.Pass = true
} else {
cur.VoteResult.Pass = false
}
cur.PropChange.RealEndBlockHeight = a.height
var logs []*types.ReceiptLog
var kv []*types.KeyValue
// 未进行投票情况下,符合提案关闭的也需要扣除提案费用
if cur.Status == auty.AutonomyStatusProposalChange {
receipt, err := a.coinsAccount.ExecTransferFrozen(cur.Address, autonomyFundAddr, a.execaddr, cur.CurChange.ProposalAmount)
if err != nil {
alog.Error("votePropChange ", "addr", a.fromaddr, "execaddr", a.execaddr, "ExecTransferFrozen amount fail", err)
return nil, err
}
logs = append(logs, receipt.Logs...)
kv = append(kv, receipt.KV...)
}
cur.Status = auty.AutonomyStatusTmintPropChange
kv = append(kv, &types.KeyValue{Key: propChangeID(tmintProb.ProposalID), Value: types.Encode(cur)})
// 更新系统规则
if cur.VoteResult.Pass {
upChange := upgradeChange(cur.CurChange, cur.PropChange.ChangeCfg)
kv = append(kv, &types.KeyValue{Key: activeChangeID(), Value: types.Encode(upChange)})
}
receiptLog := getChangeReceiptLog(pre, cur, auty.TyLogTmintPropChange)
logs = append(logs, receiptLog)
return &types.Receipt{Ty: types.ExecOk, KV: kv, Logs: logs}, nil
}
func (a *action) getProposalChange(ID string) (*auty.AutonomyProposalChange, error) {
value, err := a.db.Get(propChangeID(ID))
if err != nil {
return nil, err
}
cur := &auty.AutonomyProposalChange{}
err = types.Decode(value, cur)
if err != nil {
return nil, err
}
return cur, nil
}
// getReceiptLog 根据提案信息获取log
// 状态变化:
func getChangeReceiptLog(pre, cur *auty.AutonomyProposalChange, ty int32) *types.ReceiptLog {
log := &types.ReceiptLog{}
log.Ty = ty
r := &auty.ReceiptProposalChange{Prev: pre, Current: cur}
log.Log = types.Encode(r)
return log
}
func copyAutonomyProposalChange(cur *auty.AutonomyProposalChange) *auty.AutonomyProposalChange {
if cur == nil {
return nil
}
newAut := *cur
if cur.PropChange != nil {
newPropChange := *cur.GetPropChange()
newAut.PropChange = &newPropChange
if cur.PropChange.ChangeCfg != nil {
cfg := *cur.GetPropChange().GetChangeCfg()
newAut.PropChange.ChangeCfg = &cfg
}
}
if cur.CurChange != nil {
newChange := *cur.GetCurChange()
newAut.CurChange = &newChange
}
if cur.VoteResult != nil {
newRes := *cur.GetVoteResult()
newAut.VoteResult = &newRes
}
return &newAut
}
func upgradeChange(cur, modify *auty.ChangeConfig) *auty.ChangeConfig {
if cur == nil || modify == nil {
return nil
}
new := *cur
if modify.BoardAttendRatio > 0 {
new.BoardAttendRatio = modify.BoardAttendRatio
}
if modify.BoardApproveRatio > 0 {
new.BoardApproveRatio = modify.BoardApproveRatio
}
if modify.PubOpposeRatio > 0 {
new.PubOpposeRatio = modify.PubOpposeRatio
}
if modify.ProposalAmount > 0 {
new.ProposalAmount = modify.ProposalAmount
}
if modify.LargeProjectAmount > 0 {
new.LargeProjectAmount = modify.LargeProjectAmount
}
if modify.PublicPeriod > 0 {
new.PublicPeriod = modify.PublicPeriod
}
return &new
}
......@@ -12,6 +12,11 @@ import (
"github.com/33cn/chain33/common/address"
)
const (
maxBoardPeriodAmount = types.Coin * 10000 * 300 // 每个时期董事会审批最大额度200万
boardPeriod = 17280 * 30 * 1 // 时期为一个月
)
func (a *action) propProject(prob *auty.ProposalProject) (*types.Receipt, error) {
if err := address.CheckAddress(prob.ToAddr); err != nil {
alog.Error("propProject ", "addr", prob.ToAddr, "check toAddr error", err)
......@@ -30,6 +35,20 @@ func (a *action) propProject(prob *auty.ProposalProject) (*types.Receipt, error)
alog.Error("propProject ", "addr", a.fromaddr, "execaddr", a.execaddr, "get getActiveBoard failed", err)
return nil, err
}
// 检查是否可以对已审批额度归0,如果可以则设置kv
var kva *types.KeyValue
if a.height > pboard.StartHeight + boardPeriod {
pboard.StartHeight = a.height
pboard.Amount = 0
kva = &types.KeyValue{Key:activeBoardID(), Value:types.Encode(pboard)}
}
// 检查额度
pass := a.checkPeriodAmount(pboard, prob.Amount)
if !pass {
err = auty.ErrNoPeriodAmount
alog.Error("propProject ", "addr", a.fromaddr, "cumsum amount", pboard.Amount, "this period board have enough amount", err)
return nil, err
}
// 获取当前生效提案规则
rule, err := a.getActiveRule()
if err != nil {
......@@ -75,6 +94,9 @@ func (a *action) propProject(prob *auty.ProposalProject) (*types.Receipt, error)
ProposalID: common.ToHex(a.txhash),
}
kv = append(kv, &types.KeyValue{Key: propProjectID(common.ToHex(a.txhash)), Value: types.Encode(cur)})
if kva != nil {
kv = append(kv, kva)
}
receiptLog := getProjectReceiptLog(nil, cur, auty.TyLogPropProject)
logs = append(logs, receiptLog)
......@@ -189,7 +211,7 @@ func (a *action) votePropProject(voteProb *auty.VoteProposalProject) (*types.Rec
}
// 检查是否已经参与投票
votes, err := a.checkVotesRecord(boardVotesRecord(voteProb.ProposalID))
votes, err := a.checkVotesRecord([]string{a.fromaddr}, boardVotesRecord(voteProb.ProposalID))
if err != nil {
alog.Error("votePropProject ", "addr", a.fromaddr, "execaddr", a.execaddr, "checkVotesRecord boardVotesRecord failed",
voteProb.ProposalID, "err", err)
......@@ -244,6 +266,13 @@ func (a *action) votePropProject(voteProb *auty.VoteProposalProject) (*types.Rec
}
logs = append(logs, receipt.Logs...)
kv = append(kv, receipt.KV...)
// 需要更新该董事会的累计审批金
pakv, err := a.updatePeriodAmount(cur.PropProject.Amount)
if err != nil {
alog.Error("votePropProject ", "addr", cur.Address, "execaddr", a.execaddr, "updatePeriodAmount fail", err)
return nil, err
}
kv = append(kv, pakv)
}
}
kv = append(kv, &types.KeyValue{Key: key, Value: types.Encode(cur)})
......@@ -290,15 +319,33 @@ func (a *action) pubVotePropProject(voteProb *auty.PubVoteProposalProject) (*typ
return nil, err
}
// 挖矿地址验证
if len(voteProb.OriginAddr) > 0 {
addr, err := a.verifyMinerAddr(voteProb.OriginAddr, a.fromaddr)
if err != nil {
alog.Error("pubVotePropProject ", "from addr", a.fromaddr, "error addr", addr, "ProposalID",
voteProb.ProposalID, "err", err)
return nil, err
}
}
// 本次参与投票地址
var addrs []string
if len(voteProb.OriginAddr) == 0 {
addrs = append(addrs, a.fromaddr)
} else {
addrs = append(addrs, voteProb.OriginAddr...)
}
// 检查是否已经参与投票
votes, err := a.checkVotesRecord(votesRecord(voteProb.ProposalID))
votes, err := a.checkVotesRecord(addrs, votesRecord(voteProb.ProposalID))
if err != nil {
alog.Error("pubVotePropProject ", "addr", a.fromaddr, "execaddr", a.execaddr, "checkVotesRecord failed",
voteProb.ProposalID, "err", err)
return nil, err
}
// 更新投票记录
votes.Address = append(votes.Address, a.fromaddr)
votes.Address = append(votes.Address, addrs...)
if cur.GetPubVote().TotalVotes == 0 { //需要统计总票数
vtCouts, err := a.getTotalVotes(start)
......@@ -309,8 +356,10 @@ func (a *action) pubVotePropProject(voteProb *auty.PubVoteProposalProject) (*typ
}
// 获取该地址票数
vtCouts, err := a.getAddressVotes(a.fromaddr, start)
vtCouts, err := a.batchGetAddressVotes(addrs, start)
if err != nil {
alog.Error("pubVotePropProject ", "addr", a.fromaddr, "execaddr", a.execaddr, "batchGetAddressVotes failed",
voteProb.ProposalID, "err", err)
return nil, err
}
if voteProb.Oppose { //投反对票
......@@ -333,6 +382,13 @@ func (a *action) pubVotePropProject(voteProb *auty.PubVoteProposalProject) (*typ
}
logs = append(logs, receiptPrj.Logs...)
kv = append(kv, receiptPrj.KV...)
// 需要更新该董事会的累计审批金
pakv, err := a.updatePeriodAmount(cur.PropProject.Amount)
if err != nil {
alog.Error("pubVotePropProject ", "addr", cur.Address, "execaddr", a.execaddr, "updatePeriodAmount fail", err)
return nil, err
}
kv = append(kv, pakv)
}
key := propProjectID(voteProb.ProposalID)
......@@ -439,6 +495,13 @@ func (a *action) tmintPropProject(tmintProb *auty.TerminateProposalProject) (*ty
}
logs = append(logs, receipt.Logs...)
kv = append(kv, receipt.KV...)
// 需要更新该董事会的累计审批金
pakv, err := a.updatePeriodAmount(cur.PropProject.Amount)
if err != nil {
alog.Error("tmintPropProject ", "addr", cur.Address, "execaddr", a.execaddr, "updatePeriodAmount fail", err)
return nil, err
}
kv = append(kv, pakv)
} else {
// 解冻项目金
receiptPrj, err := a.coinsAccount.ExecActive(autonomyFundAddr, a.execaddr, cur.PropProject.Amount)
......@@ -473,12 +536,12 @@ func (a *action) getProposalProject(ID string) (*auty.AutonomyProposalProject, e
return cur, nil
}
func (a *action) getActiveBoard() (*auty.ProposalBoard, error) {
func (a *action) getActiveBoard() (*auty.ActiveBoard, error) {
value, err := a.db.Get(activeBoardID())
if err != nil {
return nil, err
}
pboard := &auty.ProposalBoard{}
pboard := &auty.ActiveBoard{}
err = types.Decode(value, pboard)
if err != nil {
return nil, err
......@@ -523,3 +586,26 @@ func copyAutonomyProposalProject(cur *auty.AutonomyProposalProject) *auty.Autono
}
return &newAut
}
func (a *action) checkPeriodAmount(act *auty.ActiveBoard, amount int64) bool {
if act == nil {
return false
}
if act.Amount + amount >= maxBoardPeriodAmount {
return false
}
return true
}
func (a *action) updatePeriodAmount(amount int64) (*types.KeyValue, error) {
act, err := a.getActiveBoard()
if err != nil {
return nil, err
}
if a.height > act.StartHeight + boardPeriod {
act.StartHeight = a.height
act.Amount = 0
}
act.Amount += amount
return &types.KeyValue{Key:activeBoardID(), Value:types.Encode(act)}, nil
}
\ No newline at end of file
......@@ -12,15 +12,30 @@ import (
"github.com/33cn/chain33/system/dapp"
)
const (
// 最小董事会赞成率
minBoardApproveRatio = 50
// 最大董事会赞成率
maxBoardApproveRatio = 66
// 最小全体持票人否决率
minPubOpposeRatio = 33
// 最大全体持票人否决率
maxPubOpposeRatio = 50
// 最小公示周期
minPublicPeriod int32 = 17280 * 7
// 最大公示周期
maxPublicPeriod int32 = 17280 * 14
)
func (a *action) propRule(prob *auty.ProposalRule) (*types.Receipt, error) {
//如果全小于等于0,则说明该提案规则参数不正确
if prob.RuleCfg == nil || prob.RuleCfg.BoardAttendRatio <= 0 && prob.RuleCfg.BoardApproveRatio <= 0 &&
prob.RuleCfg.PubOpposeRatio <= 0 && prob.RuleCfg.ProposalAmount <= 0 && prob.RuleCfg.LargeProjectAmount <= 0 &&
if prob.RuleCfg == nil || prob.RuleCfg.BoardAttendRatio < minBoardAttendRatio && prob.RuleCfg.BoardApproveRatio < minBoardApproveRatio &&
prob.RuleCfg.PubOpposeRatio <= minPubOpposeRatio && prob.RuleCfg.ProposalAmount <= 0 && prob.RuleCfg.LargeProjectAmount <= 0 &&
prob.RuleCfg.PublicPeriod <= 0 {
alog.Error("propRule ", "ProposalRule RuleCfg invaild or have no modify param", prob.RuleCfg)
return nil, types.ErrInvalidParam
}
if prob.RuleCfg.BoardAttendRatio > 100 || prob.RuleCfg.BoardApproveRatio > 100 || prob.RuleCfg.PubOpposeRatio > 100 {
if prob.RuleCfg.BoardAttendRatio > MaxBoardAttendRatio || prob.RuleCfg.BoardApproveRatio > maxBoardApproveRatio || prob.RuleCfg.PubOpposeRatio > maxPubOpposeRatio {
alog.Error("propRule RuleCfg invaild", "BoardAttendRatio", prob.RuleCfg.BoardAttendRatio, "BoardApproveRatio",
prob.RuleCfg.BoardApproveRatio, "PubOpposeRatio", prob.RuleCfg.PubOpposeRatio)
return nil, types.ErrInvalidParam
......@@ -152,15 +167,33 @@ func (a *action) votePropRule(voteProb *auty.VoteProposalRule) (*types.Receipt,
return nil, err
}
// 挖矿地址验证
if len(voteProb.OriginAddr) > 0 {
addr, err := a.verifyMinerAddr(voteProb.OriginAddr, a.fromaddr)
if err != nil {
alog.Error("votePropRule ", "from addr", a.fromaddr, "error addr", addr, "ProposalID",
voteProb.ProposalID, "err", err)
return nil, err
}
}
// 本次参与投票地址
var addrs []string
if len(voteProb.OriginAddr) == 0 {
addrs = append(addrs, a.fromaddr)
} else {
addrs = append(addrs, voteProb.OriginAddr...)
}
// 检查是否已经参与投票
votes, err := a.checkVotesRecord(votesRecord(voteProb.ProposalID))
votes, err := a.checkVotesRecord(addrs, votesRecord(voteProb.ProposalID))
if err != nil {
alog.Error("votePropRule ", "addr", a.fromaddr, "execaddr", a.execaddr, "checkVotesRecord failed",
voteProb.ProposalID, "err", err)
return nil, err
}
// 更新投票记录
votes.Address = append(votes.Address, a.fromaddr)
votes.Address = append(votes.Address, addrs...)
if cur.GetVoteResult().TotalVotes == 0 { //需要统计票数
vtCouts, err := a.getTotalVotes(start)
......@@ -171,8 +204,10 @@ func (a *action) votePropRule(voteProb *auty.VoteProposalRule) (*types.Receipt,
}
// 获取可投票数
vtCouts, err := a.getAddressVotes(a.fromaddr, start)
vtCouts, err := a.batchGetAddressVotes(addrs, start)
if err != nil {
alog.Error("votePropRule ", "addr", a.fromaddr, "execaddr", a.execaddr, "batchGetAddressVotes failed",
voteProb.ProposalID, "err", err)
return nil, err
}
if voteProb.Approve {
......
......@@ -8,6 +8,7 @@ syntax = "proto3";
import "board.proto";
import "project.proto";
import "rule.proto";
import "change.proto";
package types;
......@@ -33,6 +34,11 @@ message AutonomyAction {
// 发展基金转自治系统合约
TransferFund transfer = 14;
Comment commentProp = 15;
// 提案改变董事会成员
ProposalChange propChange = 16;
RevokeProposalChange rvkPropChange = 17;
VoteProposalChange votePropChange = 18;
TerminateProposalChange tmintPropChange = 19;
}
int32 ty = 16;
int32 ty = 20;
}
\ No newline at end of file
......@@ -46,6 +46,7 @@ message RevokeProposalBoard {
message VoteProposalBoard {
string proposalID = 1;
bool approve = 2;
repeated string originAddr = 3;
}
message TerminateProposalBoard {
......
// Copyright Fuzamei Corp. 2018 All Rights Reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
syntax = "proto3";
import "lcommon.proto";
package types;
message AutonomyProposalChange {
ProposalChange propChange = 1;
// 投票该提案的规则
RuleConfig curRule = 2;
// 全体持票人投票结果
VoteResult voteResult = 3;
// 状态
int32 status = 4;
string address = 5;
int64 height = 6;
int32 index = 7;
string proposalID = 8;
}
// action
message ProposalChange {
// 提案时间
int32 year = 1;
int32 month = 2;
int32 day = 3;
// 修改董事会成员
repeated Change Changes = 4;
// 投票相关
int64 startBlockHeight = 5; // 提案开始投票高度
int64 endBlockHeight = 6; // 提案结束投票高度
int64 realEndBlockHeight = 7; // 实际提案结束投票高度
}
message Change {
// 1 取消 0 恢复
bool cancel = 1;
string addr = 2;
}
message RevokeProposalChange {
string proposalID = 1;
}
message VoteProposalChange {
string proposalID = 1;
bool approve = 2;
}
message TerminateProposalChange {
string proposalID = 1;
}
// receipt
message ReceiptProposalChange {
AutonomyProposalChange prev = 1;
AutonomyProposalChange current = 2;
}
message LocalProposalChange {
AutonomyProposalChange propBd = 1;
repeated string comments = 2;
}
// query
message ReqQueryProposalChange {
int32 status = 1;
string addr = 2;
int32 count = 3;
int32 direction = 4;
int64 height = 5;
int32 index = 6;
}
message ReplyQueryProposalChange {
repeated AutonomyProposalChange propChanges = 1;
}
\ No newline at end of file
......@@ -45,4 +45,11 @@ message RuleConfig {
int64 largeProjectAmount = 5;
// 重大项目公示时间(以区块数为单位)
int32 publicPeriod = 6;
}
message ActiveBoard {
repeated string boards = 1;
repeated string revboards = 2;
int64 amount = 3;
int64 startHeight = 4;
}
\ No newline at end of file
......@@ -63,6 +63,7 @@ message VoteProposalProject {
message PubVoteProposalProject {
string proposalID = 1;
bool oppose = 2;
repeated string originAddr = 3;
}
message TerminateProposalProject {
......
......@@ -42,6 +42,7 @@ message RevokeProposalRule {
message VoteProposalRule {
string proposalID = 1;
bool approve = 2;
repeated string originAddr = 3;
}
message TerminateProposalRule {
......
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: autonomy.proto
/*
Package types is a generated protocol buffer package.
It is generated from these files:
autonomy.proto
board.proto
change.proto
lcommon.proto
project.proto
rule.proto
It has these top-level messages:
AutonomyAction
AutonomyProposalBoard
ProposalBoard
RevokeProposalBoard
VoteProposalBoard
TerminateProposalBoard
ReceiptProposalBoard
LocalProposalBoard
ReqQueryProposalBoard
ReplyQueryProposalBoard
AutonomyProposalChange
ProposalChange
Change
RevokeProposalChange
VoteProposalChange
TerminateProposalChange
ReceiptProposalChange
LocalProposalChange
ReqQueryProposalChange
ReplyQueryProposalChange
VoteResult
PublicVote
VotesRecord
RuleConfig
ActiveBoard
AutonomyProposalProject
ProposalProject
RevokeProposalProject
VoteProposalProject
PubVoteProposalProject
TerminateProposalProject
ReceiptProposalProject
LocalProposalProject
ReqQueryProposalProject
ReplyQueryProposalProject
AutonomyProposalRule
ProposalRule
RevokeProposalRule
VoteProposalRule
TerminateProposalRule
ReceiptProposalRule
LocalProposalRule
ReqQueryProposalRule
ReplyQueryProposalRule
TransferFund
Comment
ReceiptProposalComment
ReqQueryProposalComment
RelationCmt
ReplyQueryProposalComment
*/
package types
import (
fmt "fmt"
math "math"
proto "github.com/golang/protobuf/proto"
)
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
......@@ -39,131 +99,100 @@ type AutonomyAction struct {
// *AutonomyAction_TmintPropRule
// *AutonomyAction_Transfer
// *AutonomyAction_CommentProp
Value isAutonomyAction_Value `protobuf_oneof:"value"`
Ty int32 `protobuf:"varint,16,opt,name=ty,proto3" json:"ty,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *AutonomyAction) Reset() { *m = AutonomyAction{} }
func (m *AutonomyAction) String() string { return proto.CompactTextString(m) }
func (*AutonomyAction) ProtoMessage() {}
func (*AutonomyAction) Descriptor() ([]byte, []int) {
return fileDescriptor_0246b47df8434d60, []int{0}
}
func (m *AutonomyAction) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AutonomyAction.Unmarshal(m, b)
}
func (m *AutonomyAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_AutonomyAction.Marshal(b, m, deterministic)
}
func (m *AutonomyAction) XXX_Merge(src proto.Message) {
xxx_messageInfo_AutonomyAction.Merge(m, src)
}
func (m *AutonomyAction) XXX_Size() int {
return xxx_messageInfo_AutonomyAction.Size(m)
}
func (m *AutonomyAction) XXX_DiscardUnknown() {
xxx_messageInfo_AutonomyAction.DiscardUnknown(m)
// *AutonomyAction_PropChange
// *AutonomyAction_RvkPropChange
// *AutonomyAction_VotePropChange
// *AutonomyAction_TmintPropChange
Value isAutonomyAction_Value `protobuf_oneof:"value"`
Ty int32 `protobuf:"varint,20,opt,name=ty" json:"ty,omitempty"`
}
var xxx_messageInfo_AutonomyAction proto.InternalMessageInfo
func (m *AutonomyAction) Reset() { *m = AutonomyAction{} }
func (m *AutonomyAction) String() string { return proto.CompactTextString(m) }
func (*AutonomyAction) ProtoMessage() {}
func (*AutonomyAction) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
type isAutonomyAction_Value interface {
isAutonomyAction_Value()
}
type AutonomyAction_PropBoard struct {
PropBoard *ProposalBoard `protobuf:"bytes,1,opt,name=propBoard,proto3,oneof"`
PropBoard *ProposalBoard `protobuf:"bytes,1,opt,name=propBoard,oneof"`
}
type AutonomyAction_RvkPropBoard struct {
RvkPropBoard *RevokeProposalBoard `protobuf:"bytes,2,opt,name=rvkPropBoard,proto3,oneof"`
RvkPropBoard *RevokeProposalBoard `protobuf:"bytes,2,opt,name=rvkPropBoard,oneof"`
}
type AutonomyAction_VotePropBoard struct {
VotePropBoard *VoteProposalBoard `protobuf:"bytes,3,opt,name=votePropBoard,proto3,oneof"`
VotePropBoard *VoteProposalBoard `protobuf:"bytes,3,opt,name=votePropBoard,oneof"`
}
type AutonomyAction_TmintPropBoard struct {
TmintPropBoard *TerminateProposalBoard `protobuf:"bytes,4,opt,name=tmintPropBoard,proto3,oneof"`
TmintPropBoard *TerminateProposalBoard `protobuf:"bytes,4,opt,name=tmintPropBoard,oneof"`
}
type AutonomyAction_PropProject struct {
PropProject *ProposalProject `protobuf:"bytes,5,opt,name=propProject,proto3,oneof"`
PropProject *ProposalProject `protobuf:"bytes,5,opt,name=propProject,oneof"`
}
type AutonomyAction_RvkPropProject struct {
RvkPropProject *RevokeProposalProject `protobuf:"bytes,6,opt,name=rvkPropProject,proto3,oneof"`
RvkPropProject *RevokeProposalProject `protobuf:"bytes,6,opt,name=rvkPropProject,oneof"`
}
type AutonomyAction_VotePropProject struct {
VotePropProject *VoteProposalProject `protobuf:"bytes,7,opt,name=votePropProject,proto3,oneof"`
VotePropProject *VoteProposalProject `protobuf:"bytes,7,opt,name=votePropProject,oneof"`
}
type AutonomyAction_PubVotePropProject struct {
PubVotePropProject *PubVoteProposalProject `protobuf:"bytes,8,opt,name=pubVotePropProject,proto3,oneof"`
PubVotePropProject *PubVoteProposalProject `protobuf:"bytes,8,opt,name=pubVotePropProject,oneof"`
}
type AutonomyAction_TmintPropProject struct {
TmintPropProject *TerminateProposalProject `protobuf:"bytes,9,opt,name=tmintPropProject,proto3,oneof"`
TmintPropProject *TerminateProposalProject `protobuf:"bytes,9,opt,name=tmintPropProject,oneof"`
}
type AutonomyAction_PropRule struct {
PropRule *ProposalRule `protobuf:"bytes,10,opt,name=propRule,proto3,oneof"`
PropRule *ProposalRule `protobuf:"bytes,10,opt,name=propRule,oneof"`
}
type AutonomyAction_RvkPropRule struct {
RvkPropRule *RevokeProposalRule `protobuf:"bytes,11,opt,name=rvkPropRule,proto3,oneof"`
RvkPropRule *RevokeProposalRule `protobuf:"bytes,11,opt,name=rvkPropRule,oneof"`
}
type AutonomyAction_VotePropRule struct {
VotePropRule *VoteProposalRule `protobuf:"bytes,12,opt,name=votePropRule,proto3,oneof"`
VotePropRule *VoteProposalRule `protobuf:"bytes,12,opt,name=votePropRule,oneof"`
}
type AutonomyAction_TmintPropRule struct {
TmintPropRule *TerminateProposalRule `protobuf:"bytes,13,opt,name=tmintPropRule,proto3,oneof"`
TmintPropRule *TerminateProposalRule `protobuf:"bytes,13,opt,name=tmintPropRule,oneof"`
}
type AutonomyAction_Transfer struct {
Transfer *TransferFund `protobuf:"bytes,14,opt,name=transfer,proto3,oneof"`
Transfer *TransferFund `protobuf:"bytes,14,opt,name=transfer,oneof"`
}
type AutonomyAction_CommentProp struct {
CommentProp *Comment `protobuf:"bytes,15,opt,name=commentProp,proto3,oneof"`
CommentProp *Comment `protobuf:"bytes,15,opt,name=commentProp,oneof"`
}
type AutonomyAction_PropChange struct {
PropChange *ProposalChange `protobuf:"bytes,16,opt,name=propChange,oneof"`
}
type AutonomyAction_RvkPropChange struct {
RvkPropChange *RevokeProposalChange `protobuf:"bytes,17,opt,name=rvkPropChange,oneof"`
}
type AutonomyAction_VotePropChange struct {
VotePropChange *VoteProposalChange `protobuf:"bytes,18,opt,name=votePropChange,oneof"`
}
type AutonomyAction_TmintPropChange struct {
TmintPropChange *TerminateProposalChange `protobuf:"bytes,19,opt,name=tmintPropChange,oneof"`
}
func (*AutonomyAction_PropBoard) isAutonomyAction_Value() {}
func (*AutonomyAction_RvkPropBoard) isAutonomyAction_Value() {}
func (*AutonomyAction_VotePropBoard) isAutonomyAction_Value() {}
func (*AutonomyAction_TmintPropBoard) isAutonomyAction_Value() {}
func (*AutonomyAction_PropProject) isAutonomyAction_Value() {}
func (*AutonomyAction_RvkPropProject) isAutonomyAction_Value() {}
func (*AutonomyAction_VotePropProject) isAutonomyAction_Value() {}
func (*AutonomyAction_PropBoard) isAutonomyAction_Value() {}
func (*AutonomyAction_RvkPropBoard) isAutonomyAction_Value() {}
func (*AutonomyAction_VotePropBoard) isAutonomyAction_Value() {}
func (*AutonomyAction_TmintPropBoard) isAutonomyAction_Value() {}
func (*AutonomyAction_PropProject) isAutonomyAction_Value() {}
func (*AutonomyAction_RvkPropProject) isAutonomyAction_Value() {}
func (*AutonomyAction_VotePropProject) isAutonomyAction_Value() {}
func (*AutonomyAction_PubVotePropProject) isAutonomyAction_Value() {}
func (*AutonomyAction_TmintPropProject) isAutonomyAction_Value() {}
func (*AutonomyAction_PropRule) isAutonomyAction_Value() {}
func (*AutonomyAction_RvkPropRule) isAutonomyAction_Value() {}
func (*AutonomyAction_VotePropRule) isAutonomyAction_Value() {}
func (*AutonomyAction_TmintPropRule) isAutonomyAction_Value() {}
func (*AutonomyAction_Transfer) isAutonomyAction_Value() {}
func (*AutonomyAction_CommentProp) isAutonomyAction_Value() {}
func (*AutonomyAction_TmintPropProject) isAutonomyAction_Value() {}
func (*AutonomyAction_PropRule) isAutonomyAction_Value() {}
func (*AutonomyAction_RvkPropRule) isAutonomyAction_Value() {}
func (*AutonomyAction_VotePropRule) isAutonomyAction_Value() {}
func (*AutonomyAction_TmintPropRule) isAutonomyAction_Value() {}
func (*AutonomyAction_Transfer) isAutonomyAction_Value() {}
func (*AutonomyAction_CommentProp) isAutonomyAction_Value() {}
func (*AutonomyAction_PropChange) isAutonomyAction_Value() {}
func (*AutonomyAction_RvkPropChange) isAutonomyAction_Value() {}
func (*AutonomyAction_VotePropChange) isAutonomyAction_Value() {}
func (*AutonomyAction_TmintPropChange) isAutonomyAction_Value() {}
func (m *AutonomyAction) GetValue() isAutonomyAction_Value {
if m != nil {
......@@ -277,6 +306,34 @@ func (m *AutonomyAction) GetCommentProp() *Comment {
return nil
}
func (m *AutonomyAction) GetPropChange() *ProposalChange {
if x, ok := m.GetValue().(*AutonomyAction_PropChange); ok {
return x.PropChange
}
return nil
}
func (m *AutonomyAction) GetRvkPropChange() *RevokeProposalChange {
if x, ok := m.GetValue().(*AutonomyAction_RvkPropChange); ok {
return x.RvkPropChange
}
return nil
}
func (m *AutonomyAction) GetVotePropChange() *VoteProposalChange {
if x, ok := m.GetValue().(*AutonomyAction_VotePropChange); ok {
return x.VotePropChange
}
return nil
}
func (m *AutonomyAction) GetTmintPropChange() *TerminateProposalChange {
if x, ok := m.GetValue().(*AutonomyAction_TmintPropChange); ok {
return x.TmintPropChange
}
return nil
}
func (m *AutonomyAction) GetTy() int32 {
if m != nil {
return m.Ty
......@@ -302,6 +359,10 @@ func (*AutonomyAction) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer
(*AutonomyAction_TmintPropRule)(nil),
(*AutonomyAction_Transfer)(nil),
(*AutonomyAction_CommentProp)(nil),
(*AutonomyAction_PropChange)(nil),
(*AutonomyAction_RvkPropChange)(nil),
(*AutonomyAction_VotePropChange)(nil),
(*AutonomyAction_TmintPropChange)(nil),
}
}
......@@ -384,6 +445,26 @@ func _AutonomyAction_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
if err := b.EncodeMessage(x.CommentProp); err != nil {
return err
}
case *AutonomyAction_PropChange:
b.EncodeVarint(16<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.PropChange); err != nil {
return err
}
case *AutonomyAction_RvkPropChange:
b.EncodeVarint(17<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.RvkPropChange); err != nil {
return err
}
case *AutonomyAction_VotePropChange:
b.EncodeVarint(18<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.VotePropChange); err != nil {
return err
}
case *AutonomyAction_TmintPropChange:
b.EncodeVarint(19<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.TmintPropChange); err != nil {
return err
}
case nil:
default:
return fmt.Errorf("AutonomyAction.Value has unexpected type %T", x)
......@@ -514,6 +595,38 @@ func _AutonomyAction_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto
err := b.DecodeMessage(msg)
m.Value = &AutonomyAction_CommentProp{msg}
return true, err
case 16: // value.propChange
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(ProposalChange)
err := b.DecodeMessage(msg)
m.Value = &AutonomyAction_PropChange{msg}
return true, err
case 17: // value.rvkPropChange
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(RevokeProposalChange)
err := b.DecodeMessage(msg)
m.Value = &AutonomyAction_RvkPropChange{msg}
return true, err
case 18: // value.votePropChange
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(VoteProposalChange)
err := b.DecodeMessage(msg)
m.Value = &AutonomyAction_VotePropChange{msg}
return true, err
case 19: // value.tmintPropChange
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(TerminateProposalChange)
err := b.DecodeMessage(msg)
m.Value = &AutonomyAction_TmintPropChange{msg}
return true, err
default:
return false, nil
}
......@@ -525,77 +638,97 @@ func _AutonomyAction_OneofSizer(msg proto.Message) (n int) {
switch x := m.Value.(type) {
case *AutonomyAction_PropBoard:
s := proto.Size(x.PropBoard)
n += 1 // tag and wire
n += proto.SizeVarint(1<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_RvkPropBoard:
s := proto.Size(x.RvkPropBoard)
n += 1 // tag and wire
n += proto.SizeVarint(2<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_VotePropBoard:
s := proto.Size(x.VotePropBoard)
n += 1 // tag and wire
n += proto.SizeVarint(3<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_TmintPropBoard:
s := proto.Size(x.TmintPropBoard)
n += 1 // tag and wire
n += proto.SizeVarint(4<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_PropProject:
s := proto.Size(x.PropProject)
n += 1 // tag and wire
n += proto.SizeVarint(5<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_RvkPropProject:
s := proto.Size(x.RvkPropProject)
n += 1 // tag and wire
n += proto.SizeVarint(6<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_VotePropProject:
s := proto.Size(x.VotePropProject)
n += 1 // tag and wire
n += proto.SizeVarint(7<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_PubVotePropProject:
s := proto.Size(x.PubVotePropProject)
n += 1 // tag and wire
n += proto.SizeVarint(8<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_TmintPropProject:
s := proto.Size(x.TmintPropProject)
n += 1 // tag and wire
n += proto.SizeVarint(9<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_PropRule:
s := proto.Size(x.PropRule)
n += 1 // tag and wire
n += proto.SizeVarint(10<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_RvkPropRule:
s := proto.Size(x.RvkPropRule)
n += 1 // tag and wire
n += proto.SizeVarint(11<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_VotePropRule:
s := proto.Size(x.VotePropRule)
n += 1 // tag and wire
n += proto.SizeVarint(12<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_TmintPropRule:
s := proto.Size(x.TmintPropRule)
n += 1 // tag and wire
n += proto.SizeVarint(13<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_Transfer:
s := proto.Size(x.Transfer)
n += 1 // tag and wire
n += proto.SizeVarint(14<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_CommentProp:
s := proto.Size(x.CommentProp)
n += 1 // tag and wire
n += proto.SizeVarint(15<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_PropChange:
s := proto.Size(x.PropChange)
n += proto.SizeVarint(16<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_RvkPropChange:
s := proto.Size(x.RvkPropChange)
n += proto.SizeVarint(17<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_VotePropChange:
s := proto.Size(x.VotePropChange)
n += proto.SizeVarint(18<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_TmintPropChange:
s := proto.Size(x.TmintPropChange)
n += proto.SizeVarint(19<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case nil:
......@@ -609,35 +742,40 @@ func init() {
proto.RegisterType((*AutonomyAction)(nil), "types.AutonomyAction")
}
func init() { proto.RegisterFile("autonomy.proto", fileDescriptor_0246b47df8434d60) }
var fileDescriptor_0246b47df8434d60 = []byte{
// 427 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x93, 0xcf, 0xaf, 0xd2, 0x40,
0x14, 0x85, 0x01, 0xed, 0xe3, 0xbd, 0x5b, 0x5a, 0xc8, 0xd5, 0x68, 0x25, 0x1a, 0x89, 0x2b, 0x56,
0x24, 0xa2, 0x2b, 0x13, 0x12, 0x40, 0x83, 0x6c, 0x8c, 0x4d, 0x43, 0xd8, 0x17, 0x1c, 0x13, 0xa4,
0xed, 0x34, 0xc3, 0xb4, 0x49, 0xff, 0x71, 0xd7, 0xa6, 0xb7, 0xd3, 0x1f, 0x53, 0xea, 0x0e, 0x7a,
0xcf, 0xf7, 0x25, 0xe7, 0x40, 0xc1, 0xf6, 0x13, 0xc9, 0x23, 0x1e, 0x66, 0x8b, 0x58, 0x70, 0xc9,
0xd1, 0x90, 0x59, 0xcc, 0x6e, 0x53, 0xf3, 0xc4, 0x7d, 0xf1, 0xab, 0x78, 0x36, 0xb5, 0x62, 0xc1,
0xff, 0xb0, 0xb3, 0x54, 0x5f, 0x41, 0x24, 0x01, 0x2b, 0x3e, 0x7f, 0xf8, 0x3b, 0x04, 0x7b, 0xa3,
0x0c, 0x9b, 0xb3, 0xbc, 0xf0, 0x08, 0x3f, 0xc3, 0x53, 0x2c, 0x78, 0xbc, 0xcd, 0x05, 0x4e, 0x7f,
0xd6, 0x9f, 0x9b, 0xcb, 0x97, 0x0b, 0xb2, 0x2e, 0x5c, 0xc1, 0x63, 0x7e, 0xf3, 0x03, 0xba, 0xed,
0x7b, 0x5e, 0x1d, 0xc4, 0x35, 0x8c, 0x44, 0x7a, 0x75, 0x2b, 0x70, 0x40, 0xe0, 0x54, 0x81, 0x1e,
0x4b, 0xf9, 0x95, 0xb5, 0x71, 0x8d, 0xc0, 0x35, 0x58, 0x29, 0x97, 0xac, 0x56, 0x3c, 0x23, 0x85,
0xa3, 0x14, 0x47, 0x75, 0x6b, 0x0a, 0x74, 0x00, 0xbf, 0x83, 0x2d, 0xc3, 0x4b, 0x24, 0x6b, 0xc5,
0x73, 0x52, 0xbc, 0x53, 0x8a, 0x03, 0x13, 0xe1, 0x25, 0xf2, 0xef, 0x3d, 0x2d, 0x0c, 0xbf, 0x80,
0x99, 0x37, 0x73, 0x8b, 0xd9, 0x1c, 0x83, 0x2c, 0xaf, 0x5a, 0x23, 0xa8, 0xeb, 0xbe, 0xe7, 0x35,
0xc3, 0xb8, 0x03, 0x5b, 0xd5, 0x2a, 0xf1, 0x07, 0xc2, 0xdf, 0x76, 0x4e, 0x51, 0x4b, 0x5a, 0x14,
0xee, 0x60, 0x5c, 0xb6, 0x2b, 0x45, 0x43, 0x6d, 0xd3, 0xe6, 0x20, 0xb5, 0xa6, 0x0d, 0xe1, 0x4f,
0xc0, 0x38, 0x39, 0x1d, 0x5b, 0xaa, 0x47, 0x6d, 0x18, 0xb7, 0x0e, 0xe8, 0xb6, 0x0e, 0x14, 0x7f,
0xc0, 0xa4, 0x9a, 0xab, 0xd4, 0x3d, 0x91, 0xee, 0xfd, 0xff, 0x76, 0xae, 0x85, 0x77, 0x28, 0x7e,
0x84, 0xc7, 0x7c, 0x3e, 0x2f, 0x09, 0x98, 0x03, 0xa4, 0x79, 0xd1, 0x1a, 0x3a, 0x3f, 0xed, 0x7b,
0x5e, 0x15, 0xc3, 0x15, 0x98, 0x6a, 0x2c, 0xa2, 0x4c, 0xa2, 0xde, 0x74, 0xee, 0xab, 0xd8, 0x66,
0x1e, 0x57, 0x30, 0x2a, 0x47, 0x22, 0x7e, 0x44, 0xfc, 0xeb, 0x8e, 0x59, 0x15, 0xad, 0xc5, 0xf1,
0x1b, 0x58, 0x55, 0x09, 0xe2, 0x2d, 0xed, 0xf7, 0xbd, 0x2b, 0xaf, 0x24, 0x3a, 0x94, 0xd7, 0x96,
0xc2, 0x8f, 0x6e, 0xbf, 0x99, 0x70, 0x6c, 0xad, 0xf6, 0x41, 0x3d, 0xde, 0x25, 0x51, 0xfe, 0xdf,
0xac, 0x62, 0xb8, 0x04, 0xf3, 0xcc, 0xc3, 0x90, 0x15, 0x16, 0x67, 0x4c, 0x94, 0xad, 0xa8, 0xaf,
0xc5, 0x25, 0xef, 0xda, 0x08, 0xa1, 0x0d, 0x03, 0x99, 0x39, 0x93, 0x59, 0x7f, 0x6e, 0x78, 0x03,
0x99, 0x6d, 0x87, 0x60, 0xa4, 0x7e, 0x90, 0xb0, 0xd3, 0x03, 0xbd, 0xff, 0x9f, 0xfe, 0x05, 0x00,
0x00, 0xff, 0xff, 0xf5, 0x6a, 0x69, 0x9d, 0x40, 0x04, 0x00, 0x00,
func init() { proto.RegisterFile("autonomy.proto", fileDescriptor0) }
var fileDescriptor0 = []byte{
// 504 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x94, 0x4d, 0x6f, 0xd3, 0x40,
0x10, 0x40, 0xd3, 0x40, 0xfa, 0x31, 0x8e, 0x9d, 0x32, 0x2d, 0x60, 0xc2, 0x57, 0xc5, 0xa9, 0xa7,
0x48, 0x14, 0x24, 0x24, 0xa4, 0x4a, 0x6d, 0x83, 0x42, 0x84, 0x84, 0x88, 0xac, 0xaa, 0x77, 0x27,
0x2c, 0x10, 0x1a, 0x7b, 0xad, 0xcd, 0x3a, 0x52, 0x7e, 0x00, 0xff, 0x1b, 0x79, 0x3c, 0x5e, 0x7b,
0x37, 0xee, 0x2d, 0xf6, 0xce, 0x7b, 0xd1, 0x3c, 0x27, 0x86, 0x20, 0xce, 0xb5, 0x4c, 0x65, 0xb2,
0x1d, 0x65, 0x4a, 0x6a, 0x89, 0x3d, 0xbd, 0xcd, 0xc4, 0x7a, 0xe8, 0xcd, 0x65, 0xac, 0x7e, 0x96,
0xf7, 0x86, 0x7e, 0xa6, 0xe4, 0x5f, 0xb1, 0xd0, 0x7c, 0x09, 0x2a, 0x5f, 0x09, 0xfe, 0xdc, 0x5f,
0xfc, 0x89, 0xd3, 0xdf, 0x7c, 0xf5, 0xee, 0x1f, 0x40, 0x70, 0xcd, 0xbe, 0xeb, 0x85, 0x5e, 0xca,
0x14, 0x3f, 0xc2, 0x51, 0xa6, 0x64, 0x76, 0x53, 0xe8, 0xc2, 0xbd, 0xb3, 0xbd, 0x73, 0xef, 0xe2,
0x74, 0x44, 0xdf, 0x31, 0x9a, 0x29, 0x99, 0xc9, 0x75, 0xbc, 0xa2, 0xb3, 0x69, 0x27, 0xaa, 0x07,
0xf1, 0x0a, 0xfa, 0x6a, 0x73, 0x3f, 0x33, 0x60, 0x97, 0xc0, 0x21, 0x83, 0x91, 0xd8, 0xc8, 0x7b,
0xe1, 0xe2, 0x16, 0x81, 0x57, 0xe0, 0x6f, 0xa4, 0x16, 0xb5, 0xe2, 0x11, 0x29, 0x42, 0x56, 0xdc,
0xf1, 0x59, 0x53, 0x60, 0x03, 0xf8, 0x15, 0x02, 0x9d, 0x2c, 0x53, 0x5d, 0x2b, 0x1e, 0x93, 0xe2,
0x35, 0x2b, 0x6e, 0x85, 0x4a, 0x96, 0x69, 0xbc, 0xeb, 0x71, 0x30, 0xfc, 0x0c, 0x5e, 0xb1, 0xd9,
0xac, 0x8c, 0x18, 0xf6, 0xc8, 0xf2, 0xcc, 0x89, 0xc0, 0xa7, 0xd3, 0x4e, 0xd4, 0x1c, 0xc6, 0x09,
0x04, 0xbc, 0x56, 0x85, 0xef, 0x13, 0xfe, 0xaa, 0x35, 0x45, 0x2d, 0x71, 0x28, 0x9c, 0xc0, 0xa0,
0xda, 0xae, 0x12, 0x1d, 0x58, 0x4d, 0x9b, 0x41, 0x6a, 0x8d, 0x0b, 0xe1, 0x0f, 0xc0, 0x2c, 0x9f,
0xdf, 0x39, 0xaa, 0x43, 0x2b, 0xcc, 0xac, 0x1e, 0xb0, 0x6d, 0x2d, 0x28, 0x7e, 0x87, 0x63, 0x93,
0xab, 0xd2, 0x1d, 0x91, 0xee, 0xed, 0x43, 0x9d, 0x6b, 0xe1, 0x0e, 0x8a, 0xef, 0xe1, 0xb0, 0xc8,
0x17, 0xe5, 0x2b, 0x11, 0x02, 0x69, 0x4e, 0x9c, 0xd0, 0xc5, 0xd1, 0xb4, 0x13, 0x99, 0x31, 0xbc,
0x04, 0x8f, 0x63, 0x11, 0xe5, 0x11, 0xf5, 0xa2, 0xb5, 0x2f, 0xb3, 0xcd, 0x79, 0xbc, 0x84, 0x7e,
0x15, 0x89, 0xf8, 0x3e, 0xf1, 0xcf, 0x5b, 0xb2, 0x32, 0x6d, 0x8d, 0xe3, 0x17, 0xf0, 0xcd, 0x12,
0xc4, 0xfb, 0xd6, 0xf3, 0xdd, 0x59, 0x9e, 0x25, 0x36, 0x54, 0xac, 0xad, 0x55, 0x9c, 0xae, 0x7f,
0x09, 0x15, 0x06, 0xd6, 0xda, 0xb7, 0x7c, 0x7b, 0x92, 0xa7, 0xc5, 0x6f, 0xd3, 0x8c, 0xe1, 0x05,
0x78, 0x0b, 0x99, 0x24, 0xa2, 0xb4, 0x84, 0x03, 0xa2, 0x02, 0xa6, 0xc6, 0xe5, 0x49, 0xb1, 0x6b,
0x63, 0x08, 0x3f, 0x01, 0x14, 0xd9, 0xc6, 0xf4, 0x9f, 0x0f, 0x8f, 0x09, 0x79, 0xea, 0xf4, 0x2d,
0x0f, 0xa7, 0x9d, 0xa8, 0x31, 0x8a, 0x63, 0xf0, 0xb9, 0x19, 0xb3, 0x4f, 0x88, 0x7d, 0xd9, 0x5a,
0xd9, 0x18, 0x6c, 0x06, 0xc7, 0x10, 0x54, 0xe9, 0xd8, 0x82, 0xd6, 0xb3, 0x6a, 0xb6, 0x36, 0x0e,
0x07, 0xc1, 0x6f, 0x30, 0x30, 0xe9, 0xd8, 0x72, 0x42, 0x96, 0x37, 0x0f, 0x15, 0x37, 0x2a, 0x17,
0xc4, 0x00, 0xba, 0x7a, 0x1b, 0x9e, 0x9e, 0xed, 0x9d, 0xf7, 0xa2, 0xae, 0xde, 0xde, 0x1c, 0x40,
0x6f, 0x13, 0xaf, 0x72, 0x31, 0xdf, 0xa7, 0xd7, 0xe1, 0x87, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff,
0x43, 0xb3, 0xd4, 0x92, 0x5d, 0x05, 0x00, 0x00,
}
......@@ -3,65 +3,33 @@
package types
import (
fmt "fmt"
math "math"
proto "github.com/golang/protobuf/proto"
)
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
type AutonomyProposalBoard struct {
PropBoard *ProposalBoard `protobuf:"bytes,1,opt,name=propBoard,proto3" json:"propBoard,omitempty"`
PropBoard *ProposalBoard `protobuf:"bytes,1,opt,name=propBoard" json:"propBoard,omitempty"`
// 投票该提案的规则
CurRule *RuleConfig `protobuf:"bytes,2,opt,name=curRule,proto3" json:"curRule,omitempty"`
CurRule *RuleConfig `protobuf:"bytes,2,opt,name=curRule" json:"curRule,omitempty"`
// 全体持票人投票结果
VoteResult *VoteResult `protobuf:"bytes,3,opt,name=voteResult,proto3" json:"voteResult,omitempty"`
VoteResult *VoteResult `protobuf:"bytes,3,opt,name=voteResult" json:"voteResult,omitempty"`
// 状态
Status int32 `protobuf:"varint,4,opt,name=status,proto3" json:"status,omitempty"`
Address string `protobuf:"bytes,5,opt,name=address,proto3" json:"address,omitempty"`
Height int64 `protobuf:"varint,6,opt,name=height,proto3" json:"height,omitempty"`
Index int32 `protobuf:"varint,7,opt,name=index,proto3" json:"index,omitempty"`
ProposalID string `protobuf:"bytes,8,opt,name=proposalID,proto3" json:"proposalID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *AutonomyProposalBoard) Reset() { *m = AutonomyProposalBoard{} }
func (m *AutonomyProposalBoard) String() string { return proto.CompactTextString(m) }
func (*AutonomyProposalBoard) ProtoMessage() {}
func (*AutonomyProposalBoard) Descriptor() ([]byte, []int) {
return fileDescriptor_937f74b042f92c0f, []int{0}
}
func (m *AutonomyProposalBoard) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AutonomyProposalBoard.Unmarshal(m, b)
}
func (m *AutonomyProposalBoard) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_AutonomyProposalBoard.Marshal(b, m, deterministic)
}
func (m *AutonomyProposalBoard) XXX_Merge(src proto.Message) {
xxx_messageInfo_AutonomyProposalBoard.Merge(m, src)
}
func (m *AutonomyProposalBoard) XXX_Size() int {
return xxx_messageInfo_AutonomyProposalBoard.Size(m)
}
func (m *AutonomyProposalBoard) XXX_DiscardUnknown() {
xxx_messageInfo_AutonomyProposalBoard.DiscardUnknown(m)
Status int32 `protobuf:"varint,4,opt,name=status" json:"status,omitempty"`
Address string `protobuf:"bytes,5,opt,name=address" json:"address,omitempty"`
Height int64 `protobuf:"varint,6,opt,name=height" json:"height,omitempty"`
Index int32 `protobuf:"varint,7,opt,name=index" json:"index,omitempty"`
ProposalID string `protobuf:"bytes,8,opt,name=proposalID" json:"proposalID,omitempty"`
}
var xxx_messageInfo_AutonomyProposalBoard proto.InternalMessageInfo
func (m *AutonomyProposalBoard) Reset() { *m = AutonomyProposalBoard{} }
func (m *AutonomyProposalBoard) String() string { return proto.CompactTextString(m) }
func (*AutonomyProposalBoard) ProtoMessage() {}
func (*AutonomyProposalBoard) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
func (m *AutonomyProposalBoard) GetPropBoard() *ProposalBoard {
if m != nil {
......@@ -122,44 +90,21 @@ func (m *AutonomyProposalBoard) GetProposalID() string {
// action
type ProposalBoard struct {
// 提案时间
Year int32 `protobuf:"varint,1,opt,name=year,proto3" json:"year,omitempty"`
Month int32 `protobuf:"varint,2,opt,name=month,proto3" json:"month,omitempty"`
Day int32 `protobuf:"varint,3,opt,name=day,proto3" json:"day,omitempty"`
Year int32 `protobuf:"varint,1,opt,name=year" json:"year,omitempty"`
Month int32 `protobuf:"varint,2,opt,name=month" json:"month,omitempty"`
Day int32 `protobuf:"varint,3,opt,name=day" json:"day,omitempty"`
// 提案董事会成员
Boards []string `protobuf:"bytes,4,rep,name=boards,proto3" json:"boards,omitempty"`
Boards []string `protobuf:"bytes,4,rep,name=boards" json:"boards,omitempty"`
// 投票相关
StartBlockHeight int64 `protobuf:"varint,5,opt,name=startBlockHeight,proto3" json:"startBlockHeight,omitempty"`
EndBlockHeight int64 `protobuf:"varint,6,opt,name=endBlockHeight,proto3" json:"endBlockHeight,omitempty"`
RealEndBlockHeight int64 `protobuf:"varint,7,opt,name=realEndBlockHeight,proto3" json:"realEndBlockHeight,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
StartBlockHeight int64 `protobuf:"varint,5,opt,name=startBlockHeight" json:"startBlockHeight,omitempty"`
EndBlockHeight int64 `protobuf:"varint,6,opt,name=endBlockHeight" json:"endBlockHeight,omitempty"`
RealEndBlockHeight int64 `protobuf:"varint,7,opt,name=realEndBlockHeight" json:"realEndBlockHeight,omitempty"`
}
func (m *ProposalBoard) Reset() { *m = ProposalBoard{} }
func (m *ProposalBoard) String() string { return proto.CompactTextString(m) }
func (*ProposalBoard) ProtoMessage() {}
func (*ProposalBoard) Descriptor() ([]byte, []int) {
return fileDescriptor_937f74b042f92c0f, []int{1}
}
func (m *ProposalBoard) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ProposalBoard.Unmarshal(m, b)
}
func (m *ProposalBoard) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ProposalBoard.Marshal(b, m, deterministic)
}
func (m *ProposalBoard) XXX_Merge(src proto.Message) {
xxx_messageInfo_ProposalBoard.Merge(m, src)
}
func (m *ProposalBoard) XXX_Size() int {
return xxx_messageInfo_ProposalBoard.Size(m)
}
func (m *ProposalBoard) XXX_DiscardUnknown() {
xxx_messageInfo_ProposalBoard.DiscardUnknown(m)
}
var xxx_messageInfo_ProposalBoard proto.InternalMessageInfo
func (m *ProposalBoard) Reset() { *m = ProposalBoard{} }
func (m *ProposalBoard) String() string { return proto.CompactTextString(m) }
func (*ProposalBoard) ProtoMessage() {}
func (*ProposalBoard) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
func (m *ProposalBoard) GetYear() int32 {
if m != nil {
......@@ -211,36 +156,13 @@ func (m *ProposalBoard) GetRealEndBlockHeight() int64 {
}
type RevokeProposalBoard struct {
ProposalID string `protobuf:"bytes,1,opt,name=proposalID,proto3" json:"proposalID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
ProposalID string `protobuf:"bytes,1,opt,name=proposalID" json:"proposalID,omitempty"`
}
func (m *RevokeProposalBoard) Reset() { *m = RevokeProposalBoard{} }
func (m *RevokeProposalBoard) String() string { return proto.CompactTextString(m) }
func (*RevokeProposalBoard) ProtoMessage() {}
func (*RevokeProposalBoard) Descriptor() ([]byte, []int) {
return fileDescriptor_937f74b042f92c0f, []int{2}
}
func (m *RevokeProposalBoard) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RevokeProposalBoard.Unmarshal(m, b)
}
func (m *RevokeProposalBoard) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RevokeProposalBoard.Marshal(b, m, deterministic)
}
func (m *RevokeProposalBoard) XXX_Merge(src proto.Message) {
xxx_messageInfo_RevokeProposalBoard.Merge(m, src)
}
func (m *RevokeProposalBoard) XXX_Size() int {
return xxx_messageInfo_RevokeProposalBoard.Size(m)
}
func (m *RevokeProposalBoard) XXX_DiscardUnknown() {
xxx_messageInfo_RevokeProposalBoard.DiscardUnknown(m)
}
var xxx_messageInfo_RevokeProposalBoard proto.InternalMessageInfo
func (m *RevokeProposalBoard) Reset() { *m = RevokeProposalBoard{} }
func (m *RevokeProposalBoard) String() string { return proto.CompactTextString(m) }
func (*RevokeProposalBoard) ProtoMessage() {}
func (*RevokeProposalBoard) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
func (m *RevokeProposalBoard) GetProposalID() string {
if m != nil {
......@@ -250,37 +172,15 @@ func (m *RevokeProposalBoard) GetProposalID() string {
}
type VoteProposalBoard struct {
ProposalID string `protobuf:"bytes,1,opt,name=proposalID,proto3" json:"proposalID,omitempty"`
Approve bool `protobuf:"varint,2,opt,name=approve,proto3" json:"approve,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
ProposalID string `protobuf:"bytes,1,opt,name=proposalID" json:"proposalID,omitempty"`
Approve bool `protobuf:"varint,2,opt,name=approve" json:"approve,omitempty"`
OriginAddr []string `protobuf:"bytes,3,rep,name=originAddr" json:"originAddr,omitempty"`
}
func (m *VoteProposalBoard) Reset() { *m = VoteProposalBoard{} }
func (m *VoteProposalBoard) String() string { return proto.CompactTextString(m) }
func (*VoteProposalBoard) ProtoMessage() {}
func (*VoteProposalBoard) Descriptor() ([]byte, []int) {
return fileDescriptor_937f74b042f92c0f, []int{3}
}
func (m *VoteProposalBoard) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_VoteProposalBoard.Unmarshal(m, b)
}
func (m *VoteProposalBoard) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_VoteProposalBoard.Marshal(b, m, deterministic)
}
func (m *VoteProposalBoard) XXX_Merge(src proto.Message) {
xxx_messageInfo_VoteProposalBoard.Merge(m, src)
}
func (m *VoteProposalBoard) XXX_Size() int {
return xxx_messageInfo_VoteProposalBoard.Size(m)
}
func (m *VoteProposalBoard) XXX_DiscardUnknown() {
xxx_messageInfo_VoteProposalBoard.DiscardUnknown(m)
}
var xxx_messageInfo_VoteProposalBoard proto.InternalMessageInfo
func (m *VoteProposalBoard) Reset() { *m = VoteProposalBoard{} }
func (m *VoteProposalBoard) String() string { return proto.CompactTextString(m) }
func (*VoteProposalBoard) ProtoMessage() {}
func (*VoteProposalBoard) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
func (m *VoteProposalBoard) GetProposalID() string {
if m != nil {
......@@ -296,37 +196,21 @@ func (m *VoteProposalBoard) GetApprove() bool {
return false
}
type TerminateProposalBoard struct {
ProposalID string `protobuf:"bytes,1,opt,name=proposalID,proto3" json:"proposalID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TerminateProposalBoard) Reset() { *m = TerminateProposalBoard{} }
func (m *TerminateProposalBoard) String() string { return proto.CompactTextString(m) }
func (*TerminateProposalBoard) ProtoMessage() {}
func (*TerminateProposalBoard) Descriptor() ([]byte, []int) {
return fileDescriptor_937f74b042f92c0f, []int{4}
func (m *VoteProposalBoard) GetOriginAddr() []string {
if m != nil {
return m.OriginAddr
}
return nil
}
func (m *TerminateProposalBoard) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TerminateProposalBoard.Unmarshal(m, b)
}
func (m *TerminateProposalBoard) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TerminateProposalBoard.Marshal(b, m, deterministic)
}
func (m *TerminateProposalBoard) XXX_Merge(src proto.Message) {
xxx_messageInfo_TerminateProposalBoard.Merge(m, src)
}
func (m *TerminateProposalBoard) XXX_Size() int {
return xxx_messageInfo_TerminateProposalBoard.Size(m)
}
func (m *TerminateProposalBoard) XXX_DiscardUnknown() {
xxx_messageInfo_TerminateProposalBoard.DiscardUnknown(m)
type TerminateProposalBoard struct {
ProposalID string `protobuf:"bytes,1,opt,name=proposalID" json:"proposalID,omitempty"`
}
var xxx_messageInfo_TerminateProposalBoard proto.InternalMessageInfo
func (m *TerminateProposalBoard) Reset() { *m = TerminateProposalBoard{} }
func (m *TerminateProposalBoard) String() string { return proto.CompactTextString(m) }
func (*TerminateProposalBoard) ProtoMessage() {}
func (*TerminateProposalBoard) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
func (m *TerminateProposalBoard) GetProposalID() string {
if m != nil {
......@@ -337,37 +221,14 @@ func (m *TerminateProposalBoard) GetProposalID() string {
// receipt
type ReceiptProposalBoard struct {
Prev *AutonomyProposalBoard `protobuf:"bytes,1,opt,name=prev,proto3" json:"prev,omitempty"`
Current *AutonomyProposalBoard `protobuf:"bytes,2,opt,name=current,proto3" json:"current,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
Prev *AutonomyProposalBoard `protobuf:"bytes,1,opt,name=prev" json:"prev,omitempty"`
Current *AutonomyProposalBoard `protobuf:"bytes,2,opt,name=current" json:"current,omitempty"`
}
func (m *ReceiptProposalBoard) Reset() { *m = ReceiptProposalBoard{} }
func (m *ReceiptProposalBoard) String() string { return proto.CompactTextString(m) }
func (*ReceiptProposalBoard) ProtoMessage() {}
func (*ReceiptProposalBoard) Descriptor() ([]byte, []int) {
return fileDescriptor_937f74b042f92c0f, []int{5}
}
func (m *ReceiptProposalBoard) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReceiptProposalBoard.Unmarshal(m, b)
}
func (m *ReceiptProposalBoard) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReceiptProposalBoard.Marshal(b, m, deterministic)
}
func (m *ReceiptProposalBoard) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReceiptProposalBoard.Merge(m, src)
}
func (m *ReceiptProposalBoard) XXX_Size() int {
return xxx_messageInfo_ReceiptProposalBoard.Size(m)
}
func (m *ReceiptProposalBoard) XXX_DiscardUnknown() {
xxx_messageInfo_ReceiptProposalBoard.DiscardUnknown(m)
}
var xxx_messageInfo_ReceiptProposalBoard proto.InternalMessageInfo
func (m *ReceiptProposalBoard) Reset() { *m = ReceiptProposalBoard{} }
func (m *ReceiptProposalBoard) String() string { return proto.CompactTextString(m) }
func (*ReceiptProposalBoard) ProtoMessage() {}
func (*ReceiptProposalBoard) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
func (m *ReceiptProposalBoard) GetPrev() *AutonomyProposalBoard {
if m != nil {
......@@ -384,37 +245,14 @@ func (m *ReceiptProposalBoard) GetCurrent() *AutonomyProposalBoard {
}
type LocalProposalBoard struct {
PropBd *AutonomyProposalBoard `protobuf:"bytes,1,opt,name=propBd,proto3" json:"propBd,omitempty"`
Comments []string `protobuf:"bytes,2,rep,name=comments,proto3" json:"comments,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *LocalProposalBoard) Reset() { *m = LocalProposalBoard{} }
func (m *LocalProposalBoard) String() string { return proto.CompactTextString(m) }
func (*LocalProposalBoard) ProtoMessage() {}
func (*LocalProposalBoard) Descriptor() ([]byte, []int) {
return fileDescriptor_937f74b042f92c0f, []int{6}
}
func (m *LocalProposalBoard) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LocalProposalBoard.Unmarshal(m, b)
}
func (m *LocalProposalBoard) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LocalProposalBoard.Marshal(b, m, deterministic)
}
func (m *LocalProposalBoard) XXX_Merge(src proto.Message) {
xxx_messageInfo_LocalProposalBoard.Merge(m, src)
}
func (m *LocalProposalBoard) XXX_Size() int {
return xxx_messageInfo_LocalProposalBoard.Size(m)
}
func (m *LocalProposalBoard) XXX_DiscardUnknown() {
xxx_messageInfo_LocalProposalBoard.DiscardUnknown(m)
PropBd *AutonomyProposalBoard `protobuf:"bytes,1,opt,name=propBd" json:"propBd,omitempty"`
Comments []string `protobuf:"bytes,2,rep,name=comments" json:"comments,omitempty"`
}
var xxx_messageInfo_LocalProposalBoard proto.InternalMessageInfo
func (m *LocalProposalBoard) Reset() { *m = LocalProposalBoard{} }
func (m *LocalProposalBoard) String() string { return proto.CompactTextString(m) }
func (*LocalProposalBoard) ProtoMessage() {}
func (*LocalProposalBoard) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
func (m *LocalProposalBoard) GetPropBd() *AutonomyProposalBoard {
if m != nil {
......@@ -432,41 +270,18 @@ func (m *LocalProposalBoard) GetComments() []string {
// query
type ReqQueryProposalBoard struct {
Status int32 `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"`
Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"`
Count int32 `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty"`
Direction int32 `protobuf:"varint,4,opt,name=direction,proto3" json:"direction,omitempty"`
Height int64 `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"`
Index int32 `protobuf:"varint,6,opt,name=index,proto3" json:"index,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ReqQueryProposalBoard) Reset() { *m = ReqQueryProposalBoard{} }
func (m *ReqQueryProposalBoard) String() string { return proto.CompactTextString(m) }
func (*ReqQueryProposalBoard) ProtoMessage() {}
func (*ReqQueryProposalBoard) Descriptor() ([]byte, []int) {
return fileDescriptor_937f74b042f92c0f, []int{7}
Status int32 `protobuf:"varint,1,opt,name=status" json:"status,omitempty"`
Addr string `protobuf:"bytes,2,opt,name=addr" json:"addr,omitempty"`
Count int32 `protobuf:"varint,3,opt,name=count" json:"count,omitempty"`
Direction int32 `protobuf:"varint,4,opt,name=direction" json:"direction,omitempty"`
Height int64 `protobuf:"varint,5,opt,name=height" json:"height,omitempty"`
Index int32 `protobuf:"varint,6,opt,name=index" json:"index,omitempty"`
}
func (m *ReqQueryProposalBoard) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqQueryProposalBoard.Unmarshal(m, b)
}
func (m *ReqQueryProposalBoard) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqQueryProposalBoard.Marshal(b, m, deterministic)
}
func (m *ReqQueryProposalBoard) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqQueryProposalBoard.Merge(m, src)
}
func (m *ReqQueryProposalBoard) XXX_Size() int {
return xxx_messageInfo_ReqQueryProposalBoard.Size(m)
}
func (m *ReqQueryProposalBoard) XXX_DiscardUnknown() {
xxx_messageInfo_ReqQueryProposalBoard.DiscardUnknown(m)
}
var xxx_messageInfo_ReqQueryProposalBoard proto.InternalMessageInfo
func (m *ReqQueryProposalBoard) Reset() { *m = ReqQueryProposalBoard{} }
func (m *ReqQueryProposalBoard) String() string { return proto.CompactTextString(m) }
func (*ReqQueryProposalBoard) ProtoMessage() {}
func (*ReqQueryProposalBoard) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{7} }
func (m *ReqQueryProposalBoard) GetStatus() int32 {
if m != nil {
......@@ -511,36 +326,13 @@ func (m *ReqQueryProposalBoard) GetIndex() int32 {
}
type ReplyQueryProposalBoard struct {
PropBoards []*AutonomyProposalBoard `protobuf:"bytes,1,rep,name=propBoards,proto3" json:"propBoards,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ReplyQueryProposalBoard) Reset() { *m = ReplyQueryProposalBoard{} }
func (m *ReplyQueryProposalBoard) String() string { return proto.CompactTextString(m) }
func (*ReplyQueryProposalBoard) ProtoMessage() {}
func (*ReplyQueryProposalBoard) Descriptor() ([]byte, []int) {
return fileDescriptor_937f74b042f92c0f, []int{8}
}
func (m *ReplyQueryProposalBoard) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReplyQueryProposalBoard.Unmarshal(m, b)
}
func (m *ReplyQueryProposalBoard) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReplyQueryProposalBoard.Marshal(b, m, deterministic)
}
func (m *ReplyQueryProposalBoard) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReplyQueryProposalBoard.Merge(m, src)
}
func (m *ReplyQueryProposalBoard) XXX_Size() int {
return xxx_messageInfo_ReplyQueryProposalBoard.Size(m)
}
func (m *ReplyQueryProposalBoard) XXX_DiscardUnknown() {
xxx_messageInfo_ReplyQueryProposalBoard.DiscardUnknown(m)
PropBoards []*AutonomyProposalBoard `protobuf:"bytes,1,rep,name=propBoards" json:"propBoards,omitempty"`
}
var xxx_messageInfo_ReplyQueryProposalBoard proto.InternalMessageInfo
func (m *ReplyQueryProposalBoard) Reset() { *m = ReplyQueryProposalBoard{} }
func (m *ReplyQueryProposalBoard) String() string { return proto.CompactTextString(m) }
func (*ReplyQueryProposalBoard) ProtoMessage() {}
func (*ReplyQueryProposalBoard) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{8} }
func (m *ReplyQueryProposalBoard) GetPropBoards() []*AutonomyProposalBoard {
if m != nil {
......@@ -561,42 +353,43 @@ func init() {
proto.RegisterType((*ReplyQueryProposalBoard)(nil), "types.ReplyQueryProposalBoard")
}
func init() { proto.RegisterFile("board.proto", fileDescriptor_937f74b042f92c0f) }
var fileDescriptor_937f74b042f92c0f = []byte{
// 544 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0x4d, 0x6f, 0xd3, 0x40,
0x10, 0xd5, 0x26, 0x71, 0x3e, 0xa6, 0x2a, 0x6a, 0x97, 0xb4, 0x58, 0x55, 0x85, 0x22, 0x1f, 0x50,
0x04, 0x52, 0x04, 0xe5, 0x43, 0x1c, 0xb8, 0x10, 0x40, 0x02, 0x09, 0x24, 0x58, 0x21, 0x38, 0xbb,
0xf6, 0xb4, 0xb1, 0xea, 0xec, 0x2e, 0xeb, 0x75, 0x84, 0x6f, 0xfc, 0x19, 0x4e, 0xfc, 0x30, 0xfe,
0x06, 0xda, 0xf1, 0xa6, 0xb1, 0xdb, 0x08, 0xe8, 0x6d, 0xdf, 0xf8, 0xcd, 0x64, 0x3e, 0xde, 0x0b,
0xec, 0x9c, 0xaa, 0xd8, 0xa4, 0x33, 0x6d, 0x94, 0x55, 0x3c, 0xb0, 0x95, 0xc6, 0xe2, 0x68, 0x37,
0x4f, 0xd4, 0x72, 0xa9, 0x64, 0x1d, 0x8d, 0x7e, 0x75, 0xe0, 0xe0, 0x65, 0x69, 0x95, 0x54, 0xcb,
0xea, 0xa3, 0x51, 0x5a, 0x15, 0x71, 0x3e, 0x77, 0x59, 0xfc, 0x04, 0x46, 0xda, 0x28, 0x4d, 0x20,
0x64, 0x13, 0x36, 0xdd, 0x39, 0x19, 0xcf, 0xa8, 0xc6, 0xac, 0x45, 0x14, 0x1b, 0x1a, 0x7f, 0x00,
0x83, 0xa4, 0x34, 0xa2, 0xcc, 0x31, 0xec, 0x50, 0xc6, 0xbe, 0xcf, 0x70, 0xa1, 0x57, 0x4a, 0x9e,
0x65, 0xe7, 0x62, 0xcd, 0xe0, 0x8f, 0x00, 0x56, 0xca, 0xa2, 0xc0, 0xa2, 0xcc, 0x6d, 0xd8, 0x6d,
0xf1, 0xbf, 0x5c, 0x7e, 0x10, 0x0d, 0x12, 0x3f, 0x84, 0x7e, 0x61, 0x63, 0x5b, 0x16, 0x61, 0x6f,
0xc2, 0xa6, 0x81, 0xf0, 0x88, 0x87, 0x30, 0x88, 0xd3, 0xd4, 0x60, 0x51, 0x84, 0xc1, 0x84, 0x4d,
0x47, 0x62, 0x0d, 0x5d, 0xc6, 0x02, 0xb3, 0xf3, 0x85, 0x0d, 0xfb, 0x13, 0x36, 0xed, 0x0a, 0x8f,
0xf8, 0x18, 0x82, 0x4c, 0xa6, 0xf8, 0x3d, 0x1c, 0x50, 0xa1, 0x1a, 0xf0, 0xbb, 0x00, 0xda, 0xcf,
0xf6, 0xee, 0x75, 0x38, 0xa4, 0x52, 0x8d, 0x48, 0xf4, 0x9b, 0xc1, 0x6e, 0x7b, 0x4b, 0x1c, 0x7a,
0x15, 0xc6, 0x86, 0x16, 0x14, 0x08, 0x7a, 0xbb, 0xda, 0x4b, 0x25, 0xed, 0x82, 0x76, 0x10, 0x88,
0x1a, 0xf0, 0x3d, 0xe8, 0xa6, 0x71, 0x45, 0x73, 0x06, 0xc2, 0x3d, 0x5d, 0x6f, 0x74, 0x20, 0x37,
0x4d, 0x77, 0x3a, 0x12, 0x1e, 0xf1, 0xfb, 0xb0, 0x57, 0xd8, 0xd8, 0xd8, 0x79, 0xae, 0x92, 0x8b,
0xb7, 0x75, 0xf7, 0x01, 0x75, 0x7f, 0x2d, 0xce, 0xef, 0xc1, 0x2d, 0x94, 0x69, 0x93, 0x59, 0xcf,
0x79, 0x25, 0xca, 0x67, 0xc0, 0x0d, 0xc6, 0xf9, 0x9b, 0x36, 0x77, 0x40, 0xdc, 0x2d, 0x5f, 0xa2,
0xa7, 0x70, 0x5b, 0xe0, 0x4a, 0x5d, 0x60, 0x7b, 0xdc, 0xf6, 0x82, 0xd8, 0xb5, 0x05, 0x7d, 0x80,
0x7d, 0x77, 0xba, 0x1b, 0x25, 0xd1, 0xf5, 0xb4, 0x36, 0x6a, 0x55, 0xab, 0x66, 0x28, 0xd6, 0x30,
0x7a, 0x0e, 0x87, 0x9f, 0xd1, 0x2c, 0x33, 0x19, 0xdf, 0xb0, 0x66, 0xf4, 0x83, 0xc1, 0x58, 0x60,
0x82, 0x99, 0xb6, 0xed, 0xc4, 0x87, 0xd0, 0xd3, 0x06, 0x57, 0x5e, 0xd1, 0xc7, 0x5e, 0x6f, 0x5b,
0x2d, 0x20, 0x88, 0xc9, 0x9f, 0x91, 0xa8, 0x0d, 0x4a, 0xeb, 0x45, 0xfd, 0xf7, 0xa4, 0x35, 0x39,
0x3a, 0x03, 0xfe, 0x5e, 0x25, 0x71, 0xde, 0xfe, 0xfd, 0x27, 0xd0, 0x27, 0xbf, 0xa4, 0xff, 0xd5,
0x81, 0xe7, 0xf2, 0x23, 0x18, 0x3a, 0xdb, 0xa2, 0xb4, 0x45, 0xd8, 0x21, 0xb1, 0x5c, 0xe2, 0xe8,
0x27, 0x83, 0x03, 0x81, 0xdf, 0x3e, 0x95, 0x68, 0xae, 0x58, 0x78, 0x63, 0x17, 0xd6, 0xb2, 0x0b,
0x87, 0x9e, 0xf3, 0x07, 0x8d, 0x33, 0x12, 0xf4, 0x76, 0xa2, 0x4d, 0x54, 0x29, 0xad, 0x17, 0x68,
0x0d, 0xf8, 0x31, 0x8c, 0xd2, 0xcc, 0x60, 0x62, 0x33, 0x25, 0xbd, 0xe7, 0x36, 0x81, 0x86, 0xb9,
0x82, 0xed, 0xe6, 0xea, 0x37, 0xcc, 0x15, 0x7d, 0x85, 0x3b, 0x02, 0x75, 0x5e, 0x6d, 0x69, 0xf4,
0x45, 0x7d, 0xcd, 0x79, 0xed, 0x06, 0x36, 0xe9, 0xfe, 0x73, 0x31, 0x0d, 0xfe, 0x69, 0x9f, 0xfe,
0xca, 0x1e, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0x3d, 0x91, 0x96, 0xe2, 0xef, 0x04, 0x00, 0x00,
func init() { proto.RegisterFile("board.proto", fileDescriptor1) }
var fileDescriptor1 = []byte{
// 559 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0x4d, 0x6f, 0xd4, 0x30,
0x10, 0x95, 0x9b, 0xcd, 0x7e, 0x4c, 0x55, 0xd4, 0x9a, 0x6d, 0xb1, 0xaa, 0x0a, 0xad, 0x72, 0x40,
0x2b, 0x90, 0x56, 0x50, 0x3e, 0xc4, 0x81, 0x4b, 0x17, 0x90, 0x40, 0xe2, 0x00, 0x16, 0x82, 0x73,
0x9a, 0x4c, 0x77, 0xa3, 0x26, 0xb6, 0x71, 0x9c, 0x15, 0xb9, 0xf1, 0x67, 0x38, 0xf1, 0xc3, 0xf8,
0x1b, 0xc8, 0x8e, 0xb7, 0x9b, 0xb4, 0x2b, 0xa0, 0x37, 0xbf, 0xc9, 0x1b, 0x7b, 0xe6, 0xcd, 0xbc,
0xc0, 0xee, 0xb9, 0x8c, 0x75, 0x3a, 0x53, 0x5a, 0x1a, 0x49, 0x43, 0x53, 0x2b, 0x2c, 0x8f, 0xf7,
0xf2, 0x44, 0x16, 0x85, 0x14, 0x4d, 0x34, 0xfa, 0xb5, 0x03, 0x87, 0x67, 0x95, 0x91, 0x42, 0x16,
0xf5, 0x47, 0x2d, 0x95, 0x2c, 0xe3, 0x7c, 0x6e, 0xb3, 0xe8, 0x29, 0x8c, 0x94, 0x96, 0xca, 0x01,
0x46, 0x26, 0x64, 0xba, 0x7b, 0x3a, 0x9e, 0xb9, 0x3b, 0x66, 0x1d, 0x22, 0xdf, 0xd0, 0xe8, 0x23,
0x18, 0x24, 0x95, 0xe6, 0x55, 0x8e, 0x6c, 0xc7, 0x65, 0x1c, 0xf8, 0x0c, 0x1b, 0x7a, 0x2d, 0xc5,
0x45, 0xb6, 0xe0, 0x6b, 0x06, 0x7d, 0x02, 0xb0, 0x92, 0x06, 0x39, 0x96, 0x55, 0x6e, 0x58, 0xd0,
0xe1, 0x7f, 0xb9, 0xfa, 0xc0, 0x5b, 0x24, 0x7a, 0x04, 0xfd, 0xd2, 0xc4, 0xa6, 0x2a, 0x59, 0x6f,
0x42, 0xa6, 0x21, 0xf7, 0x88, 0x32, 0x18, 0xc4, 0x69, 0xaa, 0xb1, 0x2c, 0x59, 0x38, 0x21, 0xd3,
0x11, 0x5f, 0x43, 0x9b, 0xb1, 0xc4, 0x6c, 0xb1, 0x34, 0xac, 0x3f, 0x21, 0xd3, 0x80, 0x7b, 0x44,
0xc7, 0x10, 0x66, 0x22, 0xc5, 0xef, 0x6c, 0xe0, 0x2e, 0x6a, 0x00, 0xbd, 0x0f, 0xa0, 0x7c, 0x6f,
0xef, 0xdf, 0xb0, 0xa1, 0xbb, 0xaa, 0x15, 0x89, 0x7e, 0x13, 0xd8, 0xeb, 0xaa, 0x44, 0xa1, 0x57,
0x63, 0xac, 0x9d, 0x40, 0x21, 0x77, 0x67, 0x7b, 0x77, 0x21, 0x85, 0x59, 0x3a, 0x0d, 0x42, 0xde,
0x00, 0xba, 0x0f, 0x41, 0x1a, 0xd7, 0xae, 0xcf, 0x90, 0xdb, 0xa3, 0xad, 0xcd, 0x0d, 0xc8, 0x76,
0x13, 0x4c, 0x47, 0xdc, 0x23, 0xfa, 0x10, 0xf6, 0x4b, 0x13, 0x6b, 0x33, 0xcf, 0x65, 0x72, 0xf9,
0xae, 0xa9, 0x3e, 0x74, 0xd5, 0xdf, 0x88, 0xd3, 0x07, 0x70, 0x07, 0x45, 0xda, 0x66, 0x36, 0x7d,
0x5e, 0x8b, 0xd2, 0x19, 0x50, 0x8d, 0x71, 0xfe, 0xb6, 0xcb, 0x1d, 0x38, 0xee, 0x96, 0x2f, 0xd1,
0x73, 0xb8, 0xcb, 0x71, 0x25, 0x2f, 0xb1, 0xdb, 0x6e, 0x57, 0x20, 0x72, 0x43, 0xa0, 0x02, 0x0e,
0xec, 0xe8, 0x6e, 0x95, 0xe4, 0xa6, 0xa7, 0x94, 0x96, 0xab, 0x66, 0x6b, 0x86, 0x7c, 0x0d, 0x6d,
0xa6, 0xd4, 0xd9, 0x22, 0x13, 0x67, 0x69, 0xaa, 0x59, 0xe0, 0x54, 0x6a, 0x45, 0xa2, 0x97, 0x70,
0xf4, 0x19, 0x75, 0x91, 0x89, 0xf8, 0x96, 0x6f, 0x46, 0x3f, 0x08, 0x8c, 0x39, 0x26, 0x98, 0x29,
0xd3, 0x4d, 0x7c, 0x0c, 0x3d, 0xa5, 0x71, 0xe5, 0x37, 0xfe, 0xc4, 0xef, 0xe3, 0x56, 0x8b, 0x70,
0xc7, 0xa4, 0x2f, 0xdc, 0xd2, 0x6b, 0x14, 0xc6, 0x2f, 0xfd, 0xdf, 0x93, 0xd6, 0xe4, 0xe8, 0x02,
0xe8, 0x07, 0x99, 0xc4, 0x79, 0xf7, 0xfd, 0x67, 0xd0, 0x77, 0x7e, 0x4a, 0xff, 0xab, 0x02, 0xcf,
0xa5, 0xc7, 0x30, 0xb4, 0xb6, 0x46, 0x61, 0x4a, 0xb6, 0xe3, 0x64, 0xba, 0xc2, 0xd1, 0x4f, 0x02,
0x87, 0x1c, 0xbf, 0x7d, 0xaa, 0x50, 0x5f, 0xb3, 0xf8, 0xc6, 0x4e, 0xa4, 0x63, 0x27, 0x0a, 0x3d,
0xeb, 0x1f, 0xd7, 0xce, 0x88, 0xbb, 0xb3, 0x5d, 0xea, 0x44, 0x56, 0xc2, 0xf8, 0x05, 0x6e, 0x00,
0x3d, 0x81, 0x51, 0x9a, 0x69, 0x4c, 0x4c, 0x26, 0x85, 0xf7, 0xe4, 0x26, 0xd0, 0x32, 0x5f, 0xb8,
0xdd, 0x7c, 0xfd, 0x96, 0xf9, 0xa2, 0xaf, 0x70, 0x8f, 0xa3, 0xca, 0xeb, 0x2d, 0x85, 0xbe, 0x6a,
0xa6, 0x39, 0x6f, 0xdc, 0x42, 0x26, 0xc1, 0x3f, 0x85, 0x69, 0xf1, 0xcf, 0xfb, 0xee, 0x57, 0xf7,
0xf4, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x28, 0xf8, 0xb3, 0x2f, 0x0f, 0x05, 0x00, 0x00,
}
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: change.proto
package types
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
type AutonomyProposalChange struct {
PropChange *ProposalChange `protobuf:"bytes,1,opt,name=propChange" json:"propChange,omitempty"`
// 投票该提案的规则
CurRule *RuleConfig `protobuf:"bytes,2,opt,name=curRule" json:"curRule,omitempty"`
// 全体持票人投票结果
VoteResult *VoteResult `protobuf:"bytes,3,opt,name=voteResult" json:"voteResult,omitempty"`
// 状态
Status int32 `protobuf:"varint,4,opt,name=status" json:"status,omitempty"`
Address string `protobuf:"bytes,5,opt,name=address" json:"address,omitempty"`
Height int64 `protobuf:"varint,6,opt,name=height" json:"height,omitempty"`
Index int32 `protobuf:"varint,7,opt,name=index" json:"index,omitempty"`
ProposalID string `protobuf:"bytes,8,opt,name=proposalID" json:"proposalID,omitempty"`
}
func (m *AutonomyProposalChange) Reset() { *m = AutonomyProposalChange{} }
func (m *AutonomyProposalChange) String() string { return proto.CompactTextString(m) }
func (*AutonomyProposalChange) ProtoMessage() {}
func (*AutonomyProposalChange) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
func (m *AutonomyProposalChange) GetPropChange() *ProposalChange {
if m != nil {
return m.PropChange
}
return nil
}
func (m *AutonomyProposalChange) GetCurRule() *RuleConfig {
if m != nil {
return m.CurRule
}
return nil
}
func (m *AutonomyProposalChange) GetVoteResult() *VoteResult {
if m != nil {
return m.VoteResult
}
return nil
}
func (m *AutonomyProposalChange) GetStatus() int32 {
if m != nil {
return m.Status
}
return 0
}
func (m *AutonomyProposalChange) GetAddress() string {
if m != nil {
return m.Address
}
return ""
}
func (m *AutonomyProposalChange) GetHeight() int64 {
if m != nil {
return m.Height
}
return 0
}
func (m *AutonomyProposalChange) GetIndex() int32 {
if m != nil {
return m.Index
}
return 0
}
func (m *AutonomyProposalChange) GetProposalID() string {
if m != nil {
return m.ProposalID
}
return ""
}
// action
type ProposalChange struct {
// 提案时间
Year int32 `protobuf:"varint,1,opt,name=year" json:"year,omitempty"`
Month int32 `protobuf:"varint,2,opt,name=month" json:"month,omitempty"`
Day int32 `protobuf:"varint,3,opt,name=day" json:"day,omitempty"`
// 修改董事会成员
Changes []*Change `protobuf:"bytes,4,rep,name=Changes" json:"Changes,omitempty"`
// 投票相关
StartBlockHeight int64 `protobuf:"varint,5,opt,name=startBlockHeight" json:"startBlockHeight,omitempty"`
EndBlockHeight int64 `protobuf:"varint,6,opt,name=endBlockHeight" json:"endBlockHeight,omitempty"`
RealEndBlockHeight int64 `protobuf:"varint,7,opt,name=realEndBlockHeight" json:"realEndBlockHeight,omitempty"`
}
func (m *ProposalChange) Reset() { *m = ProposalChange{} }
func (m *ProposalChange) String() string { return proto.CompactTextString(m) }
func (*ProposalChange) ProtoMessage() {}
func (*ProposalChange) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
func (m *ProposalChange) GetYear() int32 {
if m != nil {
return m.Year
}
return 0
}
func (m *ProposalChange) GetMonth() int32 {
if m != nil {
return m.Month
}
return 0
}
func (m *ProposalChange) GetDay() int32 {
if m != nil {
return m.Day
}
return 0
}
func (m *ProposalChange) GetChanges() []*Change {
if m != nil {
return m.Changes
}
return nil
}
func (m *ProposalChange) GetStartBlockHeight() int64 {
if m != nil {
return m.StartBlockHeight
}
return 0
}
func (m *ProposalChange) GetEndBlockHeight() int64 {
if m != nil {
return m.EndBlockHeight
}
return 0
}
func (m *ProposalChange) GetRealEndBlockHeight() int64 {
if m != nil {
return m.RealEndBlockHeight
}
return 0
}
type Change struct {
// 1 取消 0 恢复
Cancel bool `protobuf:"varint,1,opt,name=cancel" json:"cancel,omitempty"`
Addr string `protobuf:"bytes,2,opt,name=addr" json:"addr,omitempty"`
}
func (m *Change) Reset() { *m = Change{} }
func (m *Change) String() string { return proto.CompactTextString(m) }
func (*Change) ProtoMessage() {}
func (*Change) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{2} }
func (m *Change) GetCancel() bool {
if m != nil {
return m.Cancel
}
return false
}
func (m *Change) GetAddr() string {
if m != nil {
return m.Addr
}
return ""
}
type RevokeProposalChange struct {
ProposalID string `protobuf:"bytes,1,opt,name=proposalID" json:"proposalID,omitempty"`
}
func (m *RevokeProposalChange) Reset() { *m = RevokeProposalChange{} }
func (m *RevokeProposalChange) String() string { return proto.CompactTextString(m) }
func (*RevokeProposalChange) ProtoMessage() {}
func (*RevokeProposalChange) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{3} }
func (m *RevokeProposalChange) GetProposalID() string {
if m != nil {
return m.ProposalID
}
return ""
}
type VoteProposalChange struct {
ProposalID string `protobuf:"bytes,1,opt,name=proposalID" json:"proposalID,omitempty"`
Approve bool `protobuf:"varint,2,opt,name=approve" json:"approve,omitempty"`
}
func (m *VoteProposalChange) Reset() { *m = VoteProposalChange{} }
func (m *VoteProposalChange) String() string { return proto.CompactTextString(m) }
func (*VoteProposalChange) ProtoMessage() {}
func (*VoteProposalChange) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{4} }
func (m *VoteProposalChange) GetProposalID() string {
if m != nil {
return m.ProposalID
}
return ""
}
func (m *VoteProposalChange) GetApprove() bool {
if m != nil {
return m.Approve
}
return false
}
type TerminateProposalChange struct {
ProposalID string `protobuf:"bytes,1,opt,name=proposalID" json:"proposalID,omitempty"`
}
func (m *TerminateProposalChange) Reset() { *m = TerminateProposalChange{} }
func (m *TerminateProposalChange) String() string { return proto.CompactTextString(m) }
func (*TerminateProposalChange) ProtoMessage() {}
func (*TerminateProposalChange) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{5} }
func (m *TerminateProposalChange) GetProposalID() string {
if m != nil {
return m.ProposalID
}
return ""
}
// receipt
type ReceiptProposalChange struct {
Prev *AutonomyProposalChange `protobuf:"bytes,1,opt,name=prev" json:"prev,omitempty"`
Current *AutonomyProposalChange `protobuf:"bytes,2,opt,name=current" json:"current,omitempty"`
}
func (m *ReceiptProposalChange) Reset() { *m = ReceiptProposalChange{} }
func (m *ReceiptProposalChange) String() string { return proto.CompactTextString(m) }
func (*ReceiptProposalChange) ProtoMessage() {}
func (*ReceiptProposalChange) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{6} }
func (m *ReceiptProposalChange) GetPrev() *AutonomyProposalChange {
if m != nil {
return m.Prev
}
return nil
}
func (m *ReceiptProposalChange) GetCurrent() *AutonomyProposalChange {
if m != nil {
return m.Current
}
return nil
}
type LocalProposalChange struct {
PropBd *AutonomyProposalChange `protobuf:"bytes,1,opt,name=propBd" json:"propBd,omitempty"`
Comments []string `protobuf:"bytes,2,rep,name=comments" json:"comments,omitempty"`
}
func (m *LocalProposalChange) Reset() { *m = LocalProposalChange{} }
func (m *LocalProposalChange) String() string { return proto.CompactTextString(m) }
func (*LocalProposalChange) ProtoMessage() {}
func (*LocalProposalChange) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{7} }
func (m *LocalProposalChange) GetPropBd() *AutonomyProposalChange {
if m != nil {
return m.PropBd
}
return nil
}
func (m *LocalProposalChange) GetComments() []string {
if m != nil {
return m.Comments
}
return nil
}
// query
type ReqQueryProposalChange struct {
Status int32 `protobuf:"varint,1,opt,name=status" json:"status,omitempty"`
Addr string `protobuf:"bytes,2,opt,name=addr" json:"addr,omitempty"`
Count int32 `protobuf:"varint,3,opt,name=count" json:"count,omitempty"`
Direction int32 `protobuf:"varint,4,opt,name=direction" json:"direction,omitempty"`
Height int64 `protobuf:"varint,5,opt,name=height" json:"height,omitempty"`
Index int32 `protobuf:"varint,6,opt,name=index" json:"index,omitempty"`
}
func (m *ReqQueryProposalChange) Reset() { *m = ReqQueryProposalChange{} }
func (m *ReqQueryProposalChange) String() string { return proto.CompactTextString(m) }
func (*ReqQueryProposalChange) ProtoMessage() {}
func (*ReqQueryProposalChange) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{8} }
func (m *ReqQueryProposalChange) GetStatus() int32 {
if m != nil {
return m.Status
}
return 0
}
func (m *ReqQueryProposalChange) GetAddr() string {
if m != nil {
return m.Addr
}
return ""
}
func (m *ReqQueryProposalChange) GetCount() int32 {
if m != nil {
return m.Count
}
return 0
}
func (m *ReqQueryProposalChange) GetDirection() int32 {
if m != nil {
return m.Direction
}
return 0
}
func (m *ReqQueryProposalChange) GetHeight() int64 {
if m != nil {
return m.Height
}
return 0
}
func (m *ReqQueryProposalChange) GetIndex() int32 {
if m != nil {
return m.Index
}
return 0
}
type ReplyQueryProposalChange struct {
PropChanges []*AutonomyProposalChange `protobuf:"bytes,1,rep,name=propChanges" json:"propChanges,omitempty"`
}
func (m *ReplyQueryProposalChange) Reset() { *m = ReplyQueryProposalChange{} }
func (m *ReplyQueryProposalChange) String() string { return proto.CompactTextString(m) }
func (*ReplyQueryProposalChange) ProtoMessage() {}
func (*ReplyQueryProposalChange) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{9} }
func (m *ReplyQueryProposalChange) GetPropChanges() []*AutonomyProposalChange {
if m != nil {
return m.PropChanges
}
return nil
}
func init() {
proto.RegisterType((*AutonomyProposalChange)(nil), "types.AutonomyProposalChange")
proto.RegisterType((*ProposalChange)(nil), "types.ProposalChange")
proto.RegisterType((*Change)(nil), "types.Change")
proto.RegisterType((*RevokeProposalChange)(nil), "types.RevokeProposalChange")
proto.RegisterType((*VoteProposalChange)(nil), "types.VoteProposalChange")
proto.RegisterType((*TerminateProposalChange)(nil), "types.TerminateProposalChange")
proto.RegisterType((*ReceiptProposalChange)(nil), "types.ReceiptProposalChange")
proto.RegisterType((*LocalProposalChange)(nil), "types.LocalProposalChange")
proto.RegisterType((*ReqQueryProposalChange)(nil), "types.ReqQueryProposalChange")
proto.RegisterType((*ReplyQueryProposalChange)(nil), "types.ReplyQueryProposalChange")
}
func init() { proto.RegisterFile("change.proto", fileDescriptor2) }
var fileDescriptor2 = []byte{
// 571 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0xcf, 0x6f, 0xd3, 0x30,
0x14, 0x56, 0x9a, 0x26, 0x6d, 0x5f, 0xd9, 0x34, 0xcc, 0x56, 0xac, 0x09, 0x50, 0x95, 0x03, 0x44,
0x20, 0x55, 0xda, 0xf8, 0x25, 0x4e, 0x88, 0x0d, 0x24, 0x90, 0x10, 0x02, 0x0b, 0x71, 0xe1, 0x64,
0x92, 0x47, 0x1b, 0x2d, 0xb5, 0x83, 0xe3, 0x54, 0xf4, 0xcc, 0xff, 0xc2, 0x95, 0xbf, 0x8f, 0x1b,
0xb2, 0xe3, 0xae, 0x69, 0x1b, 0x69, 0xec, 0xe6, 0xef, 0xf9, 0x7b, 0x4f, 0xfe, 0x3e, 0xfb, 0x33,
0xdc, 0x48, 0x66, 0x5c, 0x4c, 0x71, 0x52, 0x28, 0xa9, 0x25, 0x09, 0xf4, 0xb2, 0xc0, 0xf2, 0x78,
0x2f, 0x4f, 0xe4, 0x7c, 0x2e, 0x45, 0x5d, 0x8d, 0xfe, 0x74, 0x60, 0xf4, 0xaa, 0xd2, 0x52, 0xc8,
0xf9, 0xf2, 0xa3, 0x92, 0x85, 0x2c, 0x79, 0x7e, 0x6e, 0xdb, 0xc8, 0x53, 0x80, 0x42, 0xc9, 0xa2,
0x46, 0xd4, 0x1b, 0x7b, 0xf1, 0xf0, 0xf4, 0x68, 0x62, 0xa7, 0x4c, 0x36, 0xa9, 0xac, 0x41, 0x24,
0x8f, 0xa0, 0x97, 0x54, 0x8a, 0x55, 0x39, 0xd2, 0x8e, 0xed, 0xb9, 0xe9, 0x7a, 0x4c, 0xe9, 0x5c,
0x8a, 0xef, 0xd9, 0x94, 0xad, 0x18, 0xe4, 0x04, 0x60, 0x21, 0x35, 0x32, 0x2c, 0xab, 0x5c, 0x53,
0x7f, 0x83, 0xff, 0xe5, 0x72, 0x83, 0x35, 0x48, 0x64, 0x04, 0x61, 0xa9, 0xb9, 0xae, 0x4a, 0xda,
0x1d, 0x7b, 0x71, 0xc0, 0x1c, 0x22, 0x14, 0x7a, 0x3c, 0x4d, 0x15, 0x96, 0x25, 0x0d, 0xc6, 0x5e,
0x3c, 0x60, 0x2b, 0x68, 0x3a, 0x66, 0x98, 0x4d, 0x67, 0x9a, 0x86, 0x63, 0x2f, 0xf6, 0x99, 0x43,
0xe4, 0x10, 0x82, 0x4c, 0xa4, 0xf8, 0x93, 0xf6, 0xec, 0xa0, 0x1a, 0x90, 0x7b, 0xb5, 0x6c, 0xa3,
0xee, 0xdd, 0x6b, 0xda, 0xb7, 0xa3, 0x1a, 0x95, 0xe8, 0xaf, 0x07, 0xfb, 0x5b, 0x4e, 0x11, 0xe8,
0x2e, 0x91, 0x2b, 0xeb, 0x51, 0xc0, 0xec, 0xda, 0x0c, 0x9f, 0x4b, 0xa1, 0x67, 0xd6, 0x84, 0x80,
0xd5, 0x80, 0x1c, 0x80, 0x9f, 0xf2, 0xa5, 0x15, 0x1a, 0x30, 0xb3, 0x24, 0x0f, 0xa0, 0x57, 0x4f,
0x31, 0x7a, 0xfc, 0x78, 0x78, 0xba, 0xe7, 0xe4, 0x3b, 0x6b, 0x57, 0xbb, 0xe4, 0x21, 0x1c, 0x94,
0x9a, 0x2b, 0x7d, 0x96, 0xcb, 0xe4, 0xe2, 0x6d, 0xad, 0x27, 0xb0, 0x7a, 0x76, 0xea, 0xe4, 0x3e,
0xec, 0xa3, 0x48, 0x9b, 0xcc, 0x5a, 0xf9, 0x56, 0x95, 0x4c, 0x80, 0x28, 0xe4, 0xf9, 0x9b, 0x4d,
0x6e, 0xcf, 0x72, 0x5b, 0x76, 0xa2, 0x27, 0x10, 0x3a, 0xc9, 0x23, 0x08, 0x13, 0x2e, 0x12, 0xcc,
0xad, 0xe8, 0x3e, 0x73, 0xc8, 0x58, 0x61, 0x6c, 0xb7, 0xaa, 0x07, 0xcc, 0xae, 0xa3, 0x67, 0x70,
0xc8, 0x70, 0x21, 0x2f, 0x70, 0xcb, 0xb6, 0x4d, 0xa7, 0xbd, 0x1d, 0xa7, 0x3f, 0x00, 0x31, 0x6f,
0xe0, 0x7a, 0x5d, 0xf6, 0x1d, 0x14, 0x85, 0x92, 0x8b, 0xfa, 0xfd, 0xf5, 0xd9, 0x0a, 0x46, 0x2f,
0xe0, 0xf6, 0x67, 0x54, 0xf3, 0x4c, 0xf0, 0xeb, 0x0e, 0x8d, 0x7e, 0x79, 0x70, 0xc4, 0x30, 0xc1,
0xac, 0xd0, 0x5b, 0x9d, 0x27, 0xd0, 0x2d, 0x14, 0x2e, 0x5c, 0x3e, 0xee, 0xba, 0xcb, 0x6b, 0x8f,
0x14, 0xb3, 0x54, 0xf2, 0xdc, 0x26, 0x44, 0xa1, 0xd0, 0x2e, 0x21, 0x57, 0x74, 0xad, 0xd8, 0xd1,
0x0c, 0x6e, 0xbd, 0x97, 0x09, 0xcf, 0x77, 0x82, 0x1a, 0x9a, 0xa3, 0x9e, 0xa5, 0xff, 0x77, 0x08,
0x47, 0x26, 0xc7, 0xd0, 0x37, 0x5f, 0x01, 0x0a, 0x5d, 0xd2, 0xce, 0xd8, 0x8f, 0x07, 0xec, 0x12,
0x47, 0xbf, 0x3d, 0x18, 0x31, 0xfc, 0xf1, 0xa9, 0x42, 0xb5, 0xfd, 0x2d, 0xac, 0xf3, 0xe7, 0x6d,
0xe4, 0xaf, 0xe5, 0xe6, 0x4d, 0x08, 0x12, 0x59, 0x09, 0xed, 0x1e, 0x7c, 0x0d, 0xc8, 0x1d, 0x18,
0xa4, 0x99, 0xc2, 0x44, 0x67, 0x52, 0xb8, 0x10, 0xaf, 0x0b, 0x8d, 0xb4, 0x06, 0xed, 0x69, 0x0d,
0x1b, 0x69, 0x8d, 0xbe, 0x02, 0x65, 0x58, 0xe4, 0xcb, 0xb6, 0x93, 0xbe, 0x84, 0xe1, 0xfa, 0x5f,
0x32, 0xc7, 0xf5, 0xaf, 0x36, 0xa7, 0xd9, 0xf1, 0x2d, 0xb4, 0x7f, 0xe4, 0xe3, 0x7f, 0x01, 0x00,
0x00, 0xff, 0xff, 0xcc, 0xf2, 0x32, 0x04, 0x49, 0x05, 0x00, 0x00,
}
......@@ -23,4 +23,10 @@ var (
ErrNoActiveBoard = errors.New("ErrNoActiveBoard")
// ErrNoAutonomyExec 非Autonomy执行器
ErrNoAutonomyExec = errors.New("ErrNoAutonomyExec")
// ErrNoPeriodAmount 当前没有足够额度
ErrNoPeriodAmount = errors.New("ErrNoPeriodAmount")
// ErrMinerAddr 无效挖矿地址
ErrMinerAddr = errors.New("ErrMinerAddr")
// ErrBindAddr 无效绑定地址
ErrBindAddr = errors.New("ErrBindAddr")
)
......@@ -3,62 +3,30 @@
package types
import (
fmt "fmt"
math "math"
proto "github.com/golang/protobuf/proto"
)
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
type VoteResult struct {
// 总票数
TotalVotes int32 `protobuf:"varint,1,opt,name=totalVotes,proto3" json:"totalVotes,omitempty"`
TotalVotes int32 `protobuf:"varint,1,opt,name=totalVotes" json:"totalVotes,omitempty"`
// 赞成票
ApproveVotes int32 `protobuf:"varint,2,opt,name=approveVotes,proto3" json:"approveVotes,omitempty"`
ApproveVotes int32 `protobuf:"varint,2,opt,name=approveVotes" json:"approveVotes,omitempty"`
// 反对票
OpposeVotes int32 `protobuf:"varint,3,opt,name=opposeVotes,proto3" json:"opposeVotes,omitempty"`
OpposeVotes int32 `protobuf:"varint,3,opt,name=opposeVotes" json:"opposeVotes,omitempty"`
// 是否通过
Pass bool `protobuf:"varint,4,opt,name=pass,proto3" json:"pass,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
Pass bool `protobuf:"varint,4,opt,name=pass" json:"pass,omitempty"`
}
func (m *VoteResult) Reset() { *m = VoteResult{} }
func (m *VoteResult) String() string { return proto.CompactTextString(m) }
func (*VoteResult) ProtoMessage() {}
func (*VoteResult) Descriptor() ([]byte, []int) {
return fileDescriptor_d916a933dd8220ff, []int{0}
}
func (m *VoteResult) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_VoteResult.Unmarshal(m, b)
}
func (m *VoteResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_VoteResult.Marshal(b, m, deterministic)
}
func (m *VoteResult) XXX_Merge(src proto.Message) {
xxx_messageInfo_VoteResult.Merge(m, src)
}
func (m *VoteResult) XXX_Size() int {
return xxx_messageInfo_VoteResult.Size(m)
}
func (m *VoteResult) XXX_DiscardUnknown() {
xxx_messageInfo_VoteResult.DiscardUnknown(m)
}
var xxx_messageInfo_VoteResult proto.InternalMessageInfo
func (m *VoteResult) Reset() { *m = VoteResult{} }
func (m *VoteResult) String() string { return proto.CompactTextString(m) }
func (*VoteResult) ProtoMessage() {}
func (*VoteResult) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }
func (m *VoteResult) GetTotalVotes() int32 {
if m != nil {
......@@ -90,42 +58,19 @@ func (m *VoteResult) GetPass() bool {
type PublicVote struct {
// 是否需要公示
Publicity bool `protobuf:"varint,1,opt,name=publicity,proto3" json:"publicity,omitempty"`
Publicity bool `protobuf:"varint,1,opt,name=publicity" json:"publicity,omitempty"`
// 总票数
TotalVotes int32 `protobuf:"varint,2,opt,name=totalVotes,proto3" json:"totalVotes,omitempty"`
TotalVotes int32 `protobuf:"varint,2,opt,name=totalVotes" json:"totalVotes,omitempty"`
// 全体持票人反对票
OpposeVotes int32 `protobuf:"varint,3,opt,name=opposeVotes,proto3" json:"opposeVotes,omitempty"`
OpposeVotes int32 `protobuf:"varint,3,opt,name=opposeVotes" json:"opposeVotes,omitempty"`
// 是否通过
PubPass bool `protobuf:"varint,4,opt,name=pubPass,proto3" json:"pubPass,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PublicVote) Reset() { *m = PublicVote{} }
func (m *PublicVote) String() string { return proto.CompactTextString(m) }
func (*PublicVote) ProtoMessage() {}
func (*PublicVote) Descriptor() ([]byte, []int) {
return fileDescriptor_d916a933dd8220ff, []int{1}
}
func (m *PublicVote) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PublicVote.Unmarshal(m, b)
}
func (m *PublicVote) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PublicVote.Marshal(b, m, deterministic)
}
func (m *PublicVote) XXX_Merge(src proto.Message) {
xxx_messageInfo_PublicVote.Merge(m, src)
}
func (m *PublicVote) XXX_Size() int {
return xxx_messageInfo_PublicVote.Size(m)
}
func (m *PublicVote) XXX_DiscardUnknown() {
xxx_messageInfo_PublicVote.DiscardUnknown(m)
PubPass bool `protobuf:"varint,4,opt,name=pubPass" json:"pubPass,omitempty"`
}
var xxx_messageInfo_PublicVote proto.InternalMessageInfo
func (m *PublicVote) Reset() { *m = PublicVote{} }
func (m *PublicVote) String() string { return proto.CompactTextString(m) }
func (*PublicVote) ProtoMessage() {}
func (*PublicVote) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{1} }
func (m *PublicVote) GetPublicity() bool {
if m != nil {
......@@ -156,36 +101,13 @@ func (m *PublicVote) GetPubPass() bool {
}
type VotesRecord struct {
Address []string `protobuf:"bytes,1,rep,name=address,proto3" json:"address,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
Address []string `protobuf:"bytes,1,rep,name=address" json:"address,omitempty"`
}
func (m *VotesRecord) Reset() { *m = VotesRecord{} }
func (m *VotesRecord) String() string { return proto.CompactTextString(m) }
func (*VotesRecord) ProtoMessage() {}
func (*VotesRecord) Descriptor() ([]byte, []int) {
return fileDescriptor_d916a933dd8220ff, []int{2}
}
func (m *VotesRecord) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_VotesRecord.Unmarshal(m, b)
}
func (m *VotesRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_VotesRecord.Marshal(b, m, deterministic)
}
func (m *VotesRecord) XXX_Merge(src proto.Message) {
xxx_messageInfo_VotesRecord.Merge(m, src)
}
func (m *VotesRecord) XXX_Size() int {
return xxx_messageInfo_VotesRecord.Size(m)
}
func (m *VotesRecord) XXX_DiscardUnknown() {
xxx_messageInfo_VotesRecord.DiscardUnknown(m)
}
var xxx_messageInfo_VotesRecord proto.InternalMessageInfo
func (m *VotesRecord) Reset() { *m = VotesRecord{} }
func (m *VotesRecord) String() string { return proto.CompactTextString(m) }
func (*VotesRecord) ProtoMessage() {}
func (*VotesRecord) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{2} }
func (m *VotesRecord) GetAddress() []string {
if m != nil {
......@@ -196,46 +118,23 @@ func (m *VotesRecord) GetAddress() []string {
type RuleConfig struct {
// 董事会成员参与率,以%为单位,只保留整数部分
BoardAttendRatio int32 `protobuf:"varint,1,opt,name=boardAttendRatio,proto3" json:"boardAttendRatio,omitempty"`
BoardAttendRatio int32 `protobuf:"varint,1,opt,name=boardAttendRatio" json:"boardAttendRatio,omitempty"`
// 董事会成员赞成率
BoardApproveRatio int32 `protobuf:"varint,2,opt,name=boardApproveRatio,proto3" json:"boardApproveRatio,omitempty"`
BoardApproveRatio int32 `protobuf:"varint,2,opt,name=boardApproveRatio" json:"boardApproveRatio,omitempty"`
// 全体持票人否决率
PubOpposeRatio int32 `protobuf:"varint,3,opt,name=pubOpposeRatio,proto3" json:"pubOpposeRatio,omitempty"`
PubOpposeRatio int32 `protobuf:"varint,3,opt,name=pubOpposeRatio" json:"pubOpposeRatio,omitempty"`
// 提案金额
ProposalAmount int64 `protobuf:"varint,4,opt,name=proposalAmount,proto3" json:"proposalAmount,omitempty"`
ProposalAmount int64 `protobuf:"varint,4,opt,name=proposalAmount" json:"proposalAmount,omitempty"`
// 重大项目公示金额阈值
LargeProjectAmount int64 `protobuf:"varint,5,opt,name=largeProjectAmount,proto3" json:"largeProjectAmount,omitempty"`
LargeProjectAmount int64 `protobuf:"varint,5,opt,name=largeProjectAmount" json:"largeProjectAmount,omitempty"`
// 重大项目公示时间(以区块数为单位)
PublicPeriod int32 `protobuf:"varint,6,opt,name=publicPeriod,proto3" json:"publicPeriod,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
PublicPeriod int32 `protobuf:"varint,6,opt,name=publicPeriod" json:"publicPeriod,omitempty"`
}
func (m *RuleConfig) Reset() { *m = RuleConfig{} }
func (m *RuleConfig) String() string { return proto.CompactTextString(m) }
func (*RuleConfig) ProtoMessage() {}
func (*RuleConfig) Descriptor() ([]byte, []int) {
return fileDescriptor_d916a933dd8220ff, []int{3}
}
func (m *RuleConfig) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RuleConfig.Unmarshal(m, b)
}
func (m *RuleConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RuleConfig.Marshal(b, m, deterministic)
}
func (m *RuleConfig) XXX_Merge(src proto.Message) {
xxx_messageInfo_RuleConfig.Merge(m, src)
}
func (m *RuleConfig) XXX_Size() int {
return xxx_messageInfo_RuleConfig.Size(m)
}
func (m *RuleConfig) XXX_DiscardUnknown() {
xxx_messageInfo_RuleConfig.DiscardUnknown(m)
}
var xxx_messageInfo_RuleConfig proto.InternalMessageInfo
func (m *RuleConfig) Reset() { *m = RuleConfig{} }
func (m *RuleConfig) String() string { return proto.CompactTextString(m) }
func (*RuleConfig) ProtoMessage() {}
func (*RuleConfig) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{3} }
func (m *RuleConfig) GetBoardAttendRatio() int32 {
if m != nil {
......@@ -279,35 +178,79 @@ func (m *RuleConfig) GetPublicPeriod() int32 {
return 0
}
type ActiveBoard struct {
Boards []string `protobuf:"bytes,1,rep,name=boards" json:"boards,omitempty"`
Revboards []string `protobuf:"bytes,2,rep,name=revboards" json:"revboards,omitempty"`
Amount int64 `protobuf:"varint,3,opt,name=amount" json:"amount,omitempty"`
StartHeight int64 `protobuf:"varint,4,opt,name=startHeight" json:"startHeight,omitempty"`
}
func (m *ActiveBoard) Reset() { *m = ActiveBoard{} }
func (m *ActiveBoard) String() string { return proto.CompactTextString(m) }
func (*ActiveBoard) ProtoMessage() {}
func (*ActiveBoard) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{4} }
func (m *ActiveBoard) GetBoards() []string {
if m != nil {
return m.Boards
}
return nil
}
func (m *ActiveBoard) GetRevboards() []string {
if m != nil {
return m.Revboards
}
return nil
}
func (m *ActiveBoard) GetAmount() int64 {
if m != nil {
return m.Amount
}
return 0
}
func (m *ActiveBoard) GetStartHeight() int64 {
if m != nil {
return m.StartHeight
}
return 0
}
func init() {
proto.RegisterType((*VoteResult)(nil), "types.VoteResult")
proto.RegisterType((*PublicVote)(nil), "types.PublicVote")
proto.RegisterType((*VotesRecord)(nil), "types.VotesRecord")
proto.RegisterType((*RuleConfig)(nil), "types.RuleConfig")
}
func init() { proto.RegisterFile("lcommon.proto", fileDescriptor_d916a933dd8220ff) }
var fileDescriptor_d916a933dd8220ff = []byte{
// 314 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x92, 0x3d, 0x4e, 0xf3, 0x40,
0x10, 0x86, 0xe5, 0xfc, 0x7d, 0xc9, 0xe4, 0x03, 0xc1, 0x54, 0x2e, 0x10, 0x8a, 0x5c, 0x40, 0x84,
0x50, 0x1a, 0x4e, 0x10, 0x71, 0x00, 0xac, 0x2d, 0xe8, 0xd7, 0xf6, 0x12, 0x19, 0x6d, 0x3c, 0xab,
0xdd, 0x31, 0x52, 0x2e, 0x40, 0xc1, 0xa9, 0x91, 0x67, 0x13, 0x25, 0xc4, 0x48, 0x74, 0x9e, 0x67,
0x9f, 0xe2, 0x9d, 0x77, 0x0c, 0x17, 0xb6, 0xa4, 0xed, 0x96, 0x9a, 0x95, 0xf3, 0xc4, 0x84, 0x63,
0xde, 0x39, 0x13, 0xb2, 0xcf, 0x04, 0xe0, 0x95, 0xd8, 0x28, 0x13, 0x5a, 0xcb, 0x78, 0x0b, 0xc0,
0xc4, 0xda, 0x76, 0x28, 0xa4, 0xc9, 0x22, 0x59, 0x8e, 0xd5, 0x09, 0xc1, 0x0c, 0xfe, 0x6b, 0xe7,
0x3c, 0x7d, 0x98, 0x68, 0x0c, 0xc4, 0xf8, 0xc1, 0x70, 0x01, 0x73, 0x72, 0x8e, 0xc2, 0x5e, 0x19,
0x8a, 0x72, 0x8a, 0x10, 0x61, 0xe4, 0x74, 0x08, 0xe9, 0x68, 0x91, 0x2c, 0xa7, 0x4a, 0xbe, 0x25,
0x48, 0xde, 0x16, 0xb6, 0x2e, 0x3b, 0x07, 0x6f, 0x60, 0xe6, 0x64, 0xaa, 0x79, 0x27, 0x39, 0xa6,
0xea, 0x08, 0xce, 0x62, 0x0e, 0x7a, 0x31, 0xff, 0x8e, 0x90, 0xc2, 0x3f, 0xd7, 0x16, 0xf9, 0x31,
0xc5, 0x61, 0xcc, 0xee, 0x61, 0x2e, 0x8a, 0x32, 0x25, 0xf9, 0xaa, 0x13, 0x75, 0x55, 0x79, 0x13,
0xba, 0x3a, 0x86, 0xcb, 0x99, 0x3a, 0x8c, 0xd9, 0xd7, 0x00, 0x40, 0xb5, 0xd6, 0x3c, 0x53, 0xf3,
0x56, 0x6f, 0xf0, 0x01, 0xae, 0x0a, 0xd2, 0xbe, 0x5a, 0x33, 0x9b, 0xa6, 0x52, 0x9a, 0x6b, 0xda,
0x17, 0xd8, 0xe3, 0xf8, 0x08, 0xd7, 0x91, 0xc5, 0xde, 0xa2, 0x1c, 0xd7, 0xe8, 0x3f, 0xe0, 0x1d,
0x5c, 0xba, 0xb6, 0x78, 0x91, 0xf4, 0x51, 0x8d, 0x0b, 0x9d, 0x51, 0xf1, 0x3c, 0x39, 0x0a, 0xda,
0xae, 0xb7, 0xd4, 0x36, 0x2c, 0xab, 0x0d, 0xd5, 0x19, 0xc5, 0x15, 0xa0, 0xd5, 0x7e, 0x63, 0x72,
0x4f, 0xef, 0xa6, 0xe4, 0xbd, 0x3b, 0x16, 0xf7, 0x97, 0x97, 0xee, 0xe8, 0xb1, 0xfa, 0xdc, 0xf8,
0x9a, 0xaa, 0x74, 0x12, 0x8f, 0x7e, 0xca, 0x8a, 0x89, 0xfc, 0x55, 0x4f, 0xdf, 0x01, 0x00, 0x00,
0xff, 0xff, 0x26, 0x63, 0x46, 0xa7, 0x66, 0x02, 0x00, 0x00,
proto.RegisterType((*ActiveBoard)(nil), "types.ActiveBoard")
}
func init() { proto.RegisterFile("lcommon.proto", fileDescriptor3) }
var fileDescriptor3 = []byte{
// 368 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x92, 0xb1, 0x6e, 0xdb, 0x30,
0x10, 0x86, 0x21, 0xc9, 0x76, 0xed, 0x73, 0x5b, 0xb4, 0x1c, 0x0a, 0x0d, 0x45, 0x61, 0x68, 0x68,
0x8d, 0xa2, 0xf0, 0xd2, 0x27, 0x70, 0xb2, 0x64, 0x8b, 0xc0, 0x21, 0x3b, 0x25, 0x31, 0x8e, 0x02,
0x59, 0x47, 0x90, 0x27, 0x03, 0x1e, 0xb2, 0x66, 0xc8, 0x53, 0x07, 0x3c, 0x4a, 0xb0, 0x62, 0x07,
0xc8, 0xa6, 0xfb, 0xee, 0x13, 0xf0, 0xdf, 0x1d, 0xe1, 0x4b, 0x53, 0xe2, 0x7e, 0x8f, 0xed, 0xc6,
0x58, 0x24, 0x14, 0x53, 0x3a, 0x1a, 0xed, 0xb2, 0xe7, 0x08, 0xe0, 0x0e, 0x49, 0x4b, 0xed, 0xba,
0x86, 0xc4, 0x2f, 0x00, 0x42, 0x52, 0x8d, 0x47, 0x2e, 0x8d, 0x56, 0xd1, 0x7a, 0x2a, 0x47, 0x44,
0x64, 0xf0, 0x59, 0x19, 0x63, 0xf1, 0xa0, 0x83, 0x11, 0xb3, 0xf1, 0x86, 0x89, 0x15, 0x2c, 0xd1,
0x18, 0x74, 0xbd, 0x92, 0xb0, 0x32, 0x46, 0x42, 0xc0, 0xc4, 0x28, 0xe7, 0xd2, 0xc9, 0x2a, 0x5a,
0xcf, 0x25, 0x7f, 0x73, 0x90, 0xbc, 0x2b, 0x9a, 0xba, 0xf4, 0x8e, 0xf8, 0x09, 0x0b, 0xc3, 0x55,
0x4d, 0x47, 0xce, 0x31, 0x97, 0x27, 0x70, 0x16, 0x33, 0xbe, 0x88, 0xf9, 0x71, 0x84, 0x14, 0x3e,
0x99, 0xae, 0xc8, 0x4f, 0x29, 0x86, 0x32, 0xfb, 0x03, 0x4b, 0x56, 0xa4, 0x2e, 0xd1, 0x56, 0x5e,
0x54, 0x55, 0x65, 0xb5, 0xf3, 0xeb, 0x48, 0xd6, 0x0b, 0x39, 0x94, 0xd9, 0x4b, 0x0c, 0x20, 0xbb,
0x46, 0x5f, 0x63, 0x7b, 0x5f, 0xef, 0xc4, 0x5f, 0xf8, 0x56, 0xa0, 0xb2, 0xd5, 0x96, 0x48, 0xb7,
0x95, 0x54, 0x54, 0x63, 0xbf, 0xc0, 0x0b, 0x2e, 0xfe, 0xc1, 0xf7, 0xc0, 0xc2, 0xde, 0x82, 0x1c,
0xc6, 0xb8, 0x6c, 0x88, 0xdf, 0xf0, 0xd5, 0x74, 0xc5, 0x2d, 0xa7, 0x0f, 0x6a, 0x18, 0xe8, 0x8c,
0xb2, 0x67, 0xd1, 0xa0, 0x53, 0xcd, 0x76, 0x8f, 0x5d, 0x4b, 0x3c, 0x5a, 0x22, 0xcf, 0xa8, 0xd8,
0x80, 0x68, 0x94, 0xdd, 0xe9, 0xdc, 0xe2, 0xa3, 0x2e, 0xa9, 0x77, 0xa7, 0xec, 0xbe, 0xd3, 0xf1,
0x47, 0x0f, 0xab, 0xcf, 0xb5, 0xad, 0xb1, 0x4a, 0x67, 0xe1, 0xe8, 0x63, 0x96, 0x3d, 0xc1, 0x72,
0x5b, 0x52, 0x7d, 0xd0, 0x57, 0x3e, 0xbe, 0xf8, 0x01, 0x33, 0x9e, 0x63, 0x58, 0x5a, 0x5f, 0xf9,
0xb3, 0x5a, 0x7d, 0xe8, 0x5b, 0x31, 0xb7, 0x4e, 0xc0, 0xff, 0xa5, 0x42, 0x98, 0x84, 0xc3, 0xf4,
0x95, 0x3f, 0xa7, 0x23, 0x65, 0xe9, 0x46, 0xd7, 0xbb, 0x87, 0x61, 0xaa, 0x31, 0x2a, 0x66, 0xfc,
0xa8, 0xff, 0xbf, 0x06, 0x00, 0x00, 0xff, 0xff, 0xbb, 0xdc, 0x0b, 0x33, 0xe5, 0x02, 0x00, 0x00,
}
......@@ -3,69 +3,37 @@
package types
import (
fmt "fmt"
math "math"
proto "github.com/golang/protobuf/proto"
)
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
type AutonomyProposalProject struct {
PropProject *ProposalProject `protobuf:"bytes,1,opt,name=propProject,proto3" json:"propProject,omitempty"`
PropProject *ProposalProject `protobuf:"bytes,1,opt,name=propProject" json:"propProject,omitempty"`
// 投票该提案的规则
CurRule *RuleConfig `protobuf:"bytes,2,opt,name=curRule,proto3" json:"curRule,omitempty"`
CurRule *RuleConfig `protobuf:"bytes,2,opt,name=curRule" json:"curRule,omitempty"`
// 投票该提案的董事会成员
Boards []string `protobuf:"bytes,3,rep,name=boards,proto3" json:"boards,omitempty"`
Boards []string `protobuf:"bytes,3,rep,name=boards" json:"boards,omitempty"`
// 董事会投票结果
BoardVoteRes *VoteResult `protobuf:"bytes,4,opt,name=boardVoteRes,proto3" json:"boardVoteRes,omitempty"`
BoardVoteRes *VoteResult `protobuf:"bytes,4,opt,name=boardVoteRes" json:"boardVoteRes,omitempty"`
// 公示投票
PubVote *PublicVote `protobuf:"bytes,5,opt,name=pubVote,proto3" json:"pubVote,omitempty"`
PubVote *PublicVote `protobuf:"bytes,5,opt,name=pubVote" json:"pubVote,omitempty"`
// 状态
Status int32 `protobuf:"varint,6,opt,name=status,proto3" json:"status,omitempty"`
Address string `protobuf:"bytes,7,opt,name=address,proto3" json:"address,omitempty"`
Height int64 `protobuf:"varint,8,opt,name=height,proto3" json:"height,omitempty"`
Index int32 `protobuf:"varint,9,opt,name=index,proto3" json:"index,omitempty"`
ProposalID string `protobuf:"bytes,10,opt,name=proposalID,proto3" json:"proposalID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
Status int32 `protobuf:"varint,6,opt,name=status" json:"status,omitempty"`
Address string `protobuf:"bytes,7,opt,name=address" json:"address,omitempty"`
Height int64 `protobuf:"varint,8,opt,name=height" json:"height,omitempty"`
Index int32 `protobuf:"varint,9,opt,name=index" json:"index,omitempty"`
ProposalID string `protobuf:"bytes,10,opt,name=proposalID" json:"proposalID,omitempty"`
}
func (m *AutonomyProposalProject) Reset() { *m = AutonomyProposalProject{} }
func (m *AutonomyProposalProject) String() string { return proto.CompactTextString(m) }
func (*AutonomyProposalProject) ProtoMessage() {}
func (*AutonomyProposalProject) Descriptor() ([]byte, []int) {
return fileDescriptor_8340e6318dfdfac2, []int{0}
}
func (m *AutonomyProposalProject) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AutonomyProposalProject.Unmarshal(m, b)
}
func (m *AutonomyProposalProject) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_AutonomyProposalProject.Marshal(b, m, deterministic)
}
func (m *AutonomyProposalProject) XXX_Merge(src proto.Message) {
xxx_messageInfo_AutonomyProposalProject.Merge(m, src)
}
func (m *AutonomyProposalProject) XXX_Size() int {
return xxx_messageInfo_AutonomyProposalProject.Size(m)
}
func (m *AutonomyProposalProject) XXX_DiscardUnknown() {
xxx_messageInfo_AutonomyProposalProject.DiscardUnknown(m)
}
var xxx_messageInfo_AutonomyProposalProject proto.InternalMessageInfo
func (m *AutonomyProposalProject) Reset() { *m = AutonomyProposalProject{} }
func (m *AutonomyProposalProject) String() string { return proto.CompactTextString(m) }
func (*AutonomyProposalProject) ProtoMessage() {}
func (*AutonomyProposalProject) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{0} }
func (m *AutonomyProposalProject) GetPropProject() *ProposalProject {
if m != nil {
......@@ -139,53 +107,30 @@ func (m *AutonomyProposalProject) GetProposalID() string {
type ProposalProject struct {
// 提案时间
Year int32 `protobuf:"varint,1,opt,name=year,proto3" json:"year,omitempty"`
Month int32 `protobuf:"varint,2,opt,name=month,proto3" json:"month,omitempty"`
Day int32 `protobuf:"varint,3,opt,name=day,proto3" json:"day,omitempty"`
Year int32 `protobuf:"varint,1,opt,name=year" json:"year,omitempty"`
Month int32 `protobuf:"varint,2,opt,name=month" json:"month,omitempty"`
Day int32 `protobuf:"varint,3,opt,name=day" json:"day,omitempty"`
// 项目相关
FirstStage string `protobuf:"bytes,4,opt,name=firstStage,proto3" json:"firstStage,omitempty"`
LastStage string `protobuf:"bytes,5,opt,name=lastStage,proto3" json:"lastStage,omitempty"`
Production string `protobuf:"bytes,6,opt,name=production,proto3" json:"production,omitempty"`
Description string `protobuf:"bytes,7,opt,name=description,proto3" json:"description,omitempty"`
Contractor string `protobuf:"bytes,8,opt,name=contractor,proto3" json:"contractor,omitempty"`
Amount int64 `protobuf:"varint,9,opt,name=amount,proto3" json:"amount,omitempty"`
AmountDetail string `protobuf:"bytes,10,opt,name=amountDetail,proto3" json:"amountDetail,omitempty"`
FirstStage string `protobuf:"bytes,4,opt,name=firstStage" json:"firstStage,omitempty"`
LastStage string `protobuf:"bytes,5,opt,name=lastStage" json:"lastStage,omitempty"`
Production string `protobuf:"bytes,6,opt,name=production" json:"production,omitempty"`
Description string `protobuf:"bytes,7,opt,name=description" json:"description,omitempty"`
Contractor string `protobuf:"bytes,8,opt,name=contractor" json:"contractor,omitempty"`
Amount int64 `protobuf:"varint,9,opt,name=amount" json:"amount,omitempty"`
AmountDetail string `protobuf:"bytes,10,opt,name=amountDetail" json:"amountDetail,omitempty"`
// 支付相关
ToAddr string `protobuf:"bytes,11,opt,name=toAddr,proto3" json:"toAddr,omitempty"`
ToAddr string `protobuf:"bytes,11,opt,name=toAddr" json:"toAddr,omitempty"`
// 投票相关
StartBlockHeight int64 `protobuf:"varint,12,opt,name=startBlockHeight,proto3" json:"startBlockHeight,omitempty"`
EndBlockHeight int64 `protobuf:"varint,13,opt,name=endBlockHeight,proto3" json:"endBlockHeight,omitempty"`
RealEndBlockHeight int64 `protobuf:"varint,14,opt,name=realEndBlockHeight,proto3" json:"realEndBlockHeight,omitempty"`
ProjectNeedBlockNum int32 `protobuf:"varint,15,opt,name=projectNeedBlockNum,proto3" json:"projectNeedBlockNum,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ProposalProject) Reset() { *m = ProposalProject{} }
func (m *ProposalProject) String() string { return proto.CompactTextString(m) }
func (*ProposalProject) ProtoMessage() {}
func (*ProposalProject) Descriptor() ([]byte, []int) {
return fileDescriptor_8340e6318dfdfac2, []int{1}
StartBlockHeight int64 `protobuf:"varint,12,opt,name=startBlockHeight" json:"startBlockHeight,omitempty"`
EndBlockHeight int64 `protobuf:"varint,13,opt,name=endBlockHeight" json:"endBlockHeight,omitempty"`
RealEndBlockHeight int64 `protobuf:"varint,14,opt,name=realEndBlockHeight" json:"realEndBlockHeight,omitempty"`
ProjectNeedBlockNum int32 `protobuf:"varint,15,opt,name=projectNeedBlockNum" json:"projectNeedBlockNum,omitempty"`
}
func (m *ProposalProject) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ProposalProject.Unmarshal(m, b)
}
func (m *ProposalProject) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ProposalProject.Marshal(b, m, deterministic)
}
func (m *ProposalProject) XXX_Merge(src proto.Message) {
xxx_messageInfo_ProposalProject.Merge(m, src)
}
func (m *ProposalProject) XXX_Size() int {
return xxx_messageInfo_ProposalProject.Size(m)
}
func (m *ProposalProject) XXX_DiscardUnknown() {
xxx_messageInfo_ProposalProject.DiscardUnknown(m)
}
var xxx_messageInfo_ProposalProject proto.InternalMessageInfo
func (m *ProposalProject) Reset() { *m = ProposalProject{} }
func (m *ProposalProject) String() string { return proto.CompactTextString(m) }
func (*ProposalProject) ProtoMessage() {}
func (*ProposalProject) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{1} }
func (m *ProposalProject) GetYear() int32 {
if m != nil {
......@@ -293,36 +238,13 @@ func (m *ProposalProject) GetProjectNeedBlockNum() int32 {
}
type RevokeProposalProject struct {
ProposalID string `protobuf:"bytes,1,opt,name=proposalID,proto3" json:"proposalID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
ProposalID string `protobuf:"bytes,1,opt,name=proposalID" json:"proposalID,omitempty"`
}
func (m *RevokeProposalProject) Reset() { *m = RevokeProposalProject{} }
func (m *RevokeProposalProject) String() string { return proto.CompactTextString(m) }
func (*RevokeProposalProject) ProtoMessage() {}
func (*RevokeProposalProject) Descriptor() ([]byte, []int) {
return fileDescriptor_8340e6318dfdfac2, []int{2}
}
func (m *RevokeProposalProject) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RevokeProposalProject.Unmarshal(m, b)
}
func (m *RevokeProposalProject) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RevokeProposalProject.Marshal(b, m, deterministic)
}
func (m *RevokeProposalProject) XXX_Merge(src proto.Message) {
xxx_messageInfo_RevokeProposalProject.Merge(m, src)
}
func (m *RevokeProposalProject) XXX_Size() int {
return xxx_messageInfo_RevokeProposalProject.Size(m)
}
func (m *RevokeProposalProject) XXX_DiscardUnknown() {
xxx_messageInfo_RevokeProposalProject.DiscardUnknown(m)
}
var xxx_messageInfo_RevokeProposalProject proto.InternalMessageInfo
func (m *RevokeProposalProject) Reset() { *m = RevokeProposalProject{} }
func (m *RevokeProposalProject) String() string { return proto.CompactTextString(m) }
func (*RevokeProposalProject) ProtoMessage() {}
func (*RevokeProposalProject) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{2} }
func (m *RevokeProposalProject) GetProposalID() string {
if m != nil {
......@@ -332,37 +254,14 @@ func (m *RevokeProposalProject) GetProposalID() string {
}
type VoteProposalProject struct {
ProposalID string `protobuf:"bytes,1,opt,name=proposalID,proto3" json:"proposalID,omitempty"`
Approve bool `protobuf:"varint,2,opt,name=approve,proto3" json:"approve,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *VoteProposalProject) Reset() { *m = VoteProposalProject{} }
func (m *VoteProposalProject) String() string { return proto.CompactTextString(m) }
func (*VoteProposalProject) ProtoMessage() {}
func (*VoteProposalProject) Descriptor() ([]byte, []int) {
return fileDescriptor_8340e6318dfdfac2, []int{3}
ProposalID string `protobuf:"bytes,1,opt,name=proposalID" json:"proposalID,omitempty"`
Approve bool `protobuf:"varint,2,opt,name=approve" json:"approve,omitempty"`
}
func (m *VoteProposalProject) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_VoteProposalProject.Unmarshal(m, b)
}
func (m *VoteProposalProject) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_VoteProposalProject.Marshal(b, m, deterministic)
}
func (m *VoteProposalProject) XXX_Merge(src proto.Message) {
xxx_messageInfo_VoteProposalProject.Merge(m, src)
}
func (m *VoteProposalProject) XXX_Size() int {
return xxx_messageInfo_VoteProposalProject.Size(m)
}
func (m *VoteProposalProject) XXX_DiscardUnknown() {
xxx_messageInfo_VoteProposalProject.DiscardUnknown(m)
}
var xxx_messageInfo_VoteProposalProject proto.InternalMessageInfo
func (m *VoteProposalProject) Reset() { *m = VoteProposalProject{} }
func (m *VoteProposalProject) String() string { return proto.CompactTextString(m) }
func (*VoteProposalProject) ProtoMessage() {}
func (*VoteProposalProject) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{3} }
func (m *VoteProposalProject) GetProposalID() string {
if m != nil {
......@@ -379,37 +278,15 @@ func (m *VoteProposalProject) GetApprove() bool {
}
type PubVoteProposalProject struct {
ProposalID string `protobuf:"bytes,1,opt,name=proposalID,proto3" json:"proposalID,omitempty"`
Oppose bool `protobuf:"varint,2,opt,name=oppose,proto3" json:"oppose,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PubVoteProposalProject) Reset() { *m = PubVoteProposalProject{} }
func (m *PubVoteProposalProject) String() string { return proto.CompactTextString(m) }
func (*PubVoteProposalProject) ProtoMessage() {}
func (*PubVoteProposalProject) Descriptor() ([]byte, []int) {
return fileDescriptor_8340e6318dfdfac2, []int{4}
}
func (m *PubVoteProposalProject) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PubVoteProposalProject.Unmarshal(m, b)
}
func (m *PubVoteProposalProject) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PubVoteProposalProject.Marshal(b, m, deterministic)
}
func (m *PubVoteProposalProject) XXX_Merge(src proto.Message) {
xxx_messageInfo_PubVoteProposalProject.Merge(m, src)
}
func (m *PubVoteProposalProject) XXX_Size() int {
return xxx_messageInfo_PubVoteProposalProject.Size(m)
}
func (m *PubVoteProposalProject) XXX_DiscardUnknown() {
xxx_messageInfo_PubVoteProposalProject.DiscardUnknown(m)
ProposalID string `protobuf:"bytes,1,opt,name=proposalID" json:"proposalID,omitempty"`
Oppose bool `protobuf:"varint,2,opt,name=oppose" json:"oppose,omitempty"`
OriginAddr []string `protobuf:"bytes,3,rep,name=originAddr" json:"originAddr,omitempty"`
}
var xxx_messageInfo_PubVoteProposalProject proto.InternalMessageInfo
func (m *PubVoteProposalProject) Reset() { *m = PubVoteProposalProject{} }
func (m *PubVoteProposalProject) String() string { return proto.CompactTextString(m) }
func (*PubVoteProposalProject) ProtoMessage() {}
func (*PubVoteProposalProject) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{4} }
func (m *PubVoteProposalProject) GetProposalID() string {
if m != nil {
......@@ -425,37 +302,21 @@ func (m *PubVoteProposalProject) GetOppose() bool {
return false
}
type TerminateProposalProject struct {
ProposalID string `protobuf:"bytes,1,opt,name=proposalID,proto3" json:"proposalID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TerminateProposalProject) Reset() { *m = TerminateProposalProject{} }
func (m *TerminateProposalProject) String() string { return proto.CompactTextString(m) }
func (*TerminateProposalProject) ProtoMessage() {}
func (*TerminateProposalProject) Descriptor() ([]byte, []int) {
return fileDescriptor_8340e6318dfdfac2, []int{5}
func (m *PubVoteProposalProject) GetOriginAddr() []string {
if m != nil {
return m.OriginAddr
}
return nil
}
func (m *TerminateProposalProject) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TerminateProposalProject.Unmarshal(m, b)
}
func (m *TerminateProposalProject) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TerminateProposalProject.Marshal(b, m, deterministic)
}
func (m *TerminateProposalProject) XXX_Merge(src proto.Message) {
xxx_messageInfo_TerminateProposalProject.Merge(m, src)
}
func (m *TerminateProposalProject) XXX_Size() int {
return xxx_messageInfo_TerminateProposalProject.Size(m)
}
func (m *TerminateProposalProject) XXX_DiscardUnknown() {
xxx_messageInfo_TerminateProposalProject.DiscardUnknown(m)
type TerminateProposalProject struct {
ProposalID string `protobuf:"bytes,1,opt,name=proposalID" json:"proposalID,omitempty"`
}
var xxx_messageInfo_TerminateProposalProject proto.InternalMessageInfo
func (m *TerminateProposalProject) Reset() { *m = TerminateProposalProject{} }
func (m *TerminateProposalProject) String() string { return proto.CompactTextString(m) }
func (*TerminateProposalProject) ProtoMessage() {}
func (*TerminateProposalProject) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{5} }
func (m *TerminateProposalProject) GetProposalID() string {
if m != nil {
......@@ -466,37 +327,14 @@ func (m *TerminateProposalProject) GetProposalID() string {
// receipt
type ReceiptProposalProject struct {
Prev *AutonomyProposalProject `protobuf:"bytes,1,opt,name=prev,proto3" json:"prev,omitempty"`
Current *AutonomyProposalProject `protobuf:"bytes,2,opt,name=current,proto3" json:"current,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
Prev *AutonomyProposalProject `protobuf:"bytes,1,opt,name=prev" json:"prev,omitempty"`
Current *AutonomyProposalProject `protobuf:"bytes,2,opt,name=current" json:"current,omitempty"`
}
func (m *ReceiptProposalProject) Reset() { *m = ReceiptProposalProject{} }
func (m *ReceiptProposalProject) String() string { return proto.CompactTextString(m) }
func (*ReceiptProposalProject) ProtoMessage() {}
func (*ReceiptProposalProject) Descriptor() ([]byte, []int) {
return fileDescriptor_8340e6318dfdfac2, []int{6}
}
func (m *ReceiptProposalProject) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReceiptProposalProject.Unmarshal(m, b)
}
func (m *ReceiptProposalProject) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReceiptProposalProject.Marshal(b, m, deterministic)
}
func (m *ReceiptProposalProject) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReceiptProposalProject.Merge(m, src)
}
func (m *ReceiptProposalProject) XXX_Size() int {
return xxx_messageInfo_ReceiptProposalProject.Size(m)
}
func (m *ReceiptProposalProject) XXX_DiscardUnknown() {
xxx_messageInfo_ReceiptProposalProject.DiscardUnknown(m)
}
var xxx_messageInfo_ReceiptProposalProject proto.InternalMessageInfo
func (m *ReceiptProposalProject) Reset() { *m = ReceiptProposalProject{} }
func (m *ReceiptProposalProject) String() string { return proto.CompactTextString(m) }
func (*ReceiptProposalProject) ProtoMessage() {}
func (*ReceiptProposalProject) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{6} }
func (m *ReceiptProposalProject) GetPrev() *AutonomyProposalProject {
if m != nil {
......@@ -513,37 +351,14 @@ func (m *ReceiptProposalProject) GetCurrent() *AutonomyProposalProject {
}
type LocalProposalProject struct {
PropPrj *AutonomyProposalProject `protobuf:"bytes,1,opt,name=propPrj,proto3" json:"propPrj,omitempty"`
Comments []string `protobuf:"bytes,2,rep,name=comments,proto3" json:"comments,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *LocalProposalProject) Reset() { *m = LocalProposalProject{} }
func (m *LocalProposalProject) String() string { return proto.CompactTextString(m) }
func (*LocalProposalProject) ProtoMessage() {}
func (*LocalProposalProject) Descriptor() ([]byte, []int) {
return fileDescriptor_8340e6318dfdfac2, []int{7}
}
func (m *LocalProposalProject) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LocalProposalProject.Unmarshal(m, b)
}
func (m *LocalProposalProject) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LocalProposalProject.Marshal(b, m, deterministic)
}
func (m *LocalProposalProject) XXX_Merge(src proto.Message) {
xxx_messageInfo_LocalProposalProject.Merge(m, src)
}
func (m *LocalProposalProject) XXX_Size() int {
return xxx_messageInfo_LocalProposalProject.Size(m)
}
func (m *LocalProposalProject) XXX_DiscardUnknown() {
xxx_messageInfo_LocalProposalProject.DiscardUnknown(m)
PropPrj *AutonomyProposalProject `protobuf:"bytes,1,opt,name=propPrj" json:"propPrj,omitempty"`
Comments []string `protobuf:"bytes,2,rep,name=comments" json:"comments,omitempty"`
}
var xxx_messageInfo_LocalProposalProject proto.InternalMessageInfo
func (m *LocalProposalProject) Reset() { *m = LocalProposalProject{} }
func (m *LocalProposalProject) String() string { return proto.CompactTextString(m) }
func (*LocalProposalProject) ProtoMessage() {}
func (*LocalProposalProject) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{7} }
func (m *LocalProposalProject) GetPropPrj() *AutonomyProposalProject {
if m != nil {
......@@ -561,41 +376,18 @@ func (m *LocalProposalProject) GetComments() []string {
// query
type ReqQueryProposalProject struct {
Status int32 `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"`
Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"`
Count int32 `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty"`
Direction int32 `protobuf:"varint,4,opt,name=direction,proto3" json:"direction,omitempty"`
Height int64 `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"`
Index int32 `protobuf:"varint,6,opt,name=index,proto3" json:"index,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
Status int32 `protobuf:"varint,1,opt,name=status" json:"status,omitempty"`
Addr string `protobuf:"bytes,2,opt,name=addr" json:"addr,omitempty"`
Count int32 `protobuf:"varint,3,opt,name=count" json:"count,omitempty"`
Direction int32 `protobuf:"varint,4,opt,name=direction" json:"direction,omitempty"`
Height int64 `protobuf:"varint,5,opt,name=height" json:"height,omitempty"`
Index int32 `protobuf:"varint,6,opt,name=index" json:"index,omitempty"`
}
func (m *ReqQueryProposalProject) Reset() { *m = ReqQueryProposalProject{} }
func (m *ReqQueryProposalProject) String() string { return proto.CompactTextString(m) }
func (*ReqQueryProposalProject) ProtoMessage() {}
func (*ReqQueryProposalProject) Descriptor() ([]byte, []int) {
return fileDescriptor_8340e6318dfdfac2, []int{8}
}
func (m *ReqQueryProposalProject) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqQueryProposalProject.Unmarshal(m, b)
}
func (m *ReqQueryProposalProject) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqQueryProposalProject.Marshal(b, m, deterministic)
}
func (m *ReqQueryProposalProject) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqQueryProposalProject.Merge(m, src)
}
func (m *ReqQueryProposalProject) XXX_Size() int {
return xxx_messageInfo_ReqQueryProposalProject.Size(m)
}
func (m *ReqQueryProposalProject) XXX_DiscardUnknown() {
xxx_messageInfo_ReqQueryProposalProject.DiscardUnknown(m)
}
var xxx_messageInfo_ReqQueryProposalProject proto.InternalMessageInfo
func (m *ReqQueryProposalProject) Reset() { *m = ReqQueryProposalProject{} }
func (m *ReqQueryProposalProject) String() string { return proto.CompactTextString(m) }
func (*ReqQueryProposalProject) ProtoMessage() {}
func (*ReqQueryProposalProject) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{8} }
func (m *ReqQueryProposalProject) GetStatus() int32 {
if m != nil {
......@@ -640,36 +432,13 @@ func (m *ReqQueryProposalProject) GetIndex() int32 {
}
type ReplyQueryProposalProject struct {
PropProjects []*AutonomyProposalProject `protobuf:"bytes,1,rep,name=propProjects,proto3" json:"propProjects,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ReplyQueryProposalProject) Reset() { *m = ReplyQueryProposalProject{} }
func (m *ReplyQueryProposalProject) String() string { return proto.CompactTextString(m) }
func (*ReplyQueryProposalProject) ProtoMessage() {}
func (*ReplyQueryProposalProject) Descriptor() ([]byte, []int) {
return fileDescriptor_8340e6318dfdfac2, []int{9}
}
func (m *ReplyQueryProposalProject) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReplyQueryProposalProject.Unmarshal(m, b)
}
func (m *ReplyQueryProposalProject) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReplyQueryProposalProject.Marshal(b, m, deterministic)
}
func (m *ReplyQueryProposalProject) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReplyQueryProposalProject.Merge(m, src)
}
func (m *ReplyQueryProposalProject) XXX_Size() int {
return xxx_messageInfo_ReplyQueryProposalProject.Size(m)
}
func (m *ReplyQueryProposalProject) XXX_DiscardUnknown() {
xxx_messageInfo_ReplyQueryProposalProject.DiscardUnknown(m)
PropProjects []*AutonomyProposalProject `protobuf:"bytes,1,rep,name=propProjects" json:"propProjects,omitempty"`
}
var xxx_messageInfo_ReplyQueryProposalProject proto.InternalMessageInfo
func (m *ReplyQueryProposalProject) Reset() { *m = ReplyQueryProposalProject{} }
func (m *ReplyQueryProposalProject) String() string { return proto.CompactTextString(m) }
func (*ReplyQueryProposalProject) ProtoMessage() {}
func (*ReplyQueryProposalProject) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{9} }
func (m *ReplyQueryProposalProject) GetPropProjects() []*AutonomyProposalProject {
if m != nil {
......@@ -691,52 +460,53 @@ func init() {
proto.RegisterType((*ReplyQueryProposalProject)(nil), "types.ReplyQueryProposalProject")
}
func init() { proto.RegisterFile("project.proto", fileDescriptor_8340e6318dfdfac2) }
var fileDescriptor_8340e6318dfdfac2 = []byte{
// 703 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0xdf, 0x6f, 0xd3, 0x3a,
0x14, 0x56, 0x96, 0xa6, 0x5d, 0x4f, 0xbb, 0x1f, 0xd7, 0xdb, 0xed, 0x7c, 0xa7, 0xab, 0xa9, 0xca,
0xc3, 0x55, 0x75, 0x91, 0x2a, 0x34, 0x84, 0x98, 0x78, 0xdb, 0x18, 0x12, 0x48, 0x68, 0x14, 0x83,
0x78, 0x45, 0x69, 0xe2, 0x6d, 0xd9, 0x92, 0xd8, 0x38, 0xce, 0x44, 0xff, 0x01, 0xfe, 0x15, 0xfe,
0x44, 0x5e, 0x78, 0x40, 0x3e, 0x76, 0x58, 0xd2, 0x15, 0xb1, 0xbd, 0xf9, 0xfb, 0xce, 0x77, 0x8e,
0x9d, 0x63, 0x9f, 0x2f, 0xb0, 0x21, 0x95, 0xb8, 0xe2, 0xb1, 0x9e, 0x4a, 0x25, 0xb4, 0x20, 0x81,
0x5e, 0x48, 0x5e, 0xee, 0x6f, 0x64, 0xb1, 0xc8, 0x73, 0x51, 0x58, 0x36, 0xfc, 0xb1, 0x06, 0x7b,
0xc7, 0x95, 0x16, 0x85, 0xc8, 0x17, 0x33, 0x25, 0xa4, 0x28, 0xa3, 0x6c, 0x66, 0xf3, 0xc8, 0x11,
0x0c, 0xa4, 0x12, 0xd2, 0x41, 0xea, 0x8d, 0xbd, 0xc9, 0xe0, 0x70, 0x34, 0xc5, 0x3a, 0xd3, 0x25,
0x31, 0x6b, 0x4a, 0xc9, 0x23, 0xe8, 0xc5, 0x95, 0x62, 0x55, 0xc6, 0xe9, 0x1a, 0x66, 0xfd, 0xe5,
0xb2, 0x0c, 0xf5, 0x42, 0x14, 0xe7, 0xe9, 0x05, 0xab, 0x15, 0x64, 0x04, 0xdd, 0xb9, 0x88, 0x54,
0x52, 0x52, 0x7f, 0xec, 0x4f, 0xfa, 0xcc, 0x21, 0xf2, 0x14, 0x86, 0xb8, 0xfa, 0x28, 0x34, 0x67,
0xbc, 0xa4, 0x9d, 0x56, 0x25, 0xc7, 0x56, 0x99, 0x66, 0x2d, 0x99, 0xd9, 0x5b, 0x56, 0x73, 0x83,
0x68, 0xd0, 0xca, 0x98, 0x55, 0xf3, 0x2c, 0x8d, 0x51, 0x56, 0x2b, 0xcc, 0xde, 0xa5, 0x8e, 0x74,
0x55, 0xd2, 0xee, 0xd8, 0x9b, 0x04, 0xcc, 0x21, 0x42, 0xa1, 0x17, 0x25, 0x89, 0xe2, 0x65, 0x49,
0x7b, 0x63, 0x6f, 0xd2, 0x67, 0x35, 0x34, 0x19, 0x97, 0x3c, 0xbd, 0xb8, 0xd4, 0x74, 0x7d, 0xec,
0x4d, 0x7c, 0xe6, 0x10, 0xd9, 0x85, 0x20, 0x2d, 0x12, 0xfe, 0x85, 0xf6, 0xb1, 0x90, 0x05, 0xe4,
0x00, 0x40, 0xba, 0x46, 0xbd, 0x3e, 0xa5, 0x80, 0xa5, 0x1a, 0x4c, 0xf8, 0xdd, 0x87, 0xad, 0xe5,
0xb6, 0x13, 0xe8, 0x2c, 0x78, 0xa4, 0xb0, 0xdf, 0x01, 0xc3, 0xb5, 0xa9, 0x9e, 0x8b, 0x42, 0x5f,
0x62, 0x3b, 0x03, 0x66, 0x01, 0xd9, 0x06, 0x3f, 0x89, 0x16, 0xd4, 0x47, 0xce, 0x2c, 0xcd, 0x7e,
0xe7, 0xa9, 0x2a, 0xf5, 0x7b, 0x1d, 0x5d, 0x70, 0xec, 0x58, 0x9f, 0x35, 0x18, 0xf2, 0x2f, 0xf4,
0xb3, 0xa8, 0x0e, 0x07, 0x18, 0xbe, 0x25, 0xdc, 0x69, 0x93, 0x2a, 0xd6, 0xa9, 0x28, 0xb0, 0x23,
0xf6, 0xb4, 0x8e, 0x21, 0x63, 0x18, 0x24, 0xbc, 0x8c, 0x55, 0x2a, 0x51, 0x60, 0x3b, 0xd3, 0xa4,
0x4c, 0x85, 0x58, 0x14, 0x5a, 0x45, 0xb1, 0x16, 0x0a, 0x3b, 0xd4, 0x67, 0x0d, 0xc6, 0x74, 0x2f,
0xca, 0x45, 0x55, 0x68, 0x6c, 0x93, 0xcf, 0x1c, 0x22, 0x21, 0x0c, 0xed, 0xea, 0x94, 0xeb, 0x28,
0xcd, 0x5c, 0xa7, 0x5a, 0x9c, 0xc9, 0xd5, 0xe2, 0x38, 0x49, 0x14, 0x1d, 0x60, 0xd4, 0x21, 0xf2,
0x3f, 0x6c, 0x97, 0x3a, 0x52, 0xfa, 0x24, 0x13, 0xf1, 0xf5, 0x2b, 0x7b, 0x37, 0x43, 0xac, 0x7e,
0x87, 0x27, 0xff, 0xc1, 0x26, 0x2f, 0x92, 0xa6, 0x72, 0x03, 0x95, 0x4b, 0x2c, 0x99, 0x02, 0x51,
0x3c, 0xca, 0x5e, 0xb6, 0xb5, 0x9b, 0xa8, 0x5d, 0x11, 0x21, 0x8f, 0x61, 0xc7, 0x4d, 0xdb, 0x19,
0xe7, 0x36, 0x72, 0x56, 0xe5, 0x74, 0x0b, 0x6f, 0x66, 0x55, 0x28, 0x7c, 0x06, 0x7f, 0x33, 0x7e,
0x23, 0xae, 0xf9, 0xf2, 0xf5, 0xb7, 0x9f, 0x8c, 0x77, 0xe7, 0xc9, 0xbc, 0x85, 0x1d, 0xf3, 0x74,
0x1f, 0x98, 0x86, 0x2f, 0x5a, 0x4a, 0x25, 0x6e, 0xec, 0x48, 0xae, 0xb3, 0x1a, 0x86, 0x33, 0x18,
0xcd, 0xec, 0x38, 0x3c, 0xb4, 0xe6, 0x08, 0xba, 0x42, 0x4a, 0x51, 0xd6, 0x25, 0x1d, 0x0a, 0x9f,
0x03, 0xfd, 0xc0, 0x55, 0x9e, 0x16, 0xd1, 0x83, 0x6b, 0x86, 0x5f, 0x3d, 0x18, 0x31, 0x1e, 0xf3,
0x54, 0xea, 0xe5, 0xd4, 0x43, 0xe8, 0x48, 0xc5, 0x6f, 0x9c, 0x11, 0x1d, 0xb8, 0xb1, 0xfe, 0x8d,
0x7b, 0x31, 0xd4, 0x92, 0x23, 0x74, 0x22, 0xc5, 0x0b, 0xed, 0x9c, 0xe8, 0x4f, 0x69, 0xb5, 0x3c,
0xcc, 0x60, 0xf7, 0x8d, 0x88, 0x31, 0xb0, 0xe4, 0x8a, 0x3d, 0x6b, 0x75, 0x57, 0xf7, 0x3c, 0x48,
0x2d, 0x27, 0xfb, 0xb0, 0x6e, 0xbc, 0x97, 0x17, 0xba, 0xa4, 0x6b, 0x68, 0x75, 0xbf, 0x70, 0xf8,
0xcd, 0x83, 0x3d, 0xc6, 0x3f, 0xbf, 0xab, 0xb8, 0xba, 0xe3, 0xc3, 0xb7, 0x26, 0xe5, 0xb5, 0x4c,
0x8a, 0x40, 0xc7, 0xb8, 0x12, 0x7e, 0x58, 0x9f, 0xe1, 0xda, 0x18, 0x45, 0x8c, 0xf3, 0x65, 0x4d,
0xc1, 0x02, 0x33, 0xf6, 0x49, 0xaa, 0xb8, 0x9d, 0xeb, 0x0e, 0x46, 0x6e, 0x89, 0x86, 0xa5, 0x05,
0xab, 0x2d, 0xad, 0xdb, 0xb0, 0xb4, 0xf0, 0x13, 0xfc, 0xc3, 0xb8, 0xcc, 0x16, 0x2b, 0x8f, 0x7a,
0x02, 0xc3, 0xc6, 0x7f, 0xc0, 0x1c, 0xd8, 0xbf, 0x47, 0x87, 0x5a, 0x39, 0xf3, 0x2e, 0xfe, 0x99,
0x9e, 0xfc, 0x0c, 0x00, 0x00, 0xff, 0xff, 0xe9, 0x88, 0xd4, 0xbe, 0xc0, 0x06, 0x00, 0x00,
func init() { proto.RegisterFile("project.proto", fileDescriptor4) }
var fileDescriptor4 = []byte{
// 713 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0x5f, 0x6f, 0xd3, 0x3e,
0x14, 0x55, 0x96, 0xa6, 0x5d, 0x6f, 0xbb, 0x3f, 0x3f, 0x6f, 0xbf, 0xce, 0x4c, 0x68, 0xaa, 0xf2,
0x80, 0x2a, 0x90, 0x2a, 0x34, 0x84, 0x98, 0x78, 0xdb, 0x18, 0x12, 0x48, 0x68, 0x14, 0x83, 0x78,
0x45, 0x69, 0xe2, 0x75, 0xd9, 0xd2, 0xd8, 0x38, 0xce, 0x44, 0xbf, 0x00, 0x5f, 0x85, 0x8f, 0xc8,
0x0b, 0x0f, 0xc8, 0xd7, 0x0e, 0x4b, 0xba, 0x22, 0xb6, 0x37, 0x9f, 0x73, 0xcf, 0xbd, 0x76, 0xae,
0x7d, 0x4f, 0x60, 0x43, 0x2a, 0x71, 0xc9, 0x63, 0x3d, 0x96, 0x4a, 0x68, 0x41, 0x02, 0xbd, 0x90,
0xbc, 0xd8, 0xdf, 0xc8, 0x62, 0x31, 0x9f, 0x8b, 0xdc, 0xb2, 0xe1, 0xaf, 0x35, 0xd8, 0x3b, 0x2e,
0xb5, 0xc8, 0xc5, 0x7c, 0x31, 0x51, 0x42, 0x8a, 0x22, 0xca, 0x26, 0x36, 0x8f, 0x1c, 0x41, 0x4f,
0x2a, 0x21, 0x1d, 0xa4, 0xde, 0xd0, 0x1b, 0xf5, 0x0e, 0x07, 0x63, 0xac, 0x33, 0x5e, 0x12, 0xb3,
0xba, 0x94, 0x3c, 0x81, 0x4e, 0x5c, 0x2a, 0x56, 0x66, 0x9c, 0xae, 0x61, 0xd6, 0x7f, 0x2e, 0xcb,
0x50, 0xaf, 0x44, 0x7e, 0x9e, 0xce, 0x58, 0xa5, 0x20, 0x03, 0x68, 0x4f, 0x45, 0xa4, 0x92, 0x82,
0xfa, 0x43, 0x7f, 0xd4, 0x65, 0x0e, 0x91, 0xe7, 0xd0, 0xc7, 0xd5, 0x67, 0xa1, 0x39, 0xe3, 0x05,
0x6d, 0x35, 0x2a, 0x39, 0xb6, 0xcc, 0x34, 0x6b, 0xc8, 0xcc, 0xde, 0xb2, 0x9c, 0x1a, 0x44, 0x83,
0x46, 0xc6, 0xa4, 0x9c, 0x66, 0x69, 0x8c, 0xb2, 0x4a, 0x61, 0xf6, 0x2e, 0x74, 0xa4, 0xcb, 0x82,
0xb6, 0x87, 0xde, 0x28, 0x60, 0x0e, 0x11, 0x0a, 0x9d, 0x28, 0x49, 0x14, 0x2f, 0x0a, 0xda, 0x19,
0x7a, 0xa3, 0x2e, 0xab, 0xa0, 0xc9, 0xb8, 0xe0, 0xe9, 0xec, 0x42, 0xd3, 0xf5, 0xa1, 0x37, 0xf2,
0x99, 0x43, 0x64, 0x17, 0x82, 0x34, 0x4f, 0xf8, 0x37, 0xda, 0xc5, 0x42, 0x16, 0x90, 0x03, 0x00,
0xe9, 0x1a, 0xf5, 0xf6, 0x94, 0x02, 0x96, 0xaa, 0x31, 0xe1, 0x4f, 0x1f, 0xb6, 0x96, 0xdb, 0x4e,
0xa0, 0xb5, 0xe0, 0x91, 0xc2, 0x7e, 0x07, 0x0c, 0xd7, 0xa6, 0xfa, 0x5c, 0xe4, 0xfa, 0x02, 0xdb,
0x19, 0x30, 0x0b, 0xc8, 0x36, 0xf8, 0x49, 0xb4, 0xa0, 0x3e, 0x72, 0x66, 0x69, 0xf6, 0x3b, 0x4f,
0x55, 0xa1, 0x3f, 0xea, 0x68, 0xc6, 0xb1, 0x63, 0x5d, 0x56, 0x63, 0xc8, 0x43, 0xe8, 0x66, 0x51,
0x15, 0x0e, 0x30, 0x7c, 0x43, 0xb8, 0xd3, 0x26, 0x65, 0xac, 0x53, 0x91, 0x63, 0x47, 0xec, 0x69,
0x1d, 0x43, 0x86, 0xd0, 0x4b, 0x78, 0x11, 0xab, 0x54, 0xa2, 0xc0, 0x76, 0xa6, 0x4e, 0x99, 0x0a,
0xb1, 0xc8, 0xb5, 0x8a, 0x62, 0x2d, 0x14, 0x76, 0xa8, 0xcb, 0x6a, 0x8c, 0xe9, 0x5e, 0x34, 0x17,
0x65, 0xae, 0xb1, 0x4d, 0x3e, 0x73, 0x88, 0x84, 0xd0, 0xb7, 0xab, 0x53, 0xae, 0xa3, 0x34, 0x73,
0x9d, 0x6a, 0x70, 0x26, 0x57, 0x8b, 0xe3, 0x24, 0x51, 0xb4, 0x87, 0x51, 0x87, 0xc8, 0x63, 0xd8,
0x2e, 0x74, 0xa4, 0xf4, 0x49, 0x26, 0xe2, 0xab, 0x37, 0xf6, 0x6e, 0xfa, 0x58, 0xfd, 0x16, 0x4f,
0x1e, 0xc1, 0x26, 0xcf, 0x93, 0xba, 0x72, 0x03, 0x95, 0x4b, 0x2c, 0x19, 0x03, 0x51, 0x3c, 0xca,
0x5e, 0x37, 0xb5, 0x9b, 0xa8, 0x5d, 0x11, 0x21, 0x4f, 0x61, 0xc7, 0x4d, 0xdb, 0x19, 0xe7, 0x36,
0x72, 0x56, 0xce, 0xe9, 0x16, 0xde, 0xcc, 0xaa, 0x50, 0xf8, 0x02, 0xfe, 0x67, 0xfc, 0x5a, 0x5c,
0xf1, 0xe5, 0xeb, 0x6f, 0x3e, 0x19, 0xef, 0xd6, 0x93, 0x79, 0x0f, 0x3b, 0xe6, 0xe9, 0xde, 0x33,
0x0d, 0x5f, 0xb4, 0x94, 0x4a, 0x5c, 0xdb, 0x91, 0x5c, 0x67, 0x15, 0x0c, 0x25, 0x0c, 0x26, 0x76,
0x1c, 0xee, 0x5b, 0x73, 0x00, 0x6d, 0x21, 0xa5, 0x28, 0xaa, 0x92, 0x0e, 0x99, 0x3c, 0xa1, 0xd2,
0x59, 0x9a, 0xe3, 0x6d, 0xd9, 0xa9, 0xae, 0x31, 0xe1, 0x4b, 0xa0, 0x9f, 0xb8, 0x9a, 0xa7, 0x79,
0x74, 0xef, 0x3d, 0xc3, 0xef, 0x1e, 0x0c, 0x18, 0x8f, 0x79, 0x2a, 0xf5, 0x72, 0xea, 0x21, 0xb4,
0xa4, 0xe2, 0xd7, 0xce, 0xa8, 0x0e, 0xdc, 0xd8, 0xff, 0xc5, 0xdd, 0x18, 0x6a, 0xc9, 0x11, 0x3a,
0x95, 0xe2, 0xb9, 0x76, 0x4e, 0xf5, 0xaf, 0xb4, 0x4a, 0x1e, 0x66, 0xb0, 0xfb, 0x4e, 0xc4, 0x18,
0x58, 0x72, 0xcd, 0x8e, 0xb5, 0xc2, 0xcb, 0x3b, 0x1e, 0xa4, 0x92, 0x93, 0x7d, 0x58, 0x37, 0xde,
0xcc, 0x73, 0x5d, 0xd0, 0x35, 0x6c, 0xda, 0x1f, 0x1c, 0xfe, 0xf0, 0x60, 0x8f, 0xf1, 0xaf, 0x1f,
0x4a, 0xae, 0x6e, 0xf9, 0xf4, 0x8d, 0x89, 0x79, 0x0d, 0x13, 0x23, 0xd0, 0x32, 0xae, 0x85, 0x1f,
0xd6, 0x65, 0xb8, 0x36, 0x46, 0x12, 0xe3, 0xfc, 0x59, 0xd3, 0xb0, 0xc0, 0xd8, 0x42, 0x92, 0x2a,
0x6e, 0xe7, 0xbe, 0x85, 0x91, 0x1b, 0xa2, 0x66, 0x79, 0xc1, 0x6a, 0xcb, 0x6b, 0xd7, 0x2c, 0x2f,
0xfc, 0x02, 0x0f, 0x18, 0x97, 0xd9, 0x62, 0xe5, 0x51, 0x4f, 0xa0, 0x5f, 0xfb, 0x4f, 0x98, 0x03,
0xfb, 0x77, 0xe8, 0x50, 0x23, 0x67, 0xda, 0xc6, 0x3f, 0xd7, 0xb3, 0xdf, 0x01, 0x00, 0x00, 0xff,
0xff, 0x53, 0x84, 0x13, 0x84, 0xe0, 0x06, 0x00, 0x00,
}
......@@ -3,64 +3,32 @@
package types
import (
fmt "fmt"
math "math"
proto "github.com/golang/protobuf/proto"
)
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
type AutonomyProposalRule struct {
PropRule *ProposalRule `protobuf:"bytes,1,opt,name=propRule,proto3" json:"propRule,omitempty"`
CurRule *RuleConfig `protobuf:"bytes,2,opt,name=curRule,proto3" json:"curRule,omitempty"`
PropRule *ProposalRule `protobuf:"bytes,1,opt,name=propRule" json:"propRule,omitempty"`
CurRule *RuleConfig `protobuf:"bytes,2,opt,name=curRule" json:"curRule,omitempty"`
// 全体持票人投票结果
VoteResult *VoteResult `protobuf:"bytes,3,opt,name=voteResult,proto3" json:"voteResult,omitempty"`
VoteResult *VoteResult `protobuf:"bytes,3,opt,name=voteResult" json:"voteResult,omitempty"`
// 状态
Status int32 `protobuf:"varint,4,opt,name=status,proto3" json:"status,omitempty"`
Address string `protobuf:"bytes,5,opt,name=address,proto3" json:"address,omitempty"`
Height int64 `protobuf:"varint,6,opt,name=height,proto3" json:"height,omitempty"`
Index int32 `protobuf:"varint,7,opt,name=index,proto3" json:"index,omitempty"`
ProposalID string `protobuf:"bytes,8,opt,name=proposalID,proto3" json:"proposalID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *AutonomyProposalRule) Reset() { *m = AutonomyProposalRule{} }
func (m *AutonomyProposalRule) String() string { return proto.CompactTextString(m) }
func (*AutonomyProposalRule) ProtoMessage() {}
func (*AutonomyProposalRule) Descriptor() ([]byte, []int) {
return fileDescriptor_07e8e0fa338d4596, []int{0}
}
func (m *AutonomyProposalRule) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AutonomyProposalRule.Unmarshal(m, b)
}
func (m *AutonomyProposalRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_AutonomyProposalRule.Marshal(b, m, deterministic)
}
func (m *AutonomyProposalRule) XXX_Merge(src proto.Message) {
xxx_messageInfo_AutonomyProposalRule.Merge(m, src)
}
func (m *AutonomyProposalRule) XXX_Size() int {
return xxx_messageInfo_AutonomyProposalRule.Size(m)
}
func (m *AutonomyProposalRule) XXX_DiscardUnknown() {
xxx_messageInfo_AutonomyProposalRule.DiscardUnknown(m)
Status int32 `protobuf:"varint,4,opt,name=status" json:"status,omitempty"`
Address string `protobuf:"bytes,5,opt,name=address" json:"address,omitempty"`
Height int64 `protobuf:"varint,6,opt,name=height" json:"height,omitempty"`
Index int32 `protobuf:"varint,7,opt,name=index" json:"index,omitempty"`
ProposalID string `protobuf:"bytes,8,opt,name=proposalID" json:"proposalID,omitempty"`
}
var xxx_messageInfo_AutonomyProposalRule proto.InternalMessageInfo
func (m *AutonomyProposalRule) Reset() { *m = AutonomyProposalRule{} }
func (m *AutonomyProposalRule) String() string { return proto.CompactTextString(m) }
func (*AutonomyProposalRule) ProtoMessage() {}
func (*AutonomyProposalRule) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{0} }
func (m *AutonomyProposalRule) GetPropRule() *ProposalRule {
if m != nil {
......@@ -120,44 +88,21 @@ func (m *AutonomyProposalRule) GetProposalID() string {
type ProposalRule struct {
// 提案时间
Year int32 `protobuf:"varint,1,opt,name=year,proto3" json:"year,omitempty"`
Month int32 `protobuf:"varint,2,opt,name=month,proto3" json:"month,omitempty"`
Day int32 `protobuf:"varint,3,opt,name=day,proto3" json:"day,omitempty"`
Year int32 `protobuf:"varint,1,opt,name=year" json:"year,omitempty"`
Month int32 `protobuf:"varint,2,opt,name=month" json:"month,omitempty"`
Day int32 `protobuf:"varint,3,opt,name=day" json:"day,omitempty"`
// 规则可修改项,如果某项不修改则置为-1
RuleCfg *RuleConfig `protobuf:"bytes,4,opt,name=ruleCfg,proto3" json:"ruleCfg,omitempty"`
RuleCfg *RuleConfig `protobuf:"bytes,4,opt,name=ruleCfg" json:"ruleCfg,omitempty"`
// 投票相关
StartBlockHeight int64 `protobuf:"varint,5,opt,name=startBlockHeight,proto3" json:"startBlockHeight,omitempty"`
EndBlockHeight int64 `protobuf:"varint,6,opt,name=endBlockHeight,proto3" json:"endBlockHeight,omitempty"`
RealEndBlockHeight int64 `protobuf:"varint,7,opt,name=realEndBlockHeight,proto3" json:"realEndBlockHeight,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ProposalRule) Reset() { *m = ProposalRule{} }
func (m *ProposalRule) String() string { return proto.CompactTextString(m) }
func (*ProposalRule) ProtoMessage() {}
func (*ProposalRule) Descriptor() ([]byte, []int) {
return fileDescriptor_07e8e0fa338d4596, []int{1}
}
func (m *ProposalRule) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ProposalRule.Unmarshal(m, b)
}
func (m *ProposalRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ProposalRule.Marshal(b, m, deterministic)
}
func (m *ProposalRule) XXX_Merge(src proto.Message) {
xxx_messageInfo_ProposalRule.Merge(m, src)
}
func (m *ProposalRule) XXX_Size() int {
return xxx_messageInfo_ProposalRule.Size(m)
}
func (m *ProposalRule) XXX_DiscardUnknown() {
xxx_messageInfo_ProposalRule.DiscardUnknown(m)
StartBlockHeight int64 `protobuf:"varint,5,opt,name=startBlockHeight" json:"startBlockHeight,omitempty"`
EndBlockHeight int64 `protobuf:"varint,6,opt,name=endBlockHeight" json:"endBlockHeight,omitempty"`
RealEndBlockHeight int64 `protobuf:"varint,7,opt,name=realEndBlockHeight" json:"realEndBlockHeight,omitempty"`
}
var xxx_messageInfo_ProposalRule proto.InternalMessageInfo
func (m *ProposalRule) Reset() { *m = ProposalRule{} }
func (m *ProposalRule) String() string { return proto.CompactTextString(m) }
func (*ProposalRule) ProtoMessage() {}
func (*ProposalRule) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{1} }
func (m *ProposalRule) GetYear() int32 {
if m != nil {
......@@ -209,36 +154,13 @@ func (m *ProposalRule) GetRealEndBlockHeight() int64 {
}
type RevokeProposalRule struct {
ProposalID string `protobuf:"bytes,1,opt,name=proposalID,proto3" json:"proposalID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *RevokeProposalRule) Reset() { *m = RevokeProposalRule{} }
func (m *RevokeProposalRule) String() string { return proto.CompactTextString(m) }
func (*RevokeProposalRule) ProtoMessage() {}
func (*RevokeProposalRule) Descriptor() ([]byte, []int) {
return fileDescriptor_07e8e0fa338d4596, []int{2}
}
func (m *RevokeProposalRule) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RevokeProposalRule.Unmarshal(m, b)
}
func (m *RevokeProposalRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RevokeProposalRule.Marshal(b, m, deterministic)
}
func (m *RevokeProposalRule) XXX_Merge(src proto.Message) {
xxx_messageInfo_RevokeProposalRule.Merge(m, src)
}
func (m *RevokeProposalRule) XXX_Size() int {
return xxx_messageInfo_RevokeProposalRule.Size(m)
}
func (m *RevokeProposalRule) XXX_DiscardUnknown() {
xxx_messageInfo_RevokeProposalRule.DiscardUnknown(m)
ProposalID string `protobuf:"bytes,1,opt,name=proposalID" json:"proposalID,omitempty"`
}
var xxx_messageInfo_RevokeProposalRule proto.InternalMessageInfo
func (m *RevokeProposalRule) Reset() { *m = RevokeProposalRule{} }
func (m *RevokeProposalRule) String() string { return proto.CompactTextString(m) }
func (*RevokeProposalRule) ProtoMessage() {}
func (*RevokeProposalRule) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{2} }
func (m *RevokeProposalRule) GetProposalID() string {
if m != nil {
......@@ -248,37 +170,15 @@ func (m *RevokeProposalRule) GetProposalID() string {
}
type VoteProposalRule struct {
ProposalID string `protobuf:"bytes,1,opt,name=proposalID,proto3" json:"proposalID,omitempty"`
Approve bool `protobuf:"varint,2,opt,name=approve,proto3" json:"approve,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
ProposalID string `protobuf:"bytes,1,opt,name=proposalID" json:"proposalID,omitempty"`
Approve bool `protobuf:"varint,2,opt,name=approve" json:"approve,omitempty"`
OriginAddr []string `protobuf:"bytes,3,rep,name=originAddr" json:"originAddr,omitempty"`
}
func (m *VoteProposalRule) Reset() { *m = VoteProposalRule{} }
func (m *VoteProposalRule) String() string { return proto.CompactTextString(m) }
func (*VoteProposalRule) ProtoMessage() {}
func (*VoteProposalRule) Descriptor() ([]byte, []int) {
return fileDescriptor_07e8e0fa338d4596, []int{3}
}
func (m *VoteProposalRule) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_VoteProposalRule.Unmarshal(m, b)
}
func (m *VoteProposalRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_VoteProposalRule.Marshal(b, m, deterministic)
}
func (m *VoteProposalRule) XXX_Merge(src proto.Message) {
xxx_messageInfo_VoteProposalRule.Merge(m, src)
}
func (m *VoteProposalRule) XXX_Size() int {
return xxx_messageInfo_VoteProposalRule.Size(m)
}
func (m *VoteProposalRule) XXX_DiscardUnknown() {
xxx_messageInfo_VoteProposalRule.DiscardUnknown(m)
}
var xxx_messageInfo_VoteProposalRule proto.InternalMessageInfo
func (m *VoteProposalRule) Reset() { *m = VoteProposalRule{} }
func (m *VoteProposalRule) String() string { return proto.CompactTextString(m) }
func (*VoteProposalRule) ProtoMessage() {}
func (*VoteProposalRule) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{3} }
func (m *VoteProposalRule) GetProposalID() string {
if m != nil {
......@@ -294,37 +194,21 @@ func (m *VoteProposalRule) GetApprove() bool {
return false
}
type TerminateProposalRule struct {
ProposalID string `protobuf:"bytes,1,opt,name=proposalID,proto3" json:"proposalID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TerminateProposalRule) Reset() { *m = TerminateProposalRule{} }
func (m *TerminateProposalRule) String() string { return proto.CompactTextString(m) }
func (*TerminateProposalRule) ProtoMessage() {}
func (*TerminateProposalRule) Descriptor() ([]byte, []int) {
return fileDescriptor_07e8e0fa338d4596, []int{4}
func (m *VoteProposalRule) GetOriginAddr() []string {
if m != nil {
return m.OriginAddr
}
return nil
}
func (m *TerminateProposalRule) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TerminateProposalRule.Unmarshal(m, b)
}
func (m *TerminateProposalRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TerminateProposalRule.Marshal(b, m, deterministic)
}
func (m *TerminateProposalRule) XXX_Merge(src proto.Message) {
xxx_messageInfo_TerminateProposalRule.Merge(m, src)
}
func (m *TerminateProposalRule) XXX_Size() int {
return xxx_messageInfo_TerminateProposalRule.Size(m)
}
func (m *TerminateProposalRule) XXX_DiscardUnknown() {
xxx_messageInfo_TerminateProposalRule.DiscardUnknown(m)
type TerminateProposalRule struct {
ProposalID string `protobuf:"bytes,1,opt,name=proposalID" json:"proposalID,omitempty"`
}
var xxx_messageInfo_TerminateProposalRule proto.InternalMessageInfo
func (m *TerminateProposalRule) Reset() { *m = TerminateProposalRule{} }
func (m *TerminateProposalRule) String() string { return proto.CompactTextString(m) }
func (*TerminateProposalRule) ProtoMessage() {}
func (*TerminateProposalRule) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{4} }
func (m *TerminateProposalRule) GetProposalID() string {
if m != nil {
......@@ -335,37 +219,14 @@ func (m *TerminateProposalRule) GetProposalID() string {
// receipt
type ReceiptProposalRule struct {
Prev *AutonomyProposalRule `protobuf:"bytes,1,opt,name=prev,proto3" json:"prev,omitempty"`
Current *AutonomyProposalRule `protobuf:"bytes,2,opt,name=current,proto3" json:"current,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
Prev *AutonomyProposalRule `protobuf:"bytes,1,opt,name=prev" json:"prev,omitempty"`
Current *AutonomyProposalRule `protobuf:"bytes,2,opt,name=current" json:"current,omitempty"`
}
func (m *ReceiptProposalRule) Reset() { *m = ReceiptProposalRule{} }
func (m *ReceiptProposalRule) String() string { return proto.CompactTextString(m) }
func (*ReceiptProposalRule) ProtoMessage() {}
func (*ReceiptProposalRule) Descriptor() ([]byte, []int) {
return fileDescriptor_07e8e0fa338d4596, []int{5}
}
func (m *ReceiptProposalRule) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReceiptProposalRule.Unmarshal(m, b)
}
func (m *ReceiptProposalRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReceiptProposalRule.Marshal(b, m, deterministic)
}
func (m *ReceiptProposalRule) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReceiptProposalRule.Merge(m, src)
}
func (m *ReceiptProposalRule) XXX_Size() int {
return xxx_messageInfo_ReceiptProposalRule.Size(m)
}
func (m *ReceiptProposalRule) XXX_DiscardUnknown() {
xxx_messageInfo_ReceiptProposalRule.DiscardUnknown(m)
}
var xxx_messageInfo_ReceiptProposalRule proto.InternalMessageInfo
func (m *ReceiptProposalRule) Reset() { *m = ReceiptProposalRule{} }
func (m *ReceiptProposalRule) String() string { return proto.CompactTextString(m) }
func (*ReceiptProposalRule) ProtoMessage() {}
func (*ReceiptProposalRule) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{5} }
func (m *ReceiptProposalRule) GetPrev() *AutonomyProposalRule {
if m != nil {
......@@ -382,37 +243,14 @@ func (m *ReceiptProposalRule) GetCurrent() *AutonomyProposalRule {
}
type LocalProposalRule struct {
PropRule *AutonomyProposalRule `protobuf:"bytes,1,opt,name=propRule,proto3" json:"propRule,omitempty"`
Comments []string `protobuf:"bytes,2,rep,name=comments,proto3" json:"comments,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
PropRule *AutonomyProposalRule `protobuf:"bytes,1,opt,name=propRule" json:"propRule,omitempty"`
Comments []string `protobuf:"bytes,2,rep,name=comments" json:"comments,omitempty"`
}
func (m *LocalProposalRule) Reset() { *m = LocalProposalRule{} }
func (m *LocalProposalRule) String() string { return proto.CompactTextString(m) }
func (*LocalProposalRule) ProtoMessage() {}
func (*LocalProposalRule) Descriptor() ([]byte, []int) {
return fileDescriptor_07e8e0fa338d4596, []int{6}
}
func (m *LocalProposalRule) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LocalProposalRule.Unmarshal(m, b)
}
func (m *LocalProposalRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LocalProposalRule.Marshal(b, m, deterministic)
}
func (m *LocalProposalRule) XXX_Merge(src proto.Message) {
xxx_messageInfo_LocalProposalRule.Merge(m, src)
}
func (m *LocalProposalRule) XXX_Size() int {
return xxx_messageInfo_LocalProposalRule.Size(m)
}
func (m *LocalProposalRule) XXX_DiscardUnknown() {
xxx_messageInfo_LocalProposalRule.DiscardUnknown(m)
}
var xxx_messageInfo_LocalProposalRule proto.InternalMessageInfo
func (m *LocalProposalRule) Reset() { *m = LocalProposalRule{} }
func (m *LocalProposalRule) String() string { return proto.CompactTextString(m) }
func (*LocalProposalRule) ProtoMessage() {}
func (*LocalProposalRule) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{6} }
func (m *LocalProposalRule) GetPropRule() *AutonomyProposalRule {
if m != nil {
......@@ -430,41 +268,18 @@ func (m *LocalProposalRule) GetComments() []string {
// query
type ReqQueryProposalRule struct {
Status int32 `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"`
Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"`
Count int32 `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty"`
Direction int32 `protobuf:"varint,4,opt,name=direction,proto3" json:"direction,omitempty"`
Height int64 `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"`
Index int32 `protobuf:"varint,6,opt,name=index,proto3" json:"index,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
Status int32 `protobuf:"varint,1,opt,name=status" json:"status,omitempty"`
Addr string `protobuf:"bytes,2,opt,name=addr" json:"addr,omitempty"`
Count int32 `protobuf:"varint,3,opt,name=count" json:"count,omitempty"`
Direction int32 `protobuf:"varint,4,opt,name=direction" json:"direction,omitempty"`
Height int64 `protobuf:"varint,5,opt,name=height" json:"height,omitempty"`
Index int32 `protobuf:"varint,6,opt,name=index" json:"index,omitempty"`
}
func (m *ReqQueryProposalRule) Reset() { *m = ReqQueryProposalRule{} }
func (m *ReqQueryProposalRule) String() string { return proto.CompactTextString(m) }
func (*ReqQueryProposalRule) ProtoMessage() {}
func (*ReqQueryProposalRule) Descriptor() ([]byte, []int) {
return fileDescriptor_07e8e0fa338d4596, []int{7}
}
func (m *ReqQueryProposalRule) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqQueryProposalRule.Unmarshal(m, b)
}
func (m *ReqQueryProposalRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqQueryProposalRule.Marshal(b, m, deterministic)
}
func (m *ReqQueryProposalRule) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqQueryProposalRule.Merge(m, src)
}
func (m *ReqQueryProposalRule) XXX_Size() int {
return xxx_messageInfo_ReqQueryProposalRule.Size(m)
}
func (m *ReqQueryProposalRule) XXX_DiscardUnknown() {
xxx_messageInfo_ReqQueryProposalRule.DiscardUnknown(m)
}
var xxx_messageInfo_ReqQueryProposalRule proto.InternalMessageInfo
func (m *ReqQueryProposalRule) Reset() { *m = ReqQueryProposalRule{} }
func (m *ReqQueryProposalRule) String() string { return proto.CompactTextString(m) }
func (*ReqQueryProposalRule) ProtoMessage() {}
func (*ReqQueryProposalRule) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{7} }
func (m *ReqQueryProposalRule) GetStatus() int32 {
if m != nil {
......@@ -509,36 +324,13 @@ func (m *ReqQueryProposalRule) GetIndex() int32 {
}
type ReplyQueryProposalRule struct {
PropRules []*AutonomyProposalRule `protobuf:"bytes,1,rep,name=propRules,proto3" json:"propRules,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ReplyQueryProposalRule) Reset() { *m = ReplyQueryProposalRule{} }
func (m *ReplyQueryProposalRule) String() string { return proto.CompactTextString(m) }
func (*ReplyQueryProposalRule) ProtoMessage() {}
func (*ReplyQueryProposalRule) Descriptor() ([]byte, []int) {
return fileDescriptor_07e8e0fa338d4596, []int{8}
PropRules []*AutonomyProposalRule `protobuf:"bytes,1,rep,name=propRules" json:"propRules,omitempty"`
}
func (m *ReplyQueryProposalRule) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReplyQueryProposalRule.Unmarshal(m, b)
}
func (m *ReplyQueryProposalRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReplyQueryProposalRule.Marshal(b, m, deterministic)
}
func (m *ReplyQueryProposalRule) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReplyQueryProposalRule.Merge(m, src)
}
func (m *ReplyQueryProposalRule) XXX_Size() int {
return xxx_messageInfo_ReplyQueryProposalRule.Size(m)
}
func (m *ReplyQueryProposalRule) XXX_DiscardUnknown() {
xxx_messageInfo_ReplyQueryProposalRule.DiscardUnknown(m)
}
var xxx_messageInfo_ReplyQueryProposalRule proto.InternalMessageInfo
func (m *ReplyQueryProposalRule) Reset() { *m = ReplyQueryProposalRule{} }
func (m *ReplyQueryProposalRule) String() string { return proto.CompactTextString(m) }
func (*ReplyQueryProposalRule) ProtoMessage() {}
func (*ReplyQueryProposalRule) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{8} }
func (m *ReplyQueryProposalRule) GetPropRules() []*AutonomyProposalRule {
if m != nil {
......@@ -549,37 +341,14 @@ func (m *ReplyQueryProposalRule) GetPropRules() []*AutonomyProposalRule {
// TransferFund action
type TransferFund struct {
Amount int64 `protobuf:"varint,1,opt,name=amount,proto3" json:"amount,omitempty"`
Note string `protobuf:"bytes,2,opt,name=note,proto3" json:"note,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
Amount int64 `protobuf:"varint,1,opt,name=amount" json:"amount,omitempty"`
Note string `protobuf:"bytes,2,opt,name=note" json:"note,omitempty"`
}
func (m *TransferFund) Reset() { *m = TransferFund{} }
func (m *TransferFund) String() string { return proto.CompactTextString(m) }
func (*TransferFund) ProtoMessage() {}
func (*TransferFund) Descriptor() ([]byte, []int) {
return fileDescriptor_07e8e0fa338d4596, []int{9}
}
func (m *TransferFund) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TransferFund.Unmarshal(m, b)
}
func (m *TransferFund) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TransferFund.Marshal(b, m, deterministic)
}
func (m *TransferFund) XXX_Merge(src proto.Message) {
xxx_messageInfo_TransferFund.Merge(m, src)
}
func (m *TransferFund) XXX_Size() int {
return xxx_messageInfo_TransferFund.Size(m)
}
func (m *TransferFund) XXX_DiscardUnknown() {
xxx_messageInfo_TransferFund.DiscardUnknown(m)
}
var xxx_messageInfo_TransferFund proto.InternalMessageInfo
func (m *TransferFund) Reset() { *m = TransferFund{} }
func (m *TransferFund) String() string { return proto.CompactTextString(m) }
func (*TransferFund) ProtoMessage() {}
func (*TransferFund) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{9} }
func (m *TransferFund) GetAmount() int64 {
if m != nil {
......@@ -597,38 +366,15 @@ func (m *TransferFund) GetNote() string {
// Comment action
type Comment struct {
ProposalID string `protobuf:"bytes,1,opt,name=proposalID,proto3" json:"proposalID,omitempty"`
RepHash string `protobuf:"bytes,2,opt,name=repHash,proto3" json:"repHash,omitempty"`
Comment string `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
ProposalID string `protobuf:"bytes,1,opt,name=proposalID" json:"proposalID,omitempty"`
RepHash string `protobuf:"bytes,2,opt,name=repHash" json:"repHash,omitempty"`
Comment string `protobuf:"bytes,3,opt,name=comment" json:"comment,omitempty"`
}
func (m *Comment) Reset() { *m = Comment{} }
func (m *Comment) String() string { return proto.CompactTextString(m) }
func (*Comment) ProtoMessage() {}
func (*Comment) Descriptor() ([]byte, []int) {
return fileDescriptor_07e8e0fa338d4596, []int{10}
}
func (m *Comment) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Comment.Unmarshal(m, b)
}
func (m *Comment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Comment.Marshal(b, m, deterministic)
}
func (m *Comment) XXX_Merge(src proto.Message) {
xxx_messageInfo_Comment.Merge(m, src)
}
func (m *Comment) XXX_Size() int {
return xxx_messageInfo_Comment.Size(m)
}
func (m *Comment) XXX_DiscardUnknown() {
xxx_messageInfo_Comment.DiscardUnknown(m)
}
var xxx_messageInfo_Comment proto.InternalMessageInfo
func (m *Comment) Reset() { *m = Comment{} }
func (m *Comment) String() string { return proto.CompactTextString(m) }
func (*Comment) ProtoMessage() {}
func (*Comment) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{10} }
func (m *Comment) GetProposalID() string {
if m != nil {
......@@ -652,39 +398,16 @@ func (m *Comment) GetComment() string {
}
type ReceiptProposalComment struct {
Cmt *Comment `protobuf:"bytes,1,opt,name=cmt,proto3" json:"cmt,omitempty"`
Height int64 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"`
Index int32 `protobuf:"varint,3,opt,name=index,proto3" json:"index,omitempty"`
Hash string `protobuf:"bytes,4,opt,name=hash,proto3" json:"hash,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ReceiptProposalComment) Reset() { *m = ReceiptProposalComment{} }
func (m *ReceiptProposalComment) String() string { return proto.CompactTextString(m) }
func (*ReceiptProposalComment) ProtoMessage() {}
func (*ReceiptProposalComment) Descriptor() ([]byte, []int) {
return fileDescriptor_07e8e0fa338d4596, []int{11}
}
func (m *ReceiptProposalComment) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReceiptProposalComment.Unmarshal(m, b)
}
func (m *ReceiptProposalComment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReceiptProposalComment.Marshal(b, m, deterministic)
}
func (m *ReceiptProposalComment) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReceiptProposalComment.Merge(m, src)
}
func (m *ReceiptProposalComment) XXX_Size() int {
return xxx_messageInfo_ReceiptProposalComment.Size(m)
}
func (m *ReceiptProposalComment) XXX_DiscardUnknown() {
xxx_messageInfo_ReceiptProposalComment.DiscardUnknown(m)
Cmt *Comment `protobuf:"bytes,1,opt,name=cmt" json:"cmt,omitempty"`
Height int64 `protobuf:"varint,2,opt,name=height" json:"height,omitempty"`
Index int32 `protobuf:"varint,3,opt,name=index" json:"index,omitempty"`
Hash string `protobuf:"bytes,4,opt,name=hash" json:"hash,omitempty"`
}
var xxx_messageInfo_ReceiptProposalComment proto.InternalMessageInfo
func (m *ReceiptProposalComment) Reset() { *m = ReceiptProposalComment{} }
func (m *ReceiptProposalComment) String() string { return proto.CompactTextString(m) }
func (*ReceiptProposalComment) ProtoMessage() {}
func (*ReceiptProposalComment) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{11} }
func (m *ReceiptProposalComment) GetCmt() *Comment {
if m != nil {
......@@ -716,40 +439,17 @@ func (m *ReceiptProposalComment) GetHash() string {
// query
type ReqQueryProposalComment struct {
ProposalID string `protobuf:"bytes,1,opt,name=proposalID,proto3" json:"proposalID,omitempty"`
Count int32 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
Direction int32 `protobuf:"varint,3,opt,name=direction,proto3" json:"direction,omitempty"`
Height int64 `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"`
Index int32 `protobuf:"varint,5,opt,name=index,proto3" json:"index,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ReqQueryProposalComment) Reset() { *m = ReqQueryProposalComment{} }
func (m *ReqQueryProposalComment) String() string { return proto.CompactTextString(m) }
func (*ReqQueryProposalComment) ProtoMessage() {}
func (*ReqQueryProposalComment) Descriptor() ([]byte, []int) {
return fileDescriptor_07e8e0fa338d4596, []int{12}
}
func (m *ReqQueryProposalComment) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqQueryProposalComment.Unmarshal(m, b)
}
func (m *ReqQueryProposalComment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqQueryProposalComment.Marshal(b, m, deterministic)
}
func (m *ReqQueryProposalComment) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqQueryProposalComment.Merge(m, src)
}
func (m *ReqQueryProposalComment) XXX_Size() int {
return xxx_messageInfo_ReqQueryProposalComment.Size(m)
}
func (m *ReqQueryProposalComment) XXX_DiscardUnknown() {
xxx_messageInfo_ReqQueryProposalComment.DiscardUnknown(m)
ProposalID string `protobuf:"bytes,1,opt,name=proposalID" json:"proposalID,omitempty"`
Count int32 `protobuf:"varint,2,opt,name=count" json:"count,omitempty"`
Direction int32 `protobuf:"varint,3,opt,name=direction" json:"direction,omitempty"`
Height int64 `protobuf:"varint,4,opt,name=height" json:"height,omitempty"`
Index int32 `protobuf:"varint,5,opt,name=index" json:"index,omitempty"`
}
var xxx_messageInfo_ReqQueryProposalComment proto.InternalMessageInfo
func (m *ReqQueryProposalComment) Reset() { *m = ReqQueryProposalComment{} }
func (m *ReqQueryProposalComment) String() string { return proto.CompactTextString(m) }
func (*ReqQueryProposalComment) ProtoMessage() {}
func (*ReqQueryProposalComment) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{12} }
func (m *ReqQueryProposalComment) GetProposalID() string {
if m != nil {
......@@ -787,40 +487,17 @@ func (m *ReqQueryProposalComment) GetIndex() int32 {
}
type RelationCmt struct {
RepHash string `protobuf:"bytes,1,opt,name=repHash,proto3" json:"repHash,omitempty"`
Comment string `protobuf:"bytes,2,opt,name=comment,proto3" json:"comment,omitempty"`
Height int64 `protobuf:"varint,3,opt,name=height,proto3" json:"height,omitempty"`
Index int32 `protobuf:"varint,4,opt,name=index,proto3" json:"index,omitempty"`
Hash string `protobuf:"bytes,5,opt,name=hash,proto3" json:"hash,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
RepHash string `protobuf:"bytes,1,opt,name=repHash" json:"repHash,omitempty"`
Comment string `protobuf:"bytes,2,opt,name=comment" json:"comment,omitempty"`
Height int64 `protobuf:"varint,3,opt,name=height" json:"height,omitempty"`
Index int32 `protobuf:"varint,4,opt,name=index" json:"index,omitempty"`
Hash string `protobuf:"bytes,5,opt,name=hash" json:"hash,omitempty"`
}
func (m *RelationCmt) Reset() { *m = RelationCmt{} }
func (m *RelationCmt) String() string { return proto.CompactTextString(m) }
func (*RelationCmt) ProtoMessage() {}
func (*RelationCmt) Descriptor() ([]byte, []int) {
return fileDescriptor_07e8e0fa338d4596, []int{13}
}
func (m *RelationCmt) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RelationCmt.Unmarshal(m, b)
}
func (m *RelationCmt) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RelationCmt.Marshal(b, m, deterministic)
}
func (m *RelationCmt) XXX_Merge(src proto.Message) {
xxx_messageInfo_RelationCmt.Merge(m, src)
}
func (m *RelationCmt) XXX_Size() int {
return xxx_messageInfo_RelationCmt.Size(m)
}
func (m *RelationCmt) XXX_DiscardUnknown() {
xxx_messageInfo_RelationCmt.DiscardUnknown(m)
}
var xxx_messageInfo_RelationCmt proto.InternalMessageInfo
func (m *RelationCmt) Reset() { *m = RelationCmt{} }
func (m *RelationCmt) String() string { return proto.CompactTextString(m) }
func (*RelationCmt) ProtoMessage() {}
func (*RelationCmt) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{13} }
func (m *RelationCmt) GetRepHash() string {
if m != nil {
......@@ -858,36 +535,13 @@ func (m *RelationCmt) GetHash() string {
}
type ReplyQueryProposalComment struct {
RltCmt []*RelationCmt `protobuf:"bytes,1,rep,name=rltCmt,proto3" json:"rltCmt,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ReplyQueryProposalComment) Reset() { *m = ReplyQueryProposalComment{} }
func (m *ReplyQueryProposalComment) String() string { return proto.CompactTextString(m) }
func (*ReplyQueryProposalComment) ProtoMessage() {}
func (*ReplyQueryProposalComment) Descriptor() ([]byte, []int) {
return fileDescriptor_07e8e0fa338d4596, []int{14}
}
func (m *ReplyQueryProposalComment) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReplyQueryProposalComment.Unmarshal(m, b)
}
func (m *ReplyQueryProposalComment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReplyQueryProposalComment.Marshal(b, m, deterministic)
}
func (m *ReplyQueryProposalComment) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReplyQueryProposalComment.Merge(m, src)
}
func (m *ReplyQueryProposalComment) XXX_Size() int {
return xxx_messageInfo_ReplyQueryProposalComment.Size(m)
}
func (m *ReplyQueryProposalComment) XXX_DiscardUnknown() {
xxx_messageInfo_ReplyQueryProposalComment.DiscardUnknown(m)
RltCmt []*RelationCmt `protobuf:"bytes,1,rep,name=rltCmt" json:"rltCmt,omitempty"`
}
var xxx_messageInfo_ReplyQueryProposalComment proto.InternalMessageInfo
func (m *ReplyQueryProposalComment) Reset() { *m = ReplyQueryProposalComment{} }
func (m *ReplyQueryProposalComment) String() string { return proto.CompactTextString(m) }
func (*ReplyQueryProposalComment) ProtoMessage() {}
func (*ReplyQueryProposalComment) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{14} }
func (m *ReplyQueryProposalComment) GetRltCmt() []*RelationCmt {
if m != nil {
......@@ -914,53 +568,54 @@ func init() {
proto.RegisterType((*ReplyQueryProposalComment)(nil), "types.ReplyQueryProposalComment")
}
func init() { proto.RegisterFile("rule.proto", fileDescriptor_07e8e0fa338d4596) }
var fileDescriptor_07e8e0fa338d4596 = []byte{
// 718 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0xcd, 0x6f, 0xd4, 0x3e,
0x10, 0x55, 0x36, 0xc9, 0x7e, 0x4c, 0xfb, 0xab, 0x5a, 0xb7, 0xbf, 0x12, 0x0a, 0x42, 0xab, 0x1c,
0xd0, 0xaa, 0x48, 0x8b, 0xf8, 0x52, 0x05, 0x37, 0x58, 0x3e, 0x8a, 0xd4, 0x03, 0x98, 0x8a, 0x1b,
0x87, 0x90, 0x4c, 0xbb, 0x51, 0x13, 0x3b, 0x38, 0xce, 0x8a, 0x95, 0xe0, 0xc4, 0x9f, 0xc1, 0x15,
0x89, 0x3f, 0x92, 0x0b, 0xb2, 0xe3, 0xec, 0x26, 0xdd, 0xb4, 0xb4, 0x37, 0x8f, 0xfd, 0x3c, 0x9e,
0xf7, 0xe6, 0x4d, 0x02, 0x20, 0x8a, 0x04, 0xc7, 0x99, 0xe0, 0x92, 0x13, 0x57, 0xce, 0x33, 0xcc,
0xf7, 0xfe, 0x4b, 0x42, 0x9e, 0xa6, 0x9c, 0x95, 0xbb, 0xfe, 0xef, 0x0e, 0xec, 0x3c, 0x2f, 0x24,
0x67, 0x3c, 0x9d, 0xbf, 0x13, 0x3c, 0xe3, 0x79, 0x90, 0xd0, 0x22, 0x41, 0x72, 0x1f, 0xfa, 0x99,
0xe0, 0x99, 0x5a, 0x7b, 0xd6, 0xd0, 0x1a, 0xad, 0x3d, 0xdc, 0x1e, 0xeb, 0x0c, 0xe3, 0x3a, 0x8c,
0x2e, 0x40, 0xe4, 0x1e, 0xf4, 0xc2, 0x42, 0x68, 0x7c, 0x47, 0xe3, 0xb7, 0x0c, 0x5e, 0x6d, 0x4d,
0x38, 0x3b, 0x89, 0x4f, 0x69, 0x85, 0x20, 0x0f, 0x00, 0x66, 0x5c, 0x22, 0xc5, 0xbc, 0x48, 0xa4,
0x67, 0x37, 0xf0, 0x1f, 0x17, 0x07, 0xb4, 0x06, 0x22, 0xbb, 0xd0, 0xcd, 0x65, 0x20, 0x8b, 0xdc,
0x73, 0x86, 0xd6, 0xc8, 0xa5, 0x26, 0x22, 0x1e, 0xf4, 0x82, 0x28, 0x12, 0x98, 0xe7, 0x9e, 0x3b,
0xb4, 0x46, 0x03, 0x5a, 0x85, 0xea, 0xc6, 0x14, 0xe3, 0xd3, 0xa9, 0xf4, 0xba, 0x43, 0x6b, 0x64,
0x53, 0x13, 0x91, 0x1d, 0x70, 0x63, 0x16, 0xe1, 0x57, 0xaf, 0xa7, 0x13, 0x95, 0x01, 0xb9, 0x03,
0x90, 0x19, 0x66, 0x6f, 0x5f, 0x7a, 0x7d, 0x9d, 0xaa, 0xb6, 0xe3, 0xff, 0xb1, 0x60, 0xbd, 0xa1,
0x10, 0x01, 0x67, 0x8e, 0x81, 0xd0, 0xea, 0xb8, 0x54, 0xaf, 0x55, 0xea, 0x94, 0x33, 0x39, 0xd5,
0x12, 0xb8, 0xb4, 0x0c, 0xc8, 0x26, 0xd8, 0x51, 0x30, 0xd7, 0x34, 0x5d, 0xaa, 0x96, 0x4a, 0x2c,
0xd5, 0x9a, 0xc9, 0xc9, 0xa9, 0x66, 0xd3, 0x2e, 0x96, 0x41, 0x90, 0x7d, 0xd8, 0xcc, 0x65, 0x20,
0xe4, 0x8b, 0x84, 0x87, 0x67, 0x87, 0x25, 0x23, 0x57, 0x33, 0x5a, 0xd9, 0x27, 0x77, 0x61, 0x03,
0x59, 0x54, 0x47, 0x96, 0xdc, 0xcf, 0xed, 0x92, 0x31, 0x10, 0x81, 0x41, 0xf2, 0xaa, 0x89, 0xed,
0x69, 0x6c, 0xcb, 0x89, 0xff, 0x18, 0x08, 0xc5, 0x19, 0x3f, 0xc3, 0x86, 0x04, 0x4d, 0xcd, 0xac,
0x15, 0xcd, 0x8e, 0x60, 0x53, 0x75, 0xf3, 0x3a, 0x77, 0x74, 0x3f, 0xb3, 0x4c, 0xf0, 0x59, 0xe9,
0xa3, 0x3e, 0xad, 0x42, 0xff, 0x00, 0xfe, 0x3f, 0x46, 0x91, 0xc6, 0x2c, 0xb8, 0x5e, 0x4a, 0xff,
0x3b, 0x6c, 0x53, 0x0c, 0x31, 0xce, 0xe4, 0x39, 0x8b, 0x3b, 0x99, 0xc0, 0x99, 0xb1, 0xf7, 0x2d,
0xd3, 0x81, 0xb6, 0x69, 0xa0, 0x1a, 0x48, 0x9e, 0x68, 0x8b, 0x0b, 0x64, 0xd2, 0x58, 0xfc, 0xd2,
0x3b, 0x15, 0xd6, 0x9f, 0xc2, 0xd6, 0x11, 0x0f, 0x83, 0xa4, 0xf1, 0xf8, 0xc1, 0xca, 0x7c, 0x5d,
0x9a, 0x6c, 0x39, 0x67, 0x7b, 0xd0, 0x57, 0x13, 0x8c, 0x4c, 0xe6, 0x5e, 0x67, 0x68, 0x8f, 0x06,
0x74, 0x11, 0xfb, 0xbf, 0x2c, 0xd8, 0xa1, 0xf8, 0xe5, 0x7d, 0x81, 0xa2, 0x39, 0xcd, 0xcb, 0xe1,
0xb1, 0x1a, 0xc3, 0x43, 0xc0, 0x51, 0xd3, 0xa2, 0xe9, 0x0c, 0xa8, 0x5e, 0x2b, 0x0f, 0x87, 0xbc,
0x60, 0xd2, 0xf8, 0xb5, 0x0c, 0xc8, 0x6d, 0x18, 0x44, 0xb1, 0xc0, 0x50, 0xc6, 0x9c, 0x99, 0x09,
0x5c, 0x6e, 0xd4, 0x46, 0xcd, 0x6d, 0x1f, 0xb5, 0x6e, 0x6d, 0xd4, 0xfc, 0x0f, 0xb0, 0x4b, 0x31,
0x4b, 0xe6, 0xab, 0x75, 0x3e, 0x85, 0x41, 0x45, 0x54, 0x95, 0x6a, 0xff, 0x4b, 0x96, 0x25, 0xda,
0x7f, 0x06, 0xeb, 0xc7, 0x22, 0x60, 0xf9, 0x09, 0x8a, 0xd7, 0x05, 0x8b, 0x54, 0x49, 0x41, 0xaa,
0x79, 0x58, 0x65, 0x49, 0x65, 0xa4, 0x28, 0x33, 0x2e, 0xb1, 0xa2, 0xac, 0xd6, 0xfe, 0x27, 0xe8,
0x4d, 0x4a, 0x0d, 0xaf, 0x62, 0x4f, 0x81, 0xd9, 0x61, 0x90, 0x4f, 0x4d, 0x86, 0x2a, 0x54, 0x27,
0xa6, 0x11, 0x5a, 0xb9, 0x01, 0xad, 0x42, 0xff, 0x9b, 0xe2, 0xdb, 0xf0, 0x5f, 0xf5, 0xda, 0x10,
0xec, 0x30, 0x95, 0xc6, 0x00, 0x1b, 0x86, 0xa9, 0x39, 0xa4, 0xea, 0xa8, 0xa6, 0x6c, 0xa7, 0x5d,
0x59, 0xbb, 0xfe, 0x11, 0x23, 0xe0, 0x4c, 0x55, 0x69, 0x4e, 0x49, 0x4e, 0xad, 0xfd, 0x9f, 0x16,
0xdc, 0x38, 0x6f, 0x8a, 0xab, 0xb2, 0x5d, 0x78, 0xa1, 0x73, 0xa1, 0x17, 0xec, 0x8b, 0xbd, 0xe0,
0xb4, 0x57, 0xec, 0xd6, 0xbd, 0xf0, 0xc3, 0x82, 0x35, 0x8a, 0x49, 0xa0, 0xae, 0x4e, 0x52, 0x59,
0xd7, 0xd7, 0xba, 0x50, 0xdf, 0x4e, 0x43, 0xdf, 0xda, 0x8b, 0x76, 0xfb, 0x8b, 0x4e, 0x9b, 0x46,
0x6e, 0x4d, 0xa3, 0x37, 0x70, 0x73, 0xd5, 0x91, 0x95, 0x48, 0xfb, 0xd0, 0x15, 0x89, 0x9c, 0xe8,
0x3e, 0x29, 0x47, 0x92, 0xea, 0x5b, 0xbd, 0x2c, 0x9b, 0x1a, 0xc4, 0xe7, 0xae, 0xfe, 0xad, 0x3e,
0xfa, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x91, 0xe6, 0xf9, 0xc7, 0x7a, 0x07, 0x00, 0x00,
func init() { proto.RegisterFile("rule.proto", fileDescriptor5) }
var fileDescriptor5 = []byte{
// 733 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0x4d, 0x6f, 0xd4, 0x3a,
0x14, 0x55, 0x26, 0xc9, 0x7c, 0xdc, 0xf6, 0x55, 0xad, 0xdb, 0xd7, 0x97, 0xd7, 0xf7, 0x84, 0x46,
0x59, 0xa0, 0x51, 0x91, 0x06, 0xf1, 0xa5, 0x0a, 0x76, 0x65, 0xf8, 0x28, 0x12, 0x0b, 0x30, 0x15,
0x3b, 0x16, 0x21, 0xb9, 0x9d, 0x89, 0x9a, 0xd8, 0xc1, 0x71, 0x46, 0x8c, 0x04, 0x2b, 0x7e, 0x06,
0x5b, 0x24, 0x7e, 0x24, 0x1b, 0x64, 0xc7, 0x99, 0x49, 0x3a, 0x69, 0x69, 0x77, 0xbe, 0xf6, 0xb1,
0x7d, 0xcf, 0xf1, 0x39, 0x09, 0x80, 0x28, 0x12, 0x1c, 0x67, 0x82, 0x4b, 0x4e, 0x5c, 0xb9, 0xc8,
0x30, 0x3f, 0xf8, 0x2b, 0x09, 0x79, 0x9a, 0x72, 0x56, 0xce, 0xfa, 0x3f, 0x3b, 0xb0, 0x77, 0x5c,
0x48, 0xce, 0x78, 0xba, 0x78, 0x23, 0x78, 0xc6, 0xf3, 0x20, 0xa1, 0x45, 0x82, 0xe4, 0x2e, 0xf4,
0x33, 0xc1, 0x33, 0x35, 0xf6, 0xac, 0xa1, 0x35, 0xda, 0xb8, 0xbf, 0x3b, 0xd6, 0x27, 0x8c, 0xeb,
0x30, 0xba, 0x04, 0x91, 0x3b, 0xd0, 0x0b, 0x0b, 0xa1, 0xf1, 0x1d, 0x8d, 0xdf, 0x31, 0x78, 0x35,
0x35, 0xe1, 0xec, 0x2c, 0x9e, 0xd2, 0x0a, 0x41, 0xee, 0x01, 0xcc, 0xb9, 0x44, 0x8a, 0x79, 0x91,
0x48, 0xcf, 0x6e, 0xe0, 0xdf, 0x2f, 0x17, 0x68, 0x0d, 0x44, 0xf6, 0xa1, 0x9b, 0xcb, 0x40, 0x16,
0xb9, 0xe7, 0x0c, 0xad, 0x91, 0x4b, 0x4d, 0x45, 0x3c, 0xe8, 0x05, 0x51, 0x24, 0x30, 0xcf, 0x3d,
0x77, 0x68, 0x8d, 0x06, 0xb4, 0x2a, 0xd5, 0x8e, 0x19, 0xc6, 0xd3, 0x99, 0xf4, 0xba, 0x43, 0x6b,
0x64, 0x53, 0x53, 0x91, 0x3d, 0x70, 0x63, 0x16, 0xe1, 0x67, 0xaf, 0xa7, 0x0f, 0x2a, 0x0b, 0x72,
0x0b, 0x20, 0x33, 0xcc, 0x5e, 0x3d, 0xf3, 0xfa, 0xfa, 0xa8, 0xda, 0x8c, 0xff, 0xcb, 0x82, 0xcd,
0x86, 0x42, 0x04, 0x9c, 0x05, 0x06, 0x42, 0xab, 0xe3, 0x52, 0x3d, 0x56, 0x47, 0xa7, 0x9c, 0xc9,
0x99, 0x96, 0xc0, 0xa5, 0x65, 0x41, 0xb6, 0xc1, 0x8e, 0x82, 0x85, 0xa6, 0xe9, 0x52, 0x35, 0x54,
0x62, 0xa9, 0xa7, 0x99, 0x9c, 0x4d, 0x35, 0x9b, 0x76, 0xb1, 0x0c, 0x82, 0x1c, 0xc2, 0x76, 0x2e,
0x03, 0x21, 0x9f, 0x26, 0x3c, 0x3c, 0x3f, 0x29, 0x19, 0xb9, 0x9a, 0xd1, 0xda, 0x3c, 0xb9, 0x0d,
0x5b, 0xc8, 0xa2, 0x3a, 0xb2, 0xe4, 0x7e, 0x61, 0x96, 0x8c, 0x81, 0x08, 0x0c, 0x92, 0xe7, 0x4d,
0x6c, 0x4f, 0x63, 0x5b, 0x56, 0xfc, 0x87, 0x40, 0x28, 0xce, 0xf9, 0x39, 0x36, 0x24, 0x68, 0x6a,
0x66, 0xad, 0x69, 0x96, 0xc0, 0xb6, 0x7a, 0xcd, 0x9b, 0xec, 0xd1, 0xef, 0x99, 0x65, 0x82, 0xcf,
0x4b, 0x1f, 0xf5, 0x69, 0x55, 0xaa, 0x9d, 0x5c, 0xc4, 0xd3, 0x98, 0x1d, 0x47, 0x91, 0xf0, 0xec,
0xa1, 0xad, 0x76, 0xae, 0x66, 0xfc, 0x23, 0xf8, 0xfb, 0x14, 0x45, 0x1a, 0xb3, 0xe0, 0x66, 0x57,
0xfa, 0x5f, 0x61, 0x97, 0x62, 0x88, 0x71, 0x26, 0x2f, 0x44, 0xc0, 0xc9, 0x04, 0xce, 0x8d, 0xfd,
0xff, 0x33, 0x2f, 0xd4, 0x96, 0x16, 0xaa, 0x81, 0xe4, 0x91, 0x8e, 0x80, 0x40, 0x26, 0x4d, 0x04,
0xae, 0xdc, 0x53, 0x61, 0xfd, 0x19, 0xec, 0xbc, 0xe6, 0x61, 0x90, 0x34, 0x2e, 0x3f, 0x5a, 0xcb,
0xdf, 0x95, 0x87, 0xad, 0x72, 0x78, 0x00, 0x7d, 0x95, 0x70, 0x64, 0x32, 0xf7, 0x3a, 0x5a, 0xa3,
0x65, 0xed, 0xff, 0xb0, 0x60, 0x8f, 0xe2, 0xa7, 0xb7, 0x05, 0x8a, 0x66, 0xda, 0x57, 0xe1, 0xb2,
0x1a, 0xe1, 0x22, 0xe0, 0xa8, 0x34, 0x69, 0x3a, 0x03, 0xaa, 0xc7, 0xca, 0xe3, 0x21, 0x2f, 0x98,
0x34, 0x7e, 0x2e, 0x0b, 0xf2, 0x3f, 0x0c, 0xa2, 0x58, 0x60, 0x28, 0x63, 0xce, 0x4c, 0x42, 0x57,
0x13, 0xb5, 0x28, 0xba, 0xed, 0x51, 0xec, 0xd6, 0xa2, 0xe8, 0xbf, 0x83, 0x7d, 0x8a, 0x59, 0xb2,
0x58, 0xef, 0xf3, 0x31, 0x0c, 0x2a, 0xa2, 0xaa, 0x55, 0xfb, 0x4f, 0xb2, 0xac, 0xd0, 0xfe, 0x13,
0xd8, 0x3c, 0x15, 0x01, 0xcb, 0xcf, 0x50, 0xbc, 0x28, 0x58, 0xa4, 0x5a, 0x0a, 0x52, 0xcd, 0xc3,
0x2a, 0x5b, 0x2a, 0x2b, 0x45, 0x99, 0x71, 0x89, 0x15, 0x65, 0x35, 0xf6, 0x3f, 0x40, 0x6f, 0x52,
0x6a, 0x78, 0x1d, 0xfb, 0x0a, 0xcc, 0x4e, 0x82, 0x7c, 0x66, 0x4e, 0xa8, 0x4a, 0xb5, 0x62, 0x1e,
0x42, 0x2b, 0x37, 0xa0, 0x55, 0xe9, 0x7f, 0x51, 0x7c, 0x1b, 0xfe, 0xab, 0x6e, 0x1b, 0x82, 0x1d,
0xa6, 0xd2, 0x18, 0x60, 0xcb, 0x30, 0x35, 0x8b, 0x54, 0x2d, 0xd5, 0x94, 0xed, 0xb4, 0x2b, 0x6b,
0xd7, 0x3f, 0x72, 0x04, 0x9c, 0x99, 0x6a, 0xcd, 0x29, 0xc9, 0xa9, 0xb1, 0xff, 0xdd, 0x82, 0x7f,
0x2e, 0x9a, 0xe2, 0xba, 0x6c, 0x97, 0x5e, 0xe8, 0x5c, 0xea, 0x05, 0xfb, 0x72, 0x2f, 0x38, 0xed,
0x1d, 0xbb, 0x75, 0x2f, 0x7c, 0xb3, 0x60, 0x83, 0x62, 0x12, 0xa8, 0xad, 0x93, 0x54, 0xd6, 0xf5,
0xb5, 0x2e, 0xd5, 0xb7, 0xd3, 0xd0, 0xb7, 0x76, 0xa3, 0xdd, 0x7e, 0xa3, 0xd3, 0xa6, 0x91, 0x5b,
0xd3, 0xe8, 0x25, 0xfc, 0xbb, 0xee, 0xc8, 0x4a, 0xa4, 0x43, 0xe8, 0x8a, 0x44, 0x4e, 0xf4, 0x3b,
0x29, 0x47, 0x92, 0xea, 0x5b, 0xbe, 0x6a, 0x9b, 0x1a, 0xc4, 0xc7, 0xae, 0xfe, 0xed, 0x3e, 0xf8,
0x1d, 0x00, 0x00, 0xff, 0xff, 0x04, 0xe9, 0xf7, 0xf7, 0x9a, 0x07, 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