Commit de68ba63 authored by liuyuhang's avatar liuyuhang Committed by 33cn

add transfer

parent 24b2c046
...@@ -51,6 +51,10 @@ func AutonomyCmd() *cobra.Command { ...@@ -51,6 +51,10 @@ func AutonomyCmd() *cobra.Command {
ShowProposalRuleCmd(), ShowProposalRuleCmd(),
) )
cmd.AddCommand(
TransferFundCmd(),
)
return cmd return cmd
} }
......
...@@ -227,3 +227,34 @@ func showProposalRule(cmd *cobra.Command, args []string) { ...@@ -227,3 +227,34 @@ func showProposalRule(cmd *cobra.Command, args []string) {
ctx := jsonrpc.NewRPCCtx(rpcLaddr, "Chain33.Query", params, rep) ctx := jsonrpc.NewRPCCtx(rpcLaddr, "Chain33.Query", params, rep)
ctx.Run() ctx.Run()
} }
// TransferFundCmd 资金转入自治系统合约中
func TransferFundCmd() *cobra.Command {
cmd := &cobra.Command{
Use: "transferFund",
Short: "transfer fund",
Run: transferFund,
}
addTransferFundflags(cmd)
return cmd
}
func addTransferFundflags(cmd *cobra.Command) {
cmd.Flags().Int64P("amount", "a", 0, "amount")
cmd.MarkFlagRequired("amount")
cmd.Flags().StringP("note", "n", "", "note")
}
func transferFund(cmd *cobra.Command, args []string) {
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
amount, _ := cmd.Flags().GetInt64("amount")
note, _:= cmd.Flags().GetString("note")
params := &auty.TransferFund{
Amount: amount*types.Coin,
Note: note,
}
var res string
ctx := jsonrpc.NewRPCCtx(rpcLaddr, "autonomy.TransferFundTx", params, &res)
ctx.RunWithoutMarshal()
}
\ No newline at end of file
...@@ -13,6 +13,7 @@ import ( ...@@ -13,6 +13,7 @@ import (
"github.com/33cn/chain33/client" "github.com/33cn/chain33/client"
auty "github.com/33cn/plugin/plugin/dapp/autonomy/types" auty "github.com/33cn/plugin/plugin/dapp/autonomy/types"
"github.com/33cn/chain33/common/address"
) )
const ( const (
...@@ -50,13 +51,23 @@ func newAction(a *Autonomy, tx *types.Transaction, index int32) *action { ...@@ -50,13 +51,23 @@ func newAction(a *Autonomy, tx *types.Transaction, index int32) *action {
func (a *action) propBoard(prob *auty.ProposalBoard) (*types.Receipt, error) { func (a *action) propBoard(prob *auty.ProposalBoard) (*types.Receipt, error) {
if len(prob.Boards) > maxBoards || len(prob.Boards) < minBoards { if len(prob.Boards) > maxBoards || len(prob.Boards) < minBoards {
alog.Error("propBoard ", "proposal boards number is invaild", len(prob.Boards))
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
} }
if prob.StartBlockHeight < a.height || prob.EndBlockHeight < a.height { if prob.StartBlockHeight < a.height || prob.EndBlockHeight < a.height {
alog.Error("propBoard height invaild", "StartBlockHeight", prob.StartBlockHeight, "EndBlockHeight",
prob.EndBlockHeight, "height", a.height)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
} }
for _, board := range prob.Boards {
if err := address.CheckAddress(board); err != nil {
alog.Error("propBoard ", "addr", board, "check toAddr error", err)
return nil, types.ErrInvalidAddress
}
}
// 获取当前生效提案规则 // 获取当前生效提案规则
rule, err := a.getActiveRule() rule, err := a.getActiveRule()
if err != nil { if err != nil {
......
...@@ -89,3 +89,8 @@ func (a *Autonomy) Exec_TmintPropRule(payload *auty.TerminateProposalRule, tx *t ...@@ -89,3 +89,8 @@ func (a *Autonomy) Exec_TmintPropRule(payload *auty.TerminateProposalRule, tx *t
action := newAction(a, tx, int32(index)) action := newAction(a, tx, int32(index))
return action.tmintPropRule(payload) return action.tmintPropRule(payload)
} }
func (a *Autonomy) Exec_Transfer(payload *auty.TransferFund, tx *types.Transaction, index int) (*types.Receipt, error) {
action := newAction(a, tx, int32(index))
return action.transfer(payload)
}
\ No newline at end of file
...@@ -20,6 +20,8 @@ func (a *action) propProject(prob *auty.ProposalProject) (*types.Receipt, error) ...@@ -20,6 +20,8 @@ func (a *action) propProject(prob *auty.ProposalProject) (*types.Receipt, error)
} }
if prob.StartBlockHeight < a.height || prob.EndBlockHeight < a.height || prob.Amount <= 0 { if prob.StartBlockHeight < a.height || prob.EndBlockHeight < a.height || prob.Amount <= 0 {
alog.Error("propProject height or amount invaild", "StartBlockHeight", prob.StartBlockHeight, "EndBlockHeight",
prob.EndBlockHeight, "height", a.height, "amount", prob.Amount)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
} }
......
...@@ -9,6 +9,7 @@ import ( ...@@ -9,6 +9,7 @@ import (
"github.com/33cn/chain33/types" "github.com/33cn/chain33/types"
auty "github.com/33cn/plugin/plugin/dapp/autonomy/types" auty "github.com/33cn/plugin/plugin/dapp/autonomy/types"
"github.com/33cn/chain33/system/dapp"
) )
...@@ -18,10 +19,17 @@ func (a *action) propRule(prob *auty.ProposalRule) (*types.Receipt, error) { ...@@ -18,10 +19,17 @@ func (a *action) propRule(prob *auty.ProposalRule) (*types.Receipt, error) {
if prob.RuleCfg == nil || prob.RuleCfg.BoardAttendRatio <= 0 && prob.RuleCfg.BoardApproveRatio <= 0 && if prob.RuleCfg == nil || prob.RuleCfg.BoardAttendRatio <= 0 && prob.RuleCfg.BoardApproveRatio <= 0 &&
prob.RuleCfg.PubOpposeRatio <= 0 && prob.RuleCfg.ProposalAmount <= 0 && prob.RuleCfg.LargeProjectAmount <= 0 && prob.RuleCfg.PubOpposeRatio <= 0 && prob.RuleCfg.ProposalAmount <= 0 && prob.RuleCfg.LargeProjectAmount <= 0 &&
prob.RuleCfg.PublicPeriod <= 0 { prob.RuleCfg.PublicPeriod <= 0 {
alog.Error("propRule ", "ProposalRule RuleCfg invaild or have no modify param", prob.RuleCfg)
return nil, types.ErrInvalidParam
}
if prob.RuleCfg.BoardAttendRatio > 100 || prob.RuleCfg.BoardApproveRatio > 100 || prob.RuleCfg.PubOpposeRatio > 100 {
alog.Error("propRule RuleCfg invaild", "BoardAttendRatio", prob.RuleCfg.BoardAttendRatio, "BoardApproveRatio",
prob.RuleCfg.BoardApproveRatio, "PubOpposeRatio", prob.RuleCfg.PubOpposeRatio)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
} }
if prob.StartBlockHeight < a.height || prob.EndBlockHeight < a.height { if prob.StartBlockHeight < a.height || prob.EndBlockHeight < a.height {
alog.Error("propRule height invaild", "StartBlockHeight", prob.StartBlockHeight, "EndBlockHeight",
prob.EndBlockHeight, "height", a.height)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
} }
...@@ -297,6 +305,25 @@ func (a *action) tmintPropRule(tmintProb *auty.TerminateProposalRule) (*types.Re ...@@ -297,6 +305,25 @@ func (a *action) tmintPropRule(tmintProb *auty.TerminateProposalRule) (*types.Re
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) transfer(tf *auty.TransferFund) (*types.Receipt, error) {
if a.execaddr != dapp.ExecAddress(string(auty.AutonomyX)) {
err := auty.ErrNoAutonomyExec
alog.Error("autonomy transfer ", "addr", a.fromaddr, "execaddr", a.execaddr, "this exec is not autonomy", err)
return nil, err
}
var logs []*types.ReceiptLog
var kv []*types.KeyValue
receipt, err := a.coinsAccount.ExecTransfer(a.fromaddr, autonomyAddr, a.execaddr, tf.Amount)
if err != nil {
alog.Error("autonomy transfer ", "addr", a.fromaddr, "amount", tf.Amount, "ExecTransfer fail", err)
return nil, err
}
logs = append(logs, receipt.Logs...)
kv = append(kv, receipt.KV...)
return &types.Receipt{Ty: types.ExecOk, KV: kv, Logs: logs}, nil
}
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 {
......
...@@ -30,6 +30,8 @@ message AutonomyAction { ...@@ -30,6 +30,8 @@ message AutonomyAction {
RevokeProposalRule rvkPropRule = 11; RevokeProposalRule rvkPropRule = 11;
VoteProposalRule votePropRule = 12; VoteProposalRule votePropRule = 12;
TerminateProposalRule tmintPropRule = 13; TerminateProposalRule tmintPropRule = 13;
// 发展基金转自治系统合约
TransferFund transfer = 14;
} }
int32 ty = 14; int32 ty = 15;
} }
\ No newline at end of file
...@@ -91,3 +91,9 @@ message ReqQueryProposalProject { ...@@ -91,3 +91,9 @@ 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
...@@ -186,3 +186,17 @@ func (c *Jrpc) TerminateProposalRuleTx(parm *auty.TerminateProposalRule, result ...@@ -186,3 +186,17 @@ func (c *Jrpc) TerminateProposalRuleTx(parm *auty.TerminateProposalRule, result
*result = hex.EncodeToString(reply.Data) *result = hex.EncodeToString(reply.Data)
return nil return nil
} }
// TransferTx 资金转入自治系统合约中
func (c *Jrpc) TransferFundTx(parm *auty.TransferFund, result *interface{}) error {
if parm == nil {
return types.ErrInvalidParam
}
reply, err := c.cli.transferFund(context.Background(), parm)
if err != nil {
return err
}
*result = hex.EncodeToString(reply.Data)
return nil
}
\ No newline at end of file
...@@ -208,3 +208,18 @@ func (c *channelClient) terminateProposalRule(ctx context.Context, head *auty.Te ...@@ -208,3 +208,18 @@ func (c *channelClient) terminateProposalRule(ctx context.Context, head *auty.Te
} }
return &types.UnsignTx{Data: data}, nil return &types.UnsignTx{Data: data}, nil
} }
func (c *channelClient) transferFund(ctx context.Context, head *auty.TransferFund) (*types.UnsignTx, error) {
val := &auty.AutonomyAction{
Ty: auty.AutonomyActionTransfer,
Value: &auty.AutonomyAction_Transfer{Transfer: head},
}
tx := &types.Transaction{
Payload: types.Encode(val),
}
data, err := types.FormatTxEncode(types.ExecName(auty.AutonomyX), tx)
if err != nil {
return nil, err
}
return &types.UnsignTx{Data: data}, nil
}
\ No newline at end of file
...@@ -36,6 +36,7 @@ It has these top-level messages: ...@@ -36,6 +36,7 @@ It has these top-level messages:
LocalProposalProject LocalProposalProject
ReqQueryProposalProject ReqQueryProposalProject
ReplyQueryProposalProject ReplyQueryProposalProject
TransferFund
AutonomyProposalRule AutonomyProposalRule
ProposalRule ProposalRule
RevokeProposalRule RevokeProposalRule
...@@ -79,8 +80,9 @@ type AutonomyAction struct { ...@@ -79,8 +80,9 @@ type AutonomyAction struct {
// *AutonomyAction_RvkPropRule // *AutonomyAction_RvkPropRule
// *AutonomyAction_VotePropRule // *AutonomyAction_VotePropRule
// *AutonomyAction_TmintPropRule // *AutonomyAction_TmintPropRule
// *AutonomyAction_Transfer
Value isAutonomyAction_Value `protobuf_oneof:"value"` Value isAutonomyAction_Value `protobuf_oneof:"value"`
Ty int32 `protobuf:"varint,14,opt,name=ty" json:"ty,omitempty"` Ty int32 `protobuf:"varint,15,opt,name=ty" json:"ty,omitempty"`
} }
func (m *AutonomyAction) Reset() { *m = AutonomyAction{} } func (m *AutonomyAction) Reset() { *m = AutonomyAction{} }
...@@ -131,6 +133,9 @@ type AutonomyAction_VotePropRule struct { ...@@ -131,6 +133,9 @@ type AutonomyAction_VotePropRule struct {
type AutonomyAction_TmintPropRule struct { type AutonomyAction_TmintPropRule struct {
TmintPropRule *TerminateProposalRule `protobuf:"bytes,13,opt,name=tmintPropRule,oneof"` TmintPropRule *TerminateProposalRule `protobuf:"bytes,13,opt,name=tmintPropRule,oneof"`
} }
type AutonomyAction_Transfer struct {
Transfer *TransferFund `protobuf:"bytes,14,opt,name=transfer,oneof"`
}
func (*AutonomyAction_PropBoard) isAutonomyAction_Value() {} func (*AutonomyAction_PropBoard) isAutonomyAction_Value() {}
func (*AutonomyAction_RvkPropBoard) isAutonomyAction_Value() {} func (*AutonomyAction_RvkPropBoard) isAutonomyAction_Value() {}
...@@ -145,6 +150,7 @@ func (*AutonomyAction_PropRule) isAutonomyAction_Value() {} ...@@ -145,6 +150,7 @@ func (*AutonomyAction_PropRule) isAutonomyAction_Value() {}
func (*AutonomyAction_RvkPropRule) isAutonomyAction_Value() {} 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 (m *AutonomyAction) GetValue() isAutonomyAction_Value { func (m *AutonomyAction) GetValue() isAutonomyAction_Value {
if m != nil { if m != nil {
...@@ -244,6 +250,13 @@ func (m *AutonomyAction) GetTmintPropRule() *TerminateProposalRule { ...@@ -244,6 +250,13 @@ func (m *AutonomyAction) GetTmintPropRule() *TerminateProposalRule {
return nil return nil
} }
func (m *AutonomyAction) GetTransfer() *TransferFund {
if x, ok := m.GetValue().(*AutonomyAction_Transfer); ok {
return x.Transfer
}
return nil
}
func (m *AutonomyAction) GetTy() int32 { func (m *AutonomyAction) GetTy() int32 {
if m != nil { if m != nil {
return m.Ty return m.Ty
...@@ -267,6 +280,7 @@ func (*AutonomyAction) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer ...@@ -267,6 +280,7 @@ func (*AutonomyAction) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer
(*AutonomyAction_RvkPropRule)(nil), (*AutonomyAction_RvkPropRule)(nil),
(*AutonomyAction_VotePropRule)(nil), (*AutonomyAction_VotePropRule)(nil),
(*AutonomyAction_TmintPropRule)(nil), (*AutonomyAction_TmintPropRule)(nil),
(*AutonomyAction_Transfer)(nil),
} }
} }
...@@ -339,6 +353,11 @@ func _AutonomyAction_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { ...@@ -339,6 +353,11 @@ func _AutonomyAction_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
if err := b.EncodeMessage(x.TmintPropRule); err != nil { if err := b.EncodeMessage(x.TmintPropRule); err != nil {
return err return err
} }
case *AutonomyAction_Transfer:
b.EncodeVarint(14<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.Transfer); 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)
...@@ -453,6 +472,14 @@ func _AutonomyAction_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto ...@@ -453,6 +472,14 @@ func _AutonomyAction_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto
err := b.DecodeMessage(msg) err := b.DecodeMessage(msg)
m.Value = &AutonomyAction_TmintPropRule{msg} m.Value = &AutonomyAction_TmintPropRule{msg}
return true, err 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
default: default:
return false, nil return false, nil
} }
...@@ -527,6 +554,11 @@ func _AutonomyAction_OneofSizer(msg proto.Message) (n int) { ...@@ -527,6 +554,11 @@ func _AutonomyAction_OneofSizer(msg proto.Message) (n int) {
n += proto.SizeVarint(13<<3 | proto.WireBytes) n += proto.SizeVarint(13<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s)) n += proto.SizeVarint(uint64(s))
n += 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 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))
...@@ -541,30 +573,31 @@ func init() { ...@@ -541,30 +573,31 @@ func init() {
func init() { proto.RegisterFile("autonomy.proto", fileDescriptor0) } func init() { proto.RegisterFile("autonomy.proto", fileDescriptor0) }
var fileDescriptor0 = []byte{ var fileDescriptor0 = []byte{
// 388 bytes of a gzipped FileDescriptorProto // 407 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x93, 0x4b, 0x6b, 0xe2, 0x50, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x93, 0x4b, 0x6b, 0xf2, 0x40,
0x14, 0x80, 0xd5, 0x99, 0xf8, 0x38, 0x31, 0x99, 0xe1, 0xcc, 0x30, 0x93, 0x91, 0x19, 0x46, 0xba, 0x14, 0x40, 0xd5, 0xef, 0x8b, 0x8f, 0x1b, 0x13, 0xcb, 0x6d, 0x69, 0x53, 0x69, 0xa9, 0x74, 0xe5,
0x72, 0x25, 0xf4, 0xb1, 0x2a, 0x08, 0x2a, 0xc5, 0xba, 0x29, 0x0d, 0xa1, 0xb8, 0x8f, 0xf6, 0x2e, 0x4a, 0xe8, 0x63, 0x55, 0x10, 0x54, 0x8a, 0x75, 0x53, 0x1a, 0x82, 0xb8, 0x8f, 0x76, 0x0a, 0xd6,
0xac, 0x31, 0x37, 0x5c, 0x6f, 0x02, 0xf9, 0x15, 0xfd, 0xcb, 0x25, 0xc7, 0x9b, 0xc7, 0x8d, 0xe9, 0x98, 0x09, 0xe3, 0x24, 0x90, 0xbf, 0xd7, 0x5f, 0x56, 0x32, 0x4e, 0x1e, 0x13, 0xd3, 0x9d, 0xe6,
0x4e, 0x73, 0xce, 0xf7, 0xc1, 0xf9, 0x42, 0xc0, 0xf6, 0x63, 0xc9, 0x43, 0x7e, 0x4c, 0xa7, 0x91, 0xde, 0x73, 0xe0, 0x1e, 0x0d, 0x98, 0x6e, 0xc8, 0xa9, 0x4f, 0xf7, 0xf1, 0x28, 0x60, 0x94, 0x53,
0xe0, 0x92, 0xa3, 0x21, 0xd3, 0x88, 0x9d, 0x46, 0xe6, 0x96, 0xfb, 0xe2, 0xf5, 0xfc, 0x6c, 0x64, 0xd4, 0x78, 0x1c, 0x90, 0x43, 0x5f, 0x5f, 0x53, 0x97, 0x7d, 0x1e, 0x9f, 0xf5, 0x8d, 0x80, 0xd1,
0x45, 0x82, 0xbf, 0xb1, 0x9d, 0x54, 0x7f, 0x41, 0xc4, 0x01, 0x3b, 0xff, 0xbe, 0x7a, 0xef, 0x81, 0x6f, 0xb2, 0xe1, 0xf2, 0x2b, 0xb0, 0xd0, 0x23, 0xc7, 0xcf, 0xf7, 0x3f, 0x2d, 0x30, 0xa7, 0xd2,
0xbd, 0x50, 0x86, 0xc5, 0x4e, 0xee, 0x79, 0x88, 0x77, 0x30, 0x88, 0x04, 0x8f, 0x96, 0x99, 0xc0, 0x30, 0xdd, 0xf0, 0x2d, 0xf5, 0xf1, 0x19, 0x3a, 0x01, 0xa3, 0xc1, 0x2c, 0x11, 0x58, 0xf5, 0x41,
0x69, 0x8f, 0xdb, 0x13, 0xf3, 0xe6, 0xe7, 0x94, 0xac, 0x53, 0x57, 0xf0, 0x88, 0x9f, 0xfc, 0x80, 0x7d, 0xa8, 0x3f, 0x5e, 0x8c, 0x84, 0x75, 0x64, 0x33, 0x1a, 0xd0, 0x83, 0xeb, 0x89, 0xd9, 0xa2,
0x66, 0xeb, 0x96, 0x57, 0x2e, 0xe2, 0x1c, 0x86, 0x22, 0x39, 0xb8, 0x05, 0xd8, 0x21, 0x70, 0xa4, 0xe6, 0xe4, 0x8b, 0x38, 0x81, 0x2e, 0x8b, 0x76, 0x76, 0x06, 0x36, 0x04, 0xd8, 0x97, 0xa0, 0x43,
0x40, 0x8f, 0x25, 0xfc, 0xc0, 0xea, 0xb8, 0x46, 0xe0, 0x1c, 0xac, 0x84, 0x4b, 0x56, 0x2a, 0xbe, 0x22, 0xba, 0x23, 0x65, 0x5c, 0x21, 0x70, 0x02, 0x46, 0x44, 0x39, 0xc9, 0x15, 0xff, 0x84, 0xc2,
0x90, 0xc2, 0x51, 0x8a, 0x8d, 0x9a, 0x55, 0x05, 0x3a, 0x80, 0x8f, 0x60, 0xcb, 0xe3, 0x3e, 0x94, 0x92, 0x8a, 0x95, 0x9c, 0x15, 0x05, 0x2a, 0x80, 0x6f, 0x60, 0xf2, 0xfd, 0xd6, 0xe7, 0xb9, 0xe2,
0xa5, 0xe2, 0x2b, 0x29, 0xfe, 0x29, 0xc5, 0x0b, 0x13, 0xc7, 0x7d, 0xe8, 0x5f, 0x7a, 0x6a, 0x18, 0xbf, 0x50, 0xdc, 0x4a, 0xc5, 0x92, 0xb0, 0xfd, 0xd6, 0x77, 0x4f, 0x3d, 0x25, 0x0c, 0x5f, 0x40,
0xde, 0x83, 0x99, 0x5d, 0xe6, 0x9e, 0xb3, 0x39, 0x06, 0x59, 0x7e, 0xd5, 0x22, 0xa8, 0xe9, 0xba, 0x4f, 0x2e, 0xb3, 0x8f, 0xd9, 0x2c, 0x4d, 0x58, 0x2e, 0x4b, 0x11, 0xe4, 0x74, 0x51, 0x73, 0x8a,
0xe5, 0x55, 0x97, 0x71, 0x05, 0xb6, 0x3a, 0x2b, 0xc7, 0xbb, 0x84, 0xff, 0x6d, 0x4c, 0x51, 0x4a, 0xcb, 0x38, 0x07, 0x53, 0x9e, 0x95, 0xe2, 0x4d, 0x81, 0xdf, 0x54, 0xa6, 0xc8, 0x25, 0x25, 0x0a,
0x6a, 0x14, 0xae, 0xe0, 0x5b, 0x7e, 0x5d, 0x2e, 0xea, 0x69, 0x4d, 0xab, 0x41, 0x4a, 0x4d, 0x1d, 0xe7, 0xd0, 0x4b, 0xaf, 0x4b, 0x45, 0x2d, 0xa5, 0x69, 0x31, 0x48, 0xae, 0x29, 0x43, 0xf8, 0x01,
0xc2, 0x67, 0xc0, 0x28, 0xde, 0x6e, 0x6a, 0xaa, 0xbe, 0x16, 0xc6, 0x2d, 0x17, 0x74, 0x5b, 0x03, 0x18, 0x84, 0xeb, 0x55, 0x49, 0xd5, 0x56, 0xc2, 0xd8, 0xf9, 0x82, 0x6a, 0xab, 0x40, 0xf1, 0x1d,
0x8a, 0x4f, 0xf0, 0xbd, 0xc8, 0x95, 0xeb, 0x06, 0xa4, 0xfb, 0xff, 0x59, 0xe7, 0x52, 0x78, 0x81, 0xce, 0xb2, 0x5c, 0xa9, 0xae, 0x23, 0x74, 0x77, 0x7f, 0x75, 0xce, 0x85, 0x27, 0x28, 0x3e, 0x40,
0xe2, 0x35, 0xf4, 0xb3, 0x7c, 0x5e, 0x1c, 0x30, 0x07, 0x48, 0xf3, 0xa3, 0x16, 0x3a, 0x1b, 0xad, 0x3b, 0xc9, 0xe7, 0x84, 0x1e, 0xb1, 0x40, 0x68, 0xce, 0x4b, 0xa1, 0x93, 0xd1, 0xa2, 0xe6, 0x64,
0x5b, 0x5e, 0xb1, 0x86, 0x33, 0x30, 0x55, 0x2c, 0xa2, 0x4c, 0xa2, 0xfe, 0x34, 0xf6, 0x55, 0x6c, 0x6b, 0x38, 0x06, 0x5d, 0xc6, 0x12, 0x94, 0x2e, 0xa8, 0xeb, 0xca, 0xbe, 0x92, 0x2d, 0xee, 0xe3,
0x75, 0x1f, 0x67, 0x30, 0xcc, 0x23, 0x11, 0x3f, 0x24, 0xfe, 0x77, 0x43, 0x56, 0x45, 0x6b, 0xeb, 0x18, 0xba, 0x69, 0x24, 0xc1, 0x77, 0x05, 0x7f, 0x55, 0x91, 0x55, 0xd2, 0xca, 0x3a, 0xbe, 0x82,
0xf8, 0x00, 0x56, 0x71, 0x04, 0xf1, 0x96, 0xf6, 0x7e, 0x2f, 0x8e, 0x57, 0x12, 0x1d, 0x42, 0x1b, 0x91, 0x1d, 0x21, 0x78, 0x43, 0xf9, 0x7d, 0x4f, 0x8e, 0x97, 0x12, 0x15, 0x4a, 0xce, 0xe6, 0xcc,
0x3a, 0x32, 0x75, 0xec, 0x71, 0x7b, 0x62, 0x78, 0x1d, 0x99, 0x2e, 0x7b, 0x60, 0x24, 0x7e, 0x10, 0xf5, 0x0f, 0x5f, 0x84, 0x59, 0xa6, 0x72, 0xf6, 0x52, 0x3e, 0x9e, 0x87, 0x7e, 0xf2, 0xdf, 0xcc,
0xb3, 0x6d, 0x97, 0x3e, 0xcc, 0xdb, 0x8f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5a, 0xbe, 0x86, 0xe9, 0xd6, 0xd0, 0x84, 0x06, 0x8f, 0xad, 0xde, 0xa0, 0x3e, 0xd4, 0x9c, 0x06, 0x8f, 0x67, 0x2d, 0xd0,
0xd9, 0x03, 0x00, 0x00, 0x22, 0xd7, 0x0b, 0xc9, 0xba, 0x29, 0xde, 0xe5, 0xa7, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x95,
0x75, 0xd2, 0x7a, 0x0c, 0x04, 0x00, 0x00,
} }
...@@ -22,6 +22,8 @@ const ( ...@@ -22,6 +22,8 @@ const (
AutonomyActionVotePropRule AutonomyActionVotePropRule
AutonomyActionTmintPropRule AutonomyActionTmintPropRule
AutonomyActionTransfer
//log for autonomy //log for autonomy
TyLogPropBoard = 2101 TyLogPropBoard = 2101
TyLogRvkPropBoard = 2102 TyLogRvkPropBoard = 2102
......
...@@ -21,4 +21,6 @@ var ( ...@@ -21,4 +21,6 @@ var (
ErrTerminatePeriod = errors.New("ErrTerminatePeriod") ErrTerminatePeriod = errors.New("ErrTerminatePeriod")
// ErrNoActiveBoard 没有有效董事会 // ErrNoActiveBoard 没有有效董事会
ErrNoActiveBoard = errors.New("ErrNoActiveBoard") ErrNoActiveBoard = errors.New("ErrNoActiveBoard")
// ErrNoAutonomyExec 非Autonomy执行器
ErrNoAutonomyExec = errors.New("ErrNoAutonomyExec")
) )
...@@ -416,6 +416,31 @@ func (m *ReplyQueryProposalProject) GetPropProjects() []*AutonomyProposalProject ...@@ -416,6 +416,31 @@ func (m *ReplyQueryProposalProject) GetPropProjects() []*AutonomyProposalProject
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 fileDescriptor3, []int{10} }
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 ""
}
func init() { func init() {
proto.RegisterType((*AutonomyProposalProject)(nil), "types.AutonomyProposalProject") proto.RegisterType((*AutonomyProposalProject)(nil), "types.AutonomyProposalProject")
proto.RegisterType((*ProposalProject)(nil), "types.ProposalProject") proto.RegisterType((*ProposalProject)(nil), "types.ProposalProject")
...@@ -427,53 +452,56 @@ func init() { ...@@ -427,53 +452,56 @@ func init() {
proto.RegisterType((*LocalProposalProject)(nil), "types.LocalProposalProject") proto.RegisterType((*LocalProposalProject)(nil), "types.LocalProposalProject")
proto.RegisterType((*ReqQueryProposalProject)(nil), "types.ReqQueryProposalProject") proto.RegisterType((*ReqQueryProposalProject)(nil), "types.ReqQueryProposalProject")
proto.RegisterType((*ReplyQueryProposalProject)(nil), "types.ReplyQueryProposalProject") proto.RegisterType((*ReplyQueryProposalProject)(nil), "types.ReplyQueryProposalProject")
proto.RegisterType((*TransferFund)(nil), "types.TransferFund")
} }
func init() { proto.RegisterFile("project.proto", fileDescriptor3) } func init() { proto.RegisterFile("project.proto", fileDescriptor3) }
var fileDescriptor3 = []byte{ var fileDescriptor3 = []byte{
// 686 bytes of a gzipped FileDescriptorProto // 714 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0x4d, 0x6f, 0x13, 0x3b, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0x4d, 0x6f, 0xdb, 0x38,
0x14, 0x55, 0x3a, 0x99, 0xa4, 0xb9, 0x49, 0x3f, 0x9e, 0xdb, 0x97, 0xfa, 0x55, 0x4f, 0x55, 0x34, 0x10, 0x85, 0x2c, 0xcb, 0x8e, 0xc7, 0xce, 0xc7, 0x32, 0x59, 0x87, 0x1b, 0x2c, 0x02, 0x43, 0x87,
0x8b, 0xa7, 0xe8, 0x21, 0x45, 0xa8, 0x08, 0x51, 0xb1, 0x6b, 0x29, 0x12, 0x48, 0xa8, 0x04, 0x83, 0x85, 0xb1, 0x0b, 0x18, 0x8b, 0x14, 0x45, 0x83, 0xdc, 0x92, 0xa6, 0x45, 0x0b, 0x14, 0xa9, 0xcb,
0xd8, 0xa2, 0xc9, 0xcc, 0x6d, 0x3b, 0xed, 0x64, 0x6c, 0x3c, 0x9e, 0x8a, 0x88, 0x3d, 0xbf, 0x92, 0x06, 0xbd, 0x16, 0xb2, 0xc4, 0x24, 0x4a, 0x64, 0x91, 0xa5, 0xa8, 0xa0, 0x46, 0xef, 0xfd, 0x95,
0xff, 0xc1, 0x16, 0xf9, 0xda, 0x43, 0x3e, 0x5a, 0x44, 0xbb, 0xf3, 0x39, 0xf7, 0x9c, 0x3b, 0xf1, 0xfd, 0x1f, 0xbd, 0x16, 0x1c, 0x52, 0xb5, 0xe4, 0xa4, 0x68, 0x72, 0xe3, 0x7b, 0xf3, 0xde, 0xc8,
0xb5, 0x7d, 0x02, 0x1b, 0x4a, 0xcb, 0x2b, 0x4c, 0xcc, 0x48, 0x69, 0x69, 0x24, 0x0b, 0xcd, 0x4c, 0x1c, 0x92, 0xcf, 0xb0, 0x2e, 0x95, 0xb8, 0xe6, 0xb1, 0x9e, 0x48, 0x25, 0xb4, 0x20, 0x81, 0x5e,
0x61, 0xb9, 0xbf, 0x91, 0x27, 0x72, 0x3a, 0x95, 0x85, 0x63, 0xa3, 0xef, 0x6b, 0xb0, 0x77, 0x5c, 0x48, 0x5e, 0xec, 0xad, 0x67, 0xb1, 0x98, 0xcf, 0x45, 0x6e, 0xd9, 0xf0, 0x5b, 0x0b, 0x76, 0x8f,
0x19, 0x59, 0xc8, 0xe9, 0x6c, 0xac, 0xa5, 0x92, 0x65, 0x9c, 0x8f, 0x9d, 0x8f, 0x1d, 0x41, 0x57, 0x4b, 0x2d, 0x72, 0x31, 0x5f, 0x4c, 0x95, 0x90, 0xa2, 0x88, 0xb2, 0xa9, 0xf5, 0x91, 0x43, 0xe8,
0x69, 0xa9, 0x3c, 0xe4, 0x8d, 0x41, 0x63, 0xd8, 0x3d, 0xec, 0x8f, 0xa8, 0xcf, 0x68, 0x45, 0x2c, 0x4b, 0x25, 0xa4, 0x83, 0xd4, 0x1b, 0x79, 0xe3, 0xfe, 0xc1, 0x70, 0x82, 0x7d, 0x26, 0x2b, 0x62,
0x16, 0xa5, 0xec, 0x11, 0xb4, 0x93, 0x4a, 0x8b, 0x2a, 0x47, 0xbe, 0x46, 0xae, 0xbf, 0xbc, 0xcb, 0x56, 0x97, 0x92, 0xff, 0xa0, 0x1b, 0x97, 0x8a, 0x95, 0x19, 0xa7, 0x2d, 0x74, 0xfd, 0xe1, 0x5c,
0x52, 0x2f, 0x64, 0x71, 0x9e, 0x5d, 0x88, 0x5a, 0xc1, 0xfa, 0xd0, 0x9a, 0xc8, 0x58, 0xa7, 0x25, 0x86, 0x7a, 0x2e, 0xf2, 0x8b, 0xf4, 0x92, 0x55, 0x0a, 0x32, 0x84, 0xce, 0x4c, 0x44, 0x2a, 0x29,
0x0f, 0x06, 0xc1, 0xb0, 0x23, 0x3c, 0x62, 0x4f, 0xa1, 0x47, 0xab, 0x8f, 0xd2, 0xa0, 0xc0, 0x92, 0xa8, 0x3f, 0xf2, 0xc7, 0x3d, 0xe6, 0x10, 0x79, 0x0a, 0x03, 0x5c, 0x7d, 0x10, 0x9a, 0x33, 0x5e,
0x37, 0x97, 0x3a, 0x79, 0xb6, 0xca, 0x8d, 0x58, 0x92, 0xd9, 0x6f, 0xab, 0x6a, 0x62, 0x11, 0x0f, 0xd0, 0x76, 0xa3, 0x93, 0x63, 0xcb, 0x4c, 0xb3, 0x86, 0xcc, 0x7c, 0x5b, 0x96, 0x33, 0x83, 0x68,
0x97, 0x1c, 0xe3, 0x6a, 0x92, 0x67, 0x09, 0xc9, 0x6a, 0x85, 0xfd, 0x76, 0x69, 0x62, 0x53, 0x95, 0xd0, 0x70, 0x4c, 0xcb, 0x59, 0x96, 0xc6, 0x28, 0xab, 0x14, 0xe6, 0xdb, 0x85, 0x8e, 0x74, 0x59,
0xbc, 0x35, 0x68, 0x0c, 0x43, 0xe1, 0x11, 0xe3, 0xd0, 0x8e, 0xd3, 0x54, 0x63, 0x59, 0xf2, 0xf6, 0xd0, 0xce, 0xc8, 0x1b, 0x07, 0xcc, 0x21, 0x42, 0xa1, 0x1b, 0x25, 0x89, 0xe2, 0x45, 0x41, 0xbb,
0xa0, 0x31, 0xec, 0x88, 0x1a, 0x5a, 0xc7, 0x25, 0x66, 0x17, 0x97, 0x86, 0xaf, 0x0f, 0x1a, 0xc3, 0x23, 0x6f, 0xdc, 0x63, 0x15, 0x34, 0x8e, 0x2b, 0x9e, 0x5e, 0x5e, 0x69, 0xba, 0x36, 0xf2, 0xc6,
0x40, 0x78, 0xc4, 0x76, 0x21, 0xcc, 0x8a, 0x14, 0xbf, 0xf0, 0x0e, 0x35, 0x72, 0x20, 0xfa, 0x11, 0x3e, 0x73, 0x88, 0xec, 0x40, 0x90, 0xe6, 0x09, 0xff, 0x4c, 0x7b, 0xd8, 0xc8, 0x82, 0xf0, 0xbb,
0xc0, 0xd6, 0xea, 0x58, 0x19, 0x34, 0x67, 0x18, 0x6b, 0x9a, 0x67, 0x28, 0x68, 0x6d, 0xdd, 0x53, 0x0f, 0x9b, 0xab, 0x63, 0x25, 0xd0, 0x5e, 0xf0, 0x48, 0xe1, 0x3c, 0x03, 0x86, 0x6b, 0xe3, 0x9e,
0x59, 0x98, 0x4b, 0x1a, 0x57, 0x28, 0x1c, 0x60, 0xdb, 0x10, 0xa4, 0xf1, 0x8c, 0x07, 0xc4, 0xd9, 0x8b, 0x5c, 0x5f, 0xe1, 0xb8, 0x02, 0x66, 0x01, 0xd9, 0x02, 0x3f, 0x89, 0x16, 0xd4, 0x47, 0xce,
0x25, 0x3b, 0x00, 0x38, 0xcf, 0x74, 0x69, 0xde, 0x9b, 0xf8, 0x02, 0x69, 0x22, 0x1d, 0xb1, 0xc0, 0x2c, 0xc9, 0x3e, 0xc0, 0x45, 0xaa, 0x0a, 0xfd, 0x5e, 0x47, 0x97, 0x1c, 0x27, 0xd2, 0x63, 0x35,
0xb0, 0x7f, 0xa1, 0x93, 0xc7, 0x75, 0x39, 0xa4, 0xf2, 0x9c, 0xb0, 0x6e, 0xa5, 0x65, 0x5a, 0x25, 0x86, 0xfc, 0x0d, 0xbd, 0x2c, 0xaa, 0xca, 0x01, 0x96, 0x97, 0x84, 0x71, 0x4b, 0x25, 0x92, 0x32,
0x26, 0x93, 0x05, 0xed, 0xb8, 0x23, 0x16, 0x18, 0x36, 0x80, 0x6e, 0x8a, 0x65, 0xa2, 0x33, 0x45, 0xd6, 0xa9, 0xc8, 0x71, 0xc7, 0x3d, 0x56, 0x63, 0xc8, 0x08, 0xfa, 0x09, 0x2f, 0x62, 0x95, 0x4a,
0x02, 0xb7, 0xf3, 0x45, 0xca, 0x76, 0x48, 0x64, 0x61, 0x74, 0x9c, 0x18, 0xa9, 0x69, 0x02, 0x1d, 0x14, 0xd8, 0x9d, 0xd7, 0x29, 0xd3, 0x21, 0x16, 0xb9, 0x56, 0x51, 0xac, 0x85, 0xc2, 0x09, 0xf4,
0xb1, 0xc0, 0xd8, 0xe9, 0xc4, 0x53, 0x59, 0x15, 0x86, 0xc6, 0x10, 0x08, 0x8f, 0x58, 0x04, 0x3d, 0x58, 0x8d, 0x31, 0xd3, 0x89, 0xe6, 0xa2, 0xcc, 0x35, 0x8e, 0xc1, 0x67, 0x0e, 0x91, 0x10, 0x06,
0xb7, 0x3a, 0x45, 0x13, 0x67, 0x39, 0x07, 0x72, 0x2e, 0x71, 0xd6, 0x6b, 0xe4, 0x71, 0x9a, 0x6a, 0x76, 0x75, 0xca, 0x75, 0x94, 0x66, 0x14, 0xd0, 0xd9, 0xe0, 0x8c, 0x57, 0x8b, 0xe3, 0x24, 0x51,
0xde, 0xa5, 0xaa, 0x47, 0xec, 0x7f, 0xd8, 0x2e, 0x4d, 0xac, 0xcd, 0x49, 0x2e, 0x93, 0xeb, 0x57, 0xb4, 0x8f, 0x55, 0x87, 0xc8, 0xbf, 0xb0, 0x55, 0xe8, 0x48, 0xe9, 0x93, 0x4c, 0xc4, 0x37, 0xaf,
0x6e, 0xf6, 0x3d, 0xea, 0x7e, 0x8b, 0x67, 0xff, 0xc1, 0x26, 0x16, 0xe9, 0xa2, 0x72, 0x83, 0x94, 0xec, 0xec, 0x07, 0xd8, 0xfd, 0x0e, 0x4f, 0xfe, 0x81, 0x0d, 0x9e, 0x27, 0x75, 0xe5, 0x3a, 0x2a,
0x2b, 0x2c, 0x1b, 0x01, 0xd3, 0x18, 0xe7, 0x2f, 0x97, 0xb5, 0x9b, 0xa4, 0xbd, 0xa3, 0xc2, 0x1e, 0x57, 0x58, 0x32, 0x01, 0xa2, 0x78, 0x94, 0xbd, 0x68, 0x6a, 0x37, 0x50, 0x7b, 0x4f, 0x85, 0xfc,
0xc3, 0x8e, 0x7f, 0x4d, 0x67, 0x88, 0xae, 0x72, 0x56, 0x4d, 0xf9, 0x16, 0x9d, 0xcc, 0x5d, 0xa5, 0x0f, 0xdb, 0xee, 0x35, 0x9d, 0x71, 0x6e, 0x2b, 0x67, 0xe5, 0x9c, 0x6e, 0xe2, 0xc9, 0xdc, 0x57,
0xe8, 0x19, 0xfc, 0x2d, 0xf0, 0x46, 0x5e, 0xe3, 0xea, 0xf1, 0xbb, 0x43, 0x20, 0xea, 0xf5, 0x29, 0x0a, 0x9f, 0xc1, 0x9f, 0x8c, 0xdf, 0x8a, 0x1b, 0xbe, 0x7a, 0xfc, 0xf6, 0x10, 0x90, 0x7a, 0x7d,
0x5d, 0x02, 0x77, 0x08, 0x9e, 0x89, 0xde, 0xc2, 0x8e, 0xbd, 0x9a, 0x0f, 0xb4, 0xd1, 0x8d, 0x55, 0x8a, 0x97, 0xc0, 0x1e, 0x82, 0x63, 0xc2, 0xb7, 0xb0, 0x6d, 0xae, 0xe6, 0x23, 0x6d, 0x78, 0x63,
0x4a, 0xcb, 0x1b, 0xf7, 0xe4, 0xd6, 0x45, 0x0d, 0xa3, 0x31, 0xf4, 0xc7, 0xee, 0xba, 0x3f, 0xb4, 0xa5, 0x54, 0xe2, 0xd6, 0x3e, 0xb9, 0x35, 0x56, 0xc1, 0x70, 0x0a, 0xc3, 0xa9, 0xbd, 0xee, 0x8f,
0x67, 0x1f, 0x5a, 0x52, 0x29, 0x59, 0xd6, 0x2d, 0x3d, 0x8a, 0x9e, 0x03, 0xff, 0x80, 0x7a, 0x9a, 0xed, 0x39, 0x84, 0x8e, 0x90, 0x52, 0x14, 0x55, 0x4b, 0x87, 0xc2, 0x23, 0xa0, 0xe7, 0x5c, 0xcd,
0x15, 0xf1, 0x83, 0x7b, 0x46, 0xdf, 0x1a, 0xd0, 0x17, 0x98, 0x60, 0xa6, 0xcc, 0xaa, 0xf5, 0x10, 0xd3, 0x3c, 0x7a, 0x74, 0xcf, 0xf0, 0xab, 0x07, 0x43, 0xc6, 0x63, 0x9e, 0x4a, 0xbd, 0x6a, 0x3d,
0x9a, 0x4a, 0xe3, 0x8d, 0x0f, 0x9a, 0x03, 0xff, 0x6c, 0x7f, 0x93, 0x4e, 0x82, 0xb4, 0xec, 0x88, 0x80, 0xb6, 0x54, 0xfc, 0xd6, 0x05, 0xcd, 0xbe, 0x7b, 0xb6, 0xbf, 0x48, 0x27, 0x86, 0x5a, 0x72,
0x92, 0x46, 0x63, 0x61, 0x7c, 0xd2, 0xfc, 0xc9, 0x56, 0xcb, 0xa3, 0x1c, 0x76, 0xdf, 0xc8, 0x84, 0x88, 0x49, 0xa3, 0x78, 0xae, 0x5d, 0xd2, 0xfc, 0xce, 0x56, 0xc9, 0xc3, 0x0c, 0x76, 0xde, 0x88,
0x0a, 0x2b, 0xa9, 0xd7, 0x76, 0x51, 0x76, 0x75, 0xcf, 0x1f, 0x52, 0xcb, 0xd9, 0x3e, 0xac, 0xdb, 0x18, 0x0b, 0x2b, 0xa9, 0xd7, 0xb5, 0x51, 0x76, 0xfd, 0xc0, 0x1f, 0x52, 0xc9, 0xc9, 0x1e, 0xac,
0x6c, 0xc5, 0xc2, 0x94, 0x7c, 0x8d, 0xa2, 0xec, 0x17, 0x8e, 0xbe, 0xc2, 0x9e, 0xc0, 0xcf, 0xef, 0x99, 0x6c, 0xe5, 0xb9, 0x2e, 0x68, 0x0b, 0xa3, 0xec, 0x27, 0x0e, 0xbf, 0xc0, 0x2e, 0xe3, 0x9f,
0x2a, 0xd4, 0xb7, 0x62, 0x76, 0x9e, 0x41, 0x8d, 0xa5, 0x0c, 0xda, 0x85, 0x30, 0xa1, 0xa7, 0xe4, 0xde, 0x95, 0x5c, 0xdd, 0x89, 0xd9, 0x65, 0x06, 0x79, 0x8d, 0x0c, 0xda, 0x81, 0x20, 0xc6, 0xa7,
0x33, 0x81, 0x80, 0x7d, 0xe1, 0x69, 0xa6, 0xd1, 0x3d, 0x61, 0x97, 0x0c, 0x73, 0x62, 0x9e, 0x42, 0xe4, 0x32, 0x01, 0x81, 0x79, 0xe1, 0x49, 0xaa, 0xb8, 0x7d, 0xc2, 0x36, 0x19, 0x96, 0xc4, 0x32,
0x4d, 0xba, 0xca, 0x3e, 0x85, 0x3e, 0xc1, 0x3f, 0x02, 0x55, 0x3e, 0xbb, 0xf3, 0xf3, 0x27, 0xd0, 0x85, 0xda, 0x78, 0x95, 0x5d, 0x0a, 0x7d, 0x84, 0xbf, 0x18, 0x97, 0xd9, 0xe2, 0xde, 0xcf, 0x9f,
0x5b, 0x88, 0x6e, 0xfb, 0x23, 0x82, 0x7b, 0x6c, 0x7a, 0xc9, 0x33, 0x69, 0xd1, 0x9f, 0xc9, 0x93, 0xc0, 0xa0, 0x16, 0xdd, 0xe6, 0x47, 0xf8, 0x0f, 0xd8, 0x74, 0xc3, 0x13, 0x1e, 0xc1, 0xe0, 0x5c,
0x9f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x2e, 0x98, 0xa5, 0xae, 0x73, 0x06, 0x00, 0x00, 0x45, 0x79, 0x71, 0xc1, 0xd5, 0xcb, 0x32, 0x4f, 0x6a, 0x31, 0xe0, 0x35, 0x62, 0x80, 0x40, 0x3b,
0x37, 0xc1, 0xdc, 0xc2, 0x6b, 0x81, 0xeb, 0x59, 0x07, 0xff, 0x88, 0x9e, 0xfc, 0x08, 0x00, 0x00,
0xff, 0xff, 0x20, 0x2a, 0x06, 0x3d, 0xaf, 0x06, 0x00, 0x00,
} }
...@@ -88,5 +88,7 @@ func (a *AutonomyType) GetTypeMap() map[string]int32 { ...@@ -88,5 +88,7 @@ func (a *AutonomyType) GetTypeMap() map[string]int32 {
"RvkPropRule": AutonomyActionRvkPropRule, "RvkPropRule": AutonomyActionRvkPropRule,
"VotePropRule": AutonomyActionVotePropRule, "VotePropRule": AutonomyActionVotePropRule,
"TmintPropRule": AutonomyActionTmintPropRule, "TmintPropRule": AutonomyActionTmintPropRule,
"Transfer": AutonomyActionTransfer,
} }
} }
\ No newline at end of file
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