Commit 8253c6eb authored by linj's avatar linj

remove code : convert types from receipt

parent 4b959aa2
...@@ -183,121 +183,6 @@ func (t *trade) GetOnesBuyOrdersWithStatus(req *pty.ReqAddrAssets) (types.Messag ...@@ -183,121 +183,6 @@ func (t *trade) GetOnesBuyOrdersWithStatus(req *pty.ReqAddrAssets) (types.Messag
} }
// utils // utils
func (t *trade) loadOrderFromKey(key []byte) *pty.ReplyTradeOrder {
tradelog.Debug("trade Query", "id", string(key), "check-prefix", sellIDPrefix)
if strings.HasPrefix(string(key), sellIDPrefix) {
txHash := strings.Replace(string(key), sellIDPrefix, "0x", 1)
txResult, err := getTx([]byte(txHash), t.GetLocalDB(), t.GetAPI())
tradelog.Debug("loadOrderFromKey ", "load txhash", txResult)
if err != nil {
return nil
}
reply := limitOrderTxResult2Order(txResult)
sellOrder, err := getSellOrderFromID(key, t.GetStateDB())
tradelog.Debug("trade Query", "getSellOrderFromID", string(key))
if err != nil {
return nil
}
reply.TradedBoardlot = sellOrder.SoldBoardlot
reply.Status = sellOrder.Status
return reply
} else if strings.HasPrefix(string(key), buyIDPrefix) {
txHash := strings.Replace(string(key), buyIDPrefix, "0x", 1)
txResult, err := getTx([]byte(txHash), t.GetLocalDB(), t.GetAPI())
tradelog.Debug("loadOrderFromKey ", "load txhash", txResult)
if err != nil {
return nil
}
reply := limitOrderTxResult2Order(txResult)
buyOrder, err := getBuyOrderFromID(key, t.GetStateDB())
if err != nil {
return nil
}
reply.TradedBoardlot = buyOrder.BoughtBoardlot
reply.Status = buyOrder.Status
return reply
}
txResult, err := getTx(key, t.GetLocalDB(), t.GetAPI())
tradelog.Debug("loadOrderFromKey ", "load txhash", string(key))
if err != nil {
return nil
}
return txResult2OrderReply(txResult)
}
func limitOrderTxResult2Order(txResult *types.TxResult) *pty.ReplyTradeOrder {
logs := txResult.Receiptdate.Logs
tradelog.Debug("txResult2sellOrderReply", "show logs", logs)
for _, log := range logs {
if log.Ty == pty.TyLogTradeSellLimit {
var receipt pty.ReceiptTradeSellLimit
err := types.Decode(log.Log, &receipt)
if err != nil {
tradelog.Error("txResult2sellOrderReply", "decode receipt", err)
return nil
}
tradelog.Debug("txResult2sellOrderReply", "show logs 1 ", receipt)
return sellBase2Order(receipt.Base, common.ToHex(txResult.GetTx().Hash()), txResult.Blocktime)
} else if log.Ty == pty.TyLogTradeBuyLimit {
var receipt pty.ReceiptTradeBuyLimit
err := types.Decode(log.Log, &receipt)
if err != nil {
tradelog.Error("txResult2sellOrderReply", "decode receipt", err)
return nil
}
tradelog.Debug("txResult2sellOrderReply", "show logs 1 ", receipt)
return buyBase2Order(receipt.Base, common.ToHex(txResult.GetTx().Hash()), txResult.Blocktime)
}
}
return nil
}
func txResult2OrderReply(txResult *types.TxResult) *pty.ReplyTradeOrder {
logs := txResult.Receiptdate.Logs
tradelog.Debug("txResult2sellOrderReply", "show logs", logs)
for _, log := range logs {
if log.Ty == pty.TyLogTradeBuyMarket {
var receipt pty.ReceiptTradeBuyMarket
err := types.Decode(log.Log, &receipt)
if err != nil {
tradelog.Error("txResult2sellOrderReply", "decode receipt", err)
return nil
}
tradelog.Debug("txResult2sellOrderReply", "show logs 1 ", receipt)
return buyBase2Order(receipt.Base, common.ToHex(txResult.GetTx().Hash()), txResult.Blocktime)
} else if log.Ty == pty.TyLogTradeBuyRevoke {
var receipt pty.ReceiptTradeBuyRevoke
err := types.Decode(log.Log, &receipt)
if err != nil {
tradelog.Error("txResult2sellOrderReply", "decode receipt", err)
return nil
}
tradelog.Debug("txResult2sellOrderReply", "show logs 1 ", receipt)
return buyBase2Order(receipt.Base, common.ToHex(txResult.GetTx().Hash()), txResult.Blocktime)
} else if log.Ty == pty.TyLogTradeSellRevoke {
var receipt pty.ReceiptTradeSellRevoke
err := types.Decode(log.Log, &receipt)
if err != nil {
tradelog.Error("txResult2sellOrderReply", "decode receipt", err)
return nil
}
tradelog.Debug("txResult2sellOrderReply", "show revoke 1 ", receipt)
return sellBase2Order(receipt.Base, common.ToHex(txResult.GetTx().Hash()), txResult.Blocktime)
} else if log.Ty == pty.TyLogTradeSellMarket {
var receipt pty.ReceiptSellMarket
err := types.Decode(log.Log, &receipt)
if err != nil {
tradelog.Error("txResult2sellOrderReply", "decode receipt", err)
return nil
}
tradelog.Debug("txResult2sellOrderReply", "show logs 1 ", receipt)
return sellBase2Order(receipt.Base, common.ToHex(txResult.GetTx().Hash()), txResult.Blocktime)
}
}
return nil
}
// SellMarkMarket BuyMarket 没有tradeOrder 需要调用这个函数进行转化 // SellMarkMarket BuyMarket 没有tradeOrder 需要调用这个函数进行转化
// BuyRevoke, SellRevoke 也需要 // BuyRevoke, SellRevoke 也需要
......
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