Commit 19ee94ab authored by liuyuhang's avatar liuyuhang Committed by 33cn

add comment

parent de68ba63
...@@ -290,6 +290,9 @@ Enable=0 ...@@ -290,6 +290,9 @@ Enable=0
ForkTerminatePart=0 ForkTerminatePart=0
ForkUnfreezeIDX= 0 ForkUnfreezeIDX= 0
[fork.sub.autonomy]
Enable=0
#对已有的平行链如果不是从0开始同步数据,需要设置这个kvmvccmavl的对应平行链高度的fork,如果从0开始同步,statehash会跟以前mavl的不同 #对已有的平行链如果不是从0开始同步数据,需要设置这个kvmvccmavl的对应平行链高度的fork,如果从0开始同步,statehash会跟以前mavl的不同
[fork.sub.store-kvmvccmavl] [fork.sub.store-kvmvccmavl]
ForkKvmvccmavl=0 ForkKvmvccmavl=0
......
...@@ -152,7 +152,8 @@ func (a *action) rvkPropBoard(rvkProb *auty.RevokeProposalBoard) (*types.Receipt ...@@ -152,7 +152,8 @@ func (a *action) rvkPropBoard(rvkProb *auty.RevokeProposalBoard) (*types.Receipt
kv = append(kv, &types.KeyValue{Key: propBoardID(rvkProb.ProposalID), Value: types.Encode(cur)}) kv = append(kv, &types.KeyValue{Key: propBoardID(rvkProb.ProposalID), Value: types.Encode(cur)})
getReceiptLog(pre, cur, auty.TyLogRvkPropBoard) receiptLog := getReceiptLog(pre, cur, auty.TyLogRvkPropBoard)
logs = append(logs, receiptLog)
return &types.Receipt{Ty: types.ExecOk, KV: kv, Logs: logs}, nil return &types.Receipt{Ty: types.ExecOk, KV: kv, Logs: logs}, nil
} }
...@@ -328,7 +329,8 @@ func (a *action) tmintPropBoard(tmintProb *auty.TerminateProposalBoard) (*types. ...@@ -328,7 +329,8 @@ func (a *action) tmintPropBoard(tmintProb *auty.TerminateProposalBoard) (*types.
kv = append(kv, &types.KeyValue{Key: activeBoardID(), Value:types.Encode(cur.PropBoard)}) kv = append(kv, &types.KeyValue{Key: activeBoardID(), Value:types.Encode(cur.PropBoard)})
} }
getReceiptLog(pre, cur, auty.TyLogTmintPropBoard) receiptLog := getReceiptLog(pre, cur, auty.TyLogTmintPropBoard)
logs = append(logs, receiptLog)
return &types.Receipt{Ty: types.ExecOk, KV: kv, Logs: logs}, nil return &types.Receipt{Ty: types.ExecOk, KV: kv, Logs: logs}, nil
} }
......
...@@ -90,7 +90,14 @@ func (a *Autonomy) Exec_TmintPropRule(payload *auty.TerminateProposalRule, tx *t ...@@ -90,7 +90,14 @@ func (a *Autonomy) Exec_TmintPropRule(payload *auty.TerminateProposalRule, tx *t
return action.tmintPropRule(payload) return action.tmintPropRule(payload)
} }
// Exec_Transfer 资金转入自治系统合约中
func (a *Autonomy) Exec_Transfer(payload *auty.TransferFund, tx *types.Transaction, index int) (*types.Receipt, error) { func (a *Autonomy) Exec_Transfer(payload *auty.TransferFund, tx *types.Transaction, index int) (*types.Receipt, error) {
action := newAction(a, tx, int32(index)) action := newAction(a, tx, int32(index))
return action.transfer(payload) return action.transfer(payload)
}
// Exec_Comment 评论提案
func (a *Autonomy) Exec_Comment(payload *auty.Comment, tx *types.Transaction, index int) (*types.Receipt, error) {
action := newAction(a, tx, int32(index))
return action.comment(payload)
} }
\ No newline at end of file
...@@ -75,4 +75,9 @@ func (a *Autonomy) ExecLocal_VotePropRule(payload *auty.VoteProposalRule, tx *ty ...@@ -75,4 +75,9 @@ func (a *Autonomy) ExecLocal_VotePropRule(payload *auty.VoteProposalRule, tx *ty
// ExecLocal_TmintPropRule 终止提案规则 // ExecLocal_TmintPropRule 终止提案规则
func (a *Autonomy) ExecLocal_TmintPropRule(payload *auty.TerminateProposalRule, tx *types.Transaction, receiptData *types.ReceiptData, index int) (*types.LocalDBSet, error) { func (a *Autonomy) ExecLocal_TmintPropRule(payload *auty.TerminateProposalRule, tx *types.Transaction, receiptData *types.ReceiptData, index int) (*types.LocalDBSet, error) {
return a.execLocalRule(receiptData) return a.execLocalRule(receiptData)
}
// ExecLocal_Comment 评论提案
func (a *Autonomy) ExecLocal_Comment(payload *auty.Comment, tx *types.Transaction, receiptData *types.ReceiptData, index int) (*types.LocalDBSet, error) {
return a.execLocalComment(receiptData)
} }
\ No newline at end of file
...@@ -79,3 +79,12 @@ func calcRuleKey4StatusHeight(status int32, heightindex string) []byte { ...@@ -79,3 +79,12 @@ func calcRuleKey4StatusHeight(status int32, heightindex string) []byte {
return []byte(key) return []byte(key)
} }
var (
// comment
localCommentPrefix = localPrefix + "cmt" + "-"
)
func calcCommentHeight(ID, heightindex string) []byte {
key := fmt.Sprintf(localCommentPrefix + "%s-" +"%s", ID, heightindex)
return []byte(key)
}
\ No newline at end of file
...@@ -119,7 +119,8 @@ func (a *action) rvkPropProject(rvkProb *auty.RevokeProposalProject) (*types.Rec ...@@ -119,7 +119,8 @@ func (a *action) rvkPropProject(rvkProb *auty.RevokeProposalProject) (*types.Rec
kv = append(kv, &types.KeyValue{Key: propProjectID(rvkProb.ProposalID), Value: types.Encode(cur)}) kv = append(kv, &types.KeyValue{Key: propProjectID(rvkProb.ProposalID), Value: types.Encode(cur)})
getProjectReceiptLog(pre, cur, auty.TyLogRvkPropProject) receiptLog := getProjectReceiptLog(pre, cur, auty.TyLogRvkPropProject)
logs = append(logs, receiptLog)
return &types.Receipt{Ty: types.ExecOk, KV: kv, Logs: logs}, nil return &types.Receipt{Ty: types.ExecOk, KV: kv, Logs: logs}, nil
} }
...@@ -418,7 +419,8 @@ func (a *action) tmintPropProject(tmintProb *auty.TerminateProposalProject) (*ty ...@@ -418,7 +419,8 @@ func (a *action) tmintPropProject(tmintProb *auty.TerminateProposalProject) (*ty
kv = append(kv, &types.KeyValue{Key: propProjectID(tmintProb.ProposalID), Value: types.Encode(cur)}) kv = append(kv, &types.KeyValue{Key: propProjectID(tmintProb.ProposalID), Value: types.Encode(cur)})
getProjectReceiptLog(pre, cur, auty.TyLogTmintPropProject) receiptLog := getProjectReceiptLog(pre, cur, auty.TyLogTmintPropProject)
logs = append(logs, receiptLog)
return &types.Receipt{Ty: types.ExecOk, KV: kv, Logs: logs}, nil return &types.Receipt{Ty: types.ExecOk, KV: kv, Logs: logs}, nil
} }
......
...@@ -145,4 +145,35 @@ func (a *Autonomy) listProposalRule(req *auty.ReqQueryProposalRule) (types.Messa ...@@ -145,4 +145,35 @@ func (a *Autonomy) listProposalRule(req *auty.ReqQueryProposalRule) (types.Messa
rep.PropRules = append(rep.PropRules, prop) rep.PropRules = append(rep.PropRules, prop)
} }
return &rep, nil return &rep, nil
}
func (a *Autonomy) execLocalComment(receiptData *types.ReceiptData) (*types.LocalDBSet, error) {
dbSet := &types.LocalDBSet{}
var set []*types.KeyValue
for _, log := range receiptData.Logs {
switch log.Ty {
case auty.TyLogCommentProp:
{
var receipt auty.ReceiptProposalComment
err := types.Decode(log.Log, &receipt)
if err != nil {
return nil, err
}
kv := saveCommentHeightIndex(&receipt)
set = append(set, kv...)
}
default:
break
}
}
dbSet.KV = append(dbSet.KV, set...)
return dbSet, nil
}
func saveCommentHeightIndex(res *auty.ReceiptProposalComment) (kvs []*types.KeyValue) {
kv := &types.KeyValue{}
kv.Key = calcCommentHeight(res.Cmt.ProposalID, dapp.HeightIndexStr(res.Height, int64(res.Index)))
kv.Value = types.Encode(&types.ReqString{Data:res.Cmt.Comment})
kvs = append(kvs, kv)
return kvs
} }
\ No newline at end of file
...@@ -119,7 +119,8 @@ func (a *action) rvkPropRule(rvkProb *auty.RevokeProposalRule) (*types.Receipt, ...@@ -119,7 +119,8 @@ func (a *action) rvkPropRule(rvkProb *auty.RevokeProposalRule) (*types.Receipt,
kv = append(kv, &types.KeyValue{Key: propRuleID(rvkProb.ProposalID), Value: types.Encode(cur)}) kv = append(kv, &types.KeyValue{Key: propRuleID(rvkProb.ProposalID), Value: types.Encode(cur)})
getRuleReceiptLog(pre, cur, auty.TyLogRvkPropRule) receiptLog := getRuleReceiptLog(pre, cur, auty.TyLogRvkPropRule)
logs = append(logs, receiptLog)
return &types.Receipt{Ty: types.ExecOk, KV: kv, Logs: logs}, nil return &types.Receipt{Ty: types.ExecOk, KV: kv, Logs: logs}, nil
} }
...@@ -299,8 +300,8 @@ func (a *action) tmintPropRule(tmintProb *auty.TerminateProposalRule) (*types.Re ...@@ -299,8 +300,8 @@ func (a *action) tmintPropRule(tmintProb *auty.TerminateProposalRule) (*types.Re
upRule := upgradeRule(cur.CurRule, cur.PropRule.RuleCfg) upRule := upgradeRule(cur.CurRule, cur.PropRule.RuleCfg)
kv = append(kv, &types.KeyValue{Key: activeRuleID(), Value:types.Encode(upRule)}) kv = append(kv, &types.KeyValue{Key: activeRuleID(), Value:types.Encode(upRule)})
} }
receiptLog := getRuleReceiptLog(pre, cur, auty.TyLogTmintPropRule)
getRuleReceiptLog(pre, cur, auty.TyLogTmintPropRule) logs = append(logs, receiptLog)
return &types.Receipt{Ty: types.ExecOk, KV: kv, Logs: logs}, nil return &types.Receipt{Ty: types.ExecOk, KV: kv, Logs: logs}, nil
} }
...@@ -324,6 +325,28 @@ func (a *action) transfer(tf *auty.TransferFund) (*types.Receipt, error) { ...@@ -324,6 +325,28 @@ func (a *action) transfer(tf *auty.TransferFund) (*types.Receipt, error) {
return &types.Receipt{Ty: types.ExecOk, KV: kv, Logs: logs}, nil return &types.Receipt{Ty: types.ExecOk, KV: kv, Logs: logs}, nil
} }
func (a *action) comment(cm *auty.Comment) (*types.Receipt, error) {
if cm.Comment == "" || cm.ProposalID == "" {
err := types.ErrInvalidParam
alog.Error("autonomy comment ", "addr", a.fromaddr, "execaddr", a.execaddr, "Comment or proposalID empty", err)
return nil, err
}
var logs []*types.ReceiptLog
var kv []*types.KeyValue
receiptLog := getCommentReceiptLog(cm, a.height, a.index, auty.TyLogCommentProp)
logs = append(logs, receiptLog)
return &types.Receipt{Ty: types.ExecOk, KV: kv, Logs: logs}, nil
}
func getCommentReceiptLog(cur *auty.Comment, height int64, index int32, ty int32) *types.ReceiptLog {
log := &types.ReceiptLog{}
log.Ty = ty
r := &auty.ReceiptProposalComment{Cmt: cur, Height:height, Index:index}
log.Log = types.Encode(r)
return log
}
func (a *action) getProposalRule(ID string) (*auty.AutonomyProposalRule, error) { func (a *action) getProposalRule(ID string) (*auty.AutonomyProposalRule, error) {
value, err := a.db.Get(propRuleID(ID)) value, err := a.db.Get(propRuleID(ID))
if err != nil { if err != nil {
......
...@@ -32,6 +32,7 @@ message AutonomyAction { ...@@ -32,6 +32,7 @@ message AutonomyAction {
TerminateProposalRule tmintPropRule = 13; TerminateProposalRule tmintPropRule = 13;
// 发展基金转自治系统合约 // 发展基金转自治系统合约
TransferFund transfer = 14; TransferFund transfer = 14;
Comment commentProp = 15;
} }
int32 ty = 15; int32 ty = 16;
} }
\ No newline at end of file
...@@ -90,10 +90,4 @@ message ReqQueryProposalProject { ...@@ -90,10 +90,4 @@ message ReqQueryProposalProject {
message ReplyQueryProposalProject { message ReplyQueryProposalProject {
repeated AutonomyProposalProject propProjects = 1; repeated AutonomyProposalProject propProjects = 1;
}
// TransferFund action
message TransferFund {
int64 amount = 1;
string note = 2;
} }
\ No newline at end of file
...@@ -69,4 +69,22 @@ message ReqQueryProposalRule { ...@@ -69,4 +69,22 @@ message ReqQueryProposalRule {
message ReplyQueryProposalRule { message ReplyQueryProposalRule {
repeated AutonomyProposalRule propRules = 1; repeated AutonomyProposalRule propRules = 1;
}
// TransferFund action
message TransferFund {
int64 amount = 1;
string note = 2;
}
// Comment action
message Comment {
string proposalID = 1;
string comment = 2;
}
message ReceiptProposalComment {
Comment cmt = 1;
int64 height = 2;
int32 index = 3;
} }
\ No newline at end of file
...@@ -36,7 +36,6 @@ It has these top-level messages: ...@@ -36,7 +36,6 @@ It has these top-level messages:
LocalProposalProject LocalProposalProject
ReqQueryProposalProject ReqQueryProposalProject
ReplyQueryProposalProject ReplyQueryProposalProject
TransferFund
AutonomyProposalRule AutonomyProposalRule
ProposalRule ProposalRule
RevokeProposalRule RevokeProposalRule
...@@ -46,6 +45,9 @@ It has these top-level messages: ...@@ -46,6 +45,9 @@ It has these top-level messages:
LocalProposalRule LocalProposalRule
ReqQueryProposalRule ReqQueryProposalRule
ReplyQueryProposalRule ReplyQueryProposalRule
TransferFund
Comment
ReceiptProposalComment
*/ */
package types package types
...@@ -81,8 +83,9 @@ type AutonomyAction struct { ...@@ -81,8 +83,9 @@ type AutonomyAction struct {
// *AutonomyAction_VotePropRule // *AutonomyAction_VotePropRule
// *AutonomyAction_TmintPropRule // *AutonomyAction_TmintPropRule
// *AutonomyAction_Transfer // *AutonomyAction_Transfer
// *AutonomyAction_CommentProp
Value isAutonomyAction_Value `protobuf_oneof:"value"` Value isAutonomyAction_Value `protobuf_oneof:"value"`
Ty int32 `protobuf:"varint,15,opt,name=ty" json:"ty,omitempty"` Ty int32 `protobuf:"varint,16,opt,name=ty" json:"ty,omitempty"`
} }
func (m *AutonomyAction) Reset() { *m = AutonomyAction{} } func (m *AutonomyAction) Reset() { *m = AutonomyAction{} }
...@@ -136,6 +139,9 @@ type AutonomyAction_TmintPropRule struct { ...@@ -136,6 +139,9 @@ type AutonomyAction_TmintPropRule struct {
type AutonomyAction_Transfer struct { type AutonomyAction_Transfer struct {
Transfer *TransferFund `protobuf:"bytes,14,opt,name=transfer,oneof"` Transfer *TransferFund `protobuf:"bytes,14,opt,name=transfer,oneof"`
} }
type AutonomyAction_CommentProp struct {
CommentProp *Comment `protobuf:"bytes,15,opt,name=commentProp,oneof"`
}
func (*AutonomyAction_PropBoard) isAutonomyAction_Value() {} func (*AutonomyAction_PropBoard) isAutonomyAction_Value() {}
func (*AutonomyAction_RvkPropBoard) isAutonomyAction_Value() {} func (*AutonomyAction_RvkPropBoard) isAutonomyAction_Value() {}
...@@ -151,6 +157,7 @@ func (*AutonomyAction_RvkPropRule) isAutonomyAction_Value() {} ...@@ -151,6 +157,7 @@ func (*AutonomyAction_RvkPropRule) isAutonomyAction_Value() {}
func (*AutonomyAction_VotePropRule) isAutonomyAction_Value() {} func (*AutonomyAction_VotePropRule) isAutonomyAction_Value() {}
func (*AutonomyAction_TmintPropRule) isAutonomyAction_Value() {} func (*AutonomyAction_TmintPropRule) isAutonomyAction_Value() {}
func (*AutonomyAction_Transfer) isAutonomyAction_Value() {} func (*AutonomyAction_Transfer) isAutonomyAction_Value() {}
func (*AutonomyAction_CommentProp) isAutonomyAction_Value() {}
func (m *AutonomyAction) GetValue() isAutonomyAction_Value { func (m *AutonomyAction) GetValue() isAutonomyAction_Value {
if m != nil { if m != nil {
...@@ -257,6 +264,13 @@ func (m *AutonomyAction) GetTransfer() *TransferFund { ...@@ -257,6 +264,13 @@ func (m *AutonomyAction) GetTransfer() *TransferFund {
return nil return nil
} }
func (m *AutonomyAction) GetCommentProp() *Comment {
if x, ok := m.GetValue().(*AutonomyAction_CommentProp); ok {
return x.CommentProp
}
return nil
}
func (m *AutonomyAction) GetTy() int32 { func (m *AutonomyAction) GetTy() int32 {
if m != nil { if m != nil {
return m.Ty return m.Ty
...@@ -281,6 +295,7 @@ func (*AutonomyAction) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer ...@@ -281,6 +295,7 @@ func (*AutonomyAction) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer
(*AutonomyAction_VotePropRule)(nil), (*AutonomyAction_VotePropRule)(nil),
(*AutonomyAction_TmintPropRule)(nil), (*AutonomyAction_TmintPropRule)(nil),
(*AutonomyAction_Transfer)(nil), (*AutonomyAction_Transfer)(nil),
(*AutonomyAction_CommentProp)(nil),
} }
} }
...@@ -358,6 +373,11 @@ func _AutonomyAction_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { ...@@ -358,6 +373,11 @@ func _AutonomyAction_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
if err := b.EncodeMessage(x.Transfer); err != nil { if err := b.EncodeMessage(x.Transfer); err != nil {
return err return err
} }
case *AutonomyAction_CommentProp:
b.EncodeVarint(15<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.CommentProp); err != nil {
return err
}
case nil: case nil:
default: default:
return fmt.Errorf("AutonomyAction.Value has unexpected type %T", x) return fmt.Errorf("AutonomyAction.Value has unexpected type %T", x)
...@@ -480,6 +500,14 @@ func _AutonomyAction_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto ...@@ -480,6 +500,14 @@ func _AutonomyAction_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto
err := b.DecodeMessage(msg) err := b.DecodeMessage(msg)
m.Value = &AutonomyAction_Transfer{msg} m.Value = &AutonomyAction_Transfer{msg}
return true, err 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
default: default:
return false, nil return false, nil
} }
...@@ -559,6 +587,11 @@ func _AutonomyAction_OneofSizer(msg proto.Message) (n int) { ...@@ -559,6 +587,11 @@ func _AutonomyAction_OneofSizer(msg proto.Message) (n int) {
n += proto.SizeVarint(14<<3 | proto.WireBytes) n += proto.SizeVarint(14<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s)) n += proto.SizeVarint(uint64(s))
n += 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 nil: case nil:
default: default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
...@@ -573,31 +606,32 @@ func init() { ...@@ -573,31 +606,32 @@ func init() {
func init() { proto.RegisterFile("autonomy.proto", fileDescriptor0) } func init() { proto.RegisterFile("autonomy.proto", fileDescriptor0) }
var fileDescriptor0 = []byte{ var fileDescriptor0 = []byte{
// 407 bytes of a gzipped FileDescriptorProto // 427 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x93, 0x4b, 0x6b, 0xf2, 0x40, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x93, 0xcf, 0xaf, 0xd2, 0x40,
0x14, 0x40, 0xd5, 0xef, 0x8b, 0x8f, 0x1b, 0x13, 0xcb, 0x6d, 0x69, 0x53, 0x69, 0xa9, 0x74, 0xe5, 0x14, 0x85, 0x01, 0xed, 0xe3, 0xbd, 0x5b, 0x5a, 0xc8, 0xd5, 0x68, 0x25, 0x1a, 0x89, 0x2b, 0x56,
0x4a, 0xe8, 0x63, 0x55, 0x10, 0x54, 0x8a, 0x75, 0x53, 0x1a, 0x82, 0xb8, 0x8f, 0x76, 0x0a, 0xd6, 0x24, 0xa2, 0x2b, 0x13, 0x12, 0x40, 0x83, 0x6c, 0x8c, 0x4d, 0x43, 0xd8, 0x17, 0x1c, 0x13, 0xa4,
0x98, 0x09, 0xe3, 0x24, 0x90, 0xbf, 0xd7, 0x5f, 0x56, 0x32, 0x4e, 0x1e, 0x13, 0xd3, 0x9d, 0xe6, 0xed, 0x34, 0xc3, 0xb4, 0x49, 0xff, 0x71, 0xd7, 0xa6, 0xb7, 0xd3, 0x1f, 0x53, 0xea, 0x0e, 0x7a,
0xde, 0x73, 0xe0, 0x1e, 0x0d, 0x98, 0x6e, 0xc8, 0xa9, 0x4f, 0xf7, 0xf1, 0x28, 0x60, 0x94, 0x53, 0xcf, 0xf7, 0x25, 0xe7, 0x40, 0xc1, 0xf6, 0x13, 0xc9, 0x23, 0x1e, 0x66, 0x8b, 0x58, 0x70, 0xc9,
0xd4, 0x78, 0x1c, 0x90, 0x43, 0x5f, 0x5f, 0x53, 0x97, 0x7d, 0x1e, 0x9f, 0xf5, 0x8d, 0x80, 0xd1, 0xd1, 0x90, 0x59, 0xcc, 0x6e, 0x53, 0xf3, 0xc4, 0x7d, 0xf1, 0xab, 0x78, 0x36, 0xb5, 0x62, 0xc1,
0x6f, 0xb2, 0xe1, 0xf2, 0x2b, 0xb0, 0xd0, 0x23, 0xc7, 0xcf, 0xf7, 0x3f, 0x2d, 0x30, 0xa7, 0xd2, 0xff, 0xb0, 0xb3, 0x54, 0x5f, 0x41, 0x24, 0x01, 0x2b, 0x3e, 0x7f, 0xf8, 0x3b, 0x04, 0x7b, 0xa3,
0x30, 0xdd, 0xf0, 0x2d, 0xf5, 0xf1, 0x19, 0x3a, 0x01, 0xa3, 0xc1, 0x2c, 0x11, 0x58, 0xf5, 0x41, 0x0c, 0x9b, 0xb3, 0xbc, 0xf0, 0x08, 0x3f, 0xc3, 0x53, 0x2c, 0x78, 0xbc, 0xcd, 0x05, 0x4e, 0x7f,
0x7d, 0xa8, 0x3f, 0x5e, 0x8c, 0x84, 0x75, 0x64, 0x33, 0x1a, 0xd0, 0x83, 0xeb, 0x89, 0xd9, 0xa2, 0xd6, 0x9f, 0x9b, 0xcb, 0x97, 0x0b, 0xb2, 0x2e, 0x5c, 0xc1, 0x63, 0x7e, 0xf3, 0x03, 0xba, 0xed,
0xe6, 0xe4, 0x8b, 0x38, 0x81, 0x2e, 0x8b, 0x76, 0x76, 0x06, 0x36, 0x04, 0xd8, 0x97, 0xa0, 0x43, 0x7b, 0x5e, 0x1d, 0xc4, 0x35, 0x8c, 0x44, 0x7a, 0x75, 0x2b, 0x70, 0x40, 0xe0, 0x54, 0x81, 0x1e,
0x22, 0xba, 0x23, 0x65, 0x5c, 0x21, 0x70, 0x02, 0x46, 0x44, 0x39, 0xc9, 0x15, 0xff, 0x84, 0xc2, 0x4b, 0xf9, 0x95, 0xb5, 0x71, 0x8d, 0xc0, 0x35, 0x58, 0x29, 0x97, 0xac, 0x56, 0x3c, 0x23, 0x85,
0x92, 0x8a, 0x95, 0x9c, 0x15, 0x05, 0x2a, 0x80, 0x6f, 0x60, 0xf2, 0xfd, 0xd6, 0xe7, 0xb9, 0xe2, 0xa3, 0x14, 0x47, 0x75, 0x6b, 0x0a, 0x74, 0x00, 0xbf, 0x83, 0x2d, 0xc3, 0x4b, 0x24, 0x6b, 0xc5,
0xbf, 0x50, 0xdc, 0x4a, 0xc5, 0x92, 0xb0, 0xfd, 0xd6, 0x77, 0x4f, 0x3d, 0x25, 0x0c, 0x5f, 0x40, 0x73, 0x52, 0xbc, 0x53, 0x8a, 0x03, 0x13, 0xe1, 0x25, 0xf2, 0xef, 0x3d, 0x2d, 0x0c, 0xbf, 0x80,
0x4f, 0x2e, 0xb3, 0x8f, 0xd9, 0x2c, 0x4d, 0x58, 0x2e, 0x4b, 0x11, 0xe4, 0x74, 0x51, 0x73, 0x8a, 0x99, 0x37, 0x73, 0x8b, 0xd9, 0x1c, 0x83, 0x2c, 0xaf, 0x5a, 0x23, 0xa8, 0xeb, 0xbe, 0xe7, 0x35,
0xcb, 0x38, 0x07, 0x53, 0x9e, 0x95, 0xe2, 0x4d, 0x81, 0xdf, 0x54, 0xa6, 0xc8, 0x25, 0x25, 0x0a, 0xc3, 0xb8, 0x03, 0x5b, 0xd5, 0x2a, 0xf1, 0x07, 0xc2, 0xdf, 0x76, 0x4e, 0x51, 0x4b, 0x5a, 0x14,
0xe7, 0xd0, 0x4b, 0xaf, 0x4b, 0x45, 0x2d, 0xa5, 0x69, 0x31, 0x48, 0xae, 0x29, 0x43, 0xf8, 0x01, 0xee, 0x60, 0x5c, 0xb6, 0x2b, 0x45, 0x43, 0x6d, 0xd3, 0xe6, 0x20, 0xb5, 0xa6, 0x0d, 0xe1, 0x4f,
0x18, 0x84, 0xeb, 0x55, 0x49, 0xd5, 0x56, 0xc2, 0xd8, 0xf9, 0x82, 0x6a, 0xab, 0x40, 0xf1, 0x1d, 0xc0, 0x38, 0x39, 0x1d, 0x5b, 0xaa, 0x47, 0x6d, 0x18, 0xb7, 0x0e, 0xe8, 0xb6, 0x0e, 0x14, 0x7f,
0xce, 0xb2, 0x5c, 0xa9, 0xae, 0x23, 0x74, 0x77, 0x7f, 0x75, 0xce, 0x85, 0x27, 0x28, 0x3e, 0x40, 0xc0, 0xa4, 0x9a, 0xab, 0xd4, 0x3d, 0x91, 0xee, 0xfd, 0xff, 0x76, 0xae, 0x85, 0x77, 0x28, 0x7e,
0x3b, 0xc9, 0xe7, 0x84, 0x1e, 0xb1, 0x40, 0x68, 0xce, 0x4b, 0xa1, 0x93, 0xd1, 0xa2, 0xe6, 0x64, 0x84, 0xc7, 0x7c, 0x3e, 0x2f, 0x09, 0x98, 0x03, 0xa4, 0x79, 0xd1, 0x1a, 0x3a, 0x3f, 0xed, 0x7b,
0x6b, 0x38, 0x06, 0x5d, 0xc6, 0x12, 0x94, 0x2e, 0xa8, 0xeb, 0xca, 0xbe, 0x92, 0x2d, 0xee, 0xe3, 0x5e, 0x15, 0xc3, 0x15, 0x98, 0x6a, 0x2c, 0xa2, 0x4c, 0xa2, 0xde, 0x74, 0xee, 0xab, 0xd8, 0x66,
0x18, 0xba, 0x69, 0x24, 0xc1, 0x77, 0x05, 0x7f, 0x55, 0x91, 0x55, 0xd2, 0xca, 0x3a, 0xbe, 0x82, 0x1e, 0x57, 0x30, 0x2a, 0x47, 0x22, 0x7e, 0x44, 0xfc, 0xeb, 0x8e, 0x59, 0x15, 0xad, 0xc5, 0xf1,
0x91, 0x1d, 0x21, 0x78, 0x43, 0xf9, 0x7d, 0x4f, 0x8e, 0x97, 0x12, 0x15, 0x4a, 0xce, 0xe6, 0xcc, 0x1b, 0x58, 0x55, 0x09, 0xe2, 0x2d, 0xed, 0xf7, 0xbd, 0x2b, 0xaf, 0x24, 0x3a, 0x94, 0xd7, 0x96,
0xf5, 0x0f, 0x5f, 0x84, 0x59, 0xa6, 0x72, 0xf6, 0x52, 0x3e, 0x9e, 0x87, 0x7e, 0xf2, 0xdf, 0xcc, 0xc2, 0x8f, 0x6e, 0xbf, 0x99, 0x70, 0x6c, 0xad, 0xf6, 0x41, 0x3d, 0xde, 0x25, 0x51, 0xfe, 0xdf,
0xd6, 0xd0, 0x84, 0x06, 0x8f, 0xad, 0xde, 0xa0, 0x3e, 0xd4, 0x9c, 0x06, 0x8f, 0x67, 0x2d, 0xd0, 0xac, 0x62, 0xb8, 0x04, 0xf3, 0xcc, 0xc3, 0x90, 0x15, 0x16, 0x67, 0x4c, 0x94, 0xad, 0xa8, 0xaf,
0x22, 0xd7, 0x0b, 0xc9, 0xba, 0x29, 0xde, 0xe5, 0xa7, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x95, 0xc5, 0x25, 0xef, 0xda, 0x08, 0xa1, 0x0d, 0x03, 0x99, 0x39, 0x93, 0x59, 0x7f, 0x6e, 0x78, 0x03,
0x75, 0xd2, 0x7a, 0x0c, 0x04, 0x00, 0x00, 0x99, 0x6d, 0x87, 0x60, 0xa4, 0x7e, 0x90, 0xb0, 0xd3, 0x03, 0xbd, 0xff, 0x9f, 0xfe, 0x05, 0x00,
0x00, 0xff, 0xff, 0xf5, 0x6a, 0x69, 0x9d, 0x40, 0x04, 0x00, 0x00,
} }
...@@ -40,6 +40,8 @@ const ( ...@@ -40,6 +40,8 @@ const (
TyLogRvkPropRule = 2122 TyLogRvkPropRule = 2122
TyLogVotePropRule = 2123 TyLogVotePropRule = 2123
TyLogTmintPropRule = 2124 TyLogTmintPropRule = 2124
TyLogCommentProp = 2131
) )
// status // status
......
This diff is collapsed.
...@@ -308,6 +308,88 @@ func (m *ReplyQueryProposalRule) GetPropRules() []*AutonomyProposalRule { ...@@ -308,6 +308,88 @@ func (m *ReplyQueryProposalRule) GetPropRules() []*AutonomyProposalRule {
return nil 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 fileDescriptor4, []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"`
Comment string `protobuf:"bytes,2,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 fileDescriptor4, []int{10} }
func (m *Comment) GetProposalID() string {
if m != nil {
return m.ProposalID
}
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"`
}
func (m *ReceiptProposalComment) Reset() { *m = ReceiptProposalComment{} }
func (m *ReceiptProposalComment) String() string { return proto.CompactTextString(m) }
func (*ReceiptProposalComment) ProtoMessage() {}
func (*ReceiptProposalComment) Descriptor() ([]byte, []int) { return fileDescriptor4, []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 init() { func init() {
proto.RegisterType((*AutonomyProposalRule)(nil), "types.AutonomyProposalRule") proto.RegisterType((*AutonomyProposalRule)(nil), "types.AutonomyProposalRule")
proto.RegisterType((*ProposalRule)(nil), "types.ProposalRule") proto.RegisterType((*ProposalRule)(nil), "types.ProposalRule")
...@@ -318,43 +400,51 @@ func init() { ...@@ -318,43 +400,51 @@ func init() {
proto.RegisterType((*LocalProposalRule)(nil), "types.LocalProposalRule") proto.RegisterType((*LocalProposalRule)(nil), "types.LocalProposalRule")
proto.RegisterType((*ReqQueryProposalRule)(nil), "types.ReqQueryProposalRule") proto.RegisterType((*ReqQueryProposalRule)(nil), "types.ReqQueryProposalRule")
proto.RegisterType((*ReplyQueryProposalRule)(nil), "types.ReplyQueryProposalRule") proto.RegisterType((*ReplyQueryProposalRule)(nil), "types.ReplyQueryProposalRule")
proto.RegisterType((*TransferFund)(nil), "types.TransferFund")
proto.RegisterType((*Comment)(nil), "types.Comment")
proto.RegisterType((*ReceiptProposalComment)(nil), "types.ReceiptProposalComment")
} }
func init() { proto.RegisterFile("rule.proto", fileDescriptor4) } func init() { proto.RegisterFile("rule.proto", fileDescriptor4) }
var fileDescriptor4 = []byte{ var fileDescriptor4 = []byte{
// 518 bytes of a gzipped FileDescriptorProto // 594 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0x4d, 0x6f, 0xd3, 0x40, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0x4d, 0x6f, 0xd3, 0x40,
0x10, 0x95, 0x9b, 0x6c, 0x3e, 0x86, 0x0f, 0xa5, 0xdb, 0x50, 0x59, 0x05, 0xa1, 0xc8, 0x07, 0x14, 0x10, 0x95, 0xe3, 0xb8, 0xa9, 0x87, 0x52, 0xa5, 0xdb, 0x50, 0x59, 0x05, 0x21, 0xcb, 0x07, 0x14,
0x81, 0x14, 0xc4, 0x97, 0x2a, 0x8e, 0x50, 0x90, 0x40, 0xea, 0x01, 0x06, 0xc4, 0xdd, 0xd8, 0xd3, 0x81, 0x14, 0xc4, 0x97, 0x2a, 0xb8, 0x41, 0x00, 0x81, 0xd4, 0x03, 0x2c, 0x15, 0x77, 0x63, 0x4f,
0xc4, 0xaa, 0xb3, 0xbb, 0xac, 0xd7, 0x51, 0x73, 0xe0, 0xcc, 0x8f, 0xe6, 0x82, 0x76, 0xbd, 0x8e, 0x12, 0xab, 0xf6, 0xae, 0x59, 0xaf, 0xa3, 0xe6, 0xc0, 0x99, 0x1f, 0xcd, 0x05, 0xed, 0x87, 0x13,
0xe3, 0x26, 0x2a, 0xea, 0x6d, 0xdf, 0xf8, 0xcd, 0xec, 0xcc, 0xec, 0x7b, 0x06, 0xd0, 0x65, 0x4e, 0xbb, 0x89, 0x0a, 0xbd, 0xed, 0x9b, 0x7d, 0x3b, 0x3b, 0x33, 0xfb, 0xde, 0x02, 0x88, 0x3a, 0xc7,
0x33, 0xa5, 0xa5, 0x91, 0x9c, 0x99, 0xb5, 0xa2, 0xe2, 0xe4, 0x5e, 0x9e, 0xc8, 0xe5, 0x52, 0x8a, 0x49, 0x29, 0xb8, 0xe4, 0xc4, 0x93, 0xab, 0x12, 0xab, 0xd3, 0xbb, 0x79, 0xc2, 0x8b, 0x82, 0x33,
0x2a, 0x1a, 0xfd, 0x39, 0x80, 0xf1, 0xbb, 0xd2, 0x48, 0x21, 0x97, 0xeb, 0x2f, 0x5a, 0x2a, 0x59, 0x13, 0x8d, 0x7e, 0xf7, 0x60, 0xf4, 0xb6, 0x96, 0x9c, 0xf1, 0x62, 0xf5, 0x45, 0xf0, 0x92, 0x57,
0xc4, 0x39, 0x96, 0x39, 0xf1, 0xe7, 0x30, 0x50, 0x5a, 0x2a, 0x7b, 0x0e, 0x83, 0x49, 0x30, 0xbd, 0x71, 0x4e, 0xeb, 0x1c, 0xc9, 0x53, 0xd8, 0x2f, 0x05, 0x2f, 0xd5, 0x3a, 0x70, 0x42, 0x67, 0x7c,
0xf3, 0xf2, 0x68, 0xe6, 0x2a, 0xcc, 0xb6, 0x69, 0xb8, 0x21, 0xf1, 0x67, 0xd0, 0x4f, 0x4a, 0xed, 0xe7, 0xf9, 0xf1, 0x44, 0x67, 0x98, 0xb4, 0x69, 0x74, 0x4d, 0x22, 0x4f, 0x60, 0x90, 0xd4, 0x42,
0xf8, 0x07, 0x8e, 0x7f, 0xe8, 0xf9, 0x36, 0x74, 0x26, 0xc5, 0x45, 0x36, 0xc7, 0x9a, 0xc1, 0x5f, 0xf3, 0x7b, 0x9a, 0x7f, 0x64, 0xf9, 0x2a, 0x34, 0xe5, 0x6c, 0x96, 0xcd, 0x69, 0xc3, 0x20, 0xcf,
0x00, 0xac, 0xa4, 0x21, 0xa4, 0xa2, 0xcc, 0x4d, 0xd8, 0x69, 0xf1, 0x7f, 0x6c, 0x3e, 0xe0, 0x16, 0x00, 0x96, 0x5c, 0x22, 0xc5, 0xaa, 0xce, 0x65, 0xe0, 0x76, 0xf8, 0xdf, 0xd7, 0x1b, 0xb4, 0x45,
0x89, 0x1f, 0x43, 0xaf, 0x30, 0xb1, 0x29, 0x8b, 0xb0, 0x3b, 0x09, 0xa6, 0x0c, 0x3d, 0xe2, 0x21, 0x22, 0x27, 0xb0, 0x57, 0xc9, 0x58, 0xd6, 0x55, 0xd0, 0x0f, 0x9d, 0xb1, 0x47, 0x2d, 0x22, 0x01,
0xf4, 0xe3, 0x34, 0xd5, 0x54, 0x14, 0x21, 0x9b, 0x04, 0xd3, 0x21, 0xd6, 0xd0, 0x66, 0x2c, 0x28, 0x0c, 0xe2, 0x34, 0x15, 0x58, 0x55, 0x81, 0x17, 0x3a, 0x63, 0x9f, 0x36, 0x50, 0x9d, 0x58, 0x60,
0x9b, 0x2f, 0x4c, 0xd8, 0x9b, 0x04, 0xd3, 0x0e, 0x7a, 0xc4, 0xc7, 0xc0, 0x32, 0x91, 0xd2, 0x55, 0x36, 0x5f, 0xc8, 0x60, 0x2f, 0x74, 0xc6, 0x2e, 0xb5, 0x88, 0x8c, 0xc0, 0xcb, 0x58, 0x8a, 0x57,
0xd8, 0x77, 0x85, 0x2a, 0x10, 0xfd, 0x0d, 0xe0, 0x6e, 0x6b, 0x03, 0x1c, 0xba, 0x6b, 0x8a, 0xb5, 0xc1, 0x40, 0x27, 0x32, 0x20, 0xfa, 0xe3, 0xc0, 0x41, 0x67, 0x02, 0x04, 0xfa, 0x2b, 0x8c, 0x85,
0x9b, 0x9e, 0xa1, 0x3b, 0xdb, 0xd4, 0xa5, 0x14, 0x66, 0xe1, 0x46, 0x64, 0x58, 0x01, 0x3e, 0x82, 0xee, 0xde, 0xa3, 0x7a, 0xad, 0x8e, 0x16, 0x9c, 0xc9, 0x85, 0x6e, 0xd1, 0xa3, 0x06, 0x90, 0x21,
0x4e, 0x1a, 0xaf, 0xdd, 0x18, 0x0c, 0xed, 0xd1, 0x2e, 0xc3, 0xae, 0xfe, 0xec, 0x62, 0xee, 0xba, 0xb8, 0x69, 0xbc, 0xd2, 0x6d, 0x78, 0x54, 0x2d, 0xd5, 0x30, 0xd4, 0xe8, 0xa7, 0xb3, 0xb9, 0xae,
0xdd, 0xbf, 0x0c, 0xcf, 0xe0, 0x4f, 0x61, 0x54, 0x98, 0x58, 0x9b, 0xf7, 0xb9, 0x4c, 0x2e, 0x3f, 0x76, 0xf7, 0x30, 0x2c, 0x83, 0x3c, 0x86, 0x61, 0x25, 0x63, 0x21, 0xdf, 0xe5, 0x3c, 0xb9, 0xfc,
0x55, 0x1d, 0x33, 0xd7, 0xf1, 0x4e, 0x9c, 0x3f, 0x81, 0xfb, 0x24, 0xd2, 0x6d, 0x66, 0x35, 0xdb, 0x64, 0x2a, 0xf6, 0x74, 0xc5, 0x5b, 0x71, 0xf2, 0x08, 0x0e, 0x91, 0xa5, 0x6d, 0xa6, 0xe9, 0xed,
0xb5, 0x28, 0x9f, 0x01, 0xd7, 0x14, 0xe7, 0x1f, 0xdb, 0xdc, 0xbe, 0xe3, 0xee, 0xf9, 0x12, 0xbd, 0x5a, 0x94, 0x4c, 0x80, 0x08, 0x8c, 0xf3, 0x0f, 0x5d, 0xee, 0x40, 0x73, 0x77, 0xec, 0x44, 0x2f,
0x06, 0x8e, 0xb4, 0x92, 0x97, 0xd4, 0x5a, 0xc1, 0x63, 0x00, 0xe5, 0xf1, 0xe7, 0x0f, 0x6e, 0x11, 0x81, 0x50, 0x5c, 0xf2, 0x4b, 0xec, 0x8c, 0xe0, 0x21, 0x40, 0x69, 0xf1, 0xe7, 0xf7, 0x7a, 0x10,
0x43, 0xdc, 0x8a, 0x44, 0xe7, 0x30, 0xb2, 0xaf, 0x75, 0x9b, 0x1c, 0xf7, 0x5e, 0x4a, 0x69, 0xb9, 0x3e, 0x6d, 0x45, 0xa2, 0x73, 0x18, 0xaa, 0xd7, 0xba, 0xcd, 0x19, 0xfd, 0x5e, 0x65, 0x29, 0xf8,
0xaa, 0x74, 0x32, 0xc0, 0x1a, 0x46, 0xa7, 0xf0, 0xe0, 0x3b, 0xe9, 0x65, 0x26, 0xe2, 0xdb, 0x95, 0xd2, 0xe8, 0x64, 0x9f, 0x36, 0x30, 0x3a, 0x83, 0x7b, 0x17, 0x28, 0x8a, 0x8c, 0xc5, 0xb7, 0x4b,
0x8c, 0x7e, 0xc3, 0x11, 0x52, 0x42, 0x99, 0x32, 0xd7, 0x24, 0xdc, 0x55, 0x9a, 0x56, 0x5e, 0xbe, 0x19, 0xfd, 0x82, 0x63, 0x8a, 0x09, 0x66, 0xa5, 0xbc, 0x26, 0xe1, 0x7e, 0x29, 0x70, 0x69, 0xe5,
0x0f, 0xfd, 0x0b, 0xec, 0x53, 0x3b, 0x3a, 0x22, 0x7f, 0xe3, 0x24, 0xac, 0x49, 0x18, 0x2f, 0xe1, 0x7b, 0xdf, 0xbe, 0xc0, 0x2e, 0xb5, 0x53, 0x4d, 0x24, 0xaf, 0xb4, 0x84, 0x05, 0x32, 0x69, 0x25,
0x1b, 0x73, 0x6a, 0x6e, 0xb4, 0x80, 0xc3, 0x73, 0x99, 0xc4, 0x79, 0xeb, 0xf2, 0xd3, 0x1d, 0xff, 0x7c, 0xe3, 0x99, 0x86, 0x1b, 0x2d, 0xe0, 0xe8, 0x9c, 0x27, 0x71, 0xde, 0xb9, 0xfc, 0x6c, 0xcb,
0xdc, 0x58, 0xac, 0xf1, 0xd1, 0x09, 0x0c, 0xac, 0x43, 0x49, 0x98, 0x22, 0x3c, 0x98, 0x74, 0xa6, 0x3f, 0x37, 0x26, 0xdb, 0xf8, 0xe8, 0x14, 0xf6, 0x95, 0x43, 0x91, 0xc9, 0x2a, 0xe8, 0x85, 0xee,
0x43, 0xdc, 0xe0, 0xe8, 0x0a, 0xc6, 0x48, 0xbf, 0xbe, 0x96, 0xa4, 0xdb, 0x66, 0x6d, 0xbc, 0x11, 0xd8, 0xa7, 0x6b, 0x1c, 0x5d, 0xc1, 0x88, 0xe2, 0xcf, 0xaf, 0x35, 0x8a, 0xae, 0x59, 0x37, 0xde,
0xb4, 0xbc, 0x31, 0x06, 0x96, 0xc8, 0xd2, 0x8f, 0xc3, 0xb0, 0x02, 0xfc, 0x11, 0x0c, 0xd3, 0x4c, 0x70, 0x3a, 0xde, 0x18, 0x81, 0x97, 0xf0, 0xda, 0xb6, 0xe3, 0x51, 0x03, 0xc8, 0x03, 0xf0, 0xd3,
0x53, 0x62, 0x32, 0x29, 0xbc, 0x68, 0x9b, 0x40, 0xe3, 0x8e, 0xae, 0x13, 0x8b, 0x77, 0xc7, 0x37, 0x4c, 0x60, 0x22, 0x33, 0xce, 0xac, 0x68, 0x37, 0x81, 0x8d, 0x3b, 0xfa, 0x5a, 0x2c, 0xd6, 0x1d,
0x38, 0x46, 0x52, 0xf9, 0x7a, 0xf7, 0xee, 0xb7, 0x30, 0xac, 0x7b, 0xb7, 0xd7, 0x77, 0xfe, 0x37, 0xdf, 0xe0, 0x84, 0x62, 0x99, 0xaf, 0xb6, 0xef, 0x7e, 0x0d, 0x7e, 0x53, 0xbb, 0xba, 0xde, 0xfd,
0x69, 0xc3, 0xfe, 0xd9, 0x73, 0xff, 0xa0, 0x57, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x44, 0xd4, 0x57, 0xa7, 0x1b, 0x76, 0xf4, 0x06, 0x0e, 0x2e, 0x44, 0xcc, 0xaa, 0x19, 0x8a, 0x8f, 0x35, 0x4b,
0x39, 0xc2, 0xa7, 0x04, 0x00, 0x00, 0x55, 0x1b, 0x71, 0xa1, 0xeb, 0x75, 0x8c, 0x61, 0x0d, 0x52, 0x4e, 0x64, 0x5c, 0x1a, 0xbd, 0xf8,
0x54, 0xaf, 0xa3, 0x29, 0x0c, 0xa6, 0x66, 0x2c, 0xff, 0xa3, 0x38, 0x3b, 0x41, 0x9b, 0xa1, 0x81,
0xd1, 0x42, 0x75, 0xd5, 0x11, 0x4e, 0x93, 0x33, 0x04, 0x37, 0x29, 0xa4, 0x7d, 0xb9, 0x43, 0xdb,
0x8f, 0xdd, 0xa4, 0x6a, 0xab, 0xf5, 0xbb, 0xf4, 0x76, 0xff, 0x2e, 0x6e, 0xeb, 0x77, 0xf9, 0xb1,
0xa7, 0xbf, 0xdb, 0x17, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x1c, 0x0f, 0xac, 0x99, 0x92, 0x05,
0x00, 0x00,
} }
...@@ -19,7 +19,7 @@ func init() { ...@@ -19,7 +19,7 @@ func init() {
types.AllowUserExec = append(types.AllowUserExec, []byte(name)) types.AllowUserExec = append(types.AllowUserExec, []byte(name))
// init executor type // init executor type
types.RegistorExecutor(name, NewType()) types.RegistorExecutor(name, NewType())
types.RegisterDappFork(name, "Enable", 1) types.RegisterDappFork(name, "Enable", 0)
} }
//getRealExecName //getRealExecName
......
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