curvance 5.1.1 → 5.1.2

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.
@@ -0,0 +1,1435 @@
1
+ [
2
+ {
3
+ "type": "constructor",
4
+ "inputs": [
5
+ {
6
+ "name": "asset_",
7
+ "type": "address",
8
+ "internalType": "contract IERC20"
9
+ },
10
+ {
11
+ "name": "_centralRegistry",
12
+ "type": "address",
13
+ "internalType": "contract ICentralRegistry"
14
+ },
15
+ {
16
+ "name": "_approvedCTokens",
17
+ "type": "address[]",
18
+ "internalType": "address[]"
19
+ },
20
+ {
21
+ "name": "_allocationCapsBps",
22
+ "type": "uint256[]",
23
+ "internalType": "uint256[]"
24
+ },
25
+ {
26
+ "name": "_feeBps",
27
+ "type": "uint256",
28
+ "internalType": "uint256"
29
+ }
30
+ ],
31
+ "stateMutability": "nonpayable"
32
+ },
33
+ {
34
+ "type": "function",
35
+ "name": "DOMAIN_SEPARATOR",
36
+ "inputs": [],
37
+ "outputs": [
38
+ {
39
+ "name": "result",
40
+ "type": "bytes32",
41
+ "internalType": "bytes32"
42
+ }
43
+ ],
44
+ "stateMutability": "view"
45
+ },
46
+ {
47
+ "type": "function",
48
+ "name": "MAX_FEE_BPS",
49
+ "inputs": [],
50
+ "outputs": [
51
+ {
52
+ "name": "",
53
+ "type": "uint256",
54
+ "internalType": "uint256"
55
+ }
56
+ ],
57
+ "stateMutability": "view"
58
+ },
59
+ {
60
+ "type": "function",
61
+ "name": "MAX_MARKETS",
62
+ "inputs": [],
63
+ "outputs": [
64
+ {
65
+ "name": "",
66
+ "type": "uint256",
67
+ "internalType": "uint256"
68
+ }
69
+ ],
70
+ "stateMutability": "view"
71
+ },
72
+ {
73
+ "type": "function",
74
+ "name": "MIN_REALLOCATION_AMOUNT",
75
+ "inputs": [],
76
+ "outputs": [
77
+ {
78
+ "name": "",
79
+ "type": "int256",
80
+ "internalType": "int256"
81
+ }
82
+ ],
83
+ "stateMutability": "view"
84
+ },
85
+ {
86
+ "type": "function",
87
+ "name": "_asset",
88
+ "inputs": [],
89
+ "outputs": [
90
+ {
91
+ "name": "",
92
+ "type": "address",
93
+ "internalType": "contract IERC20"
94
+ }
95
+ ],
96
+ "stateMutability": "view"
97
+ },
98
+ {
99
+ "type": "function",
100
+ "name": "accrueIfNeeded",
101
+ "inputs": [],
102
+ "outputs": [],
103
+ "stateMutability": "nonpayable"
104
+ },
105
+ {
106
+ "type": "function",
107
+ "name": "addApprovedAsset",
108
+ "inputs": [
109
+ {
110
+ "name": "newAsset",
111
+ "type": "address",
112
+ "internalType": "address"
113
+ },
114
+ {
115
+ "name": "capBps",
116
+ "type": "uint256",
117
+ "internalType": "uint256"
118
+ }
119
+ ],
120
+ "outputs": [],
121
+ "stateMutability": "nonpayable"
122
+ },
123
+ {
124
+ "type": "function",
125
+ "name": "allocationCaps",
126
+ "inputs": [
127
+ {
128
+ "name": "",
129
+ "type": "address",
130
+ "internalType": "address"
131
+ }
132
+ ],
133
+ "outputs": [
134
+ {
135
+ "name": "",
136
+ "type": "uint256",
137
+ "internalType": "uint256"
138
+ }
139
+ ],
140
+ "stateMutability": "view"
141
+ },
142
+ {
143
+ "type": "function",
144
+ "name": "allowance",
145
+ "inputs": [
146
+ {
147
+ "name": "owner",
148
+ "type": "address",
149
+ "internalType": "address"
150
+ },
151
+ {
152
+ "name": "spender",
153
+ "type": "address",
154
+ "internalType": "address"
155
+ }
156
+ ],
157
+ "outputs": [
158
+ {
159
+ "name": "result",
160
+ "type": "uint256",
161
+ "internalType": "uint256"
162
+ }
163
+ ],
164
+ "stateMutability": "view"
165
+ },
166
+ {
167
+ "type": "function",
168
+ "name": "approve",
169
+ "inputs": [
170
+ {
171
+ "name": "spender",
172
+ "type": "address",
173
+ "internalType": "address"
174
+ },
175
+ {
176
+ "name": "amount",
177
+ "type": "uint256",
178
+ "internalType": "uint256"
179
+ }
180
+ ],
181
+ "outputs": [
182
+ {
183
+ "name": "",
184
+ "type": "bool",
185
+ "internalType": "bool"
186
+ }
187
+ ],
188
+ "stateMutability": "nonpayable"
189
+ },
190
+ {
191
+ "type": "function",
192
+ "name": "approvedCTokensList",
193
+ "inputs": [
194
+ {
195
+ "name": "",
196
+ "type": "uint256",
197
+ "internalType": "uint256"
198
+ }
199
+ ],
200
+ "outputs": [
201
+ {
202
+ "name": "",
203
+ "type": "address",
204
+ "internalType": "address"
205
+ }
206
+ ],
207
+ "stateMutability": "view"
208
+ },
209
+ {
210
+ "type": "function",
211
+ "name": "asset",
212
+ "inputs": [],
213
+ "outputs": [
214
+ {
215
+ "name": "",
216
+ "type": "address",
217
+ "internalType": "address"
218
+ }
219
+ ],
220
+ "stateMutability": "view"
221
+ },
222
+ {
223
+ "type": "function",
224
+ "name": "balanceOf",
225
+ "inputs": [
226
+ {
227
+ "name": "owner",
228
+ "type": "address",
229
+ "internalType": "address"
230
+ }
231
+ ],
232
+ "outputs": [
233
+ {
234
+ "name": "result",
235
+ "type": "uint256",
236
+ "internalType": "uint256"
237
+ }
238
+ ],
239
+ "stateMutability": "view"
240
+ },
241
+ {
242
+ "type": "function",
243
+ "name": "centralRegistry",
244
+ "inputs": [],
245
+ "outputs": [
246
+ {
247
+ "name": "",
248
+ "type": "address",
249
+ "internalType": "contract ICentralRegistry"
250
+ }
251
+ ],
252
+ "stateMutability": "view"
253
+ },
254
+ {
255
+ "type": "function",
256
+ "name": "convertToAssets",
257
+ "inputs": [
258
+ {
259
+ "name": "shares",
260
+ "type": "uint256",
261
+ "internalType": "uint256"
262
+ }
263
+ ],
264
+ "outputs": [
265
+ {
266
+ "name": "assets",
267
+ "type": "uint256",
268
+ "internalType": "uint256"
269
+ }
270
+ ],
271
+ "stateMutability": "view"
272
+ },
273
+ {
274
+ "type": "function",
275
+ "name": "convertToShares",
276
+ "inputs": [
277
+ {
278
+ "name": "assets",
279
+ "type": "uint256",
280
+ "internalType": "uint256"
281
+ }
282
+ ],
283
+ "outputs": [
284
+ {
285
+ "name": "shares",
286
+ "type": "uint256",
287
+ "internalType": "uint256"
288
+ }
289
+ ],
290
+ "stateMutability": "view"
291
+ },
292
+ {
293
+ "type": "function",
294
+ "name": "decimals",
295
+ "inputs": [],
296
+ "outputs": [
297
+ {
298
+ "name": "",
299
+ "type": "uint8",
300
+ "internalType": "uint8"
301
+ }
302
+ ],
303
+ "stateMutability": "view"
304
+ },
305
+ {
306
+ "type": "function",
307
+ "name": "deposit",
308
+ "inputs": [
309
+ {
310
+ "name": "assets",
311
+ "type": "uint256",
312
+ "internalType": "uint256"
313
+ },
314
+ {
315
+ "name": "receiver",
316
+ "type": "address",
317
+ "internalType": "address"
318
+ }
319
+ ],
320
+ "outputs": [
321
+ {
322
+ "name": "shares",
323
+ "type": "uint256",
324
+ "internalType": "uint256"
325
+ }
326
+ ],
327
+ "stateMutability": "nonpayable"
328
+ },
329
+ {
330
+ "type": "function",
331
+ "name": "exchangeRate",
332
+ "inputs": [],
333
+ "outputs": [
334
+ {
335
+ "name": "",
336
+ "type": "uint256",
337
+ "internalType": "uint256"
338
+ }
339
+ ],
340
+ "stateMutability": "view"
341
+ },
342
+ {
343
+ "type": "function",
344
+ "name": "exchangeRateHighWatermark",
345
+ "inputs": [],
346
+ "outputs": [
347
+ {
348
+ "name": "",
349
+ "type": "uint256",
350
+ "internalType": "uint256"
351
+ }
352
+ ],
353
+ "stateMutability": "view"
354
+ },
355
+ {
356
+ "type": "function",
357
+ "name": "exchangeRateUpdated",
358
+ "inputs": [],
359
+ "outputs": [
360
+ {
361
+ "name": "",
362
+ "type": "uint256",
363
+ "internalType": "uint256"
364
+ }
365
+ ],
366
+ "stateMutability": "nonpayable"
367
+ },
368
+ {
369
+ "type": "function",
370
+ "name": "fee",
371
+ "inputs": [],
372
+ "outputs": [
373
+ {
374
+ "name": "",
375
+ "type": "uint256",
376
+ "internalType": "uint256"
377
+ }
378
+ ],
379
+ "stateMutability": "view"
380
+ },
381
+ {
382
+ "type": "function",
383
+ "name": "getApprovedMarkets",
384
+ "inputs": [],
385
+ "outputs": [
386
+ {
387
+ "name": "",
388
+ "type": "address[]",
389
+ "internalType": "address[]"
390
+ }
391
+ ],
392
+ "stateMutability": "view"
393
+ },
394
+ {
395
+ "type": "function",
396
+ "name": "initializeDeposits",
397
+ "inputs": [
398
+ {
399
+ "name": "targetMarket",
400
+ "type": "address",
401
+ "internalType": "address"
402
+ }
403
+ ],
404
+ "outputs": [],
405
+ "stateMutability": "nonpayable"
406
+ },
407
+ {
408
+ "type": "function",
409
+ "name": "maxDeposit",
410
+ "inputs": [
411
+ {
412
+ "name": "",
413
+ "type": "address",
414
+ "internalType": "address"
415
+ }
416
+ ],
417
+ "outputs": [
418
+ {
419
+ "name": "",
420
+ "type": "uint256",
421
+ "internalType": "uint256"
422
+ }
423
+ ],
424
+ "stateMutability": "view"
425
+ },
426
+ {
427
+ "type": "function",
428
+ "name": "maxMint",
429
+ "inputs": [
430
+ {
431
+ "name": "",
432
+ "type": "address",
433
+ "internalType": "address"
434
+ }
435
+ ],
436
+ "outputs": [
437
+ {
438
+ "name": "",
439
+ "type": "uint256",
440
+ "internalType": "uint256"
441
+ }
442
+ ],
443
+ "stateMutability": "view"
444
+ },
445
+ {
446
+ "type": "function",
447
+ "name": "maxRedeem",
448
+ "inputs": [
449
+ {
450
+ "name": "owner",
451
+ "type": "address",
452
+ "internalType": "address"
453
+ }
454
+ ],
455
+ "outputs": [
456
+ {
457
+ "name": "",
458
+ "type": "uint256",
459
+ "internalType": "uint256"
460
+ }
461
+ ],
462
+ "stateMutability": "view"
463
+ },
464
+ {
465
+ "type": "function",
466
+ "name": "maxWithdraw",
467
+ "inputs": [
468
+ {
469
+ "name": "owner",
470
+ "type": "address",
471
+ "internalType": "address"
472
+ }
473
+ ],
474
+ "outputs": [
475
+ {
476
+ "name": "",
477
+ "type": "uint256",
478
+ "internalType": "uint256"
479
+ }
480
+ ],
481
+ "stateMutability": "view"
482
+ },
483
+ {
484
+ "type": "function",
485
+ "name": "mint",
486
+ "inputs": [
487
+ {
488
+ "name": "shares",
489
+ "type": "uint256",
490
+ "internalType": "uint256"
491
+ },
492
+ {
493
+ "name": "receiver",
494
+ "type": "address",
495
+ "internalType": "address"
496
+ }
497
+ ],
498
+ "outputs": [
499
+ {
500
+ "name": "assets",
501
+ "type": "uint256",
502
+ "internalType": "uint256"
503
+ }
504
+ ],
505
+ "stateMutability": "nonpayable"
506
+ },
507
+ {
508
+ "type": "function",
509
+ "name": "mintPaused",
510
+ "inputs": [],
511
+ "outputs": [
512
+ {
513
+ "name": "",
514
+ "type": "uint8",
515
+ "internalType": "uint8"
516
+ }
517
+ ],
518
+ "stateMutability": "view"
519
+ },
520
+ {
521
+ "type": "function",
522
+ "name": "name",
523
+ "inputs": [],
524
+ "outputs": [
525
+ {
526
+ "name": "",
527
+ "type": "string",
528
+ "internalType": "string"
529
+ }
530
+ ],
531
+ "stateMutability": "view"
532
+ },
533
+ {
534
+ "type": "function",
535
+ "name": "nonces",
536
+ "inputs": [
537
+ {
538
+ "name": "owner",
539
+ "type": "address",
540
+ "internalType": "address"
541
+ }
542
+ ],
543
+ "outputs": [
544
+ {
545
+ "name": "result",
546
+ "type": "uint256",
547
+ "internalType": "uint256"
548
+ }
549
+ ],
550
+ "stateMutability": "view"
551
+ },
552
+ {
553
+ "type": "function",
554
+ "name": "numApprovedMarkets",
555
+ "inputs": [],
556
+ "outputs": [
557
+ {
558
+ "name": "",
559
+ "type": "uint256",
560
+ "internalType": "uint256"
561
+ }
562
+ ],
563
+ "stateMutability": "view"
564
+ },
565
+ {
566
+ "type": "function",
567
+ "name": "permit",
568
+ "inputs": [
569
+ {
570
+ "name": "owner",
571
+ "type": "address",
572
+ "internalType": "address"
573
+ },
574
+ {
575
+ "name": "spender",
576
+ "type": "address",
577
+ "internalType": "address"
578
+ },
579
+ {
580
+ "name": "value",
581
+ "type": "uint256",
582
+ "internalType": "uint256"
583
+ },
584
+ {
585
+ "name": "deadline",
586
+ "type": "uint256",
587
+ "internalType": "uint256"
588
+ },
589
+ {
590
+ "name": "v",
591
+ "type": "uint8",
592
+ "internalType": "uint8"
593
+ },
594
+ {
595
+ "name": "r",
596
+ "type": "bytes32",
597
+ "internalType": "bytes32"
598
+ },
599
+ {
600
+ "name": "s",
601
+ "type": "bytes32",
602
+ "internalType": "bytes32"
603
+ }
604
+ ],
605
+ "outputs": [],
606
+ "stateMutability": "nonpayable"
607
+ },
608
+ {
609
+ "type": "function",
610
+ "name": "previewDeposit",
611
+ "inputs": [
612
+ {
613
+ "name": "assets",
614
+ "type": "uint256",
615
+ "internalType": "uint256"
616
+ }
617
+ ],
618
+ "outputs": [
619
+ {
620
+ "name": "shares",
621
+ "type": "uint256",
622
+ "internalType": "uint256"
623
+ }
624
+ ],
625
+ "stateMutability": "view"
626
+ },
627
+ {
628
+ "type": "function",
629
+ "name": "previewMint",
630
+ "inputs": [
631
+ {
632
+ "name": "shares",
633
+ "type": "uint256",
634
+ "internalType": "uint256"
635
+ }
636
+ ],
637
+ "outputs": [
638
+ {
639
+ "name": "assets",
640
+ "type": "uint256",
641
+ "internalType": "uint256"
642
+ }
643
+ ],
644
+ "stateMutability": "view"
645
+ },
646
+ {
647
+ "type": "function",
648
+ "name": "previewRedeem",
649
+ "inputs": [
650
+ {
651
+ "name": "shares",
652
+ "type": "uint256",
653
+ "internalType": "uint256"
654
+ }
655
+ ],
656
+ "outputs": [
657
+ {
658
+ "name": "assets",
659
+ "type": "uint256",
660
+ "internalType": "uint256"
661
+ }
662
+ ],
663
+ "stateMutability": "view"
664
+ },
665
+ {
666
+ "type": "function",
667
+ "name": "previewWithdraw",
668
+ "inputs": [
669
+ {
670
+ "name": "assets",
671
+ "type": "uint256",
672
+ "internalType": "uint256"
673
+ }
674
+ ],
675
+ "outputs": [
676
+ {
677
+ "name": "shares",
678
+ "type": "uint256",
679
+ "internalType": "uint256"
680
+ }
681
+ ],
682
+ "stateMutability": "view"
683
+ },
684
+ {
685
+ "type": "function",
686
+ "name": "rebalance",
687
+ "inputs": [
688
+ {
689
+ "name": "actions",
690
+ "type": "tuple[]",
691
+ "internalType": "struct LendingOptimizer.ReallocationAction[]",
692
+ "components": [
693
+ {
694
+ "name": "cToken",
695
+ "type": "address",
696
+ "internalType": "contract IBorrowableCToken"
697
+ },
698
+ {
699
+ "name": "assetsOrBps",
700
+ "type": "int256",
701
+ "internalType": "int256"
702
+ }
703
+ ]
704
+ },
705
+ {
706
+ "name": "bounds",
707
+ "type": "tuple[]",
708
+ "internalType": "struct LendingOptimizer.AllocationBound[]",
709
+ "components": [
710
+ {
711
+ "name": "cToken",
712
+ "type": "address",
713
+ "internalType": "address"
714
+ },
715
+ {
716
+ "name": "minBps",
717
+ "type": "uint256",
718
+ "internalType": "uint256"
719
+ },
720
+ {
721
+ "name": "maxBps",
722
+ "type": "uint256",
723
+ "internalType": "uint256"
724
+ }
725
+ ]
726
+ }
727
+ ],
728
+ "outputs": [],
729
+ "stateMutability": "nonpayable"
730
+ },
731
+ {
732
+ "type": "function",
733
+ "name": "redeem",
734
+ "inputs": [
735
+ {
736
+ "name": "shares",
737
+ "type": "uint256",
738
+ "internalType": "uint256"
739
+ },
740
+ {
741
+ "name": "receiver",
742
+ "type": "address",
743
+ "internalType": "address"
744
+ },
745
+ {
746
+ "name": "owner",
747
+ "type": "address",
748
+ "internalType": "address"
749
+ }
750
+ ],
751
+ "outputs": [
752
+ {
753
+ "name": "assets",
754
+ "type": "uint256",
755
+ "internalType": "uint256"
756
+ }
757
+ ],
758
+ "stateMutability": "nonpayable"
759
+ },
760
+ {
761
+ "type": "function",
762
+ "name": "removeApprovedAsset",
763
+ "inputs": [
764
+ {
765
+ "name": "cTokenToRemove",
766
+ "type": "address",
767
+ "internalType": "address"
768
+ },
769
+ {
770
+ "name": "removeActions",
771
+ "type": "tuple[]",
772
+ "internalType": "struct LendingOptimizer.ReallocationAction[]",
773
+ "components": [
774
+ {
775
+ "name": "cToken",
776
+ "type": "address",
777
+ "internalType": "contract IBorrowableCToken"
778
+ },
779
+ {
780
+ "name": "assetsOrBps",
781
+ "type": "int256",
782
+ "internalType": "int256"
783
+ }
784
+ ]
785
+ },
786
+ {
787
+ "name": "bounds",
788
+ "type": "tuple[]",
789
+ "internalType": "struct LendingOptimizer.AllocationBound[]",
790
+ "components": [
791
+ {
792
+ "name": "cToken",
793
+ "type": "address",
794
+ "internalType": "address"
795
+ },
796
+ {
797
+ "name": "minBps",
798
+ "type": "uint256",
799
+ "internalType": "uint256"
800
+ },
801
+ {
802
+ "name": "maxBps",
803
+ "type": "uint256",
804
+ "internalType": "uint256"
805
+ }
806
+ ]
807
+ }
808
+ ],
809
+ "outputs": [],
810
+ "stateMutability": "nonpayable"
811
+ },
812
+ {
813
+ "type": "function",
814
+ "name": "setFee",
815
+ "inputs": [
816
+ {
817
+ "name": "newFeeBps",
818
+ "type": "uint256",
819
+ "internalType": "uint256"
820
+ }
821
+ ],
822
+ "outputs": [],
823
+ "stateMutability": "nonpayable"
824
+ },
825
+ {
826
+ "type": "function",
827
+ "name": "setMintPaused",
828
+ "inputs": [
829
+ {
830
+ "name": "state",
831
+ "type": "bool",
832
+ "internalType": "bool"
833
+ }
834
+ ],
835
+ "outputs": [],
836
+ "stateMutability": "nonpayable"
837
+ },
838
+ {
839
+ "type": "function",
840
+ "name": "skim",
841
+ "inputs": [],
842
+ "outputs": [],
843
+ "stateMutability": "nonpayable"
844
+ },
845
+ {
846
+ "type": "function",
847
+ "name": "skimAvailable",
848
+ "inputs": [],
849
+ "outputs": [
850
+ {
851
+ "name": "excess",
852
+ "type": "uint256",
853
+ "internalType": "uint256"
854
+ }
855
+ ],
856
+ "stateMutability": "view"
857
+ },
858
+ {
859
+ "type": "function",
860
+ "name": "supportsInterface",
861
+ "inputs": [
862
+ {
863
+ "name": "interfaceId",
864
+ "type": "bytes4",
865
+ "internalType": "bytes4"
866
+ }
867
+ ],
868
+ "outputs": [
869
+ {
870
+ "name": "result",
871
+ "type": "bool",
872
+ "internalType": "bool"
873
+ }
874
+ ],
875
+ "stateMutability": "view"
876
+ },
877
+ {
878
+ "type": "function",
879
+ "name": "symbol",
880
+ "inputs": [],
881
+ "outputs": [
882
+ {
883
+ "name": "",
884
+ "type": "string",
885
+ "internalType": "string"
886
+ }
887
+ ],
888
+ "stateMutability": "view"
889
+ },
890
+ {
891
+ "type": "function",
892
+ "name": "totalAssets",
893
+ "inputs": [],
894
+ "outputs": [
895
+ {
896
+ "name": "",
897
+ "type": "uint256",
898
+ "internalType": "uint256"
899
+ }
900
+ ],
901
+ "stateMutability": "view"
902
+ },
903
+ {
904
+ "type": "function",
905
+ "name": "totalSupply",
906
+ "inputs": [],
907
+ "outputs": [
908
+ {
909
+ "name": "result",
910
+ "type": "uint256",
911
+ "internalType": "uint256"
912
+ }
913
+ ],
914
+ "stateMutability": "view"
915
+ },
916
+ {
917
+ "type": "function",
918
+ "name": "transfer",
919
+ "inputs": [
920
+ {
921
+ "name": "to",
922
+ "type": "address",
923
+ "internalType": "address"
924
+ },
925
+ {
926
+ "name": "amount",
927
+ "type": "uint256",
928
+ "internalType": "uint256"
929
+ }
930
+ ],
931
+ "outputs": [
932
+ {
933
+ "name": "",
934
+ "type": "bool",
935
+ "internalType": "bool"
936
+ }
937
+ ],
938
+ "stateMutability": "nonpayable"
939
+ },
940
+ {
941
+ "type": "function",
942
+ "name": "transferFrom",
943
+ "inputs": [
944
+ {
945
+ "name": "from",
946
+ "type": "address",
947
+ "internalType": "address"
948
+ },
949
+ {
950
+ "name": "to",
951
+ "type": "address",
952
+ "internalType": "address"
953
+ },
954
+ {
955
+ "name": "amount",
956
+ "type": "uint256",
957
+ "internalType": "uint256"
958
+ }
959
+ ],
960
+ "outputs": [
961
+ {
962
+ "name": "",
963
+ "type": "bool",
964
+ "internalType": "bool"
965
+ }
966
+ ],
967
+ "stateMutability": "nonpayable"
968
+ },
969
+ {
970
+ "type": "function",
971
+ "name": "updateCap",
972
+ "inputs": [
973
+ {
974
+ "name": "cToken",
975
+ "type": "address",
976
+ "internalType": "address"
977
+ },
978
+ {
979
+ "name": "newCapBps",
980
+ "type": "uint256",
981
+ "internalType": "uint256"
982
+ }
983
+ ],
984
+ "outputs": [],
985
+ "stateMutability": "nonpayable"
986
+ },
987
+ {
988
+ "type": "function",
989
+ "name": "withdraw",
990
+ "inputs": [
991
+ {
992
+ "name": "assets",
993
+ "type": "uint256",
994
+ "internalType": "uint256"
995
+ },
996
+ {
997
+ "name": "receiver",
998
+ "type": "address",
999
+ "internalType": "address"
1000
+ },
1001
+ {
1002
+ "name": "owner",
1003
+ "type": "address",
1004
+ "internalType": "address"
1005
+ }
1006
+ ],
1007
+ "outputs": [
1008
+ {
1009
+ "name": "shares",
1010
+ "type": "uint256",
1011
+ "internalType": "uint256"
1012
+ }
1013
+ ],
1014
+ "stateMutability": "nonpayable"
1015
+ },
1016
+ {
1017
+ "type": "event",
1018
+ "name": "ActionPaused",
1019
+ "inputs": [
1020
+ {
1021
+ "name": "action",
1022
+ "type": "string",
1023
+ "indexed": false,
1024
+ "internalType": "string"
1025
+ },
1026
+ {
1027
+ "name": "state",
1028
+ "type": "bool",
1029
+ "indexed": false,
1030
+ "internalType": "bool"
1031
+ }
1032
+ ],
1033
+ "anonymous": false
1034
+ },
1035
+ {
1036
+ "type": "event",
1037
+ "name": "AllocationCapUpdated",
1038
+ "inputs": [
1039
+ {
1040
+ "name": "cToken",
1041
+ "type": "address",
1042
+ "indexed": true,
1043
+ "internalType": "address"
1044
+ },
1045
+ {
1046
+ "name": "newCap",
1047
+ "type": "uint256",
1048
+ "indexed": false,
1049
+ "internalType": "uint256"
1050
+ }
1051
+ ],
1052
+ "anonymous": false
1053
+ },
1054
+ {
1055
+ "type": "event",
1056
+ "name": "Approval",
1057
+ "inputs": [
1058
+ {
1059
+ "name": "owner",
1060
+ "type": "address",
1061
+ "indexed": true,
1062
+ "internalType": "address"
1063
+ },
1064
+ {
1065
+ "name": "spender",
1066
+ "type": "address",
1067
+ "indexed": true,
1068
+ "internalType": "address"
1069
+ },
1070
+ {
1071
+ "name": "amount",
1072
+ "type": "uint256",
1073
+ "indexed": false,
1074
+ "internalType": "uint256"
1075
+ }
1076
+ ],
1077
+ "anonymous": false
1078
+ },
1079
+ {
1080
+ "type": "event",
1081
+ "name": "Deposit",
1082
+ "inputs": [
1083
+ {
1084
+ "name": "by",
1085
+ "type": "address",
1086
+ "indexed": true,
1087
+ "internalType": "address"
1088
+ },
1089
+ {
1090
+ "name": "owner",
1091
+ "type": "address",
1092
+ "indexed": true,
1093
+ "internalType": "address"
1094
+ },
1095
+ {
1096
+ "name": "assets",
1097
+ "type": "uint256",
1098
+ "indexed": false,
1099
+ "internalType": "uint256"
1100
+ },
1101
+ {
1102
+ "name": "shares",
1103
+ "type": "uint256",
1104
+ "indexed": false,
1105
+ "internalType": "uint256"
1106
+ }
1107
+ ],
1108
+ "anonymous": false
1109
+ },
1110
+ {
1111
+ "type": "event",
1112
+ "name": "ExcessRecovered",
1113
+ "inputs": [
1114
+ {
1115
+ "name": "amount",
1116
+ "type": "uint256",
1117
+ "indexed": false,
1118
+ "internalType": "uint256"
1119
+ },
1120
+ {
1121
+ "name": "recipient",
1122
+ "type": "address",
1123
+ "indexed": true,
1124
+ "internalType": "address"
1125
+ }
1126
+ ],
1127
+ "anonymous": false
1128
+ },
1129
+ {
1130
+ "type": "event",
1131
+ "name": "FeeUpdated",
1132
+ "inputs": [
1133
+ {
1134
+ "name": "newFee",
1135
+ "type": "uint256",
1136
+ "indexed": false,
1137
+ "internalType": "uint256"
1138
+ }
1139
+ ],
1140
+ "anonymous": false
1141
+ },
1142
+ {
1143
+ "type": "event",
1144
+ "name": "MarketAdded",
1145
+ "inputs": [
1146
+ {
1147
+ "name": "cToken",
1148
+ "type": "address",
1149
+ "indexed": true,
1150
+ "internalType": "address"
1151
+ },
1152
+ {
1153
+ "name": "allocationCap",
1154
+ "type": "uint256",
1155
+ "indexed": false,
1156
+ "internalType": "uint256"
1157
+ }
1158
+ ],
1159
+ "anonymous": false
1160
+ },
1161
+ {
1162
+ "type": "event",
1163
+ "name": "MarketRemoved",
1164
+ "inputs": [
1165
+ {
1166
+ "name": "cToken",
1167
+ "type": "address",
1168
+ "indexed": true,
1169
+ "internalType": "address"
1170
+ }
1171
+ ],
1172
+ "anonymous": false
1173
+ },
1174
+ {
1175
+ "type": "event",
1176
+ "name": "PerformanceFeeAccrued",
1177
+ "inputs": [
1178
+ {
1179
+ "name": "feeShares",
1180
+ "type": "uint256",
1181
+ "indexed": false,
1182
+ "internalType": "uint256"
1183
+ },
1184
+ {
1185
+ "name": "recipient",
1186
+ "type": "address",
1187
+ "indexed": true,
1188
+ "internalType": "address"
1189
+ }
1190
+ ],
1191
+ "anonymous": false
1192
+ },
1193
+ {
1194
+ "type": "event",
1195
+ "name": "Rebalanced",
1196
+ "inputs": [
1197
+ {
1198
+ "name": "totalAssets",
1199
+ "type": "uint256",
1200
+ "indexed": false,
1201
+ "internalType": "uint256"
1202
+ },
1203
+ {
1204
+ "name": "markets",
1205
+ "type": "address[]",
1206
+ "indexed": false,
1207
+ "internalType": "address[]"
1208
+ },
1209
+ {
1210
+ "name": "allocations",
1211
+ "type": "uint256[]",
1212
+ "indexed": false,
1213
+ "internalType": "uint256[]"
1214
+ }
1215
+ ],
1216
+ "anonymous": false
1217
+ },
1218
+ {
1219
+ "type": "event",
1220
+ "name": "Transfer",
1221
+ "inputs": [
1222
+ {
1223
+ "name": "from",
1224
+ "type": "address",
1225
+ "indexed": true,
1226
+ "internalType": "address"
1227
+ },
1228
+ {
1229
+ "name": "to",
1230
+ "type": "address",
1231
+ "indexed": true,
1232
+ "internalType": "address"
1233
+ },
1234
+ {
1235
+ "name": "amount",
1236
+ "type": "uint256",
1237
+ "indexed": false,
1238
+ "internalType": "uint256"
1239
+ }
1240
+ ],
1241
+ "anonymous": false
1242
+ },
1243
+ {
1244
+ "type": "event",
1245
+ "name": "Withdraw",
1246
+ "inputs": [
1247
+ {
1248
+ "name": "by",
1249
+ "type": "address",
1250
+ "indexed": true,
1251
+ "internalType": "address"
1252
+ },
1253
+ {
1254
+ "name": "to",
1255
+ "type": "address",
1256
+ "indexed": true,
1257
+ "internalType": "address"
1258
+ },
1259
+ {
1260
+ "name": "owner",
1261
+ "type": "address",
1262
+ "indexed": true,
1263
+ "internalType": "address"
1264
+ },
1265
+ {
1266
+ "name": "assets",
1267
+ "type": "uint256",
1268
+ "indexed": false,
1269
+ "internalType": "uint256"
1270
+ },
1271
+ {
1272
+ "name": "shares",
1273
+ "type": "uint256",
1274
+ "indexed": false,
1275
+ "internalType": "uint256"
1276
+ }
1277
+ ],
1278
+ "anonymous": false
1279
+ },
1280
+ {
1281
+ "type": "error",
1282
+ "name": "AllowanceOverflow",
1283
+ "inputs": []
1284
+ },
1285
+ {
1286
+ "type": "error",
1287
+ "name": "AllowanceUnderflow",
1288
+ "inputs": []
1289
+ },
1290
+ {
1291
+ "type": "error",
1292
+ "name": "DepositMoreThanMax",
1293
+ "inputs": []
1294
+ },
1295
+ {
1296
+ "type": "error",
1297
+ "name": "InsufficientAllowance",
1298
+ "inputs": []
1299
+ },
1300
+ {
1301
+ "type": "error",
1302
+ "name": "InsufficientBalance",
1303
+ "inputs": []
1304
+ },
1305
+ {
1306
+ "type": "error",
1307
+ "name": "InvalidPermit",
1308
+ "inputs": []
1309
+ },
1310
+ {
1311
+ "type": "error",
1312
+ "name": "LendingOptimizer__AllocationExceedsCap",
1313
+ "inputs": []
1314
+ },
1315
+ {
1316
+ "type": "error",
1317
+ "name": "LendingOptimizer__AllocationOutOfBounds",
1318
+ "inputs": []
1319
+ },
1320
+ {
1321
+ "type": "error",
1322
+ "name": "LendingOptimizer__AlreadyInitialized",
1323
+ "inputs": []
1324
+ },
1325
+ {
1326
+ "type": "error",
1327
+ "name": "LendingOptimizer__ArrayLengthMismatch",
1328
+ "inputs": []
1329
+ },
1330
+ {
1331
+ "type": "error",
1332
+ "name": "LendingOptimizer__AssetMismatch",
1333
+ "inputs": []
1334
+ },
1335
+ {
1336
+ "type": "error",
1337
+ "name": "LendingOptimizer__FeeTooHigh",
1338
+ "inputs": []
1339
+ },
1340
+ {
1341
+ "type": "error",
1342
+ "name": "LendingOptimizer__InsufficientAllocationCaps",
1343
+ "inputs": []
1344
+ },
1345
+ {
1346
+ "type": "error",
1347
+ "name": "LendingOptimizer__InsufficientLiquidity",
1348
+ "inputs": []
1349
+ },
1350
+ {
1351
+ "type": "error",
1352
+ "name": "LendingOptimizer__InvalidMarketManager",
1353
+ "inputs": []
1354
+ },
1355
+ {
1356
+ "type": "error",
1357
+ "name": "LendingOptimizer__InvalidParameter",
1358
+ "inputs": []
1359
+ },
1360
+ {
1361
+ "type": "error",
1362
+ "name": "LendingOptimizer__InvalidUnderlying",
1363
+ "inputs": []
1364
+ },
1365
+ {
1366
+ "type": "error",
1367
+ "name": "LendingOptimizer__MarketAlreadyApproved",
1368
+ "inputs": []
1369
+ },
1370
+ {
1371
+ "type": "error",
1372
+ "name": "LendingOptimizer__MarketNotApproved",
1373
+ "inputs": []
1374
+ },
1375
+ {
1376
+ "type": "error",
1377
+ "name": "LendingOptimizer__MarketPaused",
1378
+ "inputs": []
1379
+ },
1380
+ {
1381
+ "type": "error",
1382
+ "name": "LendingOptimizer__MintPaused",
1383
+ "inputs": []
1384
+ },
1385
+ {
1386
+ "type": "error",
1387
+ "name": "LendingOptimizer__NotInitialized",
1388
+ "inputs": []
1389
+ },
1390
+ {
1391
+ "type": "error",
1392
+ "name": "LendingOptimizer__TooManyMarkets",
1393
+ "inputs": []
1394
+ },
1395
+ {
1396
+ "type": "error",
1397
+ "name": "LendingOptimizer__Unauthorized",
1398
+ "inputs": []
1399
+ },
1400
+ {
1401
+ "type": "error",
1402
+ "name": "LendingOptimizer__ZeroAmount",
1403
+ "inputs": []
1404
+ },
1405
+ {
1406
+ "type": "error",
1407
+ "name": "MintMoreThanMax",
1408
+ "inputs": []
1409
+ },
1410
+ {
1411
+ "type": "error",
1412
+ "name": "PermitExpired",
1413
+ "inputs": []
1414
+ },
1415
+ {
1416
+ "type": "error",
1417
+ "name": "RedeemMoreThanMax",
1418
+ "inputs": []
1419
+ },
1420
+ {
1421
+ "type": "error",
1422
+ "name": "Reentrancy",
1423
+ "inputs": []
1424
+ },
1425
+ {
1426
+ "type": "error",
1427
+ "name": "TotalSupplyOverflow",
1428
+ "inputs": []
1429
+ },
1430
+ {
1431
+ "type": "error",
1432
+ "name": "WithdrawMoreThanMax",
1433
+ "inputs": []
1434
+ }
1435
+ ]