@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,797 @@
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 VARLAMERGELIQUIDATOR_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": "seizedPositionId",
70
+ "type": "uint256"
71
+ }
72
+ ],
73
+ "name": "ConditionIdNotConfigured",
74
+ "type": "error"
75
+ },
76
+ {
77
+ "inputs": [
78
+ {
79
+ "internalType": "uint256",
80
+ "name": "collateralReceived",
81
+ "type": "uint256"
82
+ },
83
+ {
84
+ "internalType": "uint256",
85
+ "name": "required",
86
+ "type": "uint256"
87
+ }
88
+ ],
89
+ "name": "InsufficientMergeCollateral",
90
+ "type": "error"
91
+ },
92
+ {
93
+ "inputs": [],
94
+ "name": "InsufficientOppositeTokens",
95
+ "type": "error"
96
+ },
97
+ {
98
+ "inputs": [],
99
+ "name": "InvalidDebtToCover",
100
+ "type": "error"
101
+ },
102
+ {
103
+ "inputs": [
104
+ {
105
+ "internalType": "uint256",
106
+ "name": "seizedPositionId",
107
+ "type": "uint256"
108
+ },
109
+ {
110
+ "internalType": "uint256",
111
+ "name": "oppositePositionId",
112
+ "type": "uint256"
113
+ }
114
+ ],
115
+ "name": "InvalidOppositePair",
116
+ "type": "error"
117
+ },
118
+ {
119
+ "inputs": [],
120
+ "name": "LiquidationBlockedByOracleGuards",
121
+ "type": "error"
122
+ },
123
+ {
124
+ "inputs": [],
125
+ "name": "MarketAdapterNotSet",
126
+ "type": "error"
127
+ },
128
+ {
129
+ "inputs": [],
130
+ "name": "MustNotLeaveDust",
131
+ "type": "error"
132
+ },
133
+ {
134
+ "inputs": [],
135
+ "name": "NoCollateralToSeize",
136
+ "type": "error"
137
+ },
138
+ {
139
+ "inputs": [
140
+ {
141
+ "internalType": "uint256",
142
+ "name": "healthFactor",
143
+ "type": "uint256"
144
+ }
145
+ ],
146
+ "name": "NotLiquidatable",
147
+ "type": "error"
148
+ },
149
+ {
150
+ "inputs": [
151
+ {
152
+ "internalType": "uint256",
153
+ "name": "seizedPositionId",
154
+ "type": "uint256"
155
+ }
156
+ ],
157
+ "name": "OppositePositionIdNotConfigured",
158
+ "type": "error"
159
+ },
160
+ {
161
+ "inputs": [
162
+ {
163
+ "internalType": "uint256",
164
+ "name": "positionId",
165
+ "type": "uint256"
166
+ }
167
+ ],
168
+ "name": "OraclePriceUnavailable",
169
+ "type": "error"
170
+ },
171
+ {
172
+ "inputs": [
173
+ {
174
+ "internalType": "uint256",
175
+ "name": "positionId",
176
+ "type": "uint256"
177
+ }
178
+ ],
179
+ "name": "OracleZeroPrice",
180
+ "type": "error"
181
+ },
182
+ {
183
+ "inputs": [],
184
+ "name": "ReentrancyGuardReentrantCall",
185
+ "type": "error"
186
+ },
187
+ {
188
+ "inputs": [
189
+ {
190
+ "internalType": "address",
191
+ "name": "token",
192
+ "type": "address"
193
+ }
194
+ ],
195
+ "name": "SafeERC20FailedOperation",
196
+ "type": "error"
197
+ },
198
+ {
199
+ "inputs": [],
200
+ "name": "SelfLiquidation",
201
+ "type": "error"
202
+ },
203
+ {
204
+ "inputs": [],
205
+ "name": "ZeroAddress",
206
+ "type": "error"
207
+ },
208
+ {
209
+ "anonymous": false,
210
+ "inputs": [
211
+ {
212
+ "indexed": false,
213
+ "internalType": "address",
214
+ "name": "authority",
215
+ "type": "address"
216
+ }
217
+ ],
218
+ "name": "AuthorityUpdated",
219
+ "type": "event"
220
+ },
221
+ {
222
+ "anonymous": false,
223
+ "inputs": [
224
+ {
225
+ "indexed": true,
226
+ "internalType": "address",
227
+ "name": "liquidator",
228
+ "type": "address"
229
+ },
230
+ {
231
+ "indexed": true,
232
+ "internalType": "address",
233
+ "name": "user",
234
+ "type": "address"
235
+ },
236
+ {
237
+ "indexed": true,
238
+ "internalType": "uint256",
239
+ "name": "positionId",
240
+ "type": "uint256"
241
+ },
242
+ {
243
+ "indexed": false,
244
+ "internalType": "uint256",
245
+ "name": "debtRepaid",
246
+ "type": "uint256"
247
+ },
248
+ {
249
+ "indexed": false,
250
+ "internalType": "uint256",
251
+ "name": "collateralSeized",
252
+ "type": "uint256"
253
+ },
254
+ {
255
+ "indexed": false,
256
+ "internalType": "uint256",
257
+ "name": "bonusAmount",
258
+ "type": "uint256"
259
+ },
260
+ {
261
+ "indexed": false,
262
+ "internalType": "uint256",
263
+ "name": "protocolFee",
264
+ "type": "uint256"
265
+ },
266
+ {
267
+ "indexed": false,
268
+ "internalType": "bool",
269
+ "name": "usedMerge",
270
+ "type": "bool"
271
+ }
272
+ ],
273
+ "name": "Liquidation",
274
+ "type": "event"
275
+ },
276
+ {
277
+ "anonymous": false,
278
+ "inputs": [
279
+ {
280
+ "indexed": true,
281
+ "internalType": "address",
282
+ "name": "oldAdapter",
283
+ "type": "address"
284
+ },
285
+ {
286
+ "indexed": true,
287
+ "internalType": "address",
288
+ "name": "newAdapter",
289
+ "type": "address"
290
+ }
291
+ ],
292
+ "name": "MarketAdapterUpdated",
293
+ "type": "event"
294
+ },
295
+ {
296
+ "anonymous": false,
297
+ "inputs": [
298
+ {
299
+ "indexed": true,
300
+ "internalType": "address",
301
+ "name": "oldStaking",
302
+ "type": "address"
303
+ },
304
+ {
305
+ "indexed": true,
306
+ "internalType": "address",
307
+ "name": "newStaking",
308
+ "type": "address"
309
+ }
310
+ ],
311
+ "name": "StakingUpdated",
312
+ "type": "event"
313
+ },
314
+ {
315
+ "anonymous": false,
316
+ "inputs": [
317
+ {
318
+ "indexed": true,
319
+ "internalType": "address",
320
+ "name": "oldTreasury",
321
+ "type": "address"
322
+ },
323
+ {
324
+ "indexed": true,
325
+ "internalType": "address",
326
+ "name": "newTreasury",
327
+ "type": "address"
328
+ }
329
+ ],
330
+ "name": "TreasuryUpdated",
331
+ "type": "event"
332
+ },
333
+ {
334
+ "inputs": [],
335
+ "name": "BPS",
336
+ "outputs": [
337
+ {
338
+ "internalType": "uint256",
339
+ "name": "",
340
+ "type": "uint256"
341
+ }
342
+ ],
343
+ "stateMutability": "view",
344
+ "type": "function"
345
+ },
346
+ {
347
+ "inputs": [],
348
+ "name": "HEALTH_FACTOR_LIQUIDATION_THRESHOLD",
349
+ "outputs": [
350
+ {
351
+ "internalType": "uint256",
352
+ "name": "",
353
+ "type": "uint256"
354
+ }
355
+ ],
356
+ "stateMutability": "view",
357
+ "type": "function"
358
+ },
359
+ {
360
+ "inputs": [],
361
+ "name": "PRECISION",
362
+ "outputs": [
363
+ {
364
+ "internalType": "uint256",
365
+ "name": "",
366
+ "type": "uint256"
367
+ }
368
+ ],
369
+ "stateMutability": "view",
370
+ "type": "function"
371
+ },
372
+ {
373
+ "inputs": [],
374
+ "name": "authority",
375
+ "outputs": [
376
+ {
377
+ "internalType": "address",
378
+ "name": "",
379
+ "type": "address"
380
+ }
381
+ ],
382
+ "stateMutability": "view",
383
+ "type": "function"
384
+ },
385
+ {
386
+ "inputs": [
387
+ {
388
+ "internalType": "uint256",
389
+ "name": "healthFactor",
390
+ "type": "uint256"
391
+ }
392
+ ],
393
+ "name": "calculateLiquidationBonus",
394
+ "outputs": [
395
+ {
396
+ "internalType": "uint256",
397
+ "name": "",
398
+ "type": "uint256"
399
+ }
400
+ ],
401
+ "stateMutability": "view",
402
+ "type": "function"
403
+ },
404
+ {
405
+ "inputs": [
406
+ {
407
+ "internalType": "address",
408
+ "name": "user",
409
+ "type": "address"
410
+ }
411
+ ],
412
+ "name": "canLiquidate",
413
+ "outputs": [
414
+ {
415
+ "internalType": "bool",
416
+ "name": "canLiquidate_",
417
+ "type": "bool"
418
+ },
419
+ {
420
+ "internalType": "uint256",
421
+ "name": "healthFactor",
422
+ "type": "uint256"
423
+ },
424
+ {
425
+ "internalType": "uint256",
426
+ "name": "currentBonus",
427
+ "type": "uint256"
428
+ }
429
+ ],
430
+ "stateMutability": "view",
431
+ "type": "function"
432
+ },
433
+ {
434
+ "inputs": [],
435
+ "name": "collateralToken",
436
+ "outputs": [
437
+ {
438
+ "internalType": "contract IERC20",
439
+ "name": "",
440
+ "type": "address"
441
+ }
442
+ ],
443
+ "stateMutability": "view",
444
+ "type": "function"
445
+ },
446
+ {
447
+ "inputs": [],
448
+ "name": "core",
449
+ "outputs": [
450
+ {
451
+ "internalType": "contract IVarlaCore",
452
+ "name": "",
453
+ "type": "address"
454
+ }
455
+ ],
456
+ "stateMutability": "view",
457
+ "type": "function"
458
+ },
459
+ {
460
+ "inputs": [],
461
+ "name": "isConsumingScheduledOp",
462
+ "outputs": [
463
+ {
464
+ "internalType": "bytes4",
465
+ "name": "",
466
+ "type": "bytes4"
467
+ }
468
+ ],
469
+ "stateMutability": "view",
470
+ "type": "function"
471
+ },
472
+ {
473
+ "inputs": [
474
+ {
475
+ "internalType": "address",
476
+ "name": "user",
477
+ "type": "address"
478
+ },
479
+ {
480
+ "internalType": "uint256",
481
+ "name": "seizedPositionId",
482
+ "type": "uint256"
483
+ },
484
+ {
485
+ "internalType": "uint256",
486
+ "name": "debtToCover",
487
+ "type": "uint256"
488
+ }
489
+ ],
490
+ "name": "liquidateWithMerge",
491
+ "outputs": [],
492
+ "stateMutability": "nonpayable",
493
+ "type": "function"
494
+ },
495
+ {
496
+ "inputs": [],
497
+ "name": "marketAdapter",
498
+ "outputs": [
499
+ {
500
+ "internalType": "contract IMarketAdapter",
501
+ "name": "",
502
+ "type": "address"
503
+ }
504
+ ],
505
+ "stateMutability": "view",
506
+ "type": "function"
507
+ },
508
+ {
509
+ "inputs": [
510
+ {
511
+ "internalType": "address",
512
+ "name": "",
513
+ "type": "address"
514
+ },
515
+ {
516
+ "internalType": "address",
517
+ "name": "",
518
+ "type": "address"
519
+ },
520
+ {
521
+ "internalType": "uint256[]",
522
+ "name": "",
523
+ "type": "uint256[]"
524
+ },
525
+ {
526
+ "internalType": "uint256[]",
527
+ "name": "",
528
+ "type": "uint256[]"
529
+ },
530
+ {
531
+ "internalType": "bytes",
532
+ "name": "",
533
+ "type": "bytes"
534
+ }
535
+ ],
536
+ "name": "onERC1155BatchReceived",
537
+ "outputs": [
538
+ {
539
+ "internalType": "bytes4",
540
+ "name": "",
541
+ "type": "bytes4"
542
+ }
543
+ ],
544
+ "stateMutability": "nonpayable",
545
+ "type": "function"
546
+ },
547
+ {
548
+ "inputs": [
549
+ {
550
+ "internalType": "address",
551
+ "name": "",
552
+ "type": "address"
553
+ },
554
+ {
555
+ "internalType": "address",
556
+ "name": "",
557
+ "type": "address"
558
+ },
559
+ {
560
+ "internalType": "uint256",
561
+ "name": "",
562
+ "type": "uint256"
563
+ },
564
+ {
565
+ "internalType": "uint256",
566
+ "name": "",
567
+ "type": "uint256"
568
+ },
569
+ {
570
+ "internalType": "bytes",
571
+ "name": "",
572
+ "type": "bytes"
573
+ }
574
+ ],
575
+ "name": "onERC1155Received",
576
+ "outputs": [
577
+ {
578
+ "internalType": "bytes4",
579
+ "name": "",
580
+ "type": "bytes4"
581
+ }
582
+ ],
583
+ "stateMutability": "nonpayable",
584
+ "type": "function"
585
+ },
586
+ {
587
+ "inputs": [],
588
+ "name": "positionsToken",
589
+ "outputs": [
590
+ {
591
+ "internalType": "contract ICTF",
592
+ "name": "",
593
+ "type": "address"
594
+ }
595
+ ],
596
+ "stateMutability": "view",
597
+ "type": "function"
598
+ },
599
+ {
600
+ "inputs": [
601
+ {
602
+ "internalType": "address",
603
+ "name": "user",
604
+ "type": "address"
605
+ },
606
+ {
607
+ "internalType": "uint256",
608
+ "name": "positionId",
609
+ "type": "uint256"
610
+ },
611
+ {
612
+ "internalType": "uint256",
613
+ "name": "debtToCover",
614
+ "type": "uint256"
615
+ }
616
+ ],
617
+ "name": "previewLiquidation",
618
+ "outputs": [
619
+ {
620
+ "internalType": "uint256",
621
+ "name": "debtToLiquidate",
622
+ "type": "uint256"
623
+ },
624
+ {
625
+ "internalType": "uint256",
626
+ "name": "collateralToSeize",
627
+ "type": "uint256"
628
+ },
629
+ {
630
+ "internalType": "uint256",
631
+ "name": "bonusAmount",
632
+ "type": "uint256"
633
+ },
634
+ {
635
+ "internalType": "uint256",
636
+ "name": "protocolFeeAmount",
637
+ "type": "uint256"
638
+ },
639
+ {
640
+ "internalType": "uint256",
641
+ "name": "liquidatorProfitMerge",
642
+ "type": "uint256"
643
+ }
644
+ ],
645
+ "stateMutability": "view",
646
+ "type": "function"
647
+ },
648
+ {
649
+ "inputs": [
650
+ {
651
+ "internalType": "address",
652
+ "name": "token",
653
+ "type": "address"
654
+ },
655
+ {
656
+ "internalType": "address",
657
+ "name": "to",
658
+ "type": "address"
659
+ },
660
+ {
661
+ "internalType": "uint256",
662
+ "name": "id",
663
+ "type": "uint256"
664
+ },
665
+ {
666
+ "internalType": "uint256",
667
+ "name": "amount",
668
+ "type": "uint256"
669
+ }
670
+ ],
671
+ "name": "rescueERC1155",
672
+ "outputs": [],
673
+ "stateMutability": "nonpayable",
674
+ "type": "function"
675
+ },
676
+ {
677
+ "inputs": [
678
+ {
679
+ "internalType": "address",
680
+ "name": "token",
681
+ "type": "address"
682
+ },
683
+ {
684
+ "internalType": "address",
685
+ "name": "to",
686
+ "type": "address"
687
+ },
688
+ {
689
+ "internalType": "uint256",
690
+ "name": "amount",
691
+ "type": "uint256"
692
+ }
693
+ ],
694
+ "name": "rescueERC20",
695
+ "outputs": [],
696
+ "stateMutability": "nonpayable",
697
+ "type": "function"
698
+ },
699
+ {
700
+ "inputs": [
701
+ {
702
+ "internalType": "address",
703
+ "name": "newAuthority",
704
+ "type": "address"
705
+ }
706
+ ],
707
+ "name": "setAuthority",
708
+ "outputs": [],
709
+ "stateMutability": "nonpayable",
710
+ "type": "function"
711
+ },
712
+ {
713
+ "inputs": [
714
+ {
715
+ "internalType": "address",
716
+ "name": "_adapter",
717
+ "type": "address"
718
+ }
719
+ ],
720
+ "name": "setMarketAdapter",
721
+ "outputs": [],
722
+ "stateMutability": "nonpayable",
723
+ "type": "function"
724
+ },
725
+ {
726
+ "inputs": [
727
+ {
728
+ "internalType": "address",
729
+ "name": "_staking",
730
+ "type": "address"
731
+ }
732
+ ],
733
+ "name": "setStaking",
734
+ "outputs": [],
735
+ "stateMutability": "nonpayable",
736
+ "type": "function"
737
+ },
738
+ {
739
+ "inputs": [
740
+ {
741
+ "internalType": "address",
742
+ "name": "_treasury",
743
+ "type": "address"
744
+ }
745
+ ],
746
+ "name": "setTreasury",
747
+ "outputs": [],
748
+ "stateMutability": "nonpayable",
749
+ "type": "function"
750
+ },
751
+ {
752
+ "inputs": [],
753
+ "name": "staking",
754
+ "outputs": [
755
+ {
756
+ "internalType": "address",
757
+ "name": "",
758
+ "type": "address"
759
+ }
760
+ ],
761
+ "stateMutability": "view",
762
+ "type": "function"
763
+ },
764
+ {
765
+ "inputs": [
766
+ {
767
+ "internalType": "bytes4",
768
+ "name": "interfaceId",
769
+ "type": "bytes4"
770
+ }
771
+ ],
772
+ "name": "supportsInterface",
773
+ "outputs": [
774
+ {
775
+ "internalType": "bool",
776
+ "name": "",
777
+ "type": "bool"
778
+ }
779
+ ],
780
+ "stateMutability": "view",
781
+ "type": "function"
782
+ },
783
+ {
784
+ "inputs": [],
785
+ "name": "treasury",
786
+ "outputs": [
787
+ {
788
+ "internalType": "address",
789
+ "name": "",
790
+ "type": "address"
791
+ }
792
+ ],
793
+ "stateMutability": "view",
794
+ "type": "function"
795
+ }
796
+ ] as const satisfies Abi;
797
+