@varla/sdk 1.11.4 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (242) hide show
  1. package/AGENTS.md +82 -95
  2. package/CHANGELOG.md +367 -0
  3. package/LICENSE +21 -0
  4. package/README.md +227 -275
  5. package/dist/abi/full/OpinionCtfExecutionEngineAdapter.js +1 -0
  6. package/dist/abi/full/OpinionCtfExecutionEngineAdapter.js.map +1 -0
  7. package/dist/abi/full/OracleUpdaterRouter.d.ts +30 -9
  8. package/dist/abi/full/OracleUpdaterRouter.d.ts.map +1 -1
  9. package/dist/abi/full/OracleUpdaterRouter.js +37 -9
  10. package/dist/abi/full/OracleUpdaterRouter.js.map +1 -0
  11. package/dist/abi/full/PolymarketCtfAdapter.js +1 -0
  12. package/dist/abi/full/PolymarketCtfAdapter.js.map +1 -0
  13. package/dist/abi/full/VarlaAccessManager.js +1 -0
  14. package/dist/abi/full/VarlaAccessManager.js.map +1 -0
  15. package/dist/abi/full/VarlaConvertLiquidator.js +1 -0
  16. package/dist/abi/full/VarlaConvertLiquidator.js.map +1 -0
  17. package/dist/abi/full/VarlaCore.js +1 -0
  18. package/dist/abi/full/VarlaCore.js.map +1 -0
  19. package/dist/abi/full/VarlaInterestRateStrategy.js +1 -0
  20. package/dist/abi/full/VarlaInterestRateStrategy.js.map +1 -0
  21. package/dist/abi/full/VarlaLiquidator.d.ts +12 -0
  22. package/dist/abi/full/VarlaLiquidator.d.ts.map +1 -1
  23. package/dist/abi/full/VarlaLiquidator.js +17 -0
  24. package/dist/abi/full/VarlaLiquidator.js.map +1 -0
  25. package/dist/abi/full/VarlaMergeLiquidator.js +1 -0
  26. package/dist/abi/full/VarlaMergeLiquidator.js.map +1 -0
  27. package/dist/abi/full/VarlaOracle.js +1 -0
  28. package/dist/abi/full/VarlaOracle.js.map +1 -0
  29. package/dist/abi/full/VarlaPool.js +1 -0
  30. package/dist/abi/full/VarlaPool.js.map +1 -0
  31. package/dist/abi/full/VarlaProxyAdmin.js +1 -0
  32. package/dist/abi/full/VarlaProxyAdmin.js.map +1 -0
  33. package/dist/abi/index.js +1 -0
  34. package/dist/abi/index.js.map +1 -0
  35. package/dist/abi/subsets/VarlaOracle.registry.js +1 -0
  36. package/dist/abi/subsets/VarlaOracle.registry.js.map +1 -0
  37. package/dist/abi.js +1 -0
  38. package/dist/abi.js.map +1 -0
  39. package/dist/actions/admin.js +1 -0
  40. package/dist/actions/admin.js.map +1 -0
  41. package/dist/actions/core.js +1 -0
  42. package/dist/actions/core.js.map +1 -0
  43. package/dist/actions/erc1155.js +1 -0
  44. package/dist/actions/erc1155.js.map +1 -0
  45. package/dist/actions/erc20.js +1 -0
  46. package/dist/actions/erc20.js.map +1 -0
  47. package/dist/actions/index.d.ts +7 -7
  48. package/dist/actions/index.d.ts.map +1 -1
  49. package/dist/actions/index.js +8 -7
  50. package/dist/actions/index.js.map +1 -0
  51. package/dist/actions/liquidator.js +1 -0
  52. package/dist/actions/liquidator.js.map +1 -0
  53. package/dist/actions/oracle.d.ts +1 -2
  54. package/dist/actions/oracle.d.ts.map +1 -1
  55. package/dist/actions/oracle.js +1 -0
  56. package/dist/actions/oracle.js.map +1 -0
  57. package/dist/actions/oracleUpdaterRouter.d.ts +8 -1
  58. package/dist/actions/oracleUpdaterRouter.d.ts.map +1 -1
  59. package/dist/actions/oracleUpdaterRouter.js +14 -1
  60. package/dist/actions/oracleUpdaterRouter.js.map +1 -0
  61. package/dist/actions/pool.js +1 -0
  62. package/dist/actions/pool.js.map +1 -0
  63. package/dist/actions/rbac.js +1 -0
  64. package/dist/actions/rbac.js.map +1 -0
  65. package/dist/actions/tx.js +1 -0
  66. package/dist/actions/tx.js.map +1 -0
  67. package/dist/actions/utils.js +1 -0
  68. package/dist/actions/utils.js.map +1 -0
  69. package/dist/addresses/bsc.js +1 -0
  70. package/dist/addresses/bsc.js.map +1 -0
  71. package/dist/addresses/index.js +1 -0
  72. package/dist/addresses/index.js.map +1 -0
  73. package/dist/addresses/polygon.js +1 -0
  74. package/dist/addresses/polygon.js.map +1 -0
  75. package/dist/addresses.js +1 -0
  76. package/dist/addresses.js.map +1 -0
  77. package/dist/batch.js +1 -0
  78. package/dist/batch.js.map +1 -0
  79. package/dist/contracts.d.ts +1 -2
  80. package/dist/contracts.d.ts.map +1 -1
  81. package/dist/contracts.js +2 -2
  82. package/dist/contracts.js.map +1 -0
  83. package/dist/errors.d.ts +87 -0
  84. package/dist/errors.d.ts.map +1 -0
  85. package/dist/errors.js +240 -0
  86. package/dist/errors.js.map +1 -0
  87. package/dist/events/decode.js +1 -0
  88. package/dist/events/decode.js.map +1 -0
  89. package/dist/events/defs.js +1 -0
  90. package/dist/events/defs.js.map +1 -0
  91. package/dist/events/index.d.ts +3 -3
  92. package/dist/events/index.d.ts.map +1 -1
  93. package/dist/events/index.js +4 -3
  94. package/dist/events/index.js.map +1 -0
  95. package/dist/events/logs.js +1 -0
  96. package/dist/events/logs.js.map +1 -0
  97. package/dist/events/oracleRegistrySync.js +1 -0
  98. package/dist/events/oracleRegistrySync.js.map +1 -0
  99. package/dist/events/recent.d.ts +1 -1
  100. package/dist/events/recent.d.ts.map +1 -1
  101. package/dist/events/recent.js +2 -1
  102. package/dist/events/recent.js.map +1 -0
  103. package/dist/format.js +1 -0
  104. package/dist/format.js.map +1 -0
  105. package/dist/generated.d.ts +42 -9
  106. package/dist/generated.d.ts.map +1 -1
  107. package/dist/generated.js +1 -0
  108. package/dist/generated.js.map +1 -0
  109. package/dist/index.d.ts +6 -5
  110. package/dist/index.d.ts.map +1 -1
  111. package/dist/index.js +12 -9
  112. package/dist/index.js.map +1 -0
  113. package/dist/leverage/deleverageExecute.d.ts +36 -0
  114. package/dist/leverage/deleverageExecute.d.ts.map +1 -0
  115. package/dist/leverage/deleverageExecute.js +53 -0
  116. package/dist/leverage/deleverageExecute.js.map +1 -0
  117. package/dist/leverage/execute.d.ts +62 -0
  118. package/dist/leverage/execute.d.ts.map +1 -0
  119. package/dist/leverage/execute.js +84 -0
  120. package/dist/leverage/execute.js.map +1 -0
  121. package/dist/leverage/index.d.ts +32 -0
  122. package/dist/leverage/index.d.ts.map +1 -0
  123. package/dist/leverage/index.js +12 -0
  124. package/dist/leverage/index.js.map +1 -0
  125. package/dist/leverage/math.d.ts +119 -0
  126. package/dist/leverage/math.d.ts.map +1 -0
  127. package/dist/leverage/math.js +304 -0
  128. package/dist/leverage/math.js.map +1 -0
  129. package/dist/leverage/plan.d.ts +143 -0
  130. package/dist/leverage/plan.d.ts.map +1 -0
  131. package/dist/leverage/plan.js +204 -0
  132. package/dist/leverage/plan.js.map +1 -0
  133. package/dist/leverage/preflight.d.ts +27 -0
  134. package/dist/leverage/preflight.d.ts.map +1 -0
  135. package/dist/leverage/preflight.js +34 -0
  136. package/dist/leverage/preflight.js.map +1 -0
  137. package/dist/leverage/types.d.ts +157 -0
  138. package/dist/leverage/types.d.ts.map +1 -0
  139. package/dist/leverage/types.js +43 -0
  140. package/dist/leverage/types.js.map +1 -0
  141. package/dist/meta.d.ts +42 -0
  142. package/dist/meta.d.ts.map +1 -0
  143. package/dist/meta.js +47 -0
  144. package/dist/meta.js.map +1 -0
  145. package/dist/types.js +1 -0
  146. package/dist/types.js.map +1 -0
  147. package/dist/views/accessManager.js +1 -0
  148. package/dist/views/accessManager.js.map +1 -0
  149. package/dist/views/adapters.js +1 -0
  150. package/dist/views/adapters.js.map +1 -0
  151. package/dist/views/admin.d.ts.map +1 -1
  152. package/dist/views/admin.js +1 -0
  153. package/dist/views/admin.js.map +1 -0
  154. package/dist/views/core.d.ts.map +1 -1
  155. package/dist/views/core.js +1 -0
  156. package/dist/views/core.js.map +1 -0
  157. package/dist/views/index.d.ts +5 -5
  158. package/dist/views/index.d.ts.map +1 -1
  159. package/dist/views/index.js +6 -5
  160. package/dist/views/index.js.map +1 -0
  161. package/dist/views/lenders.js +1 -0
  162. package/dist/views/lenders.js.map +1 -0
  163. package/dist/views/liquidators.d.ts +82 -1
  164. package/dist/views/liquidators.d.ts.map +1 -1
  165. package/dist/views/liquidators.js +88 -0
  166. package/dist/views/liquidators.js.map +1 -0
  167. package/dist/views/oracle.js +1 -0
  168. package/dist/views/oracle.js.map +1 -0
  169. package/dist/views/pool.js +1 -0
  170. package/dist/views/pool.js.map +1 -0
  171. package/dist/views/system.d.ts.map +1 -1
  172. package/dist/views/system.js +1 -0
  173. package/dist/views/system.js.map +1 -0
  174. package/package.json +18 -5
  175. package/src/abi/README.md +17 -0
  176. package/src/abi/full/OpinionCtfExecutionEngineAdapter.ts +320 -0
  177. package/src/abi/full/OracleUpdaterRouter.ts +528 -0
  178. package/src/abi/full/PolymarketCtfAdapter.ts +312 -0
  179. package/src/abi/full/VarlaAccessManager.ts +1171 -0
  180. package/src/abi/full/VarlaConvertLiquidator.ts +834 -0
  181. package/src/abi/full/VarlaCore.ts +2277 -0
  182. package/src/abi/full/VarlaInterestRateStrategy.ts +442 -0
  183. package/src/abi/full/VarlaLiquidator.ts +930 -0
  184. package/src/abi/full/VarlaMergeLiquidator.ts +797 -0
  185. package/src/abi/full/VarlaOracle.ts +1825 -0
  186. package/src/abi/full/VarlaPool.ts +1637 -0
  187. package/src/abi/full/VarlaProxyAdmin.ts +301 -0
  188. package/src/abi/index.ts +17 -0
  189. package/src/abi/subsets/VarlaOracle.registry.ts +784 -0
  190. package/src/abi.ts +2 -0
  191. package/src/actions/admin.ts +357 -0
  192. package/src/actions/core.ts +68 -0
  193. package/src/actions/erc1155.ts +22 -0
  194. package/src/actions/erc20.ts +22 -0
  195. package/src/actions/index.ts +13 -0
  196. package/src/actions/liquidator.ts +76 -0
  197. package/src/actions/oracle.ts +618 -0
  198. package/src/actions/oracleUpdaterRouter.ts +233 -0
  199. package/src/actions/pool.ts +76 -0
  200. package/src/actions/rbac.ts +72 -0
  201. package/src/actions/tx.ts +16 -0
  202. package/src/actions/utils.ts +15 -0
  203. package/src/addresses/README.md +17 -0
  204. package/src/addresses/bsc.json +16 -0
  205. package/src/addresses/bsc.ts +15 -0
  206. package/src/addresses/index.ts +6 -0
  207. package/src/addresses/polygon.json +16 -0
  208. package/src/addresses/polygon.ts +15 -0
  209. package/src/addresses.ts +2 -0
  210. package/src/batch.ts +55 -0
  211. package/src/contracts.ts +232 -0
  212. package/src/errors.ts +305 -0
  213. package/src/events/decode.ts +37 -0
  214. package/src/events/defs.ts +70 -0
  215. package/src/events/index.ts +7 -0
  216. package/src/events/logs.ts +42 -0
  217. package/src/events/oracleRegistrySync.ts +206 -0
  218. package/src/events/recent.ts +39 -0
  219. package/src/format.ts +121 -0
  220. package/src/generated.ts +27 -0
  221. package/src/index.ts +18 -0
  222. package/src/leverage/deleverageExecute.ts +111 -0
  223. package/src/leverage/execute.ts +172 -0
  224. package/src/leverage/index.ts +88 -0
  225. package/src/leverage/math.ts +446 -0
  226. package/src/leverage/plan.ts +356 -0
  227. package/src/leverage/preflight.ts +63 -0
  228. package/src/leverage/types.ts +204 -0
  229. package/src/meta.ts +82 -0
  230. package/src/types.ts +25 -0
  231. package/src/views/accessManager.ts +286 -0
  232. package/src/views/adapters.ts +27 -0
  233. package/src/views/admin.ts +92 -0
  234. package/src/views/core.ts +1370 -0
  235. package/src/views/index.ts +11 -0
  236. package/src/views/lenders.ts +65 -0
  237. package/src/views/liquidators.ts +377 -0
  238. package/src/views/oracle.ts +739 -0
  239. package/src/views/pool.ts +277 -0
  240. package/src/views/system.ts +42 -0
  241. package/BACKEND.md +0 -405
  242. package/FRONTEND.md +0 -485
@@ -0,0 +1,930 @@
1
+ // Auto-generated by varla-protocol/scripts/export-abi.ts
2
+ // Do not edit manually.
3
+ import type { Abi } from "viem";
4
+
5
+ export const VARLALIQUIDATOR_ABI = [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_core",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "address",
15
+ "name": "_treasury",
16
+ "type": "address"
17
+ },
18
+ {
19
+ "internalType": "address",
20
+ "name": "_authority",
21
+ "type": "address"
22
+ }
23
+ ],
24
+ "stateMutability": "nonpayable",
25
+ "type": "constructor"
26
+ },
27
+ {
28
+ "inputs": [
29
+ {
30
+ "internalType": "address",
31
+ "name": "authority",
32
+ "type": "address"
33
+ }
34
+ ],
35
+ "name": "AccessManagedInvalidAuthority",
36
+ "type": "error"
37
+ },
38
+ {
39
+ "inputs": [
40
+ {
41
+ "internalType": "address",
42
+ "name": "caller",
43
+ "type": "address"
44
+ },
45
+ {
46
+ "internalType": "uint32",
47
+ "name": "delay",
48
+ "type": "uint32"
49
+ }
50
+ ],
51
+ "name": "AccessManagedRequiredDelay",
52
+ "type": "error"
53
+ },
54
+ {
55
+ "inputs": [
56
+ {
57
+ "internalType": "address",
58
+ "name": "caller",
59
+ "type": "address"
60
+ }
61
+ ],
62
+ "name": "AccessManagedUnauthorized",
63
+ "type": "error"
64
+ },
65
+ {
66
+ "inputs": [
67
+ {
68
+ "internalType": "uint256",
69
+ "name": "healthFactorAfter",
70
+ "type": "uint256"
71
+ },
72
+ {
73
+ "internalType": "uint256",
74
+ "name": "targetHealthFactor",
75
+ "type": "uint256"
76
+ }
77
+ ],
78
+ "name": "CannotReachTargetHealthFactor",
79
+ "type": "error"
80
+ },
81
+ {
82
+ "inputs": [
83
+ {
84
+ "internalType": "uint256",
85
+ "name": "positionId",
86
+ "type": "uint256"
87
+ }
88
+ ],
89
+ "name": "DuplicatePositionId",
90
+ "type": "error"
91
+ },
92
+ {
93
+ "inputs": [],
94
+ "name": "EmptyPositionIds",
95
+ "type": "error"
96
+ },
97
+ {
98
+ "inputs": [
99
+ {
100
+ "internalType": "uint256",
101
+ "name": "requiredValue",
102
+ "type": "uint256"
103
+ },
104
+ {
105
+ "internalType": "uint256",
106
+ "name": "availableValue",
107
+ "type": "uint256"
108
+ }
109
+ ],
110
+ "name": "InsufficientCollateralInList",
111
+ "type": "error"
112
+ },
113
+ {
114
+ "inputs": [],
115
+ "name": "InvalidDebtToCover",
116
+ "type": "error"
117
+ },
118
+ {
119
+ "inputs": [],
120
+ "name": "LiquidationBlockedByOracleGuards",
121
+ "type": "error"
122
+ },
123
+ {
124
+ "inputs": [],
125
+ "name": "MustNotLeaveDust",
126
+ "type": "error"
127
+ },
128
+ {
129
+ "inputs": [],
130
+ "name": "NoCollateralToSeize",
131
+ "type": "error"
132
+ },
133
+ {
134
+ "inputs": [
135
+ {
136
+ "internalType": "uint256",
137
+ "name": "healthFactor",
138
+ "type": "uint256"
139
+ }
140
+ ],
141
+ "name": "NotLiquidatable",
142
+ "type": "error"
143
+ },
144
+ {
145
+ "inputs": [
146
+ {
147
+ "internalType": "uint256",
148
+ "name": "positionId",
149
+ "type": "uint256"
150
+ }
151
+ ],
152
+ "name": "OraclePriceUnavailable",
153
+ "type": "error"
154
+ },
155
+ {
156
+ "inputs": [
157
+ {
158
+ "internalType": "uint256",
159
+ "name": "positionId",
160
+ "type": "uint256"
161
+ }
162
+ ],
163
+ "name": "OracleZeroPrice",
164
+ "type": "error"
165
+ },
166
+ {
167
+ "inputs": [],
168
+ "name": "ReentrancyGuardReentrantCall",
169
+ "type": "error"
170
+ },
171
+ {
172
+ "inputs": [
173
+ {
174
+ "internalType": "address",
175
+ "name": "token",
176
+ "type": "address"
177
+ }
178
+ ],
179
+ "name": "SafeERC20FailedOperation",
180
+ "type": "error"
181
+ },
182
+ {
183
+ "inputs": [],
184
+ "name": "SelfLiquidation",
185
+ "type": "error"
186
+ },
187
+ {
188
+ "inputs": [
189
+ {
190
+ "internalType": "uint256",
191
+ "name": "count",
192
+ "type": "uint256"
193
+ },
194
+ {
195
+ "internalType": "uint256",
196
+ "name": "max",
197
+ "type": "uint256"
198
+ }
199
+ ],
200
+ "name": "TooManyPositionIds",
201
+ "type": "error"
202
+ },
203
+ {
204
+ "inputs": [],
205
+ "name": "ZeroAddress",
206
+ "type": "error"
207
+ },
208
+ {
209
+ "inputs": [],
210
+ "name": "ZeroMaxRepay",
211
+ "type": "error"
212
+ },
213
+ {
214
+ "anonymous": false,
215
+ "inputs": [
216
+ {
217
+ "indexed": false,
218
+ "internalType": "address",
219
+ "name": "authority",
220
+ "type": "address"
221
+ }
222
+ ],
223
+ "name": "AuthorityUpdated",
224
+ "type": "event"
225
+ },
226
+ {
227
+ "anonymous": false,
228
+ "inputs": [
229
+ {
230
+ "indexed": true,
231
+ "internalType": "address",
232
+ "name": "liquidator",
233
+ "type": "address"
234
+ },
235
+ {
236
+ "indexed": true,
237
+ "internalType": "address",
238
+ "name": "user",
239
+ "type": "address"
240
+ },
241
+ {
242
+ "indexed": false,
243
+ "internalType": "uint256",
244
+ "name": "totalCollateralSeized",
245
+ "type": "uint256"
246
+ },
247
+ {
248
+ "indexed": false,
249
+ "internalType": "uint256",
250
+ "name": "debtRepaid",
251
+ "type": "uint256"
252
+ },
253
+ {
254
+ "indexed": false,
255
+ "internalType": "uint256",
256
+ "name": "badDebtWrittenOff",
257
+ "type": "uint256"
258
+ }
259
+ ],
260
+ "name": "BadDebtLiquidation",
261
+ "type": "event"
262
+ },
263
+ {
264
+ "anonymous": false,
265
+ "inputs": [
266
+ {
267
+ "indexed": true,
268
+ "internalType": "address",
269
+ "name": "liquidator",
270
+ "type": "address"
271
+ },
272
+ {
273
+ "indexed": true,
274
+ "internalType": "address",
275
+ "name": "user",
276
+ "type": "address"
277
+ },
278
+ {
279
+ "indexed": true,
280
+ "internalType": "uint256",
281
+ "name": "positionId",
282
+ "type": "uint256"
283
+ },
284
+ {
285
+ "indexed": false,
286
+ "internalType": "uint256",
287
+ "name": "debtRepaid",
288
+ "type": "uint256"
289
+ },
290
+ {
291
+ "indexed": false,
292
+ "internalType": "uint256",
293
+ "name": "collateralSeized",
294
+ "type": "uint256"
295
+ },
296
+ {
297
+ "indexed": false,
298
+ "internalType": "uint256",
299
+ "name": "bonusAmount",
300
+ "type": "uint256"
301
+ },
302
+ {
303
+ "indexed": false,
304
+ "internalType": "uint256",
305
+ "name": "protocolFee",
306
+ "type": "uint256"
307
+ },
308
+ {
309
+ "indexed": false,
310
+ "internalType": "bool",
311
+ "name": "usedMerge",
312
+ "type": "bool"
313
+ }
314
+ ],
315
+ "name": "Liquidation",
316
+ "type": "event"
317
+ },
318
+ {
319
+ "anonymous": false,
320
+ "inputs": [
321
+ {
322
+ "indexed": true,
323
+ "internalType": "address",
324
+ "name": "liquidator",
325
+ "type": "address"
326
+ },
327
+ {
328
+ "indexed": true,
329
+ "internalType": "address",
330
+ "name": "user",
331
+ "type": "address"
332
+ },
333
+ {
334
+ "indexed": false,
335
+ "internalType": "uint256",
336
+ "name": "debtRepaid",
337
+ "type": "uint256"
338
+ },
339
+ {
340
+ "indexed": false,
341
+ "internalType": "uint256",
342
+ "name": "collateralSeizedValue",
343
+ "type": "uint256"
344
+ },
345
+ {
346
+ "indexed": false,
347
+ "internalType": "uint256",
348
+ "name": "bonusAmount",
349
+ "type": "uint256"
350
+ },
351
+ {
352
+ "indexed": false,
353
+ "internalType": "uint256",
354
+ "name": "protocolFee",
355
+ "type": "uint256"
356
+ }
357
+ ],
358
+ "name": "MultiLiquidation",
359
+ "type": "event"
360
+ },
361
+ {
362
+ "anonymous": false,
363
+ "inputs": [
364
+ {
365
+ "indexed": true,
366
+ "internalType": "address",
367
+ "name": "oldStaking",
368
+ "type": "address"
369
+ },
370
+ {
371
+ "indexed": true,
372
+ "internalType": "address",
373
+ "name": "newStaking",
374
+ "type": "address"
375
+ }
376
+ ],
377
+ "name": "StakingUpdated",
378
+ "type": "event"
379
+ },
380
+ {
381
+ "anonymous": false,
382
+ "inputs": [
383
+ {
384
+ "indexed": true,
385
+ "internalType": "address",
386
+ "name": "oldTreasury",
387
+ "type": "address"
388
+ },
389
+ {
390
+ "indexed": true,
391
+ "internalType": "address",
392
+ "name": "newTreasury",
393
+ "type": "address"
394
+ }
395
+ ],
396
+ "name": "TreasuryUpdated",
397
+ "type": "event"
398
+ },
399
+ {
400
+ "inputs": [],
401
+ "name": "BPS",
402
+ "outputs": [
403
+ {
404
+ "internalType": "uint256",
405
+ "name": "",
406
+ "type": "uint256"
407
+ }
408
+ ],
409
+ "stateMutability": "view",
410
+ "type": "function"
411
+ },
412
+ {
413
+ "inputs": [],
414
+ "name": "HEALTH_FACTOR_LIQUIDATION_THRESHOLD",
415
+ "outputs": [
416
+ {
417
+ "internalType": "uint256",
418
+ "name": "",
419
+ "type": "uint256"
420
+ }
421
+ ],
422
+ "stateMutability": "view",
423
+ "type": "function"
424
+ },
425
+ {
426
+ "inputs": [],
427
+ "name": "PRECISION",
428
+ "outputs": [
429
+ {
430
+ "internalType": "uint256",
431
+ "name": "",
432
+ "type": "uint256"
433
+ }
434
+ ],
435
+ "stateMutability": "view",
436
+ "type": "function"
437
+ },
438
+ {
439
+ "inputs": [],
440
+ "name": "authority",
441
+ "outputs": [
442
+ {
443
+ "internalType": "address",
444
+ "name": "",
445
+ "type": "address"
446
+ }
447
+ ],
448
+ "stateMutability": "view",
449
+ "type": "function"
450
+ },
451
+ {
452
+ "inputs": [
453
+ {
454
+ "internalType": "uint256",
455
+ "name": "healthFactor",
456
+ "type": "uint256"
457
+ }
458
+ ],
459
+ "name": "calculateLiquidationBonus",
460
+ "outputs": [
461
+ {
462
+ "internalType": "uint256",
463
+ "name": "",
464
+ "type": "uint256"
465
+ }
466
+ ],
467
+ "stateMutability": "view",
468
+ "type": "function"
469
+ },
470
+ {
471
+ "inputs": [
472
+ {
473
+ "internalType": "address",
474
+ "name": "user",
475
+ "type": "address"
476
+ }
477
+ ],
478
+ "name": "canLiquidate",
479
+ "outputs": [
480
+ {
481
+ "internalType": "bool",
482
+ "name": "canLiquidate_",
483
+ "type": "bool"
484
+ },
485
+ {
486
+ "internalType": "uint256",
487
+ "name": "healthFactor",
488
+ "type": "uint256"
489
+ },
490
+ {
491
+ "internalType": "uint256",
492
+ "name": "currentBonus",
493
+ "type": "uint256"
494
+ }
495
+ ],
496
+ "stateMutability": "view",
497
+ "type": "function"
498
+ },
499
+ {
500
+ "inputs": [
501
+ {
502
+ "internalType": "address",
503
+ "name": "user",
504
+ "type": "address"
505
+ }
506
+ ],
507
+ "name": "checkBadDebt",
508
+ "outputs": [
509
+ {
510
+ "internalType": "bool",
511
+ "name": "hasBadDebt",
512
+ "type": "bool"
513
+ },
514
+ {
515
+ "internalType": "uint256",
516
+ "name": "collateralValue",
517
+ "type": "uint256"
518
+ },
519
+ {
520
+ "internalType": "uint256",
521
+ "name": "debtValue",
522
+ "type": "uint256"
523
+ },
524
+ {
525
+ "internalType": "uint256",
526
+ "name": "shortfall",
527
+ "type": "uint256"
528
+ }
529
+ ],
530
+ "stateMutability": "view",
531
+ "type": "function"
532
+ },
533
+ {
534
+ "inputs": [],
535
+ "name": "collateralToken",
536
+ "outputs": [
537
+ {
538
+ "internalType": "contract IERC20",
539
+ "name": "",
540
+ "type": "address"
541
+ }
542
+ ],
543
+ "stateMutability": "view",
544
+ "type": "function"
545
+ },
546
+ {
547
+ "inputs": [],
548
+ "name": "core",
549
+ "outputs": [
550
+ {
551
+ "internalType": "contract IVarlaCore",
552
+ "name": "",
553
+ "type": "address"
554
+ }
555
+ ],
556
+ "stateMutability": "view",
557
+ "type": "function"
558
+ },
559
+ {
560
+ "inputs": [],
561
+ "name": "isConsumingScheduledOp",
562
+ "outputs": [
563
+ {
564
+ "internalType": "bytes4",
565
+ "name": "",
566
+ "type": "bytes4"
567
+ }
568
+ ],
569
+ "stateMutability": "view",
570
+ "type": "function"
571
+ },
572
+ {
573
+ "inputs": [
574
+ {
575
+ "internalType": "address",
576
+ "name": "user",
577
+ "type": "address"
578
+ },
579
+ {
580
+ "internalType": "uint256",
581
+ "name": "positionId",
582
+ "type": "uint256"
583
+ },
584
+ {
585
+ "internalType": "uint256",
586
+ "name": "debtToCover",
587
+ "type": "uint256"
588
+ }
589
+ ],
590
+ "name": "liquidate",
591
+ "outputs": [],
592
+ "stateMutability": "nonpayable",
593
+ "type": "function"
594
+ },
595
+ {
596
+ "inputs": [
597
+ {
598
+ "internalType": "address",
599
+ "name": "user",
600
+ "type": "address"
601
+ },
602
+ {
603
+ "internalType": "uint256",
604
+ "name": "maxRepayAmount",
605
+ "type": "uint256"
606
+ }
607
+ ],
608
+ "name": "liquidateBadDebt",
609
+ "outputs": [],
610
+ "stateMutability": "nonpayable",
611
+ "type": "function"
612
+ },
613
+ {
614
+ "inputs": [
615
+ {
616
+ "internalType": "address",
617
+ "name": "user",
618
+ "type": "address"
619
+ },
620
+ {
621
+ "internalType": "uint256[]",
622
+ "name": "positionIds",
623
+ "type": "uint256[]"
624
+ },
625
+ {
626
+ "internalType": "uint256",
627
+ "name": "debtToCover",
628
+ "type": "uint256"
629
+ }
630
+ ],
631
+ "name": "liquidateMulti",
632
+ "outputs": [],
633
+ "stateMutability": "nonpayable",
634
+ "type": "function"
635
+ },
636
+ {
637
+ "inputs": [
638
+ {
639
+ "internalType": "address",
640
+ "name": "",
641
+ "type": "address"
642
+ },
643
+ {
644
+ "internalType": "address",
645
+ "name": "",
646
+ "type": "address"
647
+ },
648
+ {
649
+ "internalType": "uint256[]",
650
+ "name": "",
651
+ "type": "uint256[]"
652
+ },
653
+ {
654
+ "internalType": "uint256[]",
655
+ "name": "",
656
+ "type": "uint256[]"
657
+ },
658
+ {
659
+ "internalType": "bytes",
660
+ "name": "",
661
+ "type": "bytes"
662
+ }
663
+ ],
664
+ "name": "onERC1155BatchReceived",
665
+ "outputs": [
666
+ {
667
+ "internalType": "bytes4",
668
+ "name": "",
669
+ "type": "bytes4"
670
+ }
671
+ ],
672
+ "stateMutability": "nonpayable",
673
+ "type": "function"
674
+ },
675
+ {
676
+ "inputs": [
677
+ {
678
+ "internalType": "address",
679
+ "name": "",
680
+ "type": "address"
681
+ },
682
+ {
683
+ "internalType": "address",
684
+ "name": "",
685
+ "type": "address"
686
+ },
687
+ {
688
+ "internalType": "uint256",
689
+ "name": "",
690
+ "type": "uint256"
691
+ },
692
+ {
693
+ "internalType": "uint256",
694
+ "name": "",
695
+ "type": "uint256"
696
+ },
697
+ {
698
+ "internalType": "bytes",
699
+ "name": "",
700
+ "type": "bytes"
701
+ }
702
+ ],
703
+ "name": "onERC1155Received",
704
+ "outputs": [
705
+ {
706
+ "internalType": "bytes4",
707
+ "name": "",
708
+ "type": "bytes4"
709
+ }
710
+ ],
711
+ "stateMutability": "nonpayable",
712
+ "type": "function"
713
+ },
714
+ {
715
+ "inputs": [],
716
+ "name": "positionsToken",
717
+ "outputs": [
718
+ {
719
+ "internalType": "contract ICTF",
720
+ "name": "",
721
+ "type": "address"
722
+ }
723
+ ],
724
+ "stateMutability": "view",
725
+ "type": "function"
726
+ },
727
+ {
728
+ "inputs": [
729
+ {
730
+ "internalType": "address",
731
+ "name": "user",
732
+ "type": "address"
733
+ },
734
+ {
735
+ "internalType": "uint256",
736
+ "name": "positionId",
737
+ "type": "uint256"
738
+ },
739
+ {
740
+ "internalType": "uint256",
741
+ "name": "debtToCover",
742
+ "type": "uint256"
743
+ }
744
+ ],
745
+ "name": "previewLiquidation",
746
+ "outputs": [
747
+ {
748
+ "internalType": "uint256",
749
+ "name": "debtToLiquidate",
750
+ "type": "uint256"
751
+ },
752
+ {
753
+ "internalType": "uint256",
754
+ "name": "collateralToSeize",
755
+ "type": "uint256"
756
+ },
757
+ {
758
+ "internalType": "uint256",
759
+ "name": "bonusAmount",
760
+ "type": "uint256"
761
+ },
762
+ {
763
+ "internalType": "uint256",
764
+ "name": "protocolFeeAmount",
765
+ "type": "uint256"
766
+ },
767
+ {
768
+ "internalType": "uint256",
769
+ "name": "liquidatorProfitMerge",
770
+ "type": "uint256"
771
+ }
772
+ ],
773
+ "stateMutability": "view",
774
+ "type": "function"
775
+ },
776
+ {
777
+ "inputs": [
778
+ {
779
+ "internalType": "address",
780
+ "name": "token",
781
+ "type": "address"
782
+ },
783
+ {
784
+ "internalType": "address",
785
+ "name": "to",
786
+ "type": "address"
787
+ },
788
+ {
789
+ "internalType": "uint256",
790
+ "name": "id",
791
+ "type": "uint256"
792
+ },
793
+ {
794
+ "internalType": "uint256",
795
+ "name": "amount",
796
+ "type": "uint256"
797
+ }
798
+ ],
799
+ "name": "rescueERC1155",
800
+ "outputs": [],
801
+ "stateMutability": "nonpayable",
802
+ "type": "function"
803
+ },
804
+ {
805
+ "inputs": [
806
+ {
807
+ "internalType": "address",
808
+ "name": "token",
809
+ "type": "address"
810
+ },
811
+ {
812
+ "internalType": "address",
813
+ "name": "to",
814
+ "type": "address"
815
+ },
816
+ {
817
+ "internalType": "uint256",
818
+ "name": "amount",
819
+ "type": "uint256"
820
+ }
821
+ ],
822
+ "name": "rescueERC20",
823
+ "outputs": [],
824
+ "stateMutability": "nonpayable",
825
+ "type": "function"
826
+ },
827
+ {
828
+ "inputs": [
829
+ {
830
+ "internalType": "address",
831
+ "name": "user",
832
+ "type": "address"
833
+ },
834
+ {
835
+ "internalType": "uint256",
836
+ "name": "expectedScaledDebt",
837
+ "type": "uint256"
838
+ }
839
+ ],
840
+ "name": "resolveBadDebtWithReserve",
841
+ "outputs": [],
842
+ "stateMutability": "nonpayable",
843
+ "type": "function"
844
+ },
845
+ {
846
+ "inputs": [
847
+ {
848
+ "internalType": "address",
849
+ "name": "newAuthority",
850
+ "type": "address"
851
+ }
852
+ ],
853
+ "name": "setAuthority",
854
+ "outputs": [],
855
+ "stateMutability": "nonpayable",
856
+ "type": "function"
857
+ },
858
+ {
859
+ "inputs": [
860
+ {
861
+ "internalType": "address",
862
+ "name": "_staking",
863
+ "type": "address"
864
+ }
865
+ ],
866
+ "name": "setStaking",
867
+ "outputs": [],
868
+ "stateMutability": "nonpayable",
869
+ "type": "function"
870
+ },
871
+ {
872
+ "inputs": [
873
+ {
874
+ "internalType": "address",
875
+ "name": "_treasury",
876
+ "type": "address"
877
+ }
878
+ ],
879
+ "name": "setTreasury",
880
+ "outputs": [],
881
+ "stateMutability": "nonpayable",
882
+ "type": "function"
883
+ },
884
+ {
885
+ "inputs": [],
886
+ "name": "staking",
887
+ "outputs": [
888
+ {
889
+ "internalType": "address",
890
+ "name": "",
891
+ "type": "address"
892
+ }
893
+ ],
894
+ "stateMutability": "view",
895
+ "type": "function"
896
+ },
897
+ {
898
+ "inputs": [
899
+ {
900
+ "internalType": "bytes4",
901
+ "name": "interfaceId",
902
+ "type": "bytes4"
903
+ }
904
+ ],
905
+ "name": "supportsInterface",
906
+ "outputs": [
907
+ {
908
+ "internalType": "bool",
909
+ "name": "",
910
+ "type": "bool"
911
+ }
912
+ ],
913
+ "stateMutability": "view",
914
+ "type": "function"
915
+ },
916
+ {
917
+ "inputs": [],
918
+ "name": "treasury",
919
+ "outputs": [
920
+ {
921
+ "internalType": "address",
922
+ "name": "",
923
+ "type": "address"
924
+ }
925
+ ],
926
+ "stateMutability": "view",
927
+ "type": "function"
928
+ }
929
+ ] as const satisfies Abi;
930
+