@usdu-core/usdu-core 0.0.1

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 (107) hide show
  1. package/.claude/settings.local.json +12 -0
  2. package/.env.example +6 -0
  3. package/.prettierrc.json +7 -0
  4. package/LICENSE +674 -0
  5. package/README.md +244 -0
  6. package/contracts/curve/CurveAdapterV1.sol +310 -0
  7. package/contracts/curve/CurveAdapterV1_1.sol +198 -0
  8. package/contracts/curve/helpers/ICurveStableSwapNG.json +566 -0
  9. package/contracts/curve/helpers/ICurveStableSwapNG.sol +177 -0
  10. package/contracts/deploy/VaultDeployer.sol +110 -0
  11. package/contracts/morpho/MorphoAdapterV1.sol +255 -0
  12. package/contracts/morpho/MorphoAdapterV1_1.sol +137 -0
  13. package/contracts/morpho/MorphoAdapterV1_2.sol +126 -0
  14. package/contracts/morpho/helpers/AggregatorV3Interface.sol +24 -0
  15. package/contracts/morpho/helpers/ChainlinkDataFeedLib.sol +36 -0
  16. package/contracts/morpho/helpers/ConstantsLib.sol +20 -0
  17. package/contracts/morpho/helpers/ErrorsLib.sol +17 -0
  18. package/contracts/morpho/helpers/IERC4626.sol +6 -0
  19. package/contracts/morpho/helpers/IMetaMorphoV1_1.sol +229 -0
  20. package/contracts/morpho/helpers/IMetaMorphoV1_1Factory.sol +32 -0
  21. package/contracts/morpho/helpers/IMorpho.sol +361 -0
  22. package/contracts/morpho/helpers/IMorphoCallbacks.sol +52 -0
  23. package/contracts/morpho/helpers/IMorphoChainlinkOracleV2.sol +39 -0
  24. package/contracts/morpho/helpers/IMorphoChainlinkOracleV2Factory.sol +56 -0
  25. package/contracts/morpho/helpers/IOracle.sol +15 -0
  26. package/contracts/morpho/helpers/MarketParamsLib.sol +21 -0
  27. package/contracts/morpho/helpers/MathLib.sol +45 -0
  28. package/contracts/morpho/helpers/Morpho.sol.bak +517 -0
  29. package/contracts/morpho/helpers/MorphoChainlinkOracleV2.sol +157 -0
  30. package/contracts/morpho/helpers/PendingLib.sol +47 -0
  31. package/contracts/morpho/helpers/SharesMathLib.sol +45 -0
  32. package/contracts/morpho/helpers/VaultLib.sol +18 -0
  33. package/contracts/reward/RewardDistributionV1.sol +110 -0
  34. package/contracts/reward/RewardRouterV0.sol +63 -0
  35. package/contracts/reward/Rewards.example.json +72 -0
  36. package/contracts/stablecoin/IStablecoin.sol +211 -0
  37. package/contracts/stablecoin/IStablecoinMetadata.sol +27 -0
  38. package/contracts/stablecoin/IStablecoinModifier.sol +52 -0
  39. package/contracts/stablecoin/Stablecoin.sol +376 -0
  40. package/contracts/stablecoin/libraries/ConstantsLib.sol +13 -0
  41. package/contracts/stablecoin/libraries/ErrorsLib.sol +45 -0
  42. package/contracts/stablecoin/libraries/EventsLib.sol +74 -0
  43. package/contracts/stablecoin/libraries/PendingLib.sol +38 -0
  44. package/contracts/vault/VaultAdapterRecoverV1.sol +29 -0
  45. package/contracts/vault/VaultAdapterV1.sol +126 -0
  46. package/dist/index.d.mts +16154 -0
  47. package/dist/index.d.ts +16154 -0
  48. package/dist/index.js +21134 -0
  49. package/dist/index.mjs +21061 -0
  50. package/docs/CoreVault: Integration of new Markets.md +197 -0
  51. package/docs/CoreVault: SupplyQueue.md +11 -0
  52. package/docs/Markets USDC Vault.md +35 -0
  53. package/docs/Markets USDU Vault.md +89 -0
  54. package/docs/Markets WETH Vault.md +35 -0
  55. package/docs/Overview.drawio +117 -0
  56. package/exports/abis/curve/CurveAdapterV1.ts +599 -0
  57. package/exports/abis/curve/CurveAdapterV1_1.ts +609 -0
  58. package/exports/abis/curve/CurveAdapterV1_2.ts +721 -0
  59. package/exports/abis/curve/helper/ICurveStableSwapNG.ts +1589 -0
  60. package/exports/abis/morpho/MorphoAdapterV1.ts +516 -0
  61. package/exports/abis/morpho/MorphoAdapterV1_1.ts +489 -0
  62. package/exports/abis/morpho/MorphoAdapterV1_2.ts +459 -0
  63. package/exports/abis/morpho/helper/AggregatorV3Interface.ts +113 -0
  64. package/exports/abis/morpho/helper/IMetaMorphoV1_1.ts +1483 -0
  65. package/exports/abis/morpho/helper/IMetaMorphoV1_1Base.ts +607 -0
  66. package/exports/abis/morpho/helper/IMetaMorphoV1_1StaticTyping.ts +696 -0
  67. package/exports/abis/morpho/helper/IMorpho.ts +1024 -0
  68. package/exports/abis/morpho/helper/IMorphoBase.ts +886 -0
  69. package/exports/abis/morpho/helper/IMorphoChainlinkOracleV2.ts +132 -0
  70. package/exports/abis/morpho/helper/IMorphoChainlinkOracleV2Factory.ts +109 -0
  71. package/exports/abis/morpho/helper/IMorphoFlashLoanCallback.ts +20 -0
  72. package/exports/abis/morpho/helper/IMorphoLiquidateCallback.ts +20 -0
  73. package/exports/abis/morpho/helper/IMorphoRepayCallback.ts +20 -0
  74. package/exports/abis/morpho/helper/IMorphoStaticTyping.ts +1003 -0
  75. package/exports/abis/morpho/helper/IMorphoSupplyCallback.ts +20 -0
  76. package/exports/abis/morpho/helper/IMorphoSupplyCollateralCallback.ts +20 -0
  77. package/exports/abis/morpho/helper/IMulticall.ts +21 -0
  78. package/exports/abis/morpho/helper/IOracle.ts +15 -0
  79. package/exports/abis/morpho/helper/IOwnable.ts +55 -0
  80. package/exports/abis/morpho/helper/MorphoChainlinkOracleV2.ts +188 -0
  81. package/exports/abis/openzeppelin/ERC20.ts +310 -0
  82. package/exports/abis/openzeppelin/ERC20Permit.ts +520 -0
  83. package/exports/abis/openzeppelin/IERC20.ts +185 -0
  84. package/exports/abis/openzeppelin/IERC20Metadata.ts +224 -0
  85. package/exports/abis/openzeppelin/IERC20Permit.ts +77 -0
  86. package/exports/abis/openzeppelin/IERC4626.ts +614 -0
  87. package/exports/abis/reward/RewardDistributionV1.ts +246 -0
  88. package/exports/abis/stablecoin/ErrorsLib.ts +114 -0
  89. package/exports/abis/stablecoin/EventsLib.ts +372 -0
  90. package/exports/abis/stablecoin/IStablecoin.ts +642 -0
  91. package/exports/abis/stablecoin/IStablecoinMetadata.ts +856 -0
  92. package/exports/abis/stablecoin/IStablecoinModifier.ts +15 -0
  93. package/exports/abis/stablecoin/Stablecoin.ts +1922 -0
  94. package/exports/abis/termmax/ITermMaxVault.ts +2335 -0
  95. package/exports/abis/vault/VaultAdapterRecoverV1.ts +490 -0
  96. package/exports/abis/vault/VaultAdapterV1.ts +459 -0
  97. package/exports/address.config.ts +113 -0
  98. package/exports/address.types.ts +130 -0
  99. package/exports/index.ts +61 -0
  100. package/hardhat.config.ts +231 -0
  101. package/helper/store.args.ts +17 -0
  102. package/helper/wallet.info.ts +3 -0
  103. package/helper/wallet.ts +41 -0
  104. package/install-macos.sh +46 -0
  105. package/package.json +73 -0
  106. package/tsconfig.json +15 -0
  107. package/tsup.config.ts +10 -0
@@ -0,0 +1,1003 @@
1
+ export const IMorphoStaticTyping_ABI = [
2
+ {
3
+ inputs: [],
4
+ name: 'DOMAIN_SEPARATOR',
5
+ outputs: [
6
+ {
7
+ internalType: 'bytes32',
8
+ name: '',
9
+ type: 'bytes32',
10
+ },
11
+ ],
12
+ stateMutability: 'view',
13
+ type: 'function',
14
+ },
15
+ {
16
+ inputs: [
17
+ {
18
+ components: [
19
+ {
20
+ internalType: 'address',
21
+ name: 'loanToken',
22
+ type: 'address',
23
+ },
24
+ {
25
+ internalType: 'address',
26
+ name: 'collateralToken',
27
+ type: 'address',
28
+ },
29
+ {
30
+ internalType: 'address',
31
+ name: 'oracle',
32
+ type: 'address',
33
+ },
34
+ {
35
+ internalType: 'address',
36
+ name: 'irm',
37
+ type: 'address',
38
+ },
39
+ {
40
+ internalType: 'uint256',
41
+ name: 'lltv',
42
+ type: 'uint256',
43
+ },
44
+ ],
45
+ internalType: 'struct MarketParams',
46
+ name: 'marketParams',
47
+ type: 'tuple',
48
+ },
49
+ ],
50
+ name: 'accrueInterest',
51
+ outputs: [],
52
+ stateMutability: 'nonpayable',
53
+ type: 'function',
54
+ },
55
+ {
56
+ inputs: [
57
+ {
58
+ components: [
59
+ {
60
+ internalType: 'address',
61
+ name: 'loanToken',
62
+ type: 'address',
63
+ },
64
+ {
65
+ internalType: 'address',
66
+ name: 'collateralToken',
67
+ type: 'address',
68
+ },
69
+ {
70
+ internalType: 'address',
71
+ name: 'oracle',
72
+ type: 'address',
73
+ },
74
+ {
75
+ internalType: 'address',
76
+ name: 'irm',
77
+ type: 'address',
78
+ },
79
+ {
80
+ internalType: 'uint256',
81
+ name: 'lltv',
82
+ type: 'uint256',
83
+ },
84
+ ],
85
+ internalType: 'struct MarketParams',
86
+ name: 'marketParams',
87
+ type: 'tuple',
88
+ },
89
+ {
90
+ internalType: 'uint256',
91
+ name: 'assets',
92
+ type: 'uint256',
93
+ },
94
+ {
95
+ internalType: 'uint256',
96
+ name: 'shares',
97
+ type: 'uint256',
98
+ },
99
+ {
100
+ internalType: 'address',
101
+ name: 'onBehalf',
102
+ type: 'address',
103
+ },
104
+ {
105
+ internalType: 'address',
106
+ name: 'receiver',
107
+ type: 'address',
108
+ },
109
+ ],
110
+ name: 'borrow',
111
+ outputs: [
112
+ {
113
+ internalType: 'uint256',
114
+ name: 'assetsBorrowed',
115
+ type: 'uint256',
116
+ },
117
+ {
118
+ internalType: 'uint256',
119
+ name: 'sharesBorrowed',
120
+ type: 'uint256',
121
+ },
122
+ ],
123
+ stateMutability: 'nonpayable',
124
+ type: 'function',
125
+ },
126
+ {
127
+ inputs: [
128
+ {
129
+ components: [
130
+ {
131
+ internalType: 'address',
132
+ name: 'loanToken',
133
+ type: 'address',
134
+ },
135
+ {
136
+ internalType: 'address',
137
+ name: 'collateralToken',
138
+ type: 'address',
139
+ },
140
+ {
141
+ internalType: 'address',
142
+ name: 'oracle',
143
+ type: 'address',
144
+ },
145
+ {
146
+ internalType: 'address',
147
+ name: 'irm',
148
+ type: 'address',
149
+ },
150
+ {
151
+ internalType: 'uint256',
152
+ name: 'lltv',
153
+ type: 'uint256',
154
+ },
155
+ ],
156
+ internalType: 'struct MarketParams',
157
+ name: 'marketParams',
158
+ type: 'tuple',
159
+ },
160
+ ],
161
+ name: 'createMarket',
162
+ outputs: [],
163
+ stateMutability: 'nonpayable',
164
+ type: 'function',
165
+ },
166
+ {
167
+ inputs: [
168
+ {
169
+ internalType: 'address',
170
+ name: 'irm',
171
+ type: 'address',
172
+ },
173
+ ],
174
+ name: 'enableIrm',
175
+ outputs: [],
176
+ stateMutability: 'nonpayable',
177
+ type: 'function',
178
+ },
179
+ {
180
+ inputs: [
181
+ {
182
+ internalType: 'uint256',
183
+ name: 'lltv',
184
+ type: 'uint256',
185
+ },
186
+ ],
187
+ name: 'enableLltv',
188
+ outputs: [],
189
+ stateMutability: 'nonpayable',
190
+ type: 'function',
191
+ },
192
+ {
193
+ inputs: [
194
+ {
195
+ internalType: 'bytes32[]',
196
+ name: 'slots',
197
+ type: 'bytes32[]',
198
+ },
199
+ ],
200
+ name: 'extSloads',
201
+ outputs: [
202
+ {
203
+ internalType: 'bytes32[]',
204
+ name: '',
205
+ type: 'bytes32[]',
206
+ },
207
+ ],
208
+ stateMutability: 'view',
209
+ type: 'function',
210
+ },
211
+ {
212
+ inputs: [],
213
+ name: 'feeRecipient',
214
+ outputs: [
215
+ {
216
+ internalType: 'address',
217
+ name: '',
218
+ type: 'address',
219
+ },
220
+ ],
221
+ stateMutability: 'view',
222
+ type: 'function',
223
+ },
224
+ {
225
+ inputs: [
226
+ {
227
+ internalType: 'address',
228
+ name: 'token',
229
+ type: 'address',
230
+ },
231
+ {
232
+ internalType: 'uint256',
233
+ name: 'assets',
234
+ type: 'uint256',
235
+ },
236
+ {
237
+ internalType: 'bytes',
238
+ name: 'data',
239
+ type: 'bytes',
240
+ },
241
+ ],
242
+ name: 'flashLoan',
243
+ outputs: [],
244
+ stateMutability: 'nonpayable',
245
+ type: 'function',
246
+ },
247
+ {
248
+ inputs: [
249
+ {
250
+ internalType: 'Id',
251
+ name: 'id',
252
+ type: 'bytes32',
253
+ },
254
+ ],
255
+ name: 'idToMarketParams',
256
+ outputs: [
257
+ {
258
+ internalType: 'address',
259
+ name: 'loanToken',
260
+ type: 'address',
261
+ },
262
+ {
263
+ internalType: 'address',
264
+ name: 'collateralToken',
265
+ type: 'address',
266
+ },
267
+ {
268
+ internalType: 'address',
269
+ name: 'oracle',
270
+ type: 'address',
271
+ },
272
+ {
273
+ internalType: 'address',
274
+ name: 'irm',
275
+ type: 'address',
276
+ },
277
+ {
278
+ internalType: 'uint256',
279
+ name: 'lltv',
280
+ type: 'uint256',
281
+ },
282
+ ],
283
+ stateMutability: 'view',
284
+ type: 'function',
285
+ },
286
+ {
287
+ inputs: [
288
+ {
289
+ internalType: 'address',
290
+ name: 'authorizer',
291
+ type: 'address',
292
+ },
293
+ {
294
+ internalType: 'address',
295
+ name: 'authorized',
296
+ type: 'address',
297
+ },
298
+ ],
299
+ name: 'isAuthorized',
300
+ outputs: [
301
+ {
302
+ internalType: 'bool',
303
+ name: '',
304
+ type: 'bool',
305
+ },
306
+ ],
307
+ stateMutability: 'view',
308
+ type: 'function',
309
+ },
310
+ {
311
+ inputs: [
312
+ {
313
+ internalType: 'address',
314
+ name: 'irm',
315
+ type: 'address',
316
+ },
317
+ ],
318
+ name: 'isIrmEnabled',
319
+ outputs: [
320
+ {
321
+ internalType: 'bool',
322
+ name: '',
323
+ type: 'bool',
324
+ },
325
+ ],
326
+ stateMutability: 'view',
327
+ type: 'function',
328
+ },
329
+ {
330
+ inputs: [
331
+ {
332
+ internalType: 'uint256',
333
+ name: 'lltv',
334
+ type: 'uint256',
335
+ },
336
+ ],
337
+ name: 'isLltvEnabled',
338
+ outputs: [
339
+ {
340
+ internalType: 'bool',
341
+ name: '',
342
+ type: 'bool',
343
+ },
344
+ ],
345
+ stateMutability: 'view',
346
+ type: 'function',
347
+ },
348
+ {
349
+ inputs: [
350
+ {
351
+ components: [
352
+ {
353
+ internalType: 'address',
354
+ name: 'loanToken',
355
+ type: 'address',
356
+ },
357
+ {
358
+ internalType: 'address',
359
+ name: 'collateralToken',
360
+ type: 'address',
361
+ },
362
+ {
363
+ internalType: 'address',
364
+ name: 'oracle',
365
+ type: 'address',
366
+ },
367
+ {
368
+ internalType: 'address',
369
+ name: 'irm',
370
+ type: 'address',
371
+ },
372
+ {
373
+ internalType: 'uint256',
374
+ name: 'lltv',
375
+ type: 'uint256',
376
+ },
377
+ ],
378
+ internalType: 'struct MarketParams',
379
+ name: 'marketParams',
380
+ type: 'tuple',
381
+ },
382
+ {
383
+ internalType: 'address',
384
+ name: 'borrower',
385
+ type: 'address',
386
+ },
387
+ {
388
+ internalType: 'uint256',
389
+ name: 'seizedAssets',
390
+ type: 'uint256',
391
+ },
392
+ {
393
+ internalType: 'uint256',
394
+ name: 'repaidShares',
395
+ type: 'uint256',
396
+ },
397
+ {
398
+ internalType: 'bytes',
399
+ name: 'data',
400
+ type: 'bytes',
401
+ },
402
+ ],
403
+ name: 'liquidate',
404
+ outputs: [
405
+ {
406
+ internalType: 'uint256',
407
+ name: '',
408
+ type: 'uint256',
409
+ },
410
+ {
411
+ internalType: 'uint256',
412
+ name: '',
413
+ type: 'uint256',
414
+ },
415
+ ],
416
+ stateMutability: 'nonpayable',
417
+ type: 'function',
418
+ },
419
+ {
420
+ inputs: [
421
+ {
422
+ internalType: 'Id',
423
+ name: 'id',
424
+ type: 'bytes32',
425
+ },
426
+ ],
427
+ name: 'market',
428
+ outputs: [
429
+ {
430
+ internalType: 'uint128',
431
+ name: 'totalSupplyAssets',
432
+ type: 'uint128',
433
+ },
434
+ {
435
+ internalType: 'uint128',
436
+ name: 'totalSupplyShares',
437
+ type: 'uint128',
438
+ },
439
+ {
440
+ internalType: 'uint128',
441
+ name: 'totalBorrowAssets',
442
+ type: 'uint128',
443
+ },
444
+ {
445
+ internalType: 'uint128',
446
+ name: 'totalBorrowShares',
447
+ type: 'uint128',
448
+ },
449
+ {
450
+ internalType: 'uint128',
451
+ name: 'lastUpdate',
452
+ type: 'uint128',
453
+ },
454
+ {
455
+ internalType: 'uint128',
456
+ name: 'fee',
457
+ type: 'uint128',
458
+ },
459
+ ],
460
+ stateMutability: 'view',
461
+ type: 'function',
462
+ },
463
+ {
464
+ inputs: [
465
+ {
466
+ internalType: 'address',
467
+ name: 'authorizer',
468
+ type: 'address',
469
+ },
470
+ ],
471
+ name: 'nonce',
472
+ outputs: [
473
+ {
474
+ internalType: 'uint256',
475
+ name: '',
476
+ type: 'uint256',
477
+ },
478
+ ],
479
+ stateMutability: 'view',
480
+ type: 'function',
481
+ },
482
+ {
483
+ inputs: [],
484
+ name: 'owner',
485
+ outputs: [
486
+ {
487
+ internalType: 'address',
488
+ name: '',
489
+ type: 'address',
490
+ },
491
+ ],
492
+ stateMutability: 'view',
493
+ type: 'function',
494
+ },
495
+ {
496
+ inputs: [
497
+ {
498
+ internalType: 'Id',
499
+ name: 'id',
500
+ type: 'bytes32',
501
+ },
502
+ {
503
+ internalType: 'address',
504
+ name: 'user',
505
+ type: 'address',
506
+ },
507
+ ],
508
+ name: 'position',
509
+ outputs: [
510
+ {
511
+ internalType: 'uint256',
512
+ name: 'supplyShares',
513
+ type: 'uint256',
514
+ },
515
+ {
516
+ internalType: 'uint128',
517
+ name: 'borrowShares',
518
+ type: 'uint128',
519
+ },
520
+ {
521
+ internalType: 'uint128',
522
+ name: 'collateral',
523
+ type: 'uint128',
524
+ },
525
+ ],
526
+ stateMutability: 'view',
527
+ type: 'function',
528
+ },
529
+ {
530
+ inputs: [
531
+ {
532
+ components: [
533
+ {
534
+ internalType: 'address',
535
+ name: 'loanToken',
536
+ type: 'address',
537
+ },
538
+ {
539
+ internalType: 'address',
540
+ name: 'collateralToken',
541
+ type: 'address',
542
+ },
543
+ {
544
+ internalType: 'address',
545
+ name: 'oracle',
546
+ type: 'address',
547
+ },
548
+ {
549
+ internalType: 'address',
550
+ name: 'irm',
551
+ type: 'address',
552
+ },
553
+ {
554
+ internalType: 'uint256',
555
+ name: 'lltv',
556
+ type: 'uint256',
557
+ },
558
+ ],
559
+ internalType: 'struct MarketParams',
560
+ name: 'marketParams',
561
+ type: 'tuple',
562
+ },
563
+ {
564
+ internalType: 'uint256',
565
+ name: 'assets',
566
+ type: 'uint256',
567
+ },
568
+ {
569
+ internalType: 'uint256',
570
+ name: 'shares',
571
+ type: 'uint256',
572
+ },
573
+ {
574
+ internalType: 'address',
575
+ name: 'onBehalf',
576
+ type: 'address',
577
+ },
578
+ {
579
+ internalType: 'bytes',
580
+ name: 'data',
581
+ type: 'bytes',
582
+ },
583
+ ],
584
+ name: 'repay',
585
+ outputs: [
586
+ {
587
+ internalType: 'uint256',
588
+ name: 'assetsRepaid',
589
+ type: 'uint256',
590
+ },
591
+ {
592
+ internalType: 'uint256',
593
+ name: 'sharesRepaid',
594
+ type: 'uint256',
595
+ },
596
+ ],
597
+ stateMutability: 'nonpayable',
598
+ type: 'function',
599
+ },
600
+ {
601
+ inputs: [
602
+ {
603
+ internalType: 'address',
604
+ name: 'authorized',
605
+ type: 'address',
606
+ },
607
+ {
608
+ internalType: 'bool',
609
+ name: 'newIsAuthorized',
610
+ type: 'bool',
611
+ },
612
+ ],
613
+ name: 'setAuthorization',
614
+ outputs: [],
615
+ stateMutability: 'nonpayable',
616
+ type: 'function',
617
+ },
618
+ {
619
+ inputs: [
620
+ {
621
+ components: [
622
+ {
623
+ internalType: 'address',
624
+ name: 'authorizer',
625
+ type: 'address',
626
+ },
627
+ {
628
+ internalType: 'address',
629
+ name: 'authorized',
630
+ type: 'address',
631
+ },
632
+ {
633
+ internalType: 'bool',
634
+ name: 'isAuthorized',
635
+ type: 'bool',
636
+ },
637
+ {
638
+ internalType: 'uint256',
639
+ name: 'nonce',
640
+ type: 'uint256',
641
+ },
642
+ {
643
+ internalType: 'uint256',
644
+ name: 'deadline',
645
+ type: 'uint256',
646
+ },
647
+ ],
648
+ internalType: 'struct Authorization',
649
+ name: 'authorization',
650
+ type: 'tuple',
651
+ },
652
+ {
653
+ components: [
654
+ {
655
+ internalType: 'uint8',
656
+ name: 'v',
657
+ type: 'uint8',
658
+ },
659
+ {
660
+ internalType: 'bytes32',
661
+ name: 'r',
662
+ type: 'bytes32',
663
+ },
664
+ {
665
+ internalType: 'bytes32',
666
+ name: 's',
667
+ type: 'bytes32',
668
+ },
669
+ ],
670
+ internalType: 'struct Signature',
671
+ name: 'signature',
672
+ type: 'tuple',
673
+ },
674
+ ],
675
+ name: 'setAuthorizationWithSig',
676
+ outputs: [],
677
+ stateMutability: 'nonpayable',
678
+ type: 'function',
679
+ },
680
+ {
681
+ inputs: [
682
+ {
683
+ components: [
684
+ {
685
+ internalType: 'address',
686
+ name: 'loanToken',
687
+ type: 'address',
688
+ },
689
+ {
690
+ internalType: 'address',
691
+ name: 'collateralToken',
692
+ type: 'address',
693
+ },
694
+ {
695
+ internalType: 'address',
696
+ name: 'oracle',
697
+ type: 'address',
698
+ },
699
+ {
700
+ internalType: 'address',
701
+ name: 'irm',
702
+ type: 'address',
703
+ },
704
+ {
705
+ internalType: 'uint256',
706
+ name: 'lltv',
707
+ type: 'uint256',
708
+ },
709
+ ],
710
+ internalType: 'struct MarketParams',
711
+ name: 'marketParams',
712
+ type: 'tuple',
713
+ },
714
+ {
715
+ internalType: 'uint256',
716
+ name: 'newFee',
717
+ type: 'uint256',
718
+ },
719
+ ],
720
+ name: 'setFee',
721
+ outputs: [],
722
+ stateMutability: 'nonpayable',
723
+ type: 'function',
724
+ },
725
+ {
726
+ inputs: [
727
+ {
728
+ internalType: 'address',
729
+ name: 'newFeeRecipient',
730
+ type: 'address',
731
+ },
732
+ ],
733
+ name: 'setFeeRecipient',
734
+ outputs: [],
735
+ stateMutability: 'nonpayable',
736
+ type: 'function',
737
+ },
738
+ {
739
+ inputs: [
740
+ {
741
+ internalType: 'address',
742
+ name: 'newOwner',
743
+ type: 'address',
744
+ },
745
+ ],
746
+ name: 'setOwner',
747
+ outputs: [],
748
+ stateMutability: 'nonpayable',
749
+ type: 'function',
750
+ },
751
+ {
752
+ inputs: [
753
+ {
754
+ components: [
755
+ {
756
+ internalType: 'address',
757
+ name: 'loanToken',
758
+ type: 'address',
759
+ },
760
+ {
761
+ internalType: 'address',
762
+ name: 'collateralToken',
763
+ type: 'address',
764
+ },
765
+ {
766
+ internalType: 'address',
767
+ name: 'oracle',
768
+ type: 'address',
769
+ },
770
+ {
771
+ internalType: 'address',
772
+ name: 'irm',
773
+ type: 'address',
774
+ },
775
+ {
776
+ internalType: 'uint256',
777
+ name: 'lltv',
778
+ type: 'uint256',
779
+ },
780
+ ],
781
+ internalType: 'struct MarketParams',
782
+ name: 'marketParams',
783
+ type: 'tuple',
784
+ },
785
+ {
786
+ internalType: 'uint256',
787
+ name: 'assets',
788
+ type: 'uint256',
789
+ },
790
+ {
791
+ internalType: 'uint256',
792
+ name: 'shares',
793
+ type: 'uint256',
794
+ },
795
+ {
796
+ internalType: 'address',
797
+ name: 'onBehalf',
798
+ type: 'address',
799
+ },
800
+ {
801
+ internalType: 'bytes',
802
+ name: 'data',
803
+ type: 'bytes',
804
+ },
805
+ ],
806
+ name: 'supply',
807
+ outputs: [
808
+ {
809
+ internalType: 'uint256',
810
+ name: 'assetsSupplied',
811
+ type: 'uint256',
812
+ },
813
+ {
814
+ internalType: 'uint256',
815
+ name: 'sharesSupplied',
816
+ type: 'uint256',
817
+ },
818
+ ],
819
+ stateMutability: 'nonpayable',
820
+ type: 'function',
821
+ },
822
+ {
823
+ inputs: [
824
+ {
825
+ components: [
826
+ {
827
+ internalType: 'address',
828
+ name: 'loanToken',
829
+ type: 'address',
830
+ },
831
+ {
832
+ internalType: 'address',
833
+ name: 'collateralToken',
834
+ type: 'address',
835
+ },
836
+ {
837
+ internalType: 'address',
838
+ name: 'oracle',
839
+ type: 'address',
840
+ },
841
+ {
842
+ internalType: 'address',
843
+ name: 'irm',
844
+ type: 'address',
845
+ },
846
+ {
847
+ internalType: 'uint256',
848
+ name: 'lltv',
849
+ type: 'uint256',
850
+ },
851
+ ],
852
+ internalType: 'struct MarketParams',
853
+ name: 'marketParams',
854
+ type: 'tuple',
855
+ },
856
+ {
857
+ internalType: 'uint256',
858
+ name: 'assets',
859
+ type: 'uint256',
860
+ },
861
+ {
862
+ internalType: 'address',
863
+ name: 'onBehalf',
864
+ type: 'address',
865
+ },
866
+ {
867
+ internalType: 'bytes',
868
+ name: 'data',
869
+ type: 'bytes',
870
+ },
871
+ ],
872
+ name: 'supplyCollateral',
873
+ outputs: [],
874
+ stateMutability: 'nonpayable',
875
+ type: 'function',
876
+ },
877
+ {
878
+ inputs: [
879
+ {
880
+ components: [
881
+ {
882
+ internalType: 'address',
883
+ name: 'loanToken',
884
+ type: 'address',
885
+ },
886
+ {
887
+ internalType: 'address',
888
+ name: 'collateralToken',
889
+ type: 'address',
890
+ },
891
+ {
892
+ internalType: 'address',
893
+ name: 'oracle',
894
+ type: 'address',
895
+ },
896
+ {
897
+ internalType: 'address',
898
+ name: 'irm',
899
+ type: 'address',
900
+ },
901
+ {
902
+ internalType: 'uint256',
903
+ name: 'lltv',
904
+ type: 'uint256',
905
+ },
906
+ ],
907
+ internalType: 'struct MarketParams',
908
+ name: 'marketParams',
909
+ type: 'tuple',
910
+ },
911
+ {
912
+ internalType: 'uint256',
913
+ name: 'assets',
914
+ type: 'uint256',
915
+ },
916
+ {
917
+ internalType: 'uint256',
918
+ name: 'shares',
919
+ type: 'uint256',
920
+ },
921
+ {
922
+ internalType: 'address',
923
+ name: 'onBehalf',
924
+ type: 'address',
925
+ },
926
+ {
927
+ internalType: 'address',
928
+ name: 'receiver',
929
+ type: 'address',
930
+ },
931
+ ],
932
+ name: 'withdraw',
933
+ outputs: [
934
+ {
935
+ internalType: 'uint256',
936
+ name: 'assetsWithdrawn',
937
+ type: 'uint256',
938
+ },
939
+ {
940
+ internalType: 'uint256',
941
+ name: 'sharesWithdrawn',
942
+ type: 'uint256',
943
+ },
944
+ ],
945
+ stateMutability: 'nonpayable',
946
+ type: 'function',
947
+ },
948
+ {
949
+ inputs: [
950
+ {
951
+ components: [
952
+ {
953
+ internalType: 'address',
954
+ name: 'loanToken',
955
+ type: 'address',
956
+ },
957
+ {
958
+ internalType: 'address',
959
+ name: 'collateralToken',
960
+ type: 'address',
961
+ },
962
+ {
963
+ internalType: 'address',
964
+ name: 'oracle',
965
+ type: 'address',
966
+ },
967
+ {
968
+ internalType: 'address',
969
+ name: 'irm',
970
+ type: 'address',
971
+ },
972
+ {
973
+ internalType: 'uint256',
974
+ name: 'lltv',
975
+ type: 'uint256',
976
+ },
977
+ ],
978
+ internalType: 'struct MarketParams',
979
+ name: 'marketParams',
980
+ type: 'tuple',
981
+ },
982
+ {
983
+ internalType: 'uint256',
984
+ name: 'assets',
985
+ type: 'uint256',
986
+ },
987
+ {
988
+ internalType: 'address',
989
+ name: 'onBehalf',
990
+ type: 'address',
991
+ },
992
+ {
993
+ internalType: 'address',
994
+ name: 'receiver',
995
+ type: 'address',
996
+ },
997
+ ],
998
+ name: 'withdrawCollateral',
999
+ outputs: [],
1000
+ stateMutability: 'nonpayable',
1001
+ type: 'function',
1002
+ },
1003
+ ] as const;