Commit a7b48dc4 authored by liuyuhang's avatar liuyuhang

add show active cmd

parent 1b1a2106
......@@ -31,6 +31,7 @@ func AutonomyCmd() *cobra.Command {
VoteProposalBoardCmd(),
TerminateProposalBoardCmd(),
ShowProposalBoardCmd(),
ShowActiveBoardCmd(),
)
// project
......@@ -198,7 +199,7 @@ func voteProposalBoard(cmd *cobra.Command, args []string) {
isapp = true
}
var originAddrs []string
if len(originAddr) > 0 {
if len(originAddr) > 0 {
originAddrs = strings.Split(originAddr, "-")
}
......@@ -322,3 +323,26 @@ func showProposalBoard(cmd *cobra.Command, args []string) {
ctx := jsonrpc.NewRPCCtx(rpcLaddr, "Chain33.Query", params, rep)
ctx.Run()
}
// ShowActiveBoardCmd 显示提案查询信息
func ShowActiveBoardCmd() *cobra.Command {
cmd := &cobra.Command{
Use: "showActiveBoardInfo",
Short: "show active board info",
Run: showActiveBoard,
}
return cmd
}
func showActiveBoard(cmd *cobra.Command, args []string) {
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
params := rpctypes.Query4Jrpc{}
params.Execer = auty.AutonomyX
params.FuncName = auty.GetActiveBoard
params.Payload = types.MustPBToJSON(&types.ReqString{})
rep := &auty.ActiveBoard{}
ctx := jsonrpc.NewRPCCtx(rpcLaddr, "Chain33.Query", params, rep)
ctx.Run()
}
......@@ -220,7 +220,7 @@ func pubVoteProposalProject(cmd *cobra.Command, args []string) {
}
var originAddrs []string
if len(originAddr) > 0 {
if len(originAddr) > 0 {
originAddrs = strings.Split(originAddr, "-")
}
......
......@@ -158,7 +158,7 @@ func voteProposalRule(cmd *cobra.Command, args []string) {
}
var originAddrs []string
if len(originAddr) > 0 {
if len(originAddr) > 0 {
originAddrs = strings.Split(originAddr, "-")
}
......
......@@ -134,3 +134,16 @@ func (a *Autonomy) listProposalBoard(req *auty.ReqQueryProposalBoard) (types.Mes
}
return &rep, nil
}
func (a *Autonomy) getActiveBoard() (types.Message, error) {
value, err := a.GetStateDB().Get(activeBoardID())
if err != nil {
return nil, err
}
prop := &auty.ActiveBoard{}
err = types.Decode(value, prop)
if err != nil {
return nil, err
}
return prop, nil
}
......@@ -357,6 +357,19 @@ func TestListProposalBoard(t *testing.T) {
assert.Equal(t, rsp.(*auty.ReplyQueryProposalBoard).PropBoards[1].Index, int32(testcase2[0].index))
}
func TestGetActiveBoard(t *testing.T) {
au := &Autonomy{
dapp.DriverBase{},
}
_, storedb, _ := util.CreateTestDB()
au.SetStateDB(storedb)
storedb.Set(activeBoardID(), types.Encode(&auty.ActiveBoard{Boards: []string{"111"}}))
rsp, err := au.getActiveBoard()
assert.NoError(t, err)
assert.NotNil(t, rsp)
assert.Equal(t, len(rsp.(*auty.ActiveBoard).Boards), 1)
}
func checkExecLocalBoard(t *testing.T, kvdb db.KVDB, cur *auty.AutonomyProposalBoard) {
table := NewBoardTable(kvdb)
query := table.GetQuery(kvdb)
......
......@@ -387,13 +387,6 @@ func (a *action) pubVotePropProject(voteProb *auty.PubVoteProposalProject) (*typ
}
logs = append(logs, receiptPrj.Logs...)
kv = append(kv, receiptPrj.KV...)
// 需要更新该董事会的累计审批金
pakv, err := a.updatePeriodAmount(cur.PropProject.Amount)
if err != nil {
alog.Error("pubVotePropProject ", "addr", cur.Address, "execaddr", a.execaddr, "updatePeriodAmount fail", err)
return nil, err
}
kv = append(kv, pakv)
}
key := propProjectID(voteProb.ProposalID)
......
......@@ -458,6 +458,14 @@ func checkVoteProposalProjectResult(t *testing.T, stateDB dbm.KV, proposalID str
assert.NoError(t, err)
assert.Equal(t, int32(auty.AutonomyStatusTmintPropProject), cur.Status)
assert.Equal(t, AddrA, cur.Address)
// 更新董事会累计审批金
value, err = stateDB.Get(activeBoardID())
assert.NoError(t, err)
aBd := &auty.ActiveBoard{}
err = types.Decode(value, aBd)
assert.NoError(t, err)
assert.Equal(t, testProjectAmount, aBd.Amount)
}
func pubVoteProposalProject(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB dbm.KV, kvdb dbm.KVDB, save bool) {
......@@ -486,7 +494,7 @@ func pubVoteProposalProject(t *testing.T, env *ExecEnv, exec drivers.Driver, sta
exec.SetAPI(api)
proposalID := env.txHash
// 4人参与投票,3人赞成票,1人反对票
// 3人参与投票,2人赞成票,1人反对票
type record struct {
priv string
appr bool
......@@ -566,6 +574,14 @@ func checkPubVoteProposalProjectResult(t *testing.T, stateDB dbm.KV, proposalID
assert.NoError(t, err)
assert.Equal(t, int32(auty.AutonomyStatusTmintPropProject), cur.Status)
assert.Equal(t, AddrA, cur.Address)
// 更新董事会累计审批金
value, err = stateDB.Get(activeBoardID())
assert.NoError(t, err)
aBd := &auty.ActiveBoard{}
err = types.Decode(value, aBd)
assert.NoError(t, err)
assert.Equal(t, int64(0), aBd.Amount)
}
func pubVoteProposalProjectTx(parm *auty.PubVoteProposalProject) (*types.Transaction, error) {
......
......@@ -19,6 +19,11 @@ func (a *Autonomy) Query_ListProposalBoard(in *auty.ReqQueryProposalBoard) (type
return a.listProposalBoard(in)
}
// Query_GetActiveBoard 查询当前board
func (a *Autonomy) Query_GetActiveBoard(in *types.ReqString) (types.Message, error) {
return a.getActiveBoard()
}
// Query_GetProposalProject 查询提案项目
func (a *Autonomy) Query_GetProposalProject(in *types.ReqString) (types.Message, error) {
return a.getProposalProject(in)
......
......@@ -45,9 +45,9 @@ func (a *action) propRule(prob *auty.ProposalRule) (*types.Receipt, error) {
}
if (prob.RuleCfg.BoardApproveRatio > 0 && (prob.RuleCfg.BoardApproveRatio > maxBoardApproveRatio || prob.RuleCfg.BoardApproveRatio < minBoardApproveRatio)) ||
(prob.RuleCfg.PubOpposeRatio > 0 && (prob.RuleCfg.PubOpposeRatio > maxPubOpposeRatio || prob.RuleCfg.PubOpposeRatio < minPubOpposeRatio)) ||
(prob.RuleCfg.PublicPeriod > 0 && (prob.RuleCfg.PublicPeriod > maxPublicPeriod || prob.RuleCfg.PublicPeriod < minPublicPeriod )) ||
(prob.RuleCfg.PublicPeriod > 0 && (prob.RuleCfg.PublicPeriod > maxPublicPeriod || prob.RuleCfg.PublicPeriod < minPublicPeriod)) ||
(prob.RuleCfg.LargeProjectAmount > 0 && (prob.RuleCfg.LargeProjectAmount > maxLargeProjectAmount || prob.RuleCfg.LargeProjectAmount < minLargeProjectAmount)) ||
(prob.RuleCfg.ProposalAmount > 0 && (prob.RuleCfg.ProposalAmount > maxProposalAmount || prob.RuleCfg.ProposalAmount < minProposalAmount )){
(prob.RuleCfg.ProposalAmount > 0 && (prob.RuleCfg.ProposalAmount > maxProposalAmount || prob.RuleCfg.ProposalAmount < minProposalAmount)) {
alog.Error("propRule RuleCfg invaild", "ruleCfg", prob.RuleCfg)
return nil, types.ErrInvalidParam
}
......
......@@ -80,6 +80,17 @@ func TestPropRule(t *testing.T) {
StartBlockHeight: env.blockHeight + 5,
EndBlockHeight: env.blockHeight + startEndBlockPeriod + 10,
},
{ // 配置参数其中之一不合法
RuleCfg: &auty.RuleConfig{
BoardApproveRatio: 1,
PubOpposeRatio: minPubOpposeRatio + 1,
ProposalAmount: minProposalAmount + 1,
LargeProjectAmount: minLargeProjectAmount + 1,
PublicPeriod: minPublicPeriod + 1,
},
StartBlockHeight: env.blockHeight + 5,
EndBlockHeight: env.blockHeight + startEndBlockPeriod + 10,
},
}
result := []error{
......@@ -88,6 +99,7 @@ func TestPropRule(t *testing.T) {
nil,
types.ErrInvalidParam,
types.ErrInvalidParam,
types.ErrInvalidParam,
}
exec.SetEnv(env.blockHeight, env.blockTime, env.difficulty)
......
......@@ -96,3 +96,12 @@ func testListProposalBoardCmd(t *testing.T, jrpc *jsonclient.JSONClient) error {
rep = &auty.ReplyQueryProposalBoard{}
return jrpc.Call("Chain33.Query", params, rep)
}
func testGetActiveBoardCmd(t *testing.T, jrpc *jsonclient.JSONClient) error {
var rep interface{}
var params rpctypes.Query4Jrpc
params.FuncName = auty.GetActiveBoard
params.Payload = types.MustPBToJSON(&types.ReqString{})
rep = &auty.ActiveBoard{}
return jrpc.Call("Chain33.Query", params, rep)
}
......@@ -42,6 +42,7 @@ func TestJRPCChannel(t *testing.T) {
{fn: testTerminateProposalBoardTxCmd},
{fn: testGetProposalBoardCmd},
{fn: testListProposalBoardCmd},
{fn: testGetActiveBoardCmd},
{fn: testPropProjectTxCmd},
{fn: testRevokeProposalProjectTxCmd},
......
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: autonomy.proto
/*
Package types is a generated protocol buffer package.
It is generated from these files:
autonomy.proto
board.proto
change.proto
lcommon.proto
project.proto
rule.proto
It has these top-level messages:
AutonomyAction
AutonomyProposalBoard
ProposalBoard
RevokeProposalBoard
VoteProposalBoard
TerminateProposalBoard
ReceiptProposalBoard
LocalProposalBoard
ReqQueryProposalBoard
ReplyQueryProposalBoard
AutonomyProposalChange
ProposalChange
Change
RevokeProposalChange
VoteProposalChange
TerminateProposalChange
ReceiptProposalChange
LocalProposalChange
ReqQueryProposalChange
ReplyQueryProposalChange
VoteResult
PublicVote
VotesRecord
RuleConfig
ActiveBoard
AutonomyProposalProject
ProposalProject
RevokeProposalProject
VoteProposalProject
PubVoteProposalProject
TerminateProposalProject
ReceiptProposalProject
LocalProposalProject
ReqQueryProposalProject
ReplyQueryProposalProject
AutonomyProposalRule
ProposalRule
RevokeProposalRule
VoteProposalRule
TerminateProposalRule
ReceiptProposalRule
LocalProposalRule
ReqQueryProposalRule
ReplyQueryProposalRule
TransferFund
Comment
ReceiptProposalComment
ReqQueryProposalComment
RelationCmt
ReplyQueryProposalComment
*/
package types
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
// message for execs.Autonomy
type AutonomyAction struct {
// Types that are valid to be assigned to Value:
// *AutonomyAction_PropBoard
// *AutonomyAction_RvkPropBoard
// *AutonomyAction_VotePropBoard
// *AutonomyAction_TmintPropBoard
// *AutonomyAction_PropProject
// *AutonomyAction_RvkPropProject
// *AutonomyAction_VotePropProject
// *AutonomyAction_PubVotePropProject
// *AutonomyAction_TmintPropProject
// *AutonomyAction_PropRule
// *AutonomyAction_RvkPropRule
// *AutonomyAction_VotePropRule
// *AutonomyAction_TmintPropRule
// *AutonomyAction_Transfer
// *AutonomyAction_CommentProp
// *AutonomyAction_PropChange
// *AutonomyAction_RvkPropChange
// *AutonomyAction_VotePropChange
// *AutonomyAction_TmintPropChange
Value isAutonomyAction_Value `protobuf_oneof:"value"`
Ty int32 `protobuf:"varint,20,opt,name=ty" json:"ty,omitempty"`
}
func (m *AutonomyAction) Reset() { *m = AutonomyAction{} }
func (m *AutonomyAction) String() string { return proto.CompactTextString(m) }
func (*AutonomyAction) ProtoMessage() {}
func (*AutonomyAction) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
type isAutonomyAction_Value interface {
isAutonomyAction_Value()
}
type AutonomyAction_PropBoard struct {
PropBoard *ProposalBoard `protobuf:"bytes,1,opt,name=propBoard,oneof"`
}
type AutonomyAction_RvkPropBoard struct {
RvkPropBoard *RevokeProposalBoard `protobuf:"bytes,2,opt,name=rvkPropBoard,oneof"`
}
type AutonomyAction_VotePropBoard struct {
VotePropBoard *VoteProposalBoard `protobuf:"bytes,3,opt,name=votePropBoard,oneof"`
}
type AutonomyAction_TmintPropBoard struct {
TmintPropBoard *TerminateProposalBoard `protobuf:"bytes,4,opt,name=tmintPropBoard,oneof"`
}
type AutonomyAction_PropProject struct {
PropProject *ProposalProject `protobuf:"bytes,5,opt,name=propProject,oneof"`
}
type AutonomyAction_RvkPropProject struct {
RvkPropProject *RevokeProposalProject `protobuf:"bytes,6,opt,name=rvkPropProject,oneof"`
}
type AutonomyAction_VotePropProject struct {
VotePropProject *VoteProposalProject `protobuf:"bytes,7,opt,name=votePropProject,oneof"`
}
type AutonomyAction_PubVotePropProject struct {
PubVotePropProject *PubVoteProposalProject `protobuf:"bytes,8,opt,name=pubVotePropProject,oneof"`
}
type AutonomyAction_TmintPropProject struct {
TmintPropProject *TerminateProposalProject `protobuf:"bytes,9,opt,name=tmintPropProject,oneof"`
}
type AutonomyAction_PropRule struct {
PropRule *ProposalRule `protobuf:"bytes,10,opt,name=propRule,oneof"`
}
type AutonomyAction_RvkPropRule struct {
RvkPropRule *RevokeProposalRule `protobuf:"bytes,11,opt,name=rvkPropRule,oneof"`
}
type AutonomyAction_VotePropRule struct {
VotePropRule *VoteProposalRule `protobuf:"bytes,12,opt,name=votePropRule,oneof"`
}
type AutonomyAction_TmintPropRule struct {
TmintPropRule *TerminateProposalRule `protobuf:"bytes,13,opt,name=tmintPropRule,oneof"`
}
type AutonomyAction_Transfer struct {
Transfer *TransferFund `protobuf:"bytes,14,opt,name=transfer,oneof"`
}
type AutonomyAction_CommentProp struct {
CommentProp *Comment `protobuf:"bytes,15,opt,name=commentProp,oneof"`
}
type AutonomyAction_PropChange struct {
PropChange *ProposalChange `protobuf:"bytes,16,opt,name=propChange,oneof"`
}
type AutonomyAction_RvkPropChange struct {
RvkPropChange *RevokeProposalChange `protobuf:"bytes,17,opt,name=rvkPropChange,oneof"`
}
type AutonomyAction_VotePropChange struct {
VotePropChange *VoteProposalChange `protobuf:"bytes,18,opt,name=votePropChange,oneof"`
}
type AutonomyAction_TmintPropChange struct {
TmintPropChange *TerminateProposalChange `protobuf:"bytes,19,opt,name=tmintPropChange,oneof"`
}
func (*AutonomyAction_PropBoard) isAutonomyAction_Value() {}
func (*AutonomyAction_RvkPropBoard) isAutonomyAction_Value() {}
func (*AutonomyAction_VotePropBoard) isAutonomyAction_Value() {}
func (*AutonomyAction_TmintPropBoard) isAutonomyAction_Value() {}
func (*AutonomyAction_PropProject) isAutonomyAction_Value() {}
func (*AutonomyAction_RvkPropProject) isAutonomyAction_Value() {}
func (*AutonomyAction_VotePropProject) isAutonomyAction_Value() {}
func (*AutonomyAction_PubVotePropProject) isAutonomyAction_Value() {}
func (*AutonomyAction_TmintPropProject) isAutonomyAction_Value() {}
func (*AutonomyAction_PropRule) isAutonomyAction_Value() {}
func (*AutonomyAction_RvkPropRule) isAutonomyAction_Value() {}
func (*AutonomyAction_VotePropRule) isAutonomyAction_Value() {}
func (*AutonomyAction_TmintPropRule) isAutonomyAction_Value() {}
func (*AutonomyAction_Transfer) isAutonomyAction_Value() {}
func (*AutonomyAction_CommentProp) isAutonomyAction_Value() {}
func (*AutonomyAction_PropChange) isAutonomyAction_Value() {}
func (*AutonomyAction_RvkPropChange) isAutonomyAction_Value() {}
func (*AutonomyAction_VotePropChange) isAutonomyAction_Value() {}
func (*AutonomyAction_TmintPropChange) isAutonomyAction_Value() {}
func (m *AutonomyAction) GetValue() isAutonomyAction_Value {
if m != nil {
return m.Value
}
return nil
}
func (m *AutonomyAction) GetPropBoard() *ProposalBoard {
if x, ok := m.GetValue().(*AutonomyAction_PropBoard); ok {
return x.PropBoard
}
return nil
}
func (m *AutonomyAction) GetRvkPropBoard() *RevokeProposalBoard {
if x, ok := m.GetValue().(*AutonomyAction_RvkPropBoard); ok {
return x.RvkPropBoard
}
return nil
}
func (m *AutonomyAction) GetVotePropBoard() *VoteProposalBoard {
if x, ok := m.GetValue().(*AutonomyAction_VotePropBoard); ok {
return x.VotePropBoard
}
return nil
}
func (m *AutonomyAction) GetTmintPropBoard() *TerminateProposalBoard {
if x, ok := m.GetValue().(*AutonomyAction_TmintPropBoard); ok {
return x.TmintPropBoard
}
return nil
}
func (m *AutonomyAction) GetPropProject() *ProposalProject {
if x, ok := m.GetValue().(*AutonomyAction_PropProject); ok {
return x.PropProject
}
return nil
}
func (m *AutonomyAction) GetRvkPropProject() *RevokeProposalProject {
if x, ok := m.GetValue().(*AutonomyAction_RvkPropProject); ok {
return x.RvkPropProject
}
return nil
}
func (m *AutonomyAction) GetVotePropProject() *VoteProposalProject {
if x, ok := m.GetValue().(*AutonomyAction_VotePropProject); ok {
return x.VotePropProject
}
return nil
}
func (m *AutonomyAction) GetPubVotePropProject() *PubVoteProposalProject {
if x, ok := m.GetValue().(*AutonomyAction_PubVotePropProject); ok {
return x.PubVotePropProject
}
return nil
}
func (m *AutonomyAction) GetTmintPropProject() *TerminateProposalProject {
if x, ok := m.GetValue().(*AutonomyAction_TmintPropProject); ok {
return x.TmintPropProject
}
return nil
}
func (m *AutonomyAction) GetPropRule() *ProposalRule {
if x, ok := m.GetValue().(*AutonomyAction_PropRule); ok {
return x.PropRule
}
return nil
}
func (m *AutonomyAction) GetRvkPropRule() *RevokeProposalRule {
if x, ok := m.GetValue().(*AutonomyAction_RvkPropRule); ok {
return x.RvkPropRule
}
return nil
}
func (m *AutonomyAction) GetVotePropRule() *VoteProposalRule {
if x, ok := m.GetValue().(*AutonomyAction_VotePropRule); ok {
return x.VotePropRule
}
return nil
}
func (m *AutonomyAction) GetTmintPropRule() *TerminateProposalRule {
if x, ok := m.GetValue().(*AutonomyAction_TmintPropRule); ok {
return x.TmintPropRule
}
return nil
}
func (m *AutonomyAction) GetTransfer() *TransferFund {
if x, ok := m.GetValue().(*AutonomyAction_Transfer); ok {
return x.Transfer
}
return nil
}
func (m *AutonomyAction) GetCommentProp() *Comment {
if x, ok := m.GetValue().(*AutonomyAction_CommentProp); ok {
return x.CommentProp
}
return nil
}
func (m *AutonomyAction) GetPropChange() *ProposalChange {
if x, ok := m.GetValue().(*AutonomyAction_PropChange); ok {
return x.PropChange
}
return nil
}
func (m *AutonomyAction) GetRvkPropChange() *RevokeProposalChange {
if x, ok := m.GetValue().(*AutonomyAction_RvkPropChange); ok {
return x.RvkPropChange
}
return nil
}
func (m *AutonomyAction) GetVotePropChange() *VoteProposalChange {
if x, ok := m.GetValue().(*AutonomyAction_VotePropChange); ok {
return x.VotePropChange
}
return nil
}
func (m *AutonomyAction) GetTmintPropChange() *TerminateProposalChange {
if x, ok := m.GetValue().(*AutonomyAction_TmintPropChange); ok {
return x.TmintPropChange
}
return nil
}
func (m *AutonomyAction) GetTy() int32 {
if m != nil {
return m.Ty
}
return 0
}
// XXX_OneofFuncs is for the internal use of the proto package.
func (*AutonomyAction) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _AutonomyAction_OneofMarshaler, _AutonomyAction_OneofUnmarshaler, _AutonomyAction_OneofSizer, []interface{}{
(*AutonomyAction_PropBoard)(nil),
(*AutonomyAction_RvkPropBoard)(nil),
(*AutonomyAction_VotePropBoard)(nil),
(*AutonomyAction_TmintPropBoard)(nil),
(*AutonomyAction_PropProject)(nil),
(*AutonomyAction_RvkPropProject)(nil),
(*AutonomyAction_VotePropProject)(nil),
(*AutonomyAction_PubVotePropProject)(nil),
(*AutonomyAction_TmintPropProject)(nil),
(*AutonomyAction_PropRule)(nil),
(*AutonomyAction_RvkPropRule)(nil),
(*AutonomyAction_VotePropRule)(nil),
(*AutonomyAction_TmintPropRule)(nil),
(*AutonomyAction_Transfer)(nil),
(*AutonomyAction_CommentProp)(nil),
(*AutonomyAction_PropChange)(nil),
(*AutonomyAction_RvkPropChange)(nil),
(*AutonomyAction_VotePropChange)(nil),
(*AutonomyAction_TmintPropChange)(nil),
}
}
func _AutonomyAction_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*AutonomyAction)
// value
switch x := m.Value.(type) {
case *AutonomyAction_PropBoard:
b.EncodeVarint(1<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.PropBoard); err != nil {
return err
}
case *AutonomyAction_RvkPropBoard:
b.EncodeVarint(2<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.RvkPropBoard); err != nil {
return err
}
case *AutonomyAction_VotePropBoard:
b.EncodeVarint(3<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.VotePropBoard); err != nil {
return err
}
case *AutonomyAction_TmintPropBoard:
b.EncodeVarint(4<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.TmintPropBoard); err != nil {
return err
}
case *AutonomyAction_PropProject:
b.EncodeVarint(5<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.PropProject); err != nil {
return err
}
case *AutonomyAction_RvkPropProject:
b.EncodeVarint(6<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.RvkPropProject); err != nil {
return err
}
case *AutonomyAction_VotePropProject:
b.EncodeVarint(7<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.VotePropProject); err != nil {
return err
}
case *AutonomyAction_PubVotePropProject:
b.EncodeVarint(8<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.PubVotePropProject); err != nil {
return err
}
case *AutonomyAction_TmintPropProject:
b.EncodeVarint(9<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.TmintPropProject); err != nil {
return err
}
case *AutonomyAction_PropRule:
b.EncodeVarint(10<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.PropRule); err != nil {
return err
}
case *AutonomyAction_RvkPropRule:
b.EncodeVarint(11<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.RvkPropRule); err != nil {
return err
}
case *AutonomyAction_VotePropRule:
b.EncodeVarint(12<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.VotePropRule); err != nil {
return err
}
case *AutonomyAction_TmintPropRule:
b.EncodeVarint(13<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.TmintPropRule); err != nil {
return err
}
case *AutonomyAction_Transfer:
b.EncodeVarint(14<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.Transfer); err != nil {
return err
}
case *AutonomyAction_CommentProp:
b.EncodeVarint(15<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.CommentProp); err != nil {
return err
}
case *AutonomyAction_PropChange:
b.EncodeVarint(16<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.PropChange); err != nil {
return err
}
case *AutonomyAction_RvkPropChange:
b.EncodeVarint(17<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.RvkPropChange); err != nil {
return err
}
case *AutonomyAction_VotePropChange:
b.EncodeVarint(18<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.VotePropChange); err != nil {
return err
}
case *AutonomyAction_TmintPropChange:
b.EncodeVarint(19<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.TmintPropChange); err != nil {
return err
}
case nil:
default:
return fmt.Errorf("AutonomyAction.Value has unexpected type %T", x)
}
return nil
}
func _AutonomyAction_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*AutonomyAction)
switch tag {
case 1: // value.propBoard
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(ProposalBoard)
err := b.DecodeMessage(msg)
m.Value = &AutonomyAction_PropBoard{msg}
return true, err
case 2: // value.rvkPropBoard
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(RevokeProposalBoard)
err := b.DecodeMessage(msg)
m.Value = &AutonomyAction_RvkPropBoard{msg}
return true, err
case 3: // value.votePropBoard
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(VoteProposalBoard)
err := b.DecodeMessage(msg)
m.Value = &AutonomyAction_VotePropBoard{msg}
return true, err
case 4: // value.tmintPropBoard
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(TerminateProposalBoard)
err := b.DecodeMessage(msg)
m.Value = &AutonomyAction_TmintPropBoard{msg}
return true, err
case 5: // value.propProject
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(ProposalProject)
err := b.DecodeMessage(msg)
m.Value = &AutonomyAction_PropProject{msg}
return true, err
case 6: // value.rvkPropProject
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(RevokeProposalProject)
err := b.DecodeMessage(msg)
m.Value = &AutonomyAction_RvkPropProject{msg}
return true, err
case 7: // value.votePropProject
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(VoteProposalProject)
err := b.DecodeMessage(msg)
m.Value = &AutonomyAction_VotePropProject{msg}
return true, err
case 8: // value.pubVotePropProject
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(PubVoteProposalProject)
err := b.DecodeMessage(msg)
m.Value = &AutonomyAction_PubVotePropProject{msg}
return true, err
case 9: // value.tmintPropProject
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(TerminateProposalProject)
err := b.DecodeMessage(msg)
m.Value = &AutonomyAction_TmintPropProject{msg}
return true, err
case 10: // value.propRule
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(ProposalRule)
err := b.DecodeMessage(msg)
m.Value = &AutonomyAction_PropRule{msg}
return true, err
case 11: // value.rvkPropRule
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(RevokeProposalRule)
err := b.DecodeMessage(msg)
m.Value = &AutonomyAction_RvkPropRule{msg}
return true, err
case 12: // value.votePropRule
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(VoteProposalRule)
err := b.DecodeMessage(msg)
m.Value = &AutonomyAction_VotePropRule{msg}
return true, err
case 13: // value.tmintPropRule
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(TerminateProposalRule)
err := b.DecodeMessage(msg)
m.Value = &AutonomyAction_TmintPropRule{msg}
return true, err
case 14: // value.transfer
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(TransferFund)
err := b.DecodeMessage(msg)
m.Value = &AutonomyAction_Transfer{msg}
return true, err
case 15: // value.commentProp
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(Comment)
err := b.DecodeMessage(msg)
m.Value = &AutonomyAction_CommentProp{msg}
return true, err
case 16: // value.propChange
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(ProposalChange)
err := b.DecodeMessage(msg)
m.Value = &AutonomyAction_PropChange{msg}
return true, err
case 17: // value.rvkPropChange
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(RevokeProposalChange)
err := b.DecodeMessage(msg)
m.Value = &AutonomyAction_RvkPropChange{msg}
return true, err
case 18: // value.votePropChange
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(VoteProposalChange)
err := b.DecodeMessage(msg)
m.Value = &AutonomyAction_VotePropChange{msg}
return true, err
case 19: // value.tmintPropChange
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(TerminateProposalChange)
err := b.DecodeMessage(msg)
m.Value = &AutonomyAction_TmintPropChange{msg}
return true, err
default:
return false, nil
}
}
func _AutonomyAction_OneofSizer(msg proto.Message) (n int) {
m := msg.(*AutonomyAction)
// value
switch x := m.Value.(type) {
case *AutonomyAction_PropBoard:
s := proto.Size(x.PropBoard)
n += proto.SizeVarint(1<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_RvkPropBoard:
s := proto.Size(x.RvkPropBoard)
n += proto.SizeVarint(2<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_VotePropBoard:
s := proto.Size(x.VotePropBoard)
n += proto.SizeVarint(3<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_TmintPropBoard:
s := proto.Size(x.TmintPropBoard)
n += proto.SizeVarint(4<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_PropProject:
s := proto.Size(x.PropProject)
n += proto.SizeVarint(5<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_RvkPropProject:
s := proto.Size(x.RvkPropProject)
n += proto.SizeVarint(6<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_VotePropProject:
s := proto.Size(x.VotePropProject)
n += proto.SizeVarint(7<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_PubVotePropProject:
s := proto.Size(x.PubVotePropProject)
n += proto.SizeVarint(8<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_TmintPropProject:
s := proto.Size(x.TmintPropProject)
n += proto.SizeVarint(9<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_PropRule:
s := proto.Size(x.PropRule)
n += proto.SizeVarint(10<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_RvkPropRule:
s := proto.Size(x.RvkPropRule)
n += proto.SizeVarint(11<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_VotePropRule:
s := proto.Size(x.VotePropRule)
n += proto.SizeVarint(12<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_TmintPropRule:
s := proto.Size(x.TmintPropRule)
n += proto.SizeVarint(13<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_Transfer:
s := proto.Size(x.Transfer)
n += proto.SizeVarint(14<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_CommentProp:
s := proto.Size(x.CommentProp)
n += proto.SizeVarint(15<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_PropChange:
s := proto.Size(x.PropChange)
n += proto.SizeVarint(16<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_RvkPropChange:
s := proto.Size(x.RvkPropChange)
n += proto.SizeVarint(17<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_VotePropChange:
s := proto.Size(x.VotePropChange)
n += proto.SizeVarint(18<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *AutonomyAction_TmintPropChange:
s := proto.Size(x.TmintPropChange)
n += proto.SizeVarint(19<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case nil:
default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
}
return n
}
func init() {
proto.RegisterType((*AutonomyAction)(nil), "types.AutonomyAction")
}
func init() { proto.RegisterFile("autonomy.proto", fileDescriptor0) }
var fileDescriptor0 = []byte{
// 504 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x94, 0x4d, 0x6f, 0xd3, 0x40,
0x10, 0x40, 0xd3, 0x40, 0xfa, 0x31, 0x8e, 0x9d, 0x32, 0x2d, 0x60, 0xc2, 0x57, 0xc5, 0xa9, 0xa7,
0x48, 0x14, 0x24, 0x24, 0xa4, 0x4a, 0x6d, 0x83, 0x42, 0x84, 0x84, 0x88, 0xac, 0xaa, 0x77, 0x27,
0x2c, 0x10, 0x1a, 0x7b, 0xad, 0xcd, 0x3a, 0x52, 0x7e, 0x00, 0xff, 0x1b, 0x79, 0x3c, 0x5e, 0x7b,
0x37, 0xee, 0x2d, 0xf6, 0xce, 0x7b, 0xd1, 0x3c, 0x27, 0x86, 0x20, 0xce, 0xb5, 0x4c, 0x65, 0xb2,
0x1d, 0x65, 0x4a, 0x6a, 0x89, 0x3d, 0xbd, 0xcd, 0xc4, 0x7a, 0xe8, 0xcd, 0x65, 0xac, 0x7e, 0x96,
0xf7, 0x86, 0x7e, 0xa6, 0xe4, 0x5f, 0xb1, 0xd0, 0x7c, 0x09, 0x2a, 0x5f, 0x09, 0xfe, 0xdc, 0x5f,
0xfc, 0x89, 0xd3, 0xdf, 0x7c, 0xf5, 0xee, 0x1f, 0x40, 0x70, 0xcd, 0xbe, 0xeb, 0x85, 0x5e, 0xca,
0x14, 0x3f, 0xc2, 0x51, 0xa6, 0x64, 0x76, 0x53, 0xe8, 0xc2, 0xbd, 0xb3, 0xbd, 0x73, 0xef, 0xe2,
0x74, 0x44, 0xdf, 0x31, 0x9a, 0x29, 0x99, 0xc9, 0x75, 0xbc, 0xa2, 0xb3, 0x69, 0x27, 0xaa, 0x07,
0xf1, 0x0a, 0xfa, 0x6a, 0x73, 0x3f, 0x33, 0x60, 0x97, 0xc0, 0x21, 0x83, 0x91, 0xd8, 0xc8, 0x7b,
0xe1, 0xe2, 0x16, 0x81, 0x57, 0xe0, 0x6f, 0xa4, 0x16, 0xb5, 0xe2, 0x11, 0x29, 0x42, 0x56, 0xdc,
0xf1, 0x59, 0x53, 0x60, 0x03, 0xf8, 0x15, 0x02, 0x9d, 0x2c, 0x53, 0x5d, 0x2b, 0x1e, 0x93, 0xe2,
0x35, 0x2b, 0x6e, 0x85, 0x4a, 0x96, 0x69, 0xbc, 0xeb, 0x71, 0x30, 0xfc, 0x0c, 0x5e, 0xb1, 0xd9,
0xac, 0x8c, 0x18, 0xf6, 0xc8, 0xf2, 0xcc, 0x89, 0xc0, 0xa7, 0xd3, 0x4e, 0xd4, 0x1c, 0xc6, 0x09,
0x04, 0xbc, 0x56, 0x85, 0xef, 0x13, 0xfe, 0xaa, 0x35, 0x45, 0x2d, 0x71, 0x28, 0x9c, 0xc0, 0xa0,
0xda, 0xae, 0x12, 0x1d, 0x58, 0x4d, 0x9b, 0x41, 0x6a, 0x8d, 0x0b, 0xe1, 0x0f, 0xc0, 0x2c, 0x9f,
0xdf, 0x39, 0xaa, 0x43, 0x2b, 0xcc, 0xac, 0x1e, 0xb0, 0x6d, 0x2d, 0x28, 0x7e, 0x87, 0x63, 0x93,
0xab, 0xd2, 0x1d, 0x91, 0xee, 0xed, 0x43, 0x9d, 0x6b, 0xe1, 0x0e, 0x8a, 0xef, 0xe1, 0xb0, 0xc8,
0x17, 0xe5, 0x2b, 0x11, 0x02, 0x69, 0x4e, 0x9c, 0xd0, 0xc5, 0xd1, 0xb4, 0x13, 0x99, 0x31, 0xbc,
0x04, 0x8f, 0x63, 0x11, 0xe5, 0x11, 0xf5, 0xa2, 0xb5, 0x2f, 0xb3, 0xcd, 0x79, 0xbc, 0x84, 0x7e,
0x15, 0x89, 0xf8, 0x3e, 0xf1, 0xcf, 0x5b, 0xb2, 0x32, 0x6d, 0x8d, 0xe3, 0x17, 0xf0, 0xcd, 0x12,
0xc4, 0xfb, 0xd6, 0xf3, 0xdd, 0x59, 0x9e, 0x25, 0x36, 0x54, 0xac, 0xad, 0x55, 0x9c, 0xae, 0x7f,
0x09, 0x15, 0x06, 0xd6, 0xda, 0xb7, 0x7c, 0x7b, 0x92, 0xa7, 0xc5, 0x6f, 0xd3, 0x8c, 0xe1, 0x05,
0x78, 0x0b, 0x99, 0x24, 0xa2, 0xb4, 0x84, 0x03, 0xa2, 0x02, 0xa6, 0xc6, 0xe5, 0x49, 0xb1, 0x6b,
0x63, 0x08, 0x3f, 0x01, 0x14, 0xd9, 0xc6, 0xf4, 0x9f, 0x0f, 0x8f, 0x09, 0x79, 0xea, 0xf4, 0x2d,
0x0f, 0xa7, 0x9d, 0xa8, 0x31, 0x8a, 0x63, 0xf0, 0xb9, 0x19, 0xb3, 0x4f, 0x88, 0x7d, 0xd9, 0x5a,
0xd9, 0x18, 0x6c, 0x06, 0xc7, 0x10, 0x54, 0xe9, 0xd8, 0x82, 0xd6, 0xb3, 0x6a, 0xb6, 0x36, 0x0e,
0x07, 0xc1, 0x6f, 0x30, 0x30, 0xe9, 0xd8, 0x72, 0x42, 0x96, 0x37, 0x0f, 0x15, 0x37, 0x2a, 0x17,
0xc4, 0x00, 0xba, 0x7a, 0x1b, 0x9e, 0x9e, 0xed, 0x9d, 0xf7, 0xa2, 0xae, 0xde, 0xde, 0x1c, 0x40,
0x6f, 0x13, 0xaf, 0x72, 0x31, 0xdf, 0xa7, 0xd7, 0xe1, 0x87, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff,
0x43, 0xb3, 0xd4, 0x92, 0x5d, 0x05, 0x00, 0x00,
}
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: board.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 AutonomyProposalBoard struct {
PropBoard *ProposalBoard `protobuf:"bytes,1,opt,name=propBoard" json:"propBoard,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 *AutonomyProposalBoard) Reset() { *m = AutonomyProposalBoard{} }
func (m *AutonomyProposalBoard) String() string { return proto.CompactTextString(m) }
func (*AutonomyProposalBoard) ProtoMessage() {}
func (*AutonomyProposalBoard) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
func (m *AutonomyProposalBoard) GetPropBoard() *ProposalBoard {
if m != nil {
return m.PropBoard
}
return nil
}
func (m *AutonomyProposalBoard) GetCurRule() *RuleConfig {
if m != nil {
return m.CurRule
}
return nil
}
func (m *AutonomyProposalBoard) GetVoteResult() *VoteResult {
if m != nil {
return m.VoteResult
}
return nil
}
func (m *AutonomyProposalBoard) GetStatus() int32 {
if m != nil {
return m.Status
}
return 0
}
func (m *AutonomyProposalBoard) GetAddress() string {
if m != nil {
return m.Address
}
return ""
}
func (m *AutonomyProposalBoard) GetHeight() int64 {
if m != nil {
return m.Height
}
return 0
}
func (m *AutonomyProposalBoard) GetIndex() int32 {
if m != nil {
return m.Index
}
return 0
}
func (m *AutonomyProposalBoard) GetProposalID() string {
if m != nil {
return m.ProposalID
}
return ""
}
// action
type ProposalBoard 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"`
// 提案董事会成员
Boards []string `protobuf:"bytes,4,rep,name=boards" json:"boards,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 *ProposalBoard) Reset() { *m = ProposalBoard{} }
func (m *ProposalBoard) String() string { return proto.CompactTextString(m) }
func (*ProposalBoard) ProtoMessage() {}
func (*ProposalBoard) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
func (m *ProposalBoard) GetYear() int32 {
if m != nil {
return m.Year
}
return 0
}
func (m *ProposalBoard) GetMonth() int32 {
if m != nil {
return m.Month
}
return 0
}
func (m *ProposalBoard) GetDay() int32 {
if m != nil {
return m.Day
}
return 0
}
func (m *ProposalBoard) GetBoards() []string {
if m != nil {
return m.Boards
}
return nil
}
func (m *ProposalBoard) GetStartBlockHeight() int64 {
if m != nil {
return m.StartBlockHeight
}
return 0
}
func (m *ProposalBoard) GetEndBlockHeight() int64 {
if m != nil {
return m.EndBlockHeight
}
return 0
}
func (m *ProposalBoard) GetRealEndBlockHeight() int64 {
if m != nil {
return m.RealEndBlockHeight
}
return 0
}
type RevokeProposalBoard struct {
ProposalID string `protobuf:"bytes,1,opt,name=proposalID" json:"proposalID,omitempty"`
}
func (m *RevokeProposalBoard) Reset() { *m = RevokeProposalBoard{} }
func (m *RevokeProposalBoard) String() string { return proto.CompactTextString(m) }
func (*RevokeProposalBoard) ProtoMessage() {}
func (*RevokeProposalBoard) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
func (m *RevokeProposalBoard) GetProposalID() string {
if m != nil {
return m.ProposalID
}
return ""
}
type VoteProposalBoard struct {
ProposalID string `protobuf:"bytes,1,opt,name=proposalID" json:"proposalID,omitempty"`
Approve bool `protobuf:"varint,2,opt,name=approve" json:"approve,omitempty"`
OriginAddr []string `protobuf:"bytes,3,rep,name=originAddr" json:"originAddr,omitempty"`
}
func (m *VoteProposalBoard) Reset() { *m = VoteProposalBoard{} }
func (m *VoteProposalBoard) String() string { return proto.CompactTextString(m) }
func (*VoteProposalBoard) ProtoMessage() {}
func (*VoteProposalBoard) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
func (m *VoteProposalBoard) GetProposalID() string {
if m != nil {
return m.ProposalID
}
return ""
}
func (m *VoteProposalBoard) GetApprove() bool {
if m != nil {
return m.Approve
}
return false
}
func (m *VoteProposalBoard) GetOriginAddr() []string {
if m != nil {
return m.OriginAddr
}
return nil
}
type TerminateProposalBoard struct {
ProposalID string `protobuf:"bytes,1,opt,name=proposalID" json:"proposalID,omitempty"`
}
func (m *TerminateProposalBoard) Reset() { *m = TerminateProposalBoard{} }
func (m *TerminateProposalBoard) String() string { return proto.CompactTextString(m) }
func (*TerminateProposalBoard) ProtoMessage() {}
func (*TerminateProposalBoard) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
func (m *TerminateProposalBoard) GetProposalID() string {
if m != nil {
return m.ProposalID
}
return ""
}
// receipt
type ReceiptProposalBoard struct {
Prev *AutonomyProposalBoard `protobuf:"bytes,1,opt,name=prev" json:"prev,omitempty"`
Current *AutonomyProposalBoard `protobuf:"bytes,2,opt,name=current" json:"current,omitempty"`
}
func (m *ReceiptProposalBoard) Reset() { *m = ReceiptProposalBoard{} }
func (m *ReceiptProposalBoard) String() string { return proto.CompactTextString(m) }
func (*ReceiptProposalBoard) ProtoMessage() {}
func (*ReceiptProposalBoard) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
func (m *ReceiptProposalBoard) GetPrev() *AutonomyProposalBoard {
if m != nil {
return m.Prev
}
return nil
}
func (m *ReceiptProposalBoard) GetCurrent() *AutonomyProposalBoard {
if m != nil {
return m.Current
}
return nil
}
type LocalProposalBoard struct {
PropBd *AutonomyProposalBoard `protobuf:"bytes,1,opt,name=propBd" json:"propBd,omitempty"`
Comments []string `protobuf:"bytes,2,rep,name=comments" json:"comments,omitempty"`
}
func (m *LocalProposalBoard) Reset() { *m = LocalProposalBoard{} }
func (m *LocalProposalBoard) String() string { return proto.CompactTextString(m) }
func (*LocalProposalBoard) ProtoMessage() {}
func (*LocalProposalBoard) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
func (m *LocalProposalBoard) GetPropBd() *AutonomyProposalBoard {
if m != nil {
return m.PropBd
}
return nil
}
func (m *LocalProposalBoard) GetComments() []string {
if m != nil {
return m.Comments
}
return nil
}
// query
type ReqQueryProposalBoard 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 *ReqQueryProposalBoard) Reset() { *m = ReqQueryProposalBoard{} }
func (m *ReqQueryProposalBoard) String() string { return proto.CompactTextString(m) }
func (*ReqQueryProposalBoard) ProtoMessage() {}
func (*ReqQueryProposalBoard) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{7} }
func (m *ReqQueryProposalBoard) GetStatus() int32 {
if m != nil {
return m.Status
}
return 0
}
func (m *ReqQueryProposalBoard) GetAddr() string {
if m != nil {
return m.Addr
}
return ""
}
func (m *ReqQueryProposalBoard) GetCount() int32 {
if m != nil {
return m.Count
}
return 0
}
func (m *ReqQueryProposalBoard) GetDirection() int32 {
if m != nil {
return m.Direction
}
return 0
}
func (m *ReqQueryProposalBoard) GetHeight() int64 {
if m != nil {
return m.Height
}
return 0
}
func (m *ReqQueryProposalBoard) GetIndex() int32 {
if m != nil {
return m.Index
}
return 0
}
type ReplyQueryProposalBoard struct {
PropBoards []*AutonomyProposalBoard `protobuf:"bytes,1,rep,name=propBoards" json:"propBoards,omitempty"`
}
func (m *ReplyQueryProposalBoard) Reset() { *m = ReplyQueryProposalBoard{} }
func (m *ReplyQueryProposalBoard) String() string { return proto.CompactTextString(m) }
func (*ReplyQueryProposalBoard) ProtoMessage() {}
func (*ReplyQueryProposalBoard) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{8} }
func (m *ReplyQueryProposalBoard) GetPropBoards() []*AutonomyProposalBoard {
if m != nil {
return m.PropBoards
}
return nil
}
func init() {
proto.RegisterType((*AutonomyProposalBoard)(nil), "types.AutonomyProposalBoard")
proto.RegisterType((*ProposalBoard)(nil), "types.ProposalBoard")
proto.RegisterType((*RevokeProposalBoard)(nil), "types.RevokeProposalBoard")
proto.RegisterType((*VoteProposalBoard)(nil), "types.VoteProposalBoard")
proto.RegisterType((*TerminateProposalBoard)(nil), "types.TerminateProposalBoard")
proto.RegisterType((*ReceiptProposalBoard)(nil), "types.ReceiptProposalBoard")
proto.RegisterType((*LocalProposalBoard)(nil), "types.LocalProposalBoard")
proto.RegisterType((*ReqQueryProposalBoard)(nil), "types.ReqQueryProposalBoard")
proto.RegisterType((*ReplyQueryProposalBoard)(nil), "types.ReplyQueryProposalBoard")
}
func init() { proto.RegisterFile("board.proto", fileDescriptor1) }
var fileDescriptor1 = []byte{
// 559 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0x4d, 0x6f, 0xd4, 0x30,
0x10, 0x95, 0x9b, 0xcd, 0x7e, 0x4c, 0x55, 0xd4, 0x9a, 0x6d, 0xb1, 0xaa, 0x0a, 0xad, 0x72, 0x40,
0x2b, 0x90, 0x56, 0x50, 0x3e, 0xc4, 0x81, 0x4b, 0x17, 0x90, 0x40, 0xe2, 0x00, 0x16, 0x82, 0x73,
0x9a, 0x4c, 0x77, 0xa3, 0x26, 0xb6, 0x71, 0x9c, 0x15, 0xb9, 0xf1, 0x67, 0x38, 0xf1, 0xc3, 0xf8,
0x1b, 0xc8, 0x8e, 0xb7, 0x9b, 0xb4, 0x2b, 0xa0, 0x37, 0xbf, 0xc9, 0x1b, 0x7b, 0xe6, 0xcd, 0xbc,
0xc0, 0xee, 0xb9, 0x8c, 0x75, 0x3a, 0x53, 0x5a, 0x1a, 0x49, 0x43, 0x53, 0x2b, 0x2c, 0x8f, 0xf7,
0xf2, 0x44, 0x16, 0x85, 0x14, 0x4d, 0x34, 0xfa, 0xb5, 0x03, 0x87, 0x67, 0x95, 0x91, 0x42, 0x16,
0xf5, 0x47, 0x2d, 0x95, 0x2c, 0xe3, 0x7c, 0x6e, 0xb3, 0xe8, 0x29, 0x8c, 0x94, 0x96, 0xca, 0x01,
0x46, 0x26, 0x64, 0xba, 0x7b, 0x3a, 0x9e, 0xb9, 0x3b, 0x66, 0x1d, 0x22, 0xdf, 0xd0, 0xe8, 0x23,
0x18, 0x24, 0x95, 0xe6, 0x55, 0x8e, 0x6c, 0xc7, 0x65, 0x1c, 0xf8, 0x0c, 0x1b, 0x7a, 0x2d, 0xc5,
0x45, 0xb6, 0xe0, 0x6b, 0x06, 0x7d, 0x02, 0xb0, 0x92, 0x06, 0x39, 0x96, 0x55, 0x6e, 0x58, 0xd0,
0xe1, 0x7f, 0xb9, 0xfa, 0xc0, 0x5b, 0x24, 0x7a, 0x04, 0xfd, 0xd2, 0xc4, 0xa6, 0x2a, 0x59, 0x6f,
0x42, 0xa6, 0x21, 0xf7, 0x88, 0x32, 0x18, 0xc4, 0x69, 0xaa, 0xb1, 0x2c, 0x59, 0x38, 0x21, 0xd3,
0x11, 0x5f, 0x43, 0x9b, 0xb1, 0xc4, 0x6c, 0xb1, 0x34, 0xac, 0x3f, 0x21, 0xd3, 0x80, 0x7b, 0x44,
0xc7, 0x10, 0x66, 0x22, 0xc5, 0xef, 0x6c, 0xe0, 0x2e, 0x6a, 0x00, 0xbd, 0x0f, 0xa0, 0x7c, 0x6f,
0xef, 0xdf, 0xb0, 0xa1, 0xbb, 0xaa, 0x15, 0x89, 0x7e, 0x13, 0xd8, 0xeb, 0xaa, 0x44, 0xa1, 0x57,
0x63, 0xac, 0x9d, 0x40, 0x21, 0x77, 0x67, 0x7b, 0x77, 0x21, 0x85, 0x59, 0x3a, 0x0d, 0x42, 0xde,
0x00, 0xba, 0x0f, 0x41, 0x1a, 0xd7, 0xae, 0xcf, 0x90, 0xdb, 0xa3, 0xad, 0xcd, 0x0d, 0xc8, 0x76,
0x13, 0x4c, 0x47, 0xdc, 0x23, 0xfa, 0x10, 0xf6, 0x4b, 0x13, 0x6b, 0x33, 0xcf, 0x65, 0x72, 0xf9,
0xae, 0xa9, 0x3e, 0x74, 0xd5, 0xdf, 0x88, 0xd3, 0x07, 0x70, 0x07, 0x45, 0xda, 0x66, 0x36, 0x7d,
0x5e, 0x8b, 0xd2, 0x19, 0x50, 0x8d, 0x71, 0xfe, 0xb6, 0xcb, 0x1d, 0x38, 0xee, 0x96, 0x2f, 0xd1,
0x73, 0xb8, 0xcb, 0x71, 0x25, 0x2f, 0xb1, 0xdb, 0x6e, 0x57, 0x20, 0x72, 0x43, 0xa0, 0x02, 0x0e,
0xec, 0xe8, 0x6e, 0x95, 0xe4, 0xa6, 0xa7, 0x94, 0x96, 0xab, 0x66, 0x6b, 0x86, 0x7c, 0x0d, 0x6d,
0xa6, 0xd4, 0xd9, 0x22, 0x13, 0x67, 0x69, 0xaa, 0x59, 0xe0, 0x54, 0x6a, 0x45, 0xa2, 0x97, 0x70,
0xf4, 0x19, 0x75, 0x91, 0x89, 0xf8, 0x96, 0x6f, 0x46, 0x3f, 0x08, 0x8c, 0x39, 0x26, 0x98, 0x29,
0xd3, 0x4d, 0x7c, 0x0c, 0x3d, 0xa5, 0x71, 0xe5, 0x37, 0xfe, 0xc4, 0xef, 0xe3, 0x56, 0x8b, 0x70,
0xc7, 0xa4, 0x2f, 0xdc, 0xd2, 0x6b, 0x14, 0xc6, 0x2f, 0xfd, 0xdf, 0x93, 0xd6, 0xe4, 0xe8, 0x02,
0xe8, 0x07, 0x99, 0xc4, 0x79, 0xf7, 0xfd, 0x67, 0xd0, 0x77, 0x7e, 0x4a, 0xff, 0xab, 0x02, 0xcf,
0xa5, 0xc7, 0x30, 0xb4, 0xb6, 0x46, 0x61, 0x4a, 0xb6, 0xe3, 0x64, 0xba, 0xc2, 0xd1, 0x4f, 0x02,
0x87, 0x1c, 0xbf, 0x7d, 0xaa, 0x50, 0x5f, 0xb3, 0xf8, 0xc6, 0x4e, 0xa4, 0x63, 0x27, 0x0a, 0x3d,
0xeb, 0x1f, 0xd7, 0xce, 0x88, 0xbb, 0xb3, 0x5d, 0xea, 0x44, 0x56, 0xc2, 0xf8, 0x05, 0x6e, 0x00,
0x3d, 0x81, 0x51, 0x9a, 0x69, 0x4c, 0x4c, 0x26, 0x85, 0xf7, 0xe4, 0x26, 0xd0, 0x32, 0x5f, 0xb8,
0xdd, 0x7c, 0xfd, 0x96, 0xf9, 0xa2, 0xaf, 0x70, 0x8f, 0xa3, 0xca, 0xeb, 0x2d, 0x85, 0xbe, 0x6a,
0xa6, 0x39, 0x6f, 0xdc, 0x42, 0x26, 0xc1, 0x3f, 0x85, 0x69, 0xf1, 0xcf, 0xfb, 0xee, 0x57, 0xf7,
0xf4, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x28, 0xf8, 0xb3, 0x2f, 0x0f, 0x05, 0x00, 0x00,
}
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: change.proto
package types
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
type AutonomyProposalChange struct {
PropChange *ProposalChange `protobuf:"bytes,1,opt,name=propChange" json:"propChange,omitempty"`
// 投票该提案的规则
CurRule *RuleConfig `protobuf:"bytes,2,opt,name=curRule" json:"curRule,omitempty"`
// 投票董事会
Board *ActiveBoard `protobuf:"bytes,3,opt,name=board" json:"board,omitempty"`
// 全体持票人投票结果
VoteResult *VoteResult `protobuf:"bytes,4,opt,name=voteResult" json:"voteResult,omitempty"`
// 状态
Status int32 `protobuf:"varint,5,opt,name=status" json:"status,omitempty"`
Address string `protobuf:"bytes,6,opt,name=address" json:"address,omitempty"`
Height int64 `protobuf:"varint,7,opt,name=height" json:"height,omitempty"`
Index int32 `protobuf:"varint,8,opt,name=index" json:"index,omitempty"`
ProposalID string `protobuf:"bytes,9,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) GetBoard() *ActiveBoard {
if m != nil {
return m.Board
}
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{
// 596 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0x4d, 0x6f, 0xd4, 0x30,
0x10, 0x55, 0x9a, 0x4d, 0x76, 0x77, 0x4a, 0xab, 0x62, 0xda, 0xc5, 0xaa, 0x00, 0x45, 0x39, 0x40,
0x04, 0xd2, 0x4a, 0x2d, 0x5f, 0xe2, 0x84, 0xda, 0x82, 0x04, 0x12, 0x42, 0x60, 0x21, 0x2e, 0x9c,
0xdc, 0x64, 0xe8, 0x46, 0xcd, 0xda, 0xc1, 0x71, 0x56, 0xec, 0x99, 0xff, 0xc2, 0x7f, 0xe2, 0xa7,
0x70, 0x43, 0x76, 0x9c, 0x6e, 0xf6, 0x43, 0x2a, 0xbd, 0xf9, 0x8d, 0xdf, 0x8c, 0x3c, 0xcf, 0xf3,
0x06, 0x6e, 0xa5, 0x13, 0x2e, 0x2e, 0x70, 0x5c, 0x2a, 0xa9, 0x25, 0x09, 0xf4, 0xbc, 0xc4, 0xea,
0x70, 0xa7, 0x48, 0xe5, 0x74, 0x2a, 0x45, 0x13, 0x8d, 0xff, 0x6c, 0xc1, 0xe8, 0xa4, 0xd6, 0x52,
0xc8, 0xe9, 0xfc, 0x93, 0x92, 0xa5, 0xac, 0x78, 0x71, 0x66, 0xd3, 0xc8, 0x73, 0x80, 0x52, 0xc9,
0xb2, 0x41, 0xd4, 0x8b, 0xbc, 0x64, 0xfb, 0xf8, 0x60, 0x6c, 0xab, 0x8c, 0x97, 0xa9, 0xac, 0x43,
0x24, 0x4f, 0xa0, 0x9f, 0xd6, 0x8a, 0xd5, 0x05, 0xd2, 0x2d, 0x9b, 0x73, 0xdb, 0xe5, 0x98, 0xd0,
0x99, 0x14, 0xdf, 0xf3, 0x0b, 0xd6, 0x32, 0x48, 0x02, 0xc1, 0xb9, 0xe4, 0x2a, 0xa3, 0xbe, 0xa5,
0x12, 0x47, 0x3d, 0x49, 0x75, 0x3e, 0xc3, 0x53, 0x73, 0xc3, 0x1a, 0x02, 0x39, 0x02, 0x98, 0x49,
0x8d, 0x0c, 0xab, 0xba, 0xd0, 0xb4, 0xb7, 0x54, 0xf9, 0xeb, 0xd5, 0x05, 0xeb, 0x90, 0xc8, 0x08,
0xc2, 0x4a, 0x73, 0x5d, 0x57, 0x34, 0x88, 0xbc, 0x24, 0x60, 0x0e, 0x11, 0x0a, 0x7d, 0x9e, 0x65,
0x0a, 0xab, 0x8a, 0x86, 0x91, 0x97, 0x0c, 0x59, 0x0b, 0x4d, 0xc6, 0x04, 0xf3, 0x8b, 0x89, 0xa6,
0xfd, 0xc8, 0x4b, 0x7c, 0xe6, 0x10, 0xd9, 0x87, 0x20, 0x17, 0x19, 0xfe, 0xa4, 0x03, 0x5b, 0xa8,
0x01, 0xe4, 0x41, 0x23, 0x90, 0xd1, 0xe1, 0xfd, 0x1b, 0x3a, 0xb4, 0xa5, 0x3a, 0x91, 0xf8, 0xaf,
0x07, 0xbb, 0x2b, 0x9a, 0x12, 0xe8, 0xcd, 0x91, 0x2b, 0xab, 0x66, 0xc0, 0xec, 0xd9, 0x14, 0x9f,
0x4a, 0xa1, 0x27, 0x56, 0xae, 0x80, 0x35, 0x80, 0xec, 0x81, 0x9f, 0xf1, 0xb9, 0xd5, 0x25, 0x60,
0xe6, 0x48, 0x1e, 0x41, 0xbf, 0xa9, 0x52, 0xd1, 0x5e, 0xe4, 0x27, 0xdb, 0xc7, 0x3b, 0xae, 0x7d,
0xf7, 0x09, 0xed, 0x2d, 0x79, 0x0c, 0x7b, 0x95, 0xe6, 0x4a, 0x9f, 0x16, 0x32, 0xbd, 0x7c, 0xd7,
0xf4, 0x13, 0xd8, 0x7e, 0xd6, 0xe2, 0xe4, 0x21, 0xec, 0xa2, 0xc8, 0xba, 0xcc, 0xd0, 0x32, 0x57,
0xa2, 0x64, 0x0c, 0x44, 0x21, 0x2f, 0xde, 0x2e, 0x73, 0x1b, 0x95, 0x36, 0xdc, 0xc4, 0xcf, 0x20,
0x74, 0x2d, 0x8f, 0x20, 0x4c, 0xb9, 0x48, 0xb1, 0xb0, 0x4d, 0x0f, 0x98, 0x43, 0x46, 0x0a, 0x23,
0xbb, 0xed, 0x7a, 0xc8, 0xec, 0x39, 0x7e, 0x01, 0xfb, 0x0c, 0x67, 0xf2, 0x12, 0x57, 0x64, 0x5b,
0x56, 0xda, 0x5b, 0x53, 0xfa, 0x23, 0x10, 0x33, 0x03, 0x37, 0xcb, 0xb2, 0x73, 0x50, 0x96, 0x4a,
0xce, 0x9a, 0x49, 0x1d, 0xb0, 0x16, 0xc6, 0xaf, 0xe0, 0xee, 0x17, 0x54, 0xd3, 0x5c, 0xf0, 0x9b,
0x16, 0x8d, 0x7f, 0x79, 0x70, 0xc0, 0x30, 0xc5, 0xbc, 0xd4, 0x2b, 0x99, 0x47, 0xd0, 0x2b, 0x15,
0xce, 0x9c, 0x93, 0xee, 0xb7, 0xa3, 0xbe, 0xd1, 0x7c, 0xcc, 0x52, 0xc9, 0x4b, 0xeb, 0x25, 0x85,
0x42, 0x3b, 0x2f, 0x5d, 0x93, 0xd5, 0xb2, 0xe3, 0x09, 0xdc, 0xf9, 0x20, 0x53, 0x5e, 0xac, 0x59,
0x3a, 0x34, 0x4f, 0x3d, 0xcd, 0xfe, 0xef, 0x11, 0x8e, 0x4c, 0x0e, 0x61, 0x60, 0x96, 0x06, 0x0a,
0x5d, 0xd1, 0xad, 0xc8, 0x4f, 0x86, 0xec, 0x0a, 0xc7, 0xbf, 0x3d, 0x18, 0x31, 0xfc, 0xf1, 0xb9,
0x46, 0xb5, 0xba, 0x40, 0x16, 0xfe, 0xf3, 0x96, 0xfc, 0xb7, 0xe1, 0xe7, 0x8d, 0x09, 0x52, 0x59,
0x0b, 0xed, 0x06, 0xbe, 0x01, 0xe4, 0x1e, 0x0c, 0xb3, 0x5c, 0x61, 0xaa, 0x73, 0x29, 0xac, 0xe7,
0x03, 0xb6, 0x08, 0x74, 0xdc, 0x1a, 0x6c, 0x76, 0x6b, 0xd8, 0x71, 0x6b, 0xfc, 0x0d, 0x28, 0xc3,
0xb2, 0x98, 0x6f, 0x7a, 0xe9, 0x6b, 0xd8, 0x5e, 0x6c, 0x30, 0xf3, 0x5c, 0xff, 0x7a, 0x71, 0xba,
0x19, 0xe7, 0xa1, 0xdd, 0xa6, 0x4f, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0x96, 0x4a, 0x21, 0x4d,
0x73, 0x05, 0x00, 0x00,
}
......@@ -93,6 +93,8 @@ const (
GetProposalBoard = "GetProposalBoard"
// ListProposalBoard 查询多个
ListProposalBoard = "ListProposalBoard"
// GetActiveBoard 查询当前的
GetActiveBoard = "GetActiveBoard"
// GetProposalProject 用于在cmd里面的区分不同的查询
GetProposalProject = "GetProposalProject"
// ListProposalProject 查询多个
......
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: lcommon.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 VoteResult struct {
// 总票数
TotalVotes int32 `protobuf:"varint,1,opt,name=totalVotes" json:"totalVotes,omitempty"`
// 赞成票
ApproveVotes int32 `protobuf:"varint,2,opt,name=approveVotes" json:"approveVotes,omitempty"`
// 反对票
OpposeVotes int32 `protobuf:"varint,3,opt,name=opposeVotes" json:"opposeVotes,omitempty"`
// 是否通过
Pass bool `protobuf:"varint,4,opt,name=pass" json:"pass,omitempty"`
}
func (m *VoteResult) Reset() { *m = VoteResult{} }
func (m *VoteResult) String() string { return proto.CompactTextString(m) }
func (*VoteResult) ProtoMessage() {}
func (*VoteResult) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }
func (m *VoteResult) GetTotalVotes() int32 {
if m != nil {
return m.TotalVotes
}
return 0
}
func (m *VoteResult) GetApproveVotes() int32 {
if m != nil {
return m.ApproveVotes
}
return 0
}
func (m *VoteResult) GetOpposeVotes() int32 {
if m != nil {
return m.OpposeVotes
}
return 0
}
func (m *VoteResult) GetPass() bool {
if m != nil {
return m.Pass
}
return false
}
type PublicVote struct {
// 是否需要公示
Publicity bool `protobuf:"varint,1,opt,name=publicity" json:"publicity,omitempty"`
// 总票数
TotalVotes int32 `protobuf:"varint,2,opt,name=totalVotes" json:"totalVotes,omitempty"`
// 全体持票人反对票
OpposeVotes int32 `protobuf:"varint,3,opt,name=opposeVotes" json:"opposeVotes,omitempty"`
// 是否通过
PubPass bool `protobuf:"varint,4,opt,name=pubPass" json:"pubPass,omitempty"`
}
func (m *PublicVote) Reset() { *m = PublicVote{} }
func (m *PublicVote) String() string { return proto.CompactTextString(m) }
func (*PublicVote) ProtoMessage() {}
func (*PublicVote) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{1} }
func (m *PublicVote) GetPublicity() bool {
if m != nil {
return m.Publicity
}
return false
}
func (m *PublicVote) GetTotalVotes() int32 {
if m != nil {
return m.TotalVotes
}
return 0
}
func (m *PublicVote) GetOpposeVotes() int32 {
if m != nil {
return m.OpposeVotes
}
return 0
}
func (m *PublicVote) GetPubPass() bool {
if m != nil {
return m.PubPass
}
return false
}
type VotesRecord struct {
Address []string `protobuf:"bytes,1,rep,name=address" json:"address,omitempty"`
}
func (m *VotesRecord) Reset() { *m = VotesRecord{} }
func (m *VotesRecord) String() string { return proto.CompactTextString(m) }
func (*VotesRecord) ProtoMessage() {}
func (*VotesRecord) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{2} }
func (m *VotesRecord) GetAddress() []string {
if m != nil {
return m.Address
}
return nil
}
type RuleConfig struct {
// 董事会成员赞成率,以%为单位,只保留整数部分
BoardApproveRatio int32 `protobuf:"varint,1,opt,name=boardApproveRatio" json:"boardApproveRatio,omitempty"`
// 全体持票人否决率
PubOpposeRatio int32 `protobuf:"varint,2,opt,name=pubOpposeRatio" json:"pubOpposeRatio,omitempty"`
// 提案金额
ProposalAmount int64 `protobuf:"varint,3,opt,name=proposalAmount" json:"proposalAmount,omitempty"`
// 重大项目公示金额阈值
LargeProjectAmount int64 `protobuf:"varint,4,opt,name=largeProjectAmount" json:"largeProjectAmount,omitempty"`
// 重大项目公示时间(以区块数为单位)
PublicPeriod int32 `protobuf:"varint,5,opt,name=publicPeriod" json:"publicPeriod,omitempty"`
}
func (m *RuleConfig) Reset() { *m = RuleConfig{} }
func (m *RuleConfig) String() string { return proto.CompactTextString(m) }
func (*RuleConfig) ProtoMessage() {}
func (*RuleConfig) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{3} }
func (m *RuleConfig) GetBoardApproveRatio() int32 {
if m != nil {
return m.BoardApproveRatio
}
return 0
}
func (m *RuleConfig) GetPubOpposeRatio() int32 {
if m != nil {
return m.PubOpposeRatio
}
return 0
}
func (m *RuleConfig) GetProposalAmount() int64 {
if m != nil {
return m.ProposalAmount
}
return 0
}
func (m *RuleConfig) GetLargeProjectAmount() int64 {
if m != nil {
return m.LargeProjectAmount
}
return 0
}
func (m *RuleConfig) GetPublicPeriod() int32 {
if m != nil {
return m.PublicPeriod
}
return 0
}
type ActiveBoard struct {
Boards []string `protobuf:"bytes,1,rep,name=boards" json:"boards,omitempty"`
Revboards []string `protobuf:"bytes,2,rep,name=revboards" json:"revboards,omitempty"`
Amount int64 `protobuf:"varint,3,opt,name=amount" json:"amount,omitempty"`
StartHeight int64 `protobuf:"varint,4,opt,name=startHeight" json:"startHeight,omitempty"`
}
func (m *ActiveBoard) Reset() { *m = ActiveBoard{} }
func (m *ActiveBoard) String() string { return proto.CompactTextString(m) }
func (*ActiveBoard) ProtoMessage() {}
func (*ActiveBoard) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{4} }
func (m *ActiveBoard) GetBoards() []string {
if m != nil {
return m.Boards
}
return nil
}
func (m *ActiveBoard) GetRevboards() []string {
if m != nil {
return m.Revboards
}
return nil
}
func (m *ActiveBoard) GetAmount() int64 {
if m != nil {
return m.Amount
}
return 0
}
func (m *ActiveBoard) GetStartHeight() int64 {
if m != nil {
return m.StartHeight
}
return 0
}
func init() {
proto.RegisterType((*VoteResult)(nil), "types.VoteResult")
proto.RegisterType((*PublicVote)(nil), "types.PublicVote")
proto.RegisterType((*VotesRecord)(nil), "types.VotesRecord")
proto.RegisterType((*RuleConfig)(nil), "types.RuleConfig")
proto.RegisterType((*ActiveBoard)(nil), "types.ActiveBoard")
}
func init() { proto.RegisterFile("lcommon.proto", fileDescriptor3) }
var fileDescriptor3 = []byte{
// 352 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x92, 0xbf, 0x4e, 0xe3, 0x40,
0x10, 0x87, 0xe5, 0xfc, 0xbb, 0x64, 0x72, 0x77, 0xd2, 0x6d, 0x71, 0x72, 0x81, 0x50, 0xe4, 0x02,
0x52, 0xa0, 0x34, 0x3c, 0x41, 0xa0, 0xa1, 0xc3, 0xda, 0x82, 0x7e, 0x6d, 0x2f, 0x61, 0xd1, 0x26,
0xb3, 0xda, 0x1d, 0x47, 0x4a, 0x41, 0xcb, 0x63, 0xf2, 0x2c, 0x68, 0xc7, 0xb6, 0x62, 0x12, 0x24,
0x3a, 0xcf, 0x6f, 0x3e, 0x4b, 0xdf, 0xcc, 0x2c, 0xfc, 0xb1, 0x25, 0x6e, 0xb7, 0xb8, 0x5b, 0x39,
0x8f, 0x84, 0x62, 0x4c, 0x07, 0xa7, 0x43, 0xf6, 0x9e, 0x00, 0x3c, 0x21, 0x69, 0xa9, 0x43, 0x6d,
0x49, 0x5c, 0x02, 0x10, 0x92, 0xb2, 0x31, 0x0a, 0x69, 0xb2, 0x48, 0x96, 0x63, 0xd9, 0x4b, 0x44,
0x06, 0xbf, 0x95, 0x73, 0x1e, 0xf7, 0xba, 0x21, 0x06, 0x4c, 0x7c, 0xc9, 0xc4, 0x02, 0xe6, 0xe8,
0x1c, 0x86, 0x16, 0x19, 0x32, 0xd2, 0x8f, 0x84, 0x80, 0x91, 0x53, 0x21, 0xa4, 0xa3, 0x45, 0xb2,
0x9c, 0x4a, 0xfe, 0x66, 0x91, 0xbc, 0x2e, 0xac, 0x29, 0x23, 0x23, 0x2e, 0x60, 0xe6, 0xb8, 0x32,
0x74, 0x60, 0x8f, 0xa9, 0x3c, 0x06, 0x27, 0x9a, 0x83, 0x33, 0xcd, 0x9f, 0x15, 0x52, 0xf8, 0xe5,
0xea, 0x22, 0x3f, 0x5a, 0x74, 0x65, 0x76, 0x0d, 0x73, 0x46, 0xa4, 0x2e, 0xd1, 0x57, 0x11, 0x54,
0x55, 0xe5, 0x75, 0x88, 0xeb, 0x18, 0x2e, 0x67, 0xb2, 0x2b, 0xb3, 0x8f, 0x04, 0x40, 0xd6, 0x56,
0xdf, 0xe3, 0xee, 0xd9, 0x6c, 0xc4, 0x0d, 0xfc, 0x2b, 0x50, 0xf9, 0x6a, 0xdd, 0xec, 0x42, 0x2a,
0x32, 0xd8, 0x6e, 0xf0, 0xbc, 0x21, 0xae, 0xe0, 0xaf, 0xab, 0x8b, 0x47, 0x36, 0x6a, 0xd0, 0x66,
0x8a, 0x93, 0x94, 0x39, 0x8f, 0x0e, 0x83, 0xb2, 0xeb, 0x2d, 0xd6, 0x3b, 0xe2, 0x61, 0x86, 0xf2,
0x24, 0x15, 0x2b, 0x10, 0x56, 0xf9, 0x8d, 0xce, 0x3d, 0xbe, 0xea, 0x92, 0x5a, 0x76, 0xc4, 0xec,
0x37, 0x9d, 0x78, 0xc8, 0x66, 0x9d, 0xb9, 0xf6, 0x06, 0xab, 0x74, 0xdc, 0x1c, 0xb2, 0x9f, 0x65,
0x6f, 0x30, 0x5f, 0x97, 0x64, 0xf6, 0xfa, 0x2e, 0xea, 0x8b, 0xff, 0x30, 0xe1, 0x39, 0xba, 0x45,
0xb4, 0x55, 0x3c, 0x95, 0xd7, 0xfb, 0xb6, 0x35, 0xe0, 0xd6, 0x31, 0x88, 0x7f, 0xa9, 0xbe, 0x78,
0x5b, 0xc5, 0x13, 0x05, 0x52, 0x9e, 0x1e, 0xb4, 0xd9, 0xbc, 0x74, 0xa6, 0xfd, 0xa8, 0x98, 0xf0,
0x43, 0xbd, 0xfd, 0x0c, 0x00, 0x00, 0xff, 0xff, 0xaf, 0xca, 0x0f, 0x60, 0xb9, 0x02, 0x00, 0x00,
}
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: project.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 AutonomyProposalProject struct {
PropProject *ProposalProject `protobuf:"bytes,1,opt,name=propProject" json:"propProject,omitempty"`
// 投票该提案的规则
CurRule *RuleConfig `protobuf:"bytes,2,opt,name=curRule" json:"curRule,omitempty"`
// 投票该提案的董事会成员
Boards []string `protobuf:"bytes,3,rep,name=boards" json:"boards,omitempty"`
// 董事会投票结果
BoardVoteRes *VoteResult `protobuf:"bytes,4,opt,name=boardVoteRes" json:"boardVoteRes,omitempty"`
// 公示投票
PubVote *PublicVote `protobuf:"bytes,5,opt,name=pubVote" json:"pubVote,omitempty"`
// 状态
Status int32 `protobuf:"varint,6,opt,name=status" json:"status,omitempty"`
Address string `protobuf:"bytes,7,opt,name=address" json:"address,omitempty"`
Height int64 `protobuf:"varint,8,opt,name=height" json:"height,omitempty"`
Index int32 `protobuf:"varint,9,opt,name=index" json:"index,omitempty"`
ProposalID string `protobuf:"bytes,10,opt,name=proposalID" json:"proposalID,omitempty"`
}
func (m *AutonomyProposalProject) Reset() { *m = AutonomyProposalProject{} }
func (m *AutonomyProposalProject) String() string { return proto.CompactTextString(m) }
func (*AutonomyProposalProject) ProtoMessage() {}
func (*AutonomyProposalProject) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{0} }
func (m *AutonomyProposalProject) GetPropProject() *ProposalProject {
if m != nil {
return m.PropProject
}
return nil
}
func (m *AutonomyProposalProject) GetCurRule() *RuleConfig {
if m != nil {
return m.CurRule
}
return nil
}
func (m *AutonomyProposalProject) GetBoards() []string {
if m != nil {
return m.Boards
}
return nil
}
func (m *AutonomyProposalProject) GetBoardVoteRes() *VoteResult {
if m != nil {
return m.BoardVoteRes
}
return nil
}
func (m *AutonomyProposalProject) GetPubVote() *PublicVote {
if m != nil {
return m.PubVote
}
return nil
}
func (m *AutonomyProposalProject) GetStatus() int32 {
if m != nil {
return m.Status
}
return 0
}
func (m *AutonomyProposalProject) GetAddress() string {
if m != nil {
return m.Address
}
return ""
}
func (m *AutonomyProposalProject) GetHeight() int64 {
if m != nil {
return m.Height
}
return 0
}
func (m *AutonomyProposalProject) GetIndex() int32 {
if m != nil {
return m.Index
}
return 0
}
func (m *AutonomyProposalProject) GetProposalID() string {
if m != nil {
return m.ProposalID
}
return ""
}
type ProposalProject 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"`
// 项目相关
FirstStage string `protobuf:"bytes,4,opt,name=firstStage" json:"firstStage,omitempty"`
LastStage string `protobuf:"bytes,5,opt,name=lastStage" json:"lastStage,omitempty"`
Production string `protobuf:"bytes,6,opt,name=production" json:"production,omitempty"`
Description string `protobuf:"bytes,7,opt,name=description" json:"description,omitempty"`
Contractor string `protobuf:"bytes,8,opt,name=contractor" json:"contractor,omitempty"`
Amount int64 `protobuf:"varint,9,opt,name=amount" json:"amount,omitempty"`
AmountDetail string `protobuf:"bytes,10,opt,name=amountDetail" json:"amountDetail,omitempty"`
// 支付相关
ToAddr string `protobuf:"bytes,11,opt,name=toAddr" json:"toAddr,omitempty"`
// 投票相关
StartBlockHeight int64 `protobuf:"varint,12,opt,name=startBlockHeight" json:"startBlockHeight,omitempty"`
EndBlockHeight int64 `protobuf:"varint,13,opt,name=endBlockHeight" json:"endBlockHeight,omitempty"`
RealEndBlockHeight int64 `protobuf:"varint,14,opt,name=realEndBlockHeight" json:"realEndBlockHeight,omitempty"`
ProjectNeedBlockNum int32 `protobuf:"varint,15,opt,name=projectNeedBlockNum" json:"projectNeedBlockNum,omitempty"`
}
func (m *ProposalProject) Reset() { *m = ProposalProject{} }
func (m *ProposalProject) String() string { return proto.CompactTextString(m) }
func (*ProposalProject) ProtoMessage() {}
func (*ProposalProject) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{1} }
func (m *ProposalProject) GetYear() int32 {
if m != nil {
return m.Year
}
return 0
}
func (m *ProposalProject) GetMonth() int32 {
if m != nil {
return m.Month
}
return 0
}
func (m *ProposalProject) GetDay() int32 {
if m != nil {
return m.Day
}
return 0
}
func (m *ProposalProject) GetFirstStage() string {
if m != nil {
return m.FirstStage
}
return ""
}
func (m *ProposalProject) GetLastStage() string {
if m != nil {
return m.LastStage
}
return ""
}
func (m *ProposalProject) GetProduction() string {
if m != nil {
return m.Production
}
return ""
}
func (m *ProposalProject) GetDescription() string {
if m != nil {
return m.Description
}
return ""
}
func (m *ProposalProject) GetContractor() string {
if m != nil {
return m.Contractor
}
return ""
}
func (m *ProposalProject) GetAmount() int64 {
if m != nil {
return m.Amount
}
return 0
}
func (m *ProposalProject) GetAmountDetail() string {
if m != nil {
return m.AmountDetail
}
return ""
}
func (m *ProposalProject) GetToAddr() string {
if m != nil {
return m.ToAddr
}
return ""
}
func (m *ProposalProject) GetStartBlockHeight() int64 {
if m != nil {
return m.StartBlockHeight
}
return 0
}
func (m *ProposalProject) GetEndBlockHeight() int64 {
if m != nil {
return m.EndBlockHeight
}
return 0
}
func (m *ProposalProject) GetRealEndBlockHeight() int64 {
if m != nil {
return m.RealEndBlockHeight
}
return 0
}
func (m *ProposalProject) GetProjectNeedBlockNum() int32 {
if m != nil {
return m.ProjectNeedBlockNum
}
return 0
}
type RevokeProposalProject struct {
ProposalID string `protobuf:"bytes,1,opt,name=proposalID" json:"proposalID,omitempty"`
}
func (m *RevokeProposalProject) Reset() { *m = RevokeProposalProject{} }
func (m *RevokeProposalProject) String() string { return proto.CompactTextString(m) }
func (*RevokeProposalProject) ProtoMessage() {}
func (*RevokeProposalProject) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{2} }
func (m *RevokeProposalProject) GetProposalID() string {
if m != nil {
return m.ProposalID
}
return ""
}
type VoteProposalProject 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 *VoteProposalProject) Reset() { *m = VoteProposalProject{} }
func (m *VoteProposalProject) String() string { return proto.CompactTextString(m) }
func (*VoteProposalProject) ProtoMessage() {}
func (*VoteProposalProject) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{3} }
func (m *VoteProposalProject) GetProposalID() string {
if m != nil {
return m.ProposalID
}
return ""
}
func (m *VoteProposalProject) GetApprove() bool {
if m != nil {
return m.Approve
}
return false
}
type PubVoteProposalProject struct {
ProposalID string `protobuf:"bytes,1,opt,name=proposalID" json:"proposalID,omitempty"`
Oppose bool `protobuf:"varint,2,opt,name=oppose" json:"oppose,omitempty"`
OriginAddr []string `protobuf:"bytes,3,rep,name=originAddr" json:"originAddr,omitempty"`
}
func (m *PubVoteProposalProject) Reset() { *m = PubVoteProposalProject{} }
func (m *PubVoteProposalProject) String() string { return proto.CompactTextString(m) }
func (*PubVoteProposalProject) ProtoMessage() {}
func (*PubVoteProposalProject) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{4} }
func (m *PubVoteProposalProject) GetProposalID() string {
if m != nil {
return m.ProposalID
}
return ""
}
func (m *PubVoteProposalProject) GetOppose() bool {
if m != nil {
return m.Oppose
}
return false
}
func (m *PubVoteProposalProject) GetOriginAddr() []string {
if m != nil {
return m.OriginAddr
}
return nil
}
type TerminateProposalProject struct {
ProposalID string `protobuf:"bytes,1,opt,name=proposalID" json:"proposalID,omitempty"`
}
func (m *TerminateProposalProject) Reset() { *m = TerminateProposalProject{} }
func (m *TerminateProposalProject) String() string { return proto.CompactTextString(m) }
func (*TerminateProposalProject) ProtoMessage() {}
func (*TerminateProposalProject) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{5} }
func (m *TerminateProposalProject) GetProposalID() string {
if m != nil {
return m.ProposalID
}
return ""
}
// receipt
type ReceiptProposalProject struct {
Prev *AutonomyProposalProject `protobuf:"bytes,1,opt,name=prev" json:"prev,omitempty"`
Current *AutonomyProposalProject `protobuf:"bytes,2,opt,name=current" json:"current,omitempty"`
}
func (m *ReceiptProposalProject) Reset() { *m = ReceiptProposalProject{} }
func (m *ReceiptProposalProject) String() string { return proto.CompactTextString(m) }
func (*ReceiptProposalProject) ProtoMessage() {}
func (*ReceiptProposalProject) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{6} }
func (m *ReceiptProposalProject) GetPrev() *AutonomyProposalProject {
if m != nil {
return m.Prev
}
return nil
}
func (m *ReceiptProposalProject) GetCurrent() *AutonomyProposalProject {
if m != nil {
return m.Current
}
return nil
}
type LocalProposalProject struct {
PropPrj *AutonomyProposalProject `protobuf:"bytes,1,opt,name=propPrj" json:"propPrj,omitempty"`
Comments []string `protobuf:"bytes,2,rep,name=comments" json:"comments,omitempty"`
}
func (m *LocalProposalProject) Reset() { *m = LocalProposalProject{} }
func (m *LocalProposalProject) String() string { return proto.CompactTextString(m) }
func (*LocalProposalProject) ProtoMessage() {}
func (*LocalProposalProject) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{7} }
func (m *LocalProposalProject) GetPropPrj() *AutonomyProposalProject {
if m != nil {
return m.PropPrj
}
return nil
}
func (m *LocalProposalProject) GetComments() []string {
if m != nil {
return m.Comments
}
return nil
}
// query
type ReqQueryProposalProject 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 *ReqQueryProposalProject) Reset() { *m = ReqQueryProposalProject{} }
func (m *ReqQueryProposalProject) String() string { return proto.CompactTextString(m) }
func (*ReqQueryProposalProject) ProtoMessage() {}
func (*ReqQueryProposalProject) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{8} }
func (m *ReqQueryProposalProject) GetStatus() int32 {
if m != nil {
return m.Status
}
return 0
}
func (m *ReqQueryProposalProject) GetAddr() string {
if m != nil {
return m.Addr
}
return ""
}
func (m *ReqQueryProposalProject) GetCount() int32 {
if m != nil {
return m.Count
}
return 0
}
func (m *ReqQueryProposalProject) GetDirection() int32 {
if m != nil {
return m.Direction
}
return 0
}
func (m *ReqQueryProposalProject) GetHeight() int64 {
if m != nil {
return m.Height
}
return 0
}
func (m *ReqQueryProposalProject) GetIndex() int32 {
if m != nil {
return m.Index
}
return 0
}
type ReplyQueryProposalProject struct {
PropProjects []*AutonomyProposalProject `protobuf:"bytes,1,rep,name=propProjects" json:"propProjects,omitempty"`
}
func (m *ReplyQueryProposalProject) Reset() { *m = ReplyQueryProposalProject{} }
func (m *ReplyQueryProposalProject) String() string { return proto.CompactTextString(m) }
func (*ReplyQueryProposalProject) ProtoMessage() {}
func (*ReplyQueryProposalProject) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{9} }
func (m *ReplyQueryProposalProject) GetPropProjects() []*AutonomyProposalProject {
if m != nil {
return m.PropProjects
}
return nil
}
func init() {
proto.RegisterType((*AutonomyProposalProject)(nil), "types.AutonomyProposalProject")
proto.RegisterType((*ProposalProject)(nil), "types.ProposalProject")
proto.RegisterType((*RevokeProposalProject)(nil), "types.RevokeProposalProject")
proto.RegisterType((*VoteProposalProject)(nil), "types.VoteProposalProject")
proto.RegisterType((*PubVoteProposalProject)(nil), "types.PubVoteProposalProject")
proto.RegisterType((*TerminateProposalProject)(nil), "types.TerminateProposalProject")
proto.RegisterType((*ReceiptProposalProject)(nil), "types.ReceiptProposalProject")
proto.RegisterType((*LocalProposalProject)(nil), "types.LocalProposalProject")
proto.RegisterType((*ReqQueryProposalProject)(nil), "types.ReqQueryProposalProject")
proto.RegisterType((*ReplyQueryProposalProject)(nil), "types.ReplyQueryProposalProject")
}
func init() { proto.RegisterFile("project.proto", fileDescriptor4) }
var fileDescriptor4 = []byte{
// 713 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0x5f, 0x6f, 0xd3, 0x3e,
0x14, 0x55, 0x96, 0xa6, 0x5d, 0x6f, 0xbb, 0x3f, 0x3f, 0x6f, 0xbf, 0xce, 0x4c, 0x68, 0xaa, 0xf2,
0x80, 0x2a, 0x90, 0x2a, 0x34, 0x84, 0x98, 0x78, 0xdb, 0x18, 0x12, 0x48, 0x68, 0x14, 0x83, 0x78,
0x45, 0x69, 0xe2, 0x75, 0xd9, 0xd2, 0xd8, 0x38, 0xce, 0x44, 0xbf, 0x00, 0x5f, 0x85, 0x8f, 0xc8,
0x0b, 0x0f, 0xc8, 0xd7, 0x0e, 0x4b, 0xba, 0x22, 0xb6, 0x37, 0x9f, 0x73, 0xcf, 0xbd, 0x76, 0xae,
0x7d, 0x4f, 0x60, 0x43, 0x2a, 0x71, 0xc9, 0x63, 0x3d, 0x96, 0x4a, 0x68, 0x41, 0x02, 0xbd, 0x90,
0xbc, 0xd8, 0xdf, 0xc8, 0x62, 0x31, 0x9f, 0x8b, 0xdc, 0xb2, 0xe1, 0xaf, 0x35, 0xd8, 0x3b, 0x2e,
0xb5, 0xc8, 0xc5, 0x7c, 0x31, 0x51, 0x42, 0x8a, 0x22, 0xca, 0x26, 0x36, 0x8f, 0x1c, 0x41, 0x4f,
0x2a, 0x21, 0x1d, 0xa4, 0xde, 0xd0, 0x1b, 0xf5, 0x0e, 0x07, 0x63, 0xac, 0x33, 0x5e, 0x12, 0xb3,
0xba, 0x94, 0x3c, 0x81, 0x4e, 0x5c, 0x2a, 0x56, 0x66, 0x9c, 0xae, 0x61, 0xd6, 0x7f, 0x2e, 0xcb,
0x50, 0xaf, 0x44, 0x7e, 0x9e, 0xce, 0x58, 0xa5, 0x20, 0x03, 0x68, 0x4f, 0x45, 0xa4, 0x92, 0x82,
0xfa, 0x43, 0x7f, 0xd4, 0x65, 0x0e, 0x91, 0xe7, 0xd0, 0xc7, 0xd5, 0x67, 0xa1, 0x39, 0xe3, 0x05,
0x6d, 0x35, 0x2a, 0x39, 0xb6, 0xcc, 0x34, 0x6b, 0xc8, 0xcc, 0xde, 0xb2, 0x9c, 0x1a, 0x44, 0x83,
0x46, 0xc6, 0xa4, 0x9c, 0x66, 0x69, 0x8c, 0xb2, 0x4a, 0x61, 0xf6, 0x2e, 0x74, 0xa4, 0xcb, 0x82,
0xb6, 0x87, 0xde, 0x28, 0x60, 0x0e, 0x11, 0x0a, 0x9d, 0x28, 0x49, 0x14, 0x2f, 0x0a, 0xda, 0x19,
0x7a, 0xa3, 0x2e, 0xab, 0xa0, 0xc9, 0xb8, 0xe0, 0xe9, 0xec, 0x42, 0xd3, 0xf5, 0xa1, 0x37, 0xf2,
0x99, 0x43, 0x64, 0x17, 0x82, 0x34, 0x4f, 0xf8, 0x37, 0xda, 0xc5, 0x42, 0x16, 0x90, 0x03, 0x00,
0xe9, 0x1a, 0xf5, 0xf6, 0x94, 0x02, 0x96, 0xaa, 0x31, 0xe1, 0x4f, 0x1f, 0xb6, 0x96, 0xdb, 0x4e,
0xa0, 0xb5, 0xe0, 0x91, 0xc2, 0x7e, 0x07, 0x0c, 0xd7, 0xa6, 0xfa, 0x5c, 0xe4, 0xfa, 0x02, 0xdb,
0x19, 0x30, 0x0b, 0xc8, 0x36, 0xf8, 0x49, 0xb4, 0xa0, 0x3e, 0x72, 0x66, 0x69, 0xf6, 0x3b, 0x4f,
0x55, 0xa1, 0x3f, 0xea, 0x68, 0xc6, 0xb1, 0x63, 0x5d, 0x56, 0x63, 0xc8, 0x43, 0xe8, 0x66, 0x51,
0x15, 0x0e, 0x30, 0x7c, 0x43, 0xb8, 0xd3, 0x26, 0x65, 0xac, 0x53, 0x91, 0x63, 0x47, 0xec, 0x69,
0x1d, 0x43, 0x86, 0xd0, 0x4b, 0x78, 0x11, 0xab, 0x54, 0xa2, 0xc0, 0x76, 0xa6, 0x4e, 0x99, 0x0a,
0xb1, 0xc8, 0xb5, 0x8a, 0x62, 0x2d, 0x14, 0x76, 0xa8, 0xcb, 0x6a, 0x8c, 0xe9, 0x5e, 0x34, 0x17,
0x65, 0xae, 0xb1, 0x4d, 0x3e, 0x73, 0x88, 0x84, 0xd0, 0xb7, 0xab, 0x53, 0xae, 0xa3, 0x34, 0x73,
0x9d, 0x6a, 0x70, 0x26, 0x57, 0x8b, 0xe3, 0x24, 0x51, 0xb4, 0x87, 0x51, 0x87, 0xc8, 0x63, 0xd8,
0x2e, 0x74, 0xa4, 0xf4, 0x49, 0x26, 0xe2, 0xab, 0x37, 0xf6, 0x6e, 0xfa, 0x58, 0xfd, 0x16, 0x4f,
0x1e, 0xc1, 0x26, 0xcf, 0x93, 0xba, 0x72, 0x03, 0x95, 0x4b, 0x2c, 0x19, 0x03, 0x51, 0x3c, 0xca,
0x5e, 0x37, 0xb5, 0x9b, 0xa8, 0x5d, 0x11, 0x21, 0x4f, 0x61, 0xc7, 0x4d, 0xdb, 0x19, 0xe7, 0x36,
0x72, 0x56, 0xce, 0xe9, 0x16, 0xde, 0xcc, 0xaa, 0x50, 0xf8, 0x02, 0xfe, 0x67, 0xfc, 0x5a, 0x5c,
0xf1, 0xe5, 0xeb, 0x6f, 0x3e, 0x19, 0xef, 0xd6, 0x93, 0x79, 0x0f, 0x3b, 0xe6, 0xe9, 0xde, 0x33,
0x0d, 0x5f, 0xb4, 0x94, 0x4a, 0x5c, 0xdb, 0x91, 0x5c, 0x67, 0x15, 0x0c, 0x25, 0x0c, 0x26, 0x76,
0x1c, 0xee, 0x5b, 0x73, 0x00, 0x6d, 0x21, 0xa5, 0x28, 0xaa, 0x92, 0x0e, 0x99, 0x3c, 0xa1, 0xd2,
0x59, 0x9a, 0xe3, 0x6d, 0xd9, 0xa9, 0xae, 0x31, 0xe1, 0x4b, 0xa0, 0x9f, 0xb8, 0x9a, 0xa7, 0x79,
0x74, 0xef, 0x3d, 0xc3, 0xef, 0x1e, 0x0c, 0x18, 0x8f, 0x79, 0x2a, 0xf5, 0x72, 0xea, 0x21, 0xb4,
0xa4, 0xe2, 0xd7, 0xce, 0xa8, 0x0e, 0xdc, 0xd8, 0xff, 0xc5, 0xdd, 0x18, 0x6a, 0xc9, 0x11, 0x3a,
0x95, 0xe2, 0xb9, 0x76, 0x4e, 0xf5, 0xaf, 0xb4, 0x4a, 0x1e, 0x66, 0xb0, 0xfb, 0x4e, 0xc4, 0x18,
0x58, 0x72, 0xcd, 0x8e, 0xb5, 0xc2, 0xcb, 0x3b, 0x1e, 0xa4, 0x92, 0x93, 0x7d, 0x58, 0x37, 0xde,
0xcc, 0x73, 0x5d, 0xd0, 0x35, 0x6c, 0xda, 0x1f, 0x1c, 0xfe, 0xf0, 0x60, 0x8f, 0xf1, 0xaf, 0x1f,
0x4a, 0xae, 0x6e, 0xf9, 0xf4, 0x8d, 0x89, 0x79, 0x0d, 0x13, 0x23, 0xd0, 0x32, 0xae, 0x85, 0x1f,
0xd6, 0x65, 0xb8, 0x36, 0x46, 0x12, 0xe3, 0xfc, 0x59, 0xd3, 0xb0, 0xc0, 0xd8, 0x42, 0x92, 0x2a,
0x6e, 0xe7, 0xbe, 0x85, 0x91, 0x1b, 0xa2, 0x66, 0x79, 0xc1, 0x6a, 0xcb, 0x6b, 0xd7, 0x2c, 0x2f,
0xfc, 0x02, 0x0f, 0x18, 0x97, 0xd9, 0x62, 0xe5, 0x51, 0x4f, 0xa0, 0x5f, 0xfb, 0x4f, 0x98, 0x03,
0xfb, 0x77, 0xe8, 0x50, 0x23, 0x67, 0xda, 0xc6, 0x3f, 0xd7, 0xb3, 0xdf, 0x01, 0x00, 0x00, 0xff,
0xff, 0x53, 0x84, 0x13, 0x84, 0xe0, 0x06, 0x00, 0x00,
}
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: rule.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 AutonomyProposalRule struct {
PropRule *ProposalRule `protobuf:"bytes,1,opt,name=propRule" json:"propRule,omitempty"`
CurRule *RuleConfig `protobuf:"bytes,2,opt,name=curRule" json:"curRule,omitempty"`
// 全体持票人投票结果
VoteResult *VoteResult `protobuf:"bytes,3,opt,name=voteResult" 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 *AutonomyProposalRule) Reset() { *m = AutonomyProposalRule{} }
func (m *AutonomyProposalRule) String() string { return proto.CompactTextString(m) }
func (*AutonomyProposalRule) ProtoMessage() {}
func (*AutonomyProposalRule) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{0} }
func (m *AutonomyProposalRule) GetPropRule() *ProposalRule {
if m != nil {
return m.PropRule
}
return nil
}
func (m *AutonomyProposalRule) GetCurRule() *RuleConfig {
if m != nil {
return m.CurRule
}
return nil
}
func (m *AutonomyProposalRule) GetVoteResult() *VoteResult {
if m != nil {
return m.VoteResult
}
return nil
}
func (m *AutonomyProposalRule) GetStatus() int32 {
if m != nil {
return m.Status
}
return 0
}
func (m *AutonomyProposalRule) GetAddress() string {
if m != nil {
return m.Address
}
return ""
}
func (m *AutonomyProposalRule) GetHeight() int64 {
if m != nil {
return m.Height
}
return 0
}
func (m *AutonomyProposalRule) GetIndex() int32 {
if m != nil {
return m.Index
}
return 0
}
func (m *AutonomyProposalRule) GetProposalID() string {
if m != nil {
return m.ProposalID
}
return ""
}
type ProposalRule 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"`
// 规则可修改项,如果某项不修改则置为-1
RuleCfg *RuleConfig `protobuf:"bytes,4,opt,name=ruleCfg" json:"ruleCfg,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 *ProposalRule) Reset() { *m = ProposalRule{} }
func (m *ProposalRule) String() string { return proto.CompactTextString(m) }
func (*ProposalRule) ProtoMessage() {}
func (*ProposalRule) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{1} }
func (m *ProposalRule) GetYear() int32 {
if m != nil {
return m.Year
}
return 0
}
func (m *ProposalRule) GetMonth() int32 {
if m != nil {
return m.Month
}
return 0
}
func (m *ProposalRule) GetDay() int32 {
if m != nil {
return m.Day
}
return 0
}
func (m *ProposalRule) GetRuleCfg() *RuleConfig {
if m != nil {
return m.RuleCfg
}
return nil
}
func (m *ProposalRule) GetStartBlockHeight() int64 {
if m != nil {
return m.StartBlockHeight
}
return 0
}
func (m *ProposalRule) GetEndBlockHeight() int64 {
if m != nil {
return m.EndBlockHeight
}
return 0
}
func (m *ProposalRule) GetRealEndBlockHeight() int64 {
if m != nil {
return m.RealEndBlockHeight
}
return 0
}
type RevokeProposalRule struct {
ProposalID string `protobuf:"bytes,1,opt,name=proposalID" json:"proposalID,omitempty"`
}
func (m *RevokeProposalRule) Reset() { *m = RevokeProposalRule{} }
func (m *RevokeProposalRule) String() string { return proto.CompactTextString(m) }
func (*RevokeProposalRule) ProtoMessage() {}
func (*RevokeProposalRule) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{2} }
func (m *RevokeProposalRule) GetProposalID() string {
if m != nil {
return m.ProposalID
}
return ""
}
type VoteProposalRule struct {
ProposalID string `protobuf:"bytes,1,opt,name=proposalID" json:"proposalID,omitempty"`
Approve bool `protobuf:"varint,2,opt,name=approve" json:"approve,omitempty"`
OriginAddr []string `protobuf:"bytes,3,rep,name=originAddr" json:"originAddr,omitempty"`
}
func (m *VoteProposalRule) Reset() { *m = VoteProposalRule{} }
func (m *VoteProposalRule) String() string { return proto.CompactTextString(m) }
func (*VoteProposalRule) ProtoMessage() {}
func (*VoteProposalRule) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{3} }
func (m *VoteProposalRule) GetProposalID() string {
if m != nil {
return m.ProposalID
}
return ""
}
func (m *VoteProposalRule) GetApprove() bool {
if m != nil {
return m.Approve
}
return false
}
func (m *VoteProposalRule) GetOriginAddr() []string {
if m != nil {
return m.OriginAddr
}
return nil
}
type TerminateProposalRule struct {
ProposalID string `protobuf:"bytes,1,opt,name=proposalID" json:"proposalID,omitempty"`
}
func (m *TerminateProposalRule) Reset() { *m = TerminateProposalRule{} }
func (m *TerminateProposalRule) String() string { return proto.CompactTextString(m) }
func (*TerminateProposalRule) ProtoMessage() {}
func (*TerminateProposalRule) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{4} }
func (m *TerminateProposalRule) GetProposalID() string {
if m != nil {
return m.ProposalID
}
return ""
}
// receipt
type ReceiptProposalRule struct {
Prev *AutonomyProposalRule `protobuf:"bytes,1,opt,name=prev" json:"prev,omitempty"`
Current *AutonomyProposalRule `protobuf:"bytes,2,opt,name=current" json:"current,omitempty"`
}
func (m *ReceiptProposalRule) Reset() { *m = ReceiptProposalRule{} }
func (m *ReceiptProposalRule) String() string { return proto.CompactTextString(m) }
func (*ReceiptProposalRule) ProtoMessage() {}
func (*ReceiptProposalRule) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{5} }
func (m *ReceiptProposalRule) GetPrev() *AutonomyProposalRule {
if m != nil {
return m.Prev
}
return nil
}
func (m *ReceiptProposalRule) GetCurrent() *AutonomyProposalRule {
if m != nil {
return m.Current
}
return nil
}
type LocalProposalRule struct {
PropRule *AutonomyProposalRule `protobuf:"bytes,1,opt,name=propRule" json:"propRule,omitempty"`
Comments []string `protobuf:"bytes,2,rep,name=comments" json:"comments,omitempty"`
}
func (m *LocalProposalRule) Reset() { *m = LocalProposalRule{} }
func (m *LocalProposalRule) String() string { return proto.CompactTextString(m) }
func (*LocalProposalRule) ProtoMessage() {}
func (*LocalProposalRule) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{6} }
func (m *LocalProposalRule) GetPropRule() *AutonomyProposalRule {
if m != nil {
return m.PropRule
}
return nil
}
func (m *LocalProposalRule) GetComments() []string {
if m != nil {
return m.Comments
}
return nil
}
// query
type ReqQueryProposalRule 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 *ReqQueryProposalRule) Reset() { *m = ReqQueryProposalRule{} }
func (m *ReqQueryProposalRule) String() string { return proto.CompactTextString(m) }
func (*ReqQueryProposalRule) ProtoMessage() {}
func (*ReqQueryProposalRule) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{7} }
func (m *ReqQueryProposalRule) GetStatus() int32 {
if m != nil {
return m.Status
}
return 0
}
func (m *ReqQueryProposalRule) GetAddr() string {
if m != nil {
return m.Addr
}
return ""
}
func (m *ReqQueryProposalRule) GetCount() int32 {
if m != nil {
return m.Count
}
return 0
}
func (m *ReqQueryProposalRule) GetDirection() int32 {
if m != nil {
return m.Direction
}
return 0
}
func (m *ReqQueryProposalRule) GetHeight() int64 {
if m != nil {
return m.Height
}
return 0
}
func (m *ReqQueryProposalRule) GetIndex() int32 {
if m != nil {
return m.Index
}
return 0
}
type ReplyQueryProposalRule struct {
PropRules []*AutonomyProposalRule `protobuf:"bytes,1,rep,name=propRules" json:"propRules,omitempty"`
}
func (m *ReplyQueryProposalRule) Reset() { *m = ReplyQueryProposalRule{} }
func (m *ReplyQueryProposalRule) String() string { return proto.CompactTextString(m) }
func (*ReplyQueryProposalRule) ProtoMessage() {}
func (*ReplyQueryProposalRule) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{8} }
func (m *ReplyQueryProposalRule) GetPropRules() []*AutonomyProposalRule {
if m != nil {
return m.PropRules
}
return nil
}
// TransferFund action
type TransferFund struct {
Amount int64 `protobuf:"varint,1,opt,name=amount" json:"amount,omitempty"`
Note string `protobuf:"bytes,2,opt,name=note" json:"note,omitempty"`
}
func (m *TransferFund) Reset() { *m = TransferFund{} }
func (m *TransferFund) String() string { return proto.CompactTextString(m) }
func (*TransferFund) ProtoMessage() {}
func (*TransferFund) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{9} }
func (m *TransferFund) GetAmount() int64 {
if m != nil {
return m.Amount
}
return 0
}
func (m *TransferFund) GetNote() string {
if m != nil {
return m.Note
}
return ""
}
// Comment action
type Comment struct {
ProposalID string `protobuf:"bytes,1,opt,name=proposalID" json:"proposalID,omitempty"`
RepHash string `protobuf:"bytes,2,opt,name=repHash" json:"repHash,omitempty"`
Comment string `protobuf:"bytes,3,opt,name=comment" json:"comment,omitempty"`
}
func (m *Comment) Reset() { *m = Comment{} }
func (m *Comment) String() string { return proto.CompactTextString(m) }
func (*Comment) ProtoMessage() {}
func (*Comment) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{10} }
func (m *Comment) GetProposalID() string {
if m != nil {
return m.ProposalID
}
return ""
}
func (m *Comment) GetRepHash() string {
if m != nil {
return m.RepHash
}
return ""
}
func (m *Comment) GetComment() string {
if m != nil {
return m.Comment
}
return ""
}
type ReceiptProposalComment struct {
Cmt *Comment `protobuf:"bytes,1,opt,name=cmt" json:"cmt,omitempty"`
Height int64 `protobuf:"varint,2,opt,name=height" json:"height,omitempty"`
Index int32 `protobuf:"varint,3,opt,name=index" json:"index,omitempty"`
Hash string `protobuf:"bytes,4,opt,name=hash" json:"hash,omitempty"`
}
func (m *ReceiptProposalComment) Reset() { *m = ReceiptProposalComment{} }
func (m *ReceiptProposalComment) String() string { return proto.CompactTextString(m) }
func (*ReceiptProposalComment) ProtoMessage() {}
func (*ReceiptProposalComment) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{11} }
func (m *ReceiptProposalComment) GetCmt() *Comment {
if m != nil {
return m.Cmt
}
return nil
}
func (m *ReceiptProposalComment) GetHeight() int64 {
if m != nil {
return m.Height
}
return 0
}
func (m *ReceiptProposalComment) GetIndex() int32 {
if m != nil {
return m.Index
}
return 0
}
func (m *ReceiptProposalComment) GetHash() string {
if m != nil {
return m.Hash
}
return ""
}
// query
type ReqQueryProposalComment struct {
ProposalID string `protobuf:"bytes,1,opt,name=proposalID" json:"proposalID,omitempty"`
Count int32 `protobuf:"varint,2,opt,name=count" json:"count,omitempty"`
Direction int32 `protobuf:"varint,3,opt,name=direction" json:"direction,omitempty"`
Height int64 `protobuf:"varint,4,opt,name=height" json:"height,omitempty"`
Index int32 `protobuf:"varint,5,opt,name=index" json:"index,omitempty"`
}
func (m *ReqQueryProposalComment) Reset() { *m = ReqQueryProposalComment{} }
func (m *ReqQueryProposalComment) String() string { return proto.CompactTextString(m) }
func (*ReqQueryProposalComment) ProtoMessage() {}
func (*ReqQueryProposalComment) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{12} }
func (m *ReqQueryProposalComment) GetProposalID() string {
if m != nil {
return m.ProposalID
}
return ""
}
func (m *ReqQueryProposalComment) GetCount() int32 {
if m != nil {
return m.Count
}
return 0
}
func (m *ReqQueryProposalComment) GetDirection() int32 {
if m != nil {
return m.Direction
}
return 0
}
func (m *ReqQueryProposalComment) GetHeight() int64 {
if m != nil {
return m.Height
}
return 0
}
func (m *ReqQueryProposalComment) GetIndex() int32 {
if m != nil {
return m.Index
}
return 0
}
type RelationCmt struct {
RepHash string `protobuf:"bytes,1,opt,name=repHash" json:"repHash,omitempty"`
Comment string `protobuf:"bytes,2,opt,name=comment" json:"comment,omitempty"`
Height int64 `protobuf:"varint,3,opt,name=height" json:"height,omitempty"`
Index int32 `protobuf:"varint,4,opt,name=index" json:"index,omitempty"`
Hash string `protobuf:"bytes,5,opt,name=hash" json:"hash,omitempty"`
}
func (m *RelationCmt) Reset() { *m = RelationCmt{} }
func (m *RelationCmt) String() string { return proto.CompactTextString(m) }
func (*RelationCmt) ProtoMessage() {}
func (*RelationCmt) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{13} }
func (m *RelationCmt) GetRepHash() string {
if m != nil {
return m.RepHash
}
return ""
}
func (m *RelationCmt) GetComment() string {
if m != nil {
return m.Comment
}
return ""
}
func (m *RelationCmt) GetHeight() int64 {
if m != nil {
return m.Height
}
return 0
}
func (m *RelationCmt) GetIndex() int32 {
if m != nil {
return m.Index
}
return 0
}
func (m *RelationCmt) GetHash() string {
if m != nil {
return m.Hash
}
return ""
}
type ReplyQueryProposalComment struct {
RltCmt []*RelationCmt `protobuf:"bytes,1,rep,name=rltCmt" json:"rltCmt,omitempty"`
}
func (m *ReplyQueryProposalComment) Reset() { *m = ReplyQueryProposalComment{} }
func (m *ReplyQueryProposalComment) String() string { return proto.CompactTextString(m) }
func (*ReplyQueryProposalComment) ProtoMessage() {}
func (*ReplyQueryProposalComment) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{14} }
func (m *ReplyQueryProposalComment) GetRltCmt() []*RelationCmt {
if m != nil {
return m.RltCmt
}
return nil
}
func init() {
proto.RegisterType((*AutonomyProposalRule)(nil), "types.AutonomyProposalRule")
proto.RegisterType((*ProposalRule)(nil), "types.ProposalRule")
proto.RegisterType((*RevokeProposalRule)(nil), "types.RevokeProposalRule")
proto.RegisterType((*VoteProposalRule)(nil), "types.VoteProposalRule")
proto.RegisterType((*TerminateProposalRule)(nil), "types.TerminateProposalRule")
proto.RegisterType((*ReceiptProposalRule)(nil), "types.ReceiptProposalRule")
proto.RegisterType((*LocalProposalRule)(nil), "types.LocalProposalRule")
proto.RegisterType((*ReqQueryProposalRule)(nil), "types.ReqQueryProposalRule")
proto.RegisterType((*ReplyQueryProposalRule)(nil), "types.ReplyQueryProposalRule")
proto.RegisterType((*TransferFund)(nil), "types.TransferFund")
proto.RegisterType((*Comment)(nil), "types.Comment")
proto.RegisterType((*ReceiptProposalComment)(nil), "types.ReceiptProposalComment")
proto.RegisterType((*ReqQueryProposalComment)(nil), "types.ReqQueryProposalComment")
proto.RegisterType((*RelationCmt)(nil), "types.RelationCmt")
proto.RegisterType((*ReplyQueryProposalComment)(nil), "types.ReplyQueryProposalComment")
}
func init() { proto.RegisterFile("rule.proto", fileDescriptor5) }
var fileDescriptor5 = []byte{
// 733 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0x4d, 0x6f, 0xd4, 0x3a,
0x14, 0x55, 0x26, 0xc9, 0x7c, 0xdc, 0xf6, 0x55, 0xad, 0xdb, 0xd7, 0x97, 0xd7, 0xf7, 0x84, 0x46,
0x59, 0xa0, 0x51, 0x91, 0x06, 0xf1, 0xa5, 0x0a, 0x76, 0x65, 0xf8, 0x28, 0x12, 0x0b, 0x30, 0x15,
0x3b, 0x16, 0x21, 0xb9, 0x9d, 0x89, 0x9a, 0xd8, 0xc1, 0x71, 0x46, 0x8c, 0x04, 0x2b, 0x7e, 0x06,
0x5b, 0x24, 0x7e, 0x24, 0x1b, 0x64, 0xc7, 0x99, 0x49, 0x3a, 0x69, 0x69, 0x77, 0xbe, 0xf6, 0xb1,
0x7d, 0xcf, 0xf1, 0x39, 0x09, 0x80, 0x28, 0x12, 0x1c, 0x67, 0x82, 0x4b, 0x4e, 0x5c, 0xb9, 0xc8,
0x30, 0x3f, 0xf8, 0x2b, 0x09, 0x79, 0x9a, 0x72, 0x56, 0xce, 0xfa, 0x3f, 0x3b, 0xb0, 0x77, 0x5c,
0x48, 0xce, 0x78, 0xba, 0x78, 0x23, 0x78, 0xc6, 0xf3, 0x20, 0xa1, 0x45, 0x82, 0xe4, 0x2e, 0xf4,
0x33, 0xc1, 0x33, 0x35, 0xf6, 0xac, 0xa1, 0x35, 0xda, 0xb8, 0xbf, 0x3b, 0xd6, 0x27, 0x8c, 0xeb,
0x30, 0xba, 0x04, 0x91, 0x3b, 0xd0, 0x0b, 0x0b, 0xa1, 0xf1, 0x1d, 0x8d, 0xdf, 0x31, 0x78, 0x35,
0x35, 0xe1, 0xec, 0x2c, 0x9e, 0xd2, 0x0a, 0x41, 0xee, 0x01, 0xcc, 0xb9, 0x44, 0x8a, 0x79, 0x91,
0x48, 0xcf, 0x6e, 0xe0, 0xdf, 0x2f, 0x17, 0x68, 0x0d, 0x44, 0xf6, 0xa1, 0x9b, 0xcb, 0x40, 0x16,
0xb9, 0xe7, 0x0c, 0xad, 0x91, 0x4b, 0x4d, 0x45, 0x3c, 0xe8, 0x05, 0x51, 0x24, 0x30, 0xcf, 0x3d,
0x77, 0x68, 0x8d, 0x06, 0xb4, 0x2a, 0xd5, 0x8e, 0x19, 0xc6, 0xd3, 0x99, 0xf4, 0xba, 0x43, 0x6b,
0x64, 0x53, 0x53, 0x91, 0x3d, 0x70, 0x63, 0x16, 0xe1, 0x67, 0xaf, 0xa7, 0x0f, 0x2a, 0x0b, 0x72,
0x0b, 0x20, 0x33, 0xcc, 0x5e, 0x3d, 0xf3, 0xfa, 0xfa, 0xa8, 0xda, 0x8c, 0xff, 0xcb, 0x82, 0xcd,
0x86, 0x42, 0x04, 0x9c, 0x05, 0x06, 0x42, 0xab, 0xe3, 0x52, 0x3d, 0x56, 0x47, 0xa7, 0x9c, 0xc9,
0x99, 0x96, 0xc0, 0xa5, 0x65, 0x41, 0xb6, 0xc1, 0x8e, 0x82, 0x85, 0xa6, 0xe9, 0x52, 0x35, 0x54,
0x62, 0xa9, 0xa7, 0x99, 0x9c, 0x4d, 0x35, 0x9b, 0x76, 0xb1, 0x0c, 0x82, 0x1c, 0xc2, 0x76, 0x2e,
0x03, 0x21, 0x9f, 0x26, 0x3c, 0x3c, 0x3f, 0x29, 0x19, 0xb9, 0x9a, 0xd1, 0xda, 0x3c, 0xb9, 0x0d,
0x5b, 0xc8, 0xa2, 0x3a, 0xb2, 0xe4, 0x7e, 0x61, 0x96, 0x8c, 0x81, 0x08, 0x0c, 0x92, 0xe7, 0x4d,
0x6c, 0x4f, 0x63, 0x5b, 0x56, 0xfc, 0x87, 0x40, 0x28, 0xce, 0xf9, 0x39, 0x36, 0x24, 0x68, 0x6a,
0x66, 0xad, 0x69, 0x96, 0xc0, 0xb6, 0x7a, 0xcd, 0x9b, 0xec, 0xd1, 0xef, 0x99, 0x65, 0x82, 0xcf,
0x4b, 0x1f, 0xf5, 0x69, 0x55, 0xaa, 0x9d, 0x5c, 0xc4, 0xd3, 0x98, 0x1d, 0x47, 0x91, 0xf0, 0xec,
0xa1, 0xad, 0x76, 0xae, 0x66, 0xfc, 0x23, 0xf8, 0xfb, 0x14, 0x45, 0x1a, 0xb3, 0xe0, 0x66, 0x57,
0xfa, 0x5f, 0x61, 0x97, 0x62, 0x88, 0x71, 0x26, 0x2f, 0x44, 0xc0, 0xc9, 0x04, 0xce, 0x8d, 0xfd,
0xff, 0x33, 0x2f, 0xd4, 0x96, 0x16, 0xaa, 0x81, 0xe4, 0x91, 0x8e, 0x80, 0x40, 0x26, 0x4d, 0x04,
0xae, 0xdc, 0x53, 0x61, 0xfd, 0x19, 0xec, 0xbc, 0xe6, 0x61, 0x90, 0x34, 0x2e, 0x3f, 0x5a, 0xcb,
0xdf, 0x95, 0x87, 0xad, 0x72, 0x78, 0x00, 0x7d, 0x95, 0x70, 0x64, 0x32, 0xf7, 0x3a, 0x5a, 0xa3,
0x65, 0xed, 0xff, 0xb0, 0x60, 0x8f, 0xe2, 0xa7, 0xb7, 0x05, 0x8a, 0x66, 0xda, 0x57, 0xe1, 0xb2,
0x1a, 0xe1, 0x22, 0xe0, 0xa8, 0x34, 0x69, 0x3a, 0x03, 0xaa, 0xc7, 0xca, 0xe3, 0x21, 0x2f, 0x98,
0x34, 0x7e, 0x2e, 0x0b, 0xf2, 0x3f, 0x0c, 0xa2, 0x58, 0x60, 0x28, 0x63, 0xce, 0x4c, 0x42, 0x57,
0x13, 0xb5, 0x28, 0xba, 0xed, 0x51, 0xec, 0xd6, 0xa2, 0xe8, 0xbf, 0x83, 0x7d, 0x8a, 0x59, 0xb2,
0x58, 0xef, 0xf3, 0x31, 0x0c, 0x2a, 0xa2, 0xaa, 0x55, 0xfb, 0x4f, 0xb2, 0xac, 0xd0, 0xfe, 0x13,
0xd8, 0x3c, 0x15, 0x01, 0xcb, 0xcf, 0x50, 0xbc, 0x28, 0x58, 0xa4, 0x5a, 0x0a, 0x52, 0xcd, 0xc3,
0x2a, 0x5b, 0x2a, 0x2b, 0x45, 0x99, 0x71, 0x89, 0x15, 0x65, 0x35, 0xf6, 0x3f, 0x40, 0x6f, 0x52,
0x6a, 0x78, 0x1d, 0xfb, 0x0a, 0xcc, 0x4e, 0x82, 0x7c, 0x66, 0x4e, 0xa8, 0x4a, 0xb5, 0x62, 0x1e,
0x42, 0x2b, 0x37, 0xa0, 0x55, 0xe9, 0x7f, 0x51, 0x7c, 0x1b, 0xfe, 0xab, 0x6e, 0x1b, 0x82, 0x1d,
0xa6, 0xd2, 0x18, 0x60, 0xcb, 0x30, 0x35, 0x8b, 0x54, 0x2d, 0xd5, 0x94, 0xed, 0xb4, 0x2b, 0x6b,
0xd7, 0x3f, 0x72, 0x04, 0x9c, 0x99, 0x6a, 0xcd, 0x29, 0xc9, 0xa9, 0xb1, 0xff, 0xdd, 0x82, 0x7f,
0x2e, 0x9a, 0xe2, 0xba, 0x6c, 0x97, 0x5e, 0xe8, 0x5c, 0xea, 0x05, 0xfb, 0x72, 0x2f, 0x38, 0xed,
0x1d, 0xbb, 0x75, 0x2f, 0x7c, 0xb3, 0x60, 0x83, 0x62, 0x12, 0xa8, 0xad, 0x93, 0x54, 0xd6, 0xf5,
0xb5, 0x2e, 0xd5, 0xb7, 0xd3, 0xd0, 0xb7, 0x76, 0xa3, 0xdd, 0x7e, 0xa3, 0xd3, 0xa6, 0x91, 0x5b,
0xd3, 0xe8, 0x25, 0xfc, 0xbb, 0xee, 0xc8, 0x4a, 0xa4, 0x43, 0xe8, 0x8a, 0x44, 0x4e, 0xf4, 0x3b,
0x29, 0x47, 0x92, 0xea, 0x5b, 0xbe, 0x6a, 0x9b, 0x1a, 0xc4, 0xc7, 0xae, 0xfe, 0xed, 0x3e, 0xf8,
0x1d, 0x00, 0x00, 0xff, 0xff, 0x04, 0xe9, 0xf7, 0xf7, 0x9a, 0x07, 0x00, 0x00,
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment