@underscore-finance/sdk 1.2.19 → 1.2.20-next.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.
@@ -0,0 +1,2267 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /* @ts-nocheck */
5
+ import { singleQuery, mutate } from '@dappql/async';
6
+ import { encodeEventTopics, parseEventLogs } from 'viem';
7
+ export const abi = [
8
+ {
9
+ "name": "Deposit",
10
+ "inputs": [
11
+ {
12
+ "name": "sender",
13
+ "type": "address",
14
+ "indexed": true
15
+ },
16
+ {
17
+ "name": "owner",
18
+ "type": "address",
19
+ "indexed": true
20
+ },
21
+ {
22
+ "name": "assets",
23
+ "type": "uint256",
24
+ "indexed": false
25
+ },
26
+ {
27
+ "name": "shares",
28
+ "type": "uint256",
29
+ "indexed": false
30
+ }
31
+ ],
32
+ "anonymous": false,
33
+ "type": "event"
34
+ },
35
+ {
36
+ "name": "Withdraw",
37
+ "inputs": [
38
+ {
39
+ "name": "sender",
40
+ "type": "address",
41
+ "indexed": true
42
+ },
43
+ {
44
+ "name": "receiver",
45
+ "type": "address",
46
+ "indexed": true
47
+ },
48
+ {
49
+ "name": "owner",
50
+ "type": "address",
51
+ "indexed": true
52
+ },
53
+ {
54
+ "name": "assets",
55
+ "type": "uint256",
56
+ "indexed": false
57
+ },
58
+ {
59
+ "name": "shares",
60
+ "type": "uint256",
61
+ "indexed": false
62
+ }
63
+ ],
64
+ "anonymous": false,
65
+ "type": "event"
66
+ },
67
+ {
68
+ "name": "LeftoversSwept",
69
+ "inputs": [
70
+ {
71
+ "name": "amount",
72
+ "type": "uint256",
73
+ "indexed": false
74
+ },
75
+ {
76
+ "name": "recipient",
77
+ "type": "address",
78
+ "indexed": true
79
+ }
80
+ ],
81
+ "anonymous": false,
82
+ "type": "event"
83
+ },
84
+ {
85
+ "name": "Transfer",
86
+ "inputs": [
87
+ {
88
+ "name": "sender",
89
+ "type": "address",
90
+ "indexed": true
91
+ },
92
+ {
93
+ "name": "recipient",
94
+ "type": "address",
95
+ "indexed": true
96
+ },
97
+ {
98
+ "name": "amount",
99
+ "type": "uint256",
100
+ "indexed": false
101
+ }
102
+ ],
103
+ "anonymous": false,
104
+ "type": "event"
105
+ },
106
+ {
107
+ "name": "Approval",
108
+ "inputs": [
109
+ {
110
+ "name": "owner",
111
+ "type": "address",
112
+ "indexed": true
113
+ },
114
+ {
115
+ "name": "spender",
116
+ "type": "address",
117
+ "indexed": true
118
+ },
119
+ {
120
+ "name": "amount",
121
+ "type": "uint256",
122
+ "indexed": false
123
+ }
124
+ ],
125
+ "anonymous": false,
126
+ "type": "event"
127
+ },
128
+ {
129
+ "name": "BlacklistModified",
130
+ "inputs": [
131
+ {
132
+ "name": "addr",
133
+ "type": "address",
134
+ "indexed": true
135
+ },
136
+ {
137
+ "name": "isBlacklisted",
138
+ "type": "bool",
139
+ "indexed": false
140
+ }
141
+ ],
142
+ "anonymous": false,
143
+ "type": "event"
144
+ },
145
+ {
146
+ "name": "TokenPauseModified",
147
+ "inputs": [
148
+ {
149
+ "name": "isPaused",
150
+ "type": "bool",
151
+ "indexed": false
152
+ }
153
+ ],
154
+ "anonymous": false,
155
+ "type": "event"
156
+ },
157
+ {
158
+ "name": "EarnVaultDeposit",
159
+ "inputs": [
160
+ {
161
+ "name": "asset",
162
+ "type": "address",
163
+ "indexed": true
164
+ },
165
+ {
166
+ "name": "assetAmountDeposited",
167
+ "type": "uint256",
168
+ "indexed": false
169
+ },
170
+ {
171
+ "name": "assetAmountAdjusted",
172
+ "type": "uint256",
173
+ "indexed": false
174
+ },
175
+ {
176
+ "name": "vaultToken",
177
+ "type": "address",
178
+ "indexed": true
179
+ },
180
+ {
181
+ "name": "vaultTokenReceived",
182
+ "type": "uint256",
183
+ "indexed": false
184
+ },
185
+ {
186
+ "name": "vaultTokenExpected",
187
+ "type": "uint256",
188
+ "indexed": false
189
+ },
190
+ {
191
+ "name": "usdValue",
192
+ "type": "uint256",
193
+ "indexed": false
194
+ },
195
+ {
196
+ "name": "legoId",
197
+ "type": "uint256",
198
+ "indexed": false
199
+ },
200
+ {
201
+ "name": "signer",
202
+ "type": "address",
203
+ "indexed": true
204
+ }
205
+ ],
206
+ "anonymous": false,
207
+ "type": "event"
208
+ },
209
+ {
210
+ "name": "EarnVaultWithdrawal",
211
+ "inputs": [
212
+ {
213
+ "name": "vaultToken",
214
+ "type": "address",
215
+ "indexed": true
216
+ },
217
+ {
218
+ "name": "vaultTokenBurned",
219
+ "type": "uint256",
220
+ "indexed": false
221
+ },
222
+ {
223
+ "name": "underlyingAsset",
224
+ "type": "address",
225
+ "indexed": true
226
+ },
227
+ {
228
+ "name": "underlyingAmountReceived",
229
+ "type": "uint256",
230
+ "indexed": false
231
+ },
232
+ {
233
+ "name": "usdValue",
234
+ "type": "uint256",
235
+ "indexed": false
236
+ },
237
+ {
238
+ "name": "legoId",
239
+ "type": "uint256",
240
+ "indexed": false
241
+ },
242
+ {
243
+ "name": "signer",
244
+ "type": "address",
245
+ "indexed": true
246
+ }
247
+ ],
248
+ "anonymous": false,
249
+ "type": "event"
250
+ },
251
+ {
252
+ "name": "EarnVaultSwap",
253
+ "inputs": [
254
+ {
255
+ "name": "tokenIn",
256
+ "type": "address",
257
+ "indexed": true
258
+ },
259
+ {
260
+ "name": "tokenInAmount",
261
+ "type": "uint256",
262
+ "indexed": false
263
+ },
264
+ {
265
+ "name": "tokenOut",
266
+ "type": "address",
267
+ "indexed": true
268
+ },
269
+ {
270
+ "name": "tokenOutAmount",
271
+ "type": "uint256",
272
+ "indexed": false
273
+ },
274
+ {
275
+ "name": "usdValue",
276
+ "type": "uint256",
277
+ "indexed": false
278
+ },
279
+ {
280
+ "name": "swapFee",
281
+ "type": "uint256",
282
+ "indexed": false
283
+ },
284
+ {
285
+ "name": "legoId",
286
+ "type": "uint256",
287
+ "indexed": false
288
+ },
289
+ {
290
+ "name": "signer",
291
+ "type": "address",
292
+ "indexed": true
293
+ }
294
+ ],
295
+ "anonymous": false,
296
+ "type": "event"
297
+ },
298
+ {
299
+ "name": "EarnVaultRewardsClaim",
300
+ "inputs": [
301
+ {
302
+ "name": "rewardToken",
303
+ "type": "address",
304
+ "indexed": true
305
+ },
306
+ {
307
+ "name": "rewardAmount",
308
+ "type": "uint256",
309
+ "indexed": false
310
+ },
311
+ {
312
+ "name": "usdValue",
313
+ "type": "uint256",
314
+ "indexed": false
315
+ },
316
+ {
317
+ "name": "legoId",
318
+ "type": "uint256",
319
+ "indexed": false
320
+ },
321
+ {
322
+ "name": "signer",
323
+ "type": "address",
324
+ "indexed": true
325
+ }
326
+ ],
327
+ "anonymous": false,
328
+ "type": "event"
329
+ },
330
+ {
331
+ "name": "PerformanceFeesClaimed",
332
+ "inputs": [
333
+ {
334
+ "name": "pendingFees",
335
+ "type": "uint256",
336
+ "indexed": false
337
+ }
338
+ ],
339
+ "anonymous": false,
340
+ "type": "event"
341
+ },
342
+ {
343
+ "stateMutability": "view",
344
+ "type": "function",
345
+ "name": "name",
346
+ "inputs": [],
347
+ "outputs": [
348
+ {
349
+ "name": "",
350
+ "type": "string"
351
+ }
352
+ ]
353
+ },
354
+ {
355
+ "stateMutability": "view",
356
+ "type": "function",
357
+ "name": "symbol",
358
+ "inputs": [],
359
+ "outputs": [
360
+ {
361
+ "name": "",
362
+ "type": "string"
363
+ }
364
+ ]
365
+ },
366
+ {
367
+ "stateMutability": "view",
368
+ "type": "function",
369
+ "name": "decimals",
370
+ "inputs": [],
371
+ "outputs": [
372
+ {
373
+ "name": "",
374
+ "type": "uint8"
375
+ }
376
+ ]
377
+ },
378
+ {
379
+ "stateMutability": "nonpayable",
380
+ "type": "function",
381
+ "name": "transfer",
382
+ "inputs": [
383
+ {
384
+ "name": "_recipient",
385
+ "type": "address"
386
+ },
387
+ {
388
+ "name": "_amount",
389
+ "type": "uint256"
390
+ }
391
+ ],
392
+ "outputs": [
393
+ {
394
+ "name": "",
395
+ "type": "bool"
396
+ }
397
+ ]
398
+ },
399
+ {
400
+ "stateMutability": "nonpayable",
401
+ "type": "function",
402
+ "name": "transferFrom",
403
+ "inputs": [
404
+ {
405
+ "name": "_sender",
406
+ "type": "address"
407
+ },
408
+ {
409
+ "name": "_recipient",
410
+ "type": "address"
411
+ },
412
+ {
413
+ "name": "_amount",
414
+ "type": "uint256"
415
+ }
416
+ ],
417
+ "outputs": [
418
+ {
419
+ "name": "",
420
+ "type": "bool"
421
+ }
422
+ ]
423
+ },
424
+ {
425
+ "stateMutability": "nonpayable",
426
+ "type": "function",
427
+ "name": "approve",
428
+ "inputs": [
429
+ {
430
+ "name": "_spender",
431
+ "type": "address"
432
+ },
433
+ {
434
+ "name": "_amount",
435
+ "type": "uint256"
436
+ }
437
+ ],
438
+ "outputs": [
439
+ {
440
+ "name": "",
441
+ "type": "bool"
442
+ }
443
+ ]
444
+ },
445
+ {
446
+ "stateMutability": "nonpayable",
447
+ "type": "function",
448
+ "name": "increaseAllowance",
449
+ "inputs": [
450
+ {
451
+ "name": "_spender",
452
+ "type": "address"
453
+ },
454
+ {
455
+ "name": "_amount",
456
+ "type": "uint256"
457
+ }
458
+ ],
459
+ "outputs": [
460
+ {
461
+ "name": "",
462
+ "type": "bool"
463
+ }
464
+ ]
465
+ },
466
+ {
467
+ "stateMutability": "nonpayable",
468
+ "type": "function",
469
+ "name": "decreaseAllowance",
470
+ "inputs": [
471
+ {
472
+ "name": "_spender",
473
+ "type": "address"
474
+ },
475
+ {
476
+ "name": "_amount",
477
+ "type": "uint256"
478
+ }
479
+ ],
480
+ "outputs": [
481
+ {
482
+ "name": "",
483
+ "type": "bool"
484
+ }
485
+ ]
486
+ },
487
+ {
488
+ "stateMutability": "nonpayable",
489
+ "type": "function",
490
+ "name": "burn",
491
+ "inputs": [
492
+ {
493
+ "name": "_amount",
494
+ "type": "uint256"
495
+ }
496
+ ],
497
+ "outputs": [
498
+ {
499
+ "name": "",
500
+ "type": "bool"
501
+ }
502
+ ]
503
+ },
504
+ {
505
+ "stateMutability": "view",
506
+ "type": "function",
507
+ "name": "DOMAIN_SEPARATOR",
508
+ "inputs": [],
509
+ "outputs": [
510
+ {
511
+ "name": "",
512
+ "type": "bytes32"
513
+ }
514
+ ]
515
+ },
516
+ {
517
+ "stateMutability": "nonpayable",
518
+ "type": "function",
519
+ "name": "permit",
520
+ "inputs": [
521
+ {
522
+ "name": "_owner",
523
+ "type": "address"
524
+ },
525
+ {
526
+ "name": "_spender",
527
+ "type": "address"
528
+ },
529
+ {
530
+ "name": "_value",
531
+ "type": "uint256"
532
+ },
533
+ {
534
+ "name": "_deadline",
535
+ "type": "uint256"
536
+ },
537
+ {
538
+ "name": "_signature",
539
+ "type": "bytes"
540
+ }
541
+ ],
542
+ "outputs": [
543
+ {
544
+ "name": "",
545
+ "type": "bool"
546
+ }
547
+ ]
548
+ },
549
+ {
550
+ "stateMutability": "nonpayable",
551
+ "type": "function",
552
+ "name": "setBlacklist",
553
+ "inputs": [
554
+ {
555
+ "name": "_addr",
556
+ "type": "address"
557
+ },
558
+ {
559
+ "name": "_shouldBlacklist",
560
+ "type": "bool"
561
+ }
562
+ ],
563
+ "outputs": [
564
+ {
565
+ "name": "",
566
+ "type": "bool"
567
+ }
568
+ ]
569
+ },
570
+ {
571
+ "stateMutability": "nonpayable",
572
+ "type": "function",
573
+ "name": "burnBlacklistTokens",
574
+ "inputs": [
575
+ {
576
+ "name": "_addr",
577
+ "type": "address"
578
+ }
579
+ ],
580
+ "outputs": [
581
+ {
582
+ "name": "",
583
+ "type": "bool"
584
+ }
585
+ ]
586
+ },
587
+ {
588
+ "stateMutability": "nonpayable",
589
+ "type": "function",
590
+ "name": "burnBlacklistTokens",
591
+ "inputs": [
592
+ {
593
+ "name": "_addr",
594
+ "type": "address"
595
+ },
596
+ {
597
+ "name": "_amount",
598
+ "type": "uint256"
599
+ }
600
+ ],
601
+ "outputs": [
602
+ {
603
+ "name": "",
604
+ "type": "bool"
605
+ }
606
+ ]
607
+ },
608
+ {
609
+ "stateMutability": "nonpayable",
610
+ "type": "function",
611
+ "name": "pause",
612
+ "inputs": [
613
+ {
614
+ "name": "_shouldPause",
615
+ "type": "bool"
616
+ }
617
+ ],
618
+ "outputs": []
619
+ },
620
+ {
621
+ "stateMutability": "view",
622
+ "type": "function",
623
+ "name": "undyHq",
624
+ "inputs": [],
625
+ "outputs": [
626
+ {
627
+ "name": "",
628
+ "type": "address"
629
+ }
630
+ ]
631
+ },
632
+ {
633
+ "stateMutability": "view",
634
+ "type": "function",
635
+ "name": "blacklisted",
636
+ "inputs": [
637
+ {
638
+ "name": "arg0",
639
+ "type": "address"
640
+ }
641
+ ],
642
+ "outputs": [
643
+ {
644
+ "name": "",
645
+ "type": "bool"
646
+ }
647
+ ]
648
+ },
649
+ {
650
+ "stateMutability": "view",
651
+ "type": "function",
652
+ "name": "isPaused",
653
+ "inputs": [],
654
+ "outputs": [
655
+ {
656
+ "name": "",
657
+ "type": "bool"
658
+ }
659
+ ]
660
+ },
661
+ {
662
+ "stateMutability": "view",
663
+ "type": "function",
664
+ "name": "balanceOf",
665
+ "inputs": [
666
+ {
667
+ "name": "arg0",
668
+ "type": "address"
669
+ }
670
+ ],
671
+ "outputs": [
672
+ {
673
+ "name": "",
674
+ "type": "uint256"
675
+ }
676
+ ]
677
+ },
678
+ {
679
+ "stateMutability": "view",
680
+ "type": "function",
681
+ "name": "allowance",
682
+ "inputs": [
683
+ {
684
+ "name": "arg0",
685
+ "type": "address"
686
+ },
687
+ {
688
+ "name": "arg1",
689
+ "type": "address"
690
+ }
691
+ ],
692
+ "outputs": [
693
+ {
694
+ "name": "",
695
+ "type": "uint256"
696
+ }
697
+ ]
698
+ },
699
+ {
700
+ "stateMutability": "view",
701
+ "type": "function",
702
+ "name": "totalSupply",
703
+ "inputs": [],
704
+ "outputs": [
705
+ {
706
+ "name": "",
707
+ "type": "uint256"
708
+ }
709
+ ]
710
+ },
711
+ {
712
+ "stateMutability": "view",
713
+ "type": "function",
714
+ "name": "TOKEN_NAME",
715
+ "inputs": [],
716
+ "outputs": [
717
+ {
718
+ "name": "",
719
+ "type": "string"
720
+ }
721
+ ]
722
+ },
723
+ {
724
+ "stateMutability": "view",
725
+ "type": "function",
726
+ "name": "TOKEN_SYMBOL",
727
+ "inputs": [],
728
+ "outputs": [
729
+ {
730
+ "name": "",
731
+ "type": "string"
732
+ }
733
+ ]
734
+ },
735
+ {
736
+ "stateMutability": "view",
737
+ "type": "function",
738
+ "name": "TOKEN_DECIMALS",
739
+ "inputs": [],
740
+ "outputs": [
741
+ {
742
+ "name": "",
743
+ "type": "uint8"
744
+ }
745
+ ]
746
+ },
747
+ {
748
+ "stateMutability": "view",
749
+ "type": "function",
750
+ "name": "VERSION",
751
+ "inputs": [],
752
+ "outputs": [
753
+ {
754
+ "name": "",
755
+ "type": "string"
756
+ }
757
+ ]
758
+ },
759
+ {
760
+ "stateMutability": "view",
761
+ "type": "function",
762
+ "name": "nonces",
763
+ "inputs": [
764
+ {
765
+ "name": "arg0",
766
+ "type": "address"
767
+ }
768
+ ],
769
+ "outputs": [
770
+ {
771
+ "name": "",
772
+ "type": "uint256"
773
+ }
774
+ ]
775
+ },
776
+ {
777
+ "stateMutability": "nonpayable",
778
+ "type": "function",
779
+ "name": "depositForYield",
780
+ "inputs": [
781
+ {
782
+ "name": "_legoId",
783
+ "type": "uint256"
784
+ },
785
+ {
786
+ "name": "_asset",
787
+ "type": "address"
788
+ }
789
+ ],
790
+ "outputs": [
791
+ {
792
+ "name": "",
793
+ "type": "uint256"
794
+ },
795
+ {
796
+ "name": "",
797
+ "type": "address"
798
+ },
799
+ {
800
+ "name": "",
801
+ "type": "uint256"
802
+ },
803
+ {
804
+ "name": "",
805
+ "type": "uint256"
806
+ }
807
+ ]
808
+ },
809
+ {
810
+ "stateMutability": "nonpayable",
811
+ "type": "function",
812
+ "name": "depositForYield",
813
+ "inputs": [
814
+ {
815
+ "name": "_legoId",
816
+ "type": "uint256"
817
+ },
818
+ {
819
+ "name": "_asset",
820
+ "type": "address"
821
+ },
822
+ {
823
+ "name": "_vaultAddr",
824
+ "type": "address"
825
+ }
826
+ ],
827
+ "outputs": [
828
+ {
829
+ "name": "",
830
+ "type": "uint256"
831
+ },
832
+ {
833
+ "name": "",
834
+ "type": "address"
835
+ },
836
+ {
837
+ "name": "",
838
+ "type": "uint256"
839
+ },
840
+ {
841
+ "name": "",
842
+ "type": "uint256"
843
+ }
844
+ ]
845
+ },
846
+ {
847
+ "stateMutability": "nonpayable",
848
+ "type": "function",
849
+ "name": "depositForYield",
850
+ "inputs": [
851
+ {
852
+ "name": "_legoId",
853
+ "type": "uint256"
854
+ },
855
+ {
856
+ "name": "_asset",
857
+ "type": "address"
858
+ },
859
+ {
860
+ "name": "_vaultAddr",
861
+ "type": "address"
862
+ },
863
+ {
864
+ "name": "_amount",
865
+ "type": "uint256"
866
+ }
867
+ ],
868
+ "outputs": [
869
+ {
870
+ "name": "",
871
+ "type": "uint256"
872
+ },
873
+ {
874
+ "name": "",
875
+ "type": "address"
876
+ },
877
+ {
878
+ "name": "",
879
+ "type": "uint256"
880
+ },
881
+ {
882
+ "name": "",
883
+ "type": "uint256"
884
+ }
885
+ ]
886
+ },
887
+ {
888
+ "stateMutability": "nonpayable",
889
+ "type": "function",
890
+ "name": "depositForYield",
891
+ "inputs": [
892
+ {
893
+ "name": "_legoId",
894
+ "type": "uint256"
895
+ },
896
+ {
897
+ "name": "_asset",
898
+ "type": "address"
899
+ },
900
+ {
901
+ "name": "_vaultAddr",
902
+ "type": "address"
903
+ },
904
+ {
905
+ "name": "_amount",
906
+ "type": "uint256"
907
+ },
908
+ {
909
+ "name": "_extraData",
910
+ "type": "bytes32"
911
+ }
912
+ ],
913
+ "outputs": [
914
+ {
915
+ "name": "",
916
+ "type": "uint256"
917
+ },
918
+ {
919
+ "name": "",
920
+ "type": "address"
921
+ },
922
+ {
923
+ "name": "",
924
+ "type": "uint256"
925
+ },
926
+ {
927
+ "name": "",
928
+ "type": "uint256"
929
+ }
930
+ ]
931
+ },
932
+ {
933
+ "stateMutability": "nonpayable",
934
+ "type": "function",
935
+ "name": "withdrawFromYield",
936
+ "inputs": [
937
+ {
938
+ "name": "_legoId",
939
+ "type": "uint256"
940
+ },
941
+ {
942
+ "name": "_vaultToken",
943
+ "type": "address"
944
+ }
945
+ ],
946
+ "outputs": [
947
+ {
948
+ "name": "",
949
+ "type": "uint256"
950
+ },
951
+ {
952
+ "name": "",
953
+ "type": "address"
954
+ },
955
+ {
956
+ "name": "",
957
+ "type": "uint256"
958
+ },
959
+ {
960
+ "name": "",
961
+ "type": "uint256"
962
+ }
963
+ ]
964
+ },
965
+ {
966
+ "stateMutability": "nonpayable",
967
+ "type": "function",
968
+ "name": "withdrawFromYield",
969
+ "inputs": [
970
+ {
971
+ "name": "_legoId",
972
+ "type": "uint256"
973
+ },
974
+ {
975
+ "name": "_vaultToken",
976
+ "type": "address"
977
+ },
978
+ {
979
+ "name": "_amount",
980
+ "type": "uint256"
981
+ }
982
+ ],
983
+ "outputs": [
984
+ {
985
+ "name": "",
986
+ "type": "uint256"
987
+ },
988
+ {
989
+ "name": "",
990
+ "type": "address"
991
+ },
992
+ {
993
+ "name": "",
994
+ "type": "uint256"
995
+ },
996
+ {
997
+ "name": "",
998
+ "type": "uint256"
999
+ }
1000
+ ]
1001
+ },
1002
+ {
1003
+ "stateMutability": "nonpayable",
1004
+ "type": "function",
1005
+ "name": "withdrawFromYield",
1006
+ "inputs": [
1007
+ {
1008
+ "name": "_legoId",
1009
+ "type": "uint256"
1010
+ },
1011
+ {
1012
+ "name": "_vaultToken",
1013
+ "type": "address"
1014
+ },
1015
+ {
1016
+ "name": "_amount",
1017
+ "type": "uint256"
1018
+ },
1019
+ {
1020
+ "name": "_extraData",
1021
+ "type": "bytes32"
1022
+ }
1023
+ ],
1024
+ "outputs": [
1025
+ {
1026
+ "name": "",
1027
+ "type": "uint256"
1028
+ },
1029
+ {
1030
+ "name": "",
1031
+ "type": "address"
1032
+ },
1033
+ {
1034
+ "name": "",
1035
+ "type": "uint256"
1036
+ },
1037
+ {
1038
+ "name": "",
1039
+ "type": "uint256"
1040
+ }
1041
+ ]
1042
+ },
1043
+ {
1044
+ "stateMutability": "nonpayable",
1045
+ "type": "function",
1046
+ "name": "withdrawFromYield",
1047
+ "inputs": [
1048
+ {
1049
+ "name": "_legoId",
1050
+ "type": "uint256"
1051
+ },
1052
+ {
1053
+ "name": "_vaultToken",
1054
+ "type": "address"
1055
+ },
1056
+ {
1057
+ "name": "_amount",
1058
+ "type": "uint256"
1059
+ },
1060
+ {
1061
+ "name": "_extraData",
1062
+ "type": "bytes32"
1063
+ },
1064
+ {
1065
+ "name": "_isSpecialTx",
1066
+ "type": "bool"
1067
+ }
1068
+ ],
1069
+ "outputs": [
1070
+ {
1071
+ "name": "",
1072
+ "type": "uint256"
1073
+ },
1074
+ {
1075
+ "name": "",
1076
+ "type": "address"
1077
+ },
1078
+ {
1079
+ "name": "",
1080
+ "type": "uint256"
1081
+ },
1082
+ {
1083
+ "name": "",
1084
+ "type": "uint256"
1085
+ }
1086
+ ]
1087
+ },
1088
+ {
1089
+ "stateMutability": "nonpayable",
1090
+ "type": "function",
1091
+ "name": "swapTokens",
1092
+ "inputs": [
1093
+ {
1094
+ "name": "_instructions",
1095
+ "type": "tuple[]",
1096
+ "components": [
1097
+ {
1098
+ "name": "legoId",
1099
+ "type": "uint256"
1100
+ },
1101
+ {
1102
+ "name": "amountIn",
1103
+ "type": "uint256"
1104
+ },
1105
+ {
1106
+ "name": "minAmountOut",
1107
+ "type": "uint256"
1108
+ },
1109
+ {
1110
+ "name": "tokenPath",
1111
+ "type": "address[]"
1112
+ },
1113
+ {
1114
+ "name": "poolPath",
1115
+ "type": "address[]"
1116
+ }
1117
+ ]
1118
+ }
1119
+ ],
1120
+ "outputs": [
1121
+ {
1122
+ "name": "",
1123
+ "type": "address"
1124
+ },
1125
+ {
1126
+ "name": "",
1127
+ "type": "uint256"
1128
+ },
1129
+ {
1130
+ "name": "",
1131
+ "type": "address"
1132
+ },
1133
+ {
1134
+ "name": "",
1135
+ "type": "uint256"
1136
+ },
1137
+ {
1138
+ "name": "",
1139
+ "type": "uint256"
1140
+ }
1141
+ ]
1142
+ },
1143
+ {
1144
+ "stateMutability": "nonpayable",
1145
+ "type": "function",
1146
+ "name": "claimIncentives",
1147
+ "inputs": [
1148
+ {
1149
+ "name": "_legoId",
1150
+ "type": "uint256"
1151
+ }
1152
+ ],
1153
+ "outputs": [
1154
+ {
1155
+ "name": "",
1156
+ "type": "uint256"
1157
+ },
1158
+ {
1159
+ "name": "",
1160
+ "type": "uint256"
1161
+ }
1162
+ ]
1163
+ },
1164
+ {
1165
+ "stateMutability": "nonpayable",
1166
+ "type": "function",
1167
+ "name": "claimIncentives",
1168
+ "inputs": [
1169
+ {
1170
+ "name": "_legoId",
1171
+ "type": "uint256"
1172
+ },
1173
+ {
1174
+ "name": "_rewardToken",
1175
+ "type": "address"
1176
+ }
1177
+ ],
1178
+ "outputs": [
1179
+ {
1180
+ "name": "",
1181
+ "type": "uint256"
1182
+ },
1183
+ {
1184
+ "name": "",
1185
+ "type": "uint256"
1186
+ }
1187
+ ]
1188
+ },
1189
+ {
1190
+ "stateMutability": "nonpayable",
1191
+ "type": "function",
1192
+ "name": "claimIncentives",
1193
+ "inputs": [
1194
+ {
1195
+ "name": "_legoId",
1196
+ "type": "uint256"
1197
+ },
1198
+ {
1199
+ "name": "_rewardToken",
1200
+ "type": "address"
1201
+ },
1202
+ {
1203
+ "name": "_rewardAmount",
1204
+ "type": "uint256"
1205
+ }
1206
+ ],
1207
+ "outputs": [
1208
+ {
1209
+ "name": "",
1210
+ "type": "uint256"
1211
+ },
1212
+ {
1213
+ "name": "",
1214
+ "type": "uint256"
1215
+ }
1216
+ ]
1217
+ },
1218
+ {
1219
+ "stateMutability": "nonpayable",
1220
+ "type": "function",
1221
+ "name": "claimIncentives",
1222
+ "inputs": [
1223
+ {
1224
+ "name": "_legoId",
1225
+ "type": "uint256"
1226
+ },
1227
+ {
1228
+ "name": "_rewardToken",
1229
+ "type": "address"
1230
+ },
1231
+ {
1232
+ "name": "_rewardAmount",
1233
+ "type": "uint256"
1234
+ },
1235
+ {
1236
+ "name": "_proofs",
1237
+ "type": "bytes32[]"
1238
+ }
1239
+ ],
1240
+ "outputs": [
1241
+ {
1242
+ "name": "",
1243
+ "type": "uint256"
1244
+ },
1245
+ {
1246
+ "name": "",
1247
+ "type": "uint256"
1248
+ }
1249
+ ]
1250
+ },
1251
+ {
1252
+ "stateMutability": "nonpayable",
1253
+ "type": "function",
1254
+ "name": "claimPerformanceFees",
1255
+ "inputs": [],
1256
+ "outputs": [
1257
+ {
1258
+ "name": "",
1259
+ "type": "uint256"
1260
+ }
1261
+ ]
1262
+ },
1263
+ {
1264
+ "stateMutability": "view",
1265
+ "type": "function",
1266
+ "name": "getClaimablePerformanceFees",
1267
+ "inputs": [],
1268
+ "outputs": [
1269
+ {
1270
+ "name": "",
1271
+ "type": "uint256"
1272
+ }
1273
+ ]
1274
+ },
1275
+ {
1276
+ "stateMutability": "nonpayable",
1277
+ "type": "function",
1278
+ "name": "updateYieldPosition",
1279
+ "inputs": [
1280
+ {
1281
+ "name": "_vaultToken",
1282
+ "type": "address"
1283
+ }
1284
+ ],
1285
+ "outputs": []
1286
+ },
1287
+ {
1288
+ "stateMutability": "nonpayable",
1289
+ "type": "function",
1290
+ "name": "addManager",
1291
+ "inputs": [
1292
+ {
1293
+ "name": "_manager",
1294
+ "type": "address"
1295
+ }
1296
+ ],
1297
+ "outputs": []
1298
+ },
1299
+ {
1300
+ "stateMutability": "nonpayable",
1301
+ "type": "function",
1302
+ "name": "removeManager",
1303
+ "inputs": [
1304
+ {
1305
+ "name": "_manager",
1306
+ "type": "address"
1307
+ }
1308
+ ],
1309
+ "outputs": []
1310
+ },
1311
+ {
1312
+ "stateMutability": "view",
1313
+ "type": "function",
1314
+ "name": "lastUnderlyingBal",
1315
+ "inputs": [],
1316
+ "outputs": [
1317
+ {
1318
+ "name": "",
1319
+ "type": "uint256"
1320
+ }
1321
+ ]
1322
+ },
1323
+ {
1324
+ "stateMutability": "view",
1325
+ "type": "function",
1326
+ "name": "pendingYieldRealized",
1327
+ "inputs": [],
1328
+ "outputs": [
1329
+ {
1330
+ "name": "",
1331
+ "type": "uint256"
1332
+ }
1333
+ ]
1334
+ },
1335
+ {
1336
+ "stateMutability": "view",
1337
+ "type": "function",
1338
+ "name": "vaultToLegoId",
1339
+ "inputs": [
1340
+ {
1341
+ "name": "arg0",
1342
+ "type": "address"
1343
+ }
1344
+ ],
1345
+ "outputs": [
1346
+ {
1347
+ "name": "",
1348
+ "type": "uint256"
1349
+ }
1350
+ ]
1351
+ },
1352
+ {
1353
+ "stateMutability": "view",
1354
+ "type": "function",
1355
+ "name": "assets",
1356
+ "inputs": [
1357
+ {
1358
+ "name": "arg0",
1359
+ "type": "uint256"
1360
+ }
1361
+ ],
1362
+ "outputs": [
1363
+ {
1364
+ "name": "",
1365
+ "type": "address"
1366
+ }
1367
+ ]
1368
+ },
1369
+ {
1370
+ "stateMutability": "view",
1371
+ "type": "function",
1372
+ "name": "indexOfAsset",
1373
+ "inputs": [
1374
+ {
1375
+ "name": "arg0",
1376
+ "type": "address"
1377
+ }
1378
+ ],
1379
+ "outputs": [
1380
+ {
1381
+ "name": "",
1382
+ "type": "uint256"
1383
+ }
1384
+ ]
1385
+ },
1386
+ {
1387
+ "stateMutability": "view",
1388
+ "type": "function",
1389
+ "name": "numAssets",
1390
+ "inputs": [],
1391
+ "outputs": [
1392
+ {
1393
+ "name": "",
1394
+ "type": "uint256"
1395
+ }
1396
+ ]
1397
+ },
1398
+ {
1399
+ "stateMutability": "view",
1400
+ "type": "function",
1401
+ "name": "managers",
1402
+ "inputs": [
1403
+ {
1404
+ "name": "arg0",
1405
+ "type": "uint256"
1406
+ }
1407
+ ],
1408
+ "outputs": [
1409
+ {
1410
+ "name": "",
1411
+ "type": "address"
1412
+ }
1413
+ ]
1414
+ },
1415
+ {
1416
+ "stateMutability": "view",
1417
+ "type": "function",
1418
+ "name": "indexOfManager",
1419
+ "inputs": [
1420
+ {
1421
+ "name": "arg0",
1422
+ "type": "address"
1423
+ }
1424
+ ],
1425
+ "outputs": [
1426
+ {
1427
+ "name": "",
1428
+ "type": "uint256"
1429
+ }
1430
+ ]
1431
+ },
1432
+ {
1433
+ "stateMutability": "view",
1434
+ "type": "function",
1435
+ "name": "numManagers",
1436
+ "inputs": [],
1437
+ "outputs": [
1438
+ {
1439
+ "name": "",
1440
+ "type": "uint256"
1441
+ }
1442
+ ]
1443
+ },
1444
+ {
1445
+ "stateMutability": "view",
1446
+ "type": "function",
1447
+ "name": "asset",
1448
+ "inputs": [],
1449
+ "outputs": [
1450
+ {
1451
+ "name": "",
1452
+ "type": "address"
1453
+ }
1454
+ ]
1455
+ },
1456
+ {
1457
+ "stateMutability": "view",
1458
+ "type": "function",
1459
+ "name": "totalAssets",
1460
+ "inputs": [],
1461
+ "outputs": [
1462
+ {
1463
+ "name": "",
1464
+ "type": "uint256"
1465
+ }
1466
+ ]
1467
+ },
1468
+ {
1469
+ "stateMutability": "view",
1470
+ "type": "function",
1471
+ "name": "getTotalAssets",
1472
+ "inputs": [
1473
+ {
1474
+ "name": "_shouldGetMax",
1475
+ "type": "bool"
1476
+ }
1477
+ ],
1478
+ "outputs": [
1479
+ {
1480
+ "name": "",
1481
+ "type": "uint256"
1482
+ }
1483
+ ]
1484
+ },
1485
+ {
1486
+ "stateMutability": "view",
1487
+ "type": "function",
1488
+ "name": "maxDeposit",
1489
+ "inputs": [
1490
+ {
1491
+ "name": "_receiver",
1492
+ "type": "address"
1493
+ }
1494
+ ],
1495
+ "outputs": [
1496
+ {
1497
+ "name": "",
1498
+ "type": "uint256"
1499
+ }
1500
+ ]
1501
+ },
1502
+ {
1503
+ "stateMutability": "view",
1504
+ "type": "function",
1505
+ "name": "previewDeposit",
1506
+ "inputs": [
1507
+ {
1508
+ "name": "_assets",
1509
+ "type": "uint256"
1510
+ }
1511
+ ],
1512
+ "outputs": [
1513
+ {
1514
+ "name": "",
1515
+ "type": "uint256"
1516
+ }
1517
+ ]
1518
+ },
1519
+ {
1520
+ "stateMutability": "nonpayable",
1521
+ "type": "function",
1522
+ "name": "deposit",
1523
+ "inputs": [
1524
+ {
1525
+ "name": "_assets",
1526
+ "type": "uint256"
1527
+ }
1528
+ ],
1529
+ "outputs": [
1530
+ {
1531
+ "name": "",
1532
+ "type": "uint256"
1533
+ }
1534
+ ]
1535
+ },
1536
+ {
1537
+ "stateMutability": "nonpayable",
1538
+ "type": "function",
1539
+ "name": "deposit",
1540
+ "inputs": [
1541
+ {
1542
+ "name": "_assets",
1543
+ "type": "uint256"
1544
+ },
1545
+ {
1546
+ "name": "_receiver",
1547
+ "type": "address"
1548
+ }
1549
+ ],
1550
+ "outputs": [
1551
+ {
1552
+ "name": "",
1553
+ "type": "uint256"
1554
+ }
1555
+ ]
1556
+ },
1557
+ {
1558
+ "stateMutability": "nonpayable",
1559
+ "type": "function",
1560
+ "name": "depositWithMinAmountOut",
1561
+ "inputs": [
1562
+ {
1563
+ "name": "_assets",
1564
+ "type": "uint256"
1565
+ },
1566
+ {
1567
+ "name": "_minAmountOut",
1568
+ "type": "uint256"
1569
+ }
1570
+ ],
1571
+ "outputs": [
1572
+ {
1573
+ "name": "",
1574
+ "type": "uint256"
1575
+ }
1576
+ ]
1577
+ },
1578
+ {
1579
+ "stateMutability": "nonpayable",
1580
+ "type": "function",
1581
+ "name": "depositWithMinAmountOut",
1582
+ "inputs": [
1583
+ {
1584
+ "name": "_assets",
1585
+ "type": "uint256"
1586
+ },
1587
+ {
1588
+ "name": "_minAmountOut",
1589
+ "type": "uint256"
1590
+ },
1591
+ {
1592
+ "name": "_receiver",
1593
+ "type": "address"
1594
+ }
1595
+ ],
1596
+ "outputs": [
1597
+ {
1598
+ "name": "",
1599
+ "type": "uint256"
1600
+ }
1601
+ ]
1602
+ },
1603
+ {
1604
+ "stateMutability": "view",
1605
+ "type": "function",
1606
+ "name": "maxMint",
1607
+ "inputs": [
1608
+ {
1609
+ "name": "_receiver",
1610
+ "type": "address"
1611
+ }
1612
+ ],
1613
+ "outputs": [
1614
+ {
1615
+ "name": "",
1616
+ "type": "uint256"
1617
+ }
1618
+ ]
1619
+ },
1620
+ {
1621
+ "stateMutability": "view",
1622
+ "type": "function",
1623
+ "name": "previewMint",
1624
+ "inputs": [
1625
+ {
1626
+ "name": "_shares",
1627
+ "type": "uint256"
1628
+ }
1629
+ ],
1630
+ "outputs": [
1631
+ {
1632
+ "name": "",
1633
+ "type": "uint256"
1634
+ }
1635
+ ]
1636
+ },
1637
+ {
1638
+ "stateMutability": "nonpayable",
1639
+ "type": "function",
1640
+ "name": "mint",
1641
+ "inputs": [
1642
+ {
1643
+ "name": "_shares",
1644
+ "type": "uint256"
1645
+ }
1646
+ ],
1647
+ "outputs": [
1648
+ {
1649
+ "name": "",
1650
+ "type": "uint256"
1651
+ }
1652
+ ]
1653
+ },
1654
+ {
1655
+ "stateMutability": "nonpayable",
1656
+ "type": "function",
1657
+ "name": "mint",
1658
+ "inputs": [
1659
+ {
1660
+ "name": "_shares",
1661
+ "type": "uint256"
1662
+ },
1663
+ {
1664
+ "name": "_receiver",
1665
+ "type": "address"
1666
+ }
1667
+ ],
1668
+ "outputs": [
1669
+ {
1670
+ "name": "",
1671
+ "type": "uint256"
1672
+ }
1673
+ ]
1674
+ },
1675
+ {
1676
+ "stateMutability": "view",
1677
+ "type": "function",
1678
+ "name": "maxWithdraw",
1679
+ "inputs": [
1680
+ {
1681
+ "name": "_owner",
1682
+ "type": "address"
1683
+ }
1684
+ ],
1685
+ "outputs": [
1686
+ {
1687
+ "name": "",
1688
+ "type": "uint256"
1689
+ }
1690
+ ]
1691
+ },
1692
+ {
1693
+ "stateMutability": "view",
1694
+ "type": "function",
1695
+ "name": "previewWithdraw",
1696
+ "inputs": [
1697
+ {
1698
+ "name": "_assets",
1699
+ "type": "uint256"
1700
+ }
1701
+ ],
1702
+ "outputs": [
1703
+ {
1704
+ "name": "",
1705
+ "type": "uint256"
1706
+ }
1707
+ ]
1708
+ },
1709
+ {
1710
+ "stateMutability": "nonpayable",
1711
+ "type": "function",
1712
+ "name": "withdraw",
1713
+ "inputs": [
1714
+ {
1715
+ "name": "_assets",
1716
+ "type": "uint256"
1717
+ }
1718
+ ],
1719
+ "outputs": [
1720
+ {
1721
+ "name": "",
1722
+ "type": "uint256"
1723
+ }
1724
+ ]
1725
+ },
1726
+ {
1727
+ "stateMutability": "nonpayable",
1728
+ "type": "function",
1729
+ "name": "withdraw",
1730
+ "inputs": [
1731
+ {
1732
+ "name": "_assets",
1733
+ "type": "uint256"
1734
+ },
1735
+ {
1736
+ "name": "_receiver",
1737
+ "type": "address"
1738
+ }
1739
+ ],
1740
+ "outputs": [
1741
+ {
1742
+ "name": "",
1743
+ "type": "uint256"
1744
+ }
1745
+ ]
1746
+ },
1747
+ {
1748
+ "stateMutability": "nonpayable",
1749
+ "type": "function",
1750
+ "name": "withdraw",
1751
+ "inputs": [
1752
+ {
1753
+ "name": "_assets",
1754
+ "type": "uint256"
1755
+ },
1756
+ {
1757
+ "name": "_receiver",
1758
+ "type": "address"
1759
+ },
1760
+ {
1761
+ "name": "_owner",
1762
+ "type": "address"
1763
+ }
1764
+ ],
1765
+ "outputs": [
1766
+ {
1767
+ "name": "",
1768
+ "type": "uint256"
1769
+ }
1770
+ ]
1771
+ },
1772
+ {
1773
+ "stateMutability": "view",
1774
+ "type": "function",
1775
+ "name": "maxRedeem",
1776
+ "inputs": [
1777
+ {
1778
+ "name": "_owner",
1779
+ "type": "address"
1780
+ }
1781
+ ],
1782
+ "outputs": [
1783
+ {
1784
+ "name": "",
1785
+ "type": "uint256"
1786
+ }
1787
+ ]
1788
+ },
1789
+ {
1790
+ "stateMutability": "view",
1791
+ "type": "function",
1792
+ "name": "previewRedeem",
1793
+ "inputs": [
1794
+ {
1795
+ "name": "_shares",
1796
+ "type": "uint256"
1797
+ }
1798
+ ],
1799
+ "outputs": [
1800
+ {
1801
+ "name": "",
1802
+ "type": "uint256"
1803
+ }
1804
+ ]
1805
+ },
1806
+ {
1807
+ "stateMutability": "nonpayable",
1808
+ "type": "function",
1809
+ "name": "redeem",
1810
+ "inputs": [
1811
+ {
1812
+ "name": "_shares",
1813
+ "type": "uint256"
1814
+ }
1815
+ ],
1816
+ "outputs": [
1817
+ {
1818
+ "name": "",
1819
+ "type": "uint256"
1820
+ }
1821
+ ]
1822
+ },
1823
+ {
1824
+ "stateMutability": "nonpayable",
1825
+ "type": "function",
1826
+ "name": "redeem",
1827
+ "inputs": [
1828
+ {
1829
+ "name": "_shares",
1830
+ "type": "uint256"
1831
+ },
1832
+ {
1833
+ "name": "_receiver",
1834
+ "type": "address"
1835
+ }
1836
+ ],
1837
+ "outputs": [
1838
+ {
1839
+ "name": "",
1840
+ "type": "uint256"
1841
+ }
1842
+ ]
1843
+ },
1844
+ {
1845
+ "stateMutability": "nonpayable",
1846
+ "type": "function",
1847
+ "name": "redeem",
1848
+ "inputs": [
1849
+ {
1850
+ "name": "_shares",
1851
+ "type": "uint256"
1852
+ },
1853
+ {
1854
+ "name": "_receiver",
1855
+ "type": "address"
1856
+ },
1857
+ {
1858
+ "name": "_owner",
1859
+ "type": "address"
1860
+ }
1861
+ ],
1862
+ "outputs": [
1863
+ {
1864
+ "name": "",
1865
+ "type": "uint256"
1866
+ }
1867
+ ]
1868
+ },
1869
+ {
1870
+ "stateMutability": "nonpayable",
1871
+ "type": "function",
1872
+ "name": "redeemWithMinAmountOut",
1873
+ "inputs": [
1874
+ {
1875
+ "name": "_shares",
1876
+ "type": "uint256"
1877
+ },
1878
+ {
1879
+ "name": "_minAmountOut",
1880
+ "type": "uint256"
1881
+ }
1882
+ ],
1883
+ "outputs": [
1884
+ {
1885
+ "name": "",
1886
+ "type": "uint256"
1887
+ }
1888
+ ]
1889
+ },
1890
+ {
1891
+ "stateMutability": "nonpayable",
1892
+ "type": "function",
1893
+ "name": "redeemWithMinAmountOut",
1894
+ "inputs": [
1895
+ {
1896
+ "name": "_shares",
1897
+ "type": "uint256"
1898
+ },
1899
+ {
1900
+ "name": "_minAmountOut",
1901
+ "type": "uint256"
1902
+ },
1903
+ {
1904
+ "name": "_receiver",
1905
+ "type": "address"
1906
+ }
1907
+ ],
1908
+ "outputs": [
1909
+ {
1910
+ "name": "",
1911
+ "type": "uint256"
1912
+ }
1913
+ ]
1914
+ },
1915
+ {
1916
+ "stateMutability": "nonpayable",
1917
+ "type": "function",
1918
+ "name": "redeemWithMinAmountOut",
1919
+ "inputs": [
1920
+ {
1921
+ "name": "_shares",
1922
+ "type": "uint256"
1923
+ },
1924
+ {
1925
+ "name": "_minAmountOut",
1926
+ "type": "uint256"
1927
+ },
1928
+ {
1929
+ "name": "_receiver",
1930
+ "type": "address"
1931
+ },
1932
+ {
1933
+ "name": "_owner",
1934
+ "type": "address"
1935
+ }
1936
+ ],
1937
+ "outputs": [
1938
+ {
1939
+ "name": "",
1940
+ "type": "uint256"
1941
+ }
1942
+ ]
1943
+ },
1944
+ {
1945
+ "stateMutability": "view",
1946
+ "type": "function",
1947
+ "name": "convertToShares",
1948
+ "inputs": [
1949
+ {
1950
+ "name": "_assets",
1951
+ "type": "uint256"
1952
+ }
1953
+ ],
1954
+ "outputs": [
1955
+ {
1956
+ "name": "",
1957
+ "type": "uint256"
1958
+ }
1959
+ ]
1960
+ },
1961
+ {
1962
+ "stateMutability": "view",
1963
+ "type": "function",
1964
+ "name": "convertToSharesSafe",
1965
+ "inputs": [
1966
+ {
1967
+ "name": "_assets",
1968
+ "type": "uint256"
1969
+ }
1970
+ ],
1971
+ "outputs": [
1972
+ {
1973
+ "name": "",
1974
+ "type": "uint256"
1975
+ }
1976
+ ]
1977
+ },
1978
+ {
1979
+ "stateMutability": "view",
1980
+ "type": "function",
1981
+ "name": "convertToAssets",
1982
+ "inputs": [
1983
+ {
1984
+ "name": "_shares",
1985
+ "type": "uint256"
1986
+ }
1987
+ ],
1988
+ "outputs": [
1989
+ {
1990
+ "name": "",
1991
+ "type": "uint256"
1992
+ }
1993
+ ]
1994
+ },
1995
+ {
1996
+ "stateMutability": "view",
1997
+ "type": "function",
1998
+ "name": "convertToAssetsSafe",
1999
+ "inputs": [
2000
+ {
2001
+ "name": "_shares",
2002
+ "type": "uint256"
2003
+ }
2004
+ ],
2005
+ "outputs": [
2006
+ {
2007
+ "name": "",
2008
+ "type": "uint256"
2009
+ }
2010
+ ]
2011
+ },
2012
+ {
2013
+ "stateMutability": "nonpayable",
2014
+ "type": "function",
2015
+ "name": "sweepLeftovers",
2016
+ "inputs": [],
2017
+ "outputs": [
2018
+ {
2019
+ "name": "",
2020
+ "type": "uint256"
2021
+ }
2022
+ ]
2023
+ },
2024
+ {
2025
+ "stateMutability": "nonpayable",
2026
+ "type": "constructor",
2027
+ "inputs": [
2028
+ {
2029
+ "name": "_asset",
2030
+ "type": "address"
2031
+ },
2032
+ {
2033
+ "name": "_tokenName",
2034
+ "type": "string"
2035
+ },
2036
+ {
2037
+ "name": "_tokenSymbol",
2038
+ "type": "string"
2039
+ },
2040
+ {
2041
+ "name": "_undyHq",
2042
+ "type": "address"
2043
+ },
2044
+ {
2045
+ "name": "_minHqTimeLock",
2046
+ "type": "uint256"
2047
+ },
2048
+ {
2049
+ "name": "_maxHqTimeLock",
2050
+ "type": "uint256"
2051
+ },
2052
+ {
2053
+ "name": "_startingAgent",
2054
+ "type": "address"
2055
+ }
2056
+ ],
2057
+ "outputs": []
2058
+ }
2059
+ ];
2060
+ export const deployAddress = '0x99e65176F7FA8743E3fbaEF277d1Da448e361367';
2061
+ function getRequest(method, args, contractAddressOrOptions) {
2062
+ const address = typeof contractAddressOrOptions === 'string' ? contractAddressOrOptions : contractAddressOrOptions?.contractAddress;
2063
+ const defaultValue = typeof contractAddressOrOptions === 'string' ? undefined : contractAddressOrOptions?.defaultValue;
2064
+ const call = {
2065
+ contractName: 'UndyUsdV2',
2066
+ method,
2067
+ args,
2068
+ address,
2069
+ deployAddress,
2070
+ defaultValue,
2071
+ getAbi: () => abi,
2072
+ with: (options) => {
2073
+ call.address = options.contractAddress;
2074
+ call.defaultValue = options.defaultValue;
2075
+ return call;
2076
+ },
2077
+ defaultTo: (defaultValue) => {
2078
+ call.defaultValue = defaultValue;
2079
+ return call;
2080
+ },
2081
+ at: (address) => {
2082
+ call.address = address;
2083
+ return call;
2084
+ },
2085
+ };
2086
+ return call;
2087
+ }
2088
+ export const call = {
2089
+ name: (...args) => getRequest('name', args),
2090
+ symbol: (...args) => getRequest('symbol', args),
2091
+ decimals: (...args) => getRequest('decimals', args),
2092
+ DOMAIN_SEPARATOR: (...args) => getRequest('DOMAIN_SEPARATOR', args),
2093
+ undyHq: (...args) => getRequest('undyHq', args),
2094
+ blacklisted: (...args) => getRequest('blacklisted', args),
2095
+ isPaused: (...args) => getRequest('isPaused', args),
2096
+ balanceOf: (...args) => getRequest('balanceOf', args),
2097
+ allowance: (...args) => getRequest('allowance', args),
2098
+ totalSupply: (...args) => getRequest('totalSupply', args),
2099
+ TOKEN_NAME: (...args) => getRequest('TOKEN_NAME', args),
2100
+ TOKEN_SYMBOL: (...args) => getRequest('TOKEN_SYMBOL', args),
2101
+ TOKEN_DECIMALS: (...args) => getRequest('TOKEN_DECIMALS', args),
2102
+ VERSION: (...args) => getRequest('VERSION', args),
2103
+ nonces: (...args) => getRequest('nonces', args),
2104
+ getClaimablePerformanceFees: (...args) => getRequest('getClaimablePerformanceFees', args),
2105
+ lastUnderlyingBal: (...args) => getRequest('lastUnderlyingBal', args),
2106
+ pendingYieldRealized: (...args) => getRequest('pendingYieldRealized', args),
2107
+ vaultToLegoId: (...args) => getRequest('vaultToLegoId', args),
2108
+ assets: (...args) => getRequest('assets', args),
2109
+ indexOfAsset: (...args) => getRequest('indexOfAsset', args),
2110
+ numAssets: (...args) => getRequest('numAssets', args),
2111
+ managers: (...args) => getRequest('managers', args),
2112
+ indexOfManager: (...args) => getRequest('indexOfManager', args),
2113
+ numManagers: (...args) => getRequest('numManagers', args),
2114
+ asset: (...args) => getRequest('asset', args),
2115
+ totalAssets: (...args) => getRequest('totalAssets', args),
2116
+ getTotalAssets: (...args) => getRequest('getTotalAssets', args),
2117
+ maxDeposit: (...args) => getRequest('maxDeposit', args),
2118
+ previewDeposit: (...args) => getRequest('previewDeposit', args),
2119
+ maxMint: (...args) => getRequest('maxMint', args),
2120
+ previewMint: (...args) => getRequest('previewMint', args),
2121
+ maxWithdraw: (...args) => getRequest('maxWithdraw', args),
2122
+ previewWithdraw: (...args) => getRequest('previewWithdraw', args),
2123
+ maxRedeem: (...args) => getRequest('maxRedeem', args),
2124
+ previewRedeem: (...args) => getRequest('previewRedeem', args),
2125
+ convertToShares: (...args) => getRequest('convertToShares', args),
2126
+ convertToSharesSafe: (...args) => getRequest('convertToSharesSafe', args),
2127
+ convertToAssets: (...args) => getRequest('convertToAssets', args),
2128
+ convertToAssetsSafe: (...args) => getRequest('convertToAssetsSafe', args),
2129
+ };
2130
+ function getMutation(functionName) {
2131
+ return {
2132
+ contractName: 'UndyUsdV2',
2133
+ functionName,
2134
+ deployAddress,
2135
+ argsType: undefined,
2136
+ getAbi: () => abi,
2137
+ };
2138
+ }
2139
+ export const mutation = {
2140
+ transfer: getMutation('transfer'),
2141
+ transferFrom: getMutation('transferFrom'),
2142
+ approve: getMutation('approve'),
2143
+ increaseAllowance: getMutation('increaseAllowance'),
2144
+ decreaseAllowance: getMutation('decreaseAllowance'),
2145
+ burn: getMutation('burn'),
2146
+ permit: getMutation('permit'),
2147
+ setBlacklist: getMutation('setBlacklist'),
2148
+ burnBlacklistTokens: getMutation('burnBlacklistTokens'),
2149
+ pause: getMutation('pause'),
2150
+ depositForYield: getMutation('depositForYield'),
2151
+ withdrawFromYield: getMutation('withdrawFromYield'),
2152
+ swapTokens: getMutation('swapTokens'),
2153
+ claimIncentives: getMutation('claimIncentives'),
2154
+ claimPerformanceFees: getMutation('claimPerformanceFees'),
2155
+ updateYieldPosition: getMutation('updateYieldPosition'),
2156
+ addManager: getMutation('addManager'),
2157
+ removeManager: getMutation('removeManager'),
2158
+ deposit: getMutation('deposit'),
2159
+ depositWithMinAmountOut: getMutation('depositWithMinAmountOut'),
2160
+ mint: getMutation('mint'),
2161
+ withdraw: getMutation('withdraw'),
2162
+ redeem: getMutation('redeem'),
2163
+ redeemWithMinAmountOut: getMutation('redeemWithMinAmountOut'),
2164
+ sweepLeftovers: getMutation('sweepLeftovers'),
2165
+ };
2166
+ export function parseEvents(eventName, events) {
2167
+ return events.map((event) => {
2168
+ return {
2169
+ event,
2170
+ parsed: parseEventLogs({
2171
+ abi,
2172
+ eventName,
2173
+ logs: [event],
2174
+ }),
2175
+ };
2176
+ });
2177
+ }
2178
+ export function getEventTopic(eventName) {
2179
+ return encodeEventTopics({ abi, eventName })[0];
2180
+ }
2181
+ export function toSdk(publicClient, walletClient, addressResolver) {
2182
+ return {
2183
+ deployAddress,
2184
+ abi,
2185
+ events: {
2186
+ Deposit: { topic: getEventTopic('Deposit'), parse: (events) => parseEvents('Deposit', events) },
2187
+ Withdraw: { topic: getEventTopic('Withdraw'), parse: (events) => parseEvents('Withdraw', events) },
2188
+ LeftoversSwept: { topic: getEventTopic('LeftoversSwept'), parse: (events) => parseEvents('LeftoversSwept', events) },
2189
+ Transfer: { topic: getEventTopic('Transfer'), parse: (events) => parseEvents('Transfer', events) },
2190
+ Approval: { topic: getEventTopic('Approval'), parse: (events) => parseEvents('Approval', events) },
2191
+ BlacklistModified: { topic: getEventTopic('BlacklistModified'), parse: (events) => parseEvents('BlacklistModified', events) },
2192
+ TokenPauseModified: { topic: getEventTopic('TokenPauseModified'), parse: (events) => parseEvents('TokenPauseModified', events) },
2193
+ EarnVaultDeposit: { topic: getEventTopic('EarnVaultDeposit'), parse: (events) => parseEvents('EarnVaultDeposit', events) },
2194
+ EarnVaultWithdrawal: { topic: getEventTopic('EarnVaultWithdrawal'), parse: (events) => parseEvents('EarnVaultWithdrawal', events) },
2195
+ EarnVaultSwap: { topic: getEventTopic('EarnVaultSwap'), parse: (events) => parseEvents('EarnVaultSwap', events) },
2196
+ EarnVaultRewardsClaim: { topic: getEventTopic('EarnVaultRewardsClaim'), parse: (events) => parseEvents('EarnVaultRewardsClaim', events) },
2197
+ PerformanceFeesClaimed: { topic: getEventTopic('PerformanceFeesClaimed'), parse: (events) => parseEvents('PerformanceFeesClaimed', events) },
2198
+ },
2199
+ // Queries
2200
+ name: (...args) => singleQuery(publicClient, call.name(...args), {}, addressResolver),
2201
+ symbol: (...args) => singleQuery(publicClient, call.symbol(...args), {}, addressResolver),
2202
+ decimals: (...args) => singleQuery(publicClient, call.decimals(...args), {}, addressResolver),
2203
+ DOMAIN_SEPARATOR: (...args) => singleQuery(publicClient, call.DOMAIN_SEPARATOR(...args), {}, addressResolver),
2204
+ undyHq: (...args) => singleQuery(publicClient, call.undyHq(...args), {}, addressResolver),
2205
+ blacklisted: (...args) => singleQuery(publicClient, call.blacklisted(...args), {}, addressResolver),
2206
+ isPaused: (...args) => singleQuery(publicClient, call.isPaused(...args), {}, addressResolver),
2207
+ balanceOf: (...args) => singleQuery(publicClient, call.balanceOf(...args), {}, addressResolver),
2208
+ allowance: (...args) => singleQuery(publicClient, call.allowance(...args), {}, addressResolver),
2209
+ totalSupply: (...args) => singleQuery(publicClient, call.totalSupply(...args), {}, addressResolver),
2210
+ TOKEN_NAME: (...args) => singleQuery(publicClient, call.TOKEN_NAME(...args), {}, addressResolver),
2211
+ TOKEN_SYMBOL: (...args) => singleQuery(publicClient, call.TOKEN_SYMBOL(...args), {}, addressResolver),
2212
+ TOKEN_DECIMALS: (...args) => singleQuery(publicClient, call.TOKEN_DECIMALS(...args), {}, addressResolver),
2213
+ VERSION: (...args) => singleQuery(publicClient, call.VERSION(...args), {}, addressResolver),
2214
+ nonces: (...args) => singleQuery(publicClient, call.nonces(...args), {}, addressResolver),
2215
+ getClaimablePerformanceFees: (...args) => singleQuery(publicClient, call.getClaimablePerformanceFees(...args), {}, addressResolver),
2216
+ lastUnderlyingBal: (...args) => singleQuery(publicClient, call.lastUnderlyingBal(...args), {}, addressResolver),
2217
+ pendingYieldRealized: (...args) => singleQuery(publicClient, call.pendingYieldRealized(...args), {}, addressResolver),
2218
+ vaultToLegoId: (...args) => singleQuery(publicClient, call.vaultToLegoId(...args), {}, addressResolver),
2219
+ assets: (...args) => singleQuery(publicClient, call.assets(...args), {}, addressResolver),
2220
+ indexOfAsset: (...args) => singleQuery(publicClient, call.indexOfAsset(...args), {}, addressResolver),
2221
+ numAssets: (...args) => singleQuery(publicClient, call.numAssets(...args), {}, addressResolver),
2222
+ managers: (...args) => singleQuery(publicClient, call.managers(...args), {}, addressResolver),
2223
+ indexOfManager: (...args) => singleQuery(publicClient, call.indexOfManager(...args), {}, addressResolver),
2224
+ numManagers: (...args) => singleQuery(publicClient, call.numManagers(...args), {}, addressResolver),
2225
+ asset: (...args) => singleQuery(publicClient, call.asset(...args), {}, addressResolver),
2226
+ totalAssets: (...args) => singleQuery(publicClient, call.totalAssets(...args), {}, addressResolver),
2227
+ getTotalAssets: (...args) => singleQuery(publicClient, call.getTotalAssets(...args), {}, addressResolver),
2228
+ maxDeposit: (...args) => singleQuery(publicClient, call.maxDeposit(...args), {}, addressResolver),
2229
+ previewDeposit: (...args) => singleQuery(publicClient, call.previewDeposit(...args), {}, addressResolver),
2230
+ maxMint: (...args) => singleQuery(publicClient, call.maxMint(...args), {}, addressResolver),
2231
+ previewMint: (...args) => singleQuery(publicClient, call.previewMint(...args), {}, addressResolver),
2232
+ maxWithdraw: (...args) => singleQuery(publicClient, call.maxWithdraw(...args), {}, addressResolver),
2233
+ previewWithdraw: (...args) => singleQuery(publicClient, call.previewWithdraw(...args), {}, addressResolver),
2234
+ maxRedeem: (...args) => singleQuery(publicClient, call.maxRedeem(...args), {}, addressResolver),
2235
+ previewRedeem: (...args) => singleQuery(publicClient, call.previewRedeem(...args), {}, addressResolver),
2236
+ convertToShares: (...args) => singleQuery(publicClient, call.convertToShares(...args), {}, addressResolver),
2237
+ convertToSharesSafe: (...args) => singleQuery(publicClient, call.convertToSharesSafe(...args), {}, addressResolver),
2238
+ convertToAssets: (...args) => singleQuery(publicClient, call.convertToAssets(...args), {}, addressResolver),
2239
+ convertToAssetsSafe: (...args) => singleQuery(publicClient, call.convertToAssetsSafe(...args), {}, addressResolver),
2240
+ // Mutations
2241
+ transfer: (...args) => mutate(walletClient, mutation.transfer, { addressResolver })(...args),
2242
+ transferFrom: (...args) => mutate(walletClient, mutation.transferFrom, { addressResolver })(...args),
2243
+ approve: (...args) => mutate(walletClient, mutation.approve, { addressResolver })(...args),
2244
+ increaseAllowance: (...args) => mutate(walletClient, mutation.increaseAllowance, { addressResolver })(...args),
2245
+ decreaseAllowance: (...args) => mutate(walletClient, mutation.decreaseAllowance, { addressResolver })(...args),
2246
+ burn: (...args) => mutate(walletClient, mutation.burn, { addressResolver })(...args),
2247
+ permit: (...args) => mutate(walletClient, mutation.permit, { addressResolver })(...args),
2248
+ setBlacklist: (...args) => mutate(walletClient, mutation.setBlacklist, { addressResolver })(...args),
2249
+ burnBlacklistTokens: (...args) => mutate(walletClient, mutation.burnBlacklistTokens, { addressResolver })(...args),
2250
+ pause: (...args) => mutate(walletClient, mutation.pause, { addressResolver })(...args),
2251
+ depositForYield: (...args) => mutate(walletClient, mutation.depositForYield, { addressResolver })(...args),
2252
+ withdrawFromYield: (...args) => mutate(walletClient, mutation.withdrawFromYield, { addressResolver })(...args),
2253
+ swapTokens: (...args) => mutate(walletClient, mutation.swapTokens, { addressResolver })(...args),
2254
+ claimIncentives: (...args) => mutate(walletClient, mutation.claimIncentives, { addressResolver })(...args),
2255
+ claimPerformanceFees: (...args) => mutate(walletClient, mutation.claimPerformanceFees, { addressResolver })(...args),
2256
+ updateYieldPosition: (...args) => mutate(walletClient, mutation.updateYieldPosition, { addressResolver })(...args),
2257
+ addManager: (...args) => mutate(walletClient, mutation.addManager, { addressResolver })(...args),
2258
+ removeManager: (...args) => mutate(walletClient, mutation.removeManager, { addressResolver })(...args),
2259
+ deposit: (...args) => mutate(walletClient, mutation.deposit, { addressResolver })(...args),
2260
+ depositWithMinAmountOut: (...args) => mutate(walletClient, mutation.depositWithMinAmountOut, { addressResolver })(...args),
2261
+ mint: (...args) => mutate(walletClient, mutation.mint, { addressResolver })(...args),
2262
+ withdraw: (...args) => mutate(walletClient, mutation.withdraw, { addressResolver })(...args),
2263
+ redeem: (...args) => mutate(walletClient, mutation.redeem, { addressResolver })(...args),
2264
+ redeemWithMinAmountOut: (...args) => mutate(walletClient, mutation.redeemWithMinAmountOut, { addressResolver })(...args),
2265
+ sweepLeftovers: (...args) => mutate(walletClient, mutation.sweepLeftovers, { addressResolver })(...args),
2266
+ };
2267
+ }