@@ -21,6 +21,9 @@ func (mdl *CreditManager) SetUnderlyingState(obj interface{}) {
2121 case (map [string ]string ):
2222 sessions := obj .(map [string ]string )
2323 mdl .State .Sessions = sessions
24+ case * schemas.PnlOnRepay :
25+ pnl := obj .(* schemas.PnlOnRepay )
26+ mdl .pnlOnCM .Set (pnl )
2427 default :
2528 log .Fatal ("Type assertion for credit manager state failed" )
2629 }
@@ -67,13 +70,13 @@ func (mdl *CreditManager) calculateCMStat(blockNum int64) {
6770 }
6871 mdl .State .IsWETH = state .IsWETH
6972 // pnl on repay
70- pnlOnRepay := mdl .Repo . GetRepayOnCM (blockNum , mdl . GetAddress () )
71- if pnlOnRepay != nil {
72- mdl .State .TotalBorrowedBI = core .SubCoreAndInt (mdl .State .TotalBorrowedBI , pnlOnRepay .BorrowedAmount )
73+ pnl := mdl .pnlOnCM . Get (blockNum )
74+ if pnl != nil {
75+ mdl .State .TotalBorrowedBI = core .SubCoreAndInt (mdl .State .TotalBorrowedBI , pnl .BorrowedAmount )
7376 mdl .State .TotalBorrowed = utils .GetFloat64Decimal (mdl .State .TotalBorrowedBI .Convert (), mdl .GetUnderlyingDecimal ())
74- mdl .State .TotalLossesBI = core .AddCoreAndInt (mdl .State .TotalLossesBI , pnlOnRepay .Loss )
77+ mdl .State .TotalLossesBI = core .AddCoreAndInt (mdl .State .TotalLossesBI , pnl .Loss )
7578 mdl .State .TotalLosses = utils .GetFloat64Decimal (mdl .State .TotalLossesBI .Convert (), mdl .GetUnderlyingDecimal ())
76- mdl .State .TotalProfitBI = core .AddCoreAndInt (mdl .State .TotalProfitBI , pnlOnRepay .Profit )
79+ mdl .State .TotalProfitBI = core .AddCoreAndInt (mdl .State .TotalProfitBI , pnl .Profit )
7780 mdl .State .TotalProfit = utils .GetFloat64Decimal (mdl .State .TotalProfitBI .Convert (), mdl .GetUnderlyingDecimal ())
7881 }
7982 mdl .State .MinAmount = (* core .BigInt )(state .MinAmount )
0 commit comments