@@ -43,13 +43,14 @@ func handleActiveLoans(ctx sdk.Context, k keeper.Keeper) {
4343
4444 var liquidationInterest sdkmath.Int
4545
46- currentPrice , err := k .GetPrice (ctx , "BTCUSD" )
46+ pool := k .GetPool (ctx , loan .PoolId )
47+ pricePair := types .GetPricePair (pool .Config )
48+
49+ currentPrice , err := k .GetPrice (ctx , pricePair )
4750 if err != nil {
48- k .Logger (ctx ).Info ("failed to get price" , "err" , err )
51+ k .Logger (ctx ).Info ("failed to get price" , "pair" , pricePair , " err" , err )
4952 }
5053
51- pool := k .GetPool (ctx , loan .PoolId )
52-
5354 dlcMeta := k .GetDLCMeta (ctx , loan .VaultAddress )
5455
5556 // check if the loan has defaulted
@@ -96,20 +97,23 @@ func handleActiveLoans(ctx sdk.Context, k keeper.Keeper) {
9697
9798 // create liquidation if defaulted or liquidated
9899 if loan .Status == types .LoanStatus_Defaulted || loan .Status == types .LoanStatus_Liquidated {
100+ collateralDenom := pool .Config .CollateralAsset .Denom
101+ debtDenom := pool .Config .LendingAsset .Denom
102+
99103 liquidation := k .LiquidationKeeper ().CreateLiquidation (ctx , & liquidationtypes.Liquidation {
100104 LoanId : loan .VaultAddress ,
101105 Debtor : loan .Borrower ,
102106 DCM : loan .DCM ,
103- CollateralAmount : sdk .NewCoin ("sat" , loan .CollateralAmount ),
104- ActualCollateralAmount : sdk .NewCoin ("sat" , sdkmath .NewInt (types .GetLiquidationCetOutput (liquidationCet ))),
105- DebtAmount : sdk .NewCoin (pool . Supply . Denom , loan .BorrowAmount .Amount .Add (liquidationInterest )),
107+ CollateralAmount : sdk .NewCoin (collateralDenom , loan .CollateralAmount ),
108+ ActualCollateralAmount : sdk .NewCoin (collateralDenom , sdkmath .NewInt (types .GetLiquidationCetOutput (liquidationCet ))),
109+ DebtAmount : sdk .NewCoin (debtDenom , loan .BorrowAmount .Amount .Add (liquidationInterest )),
106110 LiquidatedPrice : currentPrice ,
107111 LiquidatedTime : ctx .BlockTime (),
108- LiquidatedCollateralAmount : sdk .NewCoin ("sat" , sdkmath .ZeroInt ()),
109- LiquidatedDebtAmount : sdk .NewCoin (pool . Supply . Denom , sdkmath .ZeroInt ()),
110- LiquidationBonusAmount : sdk .NewCoin ("sat" , sdkmath .ZeroInt ()),
111- ProtocolLiquidationFee : sdk .NewCoin ("sat" , sdkmath .ZeroInt ()),
112- UnliquidatedCollateralAmount : sdk .NewCoin ("sat" , sdkmath .ZeroInt ()),
112+ LiquidatedCollateralAmount : sdk .NewCoin (collateralDenom , sdkmath .ZeroInt ()),
113+ LiquidatedDebtAmount : sdk .NewCoin (debtDenom , sdkmath .ZeroInt ()),
114+ LiquidationBonusAmount : sdk .NewCoin (collateralDenom , sdkmath .ZeroInt ()),
115+ ProtocolLiquidationFee : sdk .NewCoin (collateralDenom , sdkmath .ZeroInt ()),
116+ UnliquidatedCollateralAmount : sdk .NewCoin (collateralDenom , sdkmath .ZeroInt ()),
113117 LiquidationCet : liquidationCet ,
114118 })
115119
0 commit comments