You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: research/zkLend_liquidation_research.md
+14-8Lines changed: 14 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,7 +36,6 @@ To verify if a position was liquidated in zkLend, the following steps were taken
36
36
### zkLend: Market Contract Activity
37
37
1.**Identify Relevant Events Using Starkscan**: The event logs in "Events" tab of the zkLend: Market contract were examined on Starkscan to identify any liquidation events. Identified `Liquidation` event.
38
38
2.**Analyze Event Data**: Clicked on `Liquidation` event to view its details, and found the following data including liquidator, user, debt_token, debt_raw_amount, debt_face_amount, collateral_token, collateral_amount.
39
-
It was that the liquidator is not
40
39
3.**zkLend: Market Contract Read Functions**: Found and explored the following view functions to check if our deployed spotnet contract's position in zkLend has been closed; `is_user_undercollateralized(user, apply_borrow_factor)`, `user_has_debt(user)` and `is_collateral_enabled(user, token)`[with STRK address as token] all returned 1, indicating `true`. Thus, our contract's position is still open.
41
40
42
41
### Portfolio Check
@@ -67,7 +66,9 @@ From in-depth [review into zkLend market contract codebase](https://9oelm.github
67
66
1. The zToken of the corresponding collateral (which is zSTRK in our case) repayed by a liquidator would be seized from our collateral balance, and sent to the liquidator.
68
67
2. A `Liquidation` event.
69
68
70
-
The liquidators can be anyone (or their bot), and is neither a zklend or zklend related contract. Potential liquidators are monitoring the market closely and frequently, and try to call `liquidate()` earlier than their competitors with suitable amount of gas fee that might get their transaction get through earlier than others. From analysis of [all Starknet Liquidations](https://dune.com/caravanserai/starknet-liquidations); the below are among some of the liqudators for zkLend:
69
+
The liquidators can be anyone (or their bot), and is neither a zklend or zklend related contract. Potential liquidators are monitoring the market closely and frequently, and try to call `liquidate()` earlier than their competitors with suitable amount of gas fee that might get their transaction get through earlier than others.
70
+
71
+
From analysis of [all Starknet Liquidations](https://dune.com/caravanserai/starknet-liquidations); the below are among some of the liqudators for zkLend:
@@ -77,13 +78,18 @@ The liquidators can be anyone (or their bot), and is neither a zklend or zklend
77
78
## Conclusion
78
79
79
80
The zkLend liquidation process is unique compared to other lending protocols, such as Aave. Unlike these protocols, zkLend does not allow liquidators to fully liquidate a position, regardless of how low the health factor is. Instead, the current design permits liquidators to partially liquidate undercollateralized positions, ensuring that the user remains undercollateralized after the liquidation.
80
-
The deployed Spotnet contract is yet to be liquidized by zkLend. And whenever it gets liquidated, the `zkLend_liquidation_position.py` script will give proof that zkLend liquidated our position.
81
+
82
+
The deployed Spotnet contract is yet to be liquidized by zkLend as evident by:
83
+
1. lack of `Liquidation` event from zkLend Events.
84
+
2. collateral balance remains the same.
85
+
86
+
And whenever it gets liquidated, the `zkLend_liquidation_position.py` script will give proof that zkLend liquidated our position.
0 commit comments