Commit 62f37a0f authored by linj's avatar linj Committed by vipwzw

price: update sell

parent dc5571de
......@@ -61,6 +61,8 @@ func (selldb *sellDB) getSellLogs(tradeType int32, txhash string) *types.Receipt
TxHash: txhash,
Height: selldb.Height,
AssetExec: selldb.AssetExec,
PriceExec: selldb.GetPriceExec(),
PriceSymbol: selldb.GetPriceSymbol(),
}
if pty.TyLogTradeSellLimit == tradeType {
receiptTrade := &pty.ReceiptTradeSellLimit{Base: base}
......@@ -262,6 +264,12 @@ func (action *tradeAction) tradeSell(sell *pty.TradeForSell) (*types.Receipt, er
if !checkAsset(action.height, sell.AssetExec, sell.TokenSymbol) {
return nil, types.ErrInvalidParam
}
if !checkPrice(action.height, sell.PriceExec, sell.PriceExec) {
return nil, types.ErrInvalidParam
}
if !notSameAsset(action.height, sell.AssetExec, sell.TokenSymbol, sell.PriceExec, sell.PriceExec) {
return nil, pty.ErrAssetAndPriceSame
}
accDB, err := createAccountDB(action.height, action.db, sell.AssetExec, sell.TokenSymbol)
if err != nil {
......@@ -292,6 +300,8 @@ func (action *tradeAction) tradeSell(sell *pty.TradeForSell) (*types.Receipt, er
Status: pty.TradeOrderStatusOnSale,
Height: action.height,
AssetExec: sell.AssetExec,
PriceExec: sell.GetPriceExec(),
PriceSymbol: sell.GetPriceSymbol(),
}
tokendb := newSellDB(sellOrder)
......
......@@ -47,6 +47,28 @@ func checkAsset(height int64, exec, symbol string) bool {
return true
}
func checkPrice(height int64, exec, symbol string) bool {
if types.IsDappFork(height, pt.TradeX, pt.ForkTradePriceX) {
if exec == "" || symbol == "" {
return false
}
} else {
if exec != "" || symbol != "" {
return false
}
}
return true
}
func notSameAsset(height int64, assetExec, assetSymbol, priceExec, priceSymbol string) bool {
if types.IsDappFork(height, pt.TradeX, pt.ForkTradePriceX) {
if assetExec == priceExec && assetSymbol == priceSymbol {
return false
}
}
return true
}
func createAccountDB(height int64, db db.KV, exec, symbol string) (*account.DB, error) {
if types.IsDappFork(height, pt.TradeX, pt.ForkTradeFixAssetDBX) {
if exec == "" {
......
......@@ -37,4 +37,6 @@ var (
ErrTBuyOrderRevoke = errors.New("ErrTradeBuyOrderRevokeNotAllowed")
//ErrTCntLessThanMinBoardlot :
ErrTCntLessThanMinBoardlot = errors.New("ErrTradeCountLessThanMinBoardlot")
// ErrAssetAndPriceSame :
ErrAssetAndPriceSame = errors.New("ErrAssetAndPriceSame")
)
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