Commit 16652f7b authored by mdj33's avatar mdj33 Committed by vipwzw

asset transfer tx improve

parent 5184c2f1
...@@ -112,7 +112,8 @@ func createAssetWithdraw(cmd *cobra.Command, args []string) { ...@@ -112,7 +112,8 @@ 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("paraName") title, _ := cmd.Flags().GetString("title")
//这里cfg除了里面FormatTx需要外,没其他作用,平行链执行器需要的参数已经填好了,这里title就是默认空就可以,支持主链构建平行链交易
cfg := types.GetCliSysParam(title) cfg := types.GetCliSysParam(title)
amount, _ := cmd.Flags().GetFloat64("amount") amount, _ := cmd.Flags().GetFloat64("amount")
...@@ -125,11 +126,12 @@ func createAssetTx(cmd *cobra.Command, isWithdraw bool) (string, error) { ...@@ -125,11 +126,12 @@ func createAssetTx(cmd *cobra.Command, isWithdraw bool) (string, error) {
note, _ := cmd.Flags().GetString("note") note, _ := cmd.Flags().GetString("note")
symbol, _ := cmd.Flags().GetString("symbol") symbol, _ := cmd.Flags().GetString("symbol")
if !strings.HasPrefix(title, "user.p") { paraName, _ := cmd.Flags().GetString("paraName")
if !strings.HasPrefix(paraName, "user.p") {
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 := title + pt.ParaX execName := paraName + pt.ParaX
param := types.CreateTx{ param := types.CreateTx{
To: toAddr, To: toAddr,
......
...@@ -181,7 +181,7 @@ func makeRecordReceipt(addr string, commit *pt.ParacrossCommitAction) *types.Rec ...@@ -181,7 +181,7 @@ func makeRecordReceipt(addr string, commit *pt.ParacrossCommitAction) *types.Rec
} }
} }
func makeDoneReceipt(cfg *types.Chain33Config, execMainHeight int64, commit *pt.ParacrossNodeStatus, func makeDoneReceipt(cfg *types.Chain33Config, execMainHeight, execHeight int64, commit *pt.ParacrossNodeStatus,
most, commitCount, totalCount int32) *types.Receipt { most, commitCount, totalCount int32) *types.Receipt {
log := &pt.ReceiptParacrossDone{ log := &pt.ReceiptParacrossDone{
...@@ -194,6 +194,7 @@ func makeDoneReceipt(cfg *types.Chain33Config, execMainHeight int64, commit *pt. ...@@ -194,6 +194,7 @@ func makeDoneReceipt(cfg *types.Chain33Config, execMainHeight int64, commit *pt.
TxResult: commit.TxResult, TxResult: commit.TxResult,
MainBlockHeight: commit.MainBlockHeight, MainBlockHeight: commit.MainBlockHeight,
MainBlockHash: commit.MainBlockHash, MainBlockHash: commit.MainBlockHash,
ChainExecHeight: execHeight,
} }
key := calcTitleKey(commit.Title) key := calcTitleKey(commit.Title)
status := &pt.ParacrossStatus{ status := &pt.ParacrossStatus{
...@@ -511,7 +512,7 @@ func (a *action) commitTxDone(nodeStatus *pt.ParacrossNodeStatus, stat *pt.Parac ...@@ -511,7 +512,7 @@ func (a *action) commitTxDone(nodeStatus *pt.ParacrossNodeStatus, stat *pt.Parac
} }
//add commit done receipt //add commit done receipt
receiptDone := makeDoneReceipt(cfg, a.exec.GetMainHeight(), nodeStatus, int32(most), int32(commitCount), int32(len(nodes))) receiptDone := makeDoneReceipt(cfg, a.exec.GetMainHeight(), a.height, nodeStatus, int32(most), int32(commitCount), int32(len(nodes)))
receipt = mergeReceipt(receipt, receiptDone) receipt = mergeReceipt(receipt, receiptDone)
r, err := a.commitTxDoneStep2(nodeStatus, stat, titleStatus) r, err := a.commitTxDoneStep2(nodeStatus, stat, titleStatus)
...@@ -696,7 +697,7 @@ func (a *action) commitTxDoneByStat(stat *pt.ParacrossHeightStatus, titleStatus ...@@ -696,7 +697,7 @@ func (a *action) commitTxDoneByStat(stat *pt.ParacrossHeightStatus, titleStatus
//add commit done receipt //add commit done receipt
cfg := a.api.GetConfig() cfg := a.api.GetConfig()
receiptDone := makeDoneReceipt(cfg, a.exec.GetMainHeight(), mostStatus, int32(most), int32(commitCount), int32(len(nodes))) receiptDone := makeDoneReceipt(cfg, a.exec.GetMainHeight(), a.height, mostStatus, int32(most), int32(commitCount), int32(len(nodes)))
receipt = mergeReceipt(receipt, receiptDone) receipt = mergeReceipt(receipt, receiptDone)
r, err := a.commitTxDoneStep2(mostStatus, stat, titleStatus) r, err := a.commitTxDoneStep2(mostStatus, stat, titleStatus)
......
...@@ -30,7 +30,6 @@ func (e *Paracross) ExecLocal_Commit(payload *pt.ParacrossCommitAction, tx *type ...@@ -30,7 +30,6 @@ func (e *Paracross) ExecLocal_Commit(payload *pt.ParacrossCommitAction, tx *type
} else if log.Ty == pt.TyLogParacrossCommitDone { } else if log.Ty == pt.TyLogParacrossCommitDone {
var g pt.ReceiptParacrossDone var g pt.ReceiptParacrossDone
types.Decode(log.Log, &g) types.Decode(log.Log, &g)
g.ChainExecHeight = e.GetHeight()
key := calcLocalTitleKey(g.Title) key := calcLocalTitleKey(g.Title)
set.KV = append(set.KV, &types.KeyValue{Key: key, Value: types.Encode(&g)}) set.KV = append(set.KV, &types.KeyValue{Key: key, Value: types.Encode(&g)})
......
...@@ -295,12 +295,13 @@ func listLocalTitles(db dbm.KVDB) (types.Message, error) { ...@@ -295,12 +295,13 @@ func listLocalTitles(db dbm.KVDB) (types.Message, error) {
panic(err) panic(err)
} }
rst := &pt.RespParacrossDone{ rst := &pt.RespParacrossDone{
TotalNodes: st.TotalNodes, TotalNodes: st.TotalNodes,
TotalCommit: st.TotalCommit, TotalCommit: st.TotalCommit,
MostSameCommit: st.MostSameCommit, MostSameCommit: st.MostSameCommit,
Title: st.Title, Title: st.Title,
Height: st.Height, Height: st.Height,
TxResult: string(st.TxResult), ChainExecHeight: st.ChainExecHeight,
TxResult: string(st.TxResult),
} }
resp.Titles = append(resp.Titles, rst) resp.Titles = append(resp.Titles, rst)
......
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