@1delta/margin-fetcher 0.0.245 → 0.0.247

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.
@@ -1,598 +1,594 @@
1
1
  import type { FetcherResult, OraclePriceEntry, ParseContext } from '../types';
2
2
  /**
3
3
  * Meta shape — empty placeholder; the pool + CM list is discovered lazily
4
- * from the DataCompressor response in `parse`, so no call-time metadata
4
+ * from the MarketCompressor response in `parse`, so no call-time metadata
5
5
  * is needed.
6
6
  */
7
7
  export interface GearboxV3QueryMeta {
8
8
  _: never[];
9
9
  }
10
10
  /**
11
- * Build multicall calls for Gearbox V3 oracle prices.
11
+ * Build multicall calls for Gearbox V3.1 oracle prices.
12
12
  *
13
- * Uses `DataCompressorV3.getPoolsV3List()` the same call powering the
14
- * public-data fetcher. Each pool embeds its `creditManagers[]`, and each
15
- * CM its `collateralTokens[]`. We emit one oracle price entry per
16
- * (CM, token) pair so downstream normalizers can attribute prices to the
17
- * correct isolated lender key.
18
- *
19
- * Gearbox's `PriceOracleV3.getPrice(token)` returns USD with 8 decimals,
20
- * so we have no base-token dependency — prices resolve straight from
21
- * `context.usdPrices` which is populated by upstream Aave/Chainlink
22
- * fetchers.
13
+ * Currently a no-op (`[]`). The public-data fetcher at
14
+ * `lending/public-data/gearbox/` already runs a MarketCompressor call per
15
+ * chain emitting duplicate oracle-side calls here would double RPC
16
+ * cost without adding information. When oracle prices need to diverge
17
+ * from public-data (e.g. push a different USD valuation basis), wire
18
+ * this to its own `MarketCompressor.getMarkets` call via the
19
+ * per-curator list from `gearboxMarketConfigurators(chainId)`.
23
20
  */
24
- export declare function getGearboxV3Calls(chainId: string): FetcherResult<GearboxV3QueryMeta>[];
21
+ export declare function getGearboxV3Calls(_chainId: string): FetcherResult<GearboxV3QueryMeta>[];
25
22
  /**
26
- * Parse Gearbox V3 oracle results — emit per-(CM, token) entries.
23
+ * Parse Gearbox V3.1 oracle results — emit per-(CM, token) price entries.
27
24
  *
28
- * For each pool, for each CreditManager, we emit:
29
- * - one "base" entry for the pool's underlying with `staticBase: true`
30
- * - one collateral entry per `collateralTokens[i]` with `priceUSD`
31
- * resolved from `context.usdPrices`
25
+ * Input shape matches `MarketCompressor.getMarkets` `MarketData[]`
26
+ * where each market's `creditManagers[i]` carries a
27
+ * `{creditManager.collateralTokens: [{token, liquidationThreshold}]}`
28
+ * list. We emit:
29
+ * - one "base" entry for the pool underlying with `staticBase: true`
30
+ * - one collateral entry per collateralToken with `priceUSD` resolved
31
+ * from `context.usdPrices`.
32
32
  *
33
33
  * Targets are the per-CM lender keys synthesized by `gearboxV3LenderKey`.
34
+ * Expired or paused CMs are skipped.
34
35
  */
35
36
  export declare function parseGearboxV3Results(data: any[], _meta: GearboxV3QueryMeta, context: ParseContext): OraclePriceEntry[];
36
37
  export declare function getGearboxV3Abi(): readonly [{
37
- readonly inputs: readonly [];
38
- readonly name: "getPoolsV3List";
39
- readonly outputs: readonly [{
38
+ readonly type: "function";
39
+ readonly name: "getMarkets";
40
+ readonly inputs: readonly [{
41
+ readonly name: "filter";
42
+ readonly type: "tuple";
40
43
  readonly components: readonly [{
41
- readonly name: "addr";
42
- readonly type: "address";
44
+ readonly name: "configurators";
45
+ readonly type: "address[]";
46
+ }, {
47
+ readonly name: "pools";
48
+ readonly type: "address[]";
43
49
  }, {
44
50
  readonly name: "underlying";
45
51
  readonly type: "address";
46
- }, {
47
- readonly name: "dieselToken";
52
+ }];
53
+ }];
54
+ readonly outputs: readonly [{
55
+ readonly name: "result";
56
+ readonly type: "tuple[]";
57
+ readonly components: readonly [{
58
+ readonly name: "acl";
48
59
  readonly type: "address";
49
60
  }, {
50
- readonly name: "symbol";
51
- readonly type: "string";
52
- }, {
53
- readonly name: "name";
54
- readonly type: "string";
55
- }, {
56
- readonly name: "baseInterestIndex";
57
- readonly type: "uint256";
58
- }, {
59
- readonly name: "availableLiquidity";
60
- readonly type: "uint256";
61
- }, {
62
- readonly name: "expectedLiquidity";
63
- readonly type: "uint256";
64
- }, {
65
- readonly name: "totalBorrowed";
66
- readonly type: "uint256";
61
+ readonly name: "contractsRegister";
62
+ readonly type: "address";
67
63
  }, {
68
- readonly name: "totalDebtLimit";
69
- readonly type: "uint256";
64
+ readonly name: "treasury";
65
+ readonly type: "address";
70
66
  }, {
67
+ readonly name: "pool";
68
+ readonly type: "tuple";
71
69
  readonly components: readonly [{
72
- readonly name: "creditManager";
73
- readonly type: "address";
74
- }, {
75
- readonly name: "borrowed";
70
+ readonly name: "baseParams";
71
+ readonly type: "tuple";
72
+ readonly components: readonly [{
73
+ readonly name: "addr";
74
+ readonly type: "address";
75
+ }, {
76
+ readonly name: "version";
77
+ readonly type: "uint256";
78
+ }, {
79
+ readonly name: "contractType";
80
+ readonly type: "bytes32";
81
+ }, {
82
+ readonly name: "serializedParams";
83
+ readonly type: "bytes";
84
+ }];
85
+ }, {
86
+ readonly name: "symbol";
87
+ readonly type: "string";
88
+ }, {
89
+ readonly name: "name";
90
+ readonly type: "string";
91
+ }, {
92
+ readonly name: "decimals";
93
+ readonly type: "uint8";
94
+ }, {
95
+ readonly name: "totalSupply";
76
96
  readonly type: "uint256";
77
97
  }, {
78
- readonly name: "limit";
79
- readonly type: "uint256";
98
+ readonly name: "quotaKeeper";
99
+ readonly type: "address";
80
100
  }, {
81
- readonly name: "availableToBorrow";
82
- readonly type: "uint256";
83
- }];
84
- readonly name: "creditManagerDebtParams";
85
- readonly type: "tuple[]";
86
- }, {
87
- readonly name: "totalAssets";
88
- readonly type: "uint256";
89
- }, {
90
- readonly name: "totalSupply";
91
- readonly type: "uint256";
92
- }, {
93
- readonly name: "supplyRate";
94
- readonly type: "uint256";
95
- }, {
96
- readonly name: "baseInterestRate";
97
- readonly type: "uint256";
98
- }, {
99
- readonly name: "dieselRate_RAY";
100
- readonly type: "uint256";
101
- }, {
102
- readonly name: "withdrawFee";
103
- readonly type: "uint256";
104
- }, {
105
- readonly name: "lastBaseInterestUpdate";
106
- readonly type: "uint256";
107
- }, {
108
- readonly name: "baseInterestIndexLU";
109
- readonly type: "uint256";
110
- }, {
111
- readonly name: "version";
112
- readonly type: "uint256";
113
- }, {
114
- readonly name: "poolQuotaKeeper";
115
- readonly type: "address";
116
- }, {
117
- readonly name: "gauge";
118
- readonly type: "address";
119
- }, {
120
- readonly components: readonly [{
121
- readonly name: "token";
101
+ readonly name: "interestRateModel";
122
102
  readonly type: "address";
123
103
  }, {
124
- readonly name: "rate";
125
- readonly type: "uint16";
104
+ readonly name: "underlying";
105
+ readonly type: "address";
126
106
  }, {
127
- readonly name: "quotaIncreaseFee";
128
- readonly type: "uint16";
107
+ readonly name: "availableLiquidity";
108
+ readonly type: "uint256";
129
109
  }, {
130
- readonly name: "totalQuoted";
131
- readonly type: "uint96";
110
+ readonly name: "expectedLiquidity";
111
+ readonly type: "uint256";
132
112
  }, {
133
- readonly name: "limit";
134
- readonly type: "uint96";
113
+ readonly name: "baseInterestIndex";
114
+ readonly type: "uint256";
135
115
  }, {
136
- readonly name: "isActive";
137
- readonly type: "bool";
138
- }];
139
- readonly name: "quotas";
140
- readonly type: "tuple[]";
141
- }, {
142
- readonly components: readonly [{
143
- readonly name: "zapper";
144
- readonly type: "address";
116
+ readonly name: "baseInterestRate";
117
+ readonly type: "uint256";
145
118
  }, {
146
- readonly name: "tokenIn";
147
- readonly type: "address";
119
+ readonly name: "dieselRate";
120
+ readonly type: "uint256";
148
121
  }, {
149
- readonly name: "tokenOut";
150
- readonly type: "address";
151
- }];
152
- readonly name: "zappers";
153
- readonly type: "tuple[]";
154
- }, {
155
- readonly components: readonly [{
156
- readonly name: "interestModel";
157
- readonly type: "address";
122
+ readonly name: "supplyRate";
123
+ readonly type: "uint256";
158
124
  }, {
159
- readonly name: "version";
125
+ readonly name: "withdrawFee";
160
126
  readonly type: "uint256";
161
127
  }, {
162
- readonly name: "U_1";
163
- readonly type: "uint16";
128
+ readonly name: "totalBorrowed";
129
+ readonly type: "uint256";
164
130
  }, {
165
- readonly name: "U_2";
166
- readonly type: "uint16";
131
+ readonly name: "totalDebtLimit";
132
+ readonly type: "uint256";
167
133
  }, {
168
- readonly name: "R_base";
169
- readonly type: "uint16";
134
+ readonly name: "creditManagerDebtParams";
135
+ readonly type: "tuple[]";
136
+ readonly components: readonly [{
137
+ readonly name: "creditManager";
138
+ readonly type: "address";
139
+ }, {
140
+ readonly name: "borrowed";
141
+ readonly type: "uint256";
142
+ }, {
143
+ readonly name: "limit";
144
+ readonly type: "uint256";
145
+ }, {
146
+ readonly name: "available";
147
+ readonly type: "uint256";
148
+ }];
149
+ }, {
150
+ readonly name: "baseInterestIndexLU";
151
+ readonly type: "uint256";
170
152
  }, {
171
- readonly name: "R_slope1";
172
- readonly type: "uint16";
153
+ readonly name: "expectedLiquidityLU";
154
+ readonly type: "uint256";
173
155
  }, {
174
- readonly name: "R_slope2";
175
- readonly type: "uint16";
156
+ readonly name: "quotaRevenue";
157
+ readonly type: "uint256";
176
158
  }, {
177
- readonly name: "R_slope3";
178
- readonly type: "uint16";
159
+ readonly name: "lastBaseInterestUpdate";
160
+ readonly type: "uint40";
179
161
  }, {
180
- readonly name: "isBorrowingMoreU2Forbidden";
162
+ readonly name: "lastQuotaRevenueUpdate";
163
+ readonly type: "uint40";
164
+ }, {
165
+ readonly name: "isPaused";
181
166
  readonly type: "bool";
182
167
  }];
183
- readonly name: "lirm";
184
- readonly type: "tuple";
185
- }, {
186
- readonly name: "isPaused";
187
- readonly type: "bool";
188
- }];
189
- readonly name: "result";
190
- readonly type: "tuple[]";
191
- }];
192
- readonly stateMutability: "view";
193
- readonly type: "function";
194
- }, {
195
- readonly inputs: readonly [];
196
- readonly name: "getCreditManagersV3List";
197
- readonly outputs: readonly [{
198
- readonly components: readonly [{
199
- readonly name: "addr";
200
- readonly type: "address";
201
- }, {
202
- readonly name: "name";
203
- readonly type: "string";
204
- }, {
205
- readonly name: "cfVersion";
206
- readonly type: "uint256";
207
- }, {
208
- readonly name: "creditFacade";
209
- readonly type: "address";
210
- }, {
211
- readonly name: "creditConfigurator";
212
- readonly type: "address";
213
- }, {
214
- readonly name: "underlying";
215
- readonly type: "address";
216
- }, {
217
- readonly name: "pool";
218
- readonly type: "address";
219
- }, {
220
- readonly name: "totalDebt";
221
- readonly type: "uint256";
222
- }, {
223
- readonly name: "totalDebtLimit";
224
- readonly type: "uint256";
225
- }, {
226
- readonly name: "baseBorrowRate";
227
- readonly type: "uint256";
228
- }, {
229
- readonly name: "minDebt";
230
- readonly type: "uint256";
231
- }, {
232
- readonly name: "maxDebt";
233
- readonly type: "uint256";
234
- }, {
235
- readonly name: "availableToBorrow";
236
- readonly type: "uint256";
237
- }, {
238
- readonly name: "collateralTokens";
239
- readonly type: "address[]";
240
168
  }, {
169
+ readonly name: "quotaKeeper";
170
+ readonly type: "tuple";
241
171
  readonly components: readonly [{
242
- readonly name: "targetContract";
172
+ readonly name: "baseParams";
173
+ readonly type: "tuple";
174
+ readonly components: readonly [{
175
+ readonly name: "addr";
176
+ readonly type: "address";
177
+ }, {
178
+ readonly name: "version";
179
+ readonly type: "uint256";
180
+ }, {
181
+ readonly name: "contractType";
182
+ readonly type: "bytes32";
183
+ }, {
184
+ readonly name: "serializedParams";
185
+ readonly type: "bytes";
186
+ }];
187
+ }, {
188
+ readonly name: "rateKeeper";
243
189
  readonly type: "address";
244
190
  }, {
245
- readonly name: "adapter";
246
- readonly type: "address";
191
+ readonly name: "quotas";
192
+ readonly type: "tuple[]";
193
+ readonly components: readonly [{
194
+ readonly name: "token";
195
+ readonly type: "address";
196
+ }, {
197
+ readonly name: "rate";
198
+ readonly type: "uint16";
199
+ }, {
200
+ readonly name: "cumulativeIndexLU";
201
+ readonly type: "uint192";
202
+ }, {
203
+ readonly name: "quotaIncreaseFee";
204
+ readonly type: "uint16";
205
+ }, {
206
+ readonly name: "totalQuoted";
207
+ readonly type: "uint96";
208
+ }, {
209
+ readonly name: "limit";
210
+ readonly type: "uint96";
211
+ }, {
212
+ readonly name: "isActive";
213
+ readonly type: "bool";
214
+ }];
215
+ }, {
216
+ readonly name: "creditManagers";
217
+ readonly type: "address[]";
218
+ }, {
219
+ readonly name: "lastQuotaRateUpdate";
220
+ readonly type: "uint40";
247
221
  }];
248
- readonly name: "adapters";
249
- readonly type: "tuple[]";
250
- }, {
251
- readonly name: "liquidationThresholds";
252
- readonly type: "uint256[]";
253
- }, {
254
- readonly name: "isDegenMode";
255
- readonly type: "bool";
256
- }, {
257
- readonly name: "degenNFT";
258
- readonly type: "address";
259
- }, {
260
- readonly name: "forbiddenTokenMask";
261
- readonly type: "uint256";
262
- }, {
263
- readonly name: "maxEnabledTokensLength";
264
- readonly type: "uint8";
265
- }, {
266
- readonly name: "feeInterest";
267
- readonly type: "uint16";
268
- }, {
269
- readonly name: "feeLiquidation";
270
- readonly type: "uint16";
271
- }, {
272
- readonly name: "liquidationDiscount";
273
- readonly type: "uint16";
274
- }, {
275
- readonly name: "feeLiquidationExpired";
276
- readonly type: "uint16";
277
- }, {
278
- readonly name: "liquidationDiscountExpired";
279
- readonly type: "uint16";
280
222
  }, {
223
+ readonly name: "interestRateModel";
224
+ readonly type: "tuple";
281
225
  readonly components: readonly [{
282
- readonly name: "token";
283
- readonly type: "address";
284
- }, {
285
- readonly name: "rate";
286
- readonly type: "uint16";
287
- }, {
288
- readonly name: "quotaIncreaseFee";
289
- readonly type: "uint16";
290
- }, {
291
- readonly name: "totalQuoted";
292
- readonly type: "uint96";
293
- }, {
294
- readonly name: "limit";
295
- readonly type: "uint96";
296
- }, {
297
- readonly name: "isActive";
298
- readonly type: "bool";
226
+ readonly name: "baseParams";
227
+ readonly type: "tuple";
228
+ readonly components: readonly [{
229
+ readonly name: "addr";
230
+ readonly type: "address";
231
+ }, {
232
+ readonly name: "version";
233
+ readonly type: "uint256";
234
+ }, {
235
+ readonly name: "contractType";
236
+ readonly type: "bytes32";
237
+ }, {
238
+ readonly name: "serializedParams";
239
+ readonly type: "bytes";
240
+ }];
299
241
  }];
300
- readonly name: "quotas";
301
- readonly type: "tuple[]";
302
242
  }, {
243
+ readonly name: "rateKeeper";
244
+ readonly type: "tuple";
303
245
  readonly components: readonly [{
304
- readonly name: "interestModel";
305
- readonly type: "address";
306
- }, {
307
- readonly name: "version";
308
- readonly type: "uint256";
309
- }, {
310
- readonly name: "U_1";
311
- readonly type: "uint16";
312
- }, {
313
- readonly name: "U_2";
314
- readonly type: "uint16";
315
- }, {
316
- readonly name: "R_base";
317
- readonly type: "uint16";
318
- }, {
319
- readonly name: "R_slope1";
320
- readonly type: "uint16";
321
- }, {
322
- readonly name: "R_slope2";
323
- readonly type: "uint16";
324
- }, {
325
- readonly name: "R_slope3";
326
- readonly type: "uint16";
327
- }, {
328
- readonly name: "isBorrowingMoreU2Forbidden";
329
- readonly type: "bool";
246
+ readonly name: "baseParams";
247
+ readonly type: "tuple";
248
+ readonly components: readonly [{
249
+ readonly name: "addr";
250
+ readonly type: "address";
251
+ }, {
252
+ readonly name: "version";
253
+ readonly type: "uint256";
254
+ }, {
255
+ readonly name: "contractType";
256
+ readonly type: "bytes32";
257
+ }, {
258
+ readonly name: "serializedParams";
259
+ readonly type: "bytes";
260
+ }];
261
+ }, {
262
+ readonly name: "rates";
263
+ readonly type: "tuple[]";
264
+ readonly components: readonly [{
265
+ readonly name: "token";
266
+ readonly type: "address";
267
+ }, {
268
+ readonly name: "rate";
269
+ readonly type: "uint16";
270
+ }];
330
271
  }];
331
- readonly name: "lirm";
332
- readonly type: "tuple";
333
- }, {
334
- readonly name: "isPaused";
335
- readonly type: "bool";
336
- }];
337
- readonly name: "result";
338
- readonly type: "tuple[]";
339
- }];
340
- readonly stateMutability: "view";
341
- readonly type: "function";
342
- }, {
343
- readonly inputs: readonly [{
344
- readonly name: "borrower";
345
- readonly type: "address";
346
- }, {
347
- readonly components: readonly [{
348
- readonly name: "token";
349
- readonly type: "address";
350
- }, {
351
- readonly name: "callData";
352
- readonly type: "bytes";
353
- }];
354
- readonly name: "priceUpdates";
355
- readonly type: "tuple[]";
356
- }];
357
- readonly name: "getCreditAccountsByBorrower";
358
- readonly outputs: readonly [{
359
- readonly components: readonly [{
360
- readonly name: "isSuccessful";
361
- readonly type: "bool";
362
- }, {
363
- readonly name: "priceFeedsNeeded";
364
- readonly type: "address[]";
365
- }, {
366
- readonly name: "addr";
367
- readonly type: "address";
368
272
  }, {
369
- readonly name: "borrower";
370
- readonly type: "address";
371
- }, {
372
- readonly name: "creditManager";
373
- readonly type: "address";
374
- }, {
375
- readonly name: "cmName";
376
- readonly type: "string";
377
- }, {
378
- readonly name: "creditFacade";
379
- readonly type: "address";
380
- }, {
381
- readonly name: "underlying";
382
- readonly type: "address";
383
- }, {
384
- readonly name: "debt";
385
- readonly type: "uint256";
386
- }, {
387
- readonly name: "cumulativeIndexLastUpdate";
388
- readonly type: "uint256";
389
- }, {
390
- readonly name: "cumulativeQuotaInterest";
391
- readonly type: "uint128";
392
- }, {
393
- readonly name: "accruedInterest";
394
- readonly type: "uint256";
395
- }, {
396
- readonly name: "accruedFees";
397
- readonly type: "uint256";
398
- }, {
399
- readonly name: "totalDebtUSD";
400
- readonly type: "uint256";
401
- }, {
402
- readonly name: "totalValue";
403
- readonly type: "uint256";
404
- }, {
405
- readonly name: "totalValueUSD";
406
- readonly type: "uint256";
407
- }, {
408
- readonly name: "twvUSD";
409
- readonly type: "uint256";
410
- }, {
411
- readonly name: "enabledTokensMask";
412
- readonly type: "uint256";
413
- }, {
414
- readonly name: "healthFactor";
415
- readonly type: "uint256";
416
- }, {
417
- readonly name: "baseBorrowRate";
418
- readonly type: "uint256";
273
+ readonly name: "priceOracle";
274
+ readonly type: "tuple";
275
+ readonly components: readonly [{
276
+ readonly name: "baseParams";
277
+ readonly type: "tuple";
278
+ readonly components: readonly [{
279
+ readonly name: "addr";
280
+ readonly type: "address";
281
+ }, {
282
+ readonly name: "version";
283
+ readonly type: "uint256";
284
+ }, {
285
+ readonly name: "contractType";
286
+ readonly type: "bytes32";
287
+ }, {
288
+ readonly name: "serializedParams";
289
+ readonly type: "bytes";
290
+ }];
291
+ }, {
292
+ readonly name: "priceFeedMap";
293
+ readonly type: "tuple[]";
294
+ readonly components: readonly [{
295
+ readonly name: "token";
296
+ readonly type: "address";
297
+ }, {
298
+ readonly name: "reserve";
299
+ readonly type: "bool";
300
+ }, {
301
+ readonly name: "priceFeed";
302
+ readonly type: "address";
303
+ }, {
304
+ readonly name: "stalenessPeriod";
305
+ readonly type: "uint32";
306
+ }];
307
+ }, {
308
+ readonly name: "priceFeedTree";
309
+ readonly type: "tuple[]";
310
+ readonly components: readonly [{
311
+ readonly name: "baseParams";
312
+ readonly type: "tuple";
313
+ readonly components: readonly [{
314
+ readonly name: "addr";
315
+ readonly type: "address";
316
+ }, {
317
+ readonly name: "version";
318
+ readonly type: "uint256";
319
+ }, {
320
+ readonly name: "contractType";
321
+ readonly type: "bytes32";
322
+ }, {
323
+ readonly name: "serializedParams";
324
+ readonly type: "bytes";
325
+ }];
326
+ }, {
327
+ readonly name: "description";
328
+ readonly type: "string";
329
+ }, {
330
+ readonly name: "decimals";
331
+ readonly type: "uint8";
332
+ }, {
333
+ readonly name: "skipCheck";
334
+ readonly type: "bool";
335
+ }, {
336
+ readonly name: "updatable";
337
+ readonly type: "bool";
338
+ }, {
339
+ readonly name: "underlyingFeeds";
340
+ readonly type: "address[]";
341
+ }, {
342
+ readonly name: "underlyingStalenessPeriods";
343
+ readonly type: "uint32[]";
344
+ }, {
345
+ readonly name: "answer";
346
+ readonly type: "tuple";
347
+ readonly components: readonly [{
348
+ readonly name: "price";
349
+ readonly type: "int256";
350
+ }, {
351
+ readonly name: "updatedAt";
352
+ readonly type: "uint256";
353
+ }, {
354
+ readonly name: "success";
355
+ readonly type: "bool";
356
+ }];
357
+ }];
358
+ }];
419
359
  }, {
420
- readonly name: "aggregatedBorrowRate";
421
- readonly type: "uint256";
360
+ readonly name: "lossPolicy";
361
+ readonly type: "tuple";
362
+ readonly components: readonly [{
363
+ readonly name: "baseParams";
364
+ readonly type: "tuple";
365
+ readonly components: readonly [{
366
+ readonly name: "addr";
367
+ readonly type: "address";
368
+ }, {
369
+ readonly name: "version";
370
+ readonly type: "uint256";
371
+ }, {
372
+ readonly name: "contractType";
373
+ readonly type: "bytes32";
374
+ }, {
375
+ readonly name: "serializedParams";
376
+ readonly type: "bytes";
377
+ }];
378
+ }];
422
379
  }, {
380
+ readonly name: "tokens";
381
+ readonly type: "tuple[]";
423
382
  readonly components: readonly [{
424
- readonly name: "token";
383
+ readonly name: "addr";
425
384
  readonly type: "address";
426
385
  }, {
427
- readonly name: "balance";
428
- readonly type: "uint256";
429
- }, {
430
- readonly name: "isForbidden";
431
- readonly type: "bool";
432
- }, {
433
- readonly name: "isEnabled";
434
- readonly type: "bool";
435
- }, {
436
- readonly name: "isQuoted";
437
- readonly type: "bool";
438
- }, {
439
- readonly name: "quota";
440
- readonly type: "uint256";
386
+ readonly name: "symbol";
387
+ readonly type: "string";
441
388
  }, {
442
- readonly name: "quotaRate";
443
- readonly type: "uint16";
389
+ readonly name: "name";
390
+ readonly type: "string";
444
391
  }, {
445
- readonly name: "quotaCumulativeIndexLU";
446
- readonly type: "uint256";
392
+ readonly name: "decimals";
393
+ readonly type: "uint8";
447
394
  }];
448
- readonly name: "balances";
449
- readonly type: "tuple[]";
450
- }, {
451
- readonly name: "since";
452
- readonly type: "uint64";
453
- }, {
454
- readonly name: "cfVersion";
455
- readonly type: "uint256";
456
- }, {
457
- readonly name: "expirationDate";
458
- readonly type: "uint40";
459
- }, {
460
- readonly name: "activeBots";
461
- readonly type: "address[]";
462
- }];
463
- readonly name: "result";
464
- readonly type: "tuple[]";
465
- }];
466
- readonly stateMutability: "nonpayable";
467
- readonly type: "function";
468
- }, {
469
- readonly inputs: readonly [{
470
- readonly name: "_creditAccount";
471
- readonly type: "address";
472
- }, {
473
- readonly components: readonly [{
474
- readonly name: "token";
475
- readonly type: "address";
476
- }, {
477
- readonly name: "callData";
478
- readonly type: "bytes";
479
- }];
480
- readonly name: "priceUpdates";
481
- readonly type: "tuple[]";
482
- }];
483
- readonly name: "getCreditAccountData";
484
- readonly outputs: readonly [{
485
- readonly components: readonly [{
486
- readonly name: "isSuccessful";
487
- readonly type: "bool";
488
- }, {
489
- readonly name: "priceFeedsNeeded";
490
- readonly type: "address[]";
491
- }, {
492
- readonly name: "addr";
493
- readonly type: "address";
494
- }, {
495
- readonly name: "borrower";
496
- readonly type: "address";
497
- }, {
498
- readonly name: "creditManager";
499
- readonly type: "address";
500
- }, {
501
- readonly name: "cmName";
502
- readonly type: "string";
503
- }, {
504
- readonly name: "creditFacade";
505
- readonly type: "address";
506
- }, {
507
- readonly name: "underlying";
508
- readonly type: "address";
509
- }, {
510
- readonly name: "debt";
511
- readonly type: "uint256";
512
- }, {
513
- readonly name: "cumulativeIndexLastUpdate";
514
- readonly type: "uint256";
515
- }, {
516
- readonly name: "cumulativeQuotaInterest";
517
- readonly type: "uint128";
518
- }, {
519
- readonly name: "accruedInterest";
520
- readonly type: "uint256";
521
- }, {
522
- readonly name: "accruedFees";
523
- readonly type: "uint256";
524
- }, {
525
- readonly name: "totalDebtUSD";
526
- readonly type: "uint256";
527
- }, {
528
- readonly name: "totalValue";
529
- readonly type: "uint256";
530
- }, {
531
- readonly name: "totalValueUSD";
532
- readonly type: "uint256";
533
- }, {
534
- readonly name: "twvUSD";
535
- readonly type: "uint256";
536
- }, {
537
- readonly name: "enabledTokensMask";
538
- readonly type: "uint256";
539
- }, {
540
- readonly name: "healthFactor";
541
- readonly type: "uint256";
542
- }, {
543
- readonly name: "baseBorrowRate";
544
- readonly type: "uint256";
545
- }, {
546
- readonly name: "aggregatedBorrowRate";
547
- readonly type: "uint256";
548
395
  }, {
396
+ readonly name: "creditManagers";
397
+ readonly type: "tuple[]";
549
398
  readonly components: readonly [{
550
- readonly name: "token";
551
- readonly type: "address";
552
- }, {
553
- readonly name: "balance";
554
- readonly type: "uint256";
555
- }, {
556
- readonly name: "isForbidden";
557
- readonly type: "bool";
399
+ readonly name: "creditFacade";
400
+ readonly type: "tuple";
401
+ readonly components: readonly [{
402
+ readonly name: "baseParams";
403
+ readonly type: "tuple";
404
+ readonly components: readonly [{
405
+ readonly name: "addr";
406
+ readonly type: "address";
407
+ }, {
408
+ readonly name: "version";
409
+ readonly type: "uint256";
410
+ }, {
411
+ readonly name: "contractType";
412
+ readonly type: "bytes32";
413
+ }, {
414
+ readonly name: "serializedParams";
415
+ readonly type: "bytes";
416
+ }];
417
+ }, {
418
+ readonly name: "degenNFT";
419
+ readonly type: "address";
420
+ }, {
421
+ readonly name: "botList";
422
+ readonly type: "address";
423
+ }, {
424
+ readonly name: "expirable";
425
+ readonly type: "bool";
426
+ }, {
427
+ readonly name: "expirationDate";
428
+ readonly type: "uint40";
429
+ }, {
430
+ readonly name: "maxDebtPerBlockMultiplier";
431
+ readonly type: "uint8";
432
+ }, {
433
+ readonly name: "minDebt";
434
+ readonly type: "uint256";
435
+ }, {
436
+ readonly name: "maxDebt";
437
+ readonly type: "uint256";
438
+ }, {
439
+ readonly name: "forbiddenTokensMask";
440
+ readonly type: "uint256";
441
+ }, {
442
+ readonly name: "isPaused";
443
+ readonly type: "bool";
444
+ }];
558
445
  }, {
559
- readonly name: "isEnabled";
560
- readonly type: "bool";
561
- }, {
562
- readonly name: "isQuoted";
563
- readonly type: "bool";
564
- }, {
565
- readonly name: "quota";
566
- readonly type: "uint256";
567
- }, {
568
- readonly name: "quotaRate";
569
- readonly type: "uint16";
570
- }, {
571
- readonly name: "quotaCumulativeIndexLU";
572
- readonly type: "uint256";
446
+ readonly name: "creditManager";
447
+ readonly type: "tuple";
448
+ readonly components: readonly [{
449
+ readonly name: "baseParams";
450
+ readonly type: "tuple";
451
+ readonly components: readonly [{
452
+ readonly name: "addr";
453
+ readonly type: "address";
454
+ }, {
455
+ readonly name: "version";
456
+ readonly type: "uint256";
457
+ }, {
458
+ readonly name: "contractType";
459
+ readonly type: "bytes32";
460
+ }, {
461
+ readonly name: "serializedParams";
462
+ readonly type: "bytes";
463
+ }];
464
+ }, {
465
+ readonly name: "name";
466
+ readonly type: "string";
467
+ }, {
468
+ readonly name: "accountFactory";
469
+ readonly type: "address";
470
+ }, {
471
+ readonly name: "underlying";
472
+ readonly type: "address";
473
+ }, {
474
+ readonly name: "pool";
475
+ readonly type: "address";
476
+ }, {
477
+ readonly name: "creditFacade";
478
+ readonly type: "address";
479
+ }, {
480
+ readonly name: "creditConfigurator";
481
+ readonly type: "address";
482
+ }, {
483
+ readonly name: "maxEnabledTokens";
484
+ readonly type: "uint8";
485
+ }, {
486
+ readonly name: "collateralTokens";
487
+ readonly type: "tuple[]";
488
+ readonly components: readonly [{
489
+ readonly name: "token";
490
+ readonly type: "address";
491
+ }, {
492
+ readonly name: "liquidationThreshold";
493
+ readonly type: "uint16";
494
+ }];
495
+ }, {
496
+ readonly name: "feeInterest";
497
+ readonly type: "uint16";
498
+ }, {
499
+ readonly name: "feeLiquidation";
500
+ readonly type: "uint16";
501
+ }, {
502
+ readonly name: "liquidationDiscount";
503
+ readonly type: "uint16";
504
+ }, {
505
+ readonly name: "feeLiquidationExpired";
506
+ readonly type: "uint16";
507
+ }, {
508
+ readonly name: "liquidationDiscountExpired";
509
+ readonly type: "uint16";
510
+ }];
511
+ }, {
512
+ readonly name: "creditConfigurator";
513
+ readonly type: "tuple";
514
+ readonly components: readonly [{
515
+ readonly name: "baseParams";
516
+ readonly type: "tuple";
517
+ readonly components: readonly [{
518
+ readonly name: "addr";
519
+ readonly type: "address";
520
+ }, {
521
+ readonly name: "version";
522
+ readonly type: "uint256";
523
+ }, {
524
+ readonly name: "contractType";
525
+ readonly type: "bytes32";
526
+ }, {
527
+ readonly name: "serializedParams";
528
+ readonly type: "bytes";
529
+ }];
530
+ }];
531
+ }, {
532
+ readonly name: "accountFactory";
533
+ readonly type: "tuple";
534
+ readonly components: readonly [{
535
+ readonly name: "baseParams";
536
+ readonly type: "tuple";
537
+ readonly components: readonly [{
538
+ readonly name: "addr";
539
+ readonly type: "address";
540
+ }, {
541
+ readonly name: "version";
542
+ readonly type: "uint256";
543
+ }, {
544
+ readonly name: "contractType";
545
+ readonly type: "bytes32";
546
+ }, {
547
+ readonly name: "serializedParams";
548
+ readonly type: "bytes";
549
+ }];
550
+ }];
551
+ }, {
552
+ readonly name: "adapters";
553
+ readonly type: "tuple[]";
554
+ readonly components: readonly [{
555
+ readonly name: "baseParams";
556
+ readonly type: "tuple";
557
+ readonly components: readonly [{
558
+ readonly name: "addr";
559
+ readonly type: "address";
560
+ }, {
561
+ readonly name: "version";
562
+ readonly type: "uint256";
563
+ }, {
564
+ readonly name: "contractType";
565
+ readonly type: "bytes32";
566
+ }, {
567
+ readonly name: "serializedParams";
568
+ readonly type: "bytes";
569
+ }];
570
+ }, {
571
+ readonly name: "targetContract";
572
+ readonly type: "address";
573
+ }];
573
574
  }];
574
- readonly name: "balances";
575
- readonly type: "tuple[]";
576
575
  }, {
577
- readonly name: "since";
578
- readonly type: "uint64";
576
+ readonly name: "configurator";
577
+ readonly type: "address";
579
578
  }, {
580
- readonly name: "cfVersion";
581
- readonly type: "uint256";
579
+ readonly name: "pausableAdmins";
580
+ readonly type: "address[]";
582
581
  }, {
583
- readonly name: "expirationDate";
584
- readonly type: "uint40";
582
+ readonly name: "unpausableAdmins";
583
+ readonly type: "address[]";
585
584
  }, {
586
- readonly name: "activeBots";
585
+ readonly name: "emergencyLiquidators";
587
586
  readonly type: "address[]";
588
587
  }];
589
- readonly name: "result";
590
- readonly type: "tuple";
591
588
  }];
592
- readonly stateMutability: "nonpayable";
593
- readonly type: "function";
589
+ readonly stateMutability: "view";
594
590
  }];
595
- /** Gearbox V3 Oracle Fetcher module */
591
+ /** Gearbox V3.1 Oracle Fetcher module */
596
592
  export declare const gearboxV3Fetcher: {
597
593
  getCalls: typeof getGearboxV3Calls;
598
594
  parse: typeof parseGearboxV3Results;