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