@gitmyabi/arm-weth-steth 1.0.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,4004 @@
1
+ import type { Abi, Address, PublicClient, WalletClient, GetContractReturnType } from 'viem';
2
+ import { getContract } from 'viem';
3
+
4
+ /**
5
+ * LidoARM_json ABI
6
+ *
7
+ * This ABI is typed using viem's type system for full type safety.
8
+ */
9
+ export const LidoARM_jsonAbi = [
10
+ {
11
+ "inputs": [
12
+ {
13
+ "internalType": "address",
14
+ "name": "_steth",
15
+ "type": "address"
16
+ },
17
+ {
18
+ "internalType": "address",
19
+ "name": "_weth",
20
+ "type": "address"
21
+ },
22
+ {
23
+ "internalType": "address",
24
+ "name": "_lidoWithdrawalQueue",
25
+ "type": "address"
26
+ },
27
+ {
28
+ "internalType": "uint256",
29
+ "name": "_claimDelay",
30
+ "type": "uint256"
31
+ },
32
+ {
33
+ "internalType": "uint256",
34
+ "name": "_minSharesToRedeem",
35
+ "type": "uint256"
36
+ },
37
+ {
38
+ "internalType": "int256",
39
+ "name": "_allocateThreshold",
40
+ "type": "int256"
41
+ }
42
+ ],
43
+ "stateMutability": "nonpayable",
44
+ "type": "constructor"
45
+ },
46
+ {
47
+ "inputs": [],
48
+ "name": "ContractPaused",
49
+ "type": "error"
50
+ },
51
+ {
52
+ "inputs": [
53
+ {
54
+ "internalType": "address",
55
+ "name": "spender",
56
+ "type": "address"
57
+ },
58
+ {
59
+ "internalType": "uint256",
60
+ "name": "allowance",
61
+ "type": "uint256"
62
+ },
63
+ {
64
+ "internalType": "uint256",
65
+ "name": "needed",
66
+ "type": "uint256"
67
+ }
68
+ ],
69
+ "name": "ERC20InsufficientAllowance",
70
+ "type": "error"
71
+ },
72
+ {
73
+ "inputs": [
74
+ {
75
+ "internalType": "address",
76
+ "name": "sender",
77
+ "type": "address"
78
+ },
79
+ {
80
+ "internalType": "uint256",
81
+ "name": "balance",
82
+ "type": "uint256"
83
+ },
84
+ {
85
+ "internalType": "uint256",
86
+ "name": "needed",
87
+ "type": "uint256"
88
+ }
89
+ ],
90
+ "name": "ERC20InsufficientBalance",
91
+ "type": "error"
92
+ },
93
+ {
94
+ "inputs": [
95
+ {
96
+ "internalType": "address",
97
+ "name": "approver",
98
+ "type": "address"
99
+ }
100
+ ],
101
+ "name": "ERC20InvalidApprover",
102
+ "type": "error"
103
+ },
104
+ {
105
+ "inputs": [
106
+ {
107
+ "internalType": "address",
108
+ "name": "receiver",
109
+ "type": "address"
110
+ }
111
+ ],
112
+ "name": "ERC20InvalidReceiver",
113
+ "type": "error"
114
+ },
115
+ {
116
+ "inputs": [
117
+ {
118
+ "internalType": "address",
119
+ "name": "sender",
120
+ "type": "address"
121
+ }
122
+ ],
123
+ "name": "ERC20InvalidSender",
124
+ "type": "error"
125
+ },
126
+ {
127
+ "inputs": [
128
+ {
129
+ "internalType": "address",
130
+ "name": "spender",
131
+ "type": "address"
132
+ }
133
+ ],
134
+ "name": "ERC20InvalidSpender",
135
+ "type": "error"
136
+ },
137
+ {
138
+ "inputs": [],
139
+ "name": "InvalidInitialization",
140
+ "type": "error"
141
+ },
142
+ {
143
+ "inputs": [],
144
+ "name": "NotInitializing",
145
+ "type": "error"
146
+ },
147
+ {
148
+ "inputs": [
149
+ {
150
+ "internalType": "uint8",
151
+ "name": "bits",
152
+ "type": "uint8"
153
+ },
154
+ {
155
+ "internalType": "int256",
156
+ "name": "value",
157
+ "type": "int256"
158
+ }
159
+ ],
160
+ "name": "SafeCastOverflowedIntDowncast",
161
+ "type": "error"
162
+ },
163
+ {
164
+ "inputs": [
165
+ {
166
+ "internalType": "int256",
167
+ "name": "value",
168
+ "type": "int256"
169
+ }
170
+ ],
171
+ "name": "SafeCastOverflowedIntToUint",
172
+ "type": "error"
173
+ },
174
+ {
175
+ "inputs": [
176
+ {
177
+ "internalType": "uint8",
178
+ "name": "bits",
179
+ "type": "uint8"
180
+ },
181
+ {
182
+ "internalType": "uint256",
183
+ "name": "value",
184
+ "type": "uint256"
185
+ }
186
+ ],
187
+ "name": "SafeCastOverflowedUintDowncast",
188
+ "type": "error"
189
+ },
190
+ {
191
+ "inputs": [
192
+ {
193
+ "internalType": "uint256",
194
+ "name": "value",
195
+ "type": "uint256"
196
+ }
197
+ ],
198
+ "name": "SafeCastOverflowedUintToInt",
199
+ "type": "error"
200
+ },
201
+ {
202
+ "anonymous": false,
203
+ "inputs": [
204
+ {
205
+ "indexed": false,
206
+ "internalType": "uint256",
207
+ "name": "armBuffer",
208
+ "type": "uint256"
209
+ }
210
+ ],
211
+ "name": "ARMBufferUpdated",
212
+ "type": "event"
213
+ },
214
+ {
215
+ "anonymous": false,
216
+ "inputs": [
217
+ {
218
+ "indexed": true,
219
+ "internalType": "address",
220
+ "name": "market",
221
+ "type": "address"
222
+ }
223
+ ],
224
+ "name": "ActiveMarketUpdated",
225
+ "type": "event"
226
+ },
227
+ {
228
+ "anonymous": false,
229
+ "inputs": [
230
+ {
231
+ "indexed": false,
232
+ "internalType": "address",
233
+ "name": "previousAdmin",
234
+ "type": "address"
235
+ },
236
+ {
237
+ "indexed": false,
238
+ "internalType": "address",
239
+ "name": "newAdmin",
240
+ "type": "address"
241
+ }
242
+ ],
243
+ "name": "AdminChanged",
244
+ "type": "event"
245
+ },
246
+ {
247
+ "anonymous": false,
248
+ "inputs": [
249
+ {
250
+ "indexed": true,
251
+ "internalType": "address",
252
+ "name": "market",
253
+ "type": "address"
254
+ },
255
+ {
256
+ "indexed": false,
257
+ "internalType": "int256",
258
+ "name": "targetLiquidityDelta",
259
+ "type": "int256"
260
+ },
261
+ {
262
+ "indexed": false,
263
+ "internalType": "int256",
264
+ "name": "actualLiquidityDelta",
265
+ "type": "int256"
266
+ }
267
+ ],
268
+ "name": "Allocated",
269
+ "type": "event"
270
+ },
271
+ {
272
+ "anonymous": false,
273
+ "inputs": [
274
+ {
275
+ "indexed": true,
276
+ "internalType": "address",
277
+ "name": "owner",
278
+ "type": "address"
279
+ },
280
+ {
281
+ "indexed": true,
282
+ "internalType": "address",
283
+ "name": "spender",
284
+ "type": "address"
285
+ },
286
+ {
287
+ "indexed": false,
288
+ "internalType": "uint256",
289
+ "name": "value",
290
+ "type": "uint256"
291
+ }
292
+ ],
293
+ "name": "Approval",
294
+ "type": "event"
295
+ },
296
+ {
297
+ "anonymous": false,
298
+ "inputs": [
299
+ {
300
+ "indexed": true,
301
+ "internalType": "address",
302
+ "name": "capManager",
303
+ "type": "address"
304
+ }
305
+ ],
306
+ "name": "CapManagerUpdated",
307
+ "type": "event"
308
+ },
309
+ {
310
+ "anonymous": false,
311
+ "inputs": [
312
+ {
313
+ "indexed": false,
314
+ "internalType": "uint256[]",
315
+ "name": "requestIds",
316
+ "type": "uint256[]"
317
+ }
318
+ ],
319
+ "name": "ClaimLidoWithdrawals",
320
+ "type": "event"
321
+ },
322
+ {
323
+ "anonymous": false,
324
+ "inputs": [
325
+ {
326
+ "indexed": false,
327
+ "internalType": "uint256",
328
+ "name": "crossPrice",
329
+ "type": "uint256"
330
+ }
331
+ ],
332
+ "name": "CrossPriceUpdated",
333
+ "type": "event"
334
+ },
335
+ {
336
+ "anonymous": false,
337
+ "inputs": [
338
+ {
339
+ "indexed": true,
340
+ "internalType": "address",
341
+ "name": "owner",
342
+ "type": "address"
343
+ },
344
+ {
345
+ "indexed": false,
346
+ "internalType": "uint256",
347
+ "name": "assets",
348
+ "type": "uint256"
349
+ },
350
+ {
351
+ "indexed": false,
352
+ "internalType": "uint256",
353
+ "name": "shares",
354
+ "type": "uint256"
355
+ }
356
+ ],
357
+ "name": "Deposit",
358
+ "type": "event"
359
+ },
360
+ {
361
+ "anonymous": false,
362
+ "inputs": [
363
+ {
364
+ "indexed": true,
365
+ "internalType": "address",
366
+ "name": "feeCollector",
367
+ "type": "address"
368
+ },
369
+ {
370
+ "indexed": false,
371
+ "internalType": "uint256",
372
+ "name": "fee",
373
+ "type": "uint256"
374
+ }
375
+ ],
376
+ "name": "FeeCollected",
377
+ "type": "event"
378
+ },
379
+ {
380
+ "anonymous": false,
381
+ "inputs": [
382
+ {
383
+ "indexed": true,
384
+ "internalType": "address",
385
+ "name": "newFeeCollector",
386
+ "type": "address"
387
+ }
388
+ ],
389
+ "name": "FeeCollectorUpdated",
390
+ "type": "event"
391
+ },
392
+ {
393
+ "anonymous": false,
394
+ "inputs": [
395
+ {
396
+ "indexed": false,
397
+ "internalType": "uint256",
398
+ "name": "fee",
399
+ "type": "uint256"
400
+ }
401
+ ],
402
+ "name": "FeeUpdated",
403
+ "type": "event"
404
+ },
405
+ {
406
+ "anonymous": false,
407
+ "inputs": [
408
+ {
409
+ "indexed": false,
410
+ "internalType": "uint64",
411
+ "name": "version",
412
+ "type": "uint64"
413
+ }
414
+ ],
415
+ "name": "Initialized",
416
+ "type": "event"
417
+ },
418
+ {
419
+ "anonymous": false,
420
+ "inputs": [
421
+ {
422
+ "indexed": true,
423
+ "internalType": "address",
424
+ "name": "market",
425
+ "type": "address"
426
+ }
427
+ ],
428
+ "name": "MarketAdded",
429
+ "type": "event"
430
+ },
431
+ {
432
+ "anonymous": false,
433
+ "inputs": [
434
+ {
435
+ "indexed": true,
436
+ "internalType": "address",
437
+ "name": "market",
438
+ "type": "address"
439
+ }
440
+ ],
441
+ "name": "MarketRemoved",
442
+ "type": "event"
443
+ },
444
+ {
445
+ "anonymous": false,
446
+ "inputs": [
447
+ {
448
+ "indexed": false,
449
+ "internalType": "address",
450
+ "name": "newAdmin",
451
+ "type": "address"
452
+ }
453
+ ],
454
+ "name": "OperatorChanged",
455
+ "type": "event"
456
+ },
457
+ {
458
+ "anonymous": false,
459
+ "inputs": [
460
+ {
461
+ "indexed": true,
462
+ "internalType": "address",
463
+ "name": "account",
464
+ "type": "address"
465
+ }
466
+ ],
467
+ "name": "Paused",
468
+ "type": "event"
469
+ },
470
+ {
471
+ "anonymous": false,
472
+ "inputs": [
473
+ {
474
+ "indexed": true,
475
+ "internalType": "address",
476
+ "name": "withdrawer",
477
+ "type": "address"
478
+ },
479
+ {
480
+ "indexed": true,
481
+ "internalType": "uint256",
482
+ "name": "requestId",
483
+ "type": "uint256"
484
+ },
485
+ {
486
+ "indexed": false,
487
+ "internalType": "uint256",
488
+ "name": "assets",
489
+ "type": "uint256"
490
+ }
491
+ ],
492
+ "name": "RedeemClaimed",
493
+ "type": "event"
494
+ },
495
+ {
496
+ "anonymous": false,
497
+ "inputs": [
498
+ {
499
+ "indexed": true,
500
+ "internalType": "address",
501
+ "name": "withdrawer",
502
+ "type": "address"
503
+ },
504
+ {
505
+ "indexed": true,
506
+ "internalType": "uint256",
507
+ "name": "requestId",
508
+ "type": "uint256"
509
+ },
510
+ {
511
+ "indexed": false,
512
+ "internalType": "uint256",
513
+ "name": "assets",
514
+ "type": "uint256"
515
+ },
516
+ {
517
+ "indexed": false,
518
+ "internalType": "uint256",
519
+ "name": "queued",
520
+ "type": "uint256"
521
+ },
522
+ {
523
+ "indexed": false,
524
+ "internalType": "uint256",
525
+ "name": "claimTimestamp",
526
+ "type": "uint256"
527
+ }
528
+ ],
529
+ "name": "RedeemRequested",
530
+ "type": "event"
531
+ },
532
+ {
533
+ "anonymous": false,
534
+ "inputs": [
535
+ {
536
+ "indexed": false,
537
+ "internalType": "uint256[]",
538
+ "name": "requestIds",
539
+ "type": "uint256[]"
540
+ },
541
+ {
542
+ "indexed": false,
543
+ "internalType": "uint256",
544
+ "name": "totalAmountRequested",
545
+ "type": "uint256"
546
+ }
547
+ ],
548
+ "name": "RegisterLidoWithdrawalRequests",
549
+ "type": "event"
550
+ },
551
+ {
552
+ "anonymous": false,
553
+ "inputs": [
554
+ {
555
+ "indexed": false,
556
+ "internalType": "uint256[]",
557
+ "name": "amounts",
558
+ "type": "uint256[]"
559
+ },
560
+ {
561
+ "indexed": false,
562
+ "internalType": "uint256[]",
563
+ "name": "requestIds",
564
+ "type": "uint256[]"
565
+ }
566
+ ],
567
+ "name": "RequestLidoWithdrawals",
568
+ "type": "event"
569
+ },
570
+ {
571
+ "anonymous": false,
572
+ "inputs": [
573
+ {
574
+ "indexed": false,
575
+ "internalType": "uint256",
576
+ "name": "traderate0",
577
+ "type": "uint256"
578
+ },
579
+ {
580
+ "indexed": false,
581
+ "internalType": "uint256",
582
+ "name": "traderate1",
583
+ "type": "uint256"
584
+ }
585
+ ],
586
+ "name": "TraderateChanged",
587
+ "type": "event"
588
+ },
589
+ {
590
+ "anonymous": false,
591
+ "inputs": [
592
+ {
593
+ "indexed": true,
594
+ "internalType": "address",
595
+ "name": "from",
596
+ "type": "address"
597
+ },
598
+ {
599
+ "indexed": true,
600
+ "internalType": "address",
601
+ "name": "to",
602
+ "type": "address"
603
+ },
604
+ {
605
+ "indexed": false,
606
+ "internalType": "uint256",
607
+ "name": "value",
608
+ "type": "uint256"
609
+ }
610
+ ],
611
+ "name": "Transfer",
612
+ "type": "event"
613
+ },
614
+ {
615
+ "anonymous": false,
616
+ "inputs": [
617
+ {
618
+ "indexed": true,
619
+ "internalType": "address",
620
+ "name": "account",
621
+ "type": "address"
622
+ }
623
+ ],
624
+ "name": "Unpaused",
625
+ "type": "event"
626
+ },
627
+ {
628
+ "inputs": [],
629
+ "name": "FEE_SCALE",
630
+ "outputs": [
631
+ {
632
+ "internalType": "uint256",
633
+ "name": "",
634
+ "type": "uint256"
635
+ }
636
+ ],
637
+ "stateMutability": "view",
638
+ "type": "function"
639
+ },
640
+ {
641
+ "inputs": [],
642
+ "name": "MAX_CROSS_PRICE_DEVIATION",
643
+ "outputs": [
644
+ {
645
+ "internalType": "uint256",
646
+ "name": "",
647
+ "type": "uint256"
648
+ }
649
+ ],
650
+ "stateMutability": "view",
651
+ "type": "function"
652
+ },
653
+ {
654
+ "inputs": [],
655
+ "name": "PRICE_SCALE",
656
+ "outputs": [
657
+ {
658
+ "internalType": "uint256",
659
+ "name": "",
660
+ "type": "uint256"
661
+ }
662
+ ],
663
+ "stateMutability": "view",
664
+ "type": "function"
665
+ },
666
+ {
667
+ "inputs": [],
668
+ "name": "activeMarket",
669
+ "outputs": [
670
+ {
671
+ "internalType": "address",
672
+ "name": "",
673
+ "type": "address"
674
+ }
675
+ ],
676
+ "stateMutability": "view",
677
+ "type": "function"
678
+ },
679
+ {
680
+ "inputs": [
681
+ {
682
+ "internalType": "address[]",
683
+ "name": "_markets",
684
+ "type": "address[]"
685
+ }
686
+ ],
687
+ "name": "addMarkets",
688
+ "outputs": [],
689
+ "stateMutability": "nonpayable",
690
+ "type": "function"
691
+ },
692
+ {
693
+ "inputs": [],
694
+ "name": "allocate",
695
+ "outputs": [
696
+ {
697
+ "internalType": "int256",
698
+ "name": "targetLiquidityDelta",
699
+ "type": "int256"
700
+ },
701
+ {
702
+ "internalType": "int256",
703
+ "name": "actualLiquidityDelta",
704
+ "type": "int256"
705
+ }
706
+ ],
707
+ "stateMutability": "nonpayable",
708
+ "type": "function"
709
+ },
710
+ {
711
+ "inputs": [],
712
+ "name": "allocateThreshold",
713
+ "outputs": [
714
+ {
715
+ "internalType": "int256",
716
+ "name": "",
717
+ "type": "int256"
718
+ }
719
+ ],
720
+ "stateMutability": "view",
721
+ "type": "function"
722
+ },
723
+ {
724
+ "inputs": [
725
+ {
726
+ "internalType": "address",
727
+ "name": "owner",
728
+ "type": "address"
729
+ },
730
+ {
731
+ "internalType": "address",
732
+ "name": "spender",
733
+ "type": "address"
734
+ }
735
+ ],
736
+ "name": "allowance",
737
+ "outputs": [
738
+ {
739
+ "internalType": "uint256",
740
+ "name": "",
741
+ "type": "uint256"
742
+ }
743
+ ],
744
+ "stateMutability": "view",
745
+ "type": "function"
746
+ },
747
+ {
748
+ "inputs": [
749
+ {
750
+ "internalType": "address",
751
+ "name": "spender",
752
+ "type": "address"
753
+ },
754
+ {
755
+ "internalType": "uint256",
756
+ "name": "value",
757
+ "type": "uint256"
758
+ }
759
+ ],
760
+ "name": "approve",
761
+ "outputs": [
762
+ {
763
+ "internalType": "bool",
764
+ "name": "",
765
+ "type": "bool"
766
+ }
767
+ ],
768
+ "stateMutability": "nonpayable",
769
+ "type": "function"
770
+ },
771
+ {
772
+ "inputs": [],
773
+ "name": "armBuffer",
774
+ "outputs": [
775
+ {
776
+ "internalType": "uint256",
777
+ "name": "",
778
+ "type": "uint256"
779
+ }
780
+ ],
781
+ "stateMutability": "view",
782
+ "type": "function"
783
+ },
784
+ {
785
+ "inputs": [],
786
+ "name": "asset",
787
+ "outputs": [
788
+ {
789
+ "internalType": "address",
790
+ "name": "",
791
+ "type": "address"
792
+ }
793
+ ],
794
+ "stateMutability": "view",
795
+ "type": "function"
796
+ },
797
+ {
798
+ "inputs": [
799
+ {
800
+ "internalType": "address",
801
+ "name": "account",
802
+ "type": "address"
803
+ }
804
+ ],
805
+ "name": "balanceOf",
806
+ "outputs": [
807
+ {
808
+ "internalType": "uint256",
809
+ "name": "",
810
+ "type": "uint256"
811
+ }
812
+ ],
813
+ "stateMutability": "view",
814
+ "type": "function"
815
+ },
816
+ {
817
+ "inputs": [],
818
+ "name": "baseAsset",
819
+ "outputs": [
820
+ {
821
+ "internalType": "address",
822
+ "name": "",
823
+ "type": "address"
824
+ }
825
+ ],
826
+ "stateMutability": "view",
827
+ "type": "function"
828
+ },
829
+ {
830
+ "inputs": [],
831
+ "name": "capManager",
832
+ "outputs": [
833
+ {
834
+ "internalType": "address",
835
+ "name": "",
836
+ "type": "address"
837
+ }
838
+ ],
839
+ "stateMutability": "view",
840
+ "type": "function"
841
+ },
842
+ {
843
+ "inputs": [],
844
+ "name": "claimDelay",
845
+ "outputs": [
846
+ {
847
+ "internalType": "uint256",
848
+ "name": "",
849
+ "type": "uint256"
850
+ }
851
+ ],
852
+ "stateMutability": "view",
853
+ "type": "function"
854
+ },
855
+ {
856
+ "inputs": [
857
+ {
858
+ "internalType": "uint256[]",
859
+ "name": "requestIds",
860
+ "type": "uint256[]"
861
+ },
862
+ {
863
+ "internalType": "uint256[]",
864
+ "name": "hintIds",
865
+ "type": "uint256[]"
866
+ }
867
+ ],
868
+ "name": "claimLidoWithdrawals",
869
+ "outputs": [],
870
+ "stateMutability": "nonpayable",
871
+ "type": "function"
872
+ },
873
+ {
874
+ "inputs": [
875
+ {
876
+ "internalType": "uint256",
877
+ "name": "requestId",
878
+ "type": "uint256"
879
+ }
880
+ ],
881
+ "name": "claimRedeem",
882
+ "outputs": [
883
+ {
884
+ "internalType": "uint256",
885
+ "name": "assets",
886
+ "type": "uint256"
887
+ }
888
+ ],
889
+ "stateMutability": "nonpayable",
890
+ "type": "function"
891
+ },
892
+ {
893
+ "inputs": [],
894
+ "name": "claimable",
895
+ "outputs": [
896
+ {
897
+ "internalType": "uint256",
898
+ "name": "claimableAmount",
899
+ "type": "uint256"
900
+ }
901
+ ],
902
+ "stateMutability": "view",
903
+ "type": "function"
904
+ },
905
+ {
906
+ "inputs": [],
907
+ "name": "collectFees",
908
+ "outputs": [
909
+ {
910
+ "internalType": "uint256",
911
+ "name": "fees",
912
+ "type": "uint256"
913
+ }
914
+ ],
915
+ "stateMutability": "nonpayable",
916
+ "type": "function"
917
+ },
918
+ {
919
+ "inputs": [
920
+ {
921
+ "internalType": "uint256",
922
+ "name": "shares",
923
+ "type": "uint256"
924
+ }
925
+ ],
926
+ "name": "convertToAssets",
927
+ "outputs": [
928
+ {
929
+ "internalType": "uint256",
930
+ "name": "assets",
931
+ "type": "uint256"
932
+ }
933
+ ],
934
+ "stateMutability": "view",
935
+ "type": "function"
936
+ },
937
+ {
938
+ "inputs": [
939
+ {
940
+ "internalType": "uint256",
941
+ "name": "assets",
942
+ "type": "uint256"
943
+ }
944
+ ],
945
+ "name": "convertToShares",
946
+ "outputs": [
947
+ {
948
+ "internalType": "uint256",
949
+ "name": "shares",
950
+ "type": "uint256"
951
+ }
952
+ ],
953
+ "stateMutability": "view",
954
+ "type": "function"
955
+ },
956
+ {
957
+ "inputs": [],
958
+ "name": "crossPrice",
959
+ "outputs": [
960
+ {
961
+ "internalType": "uint256",
962
+ "name": "",
963
+ "type": "uint256"
964
+ }
965
+ ],
966
+ "stateMutability": "view",
967
+ "type": "function"
968
+ },
969
+ {
970
+ "inputs": [],
971
+ "name": "decimals",
972
+ "outputs": [
973
+ {
974
+ "internalType": "uint8",
975
+ "name": "",
976
+ "type": "uint8"
977
+ }
978
+ ],
979
+ "stateMutability": "view",
980
+ "type": "function"
981
+ },
982
+ {
983
+ "inputs": [
984
+ {
985
+ "internalType": "uint256",
986
+ "name": "assets",
987
+ "type": "uint256"
988
+ },
989
+ {
990
+ "internalType": "address",
991
+ "name": "receiver",
992
+ "type": "address"
993
+ }
994
+ ],
995
+ "name": "deposit",
996
+ "outputs": [
997
+ {
998
+ "internalType": "uint256",
999
+ "name": "shares",
1000
+ "type": "uint256"
1001
+ }
1002
+ ],
1003
+ "stateMutability": "nonpayable",
1004
+ "type": "function"
1005
+ },
1006
+ {
1007
+ "inputs": [
1008
+ {
1009
+ "internalType": "uint256",
1010
+ "name": "assets",
1011
+ "type": "uint256"
1012
+ }
1013
+ ],
1014
+ "name": "deposit",
1015
+ "outputs": [
1016
+ {
1017
+ "internalType": "uint256",
1018
+ "name": "shares",
1019
+ "type": "uint256"
1020
+ }
1021
+ ],
1022
+ "stateMutability": "nonpayable",
1023
+ "type": "function"
1024
+ },
1025
+ {
1026
+ "inputs": [],
1027
+ "name": "fee",
1028
+ "outputs": [
1029
+ {
1030
+ "internalType": "uint16",
1031
+ "name": "",
1032
+ "type": "uint16"
1033
+ }
1034
+ ],
1035
+ "stateMutability": "view",
1036
+ "type": "function"
1037
+ },
1038
+ {
1039
+ "inputs": [],
1040
+ "name": "feeCollector",
1041
+ "outputs": [
1042
+ {
1043
+ "internalType": "address",
1044
+ "name": "",
1045
+ "type": "address"
1046
+ }
1047
+ ],
1048
+ "stateMutability": "view",
1049
+ "type": "function"
1050
+ },
1051
+ {
1052
+ "inputs": [],
1053
+ "name": "feesAccrued",
1054
+ "outputs": [
1055
+ {
1056
+ "internalType": "uint256",
1057
+ "name": "fees",
1058
+ "type": "uint256"
1059
+ }
1060
+ ],
1061
+ "stateMutability": "view",
1062
+ "type": "function"
1063
+ },
1064
+ {
1065
+ "inputs": [],
1066
+ "name": "getReserves",
1067
+ "outputs": [
1068
+ {
1069
+ "internalType": "uint256",
1070
+ "name": "reserve0",
1071
+ "type": "uint256"
1072
+ },
1073
+ {
1074
+ "internalType": "uint256",
1075
+ "name": "reserve1",
1076
+ "type": "uint256"
1077
+ }
1078
+ ],
1079
+ "stateMutability": "view",
1080
+ "type": "function"
1081
+ },
1082
+ {
1083
+ "inputs": [
1084
+ {
1085
+ "internalType": "string",
1086
+ "name": "_name",
1087
+ "type": "string"
1088
+ },
1089
+ {
1090
+ "internalType": "string",
1091
+ "name": "_symbol",
1092
+ "type": "string"
1093
+ },
1094
+ {
1095
+ "internalType": "address",
1096
+ "name": "_operator",
1097
+ "type": "address"
1098
+ },
1099
+ {
1100
+ "internalType": "uint256",
1101
+ "name": "_fee",
1102
+ "type": "uint256"
1103
+ },
1104
+ {
1105
+ "internalType": "address",
1106
+ "name": "_feeCollector",
1107
+ "type": "address"
1108
+ },
1109
+ {
1110
+ "internalType": "address",
1111
+ "name": "_capManager",
1112
+ "type": "address"
1113
+ }
1114
+ ],
1115
+ "name": "initialize",
1116
+ "outputs": [],
1117
+ "stateMutability": "nonpayable",
1118
+ "type": "function"
1119
+ },
1120
+ {
1121
+ "inputs": [],
1122
+ "name": "lastAvailableAssets",
1123
+ "outputs": [
1124
+ {
1125
+ "internalType": "int128",
1126
+ "name": "",
1127
+ "type": "int128"
1128
+ }
1129
+ ],
1130
+ "stateMutability": "view",
1131
+ "type": "function"
1132
+ },
1133
+ {
1134
+ "inputs": [],
1135
+ "name": "lidoWithdrawalQueue",
1136
+ "outputs": [
1137
+ {
1138
+ "internalType": "contract IStETHWithdrawal",
1139
+ "name": "",
1140
+ "type": "address"
1141
+ }
1142
+ ],
1143
+ "stateMutability": "view",
1144
+ "type": "function"
1145
+ },
1146
+ {
1147
+ "inputs": [],
1148
+ "name": "lidoWithdrawalQueueAmount",
1149
+ "outputs": [
1150
+ {
1151
+ "internalType": "uint256",
1152
+ "name": "",
1153
+ "type": "uint256"
1154
+ }
1155
+ ],
1156
+ "stateMutability": "view",
1157
+ "type": "function"
1158
+ },
1159
+ {
1160
+ "inputs": [
1161
+ {
1162
+ "internalType": "uint256",
1163
+ "name": "id",
1164
+ "type": "uint256"
1165
+ }
1166
+ ],
1167
+ "name": "lidoWithdrawalRequests",
1168
+ "outputs": [
1169
+ {
1170
+ "internalType": "uint256",
1171
+ "name": "amount",
1172
+ "type": "uint256"
1173
+ }
1174
+ ],
1175
+ "stateMutability": "view",
1176
+ "type": "function"
1177
+ },
1178
+ {
1179
+ "inputs": [],
1180
+ "name": "liquidityAsset",
1181
+ "outputs": [
1182
+ {
1183
+ "internalType": "address",
1184
+ "name": "",
1185
+ "type": "address"
1186
+ }
1187
+ ],
1188
+ "stateMutability": "view",
1189
+ "type": "function"
1190
+ },
1191
+ {
1192
+ "inputs": [],
1193
+ "name": "minSharesToRedeem",
1194
+ "outputs": [
1195
+ {
1196
+ "internalType": "uint256",
1197
+ "name": "",
1198
+ "type": "uint256"
1199
+ }
1200
+ ],
1201
+ "stateMutability": "view",
1202
+ "type": "function"
1203
+ },
1204
+ {
1205
+ "inputs": [],
1206
+ "name": "name",
1207
+ "outputs": [
1208
+ {
1209
+ "internalType": "string",
1210
+ "name": "",
1211
+ "type": "string"
1212
+ }
1213
+ ],
1214
+ "stateMutability": "view",
1215
+ "type": "function"
1216
+ },
1217
+ {
1218
+ "inputs": [],
1219
+ "name": "nextWithdrawalIndex",
1220
+ "outputs": [
1221
+ {
1222
+ "internalType": "uint256",
1223
+ "name": "",
1224
+ "type": "uint256"
1225
+ }
1226
+ ],
1227
+ "stateMutability": "view",
1228
+ "type": "function"
1229
+ },
1230
+ {
1231
+ "inputs": [],
1232
+ "name": "operator",
1233
+ "outputs": [
1234
+ {
1235
+ "internalType": "address",
1236
+ "name": "",
1237
+ "type": "address"
1238
+ }
1239
+ ],
1240
+ "stateMutability": "view",
1241
+ "type": "function"
1242
+ },
1243
+ {
1244
+ "inputs": [],
1245
+ "name": "owner",
1246
+ "outputs": [
1247
+ {
1248
+ "internalType": "address",
1249
+ "name": "",
1250
+ "type": "address"
1251
+ }
1252
+ ],
1253
+ "stateMutability": "view",
1254
+ "type": "function"
1255
+ },
1256
+ {
1257
+ "inputs": [],
1258
+ "name": "pause",
1259
+ "outputs": [],
1260
+ "stateMutability": "nonpayable",
1261
+ "type": "function"
1262
+ },
1263
+ {
1264
+ "inputs": [],
1265
+ "name": "paused",
1266
+ "outputs": [
1267
+ {
1268
+ "internalType": "bool",
1269
+ "name": "",
1270
+ "type": "bool"
1271
+ }
1272
+ ],
1273
+ "stateMutability": "view",
1274
+ "type": "function"
1275
+ },
1276
+ {
1277
+ "inputs": [
1278
+ {
1279
+ "internalType": "uint256",
1280
+ "name": "assets",
1281
+ "type": "uint256"
1282
+ }
1283
+ ],
1284
+ "name": "previewDeposit",
1285
+ "outputs": [
1286
+ {
1287
+ "internalType": "uint256",
1288
+ "name": "shares",
1289
+ "type": "uint256"
1290
+ }
1291
+ ],
1292
+ "stateMutability": "view",
1293
+ "type": "function"
1294
+ },
1295
+ {
1296
+ "inputs": [
1297
+ {
1298
+ "internalType": "uint256",
1299
+ "name": "shares",
1300
+ "type": "uint256"
1301
+ }
1302
+ ],
1303
+ "name": "previewRedeem",
1304
+ "outputs": [
1305
+ {
1306
+ "internalType": "uint256",
1307
+ "name": "assets",
1308
+ "type": "uint256"
1309
+ }
1310
+ ],
1311
+ "stateMutability": "view",
1312
+ "type": "function"
1313
+ },
1314
+ {
1315
+ "inputs": [],
1316
+ "name": "registerLidoWithdrawalRequests",
1317
+ "outputs": [],
1318
+ "stateMutability": "nonpayable",
1319
+ "type": "function"
1320
+ },
1321
+ {
1322
+ "inputs": [
1323
+ {
1324
+ "internalType": "address",
1325
+ "name": "_market",
1326
+ "type": "address"
1327
+ }
1328
+ ],
1329
+ "name": "removeMarket",
1330
+ "outputs": [],
1331
+ "stateMutability": "nonpayable",
1332
+ "type": "function"
1333
+ },
1334
+ {
1335
+ "inputs": [
1336
+ {
1337
+ "internalType": "uint256[]",
1338
+ "name": "amounts",
1339
+ "type": "uint256[]"
1340
+ }
1341
+ ],
1342
+ "name": "requestLidoWithdrawals",
1343
+ "outputs": [
1344
+ {
1345
+ "internalType": "uint256[]",
1346
+ "name": "requestIds",
1347
+ "type": "uint256[]"
1348
+ }
1349
+ ],
1350
+ "stateMutability": "nonpayable",
1351
+ "type": "function"
1352
+ },
1353
+ {
1354
+ "inputs": [
1355
+ {
1356
+ "internalType": "uint256",
1357
+ "name": "shares",
1358
+ "type": "uint256"
1359
+ }
1360
+ ],
1361
+ "name": "requestRedeem",
1362
+ "outputs": [
1363
+ {
1364
+ "internalType": "uint256",
1365
+ "name": "requestId",
1366
+ "type": "uint256"
1367
+ },
1368
+ {
1369
+ "internalType": "uint256",
1370
+ "name": "assets",
1371
+ "type": "uint256"
1372
+ }
1373
+ ],
1374
+ "stateMutability": "nonpayable",
1375
+ "type": "function"
1376
+ },
1377
+ {
1378
+ "inputs": [
1379
+ {
1380
+ "internalType": "uint256",
1381
+ "name": "_armBuffer",
1382
+ "type": "uint256"
1383
+ }
1384
+ ],
1385
+ "name": "setARMBuffer",
1386
+ "outputs": [],
1387
+ "stateMutability": "nonpayable",
1388
+ "type": "function"
1389
+ },
1390
+ {
1391
+ "inputs": [
1392
+ {
1393
+ "internalType": "address",
1394
+ "name": "_market",
1395
+ "type": "address"
1396
+ }
1397
+ ],
1398
+ "name": "setActiveMarket",
1399
+ "outputs": [],
1400
+ "stateMutability": "nonpayable",
1401
+ "type": "function"
1402
+ },
1403
+ {
1404
+ "inputs": [
1405
+ {
1406
+ "internalType": "address",
1407
+ "name": "_capManager",
1408
+ "type": "address"
1409
+ }
1410
+ ],
1411
+ "name": "setCapManager",
1412
+ "outputs": [],
1413
+ "stateMutability": "nonpayable",
1414
+ "type": "function"
1415
+ },
1416
+ {
1417
+ "inputs": [
1418
+ {
1419
+ "internalType": "uint256",
1420
+ "name": "newCrossPrice",
1421
+ "type": "uint256"
1422
+ }
1423
+ ],
1424
+ "name": "setCrossPrice",
1425
+ "outputs": [],
1426
+ "stateMutability": "nonpayable",
1427
+ "type": "function"
1428
+ },
1429
+ {
1430
+ "inputs": [
1431
+ {
1432
+ "internalType": "uint256",
1433
+ "name": "_fee",
1434
+ "type": "uint256"
1435
+ }
1436
+ ],
1437
+ "name": "setFee",
1438
+ "outputs": [],
1439
+ "stateMutability": "nonpayable",
1440
+ "type": "function"
1441
+ },
1442
+ {
1443
+ "inputs": [
1444
+ {
1445
+ "internalType": "address",
1446
+ "name": "_feeCollector",
1447
+ "type": "address"
1448
+ }
1449
+ ],
1450
+ "name": "setFeeCollector",
1451
+ "outputs": [],
1452
+ "stateMutability": "nonpayable",
1453
+ "type": "function"
1454
+ },
1455
+ {
1456
+ "inputs": [
1457
+ {
1458
+ "internalType": "address",
1459
+ "name": "newOperator",
1460
+ "type": "address"
1461
+ }
1462
+ ],
1463
+ "name": "setOperator",
1464
+ "outputs": [],
1465
+ "stateMutability": "nonpayable",
1466
+ "type": "function"
1467
+ },
1468
+ {
1469
+ "inputs": [
1470
+ {
1471
+ "internalType": "address",
1472
+ "name": "newOwner",
1473
+ "type": "address"
1474
+ }
1475
+ ],
1476
+ "name": "setOwner",
1477
+ "outputs": [],
1478
+ "stateMutability": "nonpayable",
1479
+ "type": "function"
1480
+ },
1481
+ {
1482
+ "inputs": [
1483
+ {
1484
+ "internalType": "uint256",
1485
+ "name": "buyT1",
1486
+ "type": "uint256"
1487
+ },
1488
+ {
1489
+ "internalType": "uint256",
1490
+ "name": "sellT1",
1491
+ "type": "uint256"
1492
+ }
1493
+ ],
1494
+ "name": "setPrices",
1495
+ "outputs": [],
1496
+ "stateMutability": "nonpayable",
1497
+ "type": "function"
1498
+ },
1499
+ {
1500
+ "inputs": [],
1501
+ "name": "steth",
1502
+ "outputs": [
1503
+ {
1504
+ "internalType": "contract IERC20",
1505
+ "name": "",
1506
+ "type": "address"
1507
+ }
1508
+ ],
1509
+ "stateMutability": "view",
1510
+ "type": "function"
1511
+ },
1512
+ {
1513
+ "inputs": [
1514
+ {
1515
+ "internalType": "address",
1516
+ "name": "market",
1517
+ "type": "address"
1518
+ }
1519
+ ],
1520
+ "name": "supportedMarkets",
1521
+ "outputs": [
1522
+ {
1523
+ "internalType": "bool",
1524
+ "name": "supported",
1525
+ "type": "bool"
1526
+ }
1527
+ ],
1528
+ "stateMutability": "view",
1529
+ "type": "function"
1530
+ },
1531
+ {
1532
+ "inputs": [
1533
+ {
1534
+ "internalType": "uint256",
1535
+ "name": "amountIn",
1536
+ "type": "uint256"
1537
+ },
1538
+ {
1539
+ "internalType": "uint256",
1540
+ "name": "amountOutMin",
1541
+ "type": "uint256"
1542
+ },
1543
+ {
1544
+ "internalType": "address[]",
1545
+ "name": "path",
1546
+ "type": "address[]"
1547
+ },
1548
+ {
1549
+ "internalType": "address",
1550
+ "name": "to",
1551
+ "type": "address"
1552
+ },
1553
+ {
1554
+ "internalType": "uint256",
1555
+ "name": "deadline",
1556
+ "type": "uint256"
1557
+ }
1558
+ ],
1559
+ "name": "swapExactTokensForTokens",
1560
+ "outputs": [
1561
+ {
1562
+ "internalType": "uint256[]",
1563
+ "name": "amounts",
1564
+ "type": "uint256[]"
1565
+ }
1566
+ ],
1567
+ "stateMutability": "nonpayable",
1568
+ "type": "function"
1569
+ },
1570
+ {
1571
+ "inputs": [
1572
+ {
1573
+ "internalType": "contract IERC20",
1574
+ "name": "inToken",
1575
+ "type": "address"
1576
+ },
1577
+ {
1578
+ "internalType": "contract IERC20",
1579
+ "name": "outToken",
1580
+ "type": "address"
1581
+ },
1582
+ {
1583
+ "internalType": "uint256",
1584
+ "name": "amountIn",
1585
+ "type": "uint256"
1586
+ },
1587
+ {
1588
+ "internalType": "uint256",
1589
+ "name": "amountOutMin",
1590
+ "type": "uint256"
1591
+ },
1592
+ {
1593
+ "internalType": "address",
1594
+ "name": "to",
1595
+ "type": "address"
1596
+ }
1597
+ ],
1598
+ "name": "swapExactTokensForTokens",
1599
+ "outputs": [
1600
+ {
1601
+ "internalType": "uint256[]",
1602
+ "name": "amounts",
1603
+ "type": "uint256[]"
1604
+ }
1605
+ ],
1606
+ "stateMutability": "nonpayable",
1607
+ "type": "function"
1608
+ },
1609
+ {
1610
+ "inputs": [
1611
+ {
1612
+ "internalType": "uint256",
1613
+ "name": "amountOut",
1614
+ "type": "uint256"
1615
+ },
1616
+ {
1617
+ "internalType": "uint256",
1618
+ "name": "amountInMax",
1619
+ "type": "uint256"
1620
+ },
1621
+ {
1622
+ "internalType": "address[]",
1623
+ "name": "path",
1624
+ "type": "address[]"
1625
+ },
1626
+ {
1627
+ "internalType": "address",
1628
+ "name": "to",
1629
+ "type": "address"
1630
+ },
1631
+ {
1632
+ "internalType": "uint256",
1633
+ "name": "deadline",
1634
+ "type": "uint256"
1635
+ }
1636
+ ],
1637
+ "name": "swapTokensForExactTokens",
1638
+ "outputs": [
1639
+ {
1640
+ "internalType": "uint256[]",
1641
+ "name": "amounts",
1642
+ "type": "uint256[]"
1643
+ }
1644
+ ],
1645
+ "stateMutability": "nonpayable",
1646
+ "type": "function"
1647
+ },
1648
+ {
1649
+ "inputs": [
1650
+ {
1651
+ "internalType": "contract IERC20",
1652
+ "name": "inToken",
1653
+ "type": "address"
1654
+ },
1655
+ {
1656
+ "internalType": "contract IERC20",
1657
+ "name": "outToken",
1658
+ "type": "address"
1659
+ },
1660
+ {
1661
+ "internalType": "uint256",
1662
+ "name": "amountOut",
1663
+ "type": "uint256"
1664
+ },
1665
+ {
1666
+ "internalType": "uint256",
1667
+ "name": "amountInMax",
1668
+ "type": "uint256"
1669
+ },
1670
+ {
1671
+ "internalType": "address",
1672
+ "name": "to",
1673
+ "type": "address"
1674
+ }
1675
+ ],
1676
+ "name": "swapTokensForExactTokens",
1677
+ "outputs": [
1678
+ {
1679
+ "internalType": "uint256[]",
1680
+ "name": "amounts",
1681
+ "type": "uint256[]"
1682
+ }
1683
+ ],
1684
+ "stateMutability": "nonpayable",
1685
+ "type": "function"
1686
+ },
1687
+ {
1688
+ "inputs": [],
1689
+ "name": "symbol",
1690
+ "outputs": [
1691
+ {
1692
+ "internalType": "string",
1693
+ "name": "",
1694
+ "type": "string"
1695
+ }
1696
+ ],
1697
+ "stateMutability": "view",
1698
+ "type": "function"
1699
+ },
1700
+ {
1701
+ "inputs": [],
1702
+ "name": "token0",
1703
+ "outputs": [
1704
+ {
1705
+ "internalType": "contract IERC20",
1706
+ "name": "",
1707
+ "type": "address"
1708
+ }
1709
+ ],
1710
+ "stateMutability": "view",
1711
+ "type": "function"
1712
+ },
1713
+ {
1714
+ "inputs": [],
1715
+ "name": "token1",
1716
+ "outputs": [
1717
+ {
1718
+ "internalType": "contract IERC20",
1719
+ "name": "",
1720
+ "type": "address"
1721
+ }
1722
+ ],
1723
+ "stateMutability": "view",
1724
+ "type": "function"
1725
+ },
1726
+ {
1727
+ "inputs": [],
1728
+ "name": "totalAssets",
1729
+ "outputs": [
1730
+ {
1731
+ "internalType": "uint256",
1732
+ "name": "",
1733
+ "type": "uint256"
1734
+ }
1735
+ ],
1736
+ "stateMutability": "view",
1737
+ "type": "function"
1738
+ },
1739
+ {
1740
+ "inputs": [],
1741
+ "name": "totalSupply",
1742
+ "outputs": [
1743
+ {
1744
+ "internalType": "uint256",
1745
+ "name": "",
1746
+ "type": "uint256"
1747
+ }
1748
+ ],
1749
+ "stateMutability": "view",
1750
+ "type": "function"
1751
+ },
1752
+ {
1753
+ "inputs": [],
1754
+ "name": "traderate0",
1755
+ "outputs": [
1756
+ {
1757
+ "internalType": "uint256",
1758
+ "name": "",
1759
+ "type": "uint256"
1760
+ }
1761
+ ],
1762
+ "stateMutability": "view",
1763
+ "type": "function"
1764
+ },
1765
+ {
1766
+ "inputs": [],
1767
+ "name": "traderate1",
1768
+ "outputs": [
1769
+ {
1770
+ "internalType": "uint256",
1771
+ "name": "",
1772
+ "type": "uint256"
1773
+ }
1774
+ ],
1775
+ "stateMutability": "view",
1776
+ "type": "function"
1777
+ },
1778
+ {
1779
+ "inputs": [
1780
+ {
1781
+ "internalType": "address",
1782
+ "name": "to",
1783
+ "type": "address"
1784
+ },
1785
+ {
1786
+ "internalType": "uint256",
1787
+ "name": "value",
1788
+ "type": "uint256"
1789
+ }
1790
+ ],
1791
+ "name": "transfer",
1792
+ "outputs": [
1793
+ {
1794
+ "internalType": "bool",
1795
+ "name": "",
1796
+ "type": "bool"
1797
+ }
1798
+ ],
1799
+ "stateMutability": "nonpayable",
1800
+ "type": "function"
1801
+ },
1802
+ {
1803
+ "inputs": [
1804
+ {
1805
+ "internalType": "address",
1806
+ "name": "from",
1807
+ "type": "address"
1808
+ },
1809
+ {
1810
+ "internalType": "address",
1811
+ "name": "to",
1812
+ "type": "address"
1813
+ },
1814
+ {
1815
+ "internalType": "uint256",
1816
+ "name": "value",
1817
+ "type": "uint256"
1818
+ }
1819
+ ],
1820
+ "name": "transferFrom",
1821
+ "outputs": [
1822
+ {
1823
+ "internalType": "bool",
1824
+ "name": "",
1825
+ "type": "bool"
1826
+ }
1827
+ ],
1828
+ "stateMutability": "nonpayable",
1829
+ "type": "function"
1830
+ },
1831
+ {
1832
+ "inputs": [],
1833
+ "name": "unpause",
1834
+ "outputs": [],
1835
+ "stateMutability": "nonpayable",
1836
+ "type": "function"
1837
+ },
1838
+ {
1839
+ "inputs": [],
1840
+ "name": "weth",
1841
+ "outputs": [
1842
+ {
1843
+ "internalType": "contract IWETH",
1844
+ "name": "",
1845
+ "type": "address"
1846
+ }
1847
+ ],
1848
+ "stateMutability": "view",
1849
+ "type": "function"
1850
+ },
1851
+ {
1852
+ "inputs": [
1853
+ {
1854
+ "internalType": "uint256",
1855
+ "name": "requestId",
1856
+ "type": "uint256"
1857
+ }
1858
+ ],
1859
+ "name": "withdrawalRequests",
1860
+ "outputs": [
1861
+ {
1862
+ "internalType": "address",
1863
+ "name": "withdrawer",
1864
+ "type": "address"
1865
+ },
1866
+ {
1867
+ "internalType": "bool",
1868
+ "name": "claimed",
1869
+ "type": "bool"
1870
+ },
1871
+ {
1872
+ "internalType": "uint40",
1873
+ "name": "claimTimestamp",
1874
+ "type": "uint40"
1875
+ },
1876
+ {
1877
+ "internalType": "uint128",
1878
+ "name": "assets",
1879
+ "type": "uint128"
1880
+ },
1881
+ {
1882
+ "internalType": "uint128",
1883
+ "name": "queued",
1884
+ "type": "uint128"
1885
+ },
1886
+ {
1887
+ "internalType": "uint128",
1888
+ "name": "shares",
1889
+ "type": "uint128"
1890
+ }
1891
+ ],
1892
+ "stateMutability": "view",
1893
+ "type": "function"
1894
+ },
1895
+ {
1896
+ "inputs": [],
1897
+ "name": "withdrawsClaimed",
1898
+ "outputs": [
1899
+ {
1900
+ "internalType": "uint128",
1901
+ "name": "",
1902
+ "type": "uint128"
1903
+ }
1904
+ ],
1905
+ "stateMutability": "view",
1906
+ "type": "function"
1907
+ },
1908
+ {
1909
+ "inputs": [],
1910
+ "name": "withdrawsQueued",
1911
+ "outputs": [
1912
+ {
1913
+ "internalType": "uint128",
1914
+ "name": "",
1915
+ "type": "uint128"
1916
+ }
1917
+ ],
1918
+ "stateMutability": "view",
1919
+ "type": "function"
1920
+ },
1921
+ {
1922
+ "stateMutability": "payable",
1923
+ "type": "receive"
1924
+ }
1925
+ ] as const satisfies Abi;
1926
+
1927
+ /**
1928
+ * Type-safe ABI for LidoARM_json
1929
+ */
1930
+ export type LidoARM_jsonAbi = typeof LidoARM_jsonAbi;
1931
+
1932
+ /**
1933
+ * Contract instance type for LidoARM_json
1934
+ */
1935
+ // Use any for contract type to avoid complex viem type issues
1936
+ // The runtime behavior is type-safe through viem's ABI typing
1937
+ export type LidoARM_jsonContract = any;
1938
+
1939
+ /**
1940
+ * LidoARM_json Contract Class
1941
+ *
1942
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
1943
+ *
1944
+ * @example
1945
+ * ```typescript
1946
+ * import { createPublicClient, createWalletClient, http } from 'viem';
1947
+ * import { mainnet } from 'viem/chains';
1948
+ * import { LidoARM_json } from 'LidoARM_json';
1949
+ *
1950
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
1951
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
1952
+ *
1953
+ * const contract = new LidoARM_json('0x...', { publicClient, walletClient });
1954
+ *
1955
+ * // Read functions
1956
+ * const result = await contract.balanceOf('0x...');
1957
+ *
1958
+ * // Write functions
1959
+ * const hash = await contract.transfer('0x...', 1000n);
1960
+ *
1961
+ * // Simulate transactions (dry-run)
1962
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
1963
+ * console.log('Gas estimate:', simulation.request.gas);
1964
+ *
1965
+ * // Watch events
1966
+ * const unwatch = contract.watch.Transfer((event) => {
1967
+ * console.log('Transfer event:', event);
1968
+ * });
1969
+ * ```
1970
+ */
1971
+ export class LidoARM_json {
1972
+ private contract: LidoARM_jsonContract;
1973
+ private contractAddress: Address;
1974
+ private publicClient: PublicClient;
1975
+
1976
+ constructor(
1977
+ address: Address,
1978
+ clients: {
1979
+ publicClient: PublicClient;
1980
+ walletClient?: WalletClient;
1981
+ }
1982
+ ) {
1983
+ this.contractAddress = address;
1984
+ this.publicClient = clients.publicClient;
1985
+ this.contract = getContract({
1986
+ address,
1987
+ abi: LidoARM_jsonAbi,
1988
+ client: {
1989
+ public: clients.publicClient,
1990
+ wallet: clients.walletClient,
1991
+ },
1992
+ });
1993
+ }
1994
+
1995
+ /**
1996
+ * Get the contract address
1997
+ */
1998
+ get address(): Address {
1999
+ return this.contractAddress;
2000
+ }
2001
+
2002
+ /**
2003
+ * Get the underlying viem contract instance
2004
+ */
2005
+ getContract(): LidoARM_jsonContract {
2006
+ return this.contract;
2007
+ }
2008
+
2009
+ /**
2010
+ * FEE_SCALE
2011
+ * view
2012
+ */
2013
+ async FEE_SCALE(): Promise<bigint> {
2014
+ return this.contract.read.FEE_SCALE() as Promise<bigint>;
2015
+ }
2016
+
2017
+ /**
2018
+ * MAX_CROSS_PRICE_DEVIATION
2019
+ * view
2020
+ */
2021
+ async MAX_CROSS_PRICE_DEVIATION(): Promise<bigint> {
2022
+ return this.contract.read.MAX_CROSS_PRICE_DEVIATION() as Promise<bigint>;
2023
+ }
2024
+
2025
+ /**
2026
+ * PRICE_SCALE
2027
+ * view
2028
+ */
2029
+ async PRICE_SCALE(): Promise<bigint> {
2030
+ return this.contract.read.PRICE_SCALE() as Promise<bigint>;
2031
+ }
2032
+
2033
+ /**
2034
+ * activeMarket
2035
+ * view
2036
+ */
2037
+ async activeMarket(): Promise<`0x${string}`> {
2038
+ return this.contract.read.activeMarket() as Promise<`0x${string}`>;
2039
+ }
2040
+
2041
+ /**
2042
+ * allocateThreshold
2043
+ * view
2044
+ */
2045
+ async allocateThreshold(): Promise<bigint> {
2046
+ return this.contract.read.allocateThreshold() as Promise<bigint>;
2047
+ }
2048
+
2049
+ /**
2050
+ * allowance
2051
+ * view
2052
+ */
2053
+ async allowance(owner: `0x${string}`, spender: `0x${string}`): Promise<bigint> {
2054
+ return this.contract.read.allowance([owner, spender] as const) as Promise<bigint>;
2055
+ }
2056
+
2057
+ /**
2058
+ * armBuffer
2059
+ * view
2060
+ */
2061
+ async armBuffer(): Promise<bigint> {
2062
+ return this.contract.read.armBuffer() as Promise<bigint>;
2063
+ }
2064
+
2065
+ /**
2066
+ * asset
2067
+ * view
2068
+ */
2069
+ async asset(): Promise<`0x${string}`> {
2070
+ return this.contract.read.asset() as Promise<`0x${string}`>;
2071
+ }
2072
+
2073
+ /**
2074
+ * balanceOf
2075
+ * view
2076
+ */
2077
+ async balanceOf(account: `0x${string}`): Promise<bigint> {
2078
+ return this.contract.read.balanceOf([account] as const) as Promise<bigint>;
2079
+ }
2080
+
2081
+ /**
2082
+ * baseAsset
2083
+ * view
2084
+ */
2085
+ async baseAsset(): Promise<`0x${string}`> {
2086
+ return this.contract.read.baseAsset() as Promise<`0x${string}`>;
2087
+ }
2088
+
2089
+ /**
2090
+ * capManager
2091
+ * view
2092
+ */
2093
+ async capManager(): Promise<`0x${string}`> {
2094
+ return this.contract.read.capManager() as Promise<`0x${string}`>;
2095
+ }
2096
+
2097
+ /**
2098
+ * claimDelay
2099
+ * view
2100
+ */
2101
+ async claimDelay(): Promise<bigint> {
2102
+ return this.contract.read.claimDelay() as Promise<bigint>;
2103
+ }
2104
+
2105
+ /**
2106
+ * claimable
2107
+ * view
2108
+ */
2109
+ async claimable(): Promise<bigint> {
2110
+ return this.contract.read.claimable() as Promise<bigint>;
2111
+ }
2112
+
2113
+ /**
2114
+ * convertToAssets
2115
+ * view
2116
+ */
2117
+ async convertToAssets(shares: bigint): Promise<bigint> {
2118
+ return this.contract.read.convertToAssets([shares] as const) as Promise<bigint>;
2119
+ }
2120
+
2121
+ /**
2122
+ * convertToShares
2123
+ * view
2124
+ */
2125
+ async convertToShares(assets: bigint): Promise<bigint> {
2126
+ return this.contract.read.convertToShares([assets] as const) as Promise<bigint>;
2127
+ }
2128
+
2129
+ /**
2130
+ * crossPrice
2131
+ * view
2132
+ */
2133
+ async crossPrice(): Promise<bigint> {
2134
+ return this.contract.read.crossPrice() as Promise<bigint>;
2135
+ }
2136
+
2137
+ /**
2138
+ * decimals
2139
+ * view
2140
+ */
2141
+ async decimals(): Promise<bigint> {
2142
+ return this.contract.read.decimals() as Promise<bigint>;
2143
+ }
2144
+
2145
+ /**
2146
+ * fee
2147
+ * view
2148
+ */
2149
+ async fee(): Promise<bigint> {
2150
+ return this.contract.read.fee() as Promise<bigint>;
2151
+ }
2152
+
2153
+ /**
2154
+ * feeCollector
2155
+ * view
2156
+ */
2157
+ async feeCollector(): Promise<`0x${string}`> {
2158
+ return this.contract.read.feeCollector() as Promise<`0x${string}`>;
2159
+ }
2160
+
2161
+ /**
2162
+ * feesAccrued
2163
+ * view
2164
+ */
2165
+ async feesAccrued(): Promise<bigint> {
2166
+ return this.contract.read.feesAccrued() as Promise<bigint>;
2167
+ }
2168
+
2169
+ /**
2170
+ * getReserves
2171
+ * view
2172
+ */
2173
+ async getReserves(): Promise<[bigint, bigint]> {
2174
+ return this.contract.read.getReserves() as Promise<[bigint, bigint]>;
2175
+ }
2176
+
2177
+ /**
2178
+ * lastAvailableAssets
2179
+ * view
2180
+ */
2181
+ async lastAvailableAssets(): Promise<bigint> {
2182
+ return this.contract.read.lastAvailableAssets() as Promise<bigint>;
2183
+ }
2184
+
2185
+ /**
2186
+ * lidoWithdrawalQueue
2187
+ * view
2188
+ */
2189
+ async lidoWithdrawalQueue(): Promise<`0x${string}`> {
2190
+ return this.contract.read.lidoWithdrawalQueue() as Promise<`0x${string}`>;
2191
+ }
2192
+
2193
+ /**
2194
+ * lidoWithdrawalQueueAmount
2195
+ * view
2196
+ */
2197
+ async lidoWithdrawalQueueAmount(): Promise<bigint> {
2198
+ return this.contract.read.lidoWithdrawalQueueAmount() as Promise<bigint>;
2199
+ }
2200
+
2201
+ /**
2202
+ * lidoWithdrawalRequests
2203
+ * view
2204
+ */
2205
+ async lidoWithdrawalRequests(id: bigint): Promise<bigint> {
2206
+ return this.contract.read.lidoWithdrawalRequests([id] as const) as Promise<bigint>;
2207
+ }
2208
+
2209
+ /**
2210
+ * liquidityAsset
2211
+ * view
2212
+ */
2213
+ async liquidityAsset(): Promise<`0x${string}`> {
2214
+ return this.contract.read.liquidityAsset() as Promise<`0x${string}`>;
2215
+ }
2216
+
2217
+ /**
2218
+ * minSharesToRedeem
2219
+ * view
2220
+ */
2221
+ async minSharesToRedeem(): Promise<bigint> {
2222
+ return this.contract.read.minSharesToRedeem() as Promise<bigint>;
2223
+ }
2224
+
2225
+ /**
2226
+ * name
2227
+ * view
2228
+ */
2229
+ async name(): Promise<string> {
2230
+ return this.contract.read.name() as Promise<string>;
2231
+ }
2232
+
2233
+ /**
2234
+ * nextWithdrawalIndex
2235
+ * view
2236
+ */
2237
+ async nextWithdrawalIndex(): Promise<bigint> {
2238
+ return this.contract.read.nextWithdrawalIndex() as Promise<bigint>;
2239
+ }
2240
+
2241
+ /**
2242
+ * operator
2243
+ * view
2244
+ */
2245
+ async operator(): Promise<`0x${string}`> {
2246
+ return this.contract.read.operator() as Promise<`0x${string}`>;
2247
+ }
2248
+
2249
+ /**
2250
+ * owner
2251
+ * view
2252
+ */
2253
+ async owner(): Promise<`0x${string}`> {
2254
+ return this.contract.read.owner() as Promise<`0x${string}`>;
2255
+ }
2256
+
2257
+ /**
2258
+ * paused
2259
+ * view
2260
+ */
2261
+ async paused(): Promise<boolean> {
2262
+ return this.contract.read.paused() as Promise<boolean>;
2263
+ }
2264
+
2265
+ /**
2266
+ * previewDeposit
2267
+ * view
2268
+ */
2269
+ async previewDeposit(assets: bigint): Promise<bigint> {
2270
+ return this.contract.read.previewDeposit([assets] as const) as Promise<bigint>;
2271
+ }
2272
+
2273
+ /**
2274
+ * previewRedeem
2275
+ * view
2276
+ */
2277
+ async previewRedeem(shares: bigint): Promise<bigint> {
2278
+ return this.contract.read.previewRedeem([shares] as const) as Promise<bigint>;
2279
+ }
2280
+
2281
+ /**
2282
+ * steth
2283
+ * view
2284
+ */
2285
+ async steth(): Promise<`0x${string}`> {
2286
+ return this.contract.read.steth() as Promise<`0x${string}`>;
2287
+ }
2288
+
2289
+ /**
2290
+ * supportedMarkets
2291
+ * view
2292
+ */
2293
+ async supportedMarkets(market: `0x${string}`): Promise<boolean> {
2294
+ return this.contract.read.supportedMarkets([market] as const) as Promise<boolean>;
2295
+ }
2296
+
2297
+ /**
2298
+ * symbol
2299
+ * view
2300
+ */
2301
+ async symbol(): Promise<string> {
2302
+ return this.contract.read.symbol() as Promise<string>;
2303
+ }
2304
+
2305
+ /**
2306
+ * token0
2307
+ * view
2308
+ */
2309
+ async token0(): Promise<`0x${string}`> {
2310
+ return this.contract.read.token0() as Promise<`0x${string}`>;
2311
+ }
2312
+
2313
+ /**
2314
+ * token1
2315
+ * view
2316
+ */
2317
+ async token1(): Promise<`0x${string}`> {
2318
+ return this.contract.read.token1() as Promise<`0x${string}`>;
2319
+ }
2320
+
2321
+ /**
2322
+ * totalAssets
2323
+ * view
2324
+ */
2325
+ async totalAssets(): Promise<bigint> {
2326
+ return this.contract.read.totalAssets() as Promise<bigint>;
2327
+ }
2328
+
2329
+ /**
2330
+ * totalSupply
2331
+ * view
2332
+ */
2333
+ async totalSupply(): Promise<bigint> {
2334
+ return this.contract.read.totalSupply() as Promise<bigint>;
2335
+ }
2336
+
2337
+ /**
2338
+ * traderate0
2339
+ * view
2340
+ */
2341
+ async traderate0(): Promise<bigint> {
2342
+ return this.contract.read.traderate0() as Promise<bigint>;
2343
+ }
2344
+
2345
+ /**
2346
+ * traderate1
2347
+ * view
2348
+ */
2349
+ async traderate1(): Promise<bigint> {
2350
+ return this.contract.read.traderate1() as Promise<bigint>;
2351
+ }
2352
+
2353
+ /**
2354
+ * weth
2355
+ * view
2356
+ */
2357
+ async weth(): Promise<`0x${string}`> {
2358
+ return this.contract.read.weth() as Promise<`0x${string}`>;
2359
+ }
2360
+
2361
+ /**
2362
+ * withdrawalRequests
2363
+ * view
2364
+ */
2365
+ async withdrawalRequests(requestId: bigint): Promise<[`0x${string}`, boolean, bigint, bigint, bigint, bigint]> {
2366
+ return this.contract.read.withdrawalRequests([requestId] as const) as Promise<[`0x${string}`, boolean, bigint, bigint, bigint, bigint]>;
2367
+ }
2368
+
2369
+ /**
2370
+ * withdrawsClaimed
2371
+ * view
2372
+ */
2373
+ async withdrawsClaimed(): Promise<bigint> {
2374
+ return this.contract.read.withdrawsClaimed() as Promise<bigint>;
2375
+ }
2376
+
2377
+ /**
2378
+ * withdrawsQueued
2379
+ * view
2380
+ */
2381
+ async withdrawsQueued(): Promise<bigint> {
2382
+ return this.contract.read.withdrawsQueued() as Promise<bigint>;
2383
+ }
2384
+
2385
+ /**
2386
+ * addMarkets
2387
+ * nonpayable
2388
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2389
+ */
2390
+ async addMarkets(_markets: `0x${string}`[], options?: {
2391
+ accessList?: import('viem').AccessList;
2392
+ authorizationList?: import('viem').AuthorizationList;
2393
+ chain?: import('viem').Chain | null;
2394
+ dataSuffix?: `0x${string}`;
2395
+ gas?: bigint;
2396
+ gasPrice?: bigint;
2397
+ maxFeePerGas?: bigint;
2398
+ maxPriorityFeePerGas?: bigint;
2399
+ nonce?: number;
2400
+ value?: bigint;
2401
+ }): Promise<`0x${string}`> {
2402
+ if (!this.contract.write) {
2403
+ throw new Error('Wallet client is required for write operations');
2404
+ }
2405
+ return this.contract.write.addMarkets([_markets] as const, options) as Promise<`0x${string}`>;
2406
+ }
2407
+
2408
+ /**
2409
+ * allocate
2410
+ * nonpayable
2411
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2412
+ */
2413
+ async allocate(options?: {
2414
+ accessList?: import('viem').AccessList;
2415
+ authorizationList?: import('viem').AuthorizationList;
2416
+ chain?: import('viem').Chain | null;
2417
+ dataSuffix?: `0x${string}`;
2418
+ gas?: bigint;
2419
+ gasPrice?: bigint;
2420
+ maxFeePerGas?: bigint;
2421
+ maxPriorityFeePerGas?: bigint;
2422
+ nonce?: number;
2423
+ value?: bigint;
2424
+ }): Promise<`0x${string}`> {
2425
+ if (!this.contract.write) {
2426
+ throw new Error('Wallet client is required for write operations');
2427
+ }
2428
+ return this.contract.write.allocate(options) as Promise<`0x${string}`>;
2429
+ }
2430
+
2431
+ /**
2432
+ * approve
2433
+ * nonpayable
2434
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2435
+ */
2436
+ async approve(spender: `0x${string}`, value: bigint, options?: {
2437
+ accessList?: import('viem').AccessList;
2438
+ authorizationList?: import('viem').AuthorizationList;
2439
+ chain?: import('viem').Chain | null;
2440
+ dataSuffix?: `0x${string}`;
2441
+ gas?: bigint;
2442
+ gasPrice?: bigint;
2443
+ maxFeePerGas?: bigint;
2444
+ maxPriorityFeePerGas?: bigint;
2445
+ nonce?: number;
2446
+ value?: bigint;
2447
+ }): Promise<`0x${string}`> {
2448
+ if (!this.contract.write) {
2449
+ throw new Error('Wallet client is required for write operations');
2450
+ }
2451
+ return this.contract.write.approve([spender, value] as const, options) as Promise<`0x${string}`>;
2452
+ }
2453
+
2454
+ /**
2455
+ * claimLidoWithdrawals
2456
+ * nonpayable
2457
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2458
+ */
2459
+ async claimLidoWithdrawals(requestIds: bigint[], hintIds: bigint[], options?: {
2460
+ accessList?: import('viem').AccessList;
2461
+ authorizationList?: import('viem').AuthorizationList;
2462
+ chain?: import('viem').Chain | null;
2463
+ dataSuffix?: `0x${string}`;
2464
+ gas?: bigint;
2465
+ gasPrice?: bigint;
2466
+ maxFeePerGas?: bigint;
2467
+ maxPriorityFeePerGas?: bigint;
2468
+ nonce?: number;
2469
+ value?: bigint;
2470
+ }): Promise<`0x${string}`> {
2471
+ if (!this.contract.write) {
2472
+ throw new Error('Wallet client is required for write operations');
2473
+ }
2474
+ return this.contract.write.claimLidoWithdrawals([requestIds, hintIds] as const, options) as Promise<`0x${string}`>;
2475
+ }
2476
+
2477
+ /**
2478
+ * claimRedeem
2479
+ * nonpayable
2480
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2481
+ */
2482
+ async claimRedeem(requestId: bigint, options?: {
2483
+ accessList?: import('viem').AccessList;
2484
+ authorizationList?: import('viem').AuthorizationList;
2485
+ chain?: import('viem').Chain | null;
2486
+ dataSuffix?: `0x${string}`;
2487
+ gas?: bigint;
2488
+ gasPrice?: bigint;
2489
+ maxFeePerGas?: bigint;
2490
+ maxPriorityFeePerGas?: bigint;
2491
+ nonce?: number;
2492
+ value?: bigint;
2493
+ }): Promise<`0x${string}`> {
2494
+ if (!this.contract.write) {
2495
+ throw new Error('Wallet client is required for write operations');
2496
+ }
2497
+ return this.contract.write.claimRedeem([requestId] as const, options) as Promise<`0x${string}`>;
2498
+ }
2499
+
2500
+ /**
2501
+ * collectFees
2502
+ * nonpayable
2503
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2504
+ */
2505
+ async collectFees(options?: {
2506
+ accessList?: import('viem').AccessList;
2507
+ authorizationList?: import('viem').AuthorizationList;
2508
+ chain?: import('viem').Chain | null;
2509
+ dataSuffix?: `0x${string}`;
2510
+ gas?: bigint;
2511
+ gasPrice?: bigint;
2512
+ maxFeePerGas?: bigint;
2513
+ maxPriorityFeePerGas?: bigint;
2514
+ nonce?: number;
2515
+ value?: bigint;
2516
+ }): Promise<`0x${string}`> {
2517
+ if (!this.contract.write) {
2518
+ throw new Error('Wallet client is required for write operations');
2519
+ }
2520
+ return this.contract.write.collectFees(options) as Promise<`0x${string}`>;
2521
+ }
2522
+
2523
+ async deposit(assets: bigint, receiver: `0x${string}`, options?: {
2524
+ accessList?: import('viem').AccessList;
2525
+ authorizationList?: import('viem').AuthorizationList;
2526
+ chain?: import('viem').Chain | null;
2527
+ dataSuffix?: `0x${string}`;
2528
+ gas?: bigint;
2529
+ gasPrice?: bigint;
2530
+ maxFeePerGas?: bigint;
2531
+ maxPriorityFeePerGas?: bigint;
2532
+ nonce?: number;
2533
+ value?: bigint;
2534
+ }): Promise<`0x${string}`>;
2535
+ async deposit(assets: bigint, options?: {
2536
+ accessList?: import('viem').AccessList;
2537
+ authorizationList?: import('viem').AuthorizationList;
2538
+ chain?: import('viem').Chain | null;
2539
+ dataSuffix?: `0x${string}`;
2540
+ gas?: bigint;
2541
+ gasPrice?: bigint;
2542
+ maxFeePerGas?: bigint;
2543
+ maxPriorityFeePerGas?: bigint;
2544
+ nonce?: number;
2545
+ value?: bigint;
2546
+ }): Promise<`0x${string}`>;
2547
+ async deposit(...args: any[]): Promise<`0x${string}`> {
2548
+ if (!this.contract.write) {
2549
+ throw new Error('Wallet client is required for write operations');
2550
+ }
2551
+ return this.contract.write.deposit(args as any) as Promise<`0x${string}`>;
2552
+ }
2553
+
2554
+ /**
2555
+ * initialize
2556
+ * nonpayable
2557
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2558
+ */
2559
+ async initialize(_name: string, _symbol: string, _operator: `0x${string}`, _fee: bigint, _feeCollector: `0x${string}`, _capManager: `0x${string}`, options?: {
2560
+ accessList?: import('viem').AccessList;
2561
+ authorizationList?: import('viem').AuthorizationList;
2562
+ chain?: import('viem').Chain | null;
2563
+ dataSuffix?: `0x${string}`;
2564
+ gas?: bigint;
2565
+ gasPrice?: bigint;
2566
+ maxFeePerGas?: bigint;
2567
+ maxPriorityFeePerGas?: bigint;
2568
+ nonce?: number;
2569
+ value?: bigint;
2570
+ }): Promise<`0x${string}`> {
2571
+ if (!this.contract.write) {
2572
+ throw new Error('Wallet client is required for write operations');
2573
+ }
2574
+ return this.contract.write.initialize([_name, _symbol, _operator, _fee, _feeCollector, _capManager] as const, options) as Promise<`0x${string}`>;
2575
+ }
2576
+
2577
+ /**
2578
+ * pause
2579
+ * nonpayable
2580
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2581
+ */
2582
+ async pause(options?: {
2583
+ accessList?: import('viem').AccessList;
2584
+ authorizationList?: import('viem').AuthorizationList;
2585
+ chain?: import('viem').Chain | null;
2586
+ dataSuffix?: `0x${string}`;
2587
+ gas?: bigint;
2588
+ gasPrice?: bigint;
2589
+ maxFeePerGas?: bigint;
2590
+ maxPriorityFeePerGas?: bigint;
2591
+ nonce?: number;
2592
+ value?: bigint;
2593
+ }): Promise<`0x${string}`> {
2594
+ if (!this.contract.write) {
2595
+ throw new Error('Wallet client is required for write operations');
2596
+ }
2597
+ return this.contract.write.pause(options) as Promise<`0x${string}`>;
2598
+ }
2599
+
2600
+ /**
2601
+ * registerLidoWithdrawalRequests
2602
+ * nonpayable
2603
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2604
+ */
2605
+ async registerLidoWithdrawalRequests(options?: {
2606
+ accessList?: import('viem').AccessList;
2607
+ authorizationList?: import('viem').AuthorizationList;
2608
+ chain?: import('viem').Chain | null;
2609
+ dataSuffix?: `0x${string}`;
2610
+ gas?: bigint;
2611
+ gasPrice?: bigint;
2612
+ maxFeePerGas?: bigint;
2613
+ maxPriorityFeePerGas?: bigint;
2614
+ nonce?: number;
2615
+ value?: bigint;
2616
+ }): Promise<`0x${string}`> {
2617
+ if (!this.contract.write) {
2618
+ throw new Error('Wallet client is required for write operations');
2619
+ }
2620
+ return this.contract.write.registerLidoWithdrawalRequests(options) as Promise<`0x${string}`>;
2621
+ }
2622
+
2623
+ /**
2624
+ * removeMarket
2625
+ * nonpayable
2626
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2627
+ */
2628
+ async removeMarket(_market: `0x${string}`, options?: {
2629
+ accessList?: import('viem').AccessList;
2630
+ authorizationList?: import('viem').AuthorizationList;
2631
+ chain?: import('viem').Chain | null;
2632
+ dataSuffix?: `0x${string}`;
2633
+ gas?: bigint;
2634
+ gasPrice?: bigint;
2635
+ maxFeePerGas?: bigint;
2636
+ maxPriorityFeePerGas?: bigint;
2637
+ nonce?: number;
2638
+ value?: bigint;
2639
+ }): Promise<`0x${string}`> {
2640
+ if (!this.contract.write) {
2641
+ throw new Error('Wallet client is required for write operations');
2642
+ }
2643
+ return this.contract.write.removeMarket([_market] as const, options) as Promise<`0x${string}`>;
2644
+ }
2645
+
2646
+ /**
2647
+ * requestLidoWithdrawals
2648
+ * nonpayable
2649
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2650
+ */
2651
+ async requestLidoWithdrawals(amounts: bigint[], options?: {
2652
+ accessList?: import('viem').AccessList;
2653
+ authorizationList?: import('viem').AuthorizationList;
2654
+ chain?: import('viem').Chain | null;
2655
+ dataSuffix?: `0x${string}`;
2656
+ gas?: bigint;
2657
+ gasPrice?: bigint;
2658
+ maxFeePerGas?: bigint;
2659
+ maxPriorityFeePerGas?: bigint;
2660
+ nonce?: number;
2661
+ value?: bigint;
2662
+ }): Promise<`0x${string}`> {
2663
+ if (!this.contract.write) {
2664
+ throw new Error('Wallet client is required for write operations');
2665
+ }
2666
+ return this.contract.write.requestLidoWithdrawals([amounts] as const, options) as Promise<`0x${string}`>;
2667
+ }
2668
+
2669
+ /**
2670
+ * requestRedeem
2671
+ * nonpayable
2672
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2673
+ */
2674
+ async requestRedeem(shares: bigint, options?: {
2675
+ accessList?: import('viem').AccessList;
2676
+ authorizationList?: import('viem').AuthorizationList;
2677
+ chain?: import('viem').Chain | null;
2678
+ dataSuffix?: `0x${string}`;
2679
+ gas?: bigint;
2680
+ gasPrice?: bigint;
2681
+ maxFeePerGas?: bigint;
2682
+ maxPriorityFeePerGas?: bigint;
2683
+ nonce?: number;
2684
+ value?: bigint;
2685
+ }): Promise<`0x${string}`> {
2686
+ if (!this.contract.write) {
2687
+ throw new Error('Wallet client is required for write operations');
2688
+ }
2689
+ return this.contract.write.requestRedeem([shares] as const, options) as Promise<`0x${string}`>;
2690
+ }
2691
+
2692
+ /**
2693
+ * setARMBuffer
2694
+ * nonpayable
2695
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2696
+ */
2697
+ async setARMBuffer(_armBuffer: bigint, options?: {
2698
+ accessList?: import('viem').AccessList;
2699
+ authorizationList?: import('viem').AuthorizationList;
2700
+ chain?: import('viem').Chain | null;
2701
+ dataSuffix?: `0x${string}`;
2702
+ gas?: bigint;
2703
+ gasPrice?: bigint;
2704
+ maxFeePerGas?: bigint;
2705
+ maxPriorityFeePerGas?: bigint;
2706
+ nonce?: number;
2707
+ value?: bigint;
2708
+ }): Promise<`0x${string}`> {
2709
+ if (!this.contract.write) {
2710
+ throw new Error('Wallet client is required for write operations');
2711
+ }
2712
+ return this.contract.write.setARMBuffer([_armBuffer] as const, options) as Promise<`0x${string}`>;
2713
+ }
2714
+
2715
+ /**
2716
+ * setActiveMarket
2717
+ * nonpayable
2718
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2719
+ */
2720
+ async setActiveMarket(_market: `0x${string}`, options?: {
2721
+ accessList?: import('viem').AccessList;
2722
+ authorizationList?: import('viem').AuthorizationList;
2723
+ chain?: import('viem').Chain | null;
2724
+ dataSuffix?: `0x${string}`;
2725
+ gas?: bigint;
2726
+ gasPrice?: bigint;
2727
+ maxFeePerGas?: bigint;
2728
+ maxPriorityFeePerGas?: bigint;
2729
+ nonce?: number;
2730
+ value?: bigint;
2731
+ }): Promise<`0x${string}`> {
2732
+ if (!this.contract.write) {
2733
+ throw new Error('Wallet client is required for write operations');
2734
+ }
2735
+ return this.contract.write.setActiveMarket([_market] as const, options) as Promise<`0x${string}`>;
2736
+ }
2737
+
2738
+ /**
2739
+ * setCapManager
2740
+ * nonpayable
2741
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2742
+ */
2743
+ async setCapManager(_capManager: `0x${string}`, options?: {
2744
+ accessList?: import('viem').AccessList;
2745
+ authorizationList?: import('viem').AuthorizationList;
2746
+ chain?: import('viem').Chain | null;
2747
+ dataSuffix?: `0x${string}`;
2748
+ gas?: bigint;
2749
+ gasPrice?: bigint;
2750
+ maxFeePerGas?: bigint;
2751
+ maxPriorityFeePerGas?: bigint;
2752
+ nonce?: number;
2753
+ value?: bigint;
2754
+ }): Promise<`0x${string}`> {
2755
+ if (!this.contract.write) {
2756
+ throw new Error('Wallet client is required for write operations');
2757
+ }
2758
+ return this.contract.write.setCapManager([_capManager] as const, options) as Promise<`0x${string}`>;
2759
+ }
2760
+
2761
+ /**
2762
+ * setCrossPrice
2763
+ * nonpayable
2764
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2765
+ */
2766
+ async setCrossPrice(newCrossPrice: bigint, options?: {
2767
+ accessList?: import('viem').AccessList;
2768
+ authorizationList?: import('viem').AuthorizationList;
2769
+ chain?: import('viem').Chain | null;
2770
+ dataSuffix?: `0x${string}`;
2771
+ gas?: bigint;
2772
+ gasPrice?: bigint;
2773
+ maxFeePerGas?: bigint;
2774
+ maxPriorityFeePerGas?: bigint;
2775
+ nonce?: number;
2776
+ value?: bigint;
2777
+ }): Promise<`0x${string}`> {
2778
+ if (!this.contract.write) {
2779
+ throw new Error('Wallet client is required for write operations');
2780
+ }
2781
+ return this.contract.write.setCrossPrice([newCrossPrice] as const, options) as Promise<`0x${string}`>;
2782
+ }
2783
+
2784
+ /**
2785
+ * setFee
2786
+ * nonpayable
2787
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2788
+ */
2789
+ async setFee(_fee: bigint, options?: {
2790
+ accessList?: import('viem').AccessList;
2791
+ authorizationList?: import('viem').AuthorizationList;
2792
+ chain?: import('viem').Chain | null;
2793
+ dataSuffix?: `0x${string}`;
2794
+ gas?: bigint;
2795
+ gasPrice?: bigint;
2796
+ maxFeePerGas?: bigint;
2797
+ maxPriorityFeePerGas?: bigint;
2798
+ nonce?: number;
2799
+ value?: bigint;
2800
+ }): Promise<`0x${string}`> {
2801
+ if (!this.contract.write) {
2802
+ throw new Error('Wallet client is required for write operations');
2803
+ }
2804
+ return this.contract.write.setFee([_fee] as const, options) as Promise<`0x${string}`>;
2805
+ }
2806
+
2807
+ /**
2808
+ * setFeeCollector
2809
+ * nonpayable
2810
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2811
+ */
2812
+ async setFeeCollector(_feeCollector: `0x${string}`, options?: {
2813
+ accessList?: import('viem').AccessList;
2814
+ authorizationList?: import('viem').AuthorizationList;
2815
+ chain?: import('viem').Chain | null;
2816
+ dataSuffix?: `0x${string}`;
2817
+ gas?: bigint;
2818
+ gasPrice?: bigint;
2819
+ maxFeePerGas?: bigint;
2820
+ maxPriorityFeePerGas?: bigint;
2821
+ nonce?: number;
2822
+ value?: bigint;
2823
+ }): Promise<`0x${string}`> {
2824
+ if (!this.contract.write) {
2825
+ throw new Error('Wallet client is required for write operations');
2826
+ }
2827
+ return this.contract.write.setFeeCollector([_feeCollector] as const, options) as Promise<`0x${string}`>;
2828
+ }
2829
+
2830
+ /**
2831
+ * setOperator
2832
+ * nonpayable
2833
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2834
+ */
2835
+ async setOperator(newOperator: `0x${string}`, options?: {
2836
+ accessList?: import('viem').AccessList;
2837
+ authorizationList?: import('viem').AuthorizationList;
2838
+ chain?: import('viem').Chain | null;
2839
+ dataSuffix?: `0x${string}`;
2840
+ gas?: bigint;
2841
+ gasPrice?: bigint;
2842
+ maxFeePerGas?: bigint;
2843
+ maxPriorityFeePerGas?: bigint;
2844
+ nonce?: number;
2845
+ value?: bigint;
2846
+ }): Promise<`0x${string}`> {
2847
+ if (!this.contract.write) {
2848
+ throw new Error('Wallet client is required for write operations');
2849
+ }
2850
+ return this.contract.write.setOperator([newOperator] as const, options) as Promise<`0x${string}`>;
2851
+ }
2852
+
2853
+ /**
2854
+ * setOwner
2855
+ * nonpayable
2856
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2857
+ */
2858
+ async setOwner(newOwner: `0x${string}`, options?: {
2859
+ accessList?: import('viem').AccessList;
2860
+ authorizationList?: import('viem').AuthorizationList;
2861
+ chain?: import('viem').Chain | null;
2862
+ dataSuffix?: `0x${string}`;
2863
+ gas?: bigint;
2864
+ gasPrice?: bigint;
2865
+ maxFeePerGas?: bigint;
2866
+ maxPriorityFeePerGas?: bigint;
2867
+ nonce?: number;
2868
+ value?: bigint;
2869
+ }): Promise<`0x${string}`> {
2870
+ if (!this.contract.write) {
2871
+ throw new Error('Wallet client is required for write operations');
2872
+ }
2873
+ return this.contract.write.setOwner([newOwner] as const, options) as Promise<`0x${string}`>;
2874
+ }
2875
+
2876
+ /**
2877
+ * setPrices
2878
+ * nonpayable
2879
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2880
+ */
2881
+ async setPrices(buyT1: bigint, sellT1: bigint, options?: {
2882
+ accessList?: import('viem').AccessList;
2883
+ authorizationList?: import('viem').AuthorizationList;
2884
+ chain?: import('viem').Chain | null;
2885
+ dataSuffix?: `0x${string}`;
2886
+ gas?: bigint;
2887
+ gasPrice?: bigint;
2888
+ maxFeePerGas?: bigint;
2889
+ maxPriorityFeePerGas?: bigint;
2890
+ nonce?: number;
2891
+ value?: bigint;
2892
+ }): Promise<`0x${string}`> {
2893
+ if (!this.contract.write) {
2894
+ throw new Error('Wallet client is required for write operations');
2895
+ }
2896
+ return this.contract.write.setPrices([buyT1, sellT1] as const, options) as Promise<`0x${string}`>;
2897
+ }
2898
+
2899
+ async swapExactTokensForTokens(amountIn: bigint, amountOutMin: bigint, path: `0x${string}`[], to: `0x${string}`, deadline: bigint, options?: {
2900
+ accessList?: import('viem').AccessList;
2901
+ authorizationList?: import('viem').AuthorizationList;
2902
+ chain?: import('viem').Chain | null;
2903
+ dataSuffix?: `0x${string}`;
2904
+ gas?: bigint;
2905
+ gasPrice?: bigint;
2906
+ maxFeePerGas?: bigint;
2907
+ maxPriorityFeePerGas?: bigint;
2908
+ nonce?: number;
2909
+ value?: bigint;
2910
+ }): Promise<`0x${string}`>;
2911
+ async swapExactTokensForTokens(inToken: `0x${string}`, outToken: `0x${string}`, amountIn: bigint, amountOutMin: bigint, to: `0x${string}`, options?: {
2912
+ accessList?: import('viem').AccessList;
2913
+ authorizationList?: import('viem').AuthorizationList;
2914
+ chain?: import('viem').Chain | null;
2915
+ dataSuffix?: `0x${string}`;
2916
+ gas?: bigint;
2917
+ gasPrice?: bigint;
2918
+ maxFeePerGas?: bigint;
2919
+ maxPriorityFeePerGas?: bigint;
2920
+ nonce?: number;
2921
+ value?: bigint;
2922
+ }): Promise<`0x${string}`>;
2923
+ async swapExactTokensForTokens(...args: any[]): Promise<`0x${string}`> {
2924
+ if (!this.contract.write) {
2925
+ throw new Error('Wallet client is required for write operations');
2926
+ }
2927
+ return this.contract.write.swapExactTokensForTokens(args as any) as Promise<`0x${string}`>;
2928
+ }
2929
+
2930
+ async swapTokensForExactTokens(amountOut: bigint, amountInMax: bigint, path: `0x${string}`[], to: `0x${string}`, deadline: bigint, options?: {
2931
+ accessList?: import('viem').AccessList;
2932
+ authorizationList?: import('viem').AuthorizationList;
2933
+ chain?: import('viem').Chain | null;
2934
+ dataSuffix?: `0x${string}`;
2935
+ gas?: bigint;
2936
+ gasPrice?: bigint;
2937
+ maxFeePerGas?: bigint;
2938
+ maxPriorityFeePerGas?: bigint;
2939
+ nonce?: number;
2940
+ value?: bigint;
2941
+ }): Promise<`0x${string}`>;
2942
+ async swapTokensForExactTokens(inToken: `0x${string}`, outToken: `0x${string}`, amountOut: bigint, amountInMax: bigint, to: `0x${string}`, options?: {
2943
+ accessList?: import('viem').AccessList;
2944
+ authorizationList?: import('viem').AuthorizationList;
2945
+ chain?: import('viem').Chain | null;
2946
+ dataSuffix?: `0x${string}`;
2947
+ gas?: bigint;
2948
+ gasPrice?: bigint;
2949
+ maxFeePerGas?: bigint;
2950
+ maxPriorityFeePerGas?: bigint;
2951
+ nonce?: number;
2952
+ value?: bigint;
2953
+ }): Promise<`0x${string}`>;
2954
+ async swapTokensForExactTokens(...args: any[]): Promise<`0x${string}`> {
2955
+ if (!this.contract.write) {
2956
+ throw new Error('Wallet client is required for write operations');
2957
+ }
2958
+ return this.contract.write.swapTokensForExactTokens(args as any) as Promise<`0x${string}`>;
2959
+ }
2960
+
2961
+ /**
2962
+ * transfer
2963
+ * nonpayable
2964
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2965
+ */
2966
+ async transfer(to: `0x${string}`, value: bigint, options?: {
2967
+ accessList?: import('viem').AccessList;
2968
+ authorizationList?: import('viem').AuthorizationList;
2969
+ chain?: import('viem').Chain | null;
2970
+ dataSuffix?: `0x${string}`;
2971
+ gas?: bigint;
2972
+ gasPrice?: bigint;
2973
+ maxFeePerGas?: bigint;
2974
+ maxPriorityFeePerGas?: bigint;
2975
+ nonce?: number;
2976
+ value?: bigint;
2977
+ }): Promise<`0x${string}`> {
2978
+ if (!this.contract.write) {
2979
+ throw new Error('Wallet client is required for write operations');
2980
+ }
2981
+ return this.contract.write.transfer([to, value] as const, options) as Promise<`0x${string}`>;
2982
+ }
2983
+
2984
+ /**
2985
+ * transferFrom
2986
+ * nonpayable
2987
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2988
+ */
2989
+ async transferFrom(from: `0x${string}`, to: `0x${string}`, value: bigint, options?: {
2990
+ accessList?: import('viem').AccessList;
2991
+ authorizationList?: import('viem').AuthorizationList;
2992
+ chain?: import('viem').Chain | null;
2993
+ dataSuffix?: `0x${string}`;
2994
+ gas?: bigint;
2995
+ gasPrice?: bigint;
2996
+ maxFeePerGas?: bigint;
2997
+ maxPriorityFeePerGas?: bigint;
2998
+ nonce?: number;
2999
+ value?: bigint;
3000
+ }): Promise<`0x${string}`> {
3001
+ if (!this.contract.write) {
3002
+ throw new Error('Wallet client is required for write operations');
3003
+ }
3004
+ return this.contract.write.transferFrom([from, to, value] as const, options) as Promise<`0x${string}`>;
3005
+ }
3006
+
3007
+ /**
3008
+ * unpause
3009
+ * nonpayable
3010
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3011
+ */
3012
+ async unpause(options?: {
3013
+ accessList?: import('viem').AccessList;
3014
+ authorizationList?: import('viem').AuthorizationList;
3015
+ chain?: import('viem').Chain | null;
3016
+ dataSuffix?: `0x${string}`;
3017
+ gas?: bigint;
3018
+ gasPrice?: bigint;
3019
+ maxFeePerGas?: bigint;
3020
+ maxPriorityFeePerGas?: bigint;
3021
+ nonce?: number;
3022
+ value?: bigint;
3023
+ }): Promise<`0x${string}`> {
3024
+ if (!this.contract.write) {
3025
+ throw new Error('Wallet client is required for write operations');
3026
+ }
3027
+ return this.contract.write.unpause(options) as Promise<`0x${string}`>;
3028
+ }
3029
+
3030
+
3031
+
3032
+ /**
3033
+ * Simulate contract write operations (dry-run without sending transaction)
3034
+ *
3035
+ * @example
3036
+ * const result = await contract.simulate.transfer('0x...', 1000n);
3037
+ * console.log('Gas estimate:', result.request.gas);
3038
+ * console.log('Would succeed:', result.result);
3039
+ */
3040
+ get simulate() {
3041
+ const contract = this.contract;
3042
+ if (!contract.simulate) {
3043
+ throw new Error('Public client is required for simulation');
3044
+ }
3045
+ return {
3046
+ /**
3047
+ * Simulate addMarkets
3048
+ * Returns gas estimate and result without sending transaction
3049
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3050
+ */
3051
+ async addMarkets(_markets: `0x${string}`[], options?: {
3052
+ accessList?: import('viem').AccessList;
3053
+ authorizationList?: import('viem').AuthorizationList;
3054
+ chain?: import('viem').Chain | null;
3055
+ dataSuffix?: `0x${string}`;
3056
+ gas?: bigint;
3057
+ gasPrice?: bigint;
3058
+ maxFeePerGas?: bigint;
3059
+ maxPriorityFeePerGas?: bigint;
3060
+ nonce?: number;
3061
+ value?: bigint;
3062
+ }): Promise<void> {
3063
+ return contract.simulate.addMarkets([_markets] as const, options) as Promise<void>;
3064
+ },
3065
+ /**
3066
+ * Simulate allocate
3067
+ * Returns gas estimate and result without sending transaction
3068
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3069
+ */
3070
+ async allocate(options?: {
3071
+ accessList?: import('viem').AccessList;
3072
+ authorizationList?: import('viem').AuthorizationList;
3073
+ chain?: import('viem').Chain | null;
3074
+ dataSuffix?: `0x${string}`;
3075
+ gas?: bigint;
3076
+ gasPrice?: bigint;
3077
+ maxFeePerGas?: bigint;
3078
+ maxPriorityFeePerGas?: bigint;
3079
+ nonce?: number;
3080
+ value?: bigint;
3081
+ }): Promise<[bigint, bigint]> {
3082
+ return contract.simulate.allocate(options) as Promise<[bigint, bigint]>;
3083
+ },
3084
+ /**
3085
+ * Simulate approve
3086
+ * Returns gas estimate and result without sending transaction
3087
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3088
+ */
3089
+ async approve(spender: `0x${string}`, value: bigint, options?: {
3090
+ accessList?: import('viem').AccessList;
3091
+ authorizationList?: import('viem').AuthorizationList;
3092
+ chain?: import('viem').Chain | null;
3093
+ dataSuffix?: `0x${string}`;
3094
+ gas?: bigint;
3095
+ gasPrice?: bigint;
3096
+ maxFeePerGas?: bigint;
3097
+ maxPriorityFeePerGas?: bigint;
3098
+ nonce?: number;
3099
+ value?: bigint;
3100
+ }): Promise<boolean> {
3101
+ return contract.simulate.approve([spender, value] as const, options) as Promise<boolean>;
3102
+ },
3103
+ /**
3104
+ * Simulate claimLidoWithdrawals
3105
+ * Returns gas estimate and result without sending transaction
3106
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3107
+ */
3108
+ async claimLidoWithdrawals(requestIds: bigint[], hintIds: bigint[], options?: {
3109
+ accessList?: import('viem').AccessList;
3110
+ authorizationList?: import('viem').AuthorizationList;
3111
+ chain?: import('viem').Chain | null;
3112
+ dataSuffix?: `0x${string}`;
3113
+ gas?: bigint;
3114
+ gasPrice?: bigint;
3115
+ maxFeePerGas?: bigint;
3116
+ maxPriorityFeePerGas?: bigint;
3117
+ nonce?: number;
3118
+ value?: bigint;
3119
+ }): Promise<void> {
3120
+ return contract.simulate.claimLidoWithdrawals([requestIds, hintIds] as const, options) as Promise<void>;
3121
+ },
3122
+ /**
3123
+ * Simulate claimRedeem
3124
+ * Returns gas estimate and result without sending transaction
3125
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3126
+ */
3127
+ async claimRedeem(requestId: bigint, options?: {
3128
+ accessList?: import('viem').AccessList;
3129
+ authorizationList?: import('viem').AuthorizationList;
3130
+ chain?: import('viem').Chain | null;
3131
+ dataSuffix?: `0x${string}`;
3132
+ gas?: bigint;
3133
+ gasPrice?: bigint;
3134
+ maxFeePerGas?: bigint;
3135
+ maxPriorityFeePerGas?: bigint;
3136
+ nonce?: number;
3137
+ value?: bigint;
3138
+ }): Promise<bigint> {
3139
+ return contract.simulate.claimRedeem([requestId] as const, options) as Promise<bigint>;
3140
+ },
3141
+ /**
3142
+ * Simulate collectFees
3143
+ * Returns gas estimate and result without sending transaction
3144
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3145
+ */
3146
+ async collectFees(options?: {
3147
+ accessList?: import('viem').AccessList;
3148
+ authorizationList?: import('viem').AuthorizationList;
3149
+ chain?: import('viem').Chain | null;
3150
+ dataSuffix?: `0x${string}`;
3151
+ gas?: bigint;
3152
+ gasPrice?: bigint;
3153
+ maxFeePerGas?: bigint;
3154
+ maxPriorityFeePerGas?: bigint;
3155
+ nonce?: number;
3156
+ value?: bigint;
3157
+ }): Promise<bigint> {
3158
+ return contract.simulate.collectFees(options) as Promise<bigint>;
3159
+ },
3160
+ /**
3161
+ * Simulate deposit
3162
+ * Returns gas estimate and result without sending transaction
3163
+ * Supports multiple overloads: (uint256, address), (uint256)
3164
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3165
+ */
3166
+ async deposit(...args: any[]): Promise<any> {
3167
+ return contract.simulate.deposit(args as any) as Promise<any>;
3168
+ },
3169
+ /**
3170
+ * Simulate initialize
3171
+ * Returns gas estimate and result without sending transaction
3172
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3173
+ */
3174
+ async initialize(_name: string, _symbol: string, _operator: `0x${string}`, _fee: bigint, _feeCollector: `0x${string}`, _capManager: `0x${string}`, options?: {
3175
+ accessList?: import('viem').AccessList;
3176
+ authorizationList?: import('viem').AuthorizationList;
3177
+ chain?: import('viem').Chain | null;
3178
+ dataSuffix?: `0x${string}`;
3179
+ gas?: bigint;
3180
+ gasPrice?: bigint;
3181
+ maxFeePerGas?: bigint;
3182
+ maxPriorityFeePerGas?: bigint;
3183
+ nonce?: number;
3184
+ value?: bigint;
3185
+ }): Promise<void> {
3186
+ return contract.simulate.initialize([_name, _symbol, _operator, _fee, _feeCollector, _capManager] as const, options) as Promise<void>;
3187
+ },
3188
+ /**
3189
+ * Simulate pause
3190
+ * Returns gas estimate and result without sending transaction
3191
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3192
+ */
3193
+ async pause(options?: {
3194
+ accessList?: import('viem').AccessList;
3195
+ authorizationList?: import('viem').AuthorizationList;
3196
+ chain?: import('viem').Chain | null;
3197
+ dataSuffix?: `0x${string}`;
3198
+ gas?: bigint;
3199
+ gasPrice?: bigint;
3200
+ maxFeePerGas?: bigint;
3201
+ maxPriorityFeePerGas?: bigint;
3202
+ nonce?: number;
3203
+ value?: bigint;
3204
+ }): Promise<void> {
3205
+ return contract.simulate.pause(options) as Promise<void>;
3206
+ },
3207
+ /**
3208
+ * Simulate registerLidoWithdrawalRequests
3209
+ * Returns gas estimate and result without sending transaction
3210
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3211
+ */
3212
+ async registerLidoWithdrawalRequests(options?: {
3213
+ accessList?: import('viem').AccessList;
3214
+ authorizationList?: import('viem').AuthorizationList;
3215
+ chain?: import('viem').Chain | null;
3216
+ dataSuffix?: `0x${string}`;
3217
+ gas?: bigint;
3218
+ gasPrice?: bigint;
3219
+ maxFeePerGas?: bigint;
3220
+ maxPriorityFeePerGas?: bigint;
3221
+ nonce?: number;
3222
+ value?: bigint;
3223
+ }): Promise<void> {
3224
+ return contract.simulate.registerLidoWithdrawalRequests(options) as Promise<void>;
3225
+ },
3226
+ /**
3227
+ * Simulate removeMarket
3228
+ * Returns gas estimate and result without sending transaction
3229
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3230
+ */
3231
+ async removeMarket(_market: `0x${string}`, options?: {
3232
+ accessList?: import('viem').AccessList;
3233
+ authorizationList?: import('viem').AuthorizationList;
3234
+ chain?: import('viem').Chain | null;
3235
+ dataSuffix?: `0x${string}`;
3236
+ gas?: bigint;
3237
+ gasPrice?: bigint;
3238
+ maxFeePerGas?: bigint;
3239
+ maxPriorityFeePerGas?: bigint;
3240
+ nonce?: number;
3241
+ value?: bigint;
3242
+ }): Promise<void> {
3243
+ return contract.simulate.removeMarket([_market] as const, options) as Promise<void>;
3244
+ },
3245
+ /**
3246
+ * Simulate requestLidoWithdrawals
3247
+ * Returns gas estimate and result without sending transaction
3248
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3249
+ */
3250
+ async requestLidoWithdrawals(amounts: bigint[], options?: {
3251
+ accessList?: import('viem').AccessList;
3252
+ authorizationList?: import('viem').AuthorizationList;
3253
+ chain?: import('viem').Chain | null;
3254
+ dataSuffix?: `0x${string}`;
3255
+ gas?: bigint;
3256
+ gasPrice?: bigint;
3257
+ maxFeePerGas?: bigint;
3258
+ maxPriorityFeePerGas?: bigint;
3259
+ nonce?: number;
3260
+ value?: bigint;
3261
+ }): Promise<bigint[]> {
3262
+ return contract.simulate.requestLidoWithdrawals([amounts] as const, options) as Promise<bigint[]>;
3263
+ },
3264
+ /**
3265
+ * Simulate requestRedeem
3266
+ * Returns gas estimate and result without sending transaction
3267
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3268
+ */
3269
+ async requestRedeem(shares: bigint, options?: {
3270
+ accessList?: import('viem').AccessList;
3271
+ authorizationList?: import('viem').AuthorizationList;
3272
+ chain?: import('viem').Chain | null;
3273
+ dataSuffix?: `0x${string}`;
3274
+ gas?: bigint;
3275
+ gasPrice?: bigint;
3276
+ maxFeePerGas?: bigint;
3277
+ maxPriorityFeePerGas?: bigint;
3278
+ nonce?: number;
3279
+ value?: bigint;
3280
+ }): Promise<[bigint, bigint]> {
3281
+ return contract.simulate.requestRedeem([shares] as const, options) as Promise<[bigint, bigint]>;
3282
+ },
3283
+ /**
3284
+ * Simulate setARMBuffer
3285
+ * Returns gas estimate and result without sending transaction
3286
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3287
+ */
3288
+ async setARMBuffer(_armBuffer: bigint, options?: {
3289
+ accessList?: import('viem').AccessList;
3290
+ authorizationList?: import('viem').AuthorizationList;
3291
+ chain?: import('viem').Chain | null;
3292
+ dataSuffix?: `0x${string}`;
3293
+ gas?: bigint;
3294
+ gasPrice?: bigint;
3295
+ maxFeePerGas?: bigint;
3296
+ maxPriorityFeePerGas?: bigint;
3297
+ nonce?: number;
3298
+ value?: bigint;
3299
+ }): Promise<void> {
3300
+ return contract.simulate.setARMBuffer([_armBuffer] as const, options) as Promise<void>;
3301
+ },
3302
+ /**
3303
+ * Simulate setActiveMarket
3304
+ * Returns gas estimate and result without sending transaction
3305
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3306
+ */
3307
+ async setActiveMarket(_market: `0x${string}`, options?: {
3308
+ accessList?: import('viem').AccessList;
3309
+ authorizationList?: import('viem').AuthorizationList;
3310
+ chain?: import('viem').Chain | null;
3311
+ dataSuffix?: `0x${string}`;
3312
+ gas?: bigint;
3313
+ gasPrice?: bigint;
3314
+ maxFeePerGas?: bigint;
3315
+ maxPriorityFeePerGas?: bigint;
3316
+ nonce?: number;
3317
+ value?: bigint;
3318
+ }): Promise<void> {
3319
+ return contract.simulate.setActiveMarket([_market] as const, options) as Promise<void>;
3320
+ },
3321
+ /**
3322
+ * Simulate setCapManager
3323
+ * Returns gas estimate and result without sending transaction
3324
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3325
+ */
3326
+ async setCapManager(_capManager: `0x${string}`, options?: {
3327
+ accessList?: import('viem').AccessList;
3328
+ authorizationList?: import('viem').AuthorizationList;
3329
+ chain?: import('viem').Chain | null;
3330
+ dataSuffix?: `0x${string}`;
3331
+ gas?: bigint;
3332
+ gasPrice?: bigint;
3333
+ maxFeePerGas?: bigint;
3334
+ maxPriorityFeePerGas?: bigint;
3335
+ nonce?: number;
3336
+ value?: bigint;
3337
+ }): Promise<void> {
3338
+ return contract.simulate.setCapManager([_capManager] as const, options) as Promise<void>;
3339
+ },
3340
+ /**
3341
+ * Simulate setCrossPrice
3342
+ * Returns gas estimate and result without sending transaction
3343
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3344
+ */
3345
+ async setCrossPrice(newCrossPrice: bigint, options?: {
3346
+ accessList?: import('viem').AccessList;
3347
+ authorizationList?: import('viem').AuthorizationList;
3348
+ chain?: import('viem').Chain | null;
3349
+ dataSuffix?: `0x${string}`;
3350
+ gas?: bigint;
3351
+ gasPrice?: bigint;
3352
+ maxFeePerGas?: bigint;
3353
+ maxPriorityFeePerGas?: bigint;
3354
+ nonce?: number;
3355
+ value?: bigint;
3356
+ }): Promise<void> {
3357
+ return contract.simulate.setCrossPrice([newCrossPrice] as const, options) as Promise<void>;
3358
+ },
3359
+ /**
3360
+ * Simulate setFee
3361
+ * Returns gas estimate and result without sending transaction
3362
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3363
+ */
3364
+ async setFee(_fee: bigint, options?: {
3365
+ accessList?: import('viem').AccessList;
3366
+ authorizationList?: import('viem').AuthorizationList;
3367
+ chain?: import('viem').Chain | null;
3368
+ dataSuffix?: `0x${string}`;
3369
+ gas?: bigint;
3370
+ gasPrice?: bigint;
3371
+ maxFeePerGas?: bigint;
3372
+ maxPriorityFeePerGas?: bigint;
3373
+ nonce?: number;
3374
+ value?: bigint;
3375
+ }): Promise<void> {
3376
+ return contract.simulate.setFee([_fee] as const, options) as Promise<void>;
3377
+ },
3378
+ /**
3379
+ * Simulate setFeeCollector
3380
+ * Returns gas estimate and result without sending transaction
3381
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3382
+ */
3383
+ async setFeeCollector(_feeCollector: `0x${string}`, options?: {
3384
+ accessList?: import('viem').AccessList;
3385
+ authorizationList?: import('viem').AuthorizationList;
3386
+ chain?: import('viem').Chain | null;
3387
+ dataSuffix?: `0x${string}`;
3388
+ gas?: bigint;
3389
+ gasPrice?: bigint;
3390
+ maxFeePerGas?: bigint;
3391
+ maxPriorityFeePerGas?: bigint;
3392
+ nonce?: number;
3393
+ value?: bigint;
3394
+ }): Promise<void> {
3395
+ return contract.simulate.setFeeCollector([_feeCollector] as const, options) as Promise<void>;
3396
+ },
3397
+ /**
3398
+ * Simulate setOperator
3399
+ * Returns gas estimate and result without sending transaction
3400
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3401
+ */
3402
+ async setOperator(newOperator: `0x${string}`, options?: {
3403
+ accessList?: import('viem').AccessList;
3404
+ authorizationList?: import('viem').AuthorizationList;
3405
+ chain?: import('viem').Chain | null;
3406
+ dataSuffix?: `0x${string}`;
3407
+ gas?: bigint;
3408
+ gasPrice?: bigint;
3409
+ maxFeePerGas?: bigint;
3410
+ maxPriorityFeePerGas?: bigint;
3411
+ nonce?: number;
3412
+ value?: bigint;
3413
+ }): Promise<void> {
3414
+ return contract.simulate.setOperator([newOperator] as const, options) as Promise<void>;
3415
+ },
3416
+ /**
3417
+ * Simulate setOwner
3418
+ * Returns gas estimate and result without sending transaction
3419
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3420
+ */
3421
+ async setOwner(newOwner: `0x${string}`, options?: {
3422
+ accessList?: import('viem').AccessList;
3423
+ authorizationList?: import('viem').AuthorizationList;
3424
+ chain?: import('viem').Chain | null;
3425
+ dataSuffix?: `0x${string}`;
3426
+ gas?: bigint;
3427
+ gasPrice?: bigint;
3428
+ maxFeePerGas?: bigint;
3429
+ maxPriorityFeePerGas?: bigint;
3430
+ nonce?: number;
3431
+ value?: bigint;
3432
+ }): Promise<void> {
3433
+ return contract.simulate.setOwner([newOwner] as const, options) as Promise<void>;
3434
+ },
3435
+ /**
3436
+ * Simulate setPrices
3437
+ * Returns gas estimate and result without sending transaction
3438
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3439
+ */
3440
+ async setPrices(buyT1: bigint, sellT1: bigint, options?: {
3441
+ accessList?: import('viem').AccessList;
3442
+ authorizationList?: import('viem').AuthorizationList;
3443
+ chain?: import('viem').Chain | null;
3444
+ dataSuffix?: `0x${string}`;
3445
+ gas?: bigint;
3446
+ gasPrice?: bigint;
3447
+ maxFeePerGas?: bigint;
3448
+ maxPriorityFeePerGas?: bigint;
3449
+ nonce?: number;
3450
+ value?: bigint;
3451
+ }): Promise<void> {
3452
+ return contract.simulate.setPrices([buyT1, sellT1] as const, options) as Promise<void>;
3453
+ },
3454
+ /**
3455
+ * Simulate swapExactTokensForTokens
3456
+ * Returns gas estimate and result without sending transaction
3457
+ * Supports multiple overloads: (uint256, uint256, address[], address, uint256), (address, address, uint256, uint256, address)
3458
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3459
+ */
3460
+ async swapExactTokensForTokens(...args: any[]): Promise<any> {
3461
+ return contract.simulate.swapExactTokensForTokens(args as any) as Promise<any>;
3462
+ },
3463
+ /**
3464
+ * Simulate swapTokensForExactTokens
3465
+ * Returns gas estimate and result without sending transaction
3466
+ * Supports multiple overloads: (uint256, uint256, address[], address, uint256), (address, address, uint256, uint256, address)
3467
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3468
+ */
3469
+ async swapTokensForExactTokens(...args: any[]): Promise<any> {
3470
+ return contract.simulate.swapTokensForExactTokens(args as any) as Promise<any>;
3471
+ },
3472
+ /**
3473
+ * Simulate transfer
3474
+ * Returns gas estimate and result without sending transaction
3475
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3476
+ */
3477
+ async transfer(to: `0x${string}`, value: bigint, options?: {
3478
+ accessList?: import('viem').AccessList;
3479
+ authorizationList?: import('viem').AuthorizationList;
3480
+ chain?: import('viem').Chain | null;
3481
+ dataSuffix?: `0x${string}`;
3482
+ gas?: bigint;
3483
+ gasPrice?: bigint;
3484
+ maxFeePerGas?: bigint;
3485
+ maxPriorityFeePerGas?: bigint;
3486
+ nonce?: number;
3487
+ value?: bigint;
3488
+ }): Promise<boolean> {
3489
+ return contract.simulate.transfer([to, value] as const, options) as Promise<boolean>;
3490
+ },
3491
+ /**
3492
+ * Simulate transferFrom
3493
+ * Returns gas estimate and result without sending transaction
3494
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3495
+ */
3496
+ async transferFrom(from: `0x${string}`, to: `0x${string}`, value: bigint, options?: {
3497
+ accessList?: import('viem').AccessList;
3498
+ authorizationList?: import('viem').AuthorizationList;
3499
+ chain?: import('viem').Chain | null;
3500
+ dataSuffix?: `0x${string}`;
3501
+ gas?: bigint;
3502
+ gasPrice?: bigint;
3503
+ maxFeePerGas?: bigint;
3504
+ maxPriorityFeePerGas?: bigint;
3505
+ nonce?: number;
3506
+ value?: bigint;
3507
+ }): Promise<boolean> {
3508
+ return contract.simulate.transferFrom([from, to, value] as const, options) as Promise<boolean>;
3509
+ },
3510
+ /**
3511
+ * Simulate unpause
3512
+ * Returns gas estimate and result without sending transaction
3513
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3514
+ */
3515
+ async unpause(options?: {
3516
+ accessList?: import('viem').AccessList;
3517
+ authorizationList?: import('viem').AuthorizationList;
3518
+ chain?: import('viem').Chain | null;
3519
+ dataSuffix?: `0x${string}`;
3520
+ gas?: bigint;
3521
+ gasPrice?: bigint;
3522
+ maxFeePerGas?: bigint;
3523
+ maxPriorityFeePerGas?: bigint;
3524
+ nonce?: number;
3525
+ value?: bigint;
3526
+ }): Promise<void> {
3527
+ return contract.simulate.unpause(options) as Promise<void>;
3528
+ }
3529
+ };
3530
+ }
3531
+
3532
+ /**
3533
+ * Watch contract events
3534
+ *
3535
+ * @example
3536
+ * // Watch all Transfer events
3537
+ * const unwatch = contract.watch.Transfer((event) => {
3538
+ * console.log('Transfer:', event);
3539
+ * });
3540
+ *
3541
+ * // Stop watching
3542
+ * unwatch();
3543
+ */
3544
+ get watch() {
3545
+ return {
3546
+ /**
3547
+ * Watch ARMBufferUpdated events
3548
+ * @param callback Function to call when event is emitted
3549
+ * @param filter Optional filter for indexed parameters
3550
+ * @returns Unwatch function to stop listening
3551
+ */
3552
+ ARMBufferUpdated: (callback: (event: { armBuffer: bigint }) => void) => {
3553
+ return this.publicClient.watchContractEvent({
3554
+ address: this.contractAddress,
3555
+ abi: LidoARM_jsonAbi,
3556
+ eventName: 'ARMBufferUpdated',
3557
+
3558
+ onLogs: (logs: any[]) => {
3559
+ logs.forEach((log: any) => {
3560
+ callback(log.args as any);
3561
+ });
3562
+ },
3563
+ }) as () => void;
3564
+ },
3565
+ /**
3566
+ * Watch ActiveMarketUpdated events
3567
+ * @param callback Function to call when event is emitted
3568
+ * @param filter Optional filter for indexed parameters
3569
+ * @returns Unwatch function to stop listening
3570
+ */
3571
+ ActiveMarketUpdated: (callback: (event: { market: `0x${string}` }) => void, filter?: { market: `0x${string}` }) => {
3572
+ return this.publicClient.watchContractEvent({
3573
+ address: this.contractAddress,
3574
+ abi: LidoARM_jsonAbi,
3575
+ eventName: 'ActiveMarketUpdated',
3576
+ args: filter,
3577
+ onLogs: (logs: any[]) => {
3578
+ logs.forEach((log: any) => {
3579
+ callback(log.args as any);
3580
+ });
3581
+ },
3582
+ }) as () => void;
3583
+ },
3584
+ /**
3585
+ * Watch AdminChanged events
3586
+ * @param callback Function to call when event is emitted
3587
+ * @param filter Optional filter for indexed parameters
3588
+ * @returns Unwatch function to stop listening
3589
+ */
3590
+ AdminChanged: (callback: (event: { previousAdmin: `0x${string}`; newAdmin: `0x${string}` }) => void) => {
3591
+ return this.publicClient.watchContractEvent({
3592
+ address: this.contractAddress,
3593
+ abi: LidoARM_jsonAbi,
3594
+ eventName: 'AdminChanged',
3595
+
3596
+ onLogs: (logs: any[]) => {
3597
+ logs.forEach((log: any) => {
3598
+ callback(log.args as any);
3599
+ });
3600
+ },
3601
+ }) as () => void;
3602
+ },
3603
+ /**
3604
+ * Watch Allocated events
3605
+ * @param callback Function to call when event is emitted
3606
+ * @param filter Optional filter for indexed parameters
3607
+ * @returns Unwatch function to stop listening
3608
+ */
3609
+ Allocated: (callback: (event: { market: `0x${string}`; targetLiquidityDelta: bigint; actualLiquidityDelta: bigint }) => void, filter?: { market: `0x${string}` }) => {
3610
+ return this.publicClient.watchContractEvent({
3611
+ address: this.contractAddress,
3612
+ abi: LidoARM_jsonAbi,
3613
+ eventName: 'Allocated',
3614
+ args: filter,
3615
+ onLogs: (logs: any[]) => {
3616
+ logs.forEach((log: any) => {
3617
+ callback(log.args as any);
3618
+ });
3619
+ },
3620
+ }) as () => void;
3621
+ },
3622
+ /**
3623
+ * Watch Approval events
3624
+ * @param callback Function to call when event is emitted
3625
+ * @param filter Optional filter for indexed parameters
3626
+ * @returns Unwatch function to stop listening
3627
+ */
3628
+ Approval: (callback: (event: { owner: `0x${string}`; spender: `0x${string}`; value: bigint }) => void, filter?: { owner: `0x${string}`; spender: `0x${string}` }) => {
3629
+ return this.publicClient.watchContractEvent({
3630
+ address: this.contractAddress,
3631
+ abi: LidoARM_jsonAbi,
3632
+ eventName: 'Approval',
3633
+ args: filter,
3634
+ onLogs: (logs: any[]) => {
3635
+ logs.forEach((log: any) => {
3636
+ callback(log.args as any);
3637
+ });
3638
+ },
3639
+ }) as () => void;
3640
+ },
3641
+ /**
3642
+ * Watch CapManagerUpdated events
3643
+ * @param callback Function to call when event is emitted
3644
+ * @param filter Optional filter for indexed parameters
3645
+ * @returns Unwatch function to stop listening
3646
+ */
3647
+ CapManagerUpdated: (callback: (event: { capManager: `0x${string}` }) => void, filter?: { capManager: `0x${string}` }) => {
3648
+ return this.publicClient.watchContractEvent({
3649
+ address: this.contractAddress,
3650
+ abi: LidoARM_jsonAbi,
3651
+ eventName: 'CapManagerUpdated',
3652
+ args: filter,
3653
+ onLogs: (logs: any[]) => {
3654
+ logs.forEach((log: any) => {
3655
+ callback(log.args as any);
3656
+ });
3657
+ },
3658
+ }) as () => void;
3659
+ },
3660
+ /**
3661
+ * Watch ClaimLidoWithdrawals events
3662
+ * @param callback Function to call when event is emitted
3663
+ * @param filter Optional filter for indexed parameters
3664
+ * @returns Unwatch function to stop listening
3665
+ */
3666
+ ClaimLidoWithdrawals: (callback: (event: { requestIds: bigint[] }) => void) => {
3667
+ return this.publicClient.watchContractEvent({
3668
+ address: this.contractAddress,
3669
+ abi: LidoARM_jsonAbi,
3670
+ eventName: 'ClaimLidoWithdrawals',
3671
+
3672
+ onLogs: (logs: any[]) => {
3673
+ logs.forEach((log: any) => {
3674
+ callback(log.args as any);
3675
+ });
3676
+ },
3677
+ }) as () => void;
3678
+ },
3679
+ /**
3680
+ * Watch CrossPriceUpdated events
3681
+ * @param callback Function to call when event is emitted
3682
+ * @param filter Optional filter for indexed parameters
3683
+ * @returns Unwatch function to stop listening
3684
+ */
3685
+ CrossPriceUpdated: (callback: (event: { crossPrice: bigint }) => void) => {
3686
+ return this.publicClient.watchContractEvent({
3687
+ address: this.contractAddress,
3688
+ abi: LidoARM_jsonAbi,
3689
+ eventName: 'CrossPriceUpdated',
3690
+
3691
+ onLogs: (logs: any[]) => {
3692
+ logs.forEach((log: any) => {
3693
+ callback(log.args as any);
3694
+ });
3695
+ },
3696
+ }) as () => void;
3697
+ },
3698
+ /**
3699
+ * Watch Deposit events
3700
+ * @param callback Function to call when event is emitted
3701
+ * @param filter Optional filter for indexed parameters
3702
+ * @returns Unwatch function to stop listening
3703
+ */
3704
+ Deposit: (callback: (event: { owner: `0x${string}`; assets: bigint; shares: bigint }) => void, filter?: { owner: `0x${string}` }) => {
3705
+ return this.publicClient.watchContractEvent({
3706
+ address: this.contractAddress,
3707
+ abi: LidoARM_jsonAbi,
3708
+ eventName: 'Deposit',
3709
+ args: filter,
3710
+ onLogs: (logs: any[]) => {
3711
+ logs.forEach((log: any) => {
3712
+ callback(log.args as any);
3713
+ });
3714
+ },
3715
+ }) as () => void;
3716
+ },
3717
+ /**
3718
+ * Watch FeeCollected events
3719
+ * @param callback Function to call when event is emitted
3720
+ * @param filter Optional filter for indexed parameters
3721
+ * @returns Unwatch function to stop listening
3722
+ */
3723
+ FeeCollected: (callback: (event: { feeCollector: `0x${string}`; fee: bigint }) => void, filter?: { feeCollector: `0x${string}` }) => {
3724
+ return this.publicClient.watchContractEvent({
3725
+ address: this.contractAddress,
3726
+ abi: LidoARM_jsonAbi,
3727
+ eventName: 'FeeCollected',
3728
+ args: filter,
3729
+ onLogs: (logs: any[]) => {
3730
+ logs.forEach((log: any) => {
3731
+ callback(log.args as any);
3732
+ });
3733
+ },
3734
+ }) as () => void;
3735
+ },
3736
+ /**
3737
+ * Watch FeeCollectorUpdated events
3738
+ * @param callback Function to call when event is emitted
3739
+ * @param filter Optional filter for indexed parameters
3740
+ * @returns Unwatch function to stop listening
3741
+ */
3742
+ FeeCollectorUpdated: (callback: (event: { newFeeCollector: `0x${string}` }) => void, filter?: { newFeeCollector: `0x${string}` }) => {
3743
+ return this.publicClient.watchContractEvent({
3744
+ address: this.contractAddress,
3745
+ abi: LidoARM_jsonAbi,
3746
+ eventName: 'FeeCollectorUpdated',
3747
+ args: filter,
3748
+ onLogs: (logs: any[]) => {
3749
+ logs.forEach((log: any) => {
3750
+ callback(log.args as any);
3751
+ });
3752
+ },
3753
+ }) as () => void;
3754
+ },
3755
+ /**
3756
+ * Watch FeeUpdated events
3757
+ * @param callback Function to call when event is emitted
3758
+ * @param filter Optional filter for indexed parameters
3759
+ * @returns Unwatch function to stop listening
3760
+ */
3761
+ FeeUpdated: (callback: (event: { fee: bigint }) => void) => {
3762
+ return this.publicClient.watchContractEvent({
3763
+ address: this.contractAddress,
3764
+ abi: LidoARM_jsonAbi,
3765
+ eventName: 'FeeUpdated',
3766
+
3767
+ onLogs: (logs: any[]) => {
3768
+ logs.forEach((log: any) => {
3769
+ callback(log.args as any);
3770
+ });
3771
+ },
3772
+ }) as () => void;
3773
+ },
3774
+ /**
3775
+ * Watch Initialized events
3776
+ * @param callback Function to call when event is emitted
3777
+ * @param filter Optional filter for indexed parameters
3778
+ * @returns Unwatch function to stop listening
3779
+ */
3780
+ Initialized: (callback: (event: { version: bigint }) => void) => {
3781
+ return this.publicClient.watchContractEvent({
3782
+ address: this.contractAddress,
3783
+ abi: LidoARM_jsonAbi,
3784
+ eventName: 'Initialized',
3785
+
3786
+ onLogs: (logs: any[]) => {
3787
+ logs.forEach((log: any) => {
3788
+ callback(log.args as any);
3789
+ });
3790
+ },
3791
+ }) as () => void;
3792
+ },
3793
+ /**
3794
+ * Watch MarketAdded events
3795
+ * @param callback Function to call when event is emitted
3796
+ * @param filter Optional filter for indexed parameters
3797
+ * @returns Unwatch function to stop listening
3798
+ */
3799
+ MarketAdded: (callback: (event: { market: `0x${string}` }) => void, filter?: { market: `0x${string}` }) => {
3800
+ return this.publicClient.watchContractEvent({
3801
+ address: this.contractAddress,
3802
+ abi: LidoARM_jsonAbi,
3803
+ eventName: 'MarketAdded',
3804
+ args: filter,
3805
+ onLogs: (logs: any[]) => {
3806
+ logs.forEach((log: any) => {
3807
+ callback(log.args as any);
3808
+ });
3809
+ },
3810
+ }) as () => void;
3811
+ },
3812
+ /**
3813
+ * Watch MarketRemoved events
3814
+ * @param callback Function to call when event is emitted
3815
+ * @param filter Optional filter for indexed parameters
3816
+ * @returns Unwatch function to stop listening
3817
+ */
3818
+ MarketRemoved: (callback: (event: { market: `0x${string}` }) => void, filter?: { market: `0x${string}` }) => {
3819
+ return this.publicClient.watchContractEvent({
3820
+ address: this.contractAddress,
3821
+ abi: LidoARM_jsonAbi,
3822
+ eventName: 'MarketRemoved',
3823
+ args: filter,
3824
+ onLogs: (logs: any[]) => {
3825
+ logs.forEach((log: any) => {
3826
+ callback(log.args as any);
3827
+ });
3828
+ },
3829
+ }) as () => void;
3830
+ },
3831
+ /**
3832
+ * Watch OperatorChanged events
3833
+ * @param callback Function to call when event is emitted
3834
+ * @param filter Optional filter for indexed parameters
3835
+ * @returns Unwatch function to stop listening
3836
+ */
3837
+ OperatorChanged: (callback: (event: { newAdmin: `0x${string}` }) => void) => {
3838
+ return this.publicClient.watchContractEvent({
3839
+ address: this.contractAddress,
3840
+ abi: LidoARM_jsonAbi,
3841
+ eventName: 'OperatorChanged',
3842
+
3843
+ onLogs: (logs: any[]) => {
3844
+ logs.forEach((log: any) => {
3845
+ callback(log.args as any);
3846
+ });
3847
+ },
3848
+ }) as () => void;
3849
+ },
3850
+ /**
3851
+ * Watch Paused events
3852
+ * @param callback Function to call when event is emitted
3853
+ * @param filter Optional filter for indexed parameters
3854
+ * @returns Unwatch function to stop listening
3855
+ */
3856
+ Paused: (callback: (event: { account: `0x${string}` }) => void, filter?: { account: `0x${string}` }) => {
3857
+ return this.publicClient.watchContractEvent({
3858
+ address: this.contractAddress,
3859
+ abi: LidoARM_jsonAbi,
3860
+ eventName: 'Paused',
3861
+ args: filter,
3862
+ onLogs: (logs: any[]) => {
3863
+ logs.forEach((log: any) => {
3864
+ callback(log.args as any);
3865
+ });
3866
+ },
3867
+ }) as () => void;
3868
+ },
3869
+ /**
3870
+ * Watch RedeemClaimed events
3871
+ * @param callback Function to call when event is emitted
3872
+ * @param filter Optional filter for indexed parameters
3873
+ * @returns Unwatch function to stop listening
3874
+ */
3875
+ RedeemClaimed: (callback: (event: { withdrawer: `0x${string}`; requestId: bigint; assets: bigint }) => void, filter?: { withdrawer: `0x${string}`; requestId: bigint }) => {
3876
+ return this.publicClient.watchContractEvent({
3877
+ address: this.contractAddress,
3878
+ abi: LidoARM_jsonAbi,
3879
+ eventName: 'RedeemClaimed',
3880
+ args: filter,
3881
+ onLogs: (logs: any[]) => {
3882
+ logs.forEach((log: any) => {
3883
+ callback(log.args as any);
3884
+ });
3885
+ },
3886
+ }) as () => void;
3887
+ },
3888
+ /**
3889
+ * Watch RedeemRequested events
3890
+ * @param callback Function to call when event is emitted
3891
+ * @param filter Optional filter for indexed parameters
3892
+ * @returns Unwatch function to stop listening
3893
+ */
3894
+ RedeemRequested: (callback: (event: { withdrawer: `0x${string}`; requestId: bigint; assets: bigint; queued: bigint; claimTimestamp: bigint }) => void, filter?: { withdrawer: `0x${string}`; requestId: bigint }) => {
3895
+ return this.publicClient.watchContractEvent({
3896
+ address: this.contractAddress,
3897
+ abi: LidoARM_jsonAbi,
3898
+ eventName: 'RedeemRequested',
3899
+ args: filter,
3900
+ onLogs: (logs: any[]) => {
3901
+ logs.forEach((log: any) => {
3902
+ callback(log.args as any);
3903
+ });
3904
+ },
3905
+ }) as () => void;
3906
+ },
3907
+ /**
3908
+ * Watch RegisterLidoWithdrawalRequests events
3909
+ * @param callback Function to call when event is emitted
3910
+ * @param filter Optional filter for indexed parameters
3911
+ * @returns Unwatch function to stop listening
3912
+ */
3913
+ RegisterLidoWithdrawalRequests: (callback: (event: { requestIds: bigint[]; totalAmountRequested: bigint }) => void) => {
3914
+ return this.publicClient.watchContractEvent({
3915
+ address: this.contractAddress,
3916
+ abi: LidoARM_jsonAbi,
3917
+ eventName: 'RegisterLidoWithdrawalRequests',
3918
+
3919
+ onLogs: (logs: any[]) => {
3920
+ logs.forEach((log: any) => {
3921
+ callback(log.args as any);
3922
+ });
3923
+ },
3924
+ }) as () => void;
3925
+ },
3926
+ /**
3927
+ * Watch RequestLidoWithdrawals events
3928
+ * @param callback Function to call when event is emitted
3929
+ * @param filter Optional filter for indexed parameters
3930
+ * @returns Unwatch function to stop listening
3931
+ */
3932
+ RequestLidoWithdrawals: (callback: (event: { amounts: bigint[]; requestIds: bigint[] }) => void) => {
3933
+ return this.publicClient.watchContractEvent({
3934
+ address: this.contractAddress,
3935
+ abi: LidoARM_jsonAbi,
3936
+ eventName: 'RequestLidoWithdrawals',
3937
+
3938
+ onLogs: (logs: any[]) => {
3939
+ logs.forEach((log: any) => {
3940
+ callback(log.args as any);
3941
+ });
3942
+ },
3943
+ }) as () => void;
3944
+ },
3945
+ /**
3946
+ * Watch TraderateChanged events
3947
+ * @param callback Function to call when event is emitted
3948
+ * @param filter Optional filter for indexed parameters
3949
+ * @returns Unwatch function to stop listening
3950
+ */
3951
+ TraderateChanged: (callback: (event: { traderate0: bigint; traderate1: bigint }) => void) => {
3952
+ return this.publicClient.watchContractEvent({
3953
+ address: this.contractAddress,
3954
+ abi: LidoARM_jsonAbi,
3955
+ eventName: 'TraderateChanged',
3956
+
3957
+ onLogs: (logs: any[]) => {
3958
+ logs.forEach((log: any) => {
3959
+ callback(log.args as any);
3960
+ });
3961
+ },
3962
+ }) as () => void;
3963
+ },
3964
+ /**
3965
+ * Watch Transfer events
3966
+ * @param callback Function to call when event is emitted
3967
+ * @param filter Optional filter for indexed parameters
3968
+ * @returns Unwatch function to stop listening
3969
+ */
3970
+ Transfer: (callback: (event: { from: `0x${string}`; to: `0x${string}`; value: bigint }) => void, filter?: { from: `0x${string}`; to: `0x${string}` }) => {
3971
+ return this.publicClient.watchContractEvent({
3972
+ address: this.contractAddress,
3973
+ abi: LidoARM_jsonAbi,
3974
+ eventName: 'Transfer',
3975
+ args: filter,
3976
+ onLogs: (logs: any[]) => {
3977
+ logs.forEach((log: any) => {
3978
+ callback(log.args as any);
3979
+ });
3980
+ },
3981
+ }) as () => void;
3982
+ },
3983
+ /**
3984
+ * Watch Unpaused events
3985
+ * @param callback Function to call when event is emitted
3986
+ * @param filter Optional filter for indexed parameters
3987
+ * @returns Unwatch function to stop listening
3988
+ */
3989
+ Unpaused: (callback: (event: { account: `0x${string}` }) => void, filter?: { account: `0x${string}` }) => {
3990
+ return this.publicClient.watchContractEvent({
3991
+ address: this.contractAddress,
3992
+ abi: LidoARM_jsonAbi,
3993
+ eventName: 'Unpaused',
3994
+ args: filter,
3995
+ onLogs: (logs: any[]) => {
3996
+ logs.forEach((log: any) => {
3997
+ callback(log.args as any);
3998
+ });
3999
+ },
4000
+ }) as () => void;
4001
+ }
4002
+ };
4003
+ }
4004
+ }