@gitmyabi-stg/srusde 0.0.1

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