mirror of
				https://github.com/0glabs/0g-chain.git
				synced 2025-10-31 14:27:40 +00:00 
			
		
		
		
	fix: remove old index when updating fees (#409)
This commit is contained in:
		
							parent
							
								
									882d12c63b
								
							
						
					
					
						commit
						e58d2dc320
					
				| @ -35,7 +35,6 @@ func (k Keeper) CalculateFees(ctx sdk.Context, principal sdk.Coins, periods sdk. | |||||||
| // is when we made the update
 | // is when we made the update
 | ||||||
| func (k Keeper) UpdateFeesForRiskyCdps(ctx sdk.Context, collateralDenom string, marketID string) sdk.Error { | func (k Keeper) UpdateFeesForRiskyCdps(ctx sdk.Context, collateralDenom string, marketID string) sdk.Error { | ||||||
| 
 | 
 | ||||||
| 	 |  | ||||||
| 	price, err := k.pricefeedKeeper.GetCurrentPrice(ctx, marketID) | 	price, err := k.pricefeedKeeper.GetCurrentPrice(ctx, marketID) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return err | ||||||
| @ -48,7 +47,7 @@ func (k Keeper) UpdateFeesForRiskyCdps(ctx sdk.Context, collateralDenom string, | |||||||
| 
 | 
 | ||||||
| 	// now iterate over all the cdps based on collateral ratio
 | 	// now iterate over all the cdps based on collateral ratio
 | ||||||
| 	k.IterateCdpsByCollateralRatio(ctx, collateralDenom, normalizedRatio, func(cdp types.CDP) bool { | 	k.IterateCdpsByCollateralRatio(ctx, collateralDenom, normalizedRatio, func(cdp types.CDP) bool { | ||||||
| 
 | 		oldCollateralToDebtRatio := k.CalculateCollateralToDebtRatio(ctx, cdp.Collateral, cdp.Principal.Add(cdp.AccumulatedFees)) | ||||||
| 		// get the number of periods
 | 		// get the number of periods
 | ||||||
| 		periods := sdk.NewInt(ctx.BlockTime().Unix()).Sub(sdk.NewInt(cdp.FeesUpdated.Unix())) | 		periods := sdk.NewInt(ctx.BlockTime().Unix()).Sub(sdk.NewInt(cdp.FeesUpdated.Unix())) | ||||||
| 
 | 
 | ||||||
| @ -61,6 +60,7 @@ func (k Keeper) UpdateFeesForRiskyCdps(ctx sdk.Context, collateralDenom string, | |||||||
| 		// and set the fees updated time to the current block time since we just updated it
 | 		// and set the fees updated time to the current block time since we just updated it
 | ||||||
| 		cdp.FeesUpdated = ctx.BlockTime() | 		cdp.FeesUpdated = ctx.BlockTime() | ||||||
| 		collateralToDebtRatio := k.CalculateCollateralToDebtRatio(ctx, cdp.Collateral, cdp.Principal.Add(cdp.AccumulatedFees)) | 		collateralToDebtRatio := k.CalculateCollateralToDebtRatio(ctx, cdp.Collateral, cdp.Principal.Add(cdp.AccumulatedFees)) | ||||||
|  | 		k.RemoveCdpCollateralRatioIndex(ctx, cdp.Collateral[0].Denom, cdp.ID, oldCollateralToDebtRatio) | ||||||
| 		k.SetCdpAndCollateralRatioIndex(ctx, cdp, collateralToDebtRatio) | 		k.SetCdpAndCollateralRatioIndex(ctx, cdp, collateralToDebtRatio) | ||||||
| 		return false // this returns true when you want to stop iterating. Since we want to iterate through all we return false
 | 		return false // this returns true when you want to stop iterating. Since we want to iterate through all we return false
 | ||||||
| 	}) | 	}) | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Kevin Davis
						Kevin Davis