Commit 7847aa74 authored by mdj33's avatar mdj33 Committed by vipwzw

quit use to GetCliSysParam

parent 100bcc22
...@@ -99,8 +99,7 @@ func addProposalBoardFlags(cmd *cobra.Command) { ...@@ -99,8 +99,7 @@ func addProposalBoardFlags(cmd *cobra.Command) {
} }
func proposalBoard(cmd *cobra.Command, args []string) { func proposalBoard(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
year, _ := cmd.Flags().GetInt32("year") year, _ := cmd.Flags().GetInt32("year")
...@@ -129,7 +128,7 @@ func proposalBoard(cmd *cobra.Command, args []string) { ...@@ -129,7 +128,7 @@ func proposalBoard(cmd *cobra.Command, args []string) {
return return
} }
pm := &rpctypes.CreateTxIn{ pm := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(auty.AutonomyX), Execer: types.GetExecName(auty.AutonomyX, paraName),
ActionName: "PropBoard", ActionName: "PropBoard",
Payload: payLoad, Payload: payLoad,
} }
...@@ -156,8 +155,7 @@ func addRevokeProposalBoardFlags(cmd *cobra.Command) { ...@@ -156,8 +155,7 @@ func addRevokeProposalBoardFlags(cmd *cobra.Command) {
} }
func revokeProposalBoard(cmd *cobra.Command, args []string) { func revokeProposalBoard(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
ID, _ := cmd.Flags().GetString("proposalID") ID, _ := cmd.Flags().GetString("proposalID")
...@@ -170,7 +168,7 @@ func revokeProposalBoard(cmd *cobra.Command, args []string) { ...@@ -170,7 +168,7 @@ func revokeProposalBoard(cmd *cobra.Command, args []string) {
return return
} }
pm := &rpctypes.CreateTxIn{ pm := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(auty.AutonomyX), Execer: types.GetExecName(auty.AutonomyX, paraName),
ActionName: "RvkPropBoard", ActionName: "RvkPropBoard",
Payload: payLoad, Payload: payLoad,
} }
...@@ -198,8 +196,7 @@ func addVoteProposalBoardFlags(cmd *cobra.Command) { ...@@ -198,8 +196,7 @@ func addVoteProposalBoardFlags(cmd *cobra.Command) {
} }
func voteProposalBoard(cmd *cobra.Command, args []string) { func voteProposalBoard(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
ID, _ := cmd.Flags().GetString("proposalID") ID, _ := cmd.Flags().GetString("proposalID")
...@@ -227,7 +224,7 @@ func voteProposalBoard(cmd *cobra.Command, args []string) { ...@@ -227,7 +224,7 @@ func voteProposalBoard(cmd *cobra.Command, args []string) {
return return
} }
pm := &rpctypes.CreateTxIn{ pm := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(auty.AutonomyX), Execer: types.GetExecName(auty.AutonomyX, paraName),
ActionName: "VotePropBoard", ActionName: "VotePropBoard",
Payload: payLoad, Payload: payLoad,
} }
...@@ -254,8 +251,7 @@ func addTerminateProposalBoardFlags(cmd *cobra.Command) { ...@@ -254,8 +251,7 @@ func addTerminateProposalBoardFlags(cmd *cobra.Command) {
} }
func terminateProposalBoard(cmd *cobra.Command, args []string) { func terminateProposalBoard(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
ID, _ := cmd.Flags().GetString("proposalID") ID, _ := cmd.Flags().GetString("proposalID")
...@@ -268,7 +264,7 @@ func terminateProposalBoard(cmd *cobra.Command, args []string) { ...@@ -268,7 +264,7 @@ func terminateProposalBoard(cmd *cobra.Command, args []string) {
return return
} }
pm := &rpctypes.CreateTxIn{ pm := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(auty.AutonomyX), Execer: types.GetExecName(auty.AutonomyX, paraName),
ActionName: "TmintPropBoard", ActionName: "TmintPropBoard",
Payload: payLoad, Payload: payLoad,
} }
......
...@@ -41,10 +41,8 @@ func addProposalChangeFlags(cmd *cobra.Command) { ...@@ -41,10 +41,8 @@ func addProposalChangeFlags(cmd *cobra.Command) {
} }
func proposalChange(cmd *cobra.Command, args []string) { func proposalChange(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
paraName, _ := cmd.Flags().GetString("paraName")
year, _ := cmd.Flags().GetInt32("year") year, _ := cmd.Flags().GetInt32("year")
month, _ := cmd.Flags().GetInt32("month") month, _ := cmd.Flags().GetInt32("month")
day, _ := cmd.Flags().GetInt32("day") day, _ := cmd.Flags().GetInt32("day")
...@@ -88,7 +86,7 @@ func proposalChange(cmd *cobra.Command, args []string) { ...@@ -88,7 +86,7 @@ func proposalChange(cmd *cobra.Command, args []string) {
return return
} }
pm := &rpctypes.CreateTxIn{ pm := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(auty.AutonomyX), Execer: types.GetExecName(auty.AutonomyX, paraName),
ActionName: "PropChange", ActionName: "PropChange",
Payload: payLoad, Payload: payLoad,
} }
...@@ -115,10 +113,8 @@ func addRevokeProposalChangeFlags(cmd *cobra.Command) { ...@@ -115,10 +113,8 @@ func addRevokeProposalChangeFlags(cmd *cobra.Command) {
} }
func revokeProposalChange(cmd *cobra.Command, args []string) { func revokeProposalChange(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
paraName, _ := cmd.Flags().GetString("paraName")
ID, _ := cmd.Flags().GetString("proposalID") ID, _ := cmd.Flags().GetString("proposalID")
params := &auty.RevokeProposalChange{ params := &auty.RevokeProposalChange{
...@@ -129,7 +125,7 @@ func revokeProposalChange(cmd *cobra.Command, args []string) { ...@@ -129,7 +125,7 @@ func revokeProposalChange(cmd *cobra.Command, args []string) {
return return
} }
pm := &rpctypes.CreateTxIn{ pm := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(auty.AutonomyX), Execer: types.GetExecName(auty.AutonomyX, paraName),
ActionName: "RvkPropChange", ActionName: "RvkPropChange",
Payload: payLoad, Payload: payLoad,
} }
...@@ -156,10 +152,8 @@ func addVoteProposalChangeFlags(cmd *cobra.Command) { ...@@ -156,10 +152,8 @@ func addVoteProposalChangeFlags(cmd *cobra.Command) {
} }
func voteProposalChange(cmd *cobra.Command, args []string) { func voteProposalChange(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
paraName, _ := cmd.Flags().GetString("paraName")
ID, _ := cmd.Flags().GetString("proposalID") ID, _ := cmd.Flags().GetString("proposalID")
approve, _ := cmd.Flags().GetInt32("approve") approve, _ := cmd.Flags().GetInt32("approve")
...@@ -179,7 +173,7 @@ func voteProposalChange(cmd *cobra.Command, args []string) { ...@@ -179,7 +173,7 @@ func voteProposalChange(cmd *cobra.Command, args []string) {
return return
} }
pm := &rpctypes.CreateTxIn{ pm := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(auty.AutonomyX), Execer: types.GetExecName(auty.AutonomyX, paraName),
ActionName: "VotePropChange", ActionName: "VotePropChange",
Payload: payLoad, Payload: payLoad,
} }
...@@ -206,10 +200,8 @@ func addTerminateProposalChangeFlags(cmd *cobra.Command) { ...@@ -206,10 +200,8 @@ func addTerminateProposalChangeFlags(cmd *cobra.Command) {
} }
func terminateProposalChange(cmd *cobra.Command, args []string) { func terminateProposalChange(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
paraName, _ := cmd.Flags().GetString("paraName")
ID, _ := cmd.Flags().GetString("proposalID") ID, _ := cmd.Flags().GetString("proposalID")
params := &auty.RevokeProposalChange{ params := &auty.RevokeProposalChange{
...@@ -220,7 +212,7 @@ func terminateProposalChange(cmd *cobra.Command, args []string) { ...@@ -220,7 +212,7 @@ func terminateProposalChange(cmd *cobra.Command, args []string) {
return return
} }
pm := &rpctypes.CreateTxIn{ pm := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(auty.AutonomyX), Execer: types.GetExecName(auty.AutonomyX, paraName),
ActionName: "TmintPropChange", ActionName: "TmintPropChange",
Payload: payLoad, Payload: payLoad,
} }
......
...@@ -135,8 +135,7 @@ func addRevokeProposalProjectFlags(cmd *cobra.Command) { ...@@ -135,8 +135,7 @@ func addRevokeProposalProjectFlags(cmd *cobra.Command) {
} }
func revokeProposalProject(cmd *cobra.Command, args []string) { func revokeProposalProject(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
ID, _ := cmd.Flags().GetString("proposalID") ID, _ := cmd.Flags().GetString("proposalID")
...@@ -149,7 +148,7 @@ func revokeProposalProject(cmd *cobra.Command, args []string) { ...@@ -149,7 +148,7 @@ func revokeProposalProject(cmd *cobra.Command, args []string) {
return return
} }
pm := &rpctypes.CreateTxIn{ pm := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(auty.AutonomyX), Execer: types.GetExecName(auty.AutonomyX, paraName),
ActionName: "RvkPropProject", ActionName: "RvkPropProject",
Payload: payLoad, Payload: payLoad,
} }
...@@ -176,8 +175,7 @@ func addVoteProposalProjectFlags(cmd *cobra.Command) { ...@@ -176,8 +175,7 @@ func addVoteProposalProjectFlags(cmd *cobra.Command) {
} }
func voteProposalProject(cmd *cobra.Command, args []string) { func voteProposalProject(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
ID, _ := cmd.Flags().GetString("proposalID") ID, _ := cmd.Flags().GetString("proposalID")
...@@ -198,7 +196,7 @@ func voteProposalProject(cmd *cobra.Command, args []string) { ...@@ -198,7 +196,7 @@ func voteProposalProject(cmd *cobra.Command, args []string) {
return return
} }
pm := &rpctypes.CreateTxIn{ pm := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(auty.AutonomyX), Execer: types.GetExecName(auty.AutonomyX, paraName),
ActionName: "VotePropProject", ActionName: "VotePropProject",
Payload: payLoad, Payload: payLoad,
} }
...@@ -226,8 +224,7 @@ func addPubVoteProposalProjectFlags(cmd *cobra.Command) { ...@@ -226,8 +224,7 @@ func addPubVoteProposalProjectFlags(cmd *cobra.Command) {
} }
func pubVoteProposalProject(cmd *cobra.Command, args []string) { func pubVoteProposalProject(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
ID, _ := cmd.Flags().GetString("proposalID") ID, _ := cmd.Flags().GetString("proposalID")
...@@ -256,7 +253,7 @@ func pubVoteProposalProject(cmd *cobra.Command, args []string) { ...@@ -256,7 +253,7 @@ func pubVoteProposalProject(cmd *cobra.Command, args []string) {
return return
} }
pm := &rpctypes.CreateTxIn{ pm := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(auty.AutonomyX), Execer: types.GetExecName(auty.AutonomyX, paraName),
ActionName: "PubVotePropProject", ActionName: "PubVotePropProject",
Payload: payLoad, Payload: payLoad,
} }
...@@ -282,8 +279,7 @@ func addTerminateProposalProjectFlags(cmd *cobra.Command) { ...@@ -282,8 +279,7 @@ func addTerminateProposalProjectFlags(cmd *cobra.Command) {
} }
func terminateProposalProject(cmd *cobra.Command, args []string) { func terminateProposalProject(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
ID, _ := cmd.Flags().GetString("proposalID") ID, _ := cmd.Flags().GetString("proposalID")
...@@ -296,7 +292,7 @@ func terminateProposalProject(cmd *cobra.Command, args []string) { ...@@ -296,7 +292,7 @@ func terminateProposalProject(cmd *cobra.Command, args []string) {
return return
} }
pm := &rpctypes.CreateTxIn{ pm := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(auty.AutonomyX), Execer: types.GetExecName(auty.AutonomyX, paraName),
ActionName: "TmintPropProject", ActionName: "TmintPropProject",
Payload: payLoad, Payload: payLoad,
} }
......
...@@ -118,8 +118,7 @@ func addRevokeProposalRuleFlags(cmd *cobra.Command) { ...@@ -118,8 +118,7 @@ func addRevokeProposalRuleFlags(cmd *cobra.Command) {
} }
func revokeProposalRule(cmd *cobra.Command, args []string) { func revokeProposalRule(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
ID, _ := cmd.Flags().GetString("proposalID") ID, _ := cmd.Flags().GetString("proposalID")
...@@ -132,7 +131,7 @@ func revokeProposalRule(cmd *cobra.Command, args []string) { ...@@ -132,7 +131,7 @@ func revokeProposalRule(cmd *cobra.Command, args []string) {
return return
} }
pm := &rpctypes.CreateTxIn{ pm := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(auty.AutonomyX), Execer: types.GetExecName(auty.AutonomyX, paraName),
ActionName: "RvkPropRule", ActionName: "RvkPropRule",
Payload: payLoad, Payload: payLoad,
} }
...@@ -160,8 +159,7 @@ func addVoteProposalRuleFlags(cmd *cobra.Command) { ...@@ -160,8 +159,7 @@ func addVoteProposalRuleFlags(cmd *cobra.Command) {
} }
func voteProposalRule(cmd *cobra.Command, args []string) { func voteProposalRule(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
ID, _ := cmd.Flags().GetString("proposalID") ID, _ := cmd.Flags().GetString("proposalID")
...@@ -189,7 +187,7 @@ func voteProposalRule(cmd *cobra.Command, args []string) { ...@@ -189,7 +187,7 @@ func voteProposalRule(cmd *cobra.Command, args []string) {
return return
} }
pm := &rpctypes.CreateTxIn{ pm := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(auty.AutonomyX), Execer: types.GetExecName(auty.AutonomyX, paraName),
ActionName: "VotePropRule", ActionName: "VotePropRule",
Payload: payLoad, Payload: payLoad,
} }
...@@ -215,8 +213,7 @@ func addTerminateProposalRuleFlags(cmd *cobra.Command) { ...@@ -215,8 +213,7 @@ func addTerminateProposalRuleFlags(cmd *cobra.Command) {
} }
func terminateProposalRule(cmd *cobra.Command, args []string) { func terminateProposalRule(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
ID, _ := cmd.Flags().GetString("proposalID") ID, _ := cmd.Flags().GetString("proposalID")
...@@ -229,7 +226,7 @@ func terminateProposalRule(cmd *cobra.Command, args []string) { ...@@ -229,7 +226,7 @@ func terminateProposalRule(cmd *cobra.Command, args []string) {
return return
} }
pm := &rpctypes.CreateTxIn{ pm := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(auty.AutonomyX), Execer: types.GetExecName(auty.AutonomyX, paraName),
ActionName: "TmintPropRule", ActionName: "TmintPropRule",
Payload: payLoad, Payload: payLoad,
} }
...@@ -391,8 +388,7 @@ func addCommentProposalflags(cmd *cobra.Command) { ...@@ -391,8 +388,7 @@ func addCommentProposalflags(cmd *cobra.Command) {
} }
func commentProposal(cmd *cobra.Command, args []string) { func commentProposal(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
proposalID, _ := cmd.Flags().GetString("proposalID") proposalID, _ := cmd.Flags().GetString("proposalID")
...@@ -409,7 +405,7 @@ func commentProposal(cmd *cobra.Command, args []string) { ...@@ -409,7 +405,7 @@ func commentProposal(cmd *cobra.Command, args []string) {
return return
} }
pm := &rpctypes.CreateTxIn{ pm := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(auty.AutonomyX), Execer: types.GetExecName(auty.AutonomyX, paraName),
ActionName: "CommentProp", ActionName: "CommentProp",
Payload: payLoad, Payload: payLoad,
} }
......
...@@ -51,17 +51,12 @@ func addCollateralizeCreateFlags(cmd *cobra.Command) { ...@@ -51,17 +51,12 @@ func addCollateralizeCreateFlags(cmd *cobra.Command) {
//CollateralizeCreate ... //CollateralizeCreate ...
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")
paraName, _ := cmd.Flags().GetString("paraName")
balance, _ := cmd.Flags().GetFloat64("balance") balance, _ := cmd.Flags().GetFloat64("balance")
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(pkt.CollateralizeX), Execer: types.GetExecName(pkt.CollateralizeX, paraName),
ActionName: "CollateralizeCreate", ActionName: "CollateralizeCreate",
Payload: []byte(fmt.Sprintf("{\"totalBalance\":%f}", balance)), Payload: []byte(fmt.Sprintf("{\"totalBalance\":%f}", balance)),
} }
...@@ -91,18 +86,13 @@ func addCollateralizeBorrowFlags(cmd *cobra.Command) { ...@@ -91,18 +86,13 @@ func addCollateralizeBorrowFlags(cmd *cobra.Command) {
//CollateralizeBorrow ... //CollateralizeBorrow ...
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")
paraName, _ := cmd.Flags().GetString("paraName")
collateralizeID, _ := cmd.Flags().GetString("collateralizeID") collateralizeID, _ := cmd.Flags().GetString("collateralizeID")
value, _ := cmd.Flags().GetFloat64("value") value, _ := cmd.Flags().GetFloat64("value")
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(pkt.CollateralizeX), Execer: types.GetExecName(pkt.CollateralizeX, paraName),
ActionName: "CollateralizeBorrow", ActionName: "CollateralizeBorrow",
Payload: []byte(fmt.Sprintf("{\"collateralizeID\":\"%s\",\"value\":%f}", collateralizeID, value)), Payload: []byte(fmt.Sprintf("{\"collateralizeID\":\"%s\",\"value\":%f}", collateralizeID, value)),
} }
...@@ -134,19 +124,14 @@ func addCollateralizeAppendFlags(cmd *cobra.Command) { ...@@ -134,19 +124,14 @@ func addCollateralizeAppendFlags(cmd *cobra.Command) {
//CollateralizeAppend ... //CollateralizeAppend ...
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")
paraName, _ := cmd.Flags().GetString("paraName")
collateralizeID, _ := cmd.Flags().GetString("collateralizeID") collateralizeID, _ := cmd.Flags().GetString("collateralizeID")
recordID, _ := cmd.Flags().GetString("recordID") recordID, _ := cmd.Flags().GetString("recordID")
value, _ := cmd.Flags().GetFloat64("value") value, _ := cmd.Flags().GetFloat64("value")
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(pkt.CollateralizeX), Execer: types.GetExecName(pkt.CollateralizeX, paraName),
ActionName: "CollateralizeAppend", ActionName: "CollateralizeAppend",
Payload: []byte(fmt.Sprintf("{\"collateralizeID\":\"%s\", \"recordID\":\"%s\", \"value\":%f}", collateralizeID, recordID, value)), Payload: []byte(fmt.Sprintf("{\"collateralizeID\":\"%s\", \"recordID\":\"%s\", \"value\":%f}", collateralizeID, recordID, value)),
} }
...@@ -176,18 +161,13 @@ func addCollateralizeRepayFlags(cmd *cobra.Command) { ...@@ -176,18 +161,13 @@ func addCollateralizeRepayFlags(cmd *cobra.Command) {
//CollateralizeRepay ... //CollateralizeRepay ...
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")
paraName, _ := cmd.Flags().GetString("paraName")
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: cfg.ExecName(pkt.CollateralizeX), Execer: types.GetExecName(pkt.CollateralizeX, paraName),
ActionName: "CollateralizeRepay", ActionName: "CollateralizeRepay",
Payload: []byte(fmt.Sprintf("{\"collateralizeID\":\"%s\",\"recordID\":\"%s\"}", collateralizeID, recordID)), Payload: []byte(fmt.Sprintf("{\"collateralizeID\":\"%s\",\"recordID\":\"%s\"}", collateralizeID, recordID)),
} }
...@@ -217,18 +197,13 @@ func addCollateralizePriceFeedFlags(cmd *cobra.Command) { ...@@ -217,18 +197,13 @@ func addCollateralizePriceFeedFlags(cmd *cobra.Command) {
//CollateralizePriceFeed ... //CollateralizePriceFeed ...
func CollateralizePriceFeed(cmd *cobra.Command, args []string) { func CollateralizePriceFeed(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
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().GetFloat64("price") price, _ := cmd.Flags().GetFloat64("price")
volume, _ := cmd.Flags().GetUint64("volume") volume, _ := cmd.Flags().GetUint64("volume")
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(pkt.CollateralizeX), Execer: types.GetExecName(pkt.CollateralizeX, paraName),
ActionName: "CollateralizePriceFeed", ActionName: "CollateralizePriceFeed",
Payload: []byte(fmt.Sprintf("{\"price\":[ %f ], \"volume\":[ %d ]}", price, volume)), Payload: []byte(fmt.Sprintf("{\"price\":[ %f ], \"volume\":[ %d ]}", price, volume)),
} }
...@@ -258,18 +233,13 @@ func addCollateralizeRetrieveFlags(cmd *cobra.Command) { ...@@ -258,18 +233,13 @@ func addCollateralizeRetrieveFlags(cmd *cobra.Command) {
//CollateralizeRetrieve ... //CollateralizeRetrieve ...
func CollateralizeRetrieve(cmd *cobra.Command, args []string) { func CollateralizeRetrieve(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
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")
balance, _ := cmd.Flags().GetFloat64("balance") balance, _ := cmd.Flags().GetFloat64("balance")
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(pkt.CollateralizeX), Execer: types.GetExecName(pkt.CollateralizeX, paraName),
ActionName: "CollateralizeRetrieve", ActionName: "CollateralizeRetrieve",
Payload: []byte(fmt.Sprintf("{\"collateralizeID\":\"%s\", \"balance\": %f}", collateralizeID, balance)), Payload: []byte(fmt.Sprintf("{\"collateralizeID\":\"%s\", \"balance\": %f}", collateralizeID, balance)),
} }
...@@ -300,12 +270,7 @@ func addCollateralizeManageFlags(cmd *cobra.Command) { ...@@ -300,12 +270,7 @@ func addCollateralizeManageFlags(cmd *cobra.Command) {
//CollateralizeManage ... //CollateralizeManage ...
func CollateralizeManage(cmd *cobra.Command, args []string) { func CollateralizeManage(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
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().GetFloat64("debtCeiling") debtCeiling, _ := cmd.Flags().GetFloat64("debtCeiling")
liquidationRatio, _ := cmd.Flags().GetFloat64("liquidationRatio") liquidationRatio, _ := cmd.Flags().GetFloat64("liquidationRatio")
...@@ -314,7 +279,7 @@ func CollateralizeManage(cmd *cobra.Command, args []string) { ...@@ -314,7 +279,7 @@ func CollateralizeManage(cmd *cobra.Command, args []string) {
totalBalance, _ := cmd.Flags().GetFloat64("totalBalance") totalBalance, _ := cmd.Flags().GetFloat64("totalBalance")
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(pkt.CollateralizeX), Execer: types.GetExecName(pkt.CollateralizeX, paraName),
ActionName: "CollateralizeManage", ActionName: "CollateralizeManage",
Payload: []byte(fmt.Sprintf("{\"debtCeiling\":%f, \"liquidationRatio\":%f, \"stabilityFeeRatio\":%f, \"period\":%d, \"totalBalance\":%f}", Payload: []byte(fmt.Sprintf("{\"debtCeiling\":%f, \"liquidationRatio\":%f, \"stabilityFeeRatio\":%f, \"period\":%d, \"totalBalance\":%f}",
debtCeiling, liquidationRatio, stabilityFeeRatio, period, totalBalance)), debtCeiling, liquidationRatio, stabilityFeeRatio, period, totalBalance)),
......
...@@ -9,6 +9,8 @@ import ( ...@@ -9,6 +9,8 @@ import (
"math" "math"
"reflect" "reflect"
"github.com/pkg/errors"
"github.com/33cn/chain33/common/address" "github.com/33cn/chain33/common/address"
log "github.com/33cn/chain33/common/log/log15" log "github.com/33cn/chain33/common/log/log15"
"github.com/33cn/chain33/types" "github.com/33cn/chain33/types"
...@@ -155,9 +157,12 @@ func CreateRawCollateralizeCreateTx(cfg *types.Chain33Config, parm *Collateraliz ...@@ -155,9 +157,12 @@ func CreateRawCollateralizeCreateTx(cfg *types.Chain33Config, parm *Collateraliz
llog.Error("CreateRawCollateralizeCreateTx", "parm", parm) llog.Error("CreateRawCollateralizeCreateTx", "parm", parm)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
} }
totalBalanceInt64, err := types.FormatFloatDisplay2Value(parm.TotalBalance, cfg.GetCoinPrecision())
if err != nil {
return nil, errors.Wrapf(types.ErrInvalidParam, "FormatFloatDisplay2Value.TotalBalance")
}
v := &CollateralizeCreate{ v := &CollateralizeCreate{
TotalBalance: int64(math.Trunc((parm.TotalBalance+0.0000001)*1e4)) * 1e4, TotalBalance: totalBalanceInt64,
} }
create := &CollateralizeAction{ create := &CollateralizeAction{
Ty: CollateralizeActionCreate, Ty: CollateralizeActionCreate,
...@@ -170,7 +175,7 @@ func CreateRawCollateralizeCreateTx(cfg *types.Chain33Config, parm *Collateraliz ...@@ -170,7 +175,7 @@ func CreateRawCollateralizeCreateTx(cfg *types.Chain33Config, parm *Collateraliz
To: address.ExecAddress(cfg.ExecName(CollateralizeX)), To: address.ExecAddress(cfg.ExecName(CollateralizeX)),
} }
name := cfg.ExecName(CollateralizeX) name := cfg.ExecName(CollateralizeX)
tx, err := types.FormatTx(cfg, name, tx) tx, err = types.FormatTx(cfg, name, tx)
if err != nil { if err != nil {
return nil, err return nil, err
} }
...@@ -183,10 +188,13 @@ func CreateRawCollateralizeBorrowTx(cfg *types.Chain33Config, parm *Collateraliz ...@@ -183,10 +188,13 @@ func CreateRawCollateralizeBorrowTx(cfg *types.Chain33Config, parm *Collateraliz
llog.Error("CreateRawCollateralizeBorrowTx", "parm", parm) llog.Error("CreateRawCollateralizeBorrowTx", "parm", parm)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
} }
valueInt64, err := types.FormatFloatDisplay2Value(parm.Value, cfg.GetCoinPrecision())
if err != nil {
return nil, errors.Wrapf(types.ErrInvalidParam, "FormatFloatDisplay2Value.Value")
}
v := &CollateralizeBorrow{ v := &CollateralizeBorrow{
CollateralizeId: parm.CollateralizeID, CollateralizeId: parm.CollateralizeID,
Value: int64(math.Trunc((parm.Value+0.0000001)*1e4)) * 1e4, Value: valueInt64,
} }
borrow := &CollateralizeAction{ borrow := &CollateralizeAction{
Ty: CollateralizeActionBorrow, Ty: CollateralizeActionBorrow,
...@@ -199,7 +207,7 @@ func CreateRawCollateralizeBorrowTx(cfg *types.Chain33Config, parm *Collateraliz ...@@ -199,7 +207,7 @@ func CreateRawCollateralizeBorrowTx(cfg *types.Chain33Config, parm *Collateraliz
To: address.ExecAddress(cfg.ExecName(CollateralizeX)), To: address.ExecAddress(cfg.ExecName(CollateralizeX)),
} }
name := cfg.ExecName(CollateralizeX) name := cfg.ExecName(CollateralizeX)
tx, err := types.FormatTx(cfg, name, tx) tx, err = types.FormatTx(cfg, name, tx)
if err != nil { if err != nil {
return nil, err return nil, err
} }
...@@ -241,11 +249,14 @@ func CreateRawCollateralizeAppendTx(cfg *types.Chain33Config, parm *Collateraliz ...@@ -241,11 +249,14 @@ func CreateRawCollateralizeAppendTx(cfg *types.Chain33Config, parm *Collateraliz
llog.Error("CreateRawCollateralizeAppendTx", "parm", parm) llog.Error("CreateRawCollateralizeAppendTx", "parm", parm)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
} }
valueInt64, err := types.FormatFloatDisplay2Value(parm.Value, cfg.GetCoinPrecision())
if err != nil {
return nil, errors.Wrapf(types.ErrInvalidParam, "FormatFloatDisplay2Value.Value")
}
v := &CollateralizeAppend{ v := &CollateralizeAppend{
CollateralizeId: parm.CollateralizeID, CollateralizeId: parm.CollateralizeID,
RecordId: parm.RecordID, RecordId: parm.RecordID,
CollateralValue: int64(math.Trunc((parm.Value+0.0000001)*1e4)) * 1e4, CollateralValue: valueInt64,
} }
append := &CollateralizeAction{ append := &CollateralizeAction{
Ty: CollateralizeActionAppend, Ty: CollateralizeActionAppend,
...@@ -258,7 +269,7 @@ func CreateRawCollateralizeAppendTx(cfg *types.Chain33Config, parm *Collateraliz ...@@ -258,7 +269,7 @@ func CreateRawCollateralizeAppendTx(cfg *types.Chain33Config, parm *Collateraliz
To: address.ExecAddress(cfg.ExecName(CollateralizeX)), To: address.ExecAddress(cfg.ExecName(CollateralizeX)),
} }
name := cfg.ExecName(CollateralizeX) name := cfg.ExecName(CollateralizeX)
tx, err := types.FormatTx(cfg, name, tx) tx, err = types.FormatTx(cfg, name, tx)
if err != nil { if err != nil {
return nil, err return nil, err
} }
...@@ -304,10 +315,13 @@ func CreateRawCollateralizeRetrieveTx(cfg *types.Chain33Config, parm *Collateral ...@@ -304,10 +315,13 @@ func CreateRawCollateralizeRetrieveTx(cfg *types.Chain33Config, parm *Collateral
llog.Error("CreateRawCollateralizeCloseTx", "parm", parm) llog.Error("CreateRawCollateralizeCloseTx", "parm", parm)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
} }
balanceInt64, err := types.FormatFloatDisplay2Value(parm.Balance, cfg.GetCoinPrecision())
if err != nil {
return nil, errors.Wrapf(types.ErrInvalidParam, "FormatFloatDisplay2Value.Balance")
}
v := &CollateralizeRetrieve{ v := &CollateralizeRetrieve{
CollateralizeId: parm.CollateralizeID, CollateralizeId: parm.CollateralizeID,
Balance: int64(math.Trunc((parm.Balance+0.0000001)*1e4)) * 1e4, Balance: balanceInt64,
} }
close := &CollateralizeAction{ close := &CollateralizeAction{
Ty: CollateralizeActionRetrieve, Ty: CollateralizeActionRetrieve,
...@@ -321,7 +335,7 @@ func CreateRawCollateralizeRetrieveTx(cfg *types.Chain33Config, parm *Collateral ...@@ -321,7 +335,7 @@ func CreateRawCollateralizeRetrieveTx(cfg *types.Chain33Config, parm *Collateral
} }
name := cfg.ExecName(CollateralizeX) name := cfg.ExecName(CollateralizeX)
tx, err := types.FormatTx(cfg, name, tx) tx, err = types.FormatTx(cfg, name, tx)
if err != nil { if err != nil {
return nil, err return nil, err
} }
...@@ -334,13 +348,20 @@ func CreateRawCollateralizeManageTx(cfg *types.Chain33Config, parm *Collateraliz ...@@ -334,13 +348,20 @@ func CreateRawCollateralizeManageTx(cfg *types.Chain33Config, parm *Collateraliz
llog.Error("CreateRawCollateralizeManageTx", "parm", parm) llog.Error("CreateRawCollateralizeManageTx", "parm", parm)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
} }
totalBalanceInt64, err := types.FormatFloatDisplay2Value(parm.TotalBalance, cfg.GetCoinPrecision())
if err != nil {
return nil, errors.Wrapf(types.ErrInvalidParam, "FormatFloatDisplay2Value.totalBalance")
}
debtCeilingInt64, err := types.FormatFloatDisplay2Value(parm.DebtCeiling, cfg.GetCoinPrecision())
if err != nil {
return nil, errors.Wrapf(types.ErrInvalidParam, "FormatFloatDisplay2Value.DebtCeiling")
}
v := &CollateralizeManage{ v := &CollateralizeManage{
DebtCeiling: int64(math.Trunc((parm.DebtCeiling+0.0000001)*1e4)) * 1e4, DebtCeiling: debtCeilingInt64,
LiquidationRatio: int64(math.Trunc((parm.LiquidationRatio + 0.0000001) * 1e4)), LiquidationRatio: int64(math.Trunc((parm.LiquidationRatio + 0.0000001) * 1e4)),
StabilityFeeRatio: int64(math.Trunc((parm.StabilityFeeRatio + 0.0000001) * 1e4)), StabilityFeeRatio: int64(math.Trunc((parm.StabilityFeeRatio + 0.0000001) * 1e4)),
Period: parm.Period, Period: parm.Period,
TotalBalance: int64(math.Trunc((parm.TotalBalance+0.0000001)*1e4)) * 1e4, TotalBalance: totalBalanceInt64,
} }
manage := &CollateralizeAction{ manage := &CollateralizeAction{
...@@ -355,7 +376,7 @@ func CreateRawCollateralizeManageTx(cfg *types.Chain33Config, parm *Collateraliz ...@@ -355,7 +376,7 @@ func CreateRawCollateralizeManageTx(cfg *types.Chain33Config, parm *Collateraliz
} }
name := cfg.ExecName(CollateralizeX) name := cfg.ExecName(CollateralizeX)
tx, err := types.FormatTx(cfg, name, tx) tx, err = types.FormatTx(cfg, name, tx)
if err != nil { if err != nil {
return nil, err return nil, err
} }
......
...@@ -86,8 +86,7 @@ func addRegistFlags(cmd *cobra.Command) { ...@@ -86,8 +86,7 @@ func addRegistFlags(cmd *cobra.Command) {
} }
func regist(cmd *cobra.Command, args []string) { func regist(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
pubkey, _ := cmd.Flags().GetString("pubkey") pubkey, _ := cmd.Flags().GetString("pubkey")
...@@ -96,7 +95,7 @@ func regist(cmd *cobra.Command, args []string) { ...@@ -96,7 +95,7 @@ func regist(cmd *cobra.Command, args []string) {
payload := fmt.Sprintf("{\"pubkey\":\"%s\", \"address\":\"%s\", \"IP\":\"%s\"}", pubkey, address, ip) payload := fmt.Sprintf("{\"pubkey\":\"%s\", \"address\":\"%s\", \"IP\":\"%s\"}", pubkey, address, ip)
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(dty.DPosX), Execer: types.GetExecName(dty.DPosX, paraName),
ActionName: dty.CreateRegistTx, ActionName: dty.CreateRegistTx,
Payload: []byte(payload), Payload: []byte(payload),
} }
...@@ -127,8 +126,7 @@ func addCancelRegistFlags(cmd *cobra.Command) { ...@@ -127,8 +126,7 @@ func addCancelRegistFlags(cmd *cobra.Command) {
} }
func cancelRegist(cmd *cobra.Command, args []string) { func cancelRegist(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
pubkey, _ := cmd.Flags().GetString("pubkey") pubkey, _ := cmd.Flags().GetString("pubkey")
...@@ -136,7 +134,7 @@ func cancelRegist(cmd *cobra.Command, args []string) { ...@@ -136,7 +134,7 @@ func cancelRegist(cmd *cobra.Command, args []string) {
payload := fmt.Sprintf("{\"pubkey\":\"%s\", \"address\":\"%s\"}", pubkey, address) payload := fmt.Sprintf("{\"pubkey\":\"%s\", \"address\":\"%s\"}", pubkey, address)
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(dty.DPosX), Execer: types.GetExecName(dty.DPosX, paraName),
ActionName: dty.CreateCancelRegistTx, ActionName: dty.CreateCancelRegistTx,
Payload: []byte(payload), Payload: []byte(payload),
} }
...@@ -167,8 +165,7 @@ func addVoteFlags(cmd *cobra.Command) { ...@@ -167,8 +165,7 @@ func addVoteFlags(cmd *cobra.Command) {
} }
func vote(cmd *cobra.Command, args []string) { func vote(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
pubkey, _ := cmd.Flags().GetString("pubkey") pubkey, _ := cmd.Flags().GetString("pubkey")
...@@ -177,7 +174,7 @@ func vote(cmd *cobra.Command, args []string) { ...@@ -177,7 +174,7 @@ func vote(cmd *cobra.Command, args []string) {
payload := fmt.Sprintf("{\"pubkey\":\"%s\", \"votes\":\"%d\", \"fromAddr\":\"%s\"}", pubkey, votes, addr) payload := fmt.Sprintf("{\"pubkey\":\"%s\", \"votes\":\"%d\", \"fromAddr\":\"%s\"}", pubkey, votes, addr)
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(dty.DPosX), Execer: types.GetExecName(dty.DPosX, paraName),
ActionName: dty.CreateVoteTx, ActionName: dty.CreateVoteTx,
Payload: []byte(payload), Payload: []byte(payload),
} }
...@@ -207,8 +204,7 @@ func addCancelVoteFlags(cmd *cobra.Command) { ...@@ -207,8 +204,7 @@ func addCancelVoteFlags(cmd *cobra.Command) {
} }
func cancelVote(cmd *cobra.Command, args []string) { func cancelVote(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
pubkey, _ := cmd.Flags().GetString("pubkey") pubkey, _ := cmd.Flags().GetString("pubkey")
...@@ -216,7 +212,7 @@ func cancelVote(cmd *cobra.Command, args []string) { ...@@ -216,7 +212,7 @@ func cancelVote(cmd *cobra.Command, args []string) {
payload := fmt.Sprintf("{\"pubkey\":\"%s\", \"index\":\"%d\"}", pubkey, index) payload := fmt.Sprintf("{\"pubkey\":\"%s\", \"index\":\"%d\"}", pubkey, index)
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(dty.DPosX), Execer: types.GetExecName(dty.DPosX, paraName),
ActionName: dty.CreateCancelVoteTx, ActionName: dty.CreateCancelVoteTx,
Payload: []byte(payload), Payload: []byte(payload),
} }
...@@ -249,8 +245,7 @@ func addReRegistFlags(cmd *cobra.Command) { ...@@ -249,8 +245,7 @@ func addReRegistFlags(cmd *cobra.Command) {
} }
func reRegist(cmd *cobra.Command, args []string) { func reRegist(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
pubkey, _ := cmd.Flags().GetString("pubkey") pubkey, _ := cmd.Flags().GetString("pubkey")
...@@ -259,7 +254,7 @@ func reRegist(cmd *cobra.Command, args []string) { ...@@ -259,7 +254,7 @@ func reRegist(cmd *cobra.Command, args []string) {
payload := fmt.Sprintf("{\"pubkey\":\"%s\", \"address\":\"%s\", \"IP\":\"%s\"}", pubkey, address, ip) payload := fmt.Sprintf("{\"pubkey\":\"%s\", \"address\":\"%s\", \"IP\":\"%s\"}", pubkey, address, ip)
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(dty.DPosX), Execer: types.GetExecName(dty.DPosX, paraName),
ActionName: dty.CreateReRegistTx, ActionName: dty.CreateReRegistTx,
Payload: []byte(payload), Payload: []byte(payload),
} }
...@@ -384,8 +379,7 @@ func addVrfMFlags(cmd *cobra.Command) { ...@@ -384,8 +379,7 @@ func addVrfMFlags(cmd *cobra.Command) {
} }
func vrfM(cmd *cobra.Command, args []string) { func vrfM(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
pubkey, _ := cmd.Flags().GetString("pubkey") pubkey, _ := cmd.Flags().GetString("pubkey")
...@@ -394,7 +388,7 @@ func vrfM(cmd *cobra.Command, args []string) { ...@@ -394,7 +388,7 @@ func vrfM(cmd *cobra.Command, args []string) {
payload := fmt.Sprintf("{\"pubkey\":\"%s\", \"cycle\":\"%d\", \"m\":\"%s\"}", pubkey, cycle, m) payload := fmt.Sprintf("{\"pubkey\":\"%s\", \"cycle\":\"%d\", \"m\":\"%s\"}", pubkey, cycle, m)
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(dty.DPosX), Execer: types.GetExecName(dty.DPosX, paraName),
ActionName: dty.CreateRegistVrfMTx, ActionName: dty.CreateRegistVrfMTx,
Payload: []byte(payload), Payload: []byte(payload),
} }
...@@ -430,8 +424,7 @@ func addVrfRPRegistFlags(cmd *cobra.Command) { ...@@ -430,8 +424,7 @@ func addVrfRPRegistFlags(cmd *cobra.Command) {
} }
func vrfRP(cmd *cobra.Command, args []string) { func vrfRP(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
pubkey, _ := cmd.Flags().GetString("pubkey") pubkey, _ := cmd.Flags().GetString("pubkey")
...@@ -441,7 +434,7 @@ func vrfRP(cmd *cobra.Command, args []string) { ...@@ -441,7 +434,7 @@ func vrfRP(cmd *cobra.Command, args []string) {
payload := fmt.Sprintf("{\"pubkey\":\"%s\", \"cycle\":\"%d\", \"r\":\"%s\", \"p\":\"%s\"}", pubkey, cycle, hash, proof) payload := fmt.Sprintf("{\"pubkey\":\"%s\", \"cycle\":\"%d\", \"r\":\"%s\", \"p\":\"%s\"}", pubkey, cycle, hash, proof)
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(dty.DPosX), Execer: types.GetExecName(dty.DPosX, paraName),
ActionName: dty.CreateRegistVrfRPTx, ActionName: dty.CreateRegistVrfRPTx,
Payload: []byte(payload), Payload: []byte(payload),
} }
...@@ -826,8 +819,7 @@ func recordCB(cmd *cobra.Command, args []string) { ...@@ -826,8 +819,7 @@ func recordCB(cmd *cobra.Command, args []string) {
if err != nil { if err != nil {
return return
} }
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
key, _ := cmd.Flags().GetString("privKey") key, _ := cmd.Flags().GetString("privKey")
...@@ -875,7 +867,7 @@ func recordCB(cmd *cobra.Command, args []string) { ...@@ -875,7 +867,7 @@ func recordCB(cmd *cobra.Command, args []string) {
cycle, height, hash, hex.EncodeToString(privKey.PubKey().Bytes()), sig) cycle, height, hash, hex.EncodeToString(privKey.PubKey().Bytes()), sig)
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(dty.DPosX), Execer: types.GetExecName(dty.DPosX, paraName),
ActionName: dty.CreateRecordCBTx, ActionName: dty.CreateRecordCBTx,
Payload: []byte(payload), Payload: []byte(payload),
} }
......
...@@ -255,9 +255,7 @@ func addCreateContractFlags(cmd *cobra.Command) { ...@@ -255,9 +255,7 @@ func addCreateContractFlags(cmd *cobra.Command) {
} }
func createContract(cmd *cobra.Command, args []string) { func createContract(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
cfg := types.GetCliSysParam(title)
code, _ := cmd.Flags().GetString("code") code, _ := cmd.Flags().GetString("code")
note, _ := cmd.Flags().GetString("note") note, _ := cmd.Flags().GetString("note")
alias, _ := cmd.Flags().GetString("alias") alias, _ := cmd.Flags().GetString("alias")
...@@ -267,7 +265,16 @@ func createContract(cmd *cobra.Command, args []string) { ...@@ -267,7 +265,16 @@ func createContract(cmd *cobra.Command, args []string) {
constructorPara, _ := cmd.Flags().GetString("parameter") constructorPara, _ := cmd.Flags().GetString("parameter")
chainID, _ := cmd.Flags().GetInt32("chainID") chainID, _ := cmd.Flags().GetInt32("chainID")
feeInt64 := uint64(fee*1e4) * 1e4 cfg, err := cmdtypes.GetChainConfig(rpcLaddr)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "GetChainConfig"))
return
}
feeInt64, err := types.FormatFloatDisplay2Value(fee, cfg.CoinPrecision)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "FormatFloatDisplay2Value.fee"))
return
}
var action evmtypes.EVMContractAction var action evmtypes.EVMContractAction
bCode, err := common.FromHex(code) bCode, err := common.FromHex(code)
...@@ -275,7 +282,7 @@ func createContract(cmd *cobra.Command, args []string) { ...@@ -275,7 +282,7 @@ func createContract(cmd *cobra.Command, args []string) {
fmt.Fprintln(os.Stderr, "parse evm code error", err) fmt.Fprintln(os.Stderr, "parse evm code error", err)
return return
} }
exector := cfg.ExecName(paraName + "evm") exector := types.GetExecName("evm", paraName)
action = evmtypes.EVMContractAction{Amount: 0, Code: bCode, GasLimit: 0, GasPrice: 0, Note: note, Alias: alias, ContractAddr: address.ExecAddress(exector)} action = evmtypes.EVMContractAction{Amount: 0, Code: bCode, GasLimit: 0, GasPrice: 0, Note: note, Alias: alias, ContractAddr: address.ExecAddress(exector)}
if "" != constructorPara { if "" != constructorPara {
...@@ -289,9 +296,9 @@ func createContract(cmd *cobra.Command, args []string) { ...@@ -289,9 +296,9 @@ func createContract(cmd *cobra.Command, args []string) {
} }
tx := &types.Transaction{Execer: []byte(exector), Payload: types.Encode(&action), Fee: 0, To: action.ContractAddr, ChainID: chainID} tx := &types.Transaction{Execer: []byte(exector), Payload: types.Encode(&action), Fee: 0, To: action.ContractAddr, ChainID: chainID}
tx.Fee, _ = tx.GetRealFee(cfg.GetMinTxFeeRate()) tx.Fee, _ = tx.GetRealFee(cfg.MinTxFeeRate)
if tx.Fee < int64(feeInt64) { if tx.Fee < feeInt64 {
tx.Fee += int64(feeInt64) tx.Fee += feeInt64
} }
random := rand.New(rand.NewSource(time.Now().UnixNano())) random := rand.New(rand.NewSource(time.Now().UnixNano()))
...@@ -301,12 +308,12 @@ func createContract(cmd *cobra.Command, args []string) { ...@@ -301,12 +308,12 @@ func createContract(cmd *cobra.Command, args []string) {
fmt.Println(rawTx) fmt.Println(rawTx)
} }
func createEvmTx(cfg *types.Chain33Config, action proto.Message, execer, caller, toAddr, expire, rpcLaddr string, fee uint64, chainID int32) (string, error) { func createEvmTx(cfg *rpctypes.ChainConfigInfo, action proto.Message, execer, caller, toAddr, expire, rpcLaddr string, fee int64, chainID int32) (string, error) {
tx := &types.Transaction{Execer: []byte(execer), Payload: types.Encode(action), Fee: 0, To: toAddr, ChainID: chainID} tx := &types.Transaction{Execer: []byte(execer), Payload: types.Encode(action), Fee: 0, To: toAddr, ChainID: chainID}
tx.Fee, _ = tx.GetRealFee(cfg.GetMinTxFeeRate()) tx.Fee, _ = tx.GetRealFee(cfg.MinTxFeeRate)
if tx.Fee < int64(fee) { if tx.Fee < fee {
tx.Fee += int64(fee) tx.Fee += fee
} }
random := rand.New(rand.NewSource(time.Now().UnixNano())) random := rand.New(rand.NewSource(time.Now().UnixNano()))
...@@ -349,9 +356,6 @@ func callContractCmd() *cobra.Command { ...@@ -349,9 +356,6 @@ func callContractCmd() *cobra.Command {
} }
func callContract(cmd *cobra.Command, args []string) { func callContract(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title")
cfg := types.GetCliSysParam(title)
note, _ := cmd.Flags().GetString("note") note, _ := cmd.Flags().GetString("note")
amount, _ := cmd.Flags().GetFloat64("amount") amount, _ := cmd.Flags().GetFloat64("amount")
fee, _ := cmd.Flags().GetFloat64("fee") fee, _ := cmd.Flags().GetFloat64("fee")
...@@ -361,8 +365,22 @@ func callContract(cmd *cobra.Command, args []string) { ...@@ -361,8 +365,22 @@ func callContract(cmd *cobra.Command, args []string) {
paraName, _ := cmd.Flags().GetString("paraName") paraName, _ := cmd.Flags().GetString("paraName")
chainID, _ := cmd.Flags().GetInt32("chainID") chainID, _ := cmd.Flags().GetInt32("chainID")
amountInt64 := uint64(amount*1e4) * 1e4 cfg, err := cmdtypes.GetChainConfig(rpcLaddr)
feeInt64 := uint64(fee*1e4) * 1e4 if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "GetChainConfig"))
return
}
amountInt64, err := types.FormatFloatDisplay2Value(amount, cfg.CoinPrecision)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "FormatFloatDisplay2Value.amount"))
return
}
feeInt64, err := types.FormatFloatDisplay2Value(fee, cfg.CoinPrecision)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "FormatFloatDisplay2Value.fee"))
return
}
abiFileName := path + contractAddr + ".abi" abiFileName := path + contractAddr + ".abi"
abiStr, err := readFile(abiFileName) abiStr, err := readFile(abiFileName)
...@@ -377,9 +395,9 @@ func callContract(cmd *cobra.Command, args []string) { ...@@ -377,9 +395,9 @@ func callContract(cmd *cobra.Command, args []string) {
return return
} }
action := evmtypes.EVMContractAction{Amount: amountInt64, GasLimit: 0, GasPrice: 0, Note: note, Para: packedParameter, ContractAddr: contractAddr} action := evmtypes.EVMContractAction{Amount: uint64(amountInt64), GasLimit: 0, GasPrice: 0, Note: note, Para: packedParameter, ContractAddr: contractAddr}
exector := cfg.ExecName(paraName + "evm") exector := types.GetExecName("evm", paraName)
toAddr := address.ExecAddress(exector) toAddr := address.ExecAddress(exector)
tx := &types.Transaction{Execer: []byte(exector), Payload: types.Encode(&action), Fee: 0, To: toAddr, ChainID: chainID} tx := &types.Transaction{Execer: []byte(exector), Payload: types.Encode(&action), Fee: 0, To: toAddr, ChainID: chainID}
...@@ -636,18 +654,25 @@ func addEvmTransferFlags(cmd *cobra.Command) { ...@@ -636,18 +654,25 @@ func addEvmTransferFlags(cmd *cobra.Command) {
} }
func evmTransfer(cmd *cobra.Command, args []string) { func evmTransfer(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
cfg := types.GetCliSysParam(title)
paraName, _ := cmd.Flags().GetString("paraName") paraName, _ := cmd.Flags().GetString("paraName")
caller, _ := cmd.Flags().GetString("caller") caller, _ := cmd.Flags().GetString("caller")
amount, _ := cmd.Flags().GetFloat64("amount") amount, _ := cmd.Flags().GetFloat64("amount")
receiver, _ := cmd.Flags().GetString("receiver") receiver, _ := cmd.Flags().GetString("receiver")
expire, _ := cmd.Flags().GetString("expire") expire, _ := cmd.Flags().GetString("expire")
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
chainID, _ := cmd.Flags().GetInt32("chainID") chainID, _ := cmd.Flags().GetInt32("chainID")
amountInt64 := int64(amount*1e4) * 1e4 cfg, err := cmdtypes.GetChainConfig(rpcLaddr)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "GetChainConfig"))
return
}
amountInt64, err := types.FormatFloatDisplay2Value(amount, cfg.CoinPrecision)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "FormatFloatDisplay2Value.amount"))
return
}
r_addr, err := address.NewAddrFromString(receiver) r_addr, err := address.NewAddrFromString(receiver)
if nil != err { if nil != err {
...@@ -655,7 +680,7 @@ func evmTransfer(cmd *cobra.Command, args []string) { ...@@ -655,7 +680,7 @@ func evmTransfer(cmd *cobra.Command, args []string) {
return return
} }
exector := cfg.ExecName(paraName + "evm") exector := types.GetExecName("evm", paraName)
toAddr := address.ExecAddress(exector) toAddr := address.ExecAddress(exector)
action := &evmtypes.EVMContractAction{ action := &evmtypes.EVMContractAction{
Amount: uint64(amountInt64), Amount: uint64(amountInt64),
......
...@@ -65,10 +65,8 @@ func addGuessStartFlags(cmd *cobra.Command) { ...@@ -65,10 +65,8 @@ func addGuessStartFlags(cmd *cobra.Command) {
} }
func guessStart(cmd *cobra.Command, args []string) { func guessStart(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
paraName, _ := cmd.Flags().GetString("paraName")
topic, _ := cmd.Flags().GetString("topic") topic, _ := cmd.Flags().GetString("topic")
category, _ := cmd.Flags().GetString("category") category, _ := cmd.Flags().GetString("category")
options, _ := cmd.Flags().GetString("options") options, _ := cmd.Flags().GetString("options")
...@@ -83,7 +81,7 @@ func guessStart(cmd *cobra.Command, args []string) { ...@@ -83,7 +81,7 @@ func guessStart(cmd *cobra.Command, args []string) {
payload := fmt.Sprintf("{\"topic\":\"%s\", \"options\":\"%s\", \"category\":\"%s\", \"maxBetHeight\":%d, \"maxBetsOneTime\":%d,\"maxBetsNumber\":%d,\"devFeeFactor\":%d,\"platFeeFactor\":%d,\"expireHeight\":%d,\"devFeeAddr\":\"%s\",\"platFeeAddr\":\"%s\"}", topic, options, category, maxBetHeight, maxBetsOneTime, maxBetsNumber, devFeeFactor, platFeeFactor, expireHeight, devFeeAddr, platFeeAddr) payload := fmt.Sprintf("{\"topic\":\"%s\", \"options\":\"%s\", \"category\":\"%s\", \"maxBetHeight\":%d, \"maxBetsOneTime\":%d,\"maxBetsNumber\":%d,\"devFeeFactor\":%d,\"platFeeFactor\":%d,\"expireHeight\":%d,\"devFeeAddr\":\"%s\",\"platFeeAddr\":\"%s\"}", topic, options, category, maxBetHeight, maxBetsOneTime, maxBetsNumber, devFeeFactor, platFeeFactor, expireHeight, devFeeAddr, platFeeAddr)
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(gty.GuessX), Execer: types.GetExecName(gty.GuessX, paraName),
ActionName: gty.CreateStartTx, ActionName: gty.CreateStartTx,
Payload: []byte(payload), Payload: []byte(payload),
} }
...@@ -115,17 +113,15 @@ func addGuessBetFlags(cmd *cobra.Command) { ...@@ -115,17 +113,15 @@ func addGuessBetFlags(cmd *cobra.Command) {
} }
func guessBet(cmd *cobra.Command, args []string) { func guessBet(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
paraName, _ := cmd.Flags().GetString("paraName")
gameID, _ := cmd.Flags().GetString("gameId") gameID, _ := cmd.Flags().GetString("gameId")
option, _ := cmd.Flags().GetString("option") option, _ := cmd.Flags().GetString("option")
betsNumber, _ := cmd.Flags().GetInt64("betsNumber") betsNumber, _ := cmd.Flags().GetInt64("betsNumber")
payload := fmt.Sprintf("{\"gameID\":\"%s\", \"option\":\"%s\", \"betsNum\":%d}", gameID, option, betsNumber) payload := fmt.Sprintf("{\"gameID\":\"%s\", \"option\":\"%s\", \"betsNum\":%d}", gameID, option, betsNumber)
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(gty.GuessX), Execer: types.GetExecName(gty.GuessX, paraName),
ActionName: gty.CreateBetTx, ActionName: gty.CreateBetTx,
Payload: []byte(payload), Payload: []byte(payload),
} }
...@@ -152,15 +148,13 @@ func addGuessStopBetFlags(cmd *cobra.Command) { ...@@ -152,15 +148,13 @@ func addGuessStopBetFlags(cmd *cobra.Command) {
} }
func guessStopBet(cmd *cobra.Command, args []string) { func guessStopBet(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
paraName, _ := cmd.Flags().GetString("paraName")
gameID, _ := cmd.Flags().GetString("gameId") gameID, _ := cmd.Flags().GetString("gameId")
payload := fmt.Sprintf("{\"gameID\":\"%s\"}", gameID) payload := fmt.Sprintf("{\"gameID\":\"%s\"}", gameID)
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(gty.GuessX), Execer: types.GetExecName(gty.GuessX, paraName),
ActionName: gty.CreateStopBetTx, ActionName: gty.CreateStopBetTx,
Payload: []byte(payload), Payload: []byte(payload),
} }
...@@ -187,15 +181,13 @@ func addGuessAbortFlags(cmd *cobra.Command) { ...@@ -187,15 +181,13 @@ func addGuessAbortFlags(cmd *cobra.Command) {
} }
func guessAbort(cmd *cobra.Command, args []string) { func guessAbort(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
paraName, _ := cmd.Flags().GetString("paraName")
gameID, _ := cmd.Flags().GetString("gameId") gameID, _ := cmd.Flags().GetString("gameId")
payload := fmt.Sprintf("{\"gameID\":\"%s\"}", gameID) payload := fmt.Sprintf("{\"gameID\":\"%s\"}", gameID)
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(gty.GuessX), Execer: types.GetExecName(gty.GuessX, paraName),
ActionName: gty.CreateAbortTx, ActionName: gty.CreateAbortTx,
Payload: []byte(payload), Payload: []byte(payload),
} }
...@@ -225,16 +217,14 @@ func addGuessPublishFlags(cmd *cobra.Command) { ...@@ -225,16 +217,14 @@ func addGuessPublishFlags(cmd *cobra.Command) {
} }
func guessPublish(cmd *cobra.Command, args []string) { func guessPublish(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
paraName, _ := cmd.Flags().GetString("paraName")
gameID, _ := cmd.Flags().GetString("gameId") gameID, _ := cmd.Flags().GetString("gameId")
result, _ := cmd.Flags().GetString("result") result, _ := cmd.Flags().GetString("result")
payload := fmt.Sprintf("{\"gameID\":\"%s\",\"result\":\"%s\"}", gameID, result) payload := fmt.Sprintf("{\"gameID\":\"%s\",\"result\":\"%s\"}", gameID, result)
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(gty.GuessX), Execer: types.GetExecName(gty.GuessX, paraName),
ActionName: gty.CreatePublishTx, ActionName: gty.CreatePublishTx,
Payload: []byte(payload), Payload: []byte(payload),
} }
......
...@@ -53,11 +53,7 @@ func addIssuanceCreateFlags(cmd *cobra.Command) { ...@@ -53,11 +53,7 @@ func addIssuanceCreateFlags(cmd *cobra.Command) {
//IssuanceCreate .... //IssuanceCreate ....
func IssuanceCreate(cmd *cobra.Command, args []string) { func IssuanceCreate(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
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().GetFloat64("balance") balance, _ := cmd.Flags().GetFloat64("balance")
...@@ -66,7 +62,7 @@ func IssuanceCreate(cmd *cobra.Command, args []string) { ...@@ -66,7 +62,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: cfg.ExecName(pkt.IssuanceX), Execer: types.GetExecName(pkt.IssuanceX, paraName),
ActionName: "IssuanceCreate", ActionName: "IssuanceCreate",
Payload: []byte(fmt.Sprintf("{\"totalBalance\":%f, \"debtCeiling\":%f, \"liquidationRatio\":%f, \"period\":%d}", Payload: []byte(fmt.Sprintf("{\"totalBalance\":%f, \"debtCeiling\":%f, \"liquidationRatio\":%f, \"period\":%d}",
balance, debtCeiling, liquidationRatio, period)), balance, debtCeiling, liquidationRatio, period)),
...@@ -97,18 +93,14 @@ func addIssuanceDebtFlags(cmd *cobra.Command) { ...@@ -97,18 +93,14 @@ func addIssuanceDebtFlags(cmd *cobra.Command) {
//IssuanceDebt ... //IssuanceDebt ...
func IssuanceDebt(cmd *cobra.Command, args []string) { func IssuanceDebt(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
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().GetFloat64("value") value, _ := cmd.Flags().GetFloat64("value")
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(pkt.IssuanceX), Execer: types.GetExecName(pkt.IssuanceX, paraName),
ActionName: "IssuanceDebt", ActionName: "IssuanceDebt",
Payload: []byte(fmt.Sprintf("{\"issuanceID\":\"%s\",\"value\":%f}", issuanceID, value)), Payload: []byte(fmt.Sprintf("{\"issuanceID\":\"%s\",\"value\":%f}", issuanceID, value)),
} }
...@@ -138,18 +130,14 @@ func addIssuanceRepayFlags(cmd *cobra.Command) { ...@@ -138,18 +130,14 @@ func addIssuanceRepayFlags(cmd *cobra.Command) {
//IssuanceRepay ... //IssuanceRepay ...
func IssuanceRepay(cmd *cobra.Command, args []string) { func IssuanceRepay(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
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: cfg.ExecName(pkt.IssuanceX), Execer: types.GetExecName(pkt.IssuanceX, paraName),
ActionName: "IssuanceRepay", ActionName: "IssuanceRepay",
Payload: []byte(fmt.Sprintf("{\"issuanceID\":\"%s\", \"debtID\":\"%s\"}", issuanceID, debtID)), Payload: []byte(fmt.Sprintf("{\"issuanceID\":\"%s\", \"debtID\":\"%s\"}", issuanceID, debtID)),
} }
...@@ -179,18 +167,14 @@ func addIssuancePriceFeedFlags(cmd *cobra.Command) { ...@@ -179,18 +167,14 @@ func addIssuancePriceFeedFlags(cmd *cobra.Command) {
//IssuancePriceFeed ... //IssuancePriceFeed ...
func IssuancePriceFeed(cmd *cobra.Command, args []string) { func IssuancePriceFeed(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
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().GetFloat64("price") price, _ := cmd.Flags().GetFloat64("price")
volume, _ := cmd.Flags().GetUint64("volume") volume, _ := cmd.Flags().GetUint64("volume")
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(pkt.IssuanceX), Execer: types.GetExecName(pkt.IssuanceX, paraName),
ActionName: "IssuancePriceFeed", ActionName: "IssuancePriceFeed",
Payload: []byte(fmt.Sprintf("{\"price\":[ %f ], \"volume\":[ %d ]}", price, volume)), Payload: []byte(fmt.Sprintf("{\"price\":[ %f ], \"volume\":[ %d ]}", price, volume)),
} }
...@@ -218,17 +202,13 @@ func addIssuanceCloseFlags(cmd *cobra.Command) { ...@@ -218,17 +202,13 @@ func addIssuanceCloseFlags(cmd *cobra.Command) {
//IssuanceClose ... //IssuanceClose ...
func IssuanceClose(cmd *cobra.Command, args []string) { func IssuanceClose(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
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: cfg.ExecName(pkt.IssuanceX), Execer: types.GetExecName(pkt.IssuanceX, paraName),
ActionName: "IssuanceClose", ActionName: "IssuanceClose",
Payload: []byte(fmt.Sprintf("{\"issuanceId\":\"%s\"}", issuanceID)), Payload: []byte(fmt.Sprintf("{\"issuanceId\":\"%s\"}", issuanceID)),
} }
...@@ -256,17 +236,13 @@ func addIssuanceManageFlags(cmd *cobra.Command) { ...@@ -256,17 +236,13 @@ func addIssuanceManageFlags(cmd *cobra.Command) {
//IssuanceManage ... //IssuanceManage ...
func IssuanceManage(cmd *cobra.Command, args []string) { func IssuanceManage(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
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: cfg.ExecName(pkt.IssuanceX), Execer: types.GetExecName(pkt.IssuanceX, paraName),
ActionName: "IssuanceManage", ActionName: "IssuanceManage",
Payload: []byte(fmt.Sprintf("{\"addr\":[\"%s\"]}", addr)), Payload: []byte(fmt.Sprintf("{\"addr\":[\"%s\"]}", addr)),
} }
......
...@@ -9,6 +9,8 @@ import ( ...@@ -9,6 +9,8 @@ import (
"math" "math"
"reflect" "reflect"
"github.com/pkg/errors"
"github.com/33cn/chain33/common/address" "github.com/33cn/chain33/common/address"
log "github.com/33cn/chain33/common/log/log15" log "github.com/33cn/chain33/common/log/log15"
"github.com/33cn/chain33/types" "github.com/33cn/chain33/types"
...@@ -146,9 +148,18 @@ func CreateRawIssuanceCreateTx(cfg *types.Chain33Config, parm *IssuanceCreateTx) ...@@ -146,9 +148,18 @@ func CreateRawIssuanceCreateTx(cfg *types.Chain33Config, parm *IssuanceCreateTx)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
} }
totalBalanceInt64, err := types.FormatFloatDisplay2Value(parm.TotalBalance, cfg.GetCoinPrecision())
if err != nil {
return nil, errors.Wrapf(types.ErrInvalidParam, "FormatFloatDisplay2Value.totalBalance")
}
debtCeilingInt64, err := types.FormatFloatDisplay2Value(parm.DebtCeiling, cfg.GetCoinPrecision())
if err != nil {
return nil, errors.Wrapf(types.ErrInvalidParam, "FormatFloatDisplay2Value.DebtCeiling")
}
v := &IssuanceCreate{ v := &IssuanceCreate{
TotalBalance: int64(math.Trunc((parm.TotalBalance+0.0000001)*1e4)) * 1e4, TotalBalance: totalBalanceInt64,
DebtCeiling: int64(math.Trunc((parm.DebtCeiling+0.0000001)*1e4)) * 1e4, DebtCeiling: debtCeilingInt64,
LiquidationRatio: int64(math.Trunc((parm.LiquidationRatio + 0.0000001) * 1e4)), LiquidationRatio: int64(math.Trunc((parm.LiquidationRatio + 0.0000001) * 1e4)),
Period: parm.Period, Period: parm.Period,
} }
...@@ -163,7 +174,7 @@ func CreateRawIssuanceCreateTx(cfg *types.Chain33Config, parm *IssuanceCreateTx) ...@@ -163,7 +174,7 @@ func CreateRawIssuanceCreateTx(cfg *types.Chain33Config, parm *IssuanceCreateTx)
To: address.ExecAddress(cfg.ExecName(IssuanceX)), To: address.ExecAddress(cfg.ExecName(IssuanceX)),
} }
name := cfg.ExecName(IssuanceX) name := cfg.ExecName(IssuanceX)
tx, err := types.FormatTx(cfg, name, tx) tx, err = types.FormatTx(cfg, name, tx)
if err != nil { if err != nil {
return nil, err return nil, err
} }
...@@ -176,10 +187,13 @@ func CreateRawIssuanceDebtTx(cfg *types.Chain33Config, parm *IssuanceDebtTx) (*t ...@@ -176,10 +187,13 @@ func CreateRawIssuanceDebtTx(cfg *types.Chain33Config, parm *IssuanceDebtTx) (*t
llog.Error("CreateRawIssuanceBorrowTx", "parm", parm) llog.Error("CreateRawIssuanceBorrowTx", "parm", parm)
return nil, types.ErrInvalidParam return nil, types.ErrInvalidParam
} }
valueInt64, err := types.FormatFloatDisplay2Value(parm.Value, cfg.GetCoinPrecision())
if err != nil {
return nil, errors.Wrapf(types.ErrInvalidParam, "FormatFloatDisplay2Value.Value")
}
v := &IssuanceDebt{ v := &IssuanceDebt{
IssuanceId: parm.IssuanceID, IssuanceId: parm.IssuanceID,
Value: int64(math.Trunc((parm.Value+0.0000001)*1e4)) * 1e4, Value: valueInt64,
} }
debt := &IssuanceAction{ debt := &IssuanceAction{
Ty: IssuanceActionDebt, Ty: IssuanceActionDebt,
...@@ -192,7 +206,7 @@ func CreateRawIssuanceDebtTx(cfg *types.Chain33Config, parm *IssuanceDebtTx) (*t ...@@ -192,7 +206,7 @@ func CreateRawIssuanceDebtTx(cfg *types.Chain33Config, parm *IssuanceDebtTx) (*t
To: address.ExecAddress(cfg.ExecName(IssuanceX)), To: address.ExecAddress(cfg.ExecName(IssuanceX)),
} }
name := cfg.ExecName(IssuanceX) name := cfg.ExecName(IssuanceX)
tx, err := types.FormatTx(cfg, name, tx) tx, err = types.FormatTx(cfg, name, tx)
if err != nil { if err != nil {
return nil, err return nil, err
} }
......
...@@ -6,7 +6,6 @@ package commands ...@@ -6,7 +6,6 @@ package commands
import ( import (
"fmt" "fmt"
"math"
"os" "os"
"strconv" "strconv"
"strings" "strings"
...@@ -141,6 +140,12 @@ func createMultiSigAccTransfer(cmd *cobra.Command, args []string) { ...@@ -141,6 +140,12 @@ func createMultiSigAccTransfer(cmd *cobra.Command, args []string) {
return return
} }
cfg, err := commandtypes.GetChainConfig(rpcLaddr)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "GetChainConfig"))
return
}
//将字符转权重转换成uint64的值 //将字符转权重转换成uint64的值
var weights []uint64 var weights []uint64
var totalweight uint64 var totalweight uint64
...@@ -182,10 +187,16 @@ func createMultiSigAccTransfer(cmd *cobra.Command, args []string) { ...@@ -182,10 +187,16 @@ func createMultiSigAccTransfer(cmd *cobra.Command, args []string) {
fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, err)
return return
} }
dailylimitInt64, err := types.FormatFloatDisplay2Value(dailylimit, cfg.CoinPrecision)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "FormatFloatDisplay2Value.dailylimit"))
return
}
symboldailylimit := &mty.SymbolDailyLimit{ symboldailylimit := &mty.SymbolDailyLimit{
Symbol: symbol, Symbol: symbol,
Execer: execer, Execer: execer,
DailyLimit: uint64(math.Trunc((dailylimit+0.0000001)*1e4)) * 1e4, DailyLimit: uint64(dailylimitInt64),
} }
params := &mty.MultiSigAccCreate{ params := &mty.MultiSigAccCreate{
...@@ -415,16 +426,26 @@ func createMultiSigAccDailyLimitModifyTransfer(cmd *cobra.Command, args []string ...@@ -415,16 +426,26 @@ func createMultiSigAccDailyLimitModifyTransfer(cmd *cobra.Command, args []string
execer, _ := cmd.Flags().GetString("execer") execer, _ := cmd.Flags().GetString("execer")
symbol, _ := cmd.Flags().GetString("symbol") symbol, _ := cmd.Flags().GetString("symbol")
dailylimit, _ := cmd.Flags().GetFloat64("daily_limit") dailylimit, _ := cmd.Flags().GetFloat64("daily_limit")
cfg, err := commandtypes.GetChainConfig(rpcLaddr)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "GetChainConfig"))
return
}
err := isValidDailylimit(dailylimit) err = isValidDailylimit(dailylimit)
if err != nil { if err != nil {
fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, err)
return return
} }
dailylimitInt64, err := types.FormatFloatDisplay2Value(dailylimit, cfg.CoinPrecision)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "FormatFloatDisplay2Value.dailylimit"))
return
}
assetsDailyLimit := &mty.SymbolDailyLimit{ assetsDailyLimit := &mty.SymbolDailyLimit{
Symbol: symbol, Symbol: symbol,
Execer: execer, Execer: execer,
DailyLimit: uint64(math.Trunc((dailylimit+0.0000001)*1e4)) * 1e4, DailyLimit: uint64(dailylimitInt64),
} }
params := &mty.MultiSigAccOperate{ params := &mty.MultiSigAccOperate{
MultiSigAccAddr: multiSigAddr, MultiSigAccAddr: multiSigAddr,
...@@ -520,9 +541,19 @@ func createMultiSigAccTransferIn(cmd *cobra.Command, args []string) { ...@@ -520,9 +541,19 @@ func createMultiSigAccTransferIn(cmd *cobra.Command, args []string) {
fmt.Fprintln(os.Stderr, types.ErrAmount) fmt.Fprintln(os.Stderr, types.ErrAmount)
return return
} }
cfg, err := commandtypes.GetChainConfig(rpcLaddr)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "GetChainConfig"))
return
}
amountInt64, err := types.FormatFloatDisplay2Value(amount, cfg.CoinPrecision)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "FormatFloatDisplay2Value.fee"))
return
}
params := &mty.MultiSigExecTransferTo{ params := &mty.MultiSigExecTransferTo{
Symbol: symbol, Symbol: symbol,
Amount: int64(math.Trunc((amount+0.0000001)*1e4)) * 1e4, Amount: amountInt64,
Note: note, Note: note,
Execname: execer, Execname: execer,
To: to, To: to,
...@@ -576,9 +607,19 @@ func createMultiSigAccTransferOut(cmd *cobra.Command, args []string) { ...@@ -576,9 +607,19 @@ func createMultiSigAccTransferOut(cmd *cobra.Command, args []string) {
fmt.Fprintln(os.Stderr, types.ErrAmount) fmt.Fprintln(os.Stderr, types.ErrAmount)
return return
} }
cfg, err := commandtypes.GetChainConfig(rpcLaddr)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "GetChainConfig"))
return
}
amountInt64, err := types.FormatFloatDisplay2Value(amount, cfg.CoinPrecision)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "FormatFloatDisplay2Value.amount"))
return
}
params := &mty.MultiSigExecTransferFrom{ params := &mty.MultiSigExecTransferFrom{
Symbol: symbol, Symbol: symbol,
Amount: int64(math.Trunc((amount+0.0000001)*1e4)) * 1e4, Amount: amountInt64,
Note: note, Note: note,
Execname: execer, Execname: execer,
From: from, From: from,
......
...@@ -88,9 +88,7 @@ func addPublishEventFlags(cmd *cobra.Command) { ...@@ -88,9 +88,7 @@ func addPublishEventFlags(cmd *cobra.Command) {
} }
func publishEvent(cmd *cobra.Command, args []string) { func publishEvent(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
cfg := types.GetCliSysParam(title)
rpcLaddr, err := cmd.Flags().GetString("rpc_laddr") rpcLaddr, err := cmd.Flags().GetString("rpc_laddr")
if err != nil { if err != nil {
fmt.Printf("publishEvent get rpc addr Error: %v", err) fmt.Printf("publishEvent get rpc addr Error: %v", err)
...@@ -130,7 +128,7 @@ func publishEvent(cmd *cobra.Command, args []string) { ...@@ -130,7 +128,7 @@ func publishEvent(cmd *cobra.Command, args []string) {
} }
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(oraclety.OracleX), Execer: types.GetExecName(oraclety.OracleX, paraName),
ActionName: oraclety.CreateEventPublishTx, ActionName: oraclety.CreateEventPublishTx,
Payload: []byte(fmt.Sprintf("{\"type\":\"%s\",\"subType\":\"%s\",\"time\":%d, \"content\":\"%s\", \"introduction\":\"%s\"}", ty, subType, t.Unix(), content, introduction)), Payload: []byte(fmt.Sprintf("{\"type\":\"%s\",\"subType\":\"%s\",\"time\":%d, \"content\":\"%s\", \"introduction\":\"%s\"}", ty, subType, t.Unix(), content, introduction)),
} }
...@@ -160,9 +158,7 @@ func addAbortPublishEventFlags(cmd *cobra.Command) { ...@@ -160,9 +158,7 @@ func addAbortPublishEventFlags(cmd *cobra.Command) {
} }
func abortPublishEvent(cmd *cobra.Command, args []string) { func abortPublishEvent(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
cfg := types.GetCliSysParam(title)
rpcLaddr, err := cmd.Flags().GetString("rpc_laddr") rpcLaddr, err := cmd.Flags().GetString("rpc_laddr")
if err != nil { if err != nil {
fmt.Printf("abortPublishEvent rpc_addr Error: %v", err) fmt.Printf("abortPublishEvent rpc_addr Error: %v", err)
...@@ -175,7 +171,7 @@ func abortPublishEvent(cmd *cobra.Command, args []string) { ...@@ -175,7 +171,7 @@ func abortPublishEvent(cmd *cobra.Command, args []string) {
} }
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(oraclety.OracleX), Execer: types.GetExecName(oraclety.OracleX, paraName),
ActionName: oraclety.CreateAbortEventPublishTx, ActionName: oraclety.CreateAbortEventPublishTx,
Payload: []byte(fmt.Sprintf("{\"eventID\":\"%s\"}", eventID)), Payload: []byte(fmt.Sprintf("{\"eventID\":\"%s\"}", eventID)),
} }
...@@ -219,9 +215,7 @@ func addPrePublishResultFlags(cmd *cobra.Command) { ...@@ -219,9 +215,7 @@ func addPrePublishResultFlags(cmd *cobra.Command) {
} }
func prePublishResult(cmd *cobra.Command, args []string) { func prePublishResult(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
cfg := types.GetCliSysParam(title)
rpcLaddr, err := cmd.Flags().GetString("rpc_laddr") rpcLaddr, err := cmd.Flags().GetString("rpc_laddr")
if err != nil { if err != nil {
fmt.Printf("prePublishResult rpc_laddr Error: %v", err) fmt.Printf("prePublishResult rpc_laddr Error: %v", err)
...@@ -244,7 +238,7 @@ func prePublishResult(cmd *cobra.Command, args []string) { ...@@ -244,7 +238,7 @@ func prePublishResult(cmd *cobra.Command, args []string) {
} }
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(oraclety.OracleX), Execer: types.GetExecName(oraclety.OracleX, paraName),
ActionName: oraclety.CreatePrePublishResultTx, ActionName: oraclety.CreatePrePublishResultTx,
Payload: []byte(fmt.Sprintf("{\"eventID\":\"%s\", \"source\":\"%s\", \"result\":\"%s\"}", eventID, source, result)), Payload: []byte(fmt.Sprintf("{\"eventID\":\"%s\", \"source\":\"%s\", \"result\":\"%s\"}", eventID, source, result)),
} }
...@@ -274,9 +268,7 @@ func addAbortPrePubResultFlags(cmd *cobra.Command) { ...@@ -274,9 +268,7 @@ func addAbortPrePubResultFlags(cmd *cobra.Command) {
} }
func abortPrePubResult(cmd *cobra.Command, args []string) { func abortPrePubResult(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
cfg := types.GetCliSysParam(title)
rpcLaddr, err := cmd.Flags().GetString("rpc_laddr") rpcLaddr, err := cmd.Flags().GetString("rpc_laddr")
if err != nil { if err != nil {
fmt.Printf("abortPrePubResult rpc_laddr Error: %v", err) fmt.Printf("abortPrePubResult rpc_laddr Error: %v", err)
...@@ -289,7 +281,7 @@ func abortPrePubResult(cmd *cobra.Command, args []string) { ...@@ -289,7 +281,7 @@ func abortPrePubResult(cmd *cobra.Command, args []string) {
} }
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(oraclety.OracleX), Execer: types.GetExecName(oraclety.OracleX, paraName),
ActionName: oraclety.CreateAbortResultPrePublishTx, ActionName: oraclety.CreateAbortResultPrePublishTx,
Payload: []byte(fmt.Sprintf("{\"eventID\":\"%s\"}", eventID)), Payload: []byte(fmt.Sprintf("{\"eventID\":\"%s\"}", eventID)),
} }
...@@ -333,9 +325,7 @@ func addPublishResultFlags(cmd *cobra.Command) { ...@@ -333,9 +325,7 @@ func addPublishResultFlags(cmd *cobra.Command) {
} }
func publishResult(cmd *cobra.Command, args []string) { func publishResult(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
cfg := types.GetCliSysParam(title)
rpcLaddr, err := cmd.Flags().GetString("rpc_laddr") rpcLaddr, err := cmd.Flags().GetString("rpc_laddr")
if err != nil { if err != nil {
fmt.Printf("publishResult rpc_laddr Error: %v", err) fmt.Printf("publishResult rpc_laddr Error: %v", err)
...@@ -358,7 +348,7 @@ func publishResult(cmd *cobra.Command, args []string) { ...@@ -358,7 +348,7 @@ func publishResult(cmd *cobra.Command, args []string) {
} }
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(oraclety.OracleX), Execer: types.GetExecName(oraclety.OracleX, paraName),
ActionName: oraclety.CreateResultPublishTx, ActionName: oraclety.CreateResultPublishTx,
Payload: []byte(fmt.Sprintf("{\"eventID\":\"%s\", \"source\":\"%s\", \"result\":\"%s\"}", eventID, source, result)), Payload: []byte(fmt.Sprintf("{\"eventID\":\"%s\", \"source\":\"%s\", \"result\":\"%s\"}", eventID, source, result)),
} }
......
...@@ -7,10 +7,12 @@ package commands ...@@ -7,10 +7,12 @@ package commands
import ( import (
"encoding/hex" "encoding/hex"
"fmt" "fmt"
"math"
"os" "os"
"strings" "strings"
cmdtypes "github.com/33cn/chain33/system/dapp/commands/types"
"github.com/pkg/errors"
"github.com/33cn/chain33/rpc/jsonclient" "github.com/33cn/chain33/rpc/jsonclient"
rpctypes "github.com/33cn/chain33/rpc/types" rpctypes "github.com/33cn/chain33/rpc/types"
"github.com/33cn/chain33/system/dapp/commands" "github.com/33cn/chain33/system/dapp/commands"
...@@ -114,15 +116,21 @@ func createAssetWithdraw(cmd *cobra.Command, args []string) { ...@@ -114,15 +116,21 @@ func createAssetWithdraw(cmd *cobra.Command, args []string) {
} }
func createAssetTx(cmd *cobra.Command, isWithdraw bool) (string, error) { func createAssetTx(cmd *cobra.Command, isWithdraw bool) (string, error) {
title, _ := cmd.Flags().GetString("title") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
//这里cfg除了里面FormatTx需要外,没其他作用,平行链执行器需要的参数已经填好了,这里title就是默认空就可以,支持主链构建平行链交易 cfg, err := cmdtypes.GetChainConfig(rpcLaddr)
cfg := types.GetCliSysParam(title) if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "GetChainConfig"))
return "", err
}
amount, _ := cmd.Flags().GetFloat64("amount") amount, _ := cmd.Flags().GetFloat64("amount")
if amount < 0 { if amount < 0 {
return "", types.ErrAmount return "", types.ErrAmount
} }
amountInt64 := int64(math.Trunc((amount+0.0000001)*1e4)) * 1e4 amountInt64, err := types.FormatFloatDisplay2Value(amount, cfg.CoinPrecision)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "FormatFloatDisplay2Value.amount"))
return "", err
}
toAddr, _ := cmd.Flags().GetString("to") toAddr, _ := cmd.Flags().GetString("to")
note, _ := cmd.Flags().GetString("note") note, _ := cmd.Flags().GetString("note")
...@@ -133,7 +141,6 @@ func createAssetTx(cmd *cobra.Command, isWithdraw bool) (string, error) { ...@@ -133,7 +141,6 @@ func createAssetTx(cmd *cobra.Command, isWithdraw bool) (string, error) {
fmt.Fprintln(os.Stderr, "title is not right, title format like `user.p.guodun.`") fmt.Fprintln(os.Stderr, "title is not right, title format like `user.p.guodun.`")
return "", types.ErrInvalidParam return "", types.ErrInvalidParam
} }
execName := paraName + pt.ParaX
param := types.CreateTx{ param := types.CreateTx{
To: toAddr, To: toAddr,
...@@ -143,9 +150,9 @@ func createAssetTx(cmd *cobra.Command, isWithdraw bool) (string, error) { ...@@ -143,9 +150,9 @@ func createAssetTx(cmd *cobra.Command, isWithdraw bool) (string, error) {
IsWithdraw: isWithdraw, IsWithdraw: isWithdraw,
IsToken: false, IsToken: false,
TokenSymbol: symbol, TokenSymbol: symbol,
ExecName: execName, ExecName: types.GetExecName(pt.ParaX, paraName),
} }
tx, err := pt.CreateRawAssetTransferTx(cfg, &param) tx, err := pt.CreateRawAssetTransferTxExt(cfg.ChainID, cfg.MinTxFeeRate, &param)
if err != nil { if err != nil {
return "", err return "", err
} }
...@@ -272,12 +279,22 @@ func createCrossAssetTransfer(cmd *cobra.Command, args []string) { ...@@ -272,12 +279,22 @@ func createCrossAssetTransfer(cmd *cobra.Command, args []string) {
note, _ := cmd.Flags().GetString("note") note, _ := cmd.Flags().GetString("note")
symbol, _ := cmd.Flags().GetString("symbol") symbol, _ := cmd.Flags().GetString("symbol")
amount, _ := cmd.Flags().GetFloat64("amount") amount, _ := cmd.Flags().GetFloat64("amount")
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
cfg, err := cmdtypes.GetChainConfig(rpcLaddr)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "GetChainConfig"))
return
}
if amount < 0 { if amount < 0 {
fmt.Fprintln(os.Stderr, "amount < 0") fmt.Fprintln(os.Stderr, "amount < 0")
return return
} }
amountInt64 := int64(math.Trunc((amount+0.0000001)*1e4)) * 1e4 amountInt64, err := types.FormatFloatDisplay2Value(amount, cfg.CoinPrecision)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "FormatFloatDisplay2Value.amount"))
return
}
paraName, _ := cmd.Flags().GetString("paraName") paraName, _ := cmd.Flags().GetString("paraName")
if !strings.HasPrefix(paraName, "user.p") { if !strings.HasPrefix(paraName, "user.p") {
...@@ -299,10 +316,9 @@ func createCrossAssetTransfer(cmd *cobra.Command, args []string) { ...@@ -299,10 +316,9 @@ func createCrossAssetTransfer(cmd *cobra.Command, args []string) {
Payload: types.MustPBToJSON(&config), Payload: types.MustPBToJSON(&config),
} }
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
var res string var res string
ctx := jsonclient.NewRPCCtx(rpcLaddr, "Chain33.CreateTransaction", params, &res) ctx := jsonclient.NewRPCCtx(rpcLaddr, "Chain33.CreateTransaction", params, &res)
_, err := ctx.RunResult() _, err = ctx.RunResult()
if err != nil { if err != nil {
fmt.Println(err) fmt.Println(err)
return return
...@@ -358,14 +374,25 @@ func createNodeJoinTx(cmd *cobra.Command, args []string) { ...@@ -358,14 +374,25 @@ func createNodeJoinTx(cmd *cobra.Command, args []string) {
fmt.Fprintln(os.Stderr, "paraName is not right, paraName format like `user.p.guodun.`") fmt.Fprintln(os.Stderr, "paraName is not right, paraName format like `user.p.guodun.`")
return return
} }
payload := &pt.ParaNodeAddrConfig{Title: paraName, Op: 1, Addr: opAddr, CoinsFrozen: int64(math.Trunc((coins+0.0000001)*1e4)) * 1e4} rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
cfg, err := cmdtypes.GetChainConfig(rpcLaddr)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "GetChainConfig"))
return
}
coinsInt64, err := types.FormatFloatDisplay2Value(coins, cfg.CoinPrecision)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "FormatFloatDisplay2Value.coins"))
return
}
payload := &pt.ParaNodeAddrConfig{Title: paraName, Op: 1, Addr: opAddr, CoinsFrozen: coinsInt64}
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: getRealExecName(paraName, pt.ParaX), Execer: getRealExecName(paraName, pt.ParaX),
ActionName: "NodeConfig", ActionName: "NodeConfig",
Payload: types.MustPBToJSON(payload), Payload: types.MustPBToJSON(payload),
} }
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
ctx := jsonclient.NewRPCCtx(rpcLaddr, "Chain33.CreateTransaction", params, nil) ctx := jsonclient.NewRPCCtx(rpcLaddr, "Chain33.CreateTransaction", params, nil)
ctx.RunWithoutMarshal() ctx.RunWithoutMarshal()
} }
...@@ -896,14 +923,25 @@ func nodeGroupApply(cmd *cobra.Command, args []string) { ...@@ -896,14 +923,25 @@ func nodeGroupApply(cmd *cobra.Command, args []string) {
return return
} }
payload := &pt.ParaNodeGroupConfig{Title: paraName, Op: 1, Addrs: addrs, BlsPubKeys: blspubs, CoinsFrozen: int64(math.Trunc((coins+0.0000001)*1e4)) * 1e4} rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
cfg, err := cmdtypes.GetChainConfig(rpcLaddr)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "GetChainConfig"))
return
}
coinsInt64, err := types.FormatFloatDisplay2Value(coins, cfg.CoinPrecision)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "FormatFloatDisplay2Value.coins"))
return
}
payload := &pt.ParaNodeGroupConfig{Title: paraName, Op: 1, Addrs: addrs, BlsPubKeys: blspubs, CoinsFrozen: coinsInt64}
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: getRealExecName(paraName, pt.ParaX), Execer: getRealExecName(paraName, pt.ParaX),
ActionName: "NodeGroupConfig", ActionName: "NodeGroupConfig",
Payload: types.MustPBToJSON(payload), Payload: types.MustPBToJSON(payload),
} }
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
ctx := jsonclient.NewRPCCtx(rpcLaddr, "Chain33.CreateTransaction", params, nil) ctx := jsonclient.NewRPCCtx(rpcLaddr, "Chain33.CreateTransaction", params, nil)
ctx.RunWithoutMarshal() ctx.RunWithoutMarshal()
} }
...@@ -926,15 +964,24 @@ func nodeGroupApprove(cmd *cobra.Command, args []string) { ...@@ -926,15 +964,24 @@ func nodeGroupApprove(cmd *cobra.Command, args []string) {
fmt.Fprintln(os.Stderr, "paraName is not right, paraName format like `user.p.guodun.`") fmt.Fprintln(os.Stderr, "paraName is not right, paraName format like `user.p.guodun.`")
return return
} }
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
payload := &pt.ParaNodeGroupConfig{Title: paraName, Op: 2, Id: id, CoinsFrozen: int64(math.Trunc((coins+0.0000001)*1e4)) * 1e4} cfg, err := cmdtypes.GetChainConfig(rpcLaddr)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "GetChainConfig"))
return
}
coinsInt64, err := types.FormatFloatDisplay2Value(coins, cfg.CoinPrecision)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "FormatFloatDisplay2Value.coins"))
return
}
payload := &pt.ParaNodeGroupConfig{Title: paraName, Op: 2, Id: id, CoinsFrozen: coinsInt64}
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: getRealExecName(paraName, pt.ParaX), Execer: getRealExecName(paraName, pt.ParaX),
ActionName: "NodeGroupConfig", ActionName: "NodeGroupConfig",
Payload: types.MustPBToJSON(payload), Payload: types.MustPBToJSON(payload),
} }
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
ctx := jsonclient.NewRPCCtx(rpcLaddr, "Chain33.CreateTransaction", params, nil) ctx := jsonclient.NewRPCCtx(rpcLaddr, "Chain33.CreateTransaction", params, nil)
ctx.RunWithoutMarshal() ctx.RunWithoutMarshal()
} }
...@@ -997,14 +1044,24 @@ func nodeGroupModify(cmd *cobra.Command, args []string) { ...@@ -997,14 +1044,24 @@ func nodeGroupModify(cmd *cobra.Command, args []string) {
fmt.Fprintln(os.Stderr, "paraName is not right, paraName format like `user.p.guodun.`") fmt.Fprintln(os.Stderr, "paraName is not right, paraName format like `user.p.guodun.`")
return return
} }
payload := &pt.ParaNodeGroupConfig{Title: paraName, Op: 4, CoinsFrozen: int64(math.Trunc((coins+0.0000001)*1e4)) * 1e4} rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
cfg, err := cmdtypes.GetChainConfig(rpcLaddr)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "GetChainConfig"))
return
}
coinsInt64, err := types.FormatFloatDisplay2Value(coins, cfg.CoinPrecision)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "FormatFloatDisplay2Value.coins"))
return
}
payload := &pt.ParaNodeGroupConfig{Title: paraName, Op: 4, CoinsFrozen: coinsInt64}
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: getRealExecName(paraName, pt.ParaX), Execer: getRealExecName(paraName, pt.ParaX),
ActionName: "NodeGroupConfig", ActionName: "NodeGroupConfig",
Payload: types.MustPBToJSON(payload), Payload: types.MustPBToJSON(payload),
} }
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
ctx := jsonclient.NewRPCCtx(rpcLaddr, "Chain33.CreateTransaction", params, nil) ctx := jsonclient.NewRPCCtx(rpcLaddr, "Chain33.CreateTransaction", params, nil)
ctx.RunWithoutMarshal() ctx.RunWithoutMarshal()
} }
......
...@@ -217,6 +217,11 @@ func createRawCommitTx(cfg *types.Chain33Config, commit *ParacrossCommitAction, ...@@ -217,6 +217,11 @@ func createRawCommitTx(cfg *types.Chain33Config, commit *ParacrossCommitAction,
// CreateRawAssetTransferTx create asset transfer tx // CreateRawAssetTransferTx create asset transfer tx
func CreateRawAssetTransferTx(cfg *types.Chain33Config, param *types.CreateTx) (*types.Transaction, error) { func CreateRawAssetTransferTx(cfg *types.Chain33Config, param *types.CreateTx) (*types.Transaction, error) {
return CreateRawAssetTransferTxExt(cfg.GetChainID(), cfg.GetMinTxFeeRate(), param)
}
// CreateRawAssetTransferTxExt create asset transfer tx
func CreateRawAssetTransferTxExt(chainID int32, minFee int64, param *types.CreateTx) (*types.Transaction, error) {
// 跨链交易需要在主链和平行链上执行, 所以应该可以在主链和平行链上构建 // 跨链交易需要在主链和平行链上执行, 所以应该可以在主链和平行链上构建
if !types.IsParaExecName(param.GetExecName()) { if !types.IsParaExecName(param.GetExecName()) {
tlog.Error("CreateRawAssetTransferTx", "exec", param.GetExecName()) tlog.Error("CreateRawAssetTransferTx", "exec", param.GetExecName())
...@@ -235,13 +240,13 @@ func CreateRawAssetTransferTx(cfg *types.Chain33Config, param *types.CreateTx) ( ...@@ -235,13 +240,13 @@ func CreateRawAssetTransferTx(cfg *types.Chain33Config, param *types.CreateTx) (
transfer.Value = v transfer.Value = v
transfer.Ty = ParacrossActionAssetWithdraw transfer.Ty = ParacrossActionAssetWithdraw
} }
tx := &types.Transaction{ rawtx := &types.Transaction{
Execer: []byte(param.GetExecName()), Execer: []byte(param.GetExecName()),
Payload: types.Encode(transfer), Payload: types.Encode(transfer),
To: address.ExecAddress(param.GetExecName()), To: address.ExecAddress(param.GetExecName()),
Fee: param.Fee, Fee: param.Fee,
} }
tx, err := types.FormatTx(cfg, param.GetExecName(), tx) tx, err := types.FormatTxExt(chainID, true, minFee, param.GetExecName(), rawtx)
if err != nil { if err != nil {
return nil, err return nil, err
} }
......
...@@ -97,14 +97,12 @@ func addPokerbullContinueFlags(cmd *cobra.Command) { ...@@ -97,14 +97,12 @@ func addPokerbullContinueFlags(cmd *cobra.Command) {
} }
func pokerbullContinue(cmd *cobra.Command, args []string) { func pokerbullContinue(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
paraName, _ := cmd.Flags().GetString("paraName")
gameID, _ := cmd.Flags().GetString("gameID") gameID, _ := cmd.Flags().GetString("gameID")
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(pkt.PokerBullX), Execer: types.GetExecName(pkt.PokerBullX, paraName),
ActionName: pkt.CreateContinueTx, ActionName: pkt.CreateContinueTx,
Payload: []byte(fmt.Sprintf("{\"gameId\":\"%s\"}", gameID)), Payload: []byte(fmt.Sprintf("{\"gameId\":\"%s\"}", gameID)),
} }
...@@ -131,14 +129,12 @@ func addPokerbullQuitFlags(cmd *cobra.Command) { ...@@ -131,14 +129,12 @@ func addPokerbullQuitFlags(cmd *cobra.Command) {
} }
func pokerbullQuit(cmd *cobra.Command, args []string) { func pokerbullQuit(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
paraName, _ := cmd.Flags().GetString("paraName")
gameID, _ := cmd.Flags().GetString("gameID") gameID, _ := cmd.Flags().GetString("gameID")
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(pkt.PokerBullX), Execer: types.GetExecName(pkt.PokerBullX, paraName),
ActionName: pkt.CreateQuitTx, ActionName: pkt.CreateQuitTx,
Payload: []byte(fmt.Sprintf("{\"gameId\":\"%s\"}", gameID)), Payload: []byte(fmt.Sprintf("{\"gameId\":\"%s\"}", gameID)),
} }
......
...@@ -14,6 +14,8 @@ import ( ...@@ -14,6 +14,8 @@ import (
"strconv" "strconv"
"time" "time"
"github.com/33cn/chain33/common/address"
"github.com/33cn/chain33/common/crypto" "github.com/33cn/chain33/common/crypto"
"github.com/33cn/chain33/rpc/jsonclient" "github.com/33cn/chain33/rpc/jsonclient"
rpctypes "github.com/33cn/chain33/rpc/types" rpctypes "github.com/33cn/chain33/rpc/types"
...@@ -219,19 +221,18 @@ func addNodeFlags(cmd *cobra.Command) { ...@@ -219,19 +221,18 @@ func addNodeFlags(cmd *cobra.Command) {
} }
func addNode(cmd *cobra.Command, args []string) { func addNode(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title")
cfg := types.GetCliSysParam(title)
pubkey, _ := cmd.Flags().GetString("pubkey") pubkey, _ := cmd.Flags().GetString("pubkey")
power, _ := cmd.Flags().GetInt64("power") power, _ := cmd.Flags().GetInt64("power")
value := &vt.QbftNodeAction_Node{Node: &vt.QbftNode{PubKey: pubkey, Power: power}} value := &vt.QbftNodeAction_Node{Node: &vt.QbftNode{PubKey: pubkey, Power: power}}
action := &vt.QbftNodeAction{Value: value, Ty: vt.QbftNodeActionUpdate} action := &vt.QbftNodeAction{Value: value, Ty: vt.QbftNodeActionUpdate}
tx := &types.Transaction{Payload: types.Encode(action)} tx := &types.Transaction{
tx, err := types.FormatTx(cfg, vt.QbftNodeX, tx) Payload: types.Encode(action),
if err != nil { Nonce: rand.Int63(),
fmt.Fprintln(os.Stderr, err) Execer: []byte(vt.QbftNodeX),
return
} }
tx.To = address.ExecAddress(string(tx.Execer))
txHex := types.Encode(tx) txHex := types.Encode(tx)
fmt.Println(hex.EncodeToString(txHex)) fmt.Println(hex.EncodeToString(txHex))
} }
......
...@@ -360,14 +360,14 @@ func (b *btcdClient) GetTransaction(hash string) (*ty.BtcTransaction, error) { ...@@ -360,14 +360,14 @@ func (b *btcdClient) GetTransaction(hash string) (*ty.BtcTransaction, error) {
for index, in := range tx.Vin { for index, in := range tx.Vin {
var v ty.Vin var v ty.Vin
// v.Address = in. // v.Address = in.
v.Value = uint64(in.Vout) * 1e8 v.Value = uint64(float64(in.Vout) * coinsPrecision)
vin[index] = &v vin[index] = &v
} }
btxTx.Vin = vin btxTx.Vin = vin
vout := make([]*ty.Vout, len(tx.Vout)) vout := make([]*ty.Vout, len(tx.Vout))
for index, in := range tx.Vout { for index, in := range tx.Vout {
var out ty.Vout var out ty.Vout
out.Value = uint64(in.Value) * 1e8 out.Value = uint64(in.Value * coinsPrecision)
out.Address = in.ScriptPubKey.Addresses[0] out.Address = in.ScriptPubKey.Addresses[0]
vout[index] = &out vout[index] = &out
} }
......
...@@ -12,6 +12,7 @@ var ( ...@@ -12,6 +12,7 @@ var (
currentBtcBlockheightKey = []byte("000007bc077cc540821f06280c4c2f04e036931f21ea3b1bf509b972cbbef5ca") currentBtcBlockheightKey = []byte("000007bc077cc540821f06280c4c2f04e036931f21ea3b1bf509b972cbbef5ca")
firstHeaderKey = []byte("1e1ffda1446d62a96b7ba9347a35ecdb1fad2379f35041d32e82a7b97646b9ff") firstHeaderKey = []byte("1e1ffda1446d62a96b7ba9347a35ecdb1fad2379f35041d32e82a7b97646b9ff")
privateKey = []byte("privateKey-relayd") privateKey = []byte("privateKey-relayd")
coinsPrecision = 1e8
) )
type latestBlock struct { type latestBlock struct {
......
...@@ -390,28 +390,39 @@ func addExchangeFlags(cmd *cobra.Command) { ...@@ -390,28 +390,39 @@ func addExchangeFlags(cmd *cobra.Command) {
} }
func relayOrder(cmd *cobra.Command, args []string) { func relayOrder(cmd *cobra.Command, args []string) {
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
oper, _ := cmd.Flags().GetUint32("operation") oper, _ := cmd.Flags().GetUint32("operation")
coin, _ := cmd.Flags().GetString("coin") coin, _ := cmd.Flags().GetString("coin")
coinamount, _ := cmd.Flags().GetFloat64("coin_amount") coinamount, _ := cmd.Flags().GetFloat64("coin_amount")
coinaddr, _ := cmd.Flags().GetString("coin_addr") coinaddr, _ := cmd.Flags().GetString("coin_addr")
coinwait, _ := cmd.Flags().GetUint32("coin_wait") coinwait, _ := cmd.Flags().GetUint32("coin_wait")
btyamount, _ := cmd.Flags().GetFloat64("bty_amount") btyamount, _ := cmd.Flags().GetFloat64("bty_amount")
cfg, err := commandtypes.GetChainConfig(rpcLaddr)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "GetChainConfig"))
return
}
if coinwait == 0 { if coinwait == 0 {
coinwait = 1 coinwait = 1
} }
btyInt64, err := types.FormatFloatDisplay2Value(btyamount, cfg.CoinPrecision)
btyUInt64 := uint64(btyamount * 1e4) if err != nil {
coinUInt64 := uint64(coinamount * 1e4) fmt.Fprintln(os.Stderr, errors.Wrapf(err, "FormatFloatDisplay2Value.btyamount"))
return
}
coinInt64, err := types.FormatFloatDisplay2Value(coinamount, cfg.CoinPrecision)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "FormatFloatDisplay2Value.coinamount"))
return
}
params := &ty.RelayCreate{ params := &ty.RelayCreate{
Operation: oper, Operation: oper,
XAmount: coinUInt64 * 1e4, XAmount: uint64(coinInt64),
XCoin: coin, XCoin: coin,
XAddr: coinaddr, XAddr: coinaddr,
XBlockWaits: coinwait, XBlockWaits: coinwait,
LocalCoinAmount: btyUInt64 * 1e4, LocalCoinAmount: uint64(btyInt64),
} }
payLoad, err := json.Marshal(params) payLoad, err := json.Marshal(params)
...@@ -424,12 +435,11 @@ func relayOrder(cmd *cobra.Command, args []string) { ...@@ -424,12 +435,11 @@ func relayOrder(cmd *cobra.Command, args []string) {
} }
func createTx(cmd *cobra.Command, payLoad []byte, action string) { func createTx(cmd *cobra.Command, payLoad []byte, action string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
pm := &rpctypes.CreateTxIn{ pm := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(ty.RelayX), Execer: types.GetExecName(ty.RelayX, paraName),
ActionName: action, ActionName: action,
Payload: payLoad, Payload: payLoad,
} }
......
...@@ -21,7 +21,7 @@ import ( ...@@ -21,7 +21,7 @@ import (
const ( const (
lockingTime = 12 * time.Hour //as currently one BTC tx may need wait quite long time lockingTime = 12 * time.Hour //as currently one BTC tx may need wait quite long time
lockBtcHeight = 12 * 6 lockBtcHeight = 12 * 6
lockBtyAmount = 100 * 1e8 lockBtyAmount = 100 //coins
) )
type relayLog struct { type relayLog struct {
...@@ -151,6 +151,7 @@ func (action *relayDB) create(order *ty.RelayCreate) (*types.Receipt, error) { ...@@ -151,6 +151,7 @@ func (action *relayDB) create(order *ty.RelayCreate) (*types.Receipt, error) {
var receipt *types.Receipt var receipt *types.Receipt
var err error var err error
cfg := action.api.GetConfig()
accDb, err := action.createAccount(order.LocalCoinExec, order.LocalCoinSymbol) accDb, err := action.createAccount(order.LocalCoinExec, order.LocalCoinSymbol)
if err != nil { if err != nil {
return nil, errors.Wrapf(err, "relay create,exec=%s,sym=%s", order.LocalCoinExec, order.LocalCoinSymbol) return nil, errors.Wrapf(err, "relay create,exec=%s,sym=%s", order.LocalCoinExec, order.LocalCoinSymbol)
...@@ -164,7 +165,7 @@ func (action *relayDB) create(order *ty.RelayCreate) (*types.Receipt, error) { ...@@ -164,7 +165,7 @@ func (action *relayDB) create(order *ty.RelayCreate) (*types.Receipt, error) {
} }
} else { } else {
receipt, err = accDb.ExecFrozen(action.fromAddr, action.execAddr, int64(lockBtyAmount)) receipt, err = accDb.ExecFrozen(action.fromAddr, action.execAddr, lockBtyAmount*cfg.GetCoinPrecision())
if err != nil { if err != nil {
relaylog.Error("account.ExecFrozen relay ", "addrFrom", action.fromAddr, "execAddr", action.execAddr, "amount", lockBtyAmount) relaylog.Error("account.ExecFrozen relay ", "addrFrom", action.fromAddr, "execAddr", action.execAddr, "amount", lockBtyAmount)
return nil, err return nil, err
...@@ -270,6 +271,7 @@ func (action *relayDB) revokeCreate(revoke *ty.RelayRevoke) (*types.Receipt, err ...@@ -270,6 +271,7 @@ func (action *relayDB) revokeCreate(revoke *ty.RelayRevoke) (*types.Receipt, err
return nil, ty.ErrRelayReturnAddr return nil, ty.ErrRelayReturnAddr
} }
cfg := action.api.GetConfig()
accDb, err := action.createAccount(order.LocalCoinExec, order.LocalCoinSymbol) accDb, err := action.createAccount(order.LocalCoinExec, order.LocalCoinSymbol)
if err != nil { if err != nil {
return nil, errors.Wrapf(err, "relay revokeCreate,exec=%s,sym=%s", order.LocalCoinExec, order.LocalCoinSymbol) return nil, errors.Wrapf(err, "relay revokeCreate,exec=%s,sym=%s", order.LocalCoinExec, order.LocalCoinSymbol)
...@@ -290,7 +292,7 @@ func (action *relayDB) revokeCreate(revoke *ty.RelayRevoke) (*types.Receipt, err ...@@ -290,7 +292,7 @@ func (action *relayDB) revokeCreate(revoke *ty.RelayRevoke) (*types.Receipt, err
return nil, err return nil, err
} }
receiptTransfer, err = accDb.ExecTransferFrozen(order.CreaterAddr, order.AcceptAddr, action.execAddr, int64(lockBtyAmount)) receiptTransfer, err = accDb.ExecTransferFrozen(order.CreaterAddr, order.AcceptAddr, action.execAddr, lockBtyAmount*cfg.GetCoinPrecision())
if err != nil { if err != nil {
relaylog.Error("revokeAccept", "from", order.AcceptAddr, "to", order.CreaterAddr, "execAddr", action.execAddr, "amount", lockBtyAmount) relaylog.Error("revokeAccept", "from", order.AcceptAddr, "to", order.CreaterAddr, "execAddr", action.execAddr, "amount", lockBtyAmount)
return nil, err return nil, err
...@@ -340,9 +342,10 @@ func (action *relayDB) accept(accept *ty.RelayAccept) (*types.Receipt, error) { ...@@ -340,9 +342,10 @@ func (action *relayDB) accept(accept *ty.RelayAccept) (*types.Receipt, error) {
return nil, errors.Wrapf(err, "relay accept,exec=%s,sym=%s", order.LocalCoinExec, order.LocalCoinSymbol) return nil, errors.Wrapf(err, "relay accept,exec=%s,sym=%s", order.LocalCoinExec, order.LocalCoinSymbol)
} }
cfg := action.api.GetConfig()
var receipt *types.Receipt var receipt *types.Receipt
if order.Operation == ty.RelayOrderBuy { if order.Operation == ty.RelayOrderBuy {
receipt, err = accDb.ExecFrozen(action.fromAddr, action.execAddr, int64(lockBtyAmount)) receipt, err = accDb.ExecFrozen(action.fromAddr, action.execAddr, lockBtyAmount*cfg.GetCoinPrecision())
if err != nil { if err != nil {
relaylog.Error("relay accept frozen fail ", "addrFrom", action.fromAddr, "execAddr", action.execAddr, "amount", lockBtyAmount) relaylog.Error("relay accept frozen fail ", "addrFrom", action.fromAddr, "execAddr", action.execAddr, "amount", lockBtyAmount)
return nil, err return nil, err
...@@ -412,6 +415,7 @@ func (action *relayDB) revokeAccept(revoke *ty.RelayRevoke) (*types.Receipt, err ...@@ -412,6 +415,7 @@ func (action *relayDB) revokeAccept(revoke *ty.RelayRevoke) (*types.Receipt, err
return nil, ty.ErrRelayOrderFinished return nil, ty.ErrRelayOrderFinished
} }
cfg := action.api.GetConfig()
err = action.checkRevokeOrder(order) err = action.checkRevokeOrder(order)
if err != nil { if err != nil {
return nil, err return nil, err
...@@ -438,7 +442,7 @@ func (action *relayDB) revokeAccept(revoke *ty.RelayRevoke) (*types.Receipt, err ...@@ -438,7 +442,7 @@ func (action *relayDB) revokeAccept(revoke *ty.RelayRevoke) (*types.Receipt, err
var receiptTransfer *types.Receipt var receiptTransfer *types.Receipt
if order.Operation == ty.RelayOrderBuy { if order.Operation == ty.RelayOrderBuy {
receiptTransfer, err = accDb.ExecTransferFrozen(order.AcceptAddr, order.CreaterAddr, action.execAddr, int64(lockBtyAmount)) receiptTransfer, err = accDb.ExecTransferFrozen(order.AcceptAddr, order.CreaterAddr, action.execAddr, lockBtyAmount*cfg.GetCoinPrecision())
if err != nil { if err != nil {
relaylog.Error("revokeAccept", "from", order.AcceptAddr, "to", order.CreaterAddr, "execAddr", action.execAddr, "amount", lockBtyAmount) relaylog.Error("revokeAccept", "from", order.AcceptAddr, "to", order.CreaterAddr, "execAddr", action.execAddr, "amount", lockBtyAmount)
return nil, err return nil, err
...@@ -543,6 +547,7 @@ func (action *relayDB) verifyTx(verify *ty.RelayVerify) (*types.Receipt, error) ...@@ -543,6 +547,7 @@ func (action *relayDB) verifyTx(verify *ty.RelayVerify) (*types.Receipt, error)
return nil, ty.ErrRelayOrderOnSell return nil, ty.ErrRelayOrderOnSell
} }
cfg := action.api.GetConfig()
err = action.btc.verifyBtcTx(verify, order) err = action.btc.verifyBtcTx(verify, order)
if err != nil { if err != nil {
return nil, err return nil, err
...@@ -571,14 +576,14 @@ func (action *relayDB) verifyTx(verify *ty.RelayVerify) (*types.Receipt, error) ...@@ -571,14 +576,14 @@ func (action *relayDB) verifyTx(verify *ty.RelayVerify) (*types.Receipt, error)
var receiptTransfer *types.Receipt var receiptTransfer *types.Receipt
if order.Operation == ty.RelayOrderBuy { if order.Operation == ty.RelayOrderBuy {
receiptTransfer, err = accDb.ExecActive(order.AcceptAddr, action.execAddr, int64(lockBtyAmount)) receiptTransfer, err = accDb.ExecActive(order.AcceptAddr, action.execAddr, lockBtyAmount*cfg.GetCoinPrecision())
if err != nil { if err != nil {
relaylog.Error("verify exec active", "from", order.AcceptAddr, "amount", lockBtyAmount) relaylog.Error("verify exec active", "from", order.AcceptAddr, "amount", lockBtyAmount)
return nil, err return nil, err
} }
} else { } else {
receiptTransfer, err = accDb.ExecActive(order.CreaterAddr, action.execAddr, int64(lockBtyAmount)) receiptTransfer, err = accDb.ExecActive(order.CreaterAddr, action.execAddr, lockBtyAmount*cfg.GetCoinPrecision())
if err != nil { if err != nil {
relaylog.Error("verify exec active", "from", order.CreaterAddr, "amount", lockBtyAmount) relaylog.Error("verify exec active", "from", order.CreaterAddr, "amount", lockBtyAmount)
return nil, err return nil, err
......
...@@ -10,6 +10,9 @@ import ( ...@@ -10,6 +10,9 @@ import (
"fmt" "fmt"
"os" "os"
cmdtypes "github.com/33cn/chain33/system/dapp/commands/types"
"github.com/pkg/errors"
"github.com/33cn/chain33/rpc/jsonclient" "github.com/33cn/chain33/rpc/jsonclient"
rpctypes "github.com/33cn/chain33/rpc/types" rpctypes "github.com/33cn/chain33/rpc/types"
"github.com/33cn/chain33/types" "github.com/33cn/chain33/types"
...@@ -92,9 +95,14 @@ func addBindMinerFlags(cmd *cobra.Command) { ...@@ -92,9 +95,14 @@ func addBindMinerFlags(cmd *cobra.Command) {
} }
func bindMiner(cmd *cobra.Command, args []string) { func bindMiner(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
cfg := types.GetCliSysParam(title) paraName, _ := cmd.Flags().GetString("paraName")
cfg, err := cmdtypes.GetChainConfig(rpcLaddr)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "GetChainConfig"))
return
}
bindAddr, _ := cmd.Flags().GetString("bind_addr") bindAddr, _ := cmd.Flags().GetString("bind_addr")
originAddr, _ := cmd.Flags().GetString("origin_addr") originAddr, _ := cmd.Flags().GetString("origin_addr")
//c, _ := crypto.New(types.GetSignName(wallet.SignType)) //c, _ := crypto.New(types.GetSignName(wallet.SignType))
...@@ -109,7 +117,8 @@ func bindMiner(cmd *cobra.Command, args []string) { ...@@ -109,7 +117,8 @@ func bindMiner(cmd *cobra.Command, args []string) {
ta.Value = &ty.TicketAction_Tbind{Tbind: tBind} ta.Value = &ty.TicketAction_Tbind{Tbind: tBind}
ta.Ty = ty.TicketActionBind ta.Ty = ty.TicketActionBind
tx, err := types.CreateFormatTx(cfg, "ticket", types.Encode(ta)) rawTx := &types.Transaction{Payload: types.Encode(ta)}
tx, err := types.FormatTxExt(cfg.ChainID, len(paraName) > 0, cfg.MinTxFeeRate, ty.TicketX, rawTx)
if err != nil { if err != nil {
fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, err)
return return
......
...@@ -539,10 +539,19 @@ func tokenMint(cmd *cobra.Command, args []string) { ...@@ -539,10 +539,19 @@ func tokenMint(cmd *cobra.Command, args []string) {
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
symbol, _ := cmd.Flags().GetString("symbol") symbol, _ := cmd.Flags().GetString("symbol")
amount, _ := cmd.Flags().GetFloat64("amount") amount, _ := cmd.Flags().GetFloat64("amount")
cfg, err := cmdtypes.GetChainConfig(rpcLaddr)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "GetChainConfig"))
return
}
amountInt64, err := types.FormatFloatDisplay2Value(amount, cfg.CoinPrecision)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "FormatFloatDisplay2Value.amount"))
return
}
params := &tokenty.TokenMint{ params := &tokenty.TokenMint{
Symbol: symbol, Symbol: symbol,
Amount: int64((amount+0.000001)*1e4) * 1e4, Amount: amountInt64,
} }
ctx := jsonclient.NewRPCCtx(rpcLaddr, "token.CreateRawTokenMintTx", params, nil) ctx := jsonclient.NewRPCCtx(rpcLaddr, "token.CreateRawTokenMintTx", params, nil)
...@@ -574,10 +583,19 @@ func tokenBurn(cmd *cobra.Command, args []string) { ...@@ -574,10 +583,19 @@ func tokenBurn(cmd *cobra.Command, args []string) {
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
symbol, _ := cmd.Flags().GetString("symbol") symbol, _ := cmd.Flags().GetString("symbol")
amount, _ := cmd.Flags().GetFloat64("amount") amount, _ := cmd.Flags().GetFloat64("amount")
cfg, err := cmdtypes.GetChainConfig(rpcLaddr)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "GetChainConfig"))
return
}
amountInt64, err := types.FormatFloatDisplay2Value(amount, cfg.CoinPrecision)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "FormatFloatDisplay2Value.amount"))
return
}
params := &tokenty.TokenBurn{ params := &tokenty.TokenBurn{
Symbol: symbol, Symbol: symbol,
Amount: int64((amount+0.000001)*1e4) * 1e4, Amount: amountInt64,
} }
ctx := jsonclient.NewRPCCtx(rpcLaddr, "token.CreateRawTokenBurnTx", params, nil) ctx := jsonclient.NewRPCCtx(rpcLaddr, "token.CreateRawTokenBurnTx", params, nil)
......
...@@ -526,17 +526,30 @@ func tokenSell(cmd *cobra.Command, args []string) { ...@@ -526,17 +526,30 @@ func tokenSell(cmd *cobra.Command, args []string) {
if exec == "" { if exec == "" {
exec = "token" exec = "token"
} }
cfg, err := commandtypes.GetChainConfig(rpcLaddr)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "GetChainConfig"))
return
}
priceInt64 := int64(price * 1e4) priceInt64, err := types.FormatFloatDisplay2Value(price, cfg.CoinPrecision)
feeInt64 := int64(fee * 1e4) if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "FormatFloatDisplay2Value.price"))
return
}
feeInt64, err := types.FormatFloatDisplay2Value(fee, cfg.CoinPrecision)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "FormatFloatDisplay2Value.fee"))
return
}
totalInt64 := int64(total * 1e8 / 1e6) totalInt64 := int64(total * 1e8 / 1e6)
params := &pty.TradeSellTx{ params := &pty.TradeSellTx{
TokenSymbol: symbol, TokenSymbol: symbol,
AmountPerBoardlot: 1e6, AmountPerBoardlot: 1e6,
MinBoardlot: min, MinBoardlot: min,
PricePerBoardlot: priceInt64 * 1e4, PricePerBoardlot: priceInt64,
TotalBoardlot: totalInt64, TotalBoardlot: totalInt64,
Fee: feeInt64 * 1e4, Fee: feeInt64,
AssetExec: exec, AssetExec: exec,
PriceExec: priceExec, PriceExec: priceExec,
PriceSymbol: priceSymbol, PriceSymbol: priceSymbol,
...@@ -568,14 +581,23 @@ func addTokenBuyFlags(cmd *cobra.Command) { ...@@ -568,14 +581,23 @@ func addTokenBuyFlags(cmd *cobra.Command) {
func tokenBuy(cmd *cobra.Command, args []string) { func tokenBuy(cmd *cobra.Command, args []string) {
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
sellID, _ := cmd.Flags().GetString("sell_id") sellID, _ := cmd.Flags().GetString("sell_id")
fee, _ := cmd.Flags().GetFloat64("fee")
count, _ := cmd.Flags().GetInt64("count") count, _ := cmd.Flags().GetInt64("count")
cfg, err := commandtypes.GetChainConfig(rpcLaddr)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "GetChainConfig"))
return
}
feeInt64 := int64(fee * 1e4) fee, _ := cmd.Flags().GetFloat64("fee")
feeInt64, err := types.FormatFloatDisplay2Value(fee, cfg.CoinPrecision)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "FormatFloatDisplay2Value.fee"))
return
}
params := &pty.TradeBuyTx{ params := &pty.TradeBuyTx{
SellID: sellID, SellID: sellID,
BoardlotCnt: count, BoardlotCnt: count,
Fee: feeInt64 * 1e4, Fee: feeInt64,
} }
ctx := jsonrpc.NewRPCCtx(rpcLaddr, "trade.CreateRawTradeBuyTx", params, nil) ctx := jsonrpc.NewRPCCtx(rpcLaddr, "trade.CreateRawTradeBuyTx", params, nil)
...@@ -603,12 +625,22 @@ func addTokenSellRevokeFlags(cmd *cobra.Command) { ...@@ -603,12 +625,22 @@ func addTokenSellRevokeFlags(cmd *cobra.Command) {
func tokenSellRevoke(cmd *cobra.Command, args []string) { func tokenSellRevoke(cmd *cobra.Command, args []string) {
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
sellID, _ := cmd.Flags().GetString("sell_id") sellID, _ := cmd.Flags().GetString("sell_id")
fee, _ := cmd.Flags().GetFloat64("fee")
feeInt64 := int64(fee * 1e4) cfg, err := commandtypes.GetChainConfig(rpcLaddr)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "GetChainConfig"))
return
}
fee, _ := cmd.Flags().GetFloat64("fee")
feeInt64, err := types.FormatFloatDisplay2Value(fee, cfg.CoinPrecision)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "FormatFloatDisplay2Value.fee"))
return
}
params := &pty.TradeRevokeTx{ params := &pty.TradeRevokeTx{
SellID: sellID, SellID: sellID,
Fee: feeInt64 * 1e4, Fee: feeInt64,
} }
ctx := jsonrpc.NewRPCCtx(rpcLaddr, "trade.CreateRawTradeRevokeTx", params, nil) ctx := jsonrpc.NewRPCCtx(rpcLaddr, "trade.CreateRawTradeRevokeTx", params, nil)
...@@ -662,16 +694,30 @@ func tokenBuyLimit(cmd *cobra.Command, args []string) { ...@@ -662,16 +694,30 @@ func tokenBuyLimit(cmd *cobra.Command, args []string) {
exec = "token" exec = "token"
} }
priceInt64 := int64(price * 1e4) cfg, err := commandtypes.GetChainConfig(rpcLaddr)
feeInt64 := int64(fee * 1e4) if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "GetChainConfig"))
return
}
priceInt64, err := types.FormatFloatDisplay2Value(price, cfg.CoinPrecision)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "FormatFloatDisplay2Value.price"))
return
}
feeInt64, err := types.FormatFloatDisplay2Value(fee, cfg.CoinPrecision)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "FormatFloatDisplay2Value.fee"))
return
}
totalInt64 := int64(total * 1e8 / 1e6) totalInt64 := int64(total * 1e8 / 1e6)
params := &pty.TradeBuyLimitTx{ params := &pty.TradeBuyLimitTx{
TokenSymbol: symbol, TokenSymbol: symbol,
AmountPerBoardlot: 1e6, AmountPerBoardlot: 1e6,
MinBoardlot: min, MinBoardlot: min,
PricePerBoardlot: priceInt64 * 1e4, PricePerBoardlot: priceInt64,
TotalBoardlot: totalInt64, TotalBoardlot: totalInt64,
Fee: feeInt64 * 1e4, Fee: feeInt64,
AssetExec: exec, AssetExec: exec,
PriceExec: priceExec, PriceExec: priceExec,
PriceSymbol: priceSymbol, PriceSymbol: priceSymbol,
...@@ -703,14 +749,22 @@ func addSellMarketFlags(cmd *cobra.Command) { ...@@ -703,14 +749,22 @@ func addSellMarketFlags(cmd *cobra.Command) {
func sellMarket(cmd *cobra.Command, args []string) { func sellMarket(cmd *cobra.Command, args []string) {
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
buyID, _ := cmd.Flags().GetString("buy_id") buyID, _ := cmd.Flags().GetString("buy_id")
fee, _ := cmd.Flags().GetFloat64("fee")
count, _ := cmd.Flags().GetInt64("count") count, _ := cmd.Flags().GetInt64("count")
cfg, err := commandtypes.GetChainConfig(rpcLaddr)
feeInt64 := int64(fee * 1e4) if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "GetChainConfig"))
return
}
fee, _ := cmd.Flags().GetFloat64("fee")
feeInt64, err := types.FormatFloatDisplay2Value(fee, cfg.CoinPrecision)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "FormatFloatDisplay2Value.fee"))
return
}
params := &pty.TradeSellMarketTx{ params := &pty.TradeSellMarketTx{
BuyID: buyID, BuyID: buyID,
BoardlotCnt: count, BoardlotCnt: count,
Fee: feeInt64 * 1e4, Fee: feeInt64,
} }
ctx := jsonrpc.NewRPCCtx(rpcLaddr, "trade.CreateRawTradeSellMarketTx", params, nil) ctx := jsonrpc.NewRPCCtx(rpcLaddr, "trade.CreateRawTradeSellMarketTx", params, nil)
......
...@@ -8,10 +8,12 @@ import ( ...@@ -8,10 +8,12 @@ import (
"bytes" "bytes"
"encoding/json" "encoding/json"
"fmt" "fmt"
"math"
"os" "os"
"strings" "strings"
cmdtypes "github.com/33cn/chain33/system/dapp/commands/types"
"github.com/pkg/errors"
"github.com/33cn/chain33/rpc/jsonclient" "github.com/33cn/chain33/rpc/jsonclient"
rpctypes "github.com/33cn/chain33/rpc/types" rpctypes "github.com/33cn/chain33/rpc/types"
"github.com/spf13/cobra" "github.com/spf13/cobra"
...@@ -73,7 +75,7 @@ func checkAmount(amount float64) error { ...@@ -73,7 +75,7 @@ func checkAmount(amount float64) error {
return nil return nil
} }
func getCreateFlags(cmd *cobra.Command) (*pty.UnfreezeCreate, error) { func getCreateFlags(cmd *cobra.Command, cfg *rpctypes.ChainConfigInfo) (*pty.UnfreezeCreate, error) {
beneficiary, _ := cmd.Flags().GetString("beneficiary") beneficiary, _ := cmd.Flags().GetString("beneficiary")
exec, _ := cmd.Flags().GetString("asset_exec") exec, _ := cmd.Flags().GetString("asset_exec")
symbol, _ := cmd.Flags().GetString("asset_symbol") symbol, _ := cmd.Flags().GetString("asset_symbol")
...@@ -83,7 +85,11 @@ func getCreateFlags(cmd *cobra.Command) (*pty.UnfreezeCreate, error) { ...@@ -83,7 +85,11 @@ func getCreateFlags(cmd *cobra.Command) (*pty.UnfreezeCreate, error) {
if err := checkAmount(total); err != nil { if err := checkAmount(total); err != nil {
return nil, types.ErrAmount return nil, types.ErrAmount
} }
totalInt64 := int64(math.Trunc((total+0.0000001)*1e4)) * 1e4 totalInt64, err := types.FormatFloatDisplay2Value(total, cfg.CoinPrecision)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "FormatFloatDisplay2Value"))
return nil, types.ErrAmount
}
unfreeze := &pty.UnfreezeCreate{ unfreeze := &pty.UnfreezeCreate{
StartTime: startTs, StartTime: startTs,
...@@ -112,10 +118,15 @@ func fixAmountCmd() *cobra.Command { ...@@ -112,10 +118,15 @@ func fixAmountCmd() *cobra.Command {
} }
func fixAmount(cmd *cobra.Command, args []string) { func fixAmount(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
cfg := types.GetCliSysParam(title) rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
create, err := getCreateFlags(cmd) cfg, err := cmdtypes.GetChainConfig(rpcLaddr)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "GetChainConfig"))
return
}
create, err := getCreateFlags(cmd, cfg)
if err != nil { if err != nil {
fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, err)
return return
...@@ -126,7 +137,11 @@ func fixAmount(cmd *cobra.Command, args []string) { ...@@ -126,7 +137,11 @@ func fixAmount(cmd *cobra.Command, args []string) {
fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, err)
return return
} }
amountInt64 := int64(math.Trunc((amount+0.0000001)*1e4)) * 1e4 amountInt64, err := types.FormatFloatDisplay2Value(amount, cfg.CoinPrecision)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "FormatFloatDisplay2Value.amount"))
return
}
period, _ := cmd.Flags().GetInt64("period") period, _ := cmd.Flags().GetInt64("period")
if period <= 0 { if period <= 0 {
...@@ -143,12 +158,11 @@ func fixAmount(cmd *cobra.Command, args []string) { ...@@ -143,12 +158,11 @@ func fixAmount(cmd *cobra.Command, args []string) {
create.MeansOpt = &pty.UnfreezeCreate_FixAmount{FixAmount: &pty.FixAmount{Period: period, Amount: amountInt64}} create.MeansOpt = &pty.UnfreezeCreate_FixAmount{FixAmount: &pty.FixAmount{Period: period, Amount: amountInt64}}
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(pty.UnfreezeX), Execer: types.GetExecName(pty.UnfreezeX, paraName),
ActionName: "createUnfreeze", ActionName: "createUnfreeze",
Payload: types.MustPBToJSON(create), Payload: types.MustPBToJSON(create),
} }
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
ctx := jsonclient.NewRPCCtx(rpcLaddr, "Chain33.CreateTransaction", params, nil) ctx := jsonclient.NewRPCCtx(rpcLaddr, "Chain33.CreateTransaction", params, nil)
ctx.RunWithoutMarshal() ctx.RunWithoutMarshal()
} }
...@@ -169,10 +183,15 @@ func leftCmd() *cobra.Command { ...@@ -169,10 +183,15 @@ func leftCmd() *cobra.Command {
} }
func left(cmd *cobra.Command, args []string) { func left(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
cfg := types.GetCliSysParam(title) rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
cfg, err := cmdtypes.GetChainConfig(rpcLaddr)
if err != nil {
fmt.Fprintln(os.Stderr, errors.Wrapf(err, "GetChainConfig"))
return
}
create, err := getCreateFlags(cmd) create, err := getCreateFlags(cmd, cfg)
if err != nil { if err != nil {
fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, err)
return return
...@@ -195,12 +214,11 @@ func left(cmd *cobra.Command, args []string) { ...@@ -195,12 +214,11 @@ func left(cmd *cobra.Command, args []string) {
} }
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(pty.UnfreezeX), Execer: types.GetExecName(pty.UnfreezeX, paraName),
ActionName: pty.Action_CreateUnfreeze, ActionName: pty.Action_CreateUnfreeze,
Payload: types.MustPBToJSON(create), Payload: types.MustPBToJSON(create),
} }
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
ctx := jsonclient.NewRPCCtx(rpcLaddr, "Chain33.CreateTransaction", params, nil) ctx := jsonclient.NewRPCCtx(rpcLaddr, "Chain33.CreateTransaction", params, nil)
ctx.RunWithoutMarshal() ctx.RunWithoutMarshal()
} }
...@@ -254,13 +272,12 @@ func queryWithdrawCmd() *cobra.Command { ...@@ -254,13 +272,12 @@ func queryWithdrawCmd() *cobra.Command {
} }
func withdraw(cmd *cobra.Command, args []string) { func withdraw(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
cfg := types.GetCliSysParam(title)
id, _ := cmd.Flags().GetString("id") id, _ := cmd.Flags().GetString("id")
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(pty.UnfreezeX), Execer: types.GetExecName(pty.UnfreezeX, paraName),
ActionName: pty.Action_WithdrawUnfreeze, ActionName: pty.Action_WithdrawUnfreeze,
Payload: types.MustPBToJSON(&pty.UnfreezeWithdraw{UnfreezeID: id}), Payload: types.MustPBToJSON(&pty.UnfreezeWithdraw{UnfreezeID: id}),
} }
...@@ -271,13 +288,12 @@ func withdraw(cmd *cobra.Command, args []string) { ...@@ -271,13 +288,12 @@ func withdraw(cmd *cobra.Command, args []string) {
} }
func terminate(cmd *cobra.Command, args []string) { func terminate(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
cfg := types.GetCliSysParam(title)
id, _ := cmd.Flags().GetString("id") id, _ := cmd.Flags().GetString("id")
params := &rpctypes.CreateTxIn{ params := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(pty.UnfreezeX), Execer: types.GetExecName(pty.UnfreezeX, paraName),
ActionName: pty.Action_TerminateUnfreeze, ActionName: pty.Action_TerminateUnfreeze,
Payload: types.MustPBToJSON(&pty.UnfreezeTerminate{UnfreezeID: id}), Payload: types.MustPBToJSON(&pty.UnfreezeTerminate{UnfreezeID: id}),
} }
......
...@@ -12,6 +12,8 @@ import ( ...@@ -12,6 +12,8 @@ import (
"strconv" "strconv"
"time" "time"
"github.com/33cn/chain33/common/address"
"github.com/33cn/chain33/common/crypto" "github.com/33cn/chain33/common/crypto"
"github.com/33cn/chain33/rpc/jsonclient" "github.com/33cn/chain33/rpc/jsonclient"
rpctypes "github.com/33cn/chain33/rpc/types" rpctypes "github.com/33cn/chain33/rpc/types"
...@@ -168,8 +170,6 @@ func addNodeFlags(cmd *cobra.Command) { ...@@ -168,8 +170,6 @@ func addNodeFlags(cmd *cobra.Command) {
} }
func addNode(cmd *cobra.Command, args []string) { func addNode(cmd *cobra.Command, args []string) {
title, _ := cmd.Flags().GetString("title")
cfg := types.GetCliSysParam(title)
pubkey, _ := cmd.Flags().GetString("pubkey") pubkey, _ := cmd.Flags().GetString("pubkey")
power, _ := cmd.Flags().GetInt64("power") power, _ := cmd.Flags().GetInt64("power")
...@@ -180,12 +180,12 @@ func addNode(cmd *cobra.Command, args []string) { ...@@ -180,12 +180,12 @@ func addNode(cmd *cobra.Command, args []string) {
} }
value := &vt.ValNodeAction_Node{Node: &vt.ValNode{PubKey: pubkeybyte, Power: power}} value := &vt.ValNodeAction_Node{Node: &vt.ValNode{PubKey: pubkeybyte, Power: power}}
action := &vt.ValNodeAction{Value: value, Ty: vt.ValNodeActionUpdate} action := &vt.ValNodeAction{Value: value, Ty: vt.ValNodeActionUpdate}
tx := &types.Transaction{Payload: types.Encode(action)} tx := &types.Transaction{
tx, err = types.FormatTx(cfg, vt.ValNodeX, tx) Payload: types.Encode(action),
if err != nil { Nonce: rand.Int63(),
fmt.Fprintln(os.Stderr, err) Execer: []byte(vt.ValNodeX),
return
} }
tx.To = address.ExecAddress(string(tx.Execer))
txHex := types.Encode(tx) txHex := types.Encode(tx)
fmt.Println(hex.EncodeToString(txHex)) fmt.Println(hex.EncodeToString(txHex))
} }
......
...@@ -46,12 +46,11 @@ func markRequired(cmd *cobra.Command, params ...string) { ...@@ -46,12 +46,11 @@ func markRequired(cmd *cobra.Command, params ...string) {
} }
func sendCreateTxRPC(cmd *cobra.Command, actionName string, req types.Message) { func sendCreateTxRPC(cmd *cobra.Command, actionName string, req types.Message) {
title, _ := cmd.Flags().GetString("title")
cfg := types.GetCliSysParam(title)
rpcAddr, _ := cmd.Flags().GetString("rpc_laddr") rpcAddr, _ := cmd.Flags().GetString("rpc_laddr")
paraName, _ := cmd.Flags().GetString("paraName")
payLoad := types.MustPBToJSON(req) payLoad := types.MustPBToJSON(req)
pm := &rpctypes.CreateTxIn{ pm := &rpctypes.CreateTxIn{
Execer: cfg.ExecName(vty.VoteX), Execer: types.GetExecName(vty.VoteX, paraName),
ActionName: actionName, ActionName: actionName,
Payload: payLoad, Payload: payLoad,
} }
...@@ -62,12 +61,11 @@ func sendCreateTxRPC(cmd *cobra.Command, actionName string, req types.Message) { ...@@ -62,12 +61,11 @@ func sendCreateTxRPC(cmd *cobra.Command, actionName string, req types.Message) {
} }
func sendQueryRPC(cmd *cobra.Command, funcName string, req, reply types.Message) { func sendQueryRPC(cmd *cobra.Command, funcName string, req, reply types.Message) {
title, _ := cmd.Flags().GetString("title")
cfg := types.GetCliSysParam(title)
rpcAddr, _ := cmd.Flags().GetString("rpc_laddr") rpcAddr, _ := cmd.Flags().GetString("rpc_laddr")
paraName, _ := cmd.Flags().GetString("paraName")
payLoad := types.MustPBToJSON(req) payLoad := types.MustPBToJSON(req)
query := &rpctypes.Query4Jrpc{ query := &rpctypes.Query4Jrpc{
Execer: cfg.ExecName(vty.VoteX), Execer: types.GetExecName(vty.VoteX, paraName),
FuncName: funcName, FuncName: funcName,
Payload: payLoad, Payload: payLoad,
} }
......
...@@ -397,12 +397,11 @@ func queryRelayerBalance(cmd *cobra.Command, args []string) { ...@@ -397,12 +397,11 @@ func queryRelayerBalance(cmd *cobra.Command, args []string) {
} }
func createTx(cmd *cobra.Command, payLoad []byte, action string) { func createTx(cmd *cobra.Command, payLoad []byte, action string) {
title, _ := cmd.Flags().GetString("title") paraName, _ := cmd.Flags().GetString("paraName")
cfg := types.GetCliSysParam(title)
rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr") rpcLaddr, _ := cmd.Flags().GetString("rpc_laddr")
pm := &types2.CreateTxIn{ pm := &types2.CreateTxIn{
Execer: cfg.ExecName(types3.X2ethereumX), Execer: types.GetExecName(types3.X2ethereumX, paraName),
ActionName: action, ActionName: action,
Payload: payLoad, Payload: payLoad,
} }
......
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