Commit 6bdad40a authored by cxb's avatar cxb Committed by vipwzw

fix bug for revokeOrder

parent 934cd0a7
......@@ -431,6 +431,7 @@ banks = ["1PTGVR7TUm1MJUH7M1UNcKBGMvfJ7nCrnN"]#Fee
#minFee最小手续费,配置时需*1e8(如:最小手续费收取1个,minFee=100000000)
coins = [
{ name = "bty", rate = 100000, minFee = 0 },
{ name = "coins.bty", rate = 100000, minFee = 0 },
{ name = "ETH", rate = 100000, minFee = 0 },
{ name = "USDT", rate = 100000, minFee = 0 },
]
......
......@@ -432,6 +432,7 @@ banks = ["1PTGVR7TUm1MJUH7M1UNcKBGMvfJ7nCrnN"]#Fee
#minFee最小手续费,配置时需*1e8(如:最小手续费收取1个,minFee=100000000)
coins = [
{ name = "bty", rate = 100000, minFee = 0 },
{ name = "coins.bty", rate = 100000, minFee = 0 },
{ name = "ETH", rate = 100000, minFee = 0 },
{ name = "USDT", rate = 100000, minFee = 0 },
]
......
......@@ -347,6 +347,7 @@ banks = ["1PTGVR7TUm1MJUH7M1UNcKBGMvfJ7nCrnN"]#Fee
#minFee最小手续费,配置时需*1e8(如:最小手续费收取1个,minFee=100000000)
coins = [
{ name = "bty", rate = 100000, minFee = 0 },
{ name = "coins.bty", rate = 100000, minFee = 0 },
{ name = "ETH", rate = 100000, minFee = 0 },
{ name = "USDT", rate = 100000, minFee = 0 },
]
\ No newline at end of file
......@@ -564,14 +564,9 @@ func (a *Action) matchModel(leftAccountDB, rightAccountDB *account.DB, payload *
return logs, kvs, nil
}
//根据订单号查询,分为两步,优先去localdb中查询,如没有则再去状态数据库中查询
// 1.挂单中得订单信会根据orderID在localdb中存储
// 2.订单撤销,或者成交后,根据orderID在localdb中存储得数据会被删除,这时只能到状态数据库中查询
//根据订单号去状态数据库中查询
// 1.localdb删除顺序,先实时删除缓存,区块生成时统一修改db。会导致缓存数据被删除但查询时缓存查询不到会去db查询依旧可以查询到删除的数据
func findOrderByOrderID(statedb dbm.KV, localdb dbm.KV, orderID int64) (*et.Order, error) {
table := NewMarketOrderTable(localdb)
primaryKey := []byte(fmt.Sprintf("%022d", orderID))
row, err := table.GetData(primaryKey)
if err != nil {
data, err := statedb.Get(calcOrderKey(orderID))
if err != nil {
elog.Error("findOrderByOrderID.Get", "orderID", orderID, "err", err.Error())
......@@ -585,10 +580,6 @@ func findOrderByOrderID(statedb dbm.KV, localdb dbm.KV, orderID int64) (*et.Orde
}
order.Executed = order.GetLimitOrder().Amount - order.Balance
return &order, nil
}
order := row.Data.(*et.Order)
order.Executed = order.GetLimitOrder().Amount - order.Balance
return order, nil
}
func findOrderIDListByPrice(localdb dbm.KV, left, right *et.Asset, price int64, op, direction int32, primaryKey string) (*et.OrderList, error) {
......
package executor
import (
"fmt"
"github.com/33cn/chain33/common/db/table"
"github.com/33cn/chain33/types"
ety "github.com/33cn/plugin/plugin/dapp/exchange/types"
......@@ -191,10 +192,10 @@ func (e *exchange) updateOrder(marketTable, orderTable, historyTable *table.Tabl
}
}
//删除原有状态orderID
order.Status = ety.Ordered
err = orderTable.DelRow(order)
primaryKey := []byte(fmt.Sprintf("%022d", order.OrderID))
err = orderTable.Del(primaryKey)
if err != nil {
elog.Error("updateIndex", "orderTable.DelRow", err.Error())
elog.Error("updateIndex", "orderTable.Del", err.Error())
return err
}
order.Status = ety.Revoked
......
......@@ -273,16 +273,5 @@ coins = [
{name = "CCNY", rate = 100000, minFee = 0},
]
#[mver.exec.sub.exchange.ForkParamV1]
#banks = [
# "1PTGVR7TUm1MJUH7M1UNcKBGMvfJ7nCrnN"
#]
#coins = [
# {name = "bty", rate = 100000, minFee = 1000000},
# {name = "CCNY", rate = 100000, minFee = 1000000},
#]
[fork.sub.exchange]
Enable=0
\ No newline at end of file
#ForkParamV1=1
\ No newline at end of file
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