Commit 960d2433 authored by pengjun's avatar pengjun

#627 add chain33cfg

parent 47977460
...@@ -49,11 +49,17 @@ func addCollateralizeCreateFlags(cmd *cobra.Command) { ...@@ -49,11 +49,17 @@ func addCollateralizeCreateFlags(cmd *cobra.Command) {
} }
func CollateralizeCreate(cmd *cobra.Command, args []string) { func CollateralizeCreate(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title")
cfg := types.GetCliSysParam(title)
if cfg == nil {
panic(fmt.Sprintln("can not find CliSysParam title", title))
}
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
balance, _ := cmd.Flags().GetUint64("balance") balance, _ := cmd.Flags().GetUint64("balance")
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: types.ExecName(pkt.CollateralizeX), Execer: cfg.ExecName(pkt.CollateralizeX),
ActionName: "CollateralizeCreate", ActionName: "CollateralizeCreate",
Payload: []byte(fmt.Sprintf("{\"totalBalance\":%d}", balance)), Payload: []byte(fmt.Sprintf("{\"totalBalance\":%d}", balance)),
} }
...@@ -82,12 +88,18 @@ func addCollateralizeBorrowFlags(cmd *cobra.Command) { ...@@ -82,12 +88,18 @@ func addCollateralizeBorrowFlags(cmd *cobra.Command) {
} }
func CollateralizeBorrow(cmd *cobra.Command, args []string) { func CollateralizeBorrow(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title")
cfg := types.GetCliSysParam(title)
if cfg == nil {
panic(fmt.Sprintln("can not find CliSysParam title", title))
}
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
collateralizeID, _ := cmd.Flags().GetString("collateralizeID") collateralizeID, _ := cmd.Flags().GetString("collateralizeID")
value, _ := cmd.Flags().GetUint64("value") value, _ := cmd.Flags().GetUint64("value")
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: types.ExecName(pkt.CollateralizeX), Execer: cfg.ExecName(pkt.CollateralizeX),
ActionName: "CollateralizeBorrow", ActionName: "CollateralizeBorrow",
Payload: []byte(fmt.Sprintf("{\"collateralizeID\":\"%s\",\"value\":%d}", collateralizeID, value)), Payload: []byte(fmt.Sprintf("{\"collateralizeID\":\"%s\",\"value\":%d}", collateralizeID, value)),
} }
...@@ -118,13 +130,19 @@ func addCollateralizeAppendFlags(cmd *cobra.Command) { ...@@ -118,13 +130,19 @@ func addCollateralizeAppendFlags(cmd *cobra.Command) {
} }
func CollateralizeAppend(cmd *cobra.Command, args []string) { func CollateralizeAppend(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title")
cfg := types.GetCliSysParam(title)
if cfg == nil {
panic(fmt.Sprintln("can not find CliSysParam title", title))
}
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
collateralizeID, _ := cmd.Flags().GetString("collateralizeID") collateralizeID, _ := cmd.Flags().GetString("collateralizeID")
recordID, _ := cmd.Flags().GetString("recordID") recordID, _ := cmd.Flags().GetString("recordID")
value, _ := cmd.Flags().GetUint64("value") value, _ := cmd.Flags().GetUint64("value")
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: types.ExecName(pkt.CollateralizeX), Execer: cfg.ExecName(pkt.CollateralizeX),
ActionName: "CollateralizeAppend", ActionName: "CollateralizeAppend",
Payload: []byte(fmt.Sprintf("{\"collateralizeID\":\"%s\", \"recordID\":\"%s\", \"value\":%d}", collateralizeID, recordID, value)), Payload: []byte(fmt.Sprintf("{\"collateralizeID\":\"%s\", \"recordID\":\"%s\", \"value\":%d}", collateralizeID, recordID, value)),
} }
...@@ -153,12 +171,18 @@ func addCollateralizeRepayFlags(cmd *cobra.Command) { ...@@ -153,12 +171,18 @@ func addCollateralizeRepayFlags(cmd *cobra.Command) {
} }
func CollateralizeRepay(cmd *cobra.Command, args []string) { func CollateralizeRepay(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title")
cfg := types.GetCliSysParam(title)
if cfg == nil {
panic(fmt.Sprintln("can not find CliSysParam title", title))
}
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
collateralizeID, _ := cmd.Flags().GetString("collateralizeID") collateralizeID, _ := cmd.Flags().GetString("collateralizeID")
recordID, _ := cmd.Flags().GetString("recordID") recordID, _ := cmd.Flags().GetString("recordID")
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: types.ExecName(pkt.CollateralizeX), Execer: cfg.ExecName(pkt.CollateralizeX),
ActionName: "CollateralizeRepay", ActionName: "CollateralizeRepay",
Payload: []byte(fmt.Sprintf("{\"collateralizeID\":\"%s\",\"recordID\":\"%s\"}", collateralizeID, recordID)), Payload: []byte(fmt.Sprintf("{\"collateralizeID\":\"%s\",\"recordID\":\"%s\"}", collateralizeID, recordID)),
} }
...@@ -187,12 +211,18 @@ func addCollateralizePriceFeedFlags(cmd *cobra.Command) { ...@@ -187,12 +211,18 @@ func addCollateralizePriceFeedFlags(cmd *cobra.Command) {
} }
func CollateralizePriceFeed(cmd *cobra.Command, args []string) { func CollateralizePriceFeed(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title")
cfg := types.GetCliSysParam(title)
if cfg == nil {
panic(fmt.Sprintln("can not find CliSysParam title", title))
}
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
price, _ := cmd.Flags().GetFloat32("price") price, _ := cmd.Flags().GetFloat32("price")
volume, _ := cmd.Flags().GetUint64("volume") volume, _ := cmd.Flags().GetUint64("volume")
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: types.ExecName(pkt.CollateralizeX), Execer: cfg.ExecName(pkt.CollateralizeX),
ActionName: "CollateralizePriceFeed", ActionName: "CollateralizePriceFeed",
Payload: []byte(fmt.Sprintf("{\"price\":[ %f ], \"volume\":[ %d ]}", price, volume)), Payload: []byte(fmt.Sprintf("{\"price\":[ %f ], \"volume\":[ %d ]}", price, volume)),
} }
...@@ -219,11 +249,17 @@ func addCollateralizeCloseFlags(cmd *cobra.Command) { ...@@ -219,11 +249,17 @@ func addCollateralizeCloseFlags(cmd *cobra.Command) {
} }
func CollateralizeClose(cmd *cobra.Command, args []string) { func CollateralizeClose(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title")
cfg := types.GetCliSysParam(title)
if cfg == nil {
panic(fmt.Sprintln("can not find CliSysParam title", title))
}
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
collateralizeID, _ := cmd.Flags().GetString("collateralizeID") collateralizeID, _ := cmd.Flags().GetString("collateralizeID")
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: types.ExecName(pkt.CollateralizeX), Execer: cfg.ExecName(pkt.CollateralizeX),
ActionName: "CollateralizeClose", ActionName: "CollateralizeClose",
Payload: []byte(fmt.Sprintf("{\"collateralizeID\":\"%s\"}", collateralizeID)), Payload: []byte(fmt.Sprintf("{\"collateralizeID\":\"%s\"}", collateralizeID)),
} }
...@@ -252,6 +288,12 @@ func addCollateralizeManageFlags(cmd *cobra.Command) { ...@@ -252,6 +288,12 @@ func addCollateralizeManageFlags(cmd *cobra.Command) {
} }
func CollateralizeManage(cmd *cobra.Command, args []string) { func CollateralizeManage(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title")
cfg := types.GetCliSysParam(title)
if cfg == nil {
panic(fmt.Sprintln("can not find CliSysParam title", title))
}
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
debtCeiling, _ := cmd.Flags().GetUint64("debtCeiling") debtCeiling, _ := cmd.Flags().GetUint64("debtCeiling")
liquidationRatio, _ := cmd.Flags().GetFloat32("liquidationRatio") liquidationRatio, _ := cmd.Flags().GetFloat32("liquidationRatio")
...@@ -259,7 +301,7 @@ func CollateralizeManage(cmd *cobra.Command, args []string) { ...@@ -259,7 +301,7 @@ func CollateralizeManage(cmd *cobra.Command, args []string) {
period, _ := cmd.Flags().GetUint64("period") period, _ := cmd.Flags().GetUint64("period")
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: types.ExecName(pkt.CollateralizeX), Execer: cfg.ExecName(pkt.CollateralizeX),
ActionName: "CollateralizeManage", ActionName: "CollateralizeManage",
Payload: []byte(fmt.Sprintf("{\"debtCeiling\":%d, \"liquidationRatio\":%f, \"stabilityFeeRatio\":%f, \"period\":%d}", Payload: []byte(fmt.Sprintf("{\"debtCeiling\":%d, \"liquidationRatio\":%f, \"stabilityFeeRatio\":%f, \"period\":%d}",
debtCeiling, liquidationRatio, stabilityFeeRatio, period)), debtCeiling, liquidationRatio, stabilityFeeRatio, period)),
......
...@@ -14,7 +14,7 @@ import ( ...@@ -14,7 +14,7 @@ import (
var clog = log.New("module", "execs.collateralize") var clog = log.New("module", "execs.collateralize")
var driverName = pty.CollateralizeX var driverName = pty.CollateralizeX
func init() { func InitExecType() {
ety := types.LoadExecutorType(driverName) ety := types.LoadExecutorType(driverName)
ety.InitFuncList(types.ListMethod(&Collateralize{})) ety.InitFuncList(types.ListMethod(&Collateralize{}))
} }
...@@ -26,7 +26,7 @@ type subConfig struct { ...@@ -26,7 +26,7 @@ type subConfig struct {
var cfg subConfig var cfg subConfig
// Init collateralize // Init collateralize
func Init(name string, sub []byte) { func Init(name string, cfg *types.Chain33Config, sub []byte) {
driverName := GetName() driverName := GetName()
if name != driverName { if name != driverName {
panic("system dapp can't be rename") panic("system dapp can't be rename")
...@@ -34,7 +34,8 @@ func Init(name string, sub []byte) { ...@@ -34,7 +34,8 @@ func Init(name string, sub []byte) {
if sub != nil { if sub != nil {
types.MustDecode(sub, &cfg) types.MustDecode(sub, &cfg)
} }
drivers.Register(driverName, newCollateralize, types.GetDappFork(driverName, "Enable")) drivers.Register(cfg, driverName, newCollateralize, cfg.GetDappFork(driverName, "Enable"))
InitExecType()
} }
// GetName for Collateralize // GetName for Collateralize
...@@ -170,7 +171,8 @@ func (c *Collateralize) CheckReceiptExecOk() bool { ...@@ -170,7 +171,8 @@ func (c *Collateralize) CheckReceiptExecOk() bool {
// ExecutorOrder 设置localdb的EnableRead // ExecutorOrder 设置localdb的EnableRead
func (c *Collateralize) ExecutorOrder() int64 { func (c *Collateralize) ExecutorOrder() int64 {
if types.IsFork(c.GetHeight(), "ForkLocalDBAccess") { cfg := c.GetAPI().GetConfig()
if cfg.IsFork(c.GetHeight(), "ForkLocalDBAccess") {
return drivers.ExecLocalSameTime return drivers.ExecLocalSameTime
} }
return c.DriverBase.ExecutorOrder() return c.DriverBase.ExecutorOrder()
......
...@@ -19,8 +19,16 @@ var ( ...@@ -19,8 +19,16 @@ var (
func init() { func init() {
types.AllowUserExec = append(types.AllowUserExec, []byte(CollateralizeX)) types.AllowUserExec = append(types.AllowUserExec, []byte(CollateralizeX))
types.RegistorExecutor(CollateralizeX, NewType()) types.RegFork(CollateralizeX, InitFork)
types.RegisterDappFork(CollateralizeX, "Enable", 0) types.RegExec(CollateralizeX, InitExecutor)
}
func InitFork(cfg *types.Chain33Config) {
cfg.RegisterDappFork(CollateralizeX, "Enable", 0)
}
func InitExecutor(cfg *types.Chain33Config) {
types.RegistorExecutor(CollateralizeX, NewType(cfg))
} }
// CollateralizeType def // CollateralizeType def
...@@ -29,19 +37,20 @@ type CollateralizeType struct { ...@@ -29,19 +37,20 @@ type CollateralizeType struct {
} }
// NewType method // NewType method
func NewType() *CollateralizeType { func NewType(cfg *types.Chain33Config) *CollateralizeType {
c := &CollateralizeType{} c := &CollateralizeType{}
c.SetChild(c) c.SetChild(c)
c.SetConfig(cfg)
return c return c
} }
// GetName 获取执行器名称 // GetName 获取执行器名称
func (Collateralize *CollateralizeType) GetName() string { func (collateralize *CollateralizeType) GetName() string {
return CollateralizeX return CollateralizeX
} }
// GetLogMap method // GetLogMap method
func (Collateralize *CollateralizeType) GetLogMap() map[int64]*types.LogInfo { func (collateralize *CollateralizeType) GetLogMap() map[int64]*types.LogInfo {
return map[int64]*types.LogInfo{ return map[int64]*types.LogInfo{
TyLogCollateralizeCreate: {Ty: reflect.TypeOf(ReceiptCollateralize{}), Name: "LogCollateralizeCreate"}, TyLogCollateralizeCreate: {Ty: reflect.TypeOf(ReceiptCollateralize{}), Name: "LogCollateralizeCreate"},
TyLogCollateralizeBorrow: {Ty: reflect.TypeOf(ReceiptCollateralize{}), Name: "LogCollateralizeBorrow"}, TyLogCollateralizeBorrow: {Ty: reflect.TypeOf(ReceiptCollateralize{}), Name: "LogCollateralizeBorrow"},
...@@ -53,13 +62,14 @@ func (Collateralize *CollateralizeType) GetLogMap() map[int64]*types.LogInfo { ...@@ -53,13 +62,14 @@ func (Collateralize *CollateralizeType) GetLogMap() map[int64]*types.LogInfo {
} }
// GetPayload method // GetPayload method
func (Collateralize *CollateralizeType) GetPayload() types.Message { func (collateralize *CollateralizeType) GetPayload() types.Message {
return &CollateralizeAction{} return &CollateralizeAction{}
} }
// CreateTx method // CreateTx method
func (Collateralize CollateralizeType) CreateTx(action string, message json.RawMessage) (*types.Transaction, error) { func (collateralize CollateralizeType) CreateTx(action string, message json.RawMessage) (*types.Transaction, error) {
llog.Debug("Collateralize.CreateTx", "action", action) llog.Debug("Collateralize.CreateTx", "action", action)
cfg := collateralize.GetConfig()
if action == "CollateralizeCreate" { if action == "CollateralizeCreate" {
var param CollateralizeCreateTx var param CollateralizeCreateTx
...@@ -68,7 +78,7 @@ func (Collateralize CollateralizeType) CreateTx(action string, message json.RawM ...@@ -68,7 +78,7 @@ func (Collateralize CollateralizeType) CreateTx(action string, message json.RawM
llog.Error("CreateTx", "Error", err) llog.Error("CreateTx", "Error", err)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
} }
return CreateRawCollateralizeCreateTx(&param) return CreateRawCollateralizeCreateTx(cfg, &param)
} else if action == "CollateralizeBorrow" { } else if action == "CollateralizeBorrow" {
var param CollateralizeBorrowTx var param CollateralizeBorrowTx
err := json.Unmarshal(message, &param) err := json.Unmarshal(message, &param)
...@@ -76,7 +86,7 @@ func (Collateralize CollateralizeType) CreateTx(action string, message json.RawM ...@@ -76,7 +86,7 @@ func (Collateralize CollateralizeType) CreateTx(action string, message json.RawM
llog.Error("CreateTx", "Error", err) llog.Error("CreateTx", "Error", err)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
} }
return CreateRawCollateralizeBorrowTx(&param) return CreateRawCollateralizeBorrowTx(cfg, &param)
} else if action == "CollateralizeRepay" { } else if action == "CollateralizeRepay" {
var param CollateralizeRepayTx var param CollateralizeRepayTx
err := json.Unmarshal(message, &param) err := json.Unmarshal(message, &param)
...@@ -84,7 +94,7 @@ func (Collateralize CollateralizeType) CreateTx(action string, message json.RawM ...@@ -84,7 +94,7 @@ func (Collateralize CollateralizeType) CreateTx(action string, message json.RawM
llog.Error("CreateTx", "Error", err) llog.Error("CreateTx", "Error", err)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
} }
return CreateRawCollateralizeRepayTx(&param) return CreateRawCollateralizeRepayTx(cfg, &param)
} else if action == "CollateralizeAppend" { } else if action == "CollateralizeAppend" {
var param CollateralizeAppendTx var param CollateralizeAppendTx
err := json.Unmarshal(message, &param) err := json.Unmarshal(message, &param)
...@@ -92,7 +102,7 @@ func (Collateralize CollateralizeType) CreateTx(action string, message json.RawM ...@@ -92,7 +102,7 @@ func (Collateralize CollateralizeType) CreateTx(action string, message json.RawM
llog.Error("CreateTx", "Error", err) llog.Error("CreateTx", "Error", err)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
} }
return CreateRawCollateralizeAppendTx(&param) return CreateRawCollateralizeAppendTx(cfg, &param)
} else if action == "CollateralizePriceFeed" { } else if action == "CollateralizePriceFeed" {
var param CollateralizeFeedTx var param CollateralizeFeedTx
err := json.Unmarshal(message, &param) err := json.Unmarshal(message, &param)
...@@ -100,7 +110,7 @@ func (Collateralize CollateralizeType) CreateTx(action string, message json.RawM ...@@ -100,7 +110,7 @@ func (Collateralize CollateralizeType) CreateTx(action string, message json.RawM
llog.Error("CreateTx", "Error", err) llog.Error("CreateTx", "Error", err)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
} }
return CreateRawCollateralizeFeedTx(&param) return CreateRawCollateralizeFeedTx(cfg, &param)
} else if action == "CollateralizeClose" { } else if action == "CollateralizeClose" {
var param CollateralizeCloseTx var param CollateralizeCloseTx
err := json.Unmarshal(message, &param) err := json.Unmarshal(message, &param)
...@@ -108,7 +118,7 @@ func (Collateralize CollateralizeType) CreateTx(action string, message json.RawM ...@@ -108,7 +118,7 @@ func (Collateralize CollateralizeType) CreateTx(action string, message json.RawM
llog.Error("CreateTx", "Error", err) llog.Error("CreateTx", "Error", err)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
} }
return CreateRawCollateralizeCloseTx(&param) return CreateRawCollateralizeCloseTx(cfg, &param)
} else if action == "CollateralizeManage" { } else if action == "CollateralizeManage" {
var param CollateralizeManageTx var param CollateralizeManageTx
err := json.Unmarshal(message, &param) err := json.Unmarshal(message, &param)
...@@ -116,14 +126,14 @@ func (Collateralize CollateralizeType) CreateTx(action string, message json.RawM ...@@ -116,14 +126,14 @@ func (Collateralize CollateralizeType) CreateTx(action string, message json.RawM
llog.Error("CreateTx", "Error", err) llog.Error("CreateTx", "Error", err)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
} }
return CreateRawCollateralizeManageTx(&param) return CreateRawCollateralizeManageTx(cfg, &param)
} else { } else {
return nil, types.ErrNotSupport return nil, types.ErrNotSupport
} }
} }
// GetTypeMap method // GetTypeMap method
func (Collateralize CollateralizeType) GetTypeMap() map[string]int32 { func (collateralize CollateralizeType) GetTypeMap() map[string]int32 {
return map[string]int32{ return map[string]int32{
"Create": CollateralizeActionCreate, "Create": CollateralizeActionCreate,
"Borrow": CollateralizeActionBorrow, "Borrow": CollateralizeActionBorrow,
...@@ -136,7 +146,7 @@ func (Collateralize CollateralizeType) GetTypeMap() map[string]int32 { ...@@ -136,7 +146,7 @@ func (Collateralize CollateralizeType) GetTypeMap() map[string]int32 {
} }
// CreateRawCollateralizeCreateTx method // CreateRawCollateralizeCreateTx method
func CreateRawCollateralizeCreateTx(parm *CollateralizeCreateTx) (*types.Transaction, error) { func CreateRawCollateralizeCreateTx(cfg *types.Chain33Config, parm *CollateralizeCreateTx) (*types.Transaction, error) {
if parm == nil { if parm == nil {
llog.Error("CreateRawCollateralizeCreateTx", "parm", parm) llog.Error("CreateRawCollateralizeCreateTx", "parm", parm)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
...@@ -150,13 +160,13 @@ func CreateRawCollateralizeCreateTx(parm *CollateralizeCreateTx) (*types.Transac ...@@ -150,13 +160,13 @@ func CreateRawCollateralizeCreateTx(parm *CollateralizeCreateTx) (*types.Transac
Value: &CollateralizeAction_Create{v}, Value: &CollateralizeAction_Create{v},
} }
tx := &types.Transaction{ tx := &types.Transaction{
Execer: []byte(types.ExecName(CollateralizeX)), Execer: []byte(cfg.ExecName(CollateralizeX)),
Payload: types.Encode(create), Payload: types.Encode(create),
Fee: parm.Fee, Fee: parm.Fee,
To: address.ExecAddress(types.ExecName(CollateralizeX)), To: address.ExecAddress(cfg.ExecName(CollateralizeX)),
} }
name := types.ExecName(CollateralizeX) name := cfg.ExecName(CollateralizeX)
tx, err := types.FormatTx(name, tx) tx, err := types.FormatTx(cfg, name, tx)
if err != nil { if err != nil {
return nil, err return nil, err
} }
...@@ -164,7 +174,7 @@ func CreateRawCollateralizeCreateTx(parm *CollateralizeCreateTx) (*types.Transac ...@@ -164,7 +174,7 @@ func CreateRawCollateralizeCreateTx(parm *CollateralizeCreateTx) (*types.Transac
} }
// CreateRawCollateralizeBorrowTx method // CreateRawCollateralizeBorrowTx method
func CreateRawCollateralizeBorrowTx(parm *CollateralizeBorrowTx) (*types.Transaction, error) { func CreateRawCollateralizeBorrowTx(cfg *types.Chain33Config, parm *CollateralizeBorrowTx) (*types.Transaction, error) {
if parm == nil { if parm == nil {
llog.Error("CreateRawCollateralizeBorrowTx", "parm", parm) llog.Error("CreateRawCollateralizeBorrowTx", "parm", parm)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
...@@ -179,13 +189,13 @@ func CreateRawCollateralizeBorrowTx(parm *CollateralizeBorrowTx) (*types.Transac ...@@ -179,13 +189,13 @@ func CreateRawCollateralizeBorrowTx(parm *CollateralizeBorrowTx) (*types.Transac
Value: &CollateralizeAction_Borrow{v}, Value: &CollateralizeAction_Borrow{v},
} }
tx := &types.Transaction{ tx := &types.Transaction{
Execer: []byte(types.ExecName(CollateralizeX)), Execer: []byte(cfg.ExecName(CollateralizeX)),
Payload: types.Encode(borrow), Payload: types.Encode(borrow),
Fee: parm.Fee, Fee: parm.Fee,
To: address.ExecAddress(types.ExecName(CollateralizeX)), To: address.ExecAddress(cfg.ExecName(CollateralizeX)),
} }
name := types.ExecName(CollateralizeX) name := cfg.ExecName(CollateralizeX)
tx, err := types.FormatTx(name, tx) tx, err := types.FormatTx(cfg, name, tx)
if err != nil { if err != nil {
return nil, err return nil, err
} }
...@@ -193,7 +203,7 @@ func CreateRawCollateralizeBorrowTx(parm *CollateralizeBorrowTx) (*types.Transac ...@@ -193,7 +203,7 @@ func CreateRawCollateralizeBorrowTx(parm *CollateralizeBorrowTx) (*types.Transac
} }
// CreateRawCollateralizeRepayTx method // CreateRawCollateralizeRepayTx method
func CreateRawCollateralizeRepayTx(parm *CollateralizeRepayTx) (*types.Transaction, error) { func CreateRawCollateralizeRepayTx(cfg *types.Chain33Config, parm *CollateralizeRepayTx) (*types.Transaction, error) {
if parm == nil { if parm == nil {
llog.Error("CreateRawCollateralizeRepayTx", "parm", parm) llog.Error("CreateRawCollateralizeRepayTx", "parm", parm)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
...@@ -208,13 +218,13 @@ func CreateRawCollateralizeRepayTx(parm *CollateralizeRepayTx) (*types.Transacti ...@@ -208,13 +218,13 @@ func CreateRawCollateralizeRepayTx(parm *CollateralizeRepayTx) (*types.Transacti
Value: &CollateralizeAction_Repay{v}, Value: &CollateralizeAction_Repay{v},
} }
tx := &types.Transaction{ tx := &types.Transaction{
Execer: []byte(types.ExecName(CollateralizeX)), Execer: []byte(cfg.ExecName(CollateralizeX)),
Payload: types.Encode(repay), Payload: types.Encode(repay),
Fee: parm.Fee, Fee: parm.Fee,
To: address.ExecAddress(types.ExecName(CollateralizeX)), To: address.ExecAddress(cfg.ExecName(CollateralizeX)),
} }
name := types.ExecName(CollateralizeX) name := cfg.ExecName(CollateralizeX)
tx, err := types.FormatTx(name, tx) tx, err := types.FormatTx(cfg, name, tx)
if err != nil { if err != nil {
return nil, err return nil, err
} }
...@@ -222,7 +232,7 @@ func CreateRawCollateralizeRepayTx(parm *CollateralizeRepayTx) (*types.Transacti ...@@ -222,7 +232,7 @@ func CreateRawCollateralizeRepayTx(parm *CollateralizeRepayTx) (*types.Transacti
} }
// CreateRawCollateralizeAppendTx method // CreateRawCollateralizeAppendTx method
func CreateRawCollateralizeAppendTx(parm *CollateralizeAppendTx) (*types.Transaction, error) { func CreateRawCollateralizeAppendTx(cfg *types.Chain33Config, parm *CollateralizeAppendTx) (*types.Transaction, error) {
if parm == nil { if parm == nil {
llog.Error("CreateRawCollateralizeAppendTx", "parm", parm) llog.Error("CreateRawCollateralizeAppendTx", "parm", parm)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
...@@ -238,13 +248,13 @@ func CreateRawCollateralizeAppendTx(parm *CollateralizeAppendTx) (*types.Transac ...@@ -238,13 +248,13 @@ func CreateRawCollateralizeAppendTx(parm *CollateralizeAppendTx) (*types.Transac
Value: &CollateralizeAction_Append{v}, Value: &CollateralizeAction_Append{v},
} }
tx := &types.Transaction{ tx := &types.Transaction{
Execer: []byte(types.ExecName(CollateralizeX)), Execer: []byte(cfg.ExecName(CollateralizeX)),
Payload: types.Encode(append), Payload: types.Encode(append),
Fee: parm.Fee, Fee: parm.Fee,
To: address.ExecAddress(types.ExecName(CollateralizeX)), To: address.ExecAddress(cfg.ExecName(CollateralizeX)),
} }
name := types.ExecName(CollateralizeX) name := cfg.ExecName(CollateralizeX)
tx, err := types.FormatTx(name, tx) tx, err := types.FormatTx(cfg, name, tx)
if err != nil { if err != nil {
return nil, err return nil, err
} }
...@@ -252,7 +262,7 @@ func CreateRawCollateralizeAppendTx(parm *CollateralizeAppendTx) (*types.Transac ...@@ -252,7 +262,7 @@ func CreateRawCollateralizeAppendTx(parm *CollateralizeAppendTx) (*types.Transac
} }
// CreateRawCollateralizeFeedTx method // CreateRawCollateralizeFeedTx method
func CreateRawCollateralizeFeedTx(parm *CollateralizeFeedTx) (*types.Transaction, error) { func CreateRawCollateralizeFeedTx(cfg *types.Chain33Config, parm *CollateralizeFeedTx) (*types.Transaction, error) {
if parm == nil { if parm == nil {
llog.Error("CreateRawCollateralizePriceFeedTx", "parm", parm) llog.Error("CreateRawCollateralizePriceFeedTx", "parm", parm)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
...@@ -267,13 +277,13 @@ func CreateRawCollateralizeFeedTx(parm *CollateralizeFeedTx) (*types.Transaction ...@@ -267,13 +277,13 @@ func CreateRawCollateralizeFeedTx(parm *CollateralizeFeedTx) (*types.Transaction
Value: &CollateralizeAction_Feed{v}, Value: &CollateralizeAction_Feed{v},
} }
tx := &types.Transaction{ tx := &types.Transaction{
Execer: []byte(types.ExecName(CollateralizeX)), Execer: []byte(cfg.ExecName(CollateralizeX)),
Payload: types.Encode(feed), Payload: types.Encode(feed),
Fee: parm.Fee, Fee: parm.Fee,
To: address.ExecAddress(types.ExecName(CollateralizeX)), To: address.ExecAddress(cfg.ExecName(CollateralizeX)),
} }
name := types.ExecName(CollateralizeX) name := cfg.ExecName(CollateralizeX)
tx, err := types.FormatTx(name, tx) tx, err := types.FormatTx(cfg, name, tx)
if err != nil { if err != nil {
return nil, err return nil, err
} }
...@@ -281,7 +291,7 @@ func CreateRawCollateralizeFeedTx(parm *CollateralizeFeedTx) (*types.Transaction ...@@ -281,7 +291,7 @@ func CreateRawCollateralizeFeedTx(parm *CollateralizeFeedTx) (*types.Transaction
} }
// CreateRawCollateralizeCloseTx method // CreateRawCollateralizeCloseTx method
func CreateRawCollateralizeCloseTx(parm *CollateralizeCloseTx) (*types.Transaction, error) { func CreateRawCollateralizeCloseTx(cfg *types.Chain33Config, parm *CollateralizeCloseTx) (*types.Transaction, error) {
if parm == nil { if parm == nil {
llog.Error("CreateRawCollateralizeCloseTx", "parm", parm) llog.Error("CreateRawCollateralizeCloseTx", "parm", parm)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
...@@ -295,14 +305,14 @@ func CreateRawCollateralizeCloseTx(parm *CollateralizeCloseTx) (*types.Transacti ...@@ -295,14 +305,14 @@ func CreateRawCollateralizeCloseTx(parm *CollateralizeCloseTx) (*types.Transacti
Value: &CollateralizeAction_Close{v}, Value: &CollateralizeAction_Close{v},
} }
tx := &types.Transaction{ tx := &types.Transaction{
Execer: []byte(types.ExecName(CollateralizeX)), Execer: []byte(cfg.ExecName(CollateralizeX)),
Payload: types.Encode(close), Payload: types.Encode(close),
Fee: parm.Fee, Fee: parm.Fee,
To: address.ExecAddress(types.ExecName(CollateralizeX)), To: address.ExecAddress(cfg.ExecName(CollateralizeX)),
} }
name := types.ExecName(CollateralizeX) name := cfg.ExecName(CollateralizeX)
tx, err := types.FormatTx(name, tx) tx, err := types.FormatTx(cfg, name, tx)
if err != nil { if err != nil {
return nil, err return nil, err
} }
...@@ -310,7 +320,7 @@ func CreateRawCollateralizeCloseTx(parm *CollateralizeCloseTx) (*types.Transacti ...@@ -310,7 +320,7 @@ func CreateRawCollateralizeCloseTx(parm *CollateralizeCloseTx) (*types.Transacti
} }
// CreateRawCollateralizeManageTx method // CreateRawCollateralizeManageTx method
func CreateRawCollateralizeManageTx(parm *CollateralizeManageTx) (*types.Transaction, error) { func CreateRawCollateralizeManageTx(cfg *types.Chain33Config, parm *CollateralizeManageTx) (*types.Transaction, error) {
if parm == nil { if parm == nil {
llog.Error("CreateRawCollateralizeManageTx", "parm", parm) llog.Error("CreateRawCollateralizeManageTx", "parm", parm)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
...@@ -328,14 +338,14 @@ func CreateRawCollateralizeManageTx(parm *CollateralizeManageTx) (*types.Transac ...@@ -328,14 +338,14 @@ func CreateRawCollateralizeManageTx(parm *CollateralizeManageTx) (*types.Transac
Value: &CollateralizeAction_Manage{v}, Value: &CollateralizeAction_Manage{v},
} }
tx := &types.Transaction{ tx := &types.Transaction{
Execer: []byte(types.ExecName(CollateralizeX)), Execer: []byte(cfg.ExecName(CollateralizeX)),
Payload: types.Encode(manage), Payload: types.Encode(manage),
Fee: parm.Fee, Fee: parm.Fee,
To: address.ExecAddress(types.ExecName(CollateralizeX)), To: address.ExecAddress(cfg.ExecName(CollateralizeX)),
} }
name := types.ExecName(CollateralizeX) name := cfg.ExecName(CollateralizeX)
tx, err := types.FormatTx(name, tx) tx, err := types.FormatTx(cfg, name, tx)
if err != nil { if err != nil {
return nil, err return nil, err
} }
......
...@@ -51,6 +51,12 @@ func addIssuanceCreateFlags(cmd *cobra.Command) { ...@@ -51,6 +51,12 @@ func addIssuanceCreateFlags(cmd *cobra.Command) {
} }
func IssuanceCreate(cmd *cobra.Command, args []string) { func IssuanceCreate(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title")
cfg := types.GetCliSysParam(title)
if cfg == nil {
panic(fmt.Sprintln("can not find CliSysParam title", title))
}
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
balance, _ := cmd.Flags().GetUint64("balance") balance, _ := cmd.Flags().GetUint64("balance")
debtCeiling, _ := cmd.Flags().GetUint64("debtCeiling") debtCeiling, _ := cmd.Flags().GetUint64("debtCeiling")
...@@ -58,7 +64,7 @@ func IssuanceCreate(cmd *cobra.Command, args []string) { ...@@ -58,7 +64,7 @@ func IssuanceCreate(cmd *cobra.Command, args []string) {
period, _ := cmd.Flags().GetUint64("period") period, _ := cmd.Flags().GetUint64("period")
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: types.ExecName(pkt.IssuanceX), Execer: cfg.ExecName(pkt.IssuanceX),
ActionName: "IssuanceCreate", ActionName: "IssuanceCreate",
Payload: []byte(fmt.Sprintf("{\"totalBalance\":%d, \"debtCeiling\":%d, \"liquidationRatio\":%f, \"period\":%d}", Payload: []byte(fmt.Sprintf("{\"totalBalance\":%d, \"debtCeiling\":%d, \"liquidationRatio\":%f, \"period\":%d}",
balance, debtCeiling, liquidationRatio, period)), balance, debtCeiling, liquidationRatio, period)),
...@@ -88,12 +94,18 @@ func addIssuanceDebtFlags(cmd *cobra.Command) { ...@@ -88,12 +94,18 @@ func addIssuanceDebtFlags(cmd *cobra.Command) {
} }
func IssuanceDebt(cmd *cobra.Command, args []string) { func IssuanceDebt(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title")
cfg := types.GetCliSysParam(title)
if cfg == nil {
panic(fmt.Sprintln("can not find CliSysParam title", title))
}
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
issuanceID, _ := cmd.Flags().GetString("issuanceID") issuanceID, _ := cmd.Flags().GetString("issuanceID")
value, _ := cmd.Flags().GetUint64("value") value, _ := cmd.Flags().GetUint64("value")
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: types.ExecName(pkt.IssuanceX), Execer: cfg.ExecName(pkt.IssuanceX),
ActionName: "IssuanceDebt", ActionName: "IssuanceDebt",
Payload: []byte(fmt.Sprintf("{\"issuanceID\":\"%s\",\"value\":%d}", issuanceID, value)), Payload: []byte(fmt.Sprintf("{\"issuanceID\":\"%s\",\"value\":%d}", issuanceID, value)),
} }
...@@ -122,12 +134,18 @@ func addIssuanceRepayFlags(cmd *cobra.Command) { ...@@ -122,12 +134,18 @@ func addIssuanceRepayFlags(cmd *cobra.Command) {
} }
func IssuanceRepay(cmd *cobra.Command, args []string) { func IssuanceRepay(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title")
cfg := types.GetCliSysParam(title)
if cfg == nil {
panic(fmt.Sprintln("can not find CliSysParam title", title))
}
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
issuanceID, _ := cmd.Flags().GetString("issuanceID") issuanceID, _ := cmd.Flags().GetString("issuanceID")
debtID, _ := cmd.Flags().GetString("debtID") debtID, _ := cmd.Flags().GetString("debtID")
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: types.ExecName(pkt.IssuanceX), Execer: cfg.ExecName(pkt.IssuanceX),
ActionName: "IssuanceRepay", ActionName: "IssuanceRepay",
Payload: []byte(fmt.Sprintf("{\"issuanceID\":\"%s\", \"debtID\":\"%s\"}", issuanceID, debtID)), Payload: []byte(fmt.Sprintf("{\"issuanceID\":\"%s\", \"debtID\":\"%s\"}", issuanceID, debtID)),
} }
...@@ -156,12 +174,18 @@ func addIssuancePriceFeedFlags(cmd *cobra.Command) { ...@@ -156,12 +174,18 @@ func addIssuancePriceFeedFlags(cmd *cobra.Command) {
} }
func IssuancePriceFeed(cmd *cobra.Command, args []string) { func IssuancePriceFeed(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title")
cfg := types.GetCliSysParam(title)
if cfg == nil {
panic(fmt.Sprintln("can not find CliSysParam title", title))
}
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
price, _ := cmd.Flags().GetFloat32("price") price, _ := cmd.Flags().GetFloat32("price")
volume, _ := cmd.Flags().GetUint64("volume") volume, _ := cmd.Flags().GetUint64("volume")
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: types.ExecName(pkt.IssuanceX), Execer: cfg.ExecName(pkt.IssuanceX),
ActionName: "IssuancePriceFeed", ActionName: "IssuancePriceFeed",
Payload: []byte(fmt.Sprintf("{\"price\":[ %f ], \"volume\":[ %d ]}", price, volume)), Payload: []byte(fmt.Sprintf("{\"price\":[ %f ], \"volume\":[ %d ]}", price, volume)),
} }
...@@ -188,11 +212,17 @@ func addIssuanceCloseFlags(cmd *cobra.Command) { ...@@ -188,11 +212,17 @@ func addIssuanceCloseFlags(cmd *cobra.Command) {
} }
func IssuanceClose(cmd *cobra.Command, args []string) { func IssuanceClose(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title")
cfg := types.GetCliSysParam(title)
if cfg == nil {
panic(fmt.Sprintln("can not find CliSysParam title", title))
}
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
issuanceID, _ := cmd.Flags().GetString("issuanceID") issuanceID, _ := cmd.Flags().GetString("issuanceID")
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: types.ExecName(pkt.IssuanceX), Execer: cfg.ExecName(pkt.IssuanceX),
ActionName: "IssuanceClose", ActionName: "IssuanceClose",
Payload: []byte(fmt.Sprintf("{\"issuanceId\":\"%s\"}", issuanceID)), Payload: []byte(fmt.Sprintf("{\"issuanceId\":\"%s\"}", issuanceID)),
} }
...@@ -219,11 +249,17 @@ func addIssuanceManageFlags(cmd *cobra.Command) { ...@@ -219,11 +249,17 @@ func addIssuanceManageFlags(cmd *cobra.Command) {
} }
func IssuanceManage(cmd *cobra.Command, args []string) { func IssuanceManage(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title")
cfg := types.GetCliSysParam(title)
if cfg == nil {
panic(fmt.Sprintln("can not find CliSysParam title", title))
}
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
addr, _ := cmd.Flags().GetString("addr") addr, _ := cmd.Flags().GetString("addr")
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: types.ExecName(pkt.IssuanceX), Execer: cfg.ExecName(pkt.IssuanceX),
ActionName: "IssuanceManage", ActionName: "IssuanceManage",
Payload: []byte(fmt.Sprintf("{\"addr\":[\"%s\"]}", addr)), Payload: []byte(fmt.Sprintf("{\"addr\":[\"%s\"]}", addr)),
} }
......
...@@ -14,7 +14,7 @@ import ( ...@@ -14,7 +14,7 @@ import (
var clog = log.New("module", "execs.issuance") var clog = log.New("module", "execs.issuance")
var driverName = pty.IssuanceX var driverName = pty.IssuanceX
func init() { func InitExecType() {
ety := types.LoadExecutorType(driverName) ety := types.LoadExecutorType(driverName)
ety.InitFuncList(types.ListMethod(&Issuance{})) ety.InitFuncList(types.ListMethod(&Issuance{}))
} }
...@@ -26,7 +26,7 @@ type subConfig struct { ...@@ -26,7 +26,7 @@ type subConfig struct {
var cfg subConfig var cfg subConfig
// Init issuance // Init issuance
func Init(name string, sub []byte) { func Init(name string, cfg *types.Chain33Config, sub []byte) {
driverName := GetName() driverName := GetName()
if name != driverName { if name != driverName {
panic("system dapp can't be rename") panic("system dapp can't be rename")
...@@ -34,7 +34,8 @@ func Init(name string, sub []byte) { ...@@ -34,7 +34,8 @@ func Init(name string, sub []byte) {
if sub != nil { if sub != nil {
types.MustDecode(sub, &cfg) types.MustDecode(sub, &cfg)
} }
drivers.Register(driverName, newIssuance, types.GetDappFork(driverName, "Enable")) drivers.Register(cfg, driverName, newIssuance, cfg.GetDappFork(driverName, "Enable"))
InitExecType()
} }
// GetName for Issuance // GetName for Issuance
...@@ -170,7 +171,8 @@ func (c *Issuance) CheckReceiptExecOk() bool { ...@@ -170,7 +171,8 @@ func (c *Issuance) CheckReceiptExecOk() bool {
// ExecutorOrder 设置localdb的EnableRead // ExecutorOrder 设置localdb的EnableRead
func (c *Issuance) ExecutorOrder() int64 { func (c *Issuance) ExecutorOrder() int64 {
if types.IsFork(c.GetHeight(), "ForkLocalDBAccess") { cfg := c.GetAPI().GetConfig()
if cfg.IsFork(c.GetHeight(), "ForkLocalDBAccess") {
return drivers.ExecLocalSameTime return drivers.ExecLocalSameTime
} }
return c.DriverBase.ExecutorOrder() return c.DriverBase.ExecutorOrder()
......
...@@ -19,8 +19,16 @@ var ( ...@@ -19,8 +19,16 @@ var (
func init() { func init() {
types.AllowUserExec = append(types.AllowUserExec, []byte(IssuanceX)) types.AllowUserExec = append(types.AllowUserExec, []byte(IssuanceX))
types.RegistorExecutor(IssuanceX, NewType()) types.RegFork(IssuanceX, InitFork)
types.RegisterDappFork(IssuanceX, "Enable", 0) types.RegExec(IssuanceX, InitExecutor)
}
func InitFork(cfg *types.Chain33Config) {
cfg.RegisterDappFork(IssuanceX, "Enable", 0)
}
func InitExecutor(cfg *types.Chain33Config) {
types.RegistorExecutor(IssuanceX, NewType(cfg))
} }
// IssuanceType def // IssuanceType def
...@@ -29,19 +37,20 @@ type IssuanceType struct { ...@@ -29,19 +37,20 @@ type IssuanceType struct {
} }
// NewType method // NewType method
func NewType() *IssuanceType { func NewType(cfg *types.Chain33Config) *IssuanceType {
c := &IssuanceType{} c := &IssuanceType{}
c.SetChild(c) c.SetChild(c)
c.SetConfig(cfg)
return c return c
} }
// GetName 获取执行器名称 // GetName 获取执行器名称
func (Issuance *IssuanceType) GetName() string { func (issuance *IssuanceType) GetName() string {
return IssuanceX return IssuanceX
} }
// GetLogMap method // GetLogMap method
func (Issuance *IssuanceType) GetLogMap() map[int64]*types.LogInfo { func (issuance *IssuanceType) GetLogMap() map[int64]*types.LogInfo {
return map[int64]*types.LogInfo{ return map[int64]*types.LogInfo{
TyLogIssuanceCreate: {Ty: reflect.TypeOf(ReceiptIssuance{}), Name: "LogIssuanceCreate"}, TyLogIssuanceCreate: {Ty: reflect.TypeOf(ReceiptIssuance{}), Name: "LogIssuanceCreate"},
TyLogIssuanceDebt: {Ty: reflect.TypeOf(ReceiptIssuance{}), Name: "LogIssuanceDebt"}, TyLogIssuanceDebt: {Ty: reflect.TypeOf(ReceiptIssuance{}), Name: "LogIssuanceDebt"},
...@@ -52,13 +61,14 @@ func (Issuance *IssuanceType) GetLogMap() map[int64]*types.LogInfo { ...@@ -52,13 +61,14 @@ func (Issuance *IssuanceType) GetLogMap() map[int64]*types.LogInfo {
} }
// GetPayload method // GetPayload method
func (Issuance *IssuanceType) GetPayload() types.Message { func (issuance *IssuanceType) GetPayload() types.Message {
return &IssuanceAction{} return &IssuanceAction{}
} }
// CreateTx method // CreateTx method
func (Issuance IssuanceType) CreateTx(action string, message json.RawMessage) (*types.Transaction, error) { func (issuance IssuanceType) CreateTx(action string, message json.RawMessage) (*types.Transaction, error) {
llog.Debug("Issuance.CreateTx", "action", action) llog.Debug("Issuance.CreateTx", "action", action)
cfg := issuance.GetConfig()
if action == "IssuanceCreate" { if action == "IssuanceCreate" {
var param IssuanceCreateTx var param IssuanceCreateTx
...@@ -67,7 +77,7 @@ func (Issuance IssuanceType) CreateTx(action string, message json.RawMessage) (* ...@@ -67,7 +77,7 @@ func (Issuance IssuanceType) CreateTx(action string, message json.RawMessage) (*
llog.Error("CreateTx", "Error", err) llog.Error("CreateTx", "Error", err)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
} }
return CreateRawIssuanceCreateTx(&param) return CreateRawIssuanceCreateTx(cfg, &param)
} else if action == "IssuanceDebt" { } else if action == "IssuanceDebt" {
var param IssuanceDebtTx var param IssuanceDebtTx
err := json.Unmarshal(message, &param) err := json.Unmarshal(message, &param)
...@@ -75,7 +85,7 @@ func (Issuance IssuanceType) CreateTx(action string, message json.RawMessage) (* ...@@ -75,7 +85,7 @@ func (Issuance IssuanceType) CreateTx(action string, message json.RawMessage) (*
llog.Error("CreateTx", "Error", err) llog.Error("CreateTx", "Error", err)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
} }
return CreateRawIssuanceDebtTx(&param) return CreateRawIssuanceDebtTx(cfg, &param)
} else if action == "IssuanceRepay" { } else if action == "IssuanceRepay" {
var param IssuanceRepayTx var param IssuanceRepayTx
err := json.Unmarshal(message, &param) err := json.Unmarshal(message, &param)
...@@ -83,7 +93,7 @@ func (Issuance IssuanceType) CreateTx(action string, message json.RawMessage) (* ...@@ -83,7 +93,7 @@ func (Issuance IssuanceType) CreateTx(action string, message json.RawMessage) (*
llog.Error("CreateTx", "Error", err) llog.Error("CreateTx", "Error", err)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
} }
return CreateRawIssuanceRepayTx(&param) return CreateRawIssuanceRepayTx(cfg, &param)
} else if action == "IssuancePriceFeed" { } else if action == "IssuancePriceFeed" {
var param IssuanceFeedTx var param IssuanceFeedTx
err := json.Unmarshal(message, &param) err := json.Unmarshal(message, &param)
...@@ -91,7 +101,7 @@ func (Issuance IssuanceType) CreateTx(action string, message json.RawMessage) (* ...@@ -91,7 +101,7 @@ func (Issuance IssuanceType) CreateTx(action string, message json.RawMessage) (*
llog.Error("CreateTx", "Error", err) llog.Error("CreateTx", "Error", err)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
} }
return CreateRawIssuanceFeedTx(&param) return CreateRawIssuanceFeedTx(cfg, &param)
} else if action == "IssuanceClose" { } else if action == "IssuanceClose" {
var param IssuanceCloseTx var param IssuanceCloseTx
err := json.Unmarshal(message, &param) err := json.Unmarshal(message, &param)
...@@ -99,7 +109,7 @@ func (Issuance IssuanceType) CreateTx(action string, message json.RawMessage) (* ...@@ -99,7 +109,7 @@ func (Issuance IssuanceType) CreateTx(action string, message json.RawMessage) (*
llog.Error("CreateTx", "Error", err) llog.Error("CreateTx", "Error", err)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
} }
return CreateRawIssuanceCloseTx(&param) return CreateRawIssuanceCloseTx(cfg, &param)
} else if action == "IssuanceManage" { } else if action == "IssuanceManage" {
var param IssuanceManageTx var param IssuanceManageTx
err := json.Unmarshal(message, &param) err := json.Unmarshal(message, &param)
...@@ -107,14 +117,14 @@ func (Issuance IssuanceType) CreateTx(action string, message json.RawMessage) (* ...@@ -107,14 +117,14 @@ func (Issuance IssuanceType) CreateTx(action string, message json.RawMessage) (*
llog.Error("CreateTx", "Error", err) llog.Error("CreateTx", "Error", err)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
} }
return CreateRawIssuanceManageTx(&param) return CreateRawIssuanceManageTx(cfg, &param)
} else { } else {
return nil, types.ErrNotSupport return nil, types.ErrNotSupport
} }
} }
// GetTypeMap method // GetTypeMap method
func (Issuance IssuanceType) GetTypeMap() map[string]int32 { func (issuance IssuanceType) GetTypeMap() map[string]int32 {
return map[string]int32{ return map[string]int32{
"Create": IssuanceActionCreate, "Create": IssuanceActionCreate,
"Debt": IssuanceActionDebt, "Debt": IssuanceActionDebt,
...@@ -126,7 +136,7 @@ func (Issuance IssuanceType) GetTypeMap() map[string]int32 { ...@@ -126,7 +136,7 @@ func (Issuance IssuanceType) GetTypeMap() map[string]int32 {
} }
// CreateRawIssuanceCreateTx method // CreateRawIssuanceCreateTx method
func CreateRawIssuanceCreateTx(parm *IssuanceCreateTx) (*types.Transaction, error) { func CreateRawIssuanceCreateTx(cfg *types.Chain33Config, parm *IssuanceCreateTx) (*types.Transaction, error) {
if parm == nil { if parm == nil {
llog.Error("CreateRawIssuanceCreateTx", "parm", parm) llog.Error("CreateRawIssuanceCreateTx", "parm", parm)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
...@@ -140,13 +150,13 @@ func CreateRawIssuanceCreateTx(parm *IssuanceCreateTx) (*types.Transaction, erro ...@@ -140,13 +150,13 @@ func CreateRawIssuanceCreateTx(parm *IssuanceCreateTx) (*types.Transaction, erro
Value: &IssuanceAction_Create{v}, Value: &IssuanceAction_Create{v},
} }
tx := &types.Transaction{ tx := &types.Transaction{
Execer: []byte(types.ExecName(IssuanceX)), Execer: []byte(cfg.ExecName(IssuanceX)),
Payload: types.Encode(create), Payload: types.Encode(create),
Fee: parm.Fee, Fee: parm.Fee,
To: address.ExecAddress(types.ExecName(IssuanceX)), To: address.ExecAddress(cfg.ExecName(IssuanceX)),
} }
name := types.ExecName(IssuanceX) name := cfg.ExecName(IssuanceX)
tx, err := types.FormatTx(name, tx) tx, err := types.FormatTx(cfg, name, tx)
if err != nil { if err != nil {
return nil, err return nil, err
} }
...@@ -154,7 +164,7 @@ func CreateRawIssuanceCreateTx(parm *IssuanceCreateTx) (*types.Transaction, erro ...@@ -154,7 +164,7 @@ func CreateRawIssuanceCreateTx(parm *IssuanceCreateTx) (*types.Transaction, erro
} }
// CreateRawIssuanceDebtTx method // CreateRawIssuanceDebtTx method
func CreateRawIssuanceDebtTx(parm *IssuanceDebtTx) (*types.Transaction, error) { func CreateRawIssuanceDebtTx(cfg *types.Chain33Config, parm *IssuanceDebtTx) (*types.Transaction, error) {
if parm == nil { if parm == nil {
llog.Error("CreateRawIssuanceBorrowTx", "parm", parm) llog.Error("CreateRawIssuanceBorrowTx", "parm", parm)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
...@@ -169,13 +179,13 @@ func CreateRawIssuanceDebtTx(parm *IssuanceDebtTx) (*types.Transaction, error) { ...@@ -169,13 +179,13 @@ func CreateRawIssuanceDebtTx(parm *IssuanceDebtTx) (*types.Transaction, error) {
Value: &IssuanceAction_Debt{v}, Value: &IssuanceAction_Debt{v},
} }
tx := &types.Transaction{ tx := &types.Transaction{
Execer: []byte(types.ExecName(IssuanceX)), Execer: []byte(cfg.ExecName(IssuanceX)),
Payload: types.Encode(debt), Payload: types.Encode(debt),
Fee: parm.Fee, Fee: parm.Fee,
To: address.ExecAddress(types.ExecName(IssuanceX)), To: address.ExecAddress(cfg.ExecName(IssuanceX)),
} }
name := types.ExecName(IssuanceX) name := cfg.ExecName(IssuanceX)
tx, err := types.FormatTx(name, tx) tx, err := types.FormatTx(cfg, name, tx)
if err != nil { if err != nil {
return nil, err return nil, err
} }
...@@ -183,7 +193,7 @@ func CreateRawIssuanceDebtTx(parm *IssuanceDebtTx) (*types.Transaction, error) { ...@@ -183,7 +193,7 @@ func CreateRawIssuanceDebtTx(parm *IssuanceDebtTx) (*types.Transaction, error) {
} }
// CreateRawIssuanceRepayTx method // CreateRawIssuanceRepayTx method
func CreateRawIssuanceRepayTx(parm *IssuanceRepayTx) (*types.Transaction, error) { func CreateRawIssuanceRepayTx(cfg *types.Chain33Config, parm *IssuanceRepayTx) (*types.Transaction, error) {
if parm == nil { if parm == nil {
llog.Error("CreateRawIssuanceRepayTx", "parm", parm) llog.Error("CreateRawIssuanceRepayTx", "parm", parm)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
...@@ -198,13 +208,13 @@ func CreateRawIssuanceRepayTx(parm *IssuanceRepayTx) (*types.Transaction, error) ...@@ -198,13 +208,13 @@ func CreateRawIssuanceRepayTx(parm *IssuanceRepayTx) (*types.Transaction, error)
Value: &IssuanceAction_Repay{v}, Value: &IssuanceAction_Repay{v},
} }
tx := &types.Transaction{ tx := &types.Transaction{
Execer: []byte(types.ExecName(IssuanceX)), Execer: []byte(cfg.ExecName(IssuanceX)),
Payload: types.Encode(repay), Payload: types.Encode(repay),
Fee: parm.Fee, Fee: parm.Fee,
To: address.ExecAddress(types.ExecName(IssuanceX)), To: address.ExecAddress(cfg.ExecName(IssuanceX)),
} }
name := types.ExecName(IssuanceX) name := cfg.ExecName(IssuanceX)
tx, err := types.FormatTx(name, tx) tx, err := types.FormatTx(cfg, name, tx)
if err != nil { if err != nil {
return nil, err return nil, err
} }
...@@ -212,7 +222,7 @@ func CreateRawIssuanceRepayTx(parm *IssuanceRepayTx) (*types.Transaction, error) ...@@ -212,7 +222,7 @@ func CreateRawIssuanceRepayTx(parm *IssuanceRepayTx) (*types.Transaction, error)
} }
// CreateRawIssuanceFeedTx method // CreateRawIssuanceFeedTx method
func CreateRawIssuanceFeedTx(parm *IssuanceFeedTx) (*types.Transaction, error) { func CreateRawIssuanceFeedTx(cfg *types.Chain33Config, parm *IssuanceFeedTx) (*types.Transaction, error) {
if parm == nil { if parm == nil {
llog.Error("CreateRawIssuancePriceFeedTx", "parm", parm) llog.Error("CreateRawIssuancePriceFeedTx", "parm", parm)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
...@@ -227,13 +237,13 @@ func CreateRawIssuanceFeedTx(parm *IssuanceFeedTx) (*types.Transaction, error) { ...@@ -227,13 +237,13 @@ func CreateRawIssuanceFeedTx(parm *IssuanceFeedTx) (*types.Transaction, error) {
Value: &IssuanceAction_Feed{v}, Value: &IssuanceAction_Feed{v},
} }
tx := &types.Transaction{ tx := &types.Transaction{
Execer: []byte(types.ExecName(IssuanceX)), Execer: []byte(cfg.ExecName(IssuanceX)),
Payload: types.Encode(feed), Payload: types.Encode(feed),
Fee: parm.Fee, Fee: parm.Fee,
To: address.ExecAddress(types.ExecName(IssuanceX)), To: address.ExecAddress(cfg.ExecName(IssuanceX)),
} }
name := types.ExecName(IssuanceX) name := cfg.ExecName(IssuanceX)
tx, err := types.FormatTx(name, tx) tx, err := types.FormatTx(cfg, name, tx)
if err != nil { if err != nil {
return nil, err return nil, err
} }
...@@ -241,7 +251,7 @@ func CreateRawIssuanceFeedTx(parm *IssuanceFeedTx) (*types.Transaction, error) { ...@@ -241,7 +251,7 @@ func CreateRawIssuanceFeedTx(parm *IssuanceFeedTx) (*types.Transaction, error) {
} }
// CreateRawIssuanceCloseTx method // CreateRawIssuanceCloseTx method
func CreateRawIssuanceCloseTx(parm *IssuanceCloseTx) (*types.Transaction, error) { func CreateRawIssuanceCloseTx(cfg *types.Chain33Config, parm *IssuanceCloseTx) (*types.Transaction, error) {
if parm == nil { if parm == nil {
llog.Error("CreateRawIssuanceCloseTx", "parm", parm) llog.Error("CreateRawIssuanceCloseTx", "parm", parm)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
...@@ -255,14 +265,14 @@ func CreateRawIssuanceCloseTx(parm *IssuanceCloseTx) (*types.Transaction, error) ...@@ -255,14 +265,14 @@ func CreateRawIssuanceCloseTx(parm *IssuanceCloseTx) (*types.Transaction, error)
Value: &IssuanceAction_Close{v}, Value: &IssuanceAction_Close{v},
} }
tx := &types.Transaction{ tx := &types.Transaction{
Execer: []byte(types.ExecName(IssuanceX)), Execer: []byte(cfg.ExecName(IssuanceX)),
Payload: types.Encode(close), Payload: types.Encode(close),
Fee: parm.Fee, Fee: parm.Fee,
To: address.ExecAddress(types.ExecName(IssuanceX)), To: address.ExecAddress(cfg.ExecName(IssuanceX)),
} }
name := types.ExecName(IssuanceX) name := cfg.ExecName(IssuanceX)
tx, err := types.FormatTx(name, tx) tx, err := types.FormatTx(cfg, name, tx)
if err != nil { if err != nil {
return nil, err return nil, err
} }
...@@ -270,7 +280,7 @@ func CreateRawIssuanceCloseTx(parm *IssuanceCloseTx) (*types.Transaction, error) ...@@ -270,7 +280,7 @@ func CreateRawIssuanceCloseTx(parm *IssuanceCloseTx) (*types.Transaction, error)
} }
// CreateRawIssuanceManageTx method // CreateRawIssuanceManageTx method
func CreateRawIssuanceManageTx(parm *IssuanceManageTx) (*types.Transaction, error) { func CreateRawIssuanceManageTx(cfg *types.Chain33Config, parm *IssuanceManageTx) (*types.Transaction, error) {
if parm == nil { if parm == nil {
llog.Error("CreateRawIssuanceManageTx", "parm", parm) llog.Error("CreateRawIssuanceManageTx", "parm", parm)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
...@@ -283,14 +293,14 @@ func CreateRawIssuanceManageTx(parm *IssuanceManageTx) (*types.Transaction, erro ...@@ -283,14 +293,14 @@ func CreateRawIssuanceManageTx(parm *IssuanceManageTx) (*types.Transaction, erro
Value: &IssuanceAction_Manage{v}, Value: &IssuanceAction_Manage{v},
} }
tx := &types.Transaction{ tx := &types.Transaction{
Execer: []byte(types.ExecName(IssuanceX)), Execer: []byte(cfg.ExecName(IssuanceX)),
Payload: types.Encode(manage), Payload: types.Encode(manage),
Fee: parm.Fee, Fee: parm.Fee,
To: address.ExecAddress(types.ExecName(IssuanceX)), To: address.ExecAddress(cfg.ExecName(IssuanceX)),
} }
name := types.ExecName(IssuanceX) name := cfg.ExecName(IssuanceX)
tx, err := types.FormatTx(name, tx) tx, err := types.FormatTx(cfg, name, tx)
if err != nil { if err != nil {
return nil, err return nil, err
} }
......
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