Golang implemented sidechain for Bytom
リビジョン | e69bba336ad5c99da6bddc1d20d33d435556c89e (tree) |
---|---|
日時 | 2019-11-01 17:57:23 |
作者 | shenao78 <shenao.78@163....> |
コミッター | shenao78 |
fix order table
@@ -85,7 +85,7 @@ func NewOrderFromInput(tx *types.Tx, inputIndex int) (*Order, error) { | ||
85 | 85 | }, nil |
86 | 86 | } |
87 | 87 | |
88 | -func (o *Order) GetTradePair() *TradePair { | |
88 | +func (o *Order) TradePair() *TradePair { | |
89 | 89 | return &TradePair{FromAssetID: o.FromAssetID, ToAssetID: o.ToAssetID} |
90 | 90 | } |
91 | 91 |
@@ -69,13 +69,13 @@ func (o *OrderTable) PopOrder(tradePair *common.TradePair) { | ||
69 | 69 | } |
70 | 70 | |
71 | 71 | arrivalOrders := o.arrivalAddOrders[tradePair.Key()] |
72 | - if len(arrivalOrders) != 0 && orders[len(arrivalOrders) - 1].Key() == order.Key() { | |
72 | + if len(arrivalOrders) != 0 && arrivalOrders[len(arrivalOrders) - 1].Key() == order.Key() { | |
73 | 73 | o.arrivalAddOrders[tradePair.Key()] = arrivalOrders[0 : len(arrivalOrders)-1] |
74 | 74 | } |
75 | 75 | } |
76 | 76 | |
77 | 77 | func (o *OrderTable) AddOrder(order *common.Order) error { |
78 | - tradePair := order.GetTradePair() | |
78 | + tradePair := order.TradePair() | |
79 | 79 | orders := o.dbOrders[tradePair.Key()] |
80 | 80 | if len(orders) > 0 && order.Rate > orders[len(orders)-1].Rate { |
81 | 81 | return errors.New("rate of order must less than the min order in order table") |
@@ -109,11 +109,11 @@ func (o *OrderTable) peekArrivalOrder(tradePair *common.TradePair) *common.Order | ||
109 | 109 | func arrangeArrivalAddOrders(orders []*common.Order) map[string][]*common.Order { |
110 | 110 | arrivalAddOrderMap := make(map[string][]*common.Order) |
111 | 111 | for _, order := range orders { |
112 | - arrivalAddOrderMap[order.Key()] = append(arrivalAddOrderMap[order.Key()], order) | |
112 | + arrivalAddOrderMap[order.TradePair().Key()] = append(arrivalAddOrderMap[order.TradePair().Key()], order) | |
113 | 113 | } |
114 | 114 | |
115 | 115 | for _, orders := range arrivalAddOrderMap { |
116 | - sort.Sort(common.OrderSlice(orders)) | |
116 | + sort.Sort(sort.Reverse(common.OrderSlice(orders))) | |
117 | 117 | } |
118 | 118 | return arrivalAddOrderMap |
119 | 119 | } |