From fd407b1868419564e253cfb427a8c8c9690245d8 Mon Sep 17 00:00:00 2001 From: wanwiset25 Date: Tue, 16 Jan 2024 17:19:34 +0400 Subject: [PATCH 1/5] add error catching skeleton --- XDCx/order_processor.go | 59 ++++++++--- XDCx/tradingstate/journal.go | 10 +- XDCx/tradingstate/state_liquidationprice.go | 6 +- XDCx/tradingstate/state_orderbook.go | 15 ++- XDCx/tradingstate/statedb.go | 10 +- XDCxlending/lendingstate/journal.go | 8 +- XDCxlending/lendingstate/state_lendingbook.go | 38 ++++--- XDCxlending/lendingstate/statedb.go | 10 +- XDCxlending/order_processor.go | 98 +++++++++++++++---- 9 files changed, 196 insertions(+), 58 deletions(-) diff --git a/XDCx/order_processor.go b/XDCx/order_processor.go index 8cf48020245e..8bb24f15f49d 100644 --- a/XDCx/order_processor.go +++ b/XDCx/order_processor.go @@ -2,11 +2,12 @@ package XDCx import ( "encoding/json" - "github.com/XinFinOrg/XDPoSChain/core/types" "math/big" "strconv" "time" + "github.com/XinFinOrg/XDPoSChain/core/types" + "github.com/XinFinOrg/XDPoSChain/consensus" "fmt" @@ -303,7 +304,10 @@ func (XDCx *XDCX) processOrderList(coinbase common.Address, chain consensus.Chai } if tradedQuantity.Sign() > 0 { quantityToTrade = tradingstate.Sub(quantityToTrade, tradedQuantity) - tradingStateDB.SubAmountOrderItem(orderBook, orderId, price, tradedQuantity, side) + err := tradingStateDB.SubAmountOrderItem(orderBook, orderId, price, tradedQuantity, side) + if err != nil { + //todo + } tradingStateDB.SetLastPrice(orderBook, price) log.Debug("Update quantity for orderId", "orderId", orderId.Hex()) log.Debug("TRADE", "orderBook", orderBook, "Taker price", price, "maker price", order.Price, "Amount", tradedQuantity, "orderId", orderId, "side", side) @@ -589,11 +593,19 @@ func DoSettleBalance(coinbase common.Address, takerOrder, makerOrder *tradingsta masternodeOwner := statedb.GetOwner(coinbase) statedb.AddBalance(masternodeOwner, matchingFee) - tradingstate.SetTokenBalance(takerOrder.UserAddress, newTakerInTotal, settleBalance.Taker.InToken, statedb) - tradingstate.SetTokenBalance(takerOrder.UserAddress, newTakerOutTotal, settleBalance.Taker.OutToken, statedb) - - tradingstate.SetTokenBalance(makerOrder.UserAddress, newMakerInTotal, settleBalance.Maker.InToken, statedb) - tradingstate.SetTokenBalance(makerOrder.UserAddress, newMakerOutTotal, settleBalance.Maker.OutToken, statedb) + err = tradingstate.SetTokenBalance(takerOrder.UserAddress, newTakerInTotal, settleBalance.Taker.InToken, statedb) + if err != nil { + //todo (just return err or need to do some revert??) + } + err = tradingstate.SetTokenBalance(takerOrder.UserAddress, newTakerOutTotal, settleBalance.Taker.OutToken, statedb) + if err != nil { + } + err = tradingstate.SetTokenBalance(makerOrder.UserAddress, newMakerInTotal, settleBalance.Maker.InToken, statedb) + if err != nil { + } + err = tradingstate.SetTokenBalance(makerOrder.UserAddress, newMakerOutTotal, settleBalance.Maker.OutToken, statedb) + if err != nil { + } // add balance for relayers //log.Debug("ApplyXDCXMatchedTransaction settle fee for relayers", @@ -602,8 +614,12 @@ func DoSettleBalance(coinbase common.Address, takerOrder, makerOrder *tradingsta // "makerRelayerOwner", makerExOwner, // "makerFeeToken", quoteToken, "makerFee", settleBalanceResult[makerAddr][XDCx.Fee].(*big.Int)) // takerFee - tradingstate.SetTokenBalance(takerExOwner, newTakerFee, makerOrder.QuoteToken, statedb) - tradingstate.SetTokenBalance(makerExOwner, newMakerFee, makerOrder.QuoteToken, statedb) + err = tradingstate.SetTokenBalance(takerExOwner, newTakerFee, makerOrder.QuoteToken, statedb) + if err != nil { + } + err = tradingstate.SetTokenBalance(makerExOwner, newMakerFee, makerOrder.QuoteToken, statedb) + if err != nil { + } return nil } @@ -652,7 +668,10 @@ func (XDCx *XDCX) ProcessCancelOrder(header *types.Header, tradingStateDB *tradi return err, false } // relayers pay XDC for masternode - tradingstate.SubRelayerFee(originOrder.ExchangeAddress, common.RelayerCancelFee, statedb) + err = tradingstate.SubRelayerFee(originOrder.ExchangeAddress, common.RelayerCancelFee, statedb) + if err != nil { + //todo + } masternodeOwner := statedb.GetOwner(coinbase) // relayers pay XDC for masternode statedb.AddBalance(masternodeOwner, common.RelayerCancelFee) @@ -661,12 +680,24 @@ func (XDCx *XDCX) ProcessCancelOrder(header *types.Header, tradingStateDB *tradi switch originOrder.Side { case tradingstate.Ask: // users pay token (which they have) for relayer - tradingstate.SubTokenBalance(originOrder.UserAddress, tokenCancelFee, originOrder.BaseToken, statedb) - tradingstate.AddTokenBalance(relayerOwner, tokenCancelFee, originOrder.BaseToken, statedb) + err := tradingstate.SubTokenBalance(originOrder.UserAddress, tokenCancelFee, originOrder.BaseToken, statedb) + if err != nil { + //todo + } + err = tradingstate.AddTokenBalance(relayerOwner, tokenCancelFee, originOrder.BaseToken, statedb) + if err != nil { + + } case tradingstate.Bid: // users pay token (which they have) for relayer - tradingstate.SubTokenBalance(originOrder.UserAddress, tokenCancelFee, originOrder.QuoteToken, statedb) - tradingstate.AddTokenBalance(relayerOwner, tokenCancelFee, originOrder.QuoteToken, statedb) + err := tradingstate.SubTokenBalance(originOrder.UserAddress, tokenCancelFee, originOrder.QuoteToken, statedb) + if err != nil { + //todo + } + err = tradingstate.AddTokenBalance(relayerOwner, tokenCancelFee, originOrder.QuoteToken, statedb) + if err != nil { + //todo + } default: } // update cancel fee diff --git a/XDCx/tradingstate/journal.go b/XDCx/tradingstate/journal.go index 98fa71f9a444..0f374791d192 100644 --- a/XDCx/tradingstate/journal.go +++ b/XDCx/tradingstate/journal.go @@ -78,13 +78,19 @@ type ( ) func (ch insertOrder) undo(s *TradingStateDB) { - s.CancelOrder(ch.orderBook, ch.order) + err := s.CancelOrder(ch.orderBook, ch.order) + if err != nil { + //todo + } } func (ch cancelOrder) undo(s *TradingStateDB) { s.InsertOrderItem(ch.orderBook, ch.orderId, ch.order) } func (ch insertLiquidationPrice) undo(s *TradingStateDB) { - s.RemoveLiquidationPrice(ch.orderBook, ch.price, ch.lendingBook, ch.tradeId) + err := s.RemoveLiquidationPrice(ch.orderBook, ch.price, ch.lendingBook, ch.tradeId) + if err != nil { + //todo + } } func (ch removeLiquidationPrice) undo(s *TradingStateDB) { s.InsertLiquidationPrice(ch.orderBook, ch.price, ch.lendingBook, ch.tradeId) diff --git a/XDCx/tradingstate/state_liquidationprice.go b/XDCx/tradingstate/state_liquidationprice.go index a169572e36be..92174a32de65 100644 --- a/XDCx/tradingstate/state_liquidationprice.go +++ b/XDCx/tradingstate/state_liquidationprice.go @@ -118,7 +118,11 @@ func (self *liquidationPriceState) updateTrie(db Database) Trie { self.setError(tr.TryDelete(lendingId[:])) continue } - stateObject.updateRoot(db) + err := stateObject.updateRoot(db) + if err != nil { + //todo + } + // Encoding []byte cannot fail, ok to ignore the error. v, _ := rlp.EncodeToBytes(stateObject) self.setError(tr.TryUpdate(lendingId[:], v)) diff --git a/XDCx/tradingstate/state_orderbook.go b/XDCx/tradingstate/state_orderbook.go index d508e4bd2dba..9806102118a4 100644 --- a/XDCx/tradingstate/state_orderbook.go +++ b/XDCx/tradingstate/state_orderbook.go @@ -213,7 +213,10 @@ func (self *tradingExchanges) updateAsksTrie(db Database) Trie { self.setError(tr.TryDelete(price[:])) continue } - orderList.updateRoot(db) + err := orderList.updateRoot(db) + if err != nil { + //todo + } // Encoding []byte cannot fail, ok to ignore the error. v, _ := rlp.EncodeToBytes(orderList) self.setError(tr.TryUpdate(price[:], v)) @@ -279,7 +282,10 @@ func (self *tradingExchanges) updateBidsTrie(db Database) Trie { self.setError(tr.TryDelete(price[:])) continue } - orderList.updateRoot(db) + err := orderList.updateRoot(db) + if err != nil { + //todo + } // Encoding []byte cannot fail, ok to ignore the error. v, _ := rlp.EncodeToBytes(orderList) self.setError(tr.TryUpdate(price[:], v)) @@ -753,7 +759,10 @@ func (self *tradingExchanges) updateLiquidationPriceTrie(db Database) Trie { self.setError(tr.TryDelete(price[:])) continue } - stateObject.updateRoot(db) + err := stateObject.updateRoot(db) + if err != nil { + //todo + } // Encoding []byte cannot fail, ok to ignore the error. v, _ := rlp.EncodeToBytes(stateObject) self.setError(tr.TryUpdate(price[:], v)) diff --git a/XDCx/tradingstate/statedb.go b/XDCx/tradingstate/statedb.go index c0a125636c85..7bebe27f8c7a 100644 --- a/XDCx/tradingstate/statedb.go +++ b/XDCx/tradingstate/statedb.go @@ -539,7 +539,10 @@ func (s *TradingStateDB) Finalise() { for addr, stateObject := range s.stateExhangeObjects { if _, isDirty := s.stateExhangeObjectsDirty[addr]; isDirty { // Write any storage changes in the state object to its storage trie. - stateObject.updateAsksRoot(s.db) + err := stateObject.updateAsksRoot(s.db) + if err != nil { + //todo + } stateObject.updateBidsRoot(s.db) stateObject.updateOrdersRoot(s.db) stateObject.updateLiquidationPriceRoot(s.db) @@ -713,7 +716,10 @@ func (self *TradingStateDB) RemoveLiquidationPrice(orderBook common.Hash, price lendingBookState.subVolume(One) liquidationPriceState.subVolume(One) if liquidationPriceState.Volume().Sign() == 0 { - orderbookState.getLiquidationPriceTrie(self.db).TryDelete(priceHash[:]) + err := orderbookState.getLiquidationPriceTrie(self.db).TryDelete(priceHash[:]) + if err != nil { + //todo + } } orderbookState.subLendingCount(One) self.journal = append(self.journal, removeLiquidationPrice{ diff --git a/XDCxlending/lendingstate/journal.go b/XDCxlending/lendingstate/journal.go index 0c042923258e..1c2346bd5ccf 100644 --- a/XDCxlending/lendingstate/journal.go +++ b/XDCxlending/lendingstate/journal.go @@ -17,8 +17,9 @@ package lendingstate import ( - "github.com/XinFinOrg/XDPoSChain/common" "math/big" + + "github.com/XinFinOrg/XDPoSChain/common" ) type journalEntry interface { @@ -76,7 +77,10 @@ type ( ) func (ch insertOrder) undo(s *LendingStateDB) { - s.CancelLendingOrder(ch.orderBook, ch.order) + err := s.CancelLendingOrder(ch.orderBook, ch.order) + if err != nil { + //todo + } } func (ch cancelOrder) undo(s *LendingStateDB) { s.InsertLendingItem(ch.orderBook, ch.orderId, ch.order) diff --git a/XDCxlending/lendingstate/state_lendingbook.go b/XDCxlending/lendingstate/state_lendingbook.go index 5937c406eff1..42c10b793b83 100644 --- a/XDCxlending/lendingstate/state_lendingbook.go +++ b/XDCxlending/lendingstate/state_lendingbook.go @@ -18,11 +18,12 @@ package lendingstate import ( "fmt" + "io" + "math/big" + "github.com/XinFinOrg/XDPoSChain/common" "github.com/XinFinOrg/XDPoSChain/log" "github.com/XinFinOrg/XDPoSChain/rlp" - "io" - "math/big" ) type lendingExchangeState struct { @@ -181,8 +182,10 @@ func (self *lendingExchangeState) getLiquidationTimeTrie(db Database) Trie { return self.liquidationTimeTrie } -/** - Get State +/* +* + + Get State */ func (self *lendingExchangeState) getBorrowingOrderList(db Database, rate common.Hash) (stateOrderList *itemListState) { // Prefer 'live' objects. @@ -299,8 +302,10 @@ func (self *lendingExchangeState) getLendingTrade(db Database, tradeId common.Ha return obj } -/** - Update Trie +/* +* + + Update Trie */ func (self *lendingExchangeState) updateLendingTimeTrie(db Database) Trie { tr := self.getLendingItemTrie(db) @@ -344,7 +349,10 @@ func (self *lendingExchangeState) updateBorrowingTrie(db Database) Trie { self.setError(tr.TryDelete(rate[:])) continue } - orderList.updateRoot(db) + err := orderList.updateRoot(db) + if err != nil { + //todo + } // Encoding []byte cannot fail, ok to ignore the error. v, _ := rlp.EncodeToBytes(orderList) self.setError(tr.TryUpdate(rate[:], v)) @@ -362,7 +370,10 @@ func (self *lendingExchangeState) updateInvestingTrie(db Database) Trie { self.setError(tr.TryDelete(rate[:])) continue } - orderList.updateRoot(db) + err := orderList.updateRoot(db) + if err != nil { + + } // Encoding []byte cannot fail, ok to ignore the error. v, _ := rlp.EncodeToBytes(orderList) self.setError(tr.TryUpdate(rate[:], v)) @@ -380,7 +391,10 @@ func (self *lendingExchangeState) updateLiquidationTimeTrie(db Database) Trie { self.setError(tr.TryDelete(time[:])) continue } - itemList.updateRoot(db) + err := itemList.updateRoot(db) + if err != nil { + //todo + } // Encoding []byte cannot fail, ok to ignore the error. v, _ := rlp.EncodeToBytes(itemList) self.setError(tr.TryUpdate(time[:], v)) @@ -513,8 +527,10 @@ func (self *lendingExchangeState) CommitLiquidationTimeTrie(db Database) error { return err } -/** - Get Trie Data +/* +* + + Get Trie Data */ func (self *lendingExchangeState) getBestInvestingInterest(db Database) common.Hash { trie := self.getInvestingTrie(db) diff --git a/XDCxlending/lendingstate/statedb.go b/XDCxlending/lendingstate/statedb.go index 1442cbe0ceda..62b3a4e45860 100644 --- a/XDCxlending/lendingstate/statedb.go +++ b/XDCxlending/lendingstate/statedb.go @@ -524,7 +524,10 @@ func (s *LendingStateDB) Finalise() { for addr, stateObject := range s.lendingExchangeStates { if _, isDirty := s.lendingExchangeStatesDirty[addr]; isDirty { // Write any storage changes in the state object to its storage trie. - stateObject.updateInvestingRoot(s.db) + err := stateObject.updateInvestingRoot(s.db) + if err != nil { + //todo + } stateObject.updateBorrowingRoot(s.db) stateObject.updateOrderRoot(s.db) stateObject.updateLendingTradeRoot(s.db) @@ -630,7 +633,10 @@ func (self *LendingStateDB) RemoveLiquidationTime(lendingBook common.Hash, trade liquidationTime.removeTradeId(self.db, tradeIdHash) liquidationTime.subVolume(One) if liquidationTime.Volume().Sign() == 0 { - lendingExchangeState.getLiquidationTimeTrie(self.db).TryDelete(timeHash[:]) + err := lendingExchangeState.getLiquidationTimeTrie(self.db).TryDelete(timeHash[:]) + if err != nil { + //todo + } } return nil } diff --git a/XDCxlending/order_processor.go b/XDCxlending/order_processor.go index 2dcfb560e621..f9eb9777f332 100644 --- a/XDCxlending/order_processor.go +++ b/XDCxlending/order_processor.go @@ -339,7 +339,10 @@ func (l *Lending) processOrderList(header *types.Header, coinbase common.Address } if tradedQuantity.Sign() > 0 { quantityToTrade = lendingstate.Sub(quantityToTrade, tradedQuantity) - lendingStateDB.SubAmountLendingItem(lendingOrderBook, orderId, Interest, tradedQuantity, side) + err := lendingStateDB.SubAmountLendingItem(lendingOrderBook, orderId, Interest, tradedQuantity, side) + if err != nil { + //todo + } log.Debug("Update quantity for orderId", "orderId", orderId.Hex()) log.Debug("LEND", "lendingOrderBook", lendingOrderBook.Hex(), "Taker Interest", Interest, "maker Interest", order.Interest, "Amount", tradedQuantity, "orderId", orderId, "side", side) tradingId := lendingStateDB.GetTradeNonce(lendingOrderBook) + 1 @@ -669,7 +672,10 @@ func DoSettleBalance(coinbase common.Address, takerOrder, makerOrder *lendingsta statedb.AddBalance(masternodeOwner, matchingFee) for token, balances := range mapBalances { for adrr, value := range balances { - lendingstate.SetTokenBalance(adrr, value, token, statedb) + err := lendingstate.SetTokenBalance(adrr, value, token, statedb) + if err != nil { + //todo + } } } return nil @@ -744,12 +750,24 @@ func (l *Lending) ProcessCancelOrder(header *types.Header, lendingStateDB *lendi switch originOrder.Side { case lendingstate.Investing: // users pay token for relayer - lendingstate.SubTokenBalance(originOrder.UserAddress, tokenCancelFee, originOrder.LendingToken, statedb) - lendingstate.AddTokenBalance(relayerOwner, tokenCancelFee, originOrder.LendingToken, statedb) + err := lendingstate.SubTokenBalance(originOrder.UserAddress, tokenCancelFee, originOrder.LendingToken, statedb) + if err != nil { + //todo + } + err = lendingstate.AddTokenBalance(relayerOwner, tokenCancelFee, originOrder.LendingToken, statedb) + if err != nil { + //todo + } case lendingstate.Borrowing: // users pay token for relayer - lendingstate.SubTokenBalance(originOrder.UserAddress, tokenCancelFee, originOrder.CollateralToken, statedb) - lendingstate.AddTokenBalance(relayerOwner, tokenCancelFee, originOrder.CollateralToken, statedb) + err := lendingstate.SubTokenBalance(originOrder.UserAddress, tokenCancelFee, originOrder.CollateralToken, statedb) + if err != nil { + //todo + } + err = lendingstate.AddTokenBalance(relayerOwner, tokenCancelFee, originOrder.CollateralToken, statedb) + if err != nil { + //todo + } default: } extraData, _ := json.Marshal(struct { @@ -829,12 +847,21 @@ func (l *Lending) LiquidationExpiredTrade(header *types.Header, chain consensus. recallAmount := common.Big0 if repayAmount.Cmp(lendingTrade.CollateralLockedAmount) < 0 { recallAmount = new(big.Int).Sub(lendingTrade.CollateralLockedAmount, repayAmount) - lendingstate.AddTokenBalance(lendingTrade.Borrower, recallAmount, lendingTrade.CollateralToken, statedb) + err := lendingstate.AddTokenBalance(lendingTrade.Borrower, recallAmount, lendingTrade.CollateralToken, statedb) + if err != nil { + //todo + } } else { repayAmount = lendingTrade.CollateralLockedAmount } - lendingstate.SubTokenBalance(common.HexToAddress(common.LendingLockAddress), lendingTrade.CollateralLockedAmount, lendingTrade.CollateralToken, statedb) - lendingstate.AddTokenBalance(lendingTrade.Investor, repayAmount, lendingTrade.CollateralToken, statedb) + err = lendingstate.SubTokenBalance(common.HexToAddress(common.LendingLockAddress), lendingTrade.CollateralLockedAmount, lendingTrade.CollateralToken, statedb) + if err != nil { + //todo + } + err = lendingstate.AddTokenBalance(lendingTrade.Investor, repayAmount, lendingTrade.CollateralToken, statedb) + if err != nil { + //todo + } err = lendingStateDB.RemoveLiquidationTime(lendingBook, lendingTradeId, lendingTrade.LiquidationTime) if err != nil { @@ -870,10 +897,15 @@ func (l *Lending) LiquidationTrade(lendingStateDB *lendingstate.LendingStateDB, if lendingTrade.TradeId != lendingTradeId { return nil, fmt.Errorf("Lending Trade Id not found : %d ", lendingTradeId) } - lendingstate.SubTokenBalance(common.HexToAddress(common.LendingLockAddress), lendingTrade.CollateralLockedAmount, lendingTrade.CollateralToken, statedb) - lendingstate.AddTokenBalance(lendingTrade.Investor, lendingTrade.CollateralLockedAmount, lendingTrade.CollateralToken, statedb) - - err := lendingStateDB.RemoveLiquidationTime(lendingBook, lendingTradeId, lendingTrade.LiquidationTime) + err := lendingstate.SubTokenBalance(common.HexToAddress(common.LendingLockAddress), lendingTrade.CollateralLockedAmount, lendingTrade.CollateralToken, statedb) + if err != nil { + //todo + } + err = lendingstate.AddTokenBalance(lendingTrade.Investor, lendingTrade.CollateralLockedAmount, lendingTrade.CollateralToken, statedb) + if err != nil { + //todo + } + err = lendingStateDB.RemoveLiquidationTime(lendingBook, lendingTradeId, lendingTrade.LiquidationTime) if err != nil { log.Debug("LiquidationTrade RemoveLiquidationTime", "err", err) return nil, err @@ -1097,8 +1129,14 @@ func (l *Lending) ProcessTopUpLendingTrade(lendingStateDB *lendingstate.LendingS if err != nil { return err, true, nil } - lendingstate.SubTokenBalance(lendingTrade.Borrower, quantity, lendingTrade.CollateralToken, statedb) - lendingstate.AddTokenBalance(common.HexToAddress(common.LendingLockAddress), quantity, lendingTrade.CollateralToken, statedb) + err = lendingstate.SubTokenBalance(lendingTrade.Borrower, quantity, lendingTrade.CollateralToken, statedb) + if err != nil { + //todo + } + err = lendingstate.AddTokenBalance(common.HexToAddress(common.LendingLockAddress), quantity, lendingTrade.CollateralToken, statedb) + if err != nil { + //todo + } oldLockedAmount := lendingTrade.CollateralLockedAmount newLockedAmount := new(big.Int).Add(quantity, oldLockedAmount) newLiquidationPrice := new(big.Int).Mul(lendingTrade.LiquidationPrice, oldLockedAmount) @@ -1153,11 +1191,23 @@ func (l *Lending) ProcessRepayLendingTrade(header *types.Header, chain consensus } return newLendingTrade, err } else { - lendingstate.SubTokenBalance(lendingTrade.Borrower, paymentBalance, lendingTrade.LendingToken, statedb) - lendingstate.AddTokenBalance(lendingTrade.Investor, paymentBalance, lendingTrade.LendingToken, statedb) + err := lendingstate.SubTokenBalance(lendingTrade.Borrower, paymentBalance, lendingTrade.LendingToken, statedb) + if err != nil { + //todo + } + err = lendingstate.AddTokenBalance(lendingTrade.Investor, paymentBalance, lendingTrade.LendingToken, statedb) + if err != nil { + //todo + } - lendingstate.SubTokenBalance(common.HexToAddress(common.LendingLockAddress), lendingTrade.CollateralLockedAmount, lendingTrade.CollateralToken, statedb) - lendingstate.AddTokenBalance(lendingTrade.Borrower, lendingTrade.CollateralLockedAmount, lendingTrade.CollateralToken, statedb) + err = lendingstate.SubTokenBalance(common.HexToAddress(common.LendingLockAddress), lendingTrade.CollateralLockedAmount, lendingTrade.CollateralToken, statedb) + if err != nil { + //todo + } + err = lendingstate.AddTokenBalance(lendingTrade.Borrower, lendingTrade.CollateralLockedAmount, lendingTrade.CollateralToken, statedb) + if err != nil { + //todo + } err = lendingStateDB.RemoveLiquidationTime(lendingBook, lendingTradeId, lendingTrade.LiquidationTime) if err != nil { @@ -1202,8 +1252,14 @@ func (l *Lending) ProcessRecallLendingTrade(lendingStateDB *lendingstate.Lending if err != nil { return err, true, nil } - lendingstate.AddTokenBalance(lendingTrade.Borrower, recallAmount, lendingTrade.CollateralToken, statedb) - lendingstate.SubTokenBalance(common.HexToAddress(common.LendingLockAddress), recallAmount, lendingTrade.CollateralToken, statedb) + err = lendingstate.AddTokenBalance(lendingTrade.Borrower, recallAmount, lendingTrade.CollateralToken, statedb) + if err != nil { + //todo + } + err = lendingstate.SubTokenBalance(common.HexToAddress(common.LendingLockAddress), recallAmount, lendingTrade.CollateralToken, statedb) + if err != nil { + //todo + } lendingStateDB.UpdateLiquidationPrice(lendingBook, lendingTrade.TradeId, newLiquidationPrice) lendingStateDB.UpdateCollateralLockedAmount(lendingBook, lendingTrade.TradeId, newLockedAmount) From 570f4a38829e35d0f74c49bb2a7edfd07457963a Mon Sep 17 00:00:00 2001 From: wanwiset25 Date: Wed, 17 Jan 2024 17:51:07 +0400 Subject: [PATCH 2/5] add debug logs --- XDCx/order_processor.go | 19 ++++++---- XDCx/tradingstate/journal.go | 5 ++- XDCx/tradingstate/state_liquidationprice.go | 2 +- XDCx/tradingstate/state_orderbook.go | 6 +-- XDCx/tradingstate/statedb.go | 4 +- XDCxlending/lendingstate/journal.go | 3 +- XDCxlending/lendingstate/state_lendingbook.go | 6 +-- XDCxlending/lendingstate/statedb.go | 4 +- XDCxlending/order_processor.go | 38 +++++++++---------- 9 files changed, 47 insertions(+), 40 deletions(-) diff --git a/XDCx/order_processor.go b/XDCx/order_processor.go index 8bb24f15f49d..0da738f9760f 100644 --- a/XDCx/order_processor.go +++ b/XDCx/order_processor.go @@ -306,7 +306,7 @@ func (XDCx *XDCX) processOrderList(coinbase common.Address, chain consensus.Chai quantityToTrade = tradingstate.Sub(quantityToTrade, tradedQuantity) err := tradingStateDB.SubAmountOrderItem(orderBook, orderId, price, tradedQuantity, side) if err != nil { - //todo + log.Debug("processOrderList SubAmountOrderItem", "err", err) } tradingStateDB.SetLastPrice(orderBook, price) log.Debug("Update quantity for orderId", "orderId", orderId.Hex()) @@ -595,16 +595,19 @@ func DoSettleBalance(coinbase common.Address, takerOrder, makerOrder *tradingsta err = tradingstate.SetTokenBalance(takerOrder.UserAddress, newTakerInTotal, settleBalance.Taker.InToken, statedb) if err != nil { - //todo (just return err or need to do some revert??) + log.Debug("DoSettleBalance SetTokenBalance", "err", err) } err = tradingstate.SetTokenBalance(takerOrder.UserAddress, newTakerOutTotal, settleBalance.Taker.OutToken, statedb) if err != nil { + log.Debug("DoSettleBalance SetTokenBalance", "err", err) } err = tradingstate.SetTokenBalance(makerOrder.UserAddress, newMakerInTotal, settleBalance.Maker.InToken, statedb) if err != nil { + log.Debug("DoSettleBalance SetTokenBalance", "err", err) } err = tradingstate.SetTokenBalance(makerOrder.UserAddress, newMakerOutTotal, settleBalance.Maker.OutToken, statedb) if err != nil { + log.Debug("DoSettleBalance SetTokenBalance", "err", err) } // add balance for relayers @@ -616,9 +619,11 @@ func DoSettleBalance(coinbase common.Address, takerOrder, makerOrder *tradingsta // takerFee err = tradingstate.SetTokenBalance(takerExOwner, newTakerFee, makerOrder.QuoteToken, statedb) if err != nil { + log.Debug("DoSettleBalance SetTokenBalance", "err", err) } err = tradingstate.SetTokenBalance(makerExOwner, newMakerFee, makerOrder.QuoteToken, statedb) if err != nil { + log.Debug("DoSettleBalance SetTokenBalance", "err", err) } return nil } @@ -670,7 +675,7 @@ func (XDCx *XDCX) ProcessCancelOrder(header *types.Header, tradingStateDB *tradi // relayers pay XDC for masternode err = tradingstate.SubRelayerFee(originOrder.ExchangeAddress, common.RelayerCancelFee, statedb) if err != nil { - //todo + log.Debug("ProcessCancelOrder SubRelayerFee", "err", err) } masternodeOwner := statedb.GetOwner(coinbase) // relayers pay XDC for masternode @@ -682,21 +687,21 @@ func (XDCx *XDCX) ProcessCancelOrder(header *types.Header, tradingStateDB *tradi // users pay token (which they have) for relayer err := tradingstate.SubTokenBalance(originOrder.UserAddress, tokenCancelFee, originOrder.BaseToken, statedb) if err != nil { - //todo + log.Debug("ProcessCancelOrder SubTokenBalance", "err", err) } err = tradingstate.AddTokenBalance(relayerOwner, tokenCancelFee, originOrder.BaseToken, statedb) if err != nil { - + log.Debug("ProcessCancelOrder AddTokenBalance", "err", err) } case tradingstate.Bid: // users pay token (which they have) for relayer err := tradingstate.SubTokenBalance(originOrder.UserAddress, tokenCancelFee, originOrder.QuoteToken, statedb) if err != nil { - //todo + log.Debug("ProcessCancelOrder SubTokenBalance", "err", err) } err = tradingstate.AddTokenBalance(relayerOwner, tokenCancelFee, originOrder.QuoteToken, statedb) if err != nil { - //todo + log.Debug("ProcessCancelOrder AddTokenBalance", "err", err) } default: } diff --git a/XDCx/tradingstate/journal.go b/XDCx/tradingstate/journal.go index 0f374791d192..aca7baaa6ca6 100644 --- a/XDCx/tradingstate/journal.go +++ b/XDCx/tradingstate/journal.go @@ -20,6 +20,7 @@ import ( "math/big" "github.com/XinFinOrg/XDPoSChain/common" + "github.com/XinFinOrg/XDPoSChain/log" ) type journalEntry interface { @@ -80,7 +81,7 @@ type ( func (ch insertOrder) undo(s *TradingStateDB) { err := s.CancelOrder(ch.orderBook, ch.order) if err != nil { - //todo + log.Debug("undo CancelOrder", "err", err) } } func (ch cancelOrder) undo(s *TradingStateDB) { @@ -89,7 +90,7 @@ func (ch cancelOrder) undo(s *TradingStateDB) { func (ch insertLiquidationPrice) undo(s *TradingStateDB) { err := s.RemoveLiquidationPrice(ch.orderBook, ch.price, ch.lendingBook, ch.tradeId) if err != nil { - //todo + log.Debug("undo RemoveLiquidationPrice", "err", err) } } func (ch removeLiquidationPrice) undo(s *TradingStateDB) { diff --git a/XDCx/tradingstate/state_liquidationprice.go b/XDCx/tradingstate/state_liquidationprice.go index 92174a32de65..15b342c08ddb 100644 --- a/XDCx/tradingstate/state_liquidationprice.go +++ b/XDCx/tradingstate/state_liquidationprice.go @@ -120,7 +120,7 @@ func (self *liquidationPriceState) updateTrie(db Database) Trie { } err := stateObject.updateRoot(db) if err != nil { - //todo + log.Debug("updateTrie updateRoot", "err", err) } // Encoding []byte cannot fail, ok to ignore the error. diff --git a/XDCx/tradingstate/state_orderbook.go b/XDCx/tradingstate/state_orderbook.go index 9806102118a4..3b19371aed04 100644 --- a/XDCx/tradingstate/state_orderbook.go +++ b/XDCx/tradingstate/state_orderbook.go @@ -215,7 +215,7 @@ func (self *tradingExchanges) updateAsksTrie(db Database) Trie { } err := orderList.updateRoot(db) if err != nil { - //todo + log.Debug("updateAsksTrie updateRoot", "err", err) } // Encoding []byte cannot fail, ok to ignore the error. v, _ := rlp.EncodeToBytes(orderList) @@ -284,7 +284,7 @@ func (self *tradingExchanges) updateBidsTrie(db Database) Trie { } err := orderList.updateRoot(db) if err != nil { - //todo + log.Debug("updateBidsTrie updateRoot", "err", err) } // Encoding []byte cannot fail, ok to ignore the error. v, _ := rlp.EncodeToBytes(orderList) @@ -761,7 +761,7 @@ func (self *tradingExchanges) updateLiquidationPriceTrie(db Database) Trie { } err := stateObject.updateRoot(db) if err != nil { - //todo + log.Debug("updateLiquidationPriceTrie updateRoot", "err", err) } // Encoding []byte cannot fail, ok to ignore the error. v, _ := rlp.EncodeToBytes(stateObject) diff --git a/XDCx/tradingstate/statedb.go b/XDCx/tradingstate/statedb.go index 7bebe27f8c7a..1b88470e131f 100644 --- a/XDCx/tradingstate/statedb.go +++ b/XDCx/tradingstate/statedb.go @@ -541,7 +541,7 @@ func (s *TradingStateDB) Finalise() { // Write any storage changes in the state object to its storage trie. err := stateObject.updateAsksRoot(s.db) if err != nil { - //todo + log.Debug("Finalise updateAsksRoot", "err", err) } stateObject.updateBidsRoot(s.db) stateObject.updateOrdersRoot(s.db) @@ -718,7 +718,7 @@ func (self *TradingStateDB) RemoveLiquidationPrice(orderBook common.Hash, price if liquidationPriceState.Volume().Sign() == 0 { err := orderbookState.getLiquidationPriceTrie(self.db).TryDelete(priceHash[:]) if err != nil { - //todo + log.Debug("RemoveLiquidationPrice getLiquidationPriceTrie.TryDelete", "err", err) } } orderbookState.subLendingCount(One) diff --git a/XDCxlending/lendingstate/journal.go b/XDCxlending/lendingstate/journal.go index 1c2346bd5ccf..63358050f888 100644 --- a/XDCxlending/lendingstate/journal.go +++ b/XDCxlending/lendingstate/journal.go @@ -20,6 +20,7 @@ import ( "math/big" "github.com/XinFinOrg/XDPoSChain/common" + "github.com/XinFinOrg/XDPoSChain/log" ) type journalEntry interface { @@ -79,7 +80,7 @@ type ( func (ch insertOrder) undo(s *LendingStateDB) { err := s.CancelLendingOrder(ch.orderBook, ch.order) if err != nil { - //todo + log.Debug("undo CancelLendingOrder", "err", err) } } func (ch cancelOrder) undo(s *LendingStateDB) { diff --git a/XDCxlending/lendingstate/state_lendingbook.go b/XDCxlending/lendingstate/state_lendingbook.go index 42c10b793b83..9b8311607b9a 100644 --- a/XDCxlending/lendingstate/state_lendingbook.go +++ b/XDCxlending/lendingstate/state_lendingbook.go @@ -351,7 +351,7 @@ func (self *lendingExchangeState) updateBorrowingTrie(db Database) Trie { } err := orderList.updateRoot(db) if err != nil { - //todo + log.Debug("updateBorrowingTrie updateRoot", "err", err) } // Encoding []byte cannot fail, ok to ignore the error. v, _ := rlp.EncodeToBytes(orderList) @@ -372,7 +372,7 @@ func (self *lendingExchangeState) updateInvestingTrie(db Database) Trie { } err := orderList.updateRoot(db) if err != nil { - + log.Debug("updateInvestingTrie updateRoot", "err", err) } // Encoding []byte cannot fail, ok to ignore the error. v, _ := rlp.EncodeToBytes(orderList) @@ -393,7 +393,7 @@ func (self *lendingExchangeState) updateLiquidationTimeTrie(db Database) Trie { } err := itemList.updateRoot(db) if err != nil { - //todo + log.Debug("updateLiquidationTimeTrie updateRoot", "err", err) } // Encoding []byte cannot fail, ok to ignore the error. v, _ := rlp.EncodeToBytes(itemList) diff --git a/XDCxlending/lendingstate/statedb.go b/XDCxlending/lendingstate/statedb.go index 62b3a4e45860..cec62a2c6238 100644 --- a/XDCxlending/lendingstate/statedb.go +++ b/XDCxlending/lendingstate/statedb.go @@ -526,7 +526,7 @@ func (s *LendingStateDB) Finalise() { // Write any storage changes in the state object to its storage trie. err := stateObject.updateInvestingRoot(s.db) if err != nil { - //todo + log.Debug("Finalise updateInvestingRoot", "err", err) } stateObject.updateBorrowingRoot(s.db) stateObject.updateOrderRoot(s.db) @@ -635,7 +635,7 @@ func (self *LendingStateDB) RemoveLiquidationTime(lendingBook common.Hash, trade if liquidationTime.Volume().Sign() == 0 { err := lendingExchangeState.getLiquidationTimeTrie(self.db).TryDelete(timeHash[:]) if err != nil { - //todo + log.Debug("RemoveLiquidationTime getLiquidationTimeTrie.TryDelete", "err", err) } } return nil diff --git a/XDCxlending/order_processor.go b/XDCxlending/order_processor.go index f9eb9777f332..500931417c91 100644 --- a/XDCxlending/order_processor.go +++ b/XDCxlending/order_processor.go @@ -341,7 +341,7 @@ func (l *Lending) processOrderList(header *types.Header, coinbase common.Address quantityToTrade = lendingstate.Sub(quantityToTrade, tradedQuantity) err := lendingStateDB.SubAmountLendingItem(lendingOrderBook, orderId, Interest, tradedQuantity, side) if err != nil { - //todo + log.Debug("processOrderList SubAmountLendingItem", "err", err) } log.Debug("Update quantity for orderId", "orderId", orderId.Hex()) log.Debug("LEND", "lendingOrderBook", lendingOrderBook.Hex(), "Taker Interest", Interest, "maker Interest", order.Interest, "Amount", tradedQuantity, "orderId", orderId, "side", side) @@ -674,7 +674,7 @@ func DoSettleBalance(coinbase common.Address, takerOrder, makerOrder *lendingsta for adrr, value := range balances { err := lendingstate.SetTokenBalance(adrr, value, token, statedb) if err != nil { - //todo + log.Debug("DoSettleBalance SetTokenBalance", "err", err) } } } @@ -752,21 +752,21 @@ func (l *Lending) ProcessCancelOrder(header *types.Header, lendingStateDB *lendi // users pay token for relayer err := lendingstate.SubTokenBalance(originOrder.UserAddress, tokenCancelFee, originOrder.LendingToken, statedb) if err != nil { - //todo + log.Debug("ProcessCancelOrder SubTokenBalance", "err", err) } err = lendingstate.AddTokenBalance(relayerOwner, tokenCancelFee, originOrder.LendingToken, statedb) if err != nil { - //todo + log.Debug("ProcessCancelOrder AddTokenBalance", "err", err) } case lendingstate.Borrowing: // users pay token for relayer err := lendingstate.SubTokenBalance(originOrder.UserAddress, tokenCancelFee, originOrder.CollateralToken, statedb) if err != nil { - //todo + log.Debug("ProcessCancelOrder SubTokenBalance", "err", err) } err = lendingstate.AddTokenBalance(relayerOwner, tokenCancelFee, originOrder.CollateralToken, statedb) if err != nil { - //todo + log.Debug("ProcessCancelOrder AddTokenBalance", "err", err) } default: } @@ -849,18 +849,18 @@ func (l *Lending) LiquidationExpiredTrade(header *types.Header, chain consensus. recallAmount = new(big.Int).Sub(lendingTrade.CollateralLockedAmount, repayAmount) err := lendingstate.AddTokenBalance(lendingTrade.Borrower, recallAmount, lendingTrade.CollateralToken, statedb) if err != nil { - //todo + log.Debug("LiquidationExpiredTrade AddTokenBalance", "err", err) } } else { repayAmount = lendingTrade.CollateralLockedAmount } err = lendingstate.SubTokenBalance(common.HexToAddress(common.LendingLockAddress), lendingTrade.CollateralLockedAmount, lendingTrade.CollateralToken, statedb) if err != nil { - //todo + log.Debug("LiquidationExpiredTrade SubTokenBalance", "err", err) } err = lendingstate.AddTokenBalance(lendingTrade.Investor, repayAmount, lendingTrade.CollateralToken, statedb) if err != nil { - //todo + log.Debug("LiquidationExpiredTrade AddTokenBalance", "err", err) } err = lendingStateDB.RemoveLiquidationTime(lendingBook, lendingTradeId, lendingTrade.LiquidationTime) @@ -899,11 +899,11 @@ func (l *Lending) LiquidationTrade(lendingStateDB *lendingstate.LendingStateDB, } err := lendingstate.SubTokenBalance(common.HexToAddress(common.LendingLockAddress), lendingTrade.CollateralLockedAmount, lendingTrade.CollateralToken, statedb) if err != nil { - //todo + log.Debug("LiquidationTrade SubTokenBalance", "err", err) } err = lendingstate.AddTokenBalance(lendingTrade.Investor, lendingTrade.CollateralLockedAmount, lendingTrade.CollateralToken, statedb) if err != nil { - //todo + log.Debug("LiquidationTrade AddTokenBalance", "err", err) } err = lendingStateDB.RemoveLiquidationTime(lendingBook, lendingTradeId, lendingTrade.LiquidationTime) if err != nil { @@ -1131,11 +1131,11 @@ func (l *Lending) ProcessTopUpLendingTrade(lendingStateDB *lendingstate.LendingS } err = lendingstate.SubTokenBalance(lendingTrade.Borrower, quantity, lendingTrade.CollateralToken, statedb) if err != nil { - //todo + log.Debug("ProcessTopUpLendingTrade SubTokenBalance", "err", err) } err = lendingstate.AddTokenBalance(common.HexToAddress(common.LendingLockAddress), quantity, lendingTrade.CollateralToken, statedb) if err != nil { - //todo + log.Debug("ProcessTopUpLendingTrade AddTokenBalance", "err", err) } oldLockedAmount := lendingTrade.CollateralLockedAmount newLockedAmount := new(big.Int).Add(quantity, oldLockedAmount) @@ -1193,20 +1193,20 @@ func (l *Lending) ProcessRepayLendingTrade(header *types.Header, chain consensus } else { err := lendingstate.SubTokenBalance(lendingTrade.Borrower, paymentBalance, lendingTrade.LendingToken, statedb) if err != nil { - //todo + log.Debug("ProcessRepayLendingTrade SubTokenBalance", "err", err) } err = lendingstate.AddTokenBalance(lendingTrade.Investor, paymentBalance, lendingTrade.LendingToken, statedb) if err != nil { - //todo + log.Debug("ProcessRepayLendingTrade AddTokenBalance", "err", err) } err = lendingstate.SubTokenBalance(common.HexToAddress(common.LendingLockAddress), lendingTrade.CollateralLockedAmount, lendingTrade.CollateralToken, statedb) if err != nil { - //todo + log.Debug("ProcessRepayLendingTrade SubTokenBalance", "err", err) } err = lendingstate.AddTokenBalance(lendingTrade.Borrower, lendingTrade.CollateralLockedAmount, lendingTrade.CollateralToken, statedb) if err != nil { - //todo + log.Debug("ProcessRepayLendingTrade AddTokenBalance", "err", err) } err = lendingStateDB.RemoveLiquidationTime(lendingBook, lendingTradeId, lendingTrade.LiquidationTime) @@ -1254,11 +1254,11 @@ func (l *Lending) ProcessRecallLendingTrade(lendingStateDB *lendingstate.Lending } err = lendingstate.AddTokenBalance(lendingTrade.Borrower, recallAmount, lendingTrade.CollateralToken, statedb) if err != nil { - //todo + log.Debug("ProcessRecallLendingTrade AddTokenBalance", "err", err) } err = lendingstate.SubTokenBalance(common.HexToAddress(common.LendingLockAddress), recallAmount, lendingTrade.CollateralToken, statedb) if err != nil { - //todo + log.Debug("ProcessRecallLendingTrade SubTokenBalance", "err", err) } lendingStateDB.UpdateLiquidationPrice(lendingBook, lendingTrade.TradeId, newLiquidationPrice) From 79382d0e1e3aa0c0061e3fc076709db4e287b6f1 Mon Sep 17 00:00:00 2001 From: wanwiset25 Date: Wed, 17 Jan 2024 19:11:27 +0400 Subject: [PATCH 3/5] change to Warn level log --- XDCx/order_processor.go | 24 ++++++------ XDCx/tradingstate/journal.go | 4 +- XDCx/tradingstate/state_liquidationprice.go | 2 +- XDCx/tradingstate/state_orderbook.go | 6 +-- XDCx/tradingstate/statedb.go | 2 +- XDCxlending/lendingstate/journal.go | 2 +- XDCxlending/lendingstate/state_lendingbook.go | 6 +-- XDCxlending/lendingstate/statedb.go | 4 +- XDCxlending/order_processor.go | 38 +++++++++---------- 9 files changed, 44 insertions(+), 44 deletions(-) diff --git a/XDCx/order_processor.go b/XDCx/order_processor.go index 0da738f9760f..4a8207b756ba 100644 --- a/XDCx/order_processor.go +++ b/XDCx/order_processor.go @@ -306,7 +306,7 @@ func (XDCx *XDCX) processOrderList(coinbase common.Address, chain consensus.Chai quantityToTrade = tradingstate.Sub(quantityToTrade, tradedQuantity) err := tradingStateDB.SubAmountOrderItem(orderBook, orderId, price, tradedQuantity, side) if err != nil { - log.Debug("processOrderList SubAmountOrderItem", "err", err) + log.Warn("processOrderList SubAmountOrderItem", "err", err) } tradingStateDB.SetLastPrice(orderBook, price) log.Debug("Update quantity for orderId", "orderId", orderId.Hex()) @@ -595,19 +595,19 @@ func DoSettleBalance(coinbase common.Address, takerOrder, makerOrder *tradingsta err = tradingstate.SetTokenBalance(takerOrder.UserAddress, newTakerInTotal, settleBalance.Taker.InToken, statedb) if err != nil { - log.Debug("DoSettleBalance SetTokenBalance", "err", err) + log.Warn("DoSettleBalance SetTokenBalance", "err", err) } err = tradingstate.SetTokenBalance(takerOrder.UserAddress, newTakerOutTotal, settleBalance.Taker.OutToken, statedb) if err != nil { - log.Debug("DoSettleBalance SetTokenBalance", "err", err) + log.Warn("DoSettleBalance SetTokenBalance", "err", err) } err = tradingstate.SetTokenBalance(makerOrder.UserAddress, newMakerInTotal, settleBalance.Maker.InToken, statedb) if err != nil { - log.Debug("DoSettleBalance SetTokenBalance", "err", err) + log.Warn("DoSettleBalance SetTokenBalance", "err", err) } err = tradingstate.SetTokenBalance(makerOrder.UserAddress, newMakerOutTotal, settleBalance.Maker.OutToken, statedb) if err != nil { - log.Debug("DoSettleBalance SetTokenBalance", "err", err) + log.Warn("DoSettleBalance SetTokenBalance", "err", err) } // add balance for relayers @@ -619,11 +619,11 @@ func DoSettleBalance(coinbase common.Address, takerOrder, makerOrder *tradingsta // takerFee err = tradingstate.SetTokenBalance(takerExOwner, newTakerFee, makerOrder.QuoteToken, statedb) if err != nil { - log.Debug("DoSettleBalance SetTokenBalance", "err", err) + log.Warn("DoSettleBalance SetTokenBalance", "err", err) } err = tradingstate.SetTokenBalance(makerExOwner, newMakerFee, makerOrder.QuoteToken, statedb) if err != nil { - log.Debug("DoSettleBalance SetTokenBalance", "err", err) + log.Warn("DoSettleBalance SetTokenBalance", "err", err) } return nil } @@ -675,7 +675,7 @@ func (XDCx *XDCX) ProcessCancelOrder(header *types.Header, tradingStateDB *tradi // relayers pay XDC for masternode err = tradingstate.SubRelayerFee(originOrder.ExchangeAddress, common.RelayerCancelFee, statedb) if err != nil { - log.Debug("ProcessCancelOrder SubRelayerFee", "err", err) + log.Warn("ProcessCancelOrder SubRelayerFee", "err", err) } masternodeOwner := statedb.GetOwner(coinbase) // relayers pay XDC for masternode @@ -687,21 +687,21 @@ func (XDCx *XDCX) ProcessCancelOrder(header *types.Header, tradingStateDB *tradi // users pay token (which they have) for relayer err := tradingstate.SubTokenBalance(originOrder.UserAddress, tokenCancelFee, originOrder.BaseToken, statedb) if err != nil { - log.Debug("ProcessCancelOrder SubTokenBalance", "err", err) + log.Warn("ProcessCancelOrder SubTokenBalance", "err", err) } err = tradingstate.AddTokenBalance(relayerOwner, tokenCancelFee, originOrder.BaseToken, statedb) if err != nil { - log.Debug("ProcessCancelOrder AddTokenBalance", "err", err) + log.Warn("ProcessCancelOrder AddTokenBalance", "err", err) } case tradingstate.Bid: // users pay token (which they have) for relayer err := tradingstate.SubTokenBalance(originOrder.UserAddress, tokenCancelFee, originOrder.QuoteToken, statedb) if err != nil { - log.Debug("ProcessCancelOrder SubTokenBalance", "err", err) + log.Warn("ProcessCancelOrder SubTokenBalance", "err", err) } err = tradingstate.AddTokenBalance(relayerOwner, tokenCancelFee, originOrder.QuoteToken, statedb) if err != nil { - log.Debug("ProcessCancelOrder AddTokenBalance", "err", err) + log.Warn("ProcessCancelOrder AddTokenBalance", "err", err) } default: } diff --git a/XDCx/tradingstate/journal.go b/XDCx/tradingstate/journal.go index aca7baaa6ca6..03c91ceada30 100644 --- a/XDCx/tradingstate/journal.go +++ b/XDCx/tradingstate/journal.go @@ -81,7 +81,7 @@ type ( func (ch insertOrder) undo(s *TradingStateDB) { err := s.CancelOrder(ch.orderBook, ch.order) if err != nil { - log.Debug("undo CancelOrder", "err", err) + log.Warn("undo CancelOrder", "err", err) } } func (ch cancelOrder) undo(s *TradingStateDB) { @@ -90,7 +90,7 @@ func (ch cancelOrder) undo(s *TradingStateDB) { func (ch insertLiquidationPrice) undo(s *TradingStateDB) { err := s.RemoveLiquidationPrice(ch.orderBook, ch.price, ch.lendingBook, ch.tradeId) if err != nil { - log.Debug("undo RemoveLiquidationPrice", "err", err) + log.Warn("undo RemoveLiquidationPrice", "err", err) } } func (ch removeLiquidationPrice) undo(s *TradingStateDB) { diff --git a/XDCx/tradingstate/state_liquidationprice.go b/XDCx/tradingstate/state_liquidationprice.go index 15b342c08ddb..5a4e4aca631b 100644 --- a/XDCx/tradingstate/state_liquidationprice.go +++ b/XDCx/tradingstate/state_liquidationprice.go @@ -120,7 +120,7 @@ func (self *liquidationPriceState) updateTrie(db Database) Trie { } err := stateObject.updateRoot(db) if err != nil { - log.Debug("updateTrie updateRoot", "err", err) + log.Warn("updateTrie updateRoot", "err", err) } // Encoding []byte cannot fail, ok to ignore the error. diff --git a/XDCx/tradingstate/state_orderbook.go b/XDCx/tradingstate/state_orderbook.go index 3b19371aed04..ccd928bd4ae3 100644 --- a/XDCx/tradingstate/state_orderbook.go +++ b/XDCx/tradingstate/state_orderbook.go @@ -215,7 +215,7 @@ func (self *tradingExchanges) updateAsksTrie(db Database) Trie { } err := orderList.updateRoot(db) if err != nil { - log.Debug("updateAsksTrie updateRoot", "err", err) + log.Warn("updateAsksTrie updateRoot", "err", err) } // Encoding []byte cannot fail, ok to ignore the error. v, _ := rlp.EncodeToBytes(orderList) @@ -284,7 +284,7 @@ func (self *tradingExchanges) updateBidsTrie(db Database) Trie { } err := orderList.updateRoot(db) if err != nil { - log.Debug("updateBidsTrie updateRoot", "err", err) + log.Warn("updateBidsTrie updateRoot", "err", err) } // Encoding []byte cannot fail, ok to ignore the error. v, _ := rlp.EncodeToBytes(orderList) @@ -761,7 +761,7 @@ func (self *tradingExchanges) updateLiquidationPriceTrie(db Database) Trie { } err := stateObject.updateRoot(db) if err != nil { - log.Debug("updateLiquidationPriceTrie updateRoot", "err", err) + log.Warn("updateLiquidationPriceTrie updateRoot", "err", err) } // Encoding []byte cannot fail, ok to ignore the error. v, _ := rlp.EncodeToBytes(stateObject) diff --git a/XDCx/tradingstate/statedb.go b/XDCx/tradingstate/statedb.go index 1b88470e131f..9b553f67a7aa 100644 --- a/XDCx/tradingstate/statedb.go +++ b/XDCx/tradingstate/statedb.go @@ -541,7 +541,7 @@ func (s *TradingStateDB) Finalise() { // Write any storage changes in the state object to its storage trie. err := stateObject.updateAsksRoot(s.db) if err != nil { - log.Debug("Finalise updateAsksRoot", "err", err) + log.Warn("Finalise updateAsksRoot", "err", err) } stateObject.updateBidsRoot(s.db) stateObject.updateOrdersRoot(s.db) diff --git a/XDCxlending/lendingstate/journal.go b/XDCxlending/lendingstate/journal.go index 63358050f888..481425229501 100644 --- a/XDCxlending/lendingstate/journal.go +++ b/XDCxlending/lendingstate/journal.go @@ -80,7 +80,7 @@ type ( func (ch insertOrder) undo(s *LendingStateDB) { err := s.CancelLendingOrder(ch.orderBook, ch.order) if err != nil { - log.Debug("undo CancelLendingOrder", "err", err) + log.Warn("undo CancelLendingOrder", "err", err) } } func (ch cancelOrder) undo(s *LendingStateDB) { diff --git a/XDCxlending/lendingstate/state_lendingbook.go b/XDCxlending/lendingstate/state_lendingbook.go index 9b8311607b9a..74a7b0c50115 100644 --- a/XDCxlending/lendingstate/state_lendingbook.go +++ b/XDCxlending/lendingstate/state_lendingbook.go @@ -351,7 +351,7 @@ func (self *lendingExchangeState) updateBorrowingTrie(db Database) Trie { } err := orderList.updateRoot(db) if err != nil { - log.Debug("updateBorrowingTrie updateRoot", "err", err) + log.Warn("updateBorrowingTrie updateRoot", "err", err) } // Encoding []byte cannot fail, ok to ignore the error. v, _ := rlp.EncodeToBytes(orderList) @@ -372,7 +372,7 @@ func (self *lendingExchangeState) updateInvestingTrie(db Database) Trie { } err := orderList.updateRoot(db) if err != nil { - log.Debug("updateInvestingTrie updateRoot", "err", err) + log.Warn("updateInvestingTrie updateRoot", "err", err) } // Encoding []byte cannot fail, ok to ignore the error. v, _ := rlp.EncodeToBytes(orderList) @@ -393,7 +393,7 @@ func (self *lendingExchangeState) updateLiquidationTimeTrie(db Database) Trie { } err := itemList.updateRoot(db) if err != nil { - log.Debug("updateLiquidationTimeTrie updateRoot", "err", err) + log.Warn("updateLiquidationTimeTrie updateRoot", "err", err) } // Encoding []byte cannot fail, ok to ignore the error. v, _ := rlp.EncodeToBytes(itemList) diff --git a/XDCxlending/lendingstate/statedb.go b/XDCxlending/lendingstate/statedb.go index cec62a2c6238..93fe32928ce7 100644 --- a/XDCxlending/lendingstate/statedb.go +++ b/XDCxlending/lendingstate/statedb.go @@ -526,7 +526,7 @@ func (s *LendingStateDB) Finalise() { // Write any storage changes in the state object to its storage trie. err := stateObject.updateInvestingRoot(s.db) if err != nil { - log.Debug("Finalise updateInvestingRoot", "err", err) + log.Warn("Finalise updateInvestingRoot", "err", err) } stateObject.updateBorrowingRoot(s.db) stateObject.updateOrderRoot(s.db) @@ -635,7 +635,7 @@ func (self *LendingStateDB) RemoveLiquidationTime(lendingBook common.Hash, trade if liquidationTime.Volume().Sign() == 0 { err := lendingExchangeState.getLiquidationTimeTrie(self.db).TryDelete(timeHash[:]) if err != nil { - log.Debug("RemoveLiquidationTime getLiquidationTimeTrie.TryDelete", "err", err) + log.Warn("RemoveLiquidationTime getLiquidationTimeTrie.TryDelete", "err", err) } } return nil diff --git a/XDCxlending/order_processor.go b/XDCxlending/order_processor.go index 500931417c91..c353323a1efc 100644 --- a/XDCxlending/order_processor.go +++ b/XDCxlending/order_processor.go @@ -341,7 +341,7 @@ func (l *Lending) processOrderList(header *types.Header, coinbase common.Address quantityToTrade = lendingstate.Sub(quantityToTrade, tradedQuantity) err := lendingStateDB.SubAmountLendingItem(lendingOrderBook, orderId, Interest, tradedQuantity, side) if err != nil { - log.Debug("processOrderList SubAmountLendingItem", "err", err) + log.Warn("processOrderList SubAmountLendingItem", "err", err) } log.Debug("Update quantity for orderId", "orderId", orderId.Hex()) log.Debug("LEND", "lendingOrderBook", lendingOrderBook.Hex(), "Taker Interest", Interest, "maker Interest", order.Interest, "Amount", tradedQuantity, "orderId", orderId, "side", side) @@ -674,7 +674,7 @@ func DoSettleBalance(coinbase common.Address, takerOrder, makerOrder *lendingsta for adrr, value := range balances { err := lendingstate.SetTokenBalance(adrr, value, token, statedb) if err != nil { - log.Debug("DoSettleBalance SetTokenBalance", "err", err) + log.Warn("DoSettleBalance SetTokenBalance", "err", err) } } } @@ -752,21 +752,21 @@ func (l *Lending) ProcessCancelOrder(header *types.Header, lendingStateDB *lendi // users pay token for relayer err := lendingstate.SubTokenBalance(originOrder.UserAddress, tokenCancelFee, originOrder.LendingToken, statedb) if err != nil { - log.Debug("ProcessCancelOrder SubTokenBalance", "err", err) + log.Warn("ProcessCancelOrder SubTokenBalance", "err", err) } err = lendingstate.AddTokenBalance(relayerOwner, tokenCancelFee, originOrder.LendingToken, statedb) if err != nil { - log.Debug("ProcessCancelOrder AddTokenBalance", "err", err) + log.Warn("ProcessCancelOrder AddTokenBalance", "err", err) } case lendingstate.Borrowing: // users pay token for relayer err := lendingstate.SubTokenBalance(originOrder.UserAddress, tokenCancelFee, originOrder.CollateralToken, statedb) if err != nil { - log.Debug("ProcessCancelOrder SubTokenBalance", "err", err) + log.Warn("ProcessCancelOrder SubTokenBalance", "err", err) } err = lendingstate.AddTokenBalance(relayerOwner, tokenCancelFee, originOrder.CollateralToken, statedb) if err != nil { - log.Debug("ProcessCancelOrder AddTokenBalance", "err", err) + log.Warn("ProcessCancelOrder AddTokenBalance", "err", err) } default: } @@ -849,18 +849,18 @@ func (l *Lending) LiquidationExpiredTrade(header *types.Header, chain consensus. recallAmount = new(big.Int).Sub(lendingTrade.CollateralLockedAmount, repayAmount) err := lendingstate.AddTokenBalance(lendingTrade.Borrower, recallAmount, lendingTrade.CollateralToken, statedb) if err != nil { - log.Debug("LiquidationExpiredTrade AddTokenBalance", "err", err) + log.Warn("LiquidationExpiredTrade AddTokenBalance", "err", err) } } else { repayAmount = lendingTrade.CollateralLockedAmount } err = lendingstate.SubTokenBalance(common.HexToAddress(common.LendingLockAddress), lendingTrade.CollateralLockedAmount, lendingTrade.CollateralToken, statedb) if err != nil { - log.Debug("LiquidationExpiredTrade SubTokenBalance", "err", err) + log.Warn("LiquidationExpiredTrade SubTokenBalance", "err", err) } err = lendingstate.AddTokenBalance(lendingTrade.Investor, repayAmount, lendingTrade.CollateralToken, statedb) if err != nil { - log.Debug("LiquidationExpiredTrade AddTokenBalance", "err", err) + log.Warn("LiquidationExpiredTrade AddTokenBalance", "err", err) } err = lendingStateDB.RemoveLiquidationTime(lendingBook, lendingTradeId, lendingTrade.LiquidationTime) @@ -899,11 +899,11 @@ func (l *Lending) LiquidationTrade(lendingStateDB *lendingstate.LendingStateDB, } err := lendingstate.SubTokenBalance(common.HexToAddress(common.LendingLockAddress), lendingTrade.CollateralLockedAmount, lendingTrade.CollateralToken, statedb) if err != nil { - log.Debug("LiquidationTrade SubTokenBalance", "err", err) + log.Warn("LiquidationTrade SubTokenBalance", "err", err) } err = lendingstate.AddTokenBalance(lendingTrade.Investor, lendingTrade.CollateralLockedAmount, lendingTrade.CollateralToken, statedb) if err != nil { - log.Debug("LiquidationTrade AddTokenBalance", "err", err) + log.Warn("LiquidationTrade AddTokenBalance", "err", err) } err = lendingStateDB.RemoveLiquidationTime(lendingBook, lendingTradeId, lendingTrade.LiquidationTime) if err != nil { @@ -1131,11 +1131,11 @@ func (l *Lending) ProcessTopUpLendingTrade(lendingStateDB *lendingstate.LendingS } err = lendingstate.SubTokenBalance(lendingTrade.Borrower, quantity, lendingTrade.CollateralToken, statedb) if err != nil { - log.Debug("ProcessTopUpLendingTrade SubTokenBalance", "err", err) + log.Warn("ProcessTopUpLendingTrade SubTokenBalance", "err", err) } err = lendingstate.AddTokenBalance(common.HexToAddress(common.LendingLockAddress), quantity, lendingTrade.CollateralToken, statedb) if err != nil { - log.Debug("ProcessTopUpLendingTrade AddTokenBalance", "err", err) + log.Warn("ProcessTopUpLendingTrade AddTokenBalance", "err", err) } oldLockedAmount := lendingTrade.CollateralLockedAmount newLockedAmount := new(big.Int).Add(quantity, oldLockedAmount) @@ -1193,20 +1193,20 @@ func (l *Lending) ProcessRepayLendingTrade(header *types.Header, chain consensus } else { err := lendingstate.SubTokenBalance(lendingTrade.Borrower, paymentBalance, lendingTrade.LendingToken, statedb) if err != nil { - log.Debug("ProcessRepayLendingTrade SubTokenBalance", "err", err) + log.Warn("ProcessRepayLendingTrade SubTokenBalance", "err", err) } err = lendingstate.AddTokenBalance(lendingTrade.Investor, paymentBalance, lendingTrade.LendingToken, statedb) if err != nil { - log.Debug("ProcessRepayLendingTrade AddTokenBalance", "err", err) + log.Warn("ProcessRepayLendingTrade AddTokenBalance", "err", err) } err = lendingstate.SubTokenBalance(common.HexToAddress(common.LendingLockAddress), lendingTrade.CollateralLockedAmount, lendingTrade.CollateralToken, statedb) if err != nil { - log.Debug("ProcessRepayLendingTrade SubTokenBalance", "err", err) + log.Warn("ProcessRepayLendingTrade SubTokenBalance", "err", err) } err = lendingstate.AddTokenBalance(lendingTrade.Borrower, lendingTrade.CollateralLockedAmount, lendingTrade.CollateralToken, statedb) if err != nil { - log.Debug("ProcessRepayLendingTrade AddTokenBalance", "err", err) + log.Warn("ProcessRepayLendingTrade AddTokenBalance", "err", err) } err = lendingStateDB.RemoveLiquidationTime(lendingBook, lendingTradeId, lendingTrade.LiquidationTime) @@ -1254,11 +1254,11 @@ func (l *Lending) ProcessRecallLendingTrade(lendingStateDB *lendingstate.Lending } err = lendingstate.AddTokenBalance(lendingTrade.Borrower, recallAmount, lendingTrade.CollateralToken, statedb) if err != nil { - log.Debug("ProcessRecallLendingTrade AddTokenBalance", "err", err) + log.Warn("ProcessRecallLendingTrade AddTokenBalance", "err", err) } err = lendingstate.SubTokenBalance(common.HexToAddress(common.LendingLockAddress), recallAmount, lendingTrade.CollateralToken, statedb) if err != nil { - log.Debug("ProcessRecallLendingTrade SubTokenBalance", "err", err) + log.Warn("ProcessRecallLendingTrade SubTokenBalance", "err", err) } lendingStateDB.UpdateLiquidationPrice(lendingBook, lendingTrade.TradeId, newLiquidationPrice) From 83116ad86bd8af24bdcfc46d78a89b2746c90b2d Mon Sep 17 00:00:00 2001 From: wanwiset25 Date: Wed, 17 Jan 2024 19:15:39 +0400 Subject: [PATCH 4/5] change to Warn level 2 --- XDCx/tradingstate/statedb.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/XDCx/tradingstate/statedb.go b/XDCx/tradingstate/statedb.go index 9b553f67a7aa..a163c111b282 100644 --- a/XDCx/tradingstate/statedb.go +++ b/XDCx/tradingstate/statedb.go @@ -718,7 +718,7 @@ func (self *TradingStateDB) RemoveLiquidationPrice(orderBook common.Hash, price if liquidationPriceState.Volume().Sign() == 0 { err := orderbookState.getLiquidationPriceTrie(self.db).TryDelete(priceHash[:]) if err != nil { - log.Debug("RemoveLiquidationPrice getLiquidationPriceTrie.TryDelete", "err", err) + log.Warn("RemoveLiquidationPrice getLiquidationPriceTrie.TryDelete", "err", err) } } orderbookState.subLendingCount(One) From 938f02d7881e575f159dec358c2b7e33524e57fe Mon Sep 17 00:00:00 2001 From: wanwiset25 Date: Thu, 18 Jan 2024 13:47:43 +0400 Subject: [PATCH 5/5] verbose logging --- XDCx/order_processor.go | 24 ++++++------ XDCx/tradingstate/journal.go | 4 +- XDCx/tradingstate/state_orderbook.go | 6 +-- XDCx/tradingstate/statedb.go | 4 +- XDCxlending/lendingstate/journal.go | 2 +- XDCxlending/lendingstate/state_lendingbook.go | 6 +-- XDCxlending/lendingstate/statedb.go | 4 +- XDCxlending/order_processor.go | 39 +++++++++---------- 8 files changed, 44 insertions(+), 45 deletions(-) diff --git a/XDCx/order_processor.go b/XDCx/order_processor.go index 4a8207b756ba..ca9ca496e352 100644 --- a/XDCx/order_processor.go +++ b/XDCx/order_processor.go @@ -306,7 +306,7 @@ func (XDCx *XDCX) processOrderList(coinbase common.Address, chain consensus.Chai quantityToTrade = tradingstate.Sub(quantityToTrade, tradedQuantity) err := tradingStateDB.SubAmountOrderItem(orderBook, orderId, price, tradedQuantity, side) if err != nil { - log.Warn("processOrderList SubAmountOrderItem", "err", err) + log.Warn("processOrderList SubAmountOrderItem", "err", err, "orderBook", orderBook, "orderId", orderId, "price", *price, "tradedQuantity", *tradedQuantity, "side", side) } tradingStateDB.SetLastPrice(orderBook, price) log.Debug("Update quantity for orderId", "orderId", orderId.Hex()) @@ -595,19 +595,19 @@ func DoSettleBalance(coinbase common.Address, takerOrder, makerOrder *tradingsta err = tradingstate.SetTokenBalance(takerOrder.UserAddress, newTakerInTotal, settleBalance.Taker.InToken, statedb) if err != nil { - log.Warn("DoSettleBalance SetTokenBalance", "err", err) + log.Warn("DoSettleBalance SetTokenBalance", "err", err, "takerOder.UserAddress", takerOrder.UserAddress, "newTakerInTotal", *newTakerInTotal, "settleBalance.Taker.InToken", settleBalance.Taker.InToken) } err = tradingstate.SetTokenBalance(takerOrder.UserAddress, newTakerOutTotal, settleBalance.Taker.OutToken, statedb) if err != nil { - log.Warn("DoSettleBalance SetTokenBalance", "err", err) + log.Warn("DoSettleBalance SetTokenBalance", "err", err, "takerOrder.UserAddress", takerOrder.UserAddress, "newTakerOutTotal", *newTakerOutTotal, "settleBalance.Taker.OutToken", settleBalance.Taker.OutToken) } err = tradingstate.SetTokenBalance(makerOrder.UserAddress, newMakerInTotal, settleBalance.Maker.InToken, statedb) if err != nil { - log.Warn("DoSettleBalance SetTokenBalance", "err", err) + log.Warn("DoSettleBalance SetTokenBalance", "err", err, "makerOrder.UserAddress", makerOrder.UserAddress, "newMakerInTotal", *newMakerInTotal, "settleBalance.Maker.InToken", settleBalance.Maker.InToken) } err = tradingstate.SetTokenBalance(makerOrder.UserAddress, newMakerOutTotal, settleBalance.Maker.OutToken, statedb) if err != nil { - log.Warn("DoSettleBalance SetTokenBalance", "err", err) + log.Warn("DoSettleBalance SetTokenBalance", "err", err, "makerOrder.UserAddress", makerOrder.UserAddress, "newMakerOutTotal", *newMakerOutTotal, "settleBalance.Maker.OutToken", settleBalance.Maker.OutToken) } // add balance for relayers @@ -619,11 +619,11 @@ func DoSettleBalance(coinbase common.Address, takerOrder, makerOrder *tradingsta // takerFee err = tradingstate.SetTokenBalance(takerExOwner, newTakerFee, makerOrder.QuoteToken, statedb) if err != nil { - log.Warn("DoSettleBalance SetTokenBalance", "err", err) + log.Warn("DoSettleBalance SetTokenBalance", "err", err, "takerExOwner", takerExOwner, "newTakerFee", *newTakerFee, "makerOrder.QuoteToken", makerOrder.QuoteToken) } err = tradingstate.SetTokenBalance(makerExOwner, newMakerFee, makerOrder.QuoteToken, statedb) if err != nil { - log.Warn("DoSettleBalance SetTokenBalance", "err", err) + log.Warn("DoSettleBalance SetTokenBalance", "err", err, "makerExOwner", makerExOwner, "newMakerFee", *newMakerFee, "makerOrder.QuoteToken", makerOrder.QuoteToken) } return nil } @@ -675,7 +675,7 @@ func (XDCx *XDCX) ProcessCancelOrder(header *types.Header, tradingStateDB *tradi // relayers pay XDC for masternode err = tradingstate.SubRelayerFee(originOrder.ExchangeAddress, common.RelayerCancelFee, statedb) if err != nil { - log.Warn("ProcessCancelOrder SubRelayerFee", "err", err) + log.Warn("ProcessCancelOrder SubRelayerFee", "err", err, "originOrder.ExchangeAddress", originOrder.ExchangeAddress, "common.RelayerCancelFee", *common.RelayerCancelFee) } masternodeOwner := statedb.GetOwner(coinbase) // relayers pay XDC for masternode @@ -687,21 +687,21 @@ func (XDCx *XDCX) ProcessCancelOrder(header *types.Header, tradingStateDB *tradi // users pay token (which they have) for relayer err := tradingstate.SubTokenBalance(originOrder.UserAddress, tokenCancelFee, originOrder.BaseToken, statedb) if err != nil { - log.Warn("ProcessCancelOrder SubTokenBalance", "err", err) + log.Warn("ProcessCancelOrder SubTokenBalance", "err", err, "originOrder.UserAddress", originOrder.UserAddress, "tokenCancelFee", *tokenCancelFee, "originOrder.BaseToken", originOrder.BaseToken) } err = tradingstate.AddTokenBalance(relayerOwner, tokenCancelFee, originOrder.BaseToken, statedb) if err != nil { - log.Warn("ProcessCancelOrder AddTokenBalance", "err", err) + log.Warn("ProcessCancelOrder AddTokenBalance", "err", err, "relayerOwner", relayerOwner, "tokenCancelFee", *tokenCancelFee, "originOrder.BaseToken", originOrder.BaseToken) } case tradingstate.Bid: // users pay token (which they have) for relayer err := tradingstate.SubTokenBalance(originOrder.UserAddress, tokenCancelFee, originOrder.QuoteToken, statedb) if err != nil { - log.Warn("ProcessCancelOrder SubTokenBalance", "err", err) + log.Warn("ProcessCancelOrder SubTokenBalance", "err", err, "originOrder.UserAddress", originOrder.UserAddress, "tokenCancelFee", *tokenCancelFee, "originOrder.QuoteToken", originOrder.QuoteToken) } err = tradingstate.AddTokenBalance(relayerOwner, tokenCancelFee, originOrder.QuoteToken, statedb) if err != nil { - log.Warn("ProcessCancelOrder AddTokenBalance", "err", err) + log.Warn("ProcessCancelOrder AddTokenBalance", "err", err, "relayerOwner", relayerOwner, "tokenCancelFee", *tokenCancelFee, "originOrder.QuoteToken", originOrder.QuoteToken) } default: } diff --git a/XDCx/tradingstate/journal.go b/XDCx/tradingstate/journal.go index 03c91ceada30..81e190d5f804 100644 --- a/XDCx/tradingstate/journal.go +++ b/XDCx/tradingstate/journal.go @@ -81,7 +81,7 @@ type ( func (ch insertOrder) undo(s *TradingStateDB) { err := s.CancelOrder(ch.orderBook, ch.order) if err != nil { - log.Warn("undo CancelOrder", "err", err) + log.Warn("undo CancelOrder", "err", err, "ch.orderBook", ch.orderBook, "ch.order", ch.order) } } func (ch cancelOrder) undo(s *TradingStateDB) { @@ -90,7 +90,7 @@ func (ch cancelOrder) undo(s *TradingStateDB) { func (ch insertLiquidationPrice) undo(s *TradingStateDB) { err := s.RemoveLiquidationPrice(ch.orderBook, ch.price, ch.lendingBook, ch.tradeId) if err != nil { - log.Warn("undo RemoveLiquidationPrice", "err", err) + log.Warn("undo RemoveLiquidationPrice", "err", err, "ch.orderBook", ch.orderBook, "ch.price", ch.price, "ch.lendingBook", ch.lendingBook, "ch.tradeId", ch.tradeId) } } func (ch removeLiquidationPrice) undo(s *TradingStateDB) { diff --git a/XDCx/tradingstate/state_orderbook.go b/XDCx/tradingstate/state_orderbook.go index ccd928bd4ae3..3bfdd33e0e33 100644 --- a/XDCx/tradingstate/state_orderbook.go +++ b/XDCx/tradingstate/state_orderbook.go @@ -215,7 +215,7 @@ func (self *tradingExchanges) updateAsksTrie(db Database) Trie { } err := orderList.updateRoot(db) if err != nil { - log.Warn("updateAsksTrie updateRoot", "err", err) + log.Warn("updateAsksTrie updateRoot", "err", err, "price", price, "orderList", *orderList) } // Encoding []byte cannot fail, ok to ignore the error. v, _ := rlp.EncodeToBytes(orderList) @@ -284,7 +284,7 @@ func (self *tradingExchanges) updateBidsTrie(db Database) Trie { } err := orderList.updateRoot(db) if err != nil { - log.Warn("updateBidsTrie updateRoot", "err", err) + log.Warn("updateBidsTrie updateRoot", "err", err, "price", price, "orderList", *orderList) } // Encoding []byte cannot fail, ok to ignore the error. v, _ := rlp.EncodeToBytes(orderList) @@ -761,7 +761,7 @@ func (self *tradingExchanges) updateLiquidationPriceTrie(db Database) Trie { } err := stateObject.updateRoot(db) if err != nil { - log.Warn("updateLiquidationPriceTrie updateRoot", "err", err) + log.Warn("updateLiquidationPriceTrie updateRoot", "err", err, "price", price, "stateObject", *stateObject) } // Encoding []byte cannot fail, ok to ignore the error. v, _ := rlp.EncodeToBytes(stateObject) diff --git a/XDCx/tradingstate/statedb.go b/XDCx/tradingstate/statedb.go index a163c111b282..68d1278d95ec 100644 --- a/XDCx/tradingstate/statedb.go +++ b/XDCx/tradingstate/statedb.go @@ -541,7 +541,7 @@ func (s *TradingStateDB) Finalise() { // Write any storage changes in the state object to its storage trie. err := stateObject.updateAsksRoot(s.db) if err != nil { - log.Warn("Finalise updateAsksRoot", "err", err) + log.Warn("Finalise updateAsksRoot", "err", err, "addr", addr, "stateObject", *stateObject) } stateObject.updateBidsRoot(s.db) stateObject.updateOrdersRoot(s.db) @@ -718,7 +718,7 @@ func (self *TradingStateDB) RemoveLiquidationPrice(orderBook common.Hash, price if liquidationPriceState.Volume().Sign() == 0 { err := orderbookState.getLiquidationPriceTrie(self.db).TryDelete(priceHash[:]) if err != nil { - log.Warn("RemoveLiquidationPrice getLiquidationPriceTrie.TryDelete", "err", err) + log.Warn("RemoveLiquidationPrice getLiquidationPriceTrie.TryDelete", "err", err, "priceHash", priceHash[:]) } } orderbookState.subLendingCount(One) diff --git a/XDCxlending/lendingstate/journal.go b/XDCxlending/lendingstate/journal.go index 481425229501..262865602ddd 100644 --- a/XDCxlending/lendingstate/journal.go +++ b/XDCxlending/lendingstate/journal.go @@ -80,7 +80,7 @@ type ( func (ch insertOrder) undo(s *LendingStateDB) { err := s.CancelLendingOrder(ch.orderBook, ch.order) if err != nil { - log.Warn("undo CancelLendingOrder", "err", err) + log.Warn("undo CancelLendingOrder", "err", err, "ch.orderBook", ch.orderBook, "ch.order", *ch.order) } } func (ch cancelOrder) undo(s *LendingStateDB) { diff --git a/XDCxlending/lendingstate/state_lendingbook.go b/XDCxlending/lendingstate/state_lendingbook.go index 74a7b0c50115..c063f23f7fb5 100644 --- a/XDCxlending/lendingstate/state_lendingbook.go +++ b/XDCxlending/lendingstate/state_lendingbook.go @@ -351,7 +351,7 @@ func (self *lendingExchangeState) updateBorrowingTrie(db Database) Trie { } err := orderList.updateRoot(db) if err != nil { - log.Warn("updateBorrowingTrie updateRoot", "err", err) + log.Warn("updateBorrowingTrie updateRoot", "err", err, "rate", rate, "orderList", *orderList) } // Encoding []byte cannot fail, ok to ignore the error. v, _ := rlp.EncodeToBytes(orderList) @@ -372,7 +372,7 @@ func (self *lendingExchangeState) updateInvestingTrie(db Database) Trie { } err := orderList.updateRoot(db) if err != nil { - log.Warn("updateInvestingTrie updateRoot", "err", err) + log.Warn("updateInvestingTrie updateRoot", "err", err, "rate", rate, "orderList", *orderList) } // Encoding []byte cannot fail, ok to ignore the error. v, _ := rlp.EncodeToBytes(orderList) @@ -393,7 +393,7 @@ func (self *lendingExchangeState) updateLiquidationTimeTrie(db Database) Trie { } err := itemList.updateRoot(db) if err != nil { - log.Warn("updateLiquidationTimeTrie updateRoot", "err", err) + log.Warn("updateLiquidationTimeTrie updateRoot", "err", err, "time", time, "itemList", *itemList) } // Encoding []byte cannot fail, ok to ignore the error. v, _ := rlp.EncodeToBytes(itemList) diff --git a/XDCxlending/lendingstate/statedb.go b/XDCxlending/lendingstate/statedb.go index 93fe32928ce7..f514f61ba0b6 100644 --- a/XDCxlending/lendingstate/statedb.go +++ b/XDCxlending/lendingstate/statedb.go @@ -526,7 +526,7 @@ func (s *LendingStateDB) Finalise() { // Write any storage changes in the state object to its storage trie. err := stateObject.updateInvestingRoot(s.db) if err != nil { - log.Warn("Finalise updateInvestingRoot", "err", err) + log.Warn("Finalise updateInvestingRoot", "err", err, "addr", addr, "stateObject", *stateObject) } stateObject.updateBorrowingRoot(s.db) stateObject.updateOrderRoot(s.db) @@ -635,7 +635,7 @@ func (self *LendingStateDB) RemoveLiquidationTime(lendingBook common.Hash, trade if liquidationTime.Volume().Sign() == 0 { err := lendingExchangeState.getLiquidationTimeTrie(self.db).TryDelete(timeHash[:]) if err != nil { - log.Warn("RemoveLiquidationTime getLiquidationTimeTrie.TryDelete", "err", err) + log.Warn("RemoveLiquidationTime getLiquidationTimeTrie.TryDelete", "err", err, "timeHash[:]", timeHash[:]) } } return nil diff --git a/XDCxlending/order_processor.go b/XDCxlending/order_processor.go index c353323a1efc..5725c2003b08 100644 --- a/XDCxlending/order_processor.go +++ b/XDCxlending/order_processor.go @@ -341,7 +341,7 @@ func (l *Lending) processOrderList(header *types.Header, coinbase common.Address quantityToTrade = lendingstate.Sub(quantityToTrade, tradedQuantity) err := lendingStateDB.SubAmountLendingItem(lendingOrderBook, orderId, Interest, tradedQuantity, side) if err != nil { - log.Warn("processOrderList SubAmountLendingItem", "err", err) + log.Warn("processOrderList SubAmountLendingItem", "err", err, "lendingOrderBook", lendingOrderBook, "orderId", orderId, "Interest", *Interest, "tradedQuantity", *tradedQuantity, "side", side) } log.Debug("Update quantity for orderId", "orderId", orderId.Hex()) log.Debug("LEND", "lendingOrderBook", lendingOrderBook.Hex(), "Taker Interest", Interest, "maker Interest", order.Interest, "Amount", tradedQuantity, "orderId", orderId, "side", side) @@ -674,7 +674,7 @@ func DoSettleBalance(coinbase common.Address, takerOrder, makerOrder *lendingsta for adrr, value := range balances { err := lendingstate.SetTokenBalance(adrr, value, token, statedb) if err != nil { - log.Warn("DoSettleBalance SetTokenBalance", "err", err) + log.Warn("DoSettleBalance SetTokenBalance", "err", err, "addr", adrr, "value", *value, "token", token) } } } @@ -752,21 +752,21 @@ func (l *Lending) ProcessCancelOrder(header *types.Header, lendingStateDB *lendi // users pay token for relayer err := lendingstate.SubTokenBalance(originOrder.UserAddress, tokenCancelFee, originOrder.LendingToken, statedb) if err != nil { - log.Warn("ProcessCancelOrder SubTokenBalance", "err", err) + log.Warn("ProcessCancelOrder SubTokenBalance", "err", err, "originOrder.UserAddress", originOrder.UserAddress, "tokenCancelFee", *tokenCancelFee, "originOrder.LendingToken", originOrder.LendingToken) } err = lendingstate.AddTokenBalance(relayerOwner, tokenCancelFee, originOrder.LendingToken, statedb) if err != nil { - log.Warn("ProcessCancelOrder AddTokenBalance", "err", err) + log.Warn("ProcessCancelOrder AddTokenBalance", "err", err, "relayerOwner", relayerOwner, "tokenCancelFee", *tokenCancelFee, "originOrder.LendingToken", originOrder.LendingToken) } case lendingstate.Borrowing: // users pay token for relayer err := lendingstate.SubTokenBalance(originOrder.UserAddress, tokenCancelFee, originOrder.CollateralToken, statedb) if err != nil { - log.Warn("ProcessCancelOrder SubTokenBalance", "err", err) + log.Warn("ProcessCancelOrder SubTokenBalance", "err", err, "originOrder.UserAddress", originOrder.UserAddress, "tokenCancelFee", *tokenCancelFee, "originOrder.CollateralToken", originOrder.CollateralToken) } err = lendingstate.AddTokenBalance(relayerOwner, tokenCancelFee, originOrder.CollateralToken, statedb) if err != nil { - log.Warn("ProcessCancelOrder AddTokenBalance", "err", err) + log.Warn("ProcessCancelOrder AddTokenBalance", "err", err, "relayerOwner", relayerOwner, "tokenCancelFee", *tokenCancelFee, "originOrder.CollateralToken", originOrder.CollateralToken) } default: } @@ -849,18 +849,18 @@ func (l *Lending) LiquidationExpiredTrade(header *types.Header, chain consensus. recallAmount = new(big.Int).Sub(lendingTrade.CollateralLockedAmount, repayAmount) err := lendingstate.AddTokenBalance(lendingTrade.Borrower, recallAmount, lendingTrade.CollateralToken, statedb) if err != nil { - log.Warn("LiquidationExpiredTrade AddTokenBalance", "err", err) + log.Warn("LiquidationExpiredTrade AddTokenBalance", "err", err, "lendingTrade.Borrower", lendingTrade.Borrower, "recallAmount", *recallAmount, "lendingTrade.CollateralToken", lendingTrade.CollateralToken) } } else { repayAmount = lendingTrade.CollateralLockedAmount } err = lendingstate.SubTokenBalance(common.HexToAddress(common.LendingLockAddress), lendingTrade.CollateralLockedAmount, lendingTrade.CollateralToken, statedb) if err != nil { - log.Warn("LiquidationExpiredTrade SubTokenBalance", "err", err) + log.Warn("LiquidationExpiredTrade SubTokenBalance", "err", err, "LendingLockAddress", common.HexToAddress(common.LendingLockAddress), "lendingTrade.CollateralLockedAmount", *lendingTrade.CollateralLockedAmount, "lendingTrade.CollateralToken", lendingTrade.CollateralToken) } err = lendingstate.AddTokenBalance(lendingTrade.Investor, repayAmount, lendingTrade.CollateralToken, statedb) if err != nil { - log.Warn("LiquidationExpiredTrade AddTokenBalance", "err", err) + log.Warn("LiquidationExpiredTrade AddTokenBalance", "err", err, "lendingTrade.Investor", lendingTrade.Investor, "repayAmount", repayAmount, "lendingTrade.CollateralToken", lendingTrade.CollateralToken) } err = lendingStateDB.RemoveLiquidationTime(lendingBook, lendingTradeId, lendingTrade.LiquidationTime) @@ -899,11 +899,11 @@ func (l *Lending) LiquidationTrade(lendingStateDB *lendingstate.LendingStateDB, } err := lendingstate.SubTokenBalance(common.HexToAddress(common.LendingLockAddress), lendingTrade.CollateralLockedAmount, lendingTrade.CollateralToken, statedb) if err != nil { - log.Warn("LiquidationTrade SubTokenBalance", "err", err) + log.Warn("LiquidationTrade SubTokenBalance", "err", err, "LendingLockAddress", common.HexToAddress(common.LendingLockAddress), "lendingTrade.CollateralLockedAmount", *lendingTrade.CollateralLockedAmount, "lendingTrade.CollateralToken", lendingTrade.CollateralToken) } err = lendingstate.AddTokenBalance(lendingTrade.Investor, lendingTrade.CollateralLockedAmount, lendingTrade.CollateralToken, statedb) if err != nil { - log.Warn("LiquidationTrade AddTokenBalance", "err", err) + log.Warn("LiquidationTrade AddTokenBalance", "err", err, "lendingTrade.Investor", lendingTrade.Investor, "lendingTrade.CollateralLockedAmount", *lendingTrade.CollateralLockedAmount, "lendingTrade.CollateralToken", lendingTrade.CollateralToken) } err = lendingStateDB.RemoveLiquidationTime(lendingBook, lendingTradeId, lendingTrade.LiquidationTime) if err != nil { @@ -1131,11 +1131,11 @@ func (l *Lending) ProcessTopUpLendingTrade(lendingStateDB *lendingstate.LendingS } err = lendingstate.SubTokenBalance(lendingTrade.Borrower, quantity, lendingTrade.CollateralToken, statedb) if err != nil { - log.Warn("ProcessTopUpLendingTrade SubTokenBalance", "err", err) + log.Warn("ProcessTopUpLendingTrade SubTokenBalance", "err", err, "lendingTrade.Borrower", lendingTrade.Borrower, "quantity", *quantity, "lendingTrade.CollateralToken", lendingTrade.CollateralToken) } err = lendingstate.AddTokenBalance(common.HexToAddress(common.LendingLockAddress), quantity, lendingTrade.CollateralToken, statedb) if err != nil { - log.Warn("ProcessTopUpLendingTrade AddTokenBalance", "err", err) + log.Warn("ProcessTopUpLendingTrade AddTokenBalance", "err", err, "LendingLockAddress", common.HexToAddress(common.LendingLockAddress), "quantity", *quantity, "lendingTrade.CollateralToken", lendingTrade.CollateralToken) } oldLockedAmount := lendingTrade.CollateralLockedAmount newLockedAmount := new(big.Int).Add(quantity, oldLockedAmount) @@ -1193,20 +1193,19 @@ func (l *Lending) ProcessRepayLendingTrade(header *types.Header, chain consensus } else { err := lendingstate.SubTokenBalance(lendingTrade.Borrower, paymentBalance, lendingTrade.LendingToken, statedb) if err != nil { - log.Warn("ProcessRepayLendingTrade SubTokenBalance", "err", err) + log.Warn("ProcessRepayLendingTrade SubTokenBalance", "err", err, "lendingTrade.Borrower", lendingTrade.Borrower, "paymentBalance", *paymentBalance, "lendingTrade.LendingToken", lendingTrade.LendingToken) } err = lendingstate.AddTokenBalance(lendingTrade.Investor, paymentBalance, lendingTrade.LendingToken, statedb) if err != nil { - log.Warn("ProcessRepayLendingTrade AddTokenBalance", "err", err) + log.Warn("ProcessRepayLendingTrade AddTokenBalance", "err", err, "lendingTrade.Investor", lendingTrade.Investor, "paymentBalance", *paymentBalance, "lendingTrade.LendingToken", lendingTrade.LendingToken) } - err = lendingstate.SubTokenBalance(common.HexToAddress(common.LendingLockAddress), lendingTrade.CollateralLockedAmount, lendingTrade.CollateralToken, statedb) if err != nil { - log.Warn("ProcessRepayLendingTrade SubTokenBalance", "err", err) + log.Warn("ProcessRepayLendingTrade SubTokenBalance", "err", err, "LendingLockAddress", common.HexToAddress(common.LendingLockAddress), "lendingTrade.CollateralLockedAmount", *lendingTrade.CollateralLockedAmount, "lendingTrade.CollateralToken", lendingTrade.CollateralToken) } err = lendingstate.AddTokenBalance(lendingTrade.Borrower, lendingTrade.CollateralLockedAmount, lendingTrade.CollateralToken, statedb) if err != nil { - log.Warn("ProcessRepayLendingTrade AddTokenBalance", "err", err) + log.Warn("ProcessRepayLendingTrade AddTokenBalance", "err", err, "lendingTrade.Borrower", lendingTrade.Borrower, "lendingTrade.CollateralLockedAmount", *lendingTrade.CollateralLockedAmount, "lendingTrade.CollateralToken", lendingTrade.CollateralToken) } err = lendingStateDB.RemoveLiquidationTime(lendingBook, lendingTradeId, lendingTrade.LiquidationTime) @@ -1254,11 +1253,11 @@ func (l *Lending) ProcessRecallLendingTrade(lendingStateDB *lendingstate.Lending } err = lendingstate.AddTokenBalance(lendingTrade.Borrower, recallAmount, lendingTrade.CollateralToken, statedb) if err != nil { - log.Warn("ProcessRecallLendingTrade AddTokenBalance", "err", err) + log.Warn("ProcessRecallLendingTrade AddTokenBalance", "err", err, "lendingTrade.Borrower", lendingTrade.Borrower, "recallAmount", *recallAmount, "lendingTrade.CollateralToken", lendingTrade.CollateralToken) } err = lendingstate.SubTokenBalance(common.HexToAddress(common.LendingLockAddress), recallAmount, lendingTrade.CollateralToken, statedb) if err != nil { - log.Warn("ProcessRecallLendingTrade SubTokenBalance", "err", err) + log.Warn("ProcessRecallLendingTrade SubTokenBalance", "err", err, "LendingLockAddress", common.HexToAddress(common.LendingLockAddress), "recallAmount", *recallAmount, "lendingTrade.CollateralToken", lendingTrade.CollateralToken) } lendingStateDB.UpdateLiquidationPrice(lendingBook, lendingTrade.TradeId, newLiquidationPrice)