Commit 83b88f85 authored by liuyuhang's avatar liuyuhang

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

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