@gitmyabi-stg/dop 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1744 @@
1
+ import type { Address, PublicClient, WalletClient } from 'viem';
2
+ /**
3
+ * IDOP.Table struct type
4
+ */
5
+ export type IDOP_Table = {
6
+ lowerLimit: bigint;
7
+ upperLimit: bigint;
8
+ rate: bigint;
9
+ };
10
+ /**
11
+ * DOP ABI
12
+ *
13
+ * This ABI is typed using viem's type system for full type safety.
14
+ */
15
+ export declare const DOPAbi: readonly [{
16
+ readonly inputs: readonly [{
17
+ readonly internalType: "address";
18
+ readonly name: "initialOwner_";
19
+ readonly type: "address";
20
+ }, {
21
+ readonly internalType: "uint256";
22
+ readonly name: "startBlockNumber_";
23
+ readonly type: "uint256";
24
+ }, {
25
+ readonly internalType: "address";
26
+ readonly name: "treasury_";
27
+ readonly type: "address";
28
+ }, {
29
+ readonly internalType: "address";
30
+ readonly name: "dedicatedCaller_";
31
+ readonly type: "address";
32
+ }, {
33
+ readonly components: readonly [{
34
+ readonly internalType: "uint112";
35
+ readonly name: "lowerLimit";
36
+ readonly type: "uint112";
37
+ }, {
38
+ readonly internalType: "uint112";
39
+ readonly name: "upperLimit";
40
+ readonly type: "uint112";
41
+ }, {
42
+ readonly internalType: "uint32";
43
+ readonly name: "rate";
44
+ readonly type: "uint32";
45
+ }];
46
+ readonly internalType: "struct IDOP.Table[]";
47
+ readonly name: "inflationTable_";
48
+ readonly type: "tuple[]";
49
+ }, {
50
+ readonly internalType: "address[]";
51
+ readonly name: "initiallyAllowed_";
52
+ readonly type: "address[]";
53
+ }, {
54
+ readonly internalType: "uint256";
55
+ readonly name: "initialSupply_";
56
+ readonly type: "uint256";
57
+ }];
58
+ readonly stateMutability: "nonpayable";
59
+ readonly type: "constructor";
60
+ }, {
61
+ readonly inputs: readonly [];
62
+ readonly name: "AlreadyEnabled";
63
+ readonly type: "error";
64
+ }, {
65
+ readonly inputs: readonly [];
66
+ readonly name: "ECDSAInvalidSignature";
67
+ readonly type: "error";
68
+ }, {
69
+ readonly inputs: readonly [{
70
+ readonly internalType: "uint256";
71
+ readonly name: "length";
72
+ readonly type: "uint256";
73
+ }];
74
+ readonly name: "ECDSAInvalidSignatureLength";
75
+ readonly type: "error";
76
+ }, {
77
+ readonly inputs: readonly [{
78
+ readonly internalType: "bytes32";
79
+ readonly name: "s";
80
+ readonly type: "bytes32";
81
+ }];
82
+ readonly name: "ECDSAInvalidSignatureS";
83
+ readonly type: "error";
84
+ }, {
85
+ readonly inputs: readonly [{
86
+ readonly internalType: "address";
87
+ readonly name: "spender";
88
+ readonly type: "address";
89
+ }, {
90
+ readonly internalType: "uint256";
91
+ readonly name: "allowance";
92
+ readonly type: "uint256";
93
+ }, {
94
+ readonly internalType: "uint256";
95
+ readonly name: "needed";
96
+ readonly type: "uint256";
97
+ }];
98
+ readonly name: "ERC20InsufficientAllowance";
99
+ readonly type: "error";
100
+ }, {
101
+ readonly inputs: readonly [{
102
+ readonly internalType: "address";
103
+ readonly name: "sender";
104
+ readonly type: "address";
105
+ }, {
106
+ readonly internalType: "uint256";
107
+ readonly name: "balance";
108
+ readonly type: "uint256";
109
+ }, {
110
+ readonly internalType: "uint256";
111
+ readonly name: "needed";
112
+ readonly type: "uint256";
113
+ }];
114
+ readonly name: "ERC20InsufficientBalance";
115
+ readonly type: "error";
116
+ }, {
117
+ readonly inputs: readonly [{
118
+ readonly internalType: "address";
119
+ readonly name: "approver";
120
+ readonly type: "address";
121
+ }];
122
+ readonly name: "ERC20InvalidApprover";
123
+ readonly type: "error";
124
+ }, {
125
+ readonly inputs: readonly [{
126
+ readonly internalType: "address";
127
+ readonly name: "receiver";
128
+ readonly type: "address";
129
+ }];
130
+ readonly name: "ERC20InvalidReceiver";
131
+ readonly type: "error";
132
+ }, {
133
+ readonly inputs: readonly [{
134
+ readonly internalType: "address";
135
+ readonly name: "sender";
136
+ readonly type: "address";
137
+ }];
138
+ readonly name: "ERC20InvalidSender";
139
+ readonly type: "error";
140
+ }, {
141
+ readonly inputs: readonly [{
142
+ readonly internalType: "address";
143
+ readonly name: "spender";
144
+ readonly type: "address";
145
+ }];
146
+ readonly name: "ERC20InvalidSpender";
147
+ readonly type: "error";
148
+ }, {
149
+ readonly inputs: readonly [{
150
+ readonly internalType: "uint256";
151
+ readonly name: "deadline";
152
+ readonly type: "uint256";
153
+ }];
154
+ readonly name: "ERC2612ExpiredSignature";
155
+ readonly type: "error";
156
+ }, {
157
+ readonly inputs: readonly [{
158
+ readonly internalType: "address";
159
+ readonly name: "signer";
160
+ readonly type: "address";
161
+ }, {
162
+ readonly internalType: "address";
163
+ readonly name: "owner";
164
+ readonly type: "address";
165
+ }];
166
+ readonly name: "ERC2612InvalidSigner";
167
+ readonly type: "error";
168
+ }, {
169
+ readonly inputs: readonly [{
170
+ readonly internalType: "address";
171
+ readonly name: "account";
172
+ readonly type: "address";
173
+ }, {
174
+ readonly internalType: "uint256";
175
+ readonly name: "currentNonce";
176
+ readonly type: "uint256";
177
+ }];
178
+ readonly name: "InvalidAccountNonce";
179
+ readonly type: "error";
180
+ }, {
181
+ readonly inputs: readonly [];
182
+ readonly name: "InvalidShortString";
183
+ readonly type: "error";
184
+ }, {
185
+ readonly inputs: readonly [{
186
+ readonly internalType: "address";
187
+ readonly name: "owner";
188
+ readonly type: "address";
189
+ }];
190
+ readonly name: "OwnableInvalidOwner";
191
+ readonly type: "error";
192
+ }, {
193
+ readonly inputs: readonly [{
194
+ readonly internalType: "address";
195
+ readonly name: "account";
196
+ readonly type: "address";
197
+ }];
198
+ readonly name: "OwnableUnauthorizedAccount";
199
+ readonly type: "error";
200
+ }, {
201
+ readonly inputs: readonly [];
202
+ readonly name: "RangeMalformed";
203
+ readonly type: "error";
204
+ }, {
205
+ readonly inputs: readonly [];
206
+ readonly name: "RangeOverlap";
207
+ readonly type: "error";
208
+ }, {
209
+ readonly inputs: readonly [{
210
+ readonly internalType: "string";
211
+ readonly name: "str";
212
+ readonly type: "string";
213
+ }];
214
+ readonly name: "StringTooLong";
215
+ readonly type: "error";
216
+ }, {
217
+ readonly inputs: readonly [];
218
+ readonly name: "TransferNotAllowed";
219
+ readonly type: "error";
220
+ }, {
221
+ readonly anonymous: false;
222
+ readonly inputs: readonly [{
223
+ readonly components: readonly [{
224
+ readonly internalType: "uint112";
225
+ readonly name: "lowerLimit";
226
+ readonly type: "uint112";
227
+ }, {
228
+ readonly internalType: "uint112";
229
+ readonly name: "upperLimit";
230
+ readonly type: "uint112";
231
+ }, {
232
+ readonly internalType: "uint32";
233
+ readonly name: "rate";
234
+ readonly type: "uint32";
235
+ }];
236
+ readonly indexed: false;
237
+ readonly internalType: "struct IDOP.Table";
238
+ readonly name: "newTable";
239
+ readonly type: "tuple";
240
+ }];
241
+ readonly name: "AddInflationTable";
242
+ readonly type: "event";
243
+ }, {
244
+ readonly anonymous: false;
245
+ readonly inputs: readonly [{
246
+ readonly indexed: true;
247
+ readonly internalType: "address";
248
+ readonly name: "account";
249
+ readonly type: "address";
250
+ }, {
251
+ readonly indexed: false;
252
+ readonly internalType: "bool";
253
+ readonly name: "state";
254
+ readonly type: "bool";
255
+ }];
256
+ readonly name: "AllowListUpdated";
257
+ readonly type: "event";
258
+ }, {
259
+ readonly anonymous: false;
260
+ readonly inputs: readonly [{
261
+ readonly indexed: true;
262
+ readonly internalType: "address";
263
+ readonly name: "owner";
264
+ readonly type: "address";
265
+ }, {
266
+ readonly indexed: true;
267
+ readonly internalType: "address";
268
+ readonly name: "spender";
269
+ readonly type: "address";
270
+ }, {
271
+ readonly indexed: false;
272
+ readonly internalType: "uint256";
273
+ readonly name: "value";
274
+ readonly type: "uint256";
275
+ }];
276
+ readonly name: "Approval";
277
+ readonly type: "event";
278
+ }, {
279
+ readonly anonymous: false;
280
+ readonly inputs: readonly [];
281
+ readonly name: "EIP712DomainChanged";
282
+ readonly type: "event";
283
+ }, {
284
+ readonly anonymous: false;
285
+ readonly inputs: readonly [{
286
+ readonly indexed: false;
287
+ readonly internalType: "uint256";
288
+ readonly name: "twapPrice";
289
+ readonly type: "uint256";
290
+ }, {
291
+ readonly indexed: false;
292
+ readonly internalType: "uint256";
293
+ readonly name: "cycle";
294
+ readonly type: "uint256";
295
+ }, {
296
+ readonly indexed: false;
297
+ readonly internalType: "uint256";
298
+ readonly name: "cycleStartBlockNumber";
299
+ readonly type: "uint256";
300
+ }, {
301
+ readonly indexed: false;
302
+ readonly internalType: "uint256";
303
+ readonly name: "cycleEndBlockNumber";
304
+ readonly type: "uint256";
305
+ }, {
306
+ readonly indexed: false;
307
+ readonly internalType: "uint256";
308
+ readonly name: "fullyDilutedMarketCap";
309
+ readonly type: "uint256";
310
+ }, {
311
+ readonly indexed: false;
312
+ readonly internalType: "uint256";
313
+ readonly name: "amount";
314
+ readonly type: "uint256";
315
+ }];
316
+ readonly name: "Fund";
317
+ readonly type: "event";
318
+ }, {
319
+ readonly anonymous: false;
320
+ readonly inputs: readonly [{
321
+ readonly indexed: true;
322
+ readonly internalType: "address";
323
+ readonly name: "previousOwner";
324
+ readonly type: "address";
325
+ }, {
326
+ readonly indexed: true;
327
+ readonly internalType: "address";
328
+ readonly name: "newOwner";
329
+ readonly type: "address";
330
+ }];
331
+ readonly name: "OwnershipTransferred";
332
+ readonly type: "event";
333
+ }, {
334
+ readonly anonymous: false;
335
+ readonly inputs: readonly [{
336
+ readonly indexed: false;
337
+ readonly internalType: "uint256";
338
+ readonly name: "index";
339
+ readonly type: "uint256";
340
+ }];
341
+ readonly name: "RemoveInflationTable";
342
+ readonly type: "event";
343
+ }, {
344
+ readonly anonymous: false;
345
+ readonly inputs: readonly [{
346
+ readonly indexed: true;
347
+ readonly internalType: "address";
348
+ readonly name: "from";
349
+ readonly type: "address";
350
+ }, {
351
+ readonly indexed: true;
352
+ readonly internalType: "address";
353
+ readonly name: "to";
354
+ readonly type: "address";
355
+ }, {
356
+ readonly indexed: false;
357
+ readonly internalType: "uint256";
358
+ readonly name: "value";
359
+ readonly type: "uint256";
360
+ }];
361
+ readonly name: "Transfer";
362
+ readonly type: "event";
363
+ }, {
364
+ readonly anonymous: false;
365
+ readonly inputs: readonly [];
366
+ readonly name: "TransfersEnabled";
367
+ readonly type: "event";
368
+ }, {
369
+ readonly anonymous: false;
370
+ readonly inputs: readonly [{
371
+ readonly indexed: true;
372
+ readonly internalType: "address";
373
+ readonly name: "newAccumulator";
374
+ readonly type: "address";
375
+ }, {
376
+ readonly indexed: true;
377
+ readonly internalType: "address";
378
+ readonly name: "oldAccumulator";
379
+ readonly type: "address";
380
+ }];
381
+ readonly name: "UpdateAccumulator";
382
+ readonly type: "event";
383
+ }, {
384
+ readonly anonymous: false;
385
+ readonly inputs: readonly [{
386
+ readonly indexed: true;
387
+ readonly internalType: "address";
388
+ readonly name: "newDedicatedCaller";
389
+ readonly type: "address";
390
+ }, {
391
+ readonly indexed: true;
392
+ readonly internalType: "address";
393
+ readonly name: "oldDedicatedCaller";
394
+ readonly type: "address";
395
+ }];
396
+ readonly name: "UpdateDedicatedCaller";
397
+ readonly type: "event";
398
+ }, {
399
+ readonly anonymous: false;
400
+ readonly inputs: readonly [{
401
+ readonly indexed: false;
402
+ readonly internalType: "uint256";
403
+ readonly name: "index";
404
+ readonly type: "uint256";
405
+ }, {
406
+ readonly components: readonly [{
407
+ readonly internalType: "uint112";
408
+ readonly name: "lowerLimit";
409
+ readonly type: "uint112";
410
+ }, {
411
+ readonly internalType: "uint112";
412
+ readonly name: "upperLimit";
413
+ readonly type: "uint112";
414
+ }, {
415
+ readonly internalType: "uint32";
416
+ readonly name: "rate";
417
+ readonly type: "uint32";
418
+ }];
419
+ readonly indexed: false;
420
+ readonly internalType: "struct IDOP.Table";
421
+ readonly name: "newTable";
422
+ readonly type: "tuple";
423
+ }, {
424
+ readonly components: readonly [{
425
+ readonly internalType: "uint112";
426
+ readonly name: "lowerLimit";
427
+ readonly type: "uint112";
428
+ }, {
429
+ readonly internalType: "uint112";
430
+ readonly name: "upperLimit";
431
+ readonly type: "uint112";
432
+ }, {
433
+ readonly internalType: "uint32";
434
+ readonly name: "rate";
435
+ readonly type: "uint32";
436
+ }];
437
+ readonly indexed: false;
438
+ readonly internalType: "struct IDOP.Table";
439
+ readonly name: "oldTable";
440
+ readonly type: "tuple";
441
+ }];
442
+ readonly name: "UpdateInflationTable";
443
+ readonly type: "event";
444
+ }, {
445
+ readonly anonymous: false;
446
+ readonly inputs: readonly [{
447
+ readonly indexed: true;
448
+ readonly internalType: "address";
449
+ readonly name: "newTreasury";
450
+ readonly type: "address";
451
+ }, {
452
+ readonly indexed: true;
453
+ readonly internalType: "address";
454
+ readonly name: "oldTreasury";
455
+ readonly type: "address";
456
+ }];
457
+ readonly name: "UpdateTreasury";
458
+ readonly type: "event";
459
+ }, {
460
+ readonly inputs: readonly [];
461
+ readonly name: "DOMAIN_SEPARATOR";
462
+ readonly outputs: readonly [{
463
+ readonly internalType: "bytes32";
464
+ readonly name: "";
465
+ readonly type: "bytes32";
466
+ }];
467
+ readonly stateMutability: "view";
468
+ readonly type: "function";
469
+ }, {
470
+ readonly inputs: readonly [];
471
+ readonly name: "accumulator";
472
+ readonly outputs: readonly [{
473
+ readonly internalType: "contract IAccumulator";
474
+ readonly name: "";
475
+ readonly type: "address";
476
+ }];
477
+ readonly stateMutability: "view";
478
+ readonly type: "function";
479
+ }, {
480
+ readonly inputs: readonly [{
481
+ readonly internalType: "address";
482
+ readonly name: "owner";
483
+ readonly type: "address";
484
+ }, {
485
+ readonly internalType: "address";
486
+ readonly name: "spender";
487
+ readonly type: "address";
488
+ }];
489
+ readonly name: "allowance";
490
+ readonly outputs: readonly [{
491
+ readonly internalType: "uint256";
492
+ readonly name: "";
493
+ readonly type: "uint256";
494
+ }];
495
+ readonly stateMutability: "view";
496
+ readonly type: "function";
497
+ }, {
498
+ readonly inputs: readonly [{
499
+ readonly internalType: "address";
500
+ readonly name: "spender";
501
+ readonly type: "address";
502
+ }, {
503
+ readonly internalType: "uint256";
504
+ readonly name: "value";
505
+ readonly type: "uint256";
506
+ }];
507
+ readonly name: "approve";
508
+ readonly outputs: readonly [{
509
+ readonly internalType: "bool";
510
+ readonly name: "";
511
+ readonly type: "bool";
512
+ }];
513
+ readonly stateMutability: "nonpayable";
514
+ readonly type: "function";
515
+ }, {
516
+ readonly inputs: readonly [{
517
+ readonly internalType: "address";
518
+ readonly name: "account";
519
+ readonly type: "address";
520
+ }];
521
+ readonly name: "balanceOf";
522
+ readonly outputs: readonly [{
523
+ readonly internalType: "uint256";
524
+ readonly name: "";
525
+ readonly type: "uint256";
526
+ }];
527
+ readonly stateMutability: "view";
528
+ readonly type: "function";
529
+ }, {
530
+ readonly inputs: readonly [{
531
+ readonly internalType: "uint256";
532
+ readonly name: "value";
533
+ readonly type: "uint256";
534
+ }];
535
+ readonly name: "burn";
536
+ readonly outputs: readonly [];
537
+ readonly stateMutability: "nonpayable";
538
+ readonly type: "function";
539
+ }, {
540
+ readonly inputs: readonly [{
541
+ readonly internalType: "address";
542
+ readonly name: "account";
543
+ readonly type: "address";
544
+ }, {
545
+ readonly internalType: "uint256";
546
+ readonly name: "value";
547
+ readonly type: "uint256";
548
+ }];
549
+ readonly name: "burnFrom";
550
+ readonly outputs: readonly [];
551
+ readonly stateMutability: "nonpayable";
552
+ readonly type: "function";
553
+ }, {
554
+ readonly inputs: readonly [];
555
+ readonly name: "decimals";
556
+ readonly outputs: readonly [{
557
+ readonly internalType: "uint8";
558
+ readonly name: "";
559
+ readonly type: "uint8";
560
+ }];
561
+ readonly stateMutability: "view";
562
+ readonly type: "function";
563
+ }, {
564
+ readonly inputs: readonly [];
565
+ readonly name: "dedicatedCaller";
566
+ readonly outputs: readonly [{
567
+ readonly internalType: "address";
568
+ readonly name: "";
569
+ readonly type: "address";
570
+ }];
571
+ readonly stateMutability: "view";
572
+ readonly type: "function";
573
+ }, {
574
+ readonly inputs: readonly [];
575
+ readonly name: "eip712Domain";
576
+ readonly outputs: readonly [{
577
+ readonly internalType: "bytes1";
578
+ readonly name: "fields";
579
+ readonly type: "bytes1";
580
+ }, {
581
+ readonly internalType: "string";
582
+ readonly name: "name";
583
+ readonly type: "string";
584
+ }, {
585
+ readonly internalType: "string";
586
+ readonly name: "version";
587
+ readonly type: "string";
588
+ }, {
589
+ readonly internalType: "uint256";
590
+ readonly name: "chainId";
591
+ readonly type: "uint256";
592
+ }, {
593
+ readonly internalType: "address";
594
+ readonly name: "verifyingContract";
595
+ readonly type: "address";
596
+ }, {
597
+ readonly internalType: "bytes32";
598
+ readonly name: "salt";
599
+ readonly type: "bytes32";
600
+ }, {
601
+ readonly internalType: "uint256[]";
602
+ readonly name: "extensions";
603
+ readonly type: "uint256[]";
604
+ }];
605
+ readonly stateMutability: "view";
606
+ readonly type: "function";
607
+ }, {
608
+ readonly inputs: readonly [];
609
+ readonly name: "enableTransfer";
610
+ readonly outputs: readonly [];
611
+ readonly stateMutability: "nonpayable";
612
+ readonly type: "function";
613
+ }, {
614
+ readonly inputs: readonly [];
615
+ readonly name: "fund";
616
+ readonly outputs: readonly [];
617
+ readonly stateMutability: "nonpayable";
618
+ readonly type: "function";
619
+ }, {
620
+ readonly inputs: readonly [{
621
+ readonly internalType: "uint256";
622
+ readonly name: "";
623
+ readonly type: "uint256";
624
+ }];
625
+ readonly name: "inflationTable";
626
+ readonly outputs: readonly [{
627
+ readonly internalType: "uint112";
628
+ readonly name: "lowerLimit";
629
+ readonly type: "uint112";
630
+ }, {
631
+ readonly internalType: "uint112";
632
+ readonly name: "upperLimit";
633
+ readonly type: "uint112";
634
+ }, {
635
+ readonly internalType: "uint32";
636
+ readonly name: "rate";
637
+ readonly type: "uint32";
638
+ }];
639
+ readonly stateMutability: "view";
640
+ readonly type: "function";
641
+ }, {
642
+ readonly inputs: readonly [{
643
+ readonly internalType: "address";
644
+ readonly name: "";
645
+ readonly type: "address";
646
+ }];
647
+ readonly name: "initiallyAllowed";
648
+ readonly outputs: readonly [{
649
+ readonly internalType: "bool";
650
+ readonly name: "";
651
+ readonly type: "bool";
652
+ }];
653
+ readonly stateMutability: "view";
654
+ readonly type: "function";
655
+ }, {
656
+ readonly inputs: readonly [];
657
+ readonly name: "isTransferEnabled";
658
+ readonly outputs: readonly [{
659
+ readonly internalType: "bool";
660
+ readonly name: "";
661
+ readonly type: "bool";
662
+ }];
663
+ readonly stateMutability: "view";
664
+ readonly type: "function";
665
+ }, {
666
+ readonly inputs: readonly [];
667
+ readonly name: "name";
668
+ readonly outputs: readonly [{
669
+ readonly internalType: "string";
670
+ readonly name: "";
671
+ readonly type: "string";
672
+ }];
673
+ readonly stateMutability: "view";
674
+ readonly type: "function";
675
+ }, {
676
+ readonly inputs: readonly [];
677
+ readonly name: "nextCycle";
678
+ readonly outputs: readonly [{
679
+ readonly internalType: "uint256";
680
+ readonly name: "";
681
+ readonly type: "uint256";
682
+ }];
683
+ readonly stateMutability: "view";
684
+ readonly type: "function";
685
+ }, {
686
+ readonly inputs: readonly [];
687
+ readonly name: "nextCycleStartBlockNumber";
688
+ readonly outputs: readonly [{
689
+ readonly internalType: "uint256";
690
+ readonly name: "";
691
+ readonly type: "uint256";
692
+ }];
693
+ readonly stateMutability: "view";
694
+ readonly type: "function";
695
+ }, {
696
+ readonly inputs: readonly [{
697
+ readonly internalType: "address";
698
+ readonly name: "owner";
699
+ readonly type: "address";
700
+ }];
701
+ readonly name: "nonces";
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: "owner";
712
+ readonly outputs: readonly [{
713
+ readonly internalType: "address";
714
+ readonly name: "";
715
+ readonly type: "address";
716
+ }];
717
+ readonly stateMutability: "view";
718
+ readonly type: "function";
719
+ }, {
720
+ readonly inputs: readonly [{
721
+ readonly internalType: "address";
722
+ readonly name: "owner";
723
+ readonly type: "address";
724
+ }, {
725
+ readonly internalType: "address";
726
+ readonly name: "spender";
727
+ readonly type: "address";
728
+ }, {
729
+ readonly internalType: "uint256";
730
+ readonly name: "value";
731
+ readonly type: "uint256";
732
+ }, {
733
+ readonly internalType: "uint256";
734
+ readonly name: "deadline";
735
+ readonly type: "uint256";
736
+ }, {
737
+ readonly internalType: "uint8";
738
+ readonly name: "v";
739
+ readonly type: "uint8";
740
+ }, {
741
+ readonly internalType: "bytes32";
742
+ readonly name: "r";
743
+ readonly type: "bytes32";
744
+ }, {
745
+ readonly internalType: "bytes32";
746
+ readonly name: "s";
747
+ readonly type: "bytes32";
748
+ }];
749
+ readonly name: "permit";
750
+ readonly outputs: readonly [];
751
+ readonly stateMutability: "nonpayable";
752
+ readonly type: "function";
753
+ }, {
754
+ readonly inputs: readonly [];
755
+ readonly name: "renounceOwnership";
756
+ readonly outputs: readonly [];
757
+ readonly stateMutability: "nonpayable";
758
+ readonly type: "function";
759
+ }, {
760
+ readonly inputs: readonly [{
761
+ readonly internalType: "enum SetState";
762
+ readonly name: "setState";
763
+ readonly type: "uint8";
764
+ }, {
765
+ readonly internalType: "uint256";
766
+ readonly name: "index";
767
+ readonly type: "uint256";
768
+ }, {
769
+ readonly components: readonly [{
770
+ readonly internalType: "uint112";
771
+ readonly name: "lowerLimit";
772
+ readonly type: "uint112";
773
+ }, {
774
+ readonly internalType: "uint112";
775
+ readonly name: "upperLimit";
776
+ readonly type: "uint112";
777
+ }, {
778
+ readonly internalType: "uint32";
779
+ readonly name: "rate";
780
+ readonly type: "uint32";
781
+ }];
782
+ readonly internalType: "struct IDOP.Table";
783
+ readonly name: "newTable";
784
+ readonly type: "tuple";
785
+ }];
786
+ readonly name: "setInflationTable";
787
+ readonly outputs: readonly [];
788
+ readonly stateMutability: "nonpayable";
789
+ readonly type: "function";
790
+ }, {
791
+ readonly inputs: readonly [];
792
+ readonly name: "symbol";
793
+ readonly outputs: readonly [{
794
+ readonly internalType: "string";
795
+ readonly name: "";
796
+ readonly type: "string";
797
+ }];
798
+ readonly stateMutability: "view";
799
+ readonly type: "function";
800
+ }, {
801
+ readonly inputs: readonly [];
802
+ readonly name: "totalSupply";
803
+ readonly outputs: readonly [{
804
+ readonly internalType: "uint256";
805
+ readonly name: "";
806
+ readonly type: "uint256";
807
+ }];
808
+ readonly stateMutability: "view";
809
+ readonly type: "function";
810
+ }, {
811
+ readonly inputs: readonly [{
812
+ readonly internalType: "address";
813
+ readonly name: "to";
814
+ readonly type: "address";
815
+ }, {
816
+ readonly internalType: "uint256";
817
+ readonly name: "value";
818
+ readonly type: "uint256";
819
+ }];
820
+ readonly name: "transfer";
821
+ readonly outputs: readonly [{
822
+ readonly internalType: "bool";
823
+ readonly name: "";
824
+ readonly type: "bool";
825
+ }];
826
+ readonly stateMutability: "nonpayable";
827
+ readonly type: "function";
828
+ }, {
829
+ readonly inputs: readonly [{
830
+ readonly internalType: "address";
831
+ readonly name: "from";
832
+ readonly type: "address";
833
+ }, {
834
+ readonly internalType: "address";
835
+ readonly name: "to";
836
+ readonly type: "address";
837
+ }, {
838
+ readonly internalType: "uint256";
839
+ readonly name: "value";
840
+ readonly type: "uint256";
841
+ }];
842
+ readonly name: "transferFrom";
843
+ readonly outputs: readonly [{
844
+ readonly internalType: "bool";
845
+ readonly name: "";
846
+ readonly type: "bool";
847
+ }];
848
+ readonly stateMutability: "nonpayable";
849
+ readonly type: "function";
850
+ }, {
851
+ readonly inputs: readonly [{
852
+ readonly internalType: "address";
853
+ readonly name: "newOwner";
854
+ readonly type: "address";
855
+ }];
856
+ readonly name: "transferOwnership";
857
+ readonly outputs: readonly [];
858
+ readonly stateMutability: "nonpayable";
859
+ readonly type: "function";
860
+ }, {
861
+ readonly inputs: readonly [];
862
+ readonly name: "treasury";
863
+ readonly outputs: readonly [{
864
+ readonly internalType: "address";
865
+ readonly name: "";
866
+ readonly type: "address";
867
+ }];
868
+ readonly stateMutability: "view";
869
+ readonly type: "function";
870
+ }, {
871
+ readonly inputs: readonly [{
872
+ readonly internalType: "address";
873
+ readonly name: "account";
874
+ readonly type: "address";
875
+ }, {
876
+ readonly internalType: "bool";
877
+ readonly name: "state";
878
+ readonly type: "bool";
879
+ }];
880
+ readonly name: "updateAccountState";
881
+ readonly outputs: readonly [];
882
+ readonly stateMutability: "nonpayable";
883
+ readonly type: "function";
884
+ }, {
885
+ readonly inputs: readonly [{
886
+ readonly internalType: "contract IAccumulator";
887
+ readonly name: "newAccumulator";
888
+ readonly type: "address";
889
+ }];
890
+ readonly name: "updateAccumulator";
891
+ readonly outputs: readonly [];
892
+ readonly stateMutability: "nonpayable";
893
+ readonly type: "function";
894
+ }, {
895
+ readonly inputs: readonly [{
896
+ readonly internalType: "address";
897
+ readonly name: "newDedicatedCaller";
898
+ readonly type: "address";
899
+ }];
900
+ readonly name: "updateDedicatedCaller";
901
+ readonly outputs: readonly [];
902
+ readonly stateMutability: "nonpayable";
903
+ readonly type: "function";
904
+ }, {
905
+ readonly inputs: readonly [{
906
+ readonly internalType: "address";
907
+ readonly name: "newTreasury";
908
+ readonly type: "address";
909
+ }];
910
+ readonly name: "updateTreasury";
911
+ readonly outputs: readonly [];
912
+ readonly stateMutability: "nonpayable";
913
+ readonly type: "function";
914
+ }];
915
+ /**
916
+ * Type-safe ABI for DOP
917
+ */
918
+ export type DOPAbi = typeof DOPAbi;
919
+ /**
920
+ * Contract instance type for DOP
921
+ */
922
+ export type DOPContract = any;
923
+ /**
924
+ * DOP Contract Class
925
+ *
926
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
927
+ *
928
+ * @example
929
+ * ```typescript
930
+ * import { createPublicClient, createWalletClient, http } from 'viem';
931
+ * import { mainnet } from 'viem/chains';
932
+ * import { DOP } from 'DOP';
933
+ *
934
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
935
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
936
+ *
937
+ * const contract = new DOP('0x...', { publicClient, walletClient });
938
+ *
939
+ * // Read functions
940
+ * const result = await contract.balanceOf('0x...');
941
+ *
942
+ * // Write functions
943
+ * const hash = await contract.transfer('0x...', 1000n);
944
+ *
945
+ * // Simulate transactions (dry-run)
946
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
947
+ * console.log('Gas estimate:', simulation.request.gas);
948
+ *
949
+ * // Watch events
950
+ * const unwatch = contract.watch.Transfer((event) => {
951
+ * console.log('Transfer event:', event);
952
+ * });
953
+ * ```
954
+ */
955
+ export declare class DOP {
956
+ private contract;
957
+ private contractAddress;
958
+ private publicClient;
959
+ constructor(address: Address, clients: {
960
+ publicClient: PublicClient;
961
+ walletClient?: WalletClient;
962
+ });
963
+ /**
964
+ * Get the contract address
965
+ */
966
+ get address(): Address;
967
+ /**
968
+ * Get the underlying viem contract instance.
969
+ */
970
+ getContract(): DOPContract;
971
+ /**
972
+ * DOMAIN_SEPARATOR
973
+ * view
974
+ */
975
+ DOMAIN_SEPARATOR(): Promise<`0x${string}`>;
976
+ /**
977
+ * accumulator
978
+ * view
979
+ */
980
+ accumulator(): Promise<`0x${string}`>;
981
+ /**
982
+ * allowance
983
+ * view
984
+ */
985
+ allowance(owner: `0x${string}`, spender: `0x${string}`): Promise<bigint>;
986
+ /**
987
+ * balanceOf
988
+ * view
989
+ */
990
+ balanceOf(account: `0x${string}`): Promise<bigint>;
991
+ /**
992
+ * decimals
993
+ * view
994
+ */
995
+ decimals(): Promise<bigint>;
996
+ /**
997
+ * dedicatedCaller
998
+ * view
999
+ */
1000
+ dedicatedCaller(): Promise<`0x${string}`>;
1001
+ /**
1002
+ * eip712Domain
1003
+ * view
1004
+ */
1005
+ eip712Domain(): Promise<[`0x${string}`, string, string, bigint, `0x${string}`, `0x${string}`, bigint[]]>;
1006
+ /**
1007
+ * inflationTable
1008
+ * view
1009
+ */
1010
+ inflationTable(arg0: bigint): Promise<[bigint, bigint, bigint]>;
1011
+ /**
1012
+ * initiallyAllowed
1013
+ * view
1014
+ */
1015
+ initiallyAllowed(arg0: `0x${string}`): Promise<boolean>;
1016
+ /**
1017
+ * isTransferEnabled
1018
+ * view
1019
+ */
1020
+ isTransferEnabled(): Promise<boolean>;
1021
+ /**
1022
+ * name
1023
+ * view
1024
+ */
1025
+ name(): Promise<string>;
1026
+ /**
1027
+ * nextCycle
1028
+ * view
1029
+ */
1030
+ nextCycle(): Promise<bigint>;
1031
+ /**
1032
+ * nextCycleStartBlockNumber
1033
+ * view
1034
+ */
1035
+ nextCycleStartBlockNumber(): Promise<bigint>;
1036
+ /**
1037
+ * nonces
1038
+ * view
1039
+ */
1040
+ nonces(owner: `0x${string}`): Promise<bigint>;
1041
+ /**
1042
+ * owner
1043
+ * view
1044
+ */
1045
+ owner(): Promise<`0x${string}`>;
1046
+ /**
1047
+ * symbol
1048
+ * view
1049
+ */
1050
+ symbol(): Promise<string>;
1051
+ /**
1052
+ * totalSupply
1053
+ * view
1054
+ */
1055
+ totalSupply(): Promise<bigint>;
1056
+ /**
1057
+ * treasury
1058
+ * view
1059
+ */
1060
+ treasury(): Promise<`0x${string}`>;
1061
+ /**
1062
+ * approve
1063
+ * nonpayable
1064
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1065
+ */
1066
+ approve(spender: `0x${string}`, value: bigint, options?: {
1067
+ accessList?: import('viem').AccessList;
1068
+ authorizationList?: import('viem').AuthorizationList;
1069
+ chain?: import('viem').Chain | null;
1070
+ dataSuffix?: `0x${string}`;
1071
+ gas?: bigint;
1072
+ gasPrice?: bigint;
1073
+ maxFeePerGas?: bigint;
1074
+ maxPriorityFeePerGas?: bigint;
1075
+ nonce?: number;
1076
+ value?: bigint;
1077
+ }): Promise<`0x${string}`>;
1078
+ /**
1079
+ * burn
1080
+ * nonpayable
1081
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1082
+ */
1083
+ burn(value: bigint, options?: {
1084
+ accessList?: import('viem').AccessList;
1085
+ authorizationList?: import('viem').AuthorizationList;
1086
+ chain?: import('viem').Chain | null;
1087
+ dataSuffix?: `0x${string}`;
1088
+ gas?: bigint;
1089
+ gasPrice?: bigint;
1090
+ maxFeePerGas?: bigint;
1091
+ maxPriorityFeePerGas?: bigint;
1092
+ nonce?: number;
1093
+ value?: bigint;
1094
+ }): Promise<`0x${string}`>;
1095
+ /**
1096
+ * burnFrom
1097
+ * nonpayable
1098
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1099
+ */
1100
+ burnFrom(account: `0x${string}`, value: bigint, options?: {
1101
+ accessList?: import('viem').AccessList;
1102
+ authorizationList?: import('viem').AuthorizationList;
1103
+ chain?: import('viem').Chain | null;
1104
+ dataSuffix?: `0x${string}`;
1105
+ gas?: bigint;
1106
+ gasPrice?: bigint;
1107
+ maxFeePerGas?: bigint;
1108
+ maxPriorityFeePerGas?: bigint;
1109
+ nonce?: number;
1110
+ value?: bigint;
1111
+ }): Promise<`0x${string}`>;
1112
+ /**
1113
+ * enableTransfer
1114
+ * nonpayable
1115
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1116
+ */
1117
+ enableTransfer(options?: {
1118
+ accessList?: import('viem').AccessList;
1119
+ authorizationList?: import('viem').AuthorizationList;
1120
+ chain?: import('viem').Chain | null;
1121
+ dataSuffix?: `0x${string}`;
1122
+ gas?: bigint;
1123
+ gasPrice?: bigint;
1124
+ maxFeePerGas?: bigint;
1125
+ maxPriorityFeePerGas?: bigint;
1126
+ nonce?: number;
1127
+ value?: bigint;
1128
+ }): Promise<`0x${string}`>;
1129
+ /**
1130
+ * fund
1131
+ * nonpayable
1132
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1133
+ */
1134
+ fund(options?: {
1135
+ accessList?: import('viem').AccessList;
1136
+ authorizationList?: import('viem').AuthorizationList;
1137
+ chain?: import('viem').Chain | null;
1138
+ dataSuffix?: `0x${string}`;
1139
+ gas?: bigint;
1140
+ gasPrice?: bigint;
1141
+ maxFeePerGas?: bigint;
1142
+ maxPriorityFeePerGas?: bigint;
1143
+ nonce?: number;
1144
+ value?: bigint;
1145
+ }): Promise<`0x${string}`>;
1146
+ /**
1147
+ * permit
1148
+ * nonpayable
1149
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1150
+ */
1151
+ permit(owner: `0x${string}`, spender: `0x${string}`, value: bigint, deadline: bigint, v: bigint, r: `0x${string}`, s: `0x${string}`, options?: {
1152
+ accessList?: import('viem').AccessList;
1153
+ authorizationList?: import('viem').AuthorizationList;
1154
+ chain?: import('viem').Chain | null;
1155
+ dataSuffix?: `0x${string}`;
1156
+ gas?: bigint;
1157
+ gasPrice?: bigint;
1158
+ maxFeePerGas?: bigint;
1159
+ maxPriorityFeePerGas?: bigint;
1160
+ nonce?: number;
1161
+ value?: bigint;
1162
+ }): Promise<`0x${string}`>;
1163
+ /**
1164
+ * renounceOwnership
1165
+ * nonpayable
1166
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1167
+ */
1168
+ renounceOwnership(options?: {
1169
+ accessList?: import('viem').AccessList;
1170
+ authorizationList?: import('viem').AuthorizationList;
1171
+ chain?: import('viem').Chain | null;
1172
+ dataSuffix?: `0x${string}`;
1173
+ gas?: bigint;
1174
+ gasPrice?: bigint;
1175
+ maxFeePerGas?: bigint;
1176
+ maxPriorityFeePerGas?: bigint;
1177
+ nonce?: number;
1178
+ value?: bigint;
1179
+ }): Promise<`0x${string}`>;
1180
+ /**
1181
+ * setInflationTable
1182
+ * nonpayable
1183
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1184
+ */
1185
+ setInflationTable(setState: bigint, index: bigint, newTable: IDOP_Table, options?: {
1186
+ accessList?: import('viem').AccessList;
1187
+ authorizationList?: import('viem').AuthorizationList;
1188
+ chain?: import('viem').Chain | null;
1189
+ dataSuffix?: `0x${string}`;
1190
+ gas?: bigint;
1191
+ gasPrice?: bigint;
1192
+ maxFeePerGas?: bigint;
1193
+ maxPriorityFeePerGas?: bigint;
1194
+ nonce?: number;
1195
+ value?: bigint;
1196
+ }): Promise<`0x${string}`>;
1197
+ /**
1198
+ * transfer
1199
+ * nonpayable
1200
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1201
+ */
1202
+ transfer(to: `0x${string}`, value: bigint, options?: {
1203
+ accessList?: import('viem').AccessList;
1204
+ authorizationList?: import('viem').AuthorizationList;
1205
+ chain?: import('viem').Chain | null;
1206
+ dataSuffix?: `0x${string}`;
1207
+ gas?: bigint;
1208
+ gasPrice?: bigint;
1209
+ maxFeePerGas?: bigint;
1210
+ maxPriorityFeePerGas?: bigint;
1211
+ nonce?: number;
1212
+ value?: bigint;
1213
+ }): Promise<`0x${string}`>;
1214
+ /**
1215
+ * transferFrom
1216
+ * nonpayable
1217
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1218
+ */
1219
+ transferFrom(from: `0x${string}`, to: `0x${string}`, value: bigint, options?: {
1220
+ accessList?: import('viem').AccessList;
1221
+ authorizationList?: import('viem').AuthorizationList;
1222
+ chain?: import('viem').Chain | null;
1223
+ dataSuffix?: `0x${string}`;
1224
+ gas?: bigint;
1225
+ gasPrice?: bigint;
1226
+ maxFeePerGas?: bigint;
1227
+ maxPriorityFeePerGas?: bigint;
1228
+ nonce?: number;
1229
+ value?: bigint;
1230
+ }): Promise<`0x${string}`>;
1231
+ /**
1232
+ * transferOwnership
1233
+ * nonpayable
1234
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1235
+ */
1236
+ transferOwnership(newOwner: `0x${string}`, options?: {
1237
+ accessList?: import('viem').AccessList;
1238
+ authorizationList?: import('viem').AuthorizationList;
1239
+ chain?: import('viem').Chain | null;
1240
+ dataSuffix?: `0x${string}`;
1241
+ gas?: bigint;
1242
+ gasPrice?: bigint;
1243
+ maxFeePerGas?: bigint;
1244
+ maxPriorityFeePerGas?: bigint;
1245
+ nonce?: number;
1246
+ value?: bigint;
1247
+ }): Promise<`0x${string}`>;
1248
+ /**
1249
+ * updateAccountState
1250
+ * nonpayable
1251
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1252
+ */
1253
+ updateAccountState(account: `0x${string}`, state: boolean, options?: {
1254
+ accessList?: import('viem').AccessList;
1255
+ authorizationList?: import('viem').AuthorizationList;
1256
+ chain?: import('viem').Chain | null;
1257
+ dataSuffix?: `0x${string}`;
1258
+ gas?: bigint;
1259
+ gasPrice?: bigint;
1260
+ maxFeePerGas?: bigint;
1261
+ maxPriorityFeePerGas?: bigint;
1262
+ nonce?: number;
1263
+ value?: bigint;
1264
+ }): Promise<`0x${string}`>;
1265
+ /**
1266
+ * updateAccumulator
1267
+ * nonpayable
1268
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1269
+ */
1270
+ updateAccumulator(newAccumulator: `0x${string}`, options?: {
1271
+ accessList?: import('viem').AccessList;
1272
+ authorizationList?: import('viem').AuthorizationList;
1273
+ chain?: import('viem').Chain | null;
1274
+ dataSuffix?: `0x${string}`;
1275
+ gas?: bigint;
1276
+ gasPrice?: bigint;
1277
+ maxFeePerGas?: bigint;
1278
+ maxPriorityFeePerGas?: bigint;
1279
+ nonce?: number;
1280
+ value?: bigint;
1281
+ }): Promise<`0x${string}`>;
1282
+ /**
1283
+ * updateDedicatedCaller
1284
+ * nonpayable
1285
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1286
+ */
1287
+ updateDedicatedCaller(newDedicatedCaller: `0x${string}`, options?: {
1288
+ accessList?: import('viem').AccessList;
1289
+ authorizationList?: import('viem').AuthorizationList;
1290
+ chain?: import('viem').Chain | null;
1291
+ dataSuffix?: `0x${string}`;
1292
+ gas?: bigint;
1293
+ gasPrice?: bigint;
1294
+ maxFeePerGas?: bigint;
1295
+ maxPriorityFeePerGas?: bigint;
1296
+ nonce?: number;
1297
+ value?: bigint;
1298
+ }): Promise<`0x${string}`>;
1299
+ /**
1300
+ * updateTreasury
1301
+ * nonpayable
1302
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1303
+ */
1304
+ updateTreasury(newTreasury: `0x${string}`, options?: {
1305
+ accessList?: import('viem').AccessList;
1306
+ authorizationList?: import('viem').AuthorizationList;
1307
+ chain?: import('viem').Chain | null;
1308
+ dataSuffix?: `0x${string}`;
1309
+ gas?: bigint;
1310
+ gasPrice?: bigint;
1311
+ maxFeePerGas?: bigint;
1312
+ maxPriorityFeePerGas?: bigint;
1313
+ nonce?: number;
1314
+ value?: bigint;
1315
+ }): Promise<`0x${string}`>;
1316
+ /**
1317
+ * Simulate contract write operations (dry-run without sending transaction)
1318
+ *
1319
+ * @example
1320
+ * const result = await contract.simulate.transfer('0x...', 1000n);
1321
+ * console.log('Gas estimate:', result.request.gas);
1322
+ * console.log('Would succeed:', result.result);
1323
+ */
1324
+ get simulate(): {
1325
+ /**
1326
+ * Simulate approve
1327
+ * Returns gas estimate and result without sending transaction
1328
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1329
+ */
1330
+ approve(spender: `0x${string}`, value: bigint, options?: {
1331
+ accessList?: import("viem").AccessList;
1332
+ authorizationList?: import("viem").AuthorizationList;
1333
+ chain?: import("viem").Chain | null;
1334
+ dataSuffix?: `0x${string}`;
1335
+ gas?: bigint;
1336
+ gasPrice?: bigint;
1337
+ maxFeePerGas?: bigint;
1338
+ maxPriorityFeePerGas?: bigint;
1339
+ nonce?: number;
1340
+ value?: bigint;
1341
+ }): Promise<boolean>;
1342
+ /**
1343
+ * Simulate burn
1344
+ * Returns gas estimate and result without sending transaction
1345
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1346
+ */
1347
+ burn(value: bigint, options?: {
1348
+ accessList?: import("viem").AccessList;
1349
+ authorizationList?: import("viem").AuthorizationList;
1350
+ chain?: import("viem").Chain | null;
1351
+ dataSuffix?: `0x${string}`;
1352
+ gas?: bigint;
1353
+ gasPrice?: bigint;
1354
+ maxFeePerGas?: bigint;
1355
+ maxPriorityFeePerGas?: bigint;
1356
+ nonce?: number;
1357
+ value?: bigint;
1358
+ }): Promise<void>;
1359
+ /**
1360
+ * Simulate burnFrom
1361
+ * Returns gas estimate and result without sending transaction
1362
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1363
+ */
1364
+ burnFrom(account: `0x${string}`, value: bigint, options?: {
1365
+ accessList?: import("viem").AccessList;
1366
+ authorizationList?: import("viem").AuthorizationList;
1367
+ chain?: import("viem").Chain | null;
1368
+ dataSuffix?: `0x${string}`;
1369
+ gas?: bigint;
1370
+ gasPrice?: bigint;
1371
+ maxFeePerGas?: bigint;
1372
+ maxPriorityFeePerGas?: bigint;
1373
+ nonce?: number;
1374
+ value?: bigint;
1375
+ }): Promise<void>;
1376
+ /**
1377
+ * Simulate enableTransfer
1378
+ * Returns gas estimate and result without sending transaction
1379
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1380
+ */
1381
+ enableTransfer(options?: {
1382
+ accessList?: import("viem").AccessList;
1383
+ authorizationList?: import("viem").AuthorizationList;
1384
+ chain?: import("viem").Chain | null;
1385
+ dataSuffix?: `0x${string}`;
1386
+ gas?: bigint;
1387
+ gasPrice?: bigint;
1388
+ maxFeePerGas?: bigint;
1389
+ maxPriorityFeePerGas?: bigint;
1390
+ nonce?: number;
1391
+ value?: bigint;
1392
+ }): Promise<void>;
1393
+ /**
1394
+ * Simulate fund
1395
+ * Returns gas estimate and result without sending transaction
1396
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1397
+ */
1398
+ fund(options?: {
1399
+ accessList?: import("viem").AccessList;
1400
+ authorizationList?: import("viem").AuthorizationList;
1401
+ chain?: import("viem").Chain | null;
1402
+ dataSuffix?: `0x${string}`;
1403
+ gas?: bigint;
1404
+ gasPrice?: bigint;
1405
+ maxFeePerGas?: bigint;
1406
+ maxPriorityFeePerGas?: bigint;
1407
+ nonce?: number;
1408
+ value?: bigint;
1409
+ }): Promise<void>;
1410
+ /**
1411
+ * Simulate permit
1412
+ * Returns gas estimate and result without sending transaction
1413
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1414
+ */
1415
+ permit(owner: `0x${string}`, spender: `0x${string}`, value: bigint, deadline: bigint, v: bigint, r: `0x${string}`, s: `0x${string}`, options?: {
1416
+ accessList?: import("viem").AccessList;
1417
+ authorizationList?: import("viem").AuthorizationList;
1418
+ chain?: import("viem").Chain | null;
1419
+ dataSuffix?: `0x${string}`;
1420
+ gas?: bigint;
1421
+ gasPrice?: bigint;
1422
+ maxFeePerGas?: bigint;
1423
+ maxPriorityFeePerGas?: bigint;
1424
+ nonce?: number;
1425
+ value?: bigint;
1426
+ }): Promise<void>;
1427
+ /**
1428
+ * Simulate renounceOwnership
1429
+ * Returns gas estimate and result without sending transaction
1430
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1431
+ */
1432
+ renounceOwnership(options?: {
1433
+ accessList?: import("viem").AccessList;
1434
+ authorizationList?: import("viem").AuthorizationList;
1435
+ chain?: import("viem").Chain | null;
1436
+ dataSuffix?: `0x${string}`;
1437
+ gas?: bigint;
1438
+ gasPrice?: bigint;
1439
+ maxFeePerGas?: bigint;
1440
+ maxPriorityFeePerGas?: bigint;
1441
+ nonce?: number;
1442
+ value?: bigint;
1443
+ }): Promise<void>;
1444
+ /**
1445
+ * Simulate setInflationTable
1446
+ * Returns gas estimate and result without sending transaction
1447
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1448
+ */
1449
+ setInflationTable(setState: bigint, index: bigint, newTable: IDOP_Table, options?: {
1450
+ accessList?: import("viem").AccessList;
1451
+ authorizationList?: import("viem").AuthorizationList;
1452
+ chain?: import("viem").Chain | null;
1453
+ dataSuffix?: `0x${string}`;
1454
+ gas?: bigint;
1455
+ gasPrice?: bigint;
1456
+ maxFeePerGas?: bigint;
1457
+ maxPriorityFeePerGas?: bigint;
1458
+ nonce?: number;
1459
+ value?: bigint;
1460
+ }): Promise<void>;
1461
+ /**
1462
+ * Simulate transfer
1463
+ * Returns gas estimate and result without sending transaction
1464
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1465
+ */
1466
+ transfer(to: `0x${string}`, value: bigint, options?: {
1467
+ accessList?: import("viem").AccessList;
1468
+ authorizationList?: import("viem").AuthorizationList;
1469
+ chain?: import("viem").Chain | null;
1470
+ dataSuffix?: `0x${string}`;
1471
+ gas?: bigint;
1472
+ gasPrice?: bigint;
1473
+ maxFeePerGas?: bigint;
1474
+ maxPriorityFeePerGas?: bigint;
1475
+ nonce?: number;
1476
+ value?: bigint;
1477
+ }): Promise<boolean>;
1478
+ /**
1479
+ * Simulate transferFrom
1480
+ * Returns gas estimate and result without sending transaction
1481
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1482
+ */
1483
+ transferFrom(from: `0x${string}`, to: `0x${string}`, value: bigint, options?: {
1484
+ accessList?: import("viem").AccessList;
1485
+ authorizationList?: import("viem").AuthorizationList;
1486
+ chain?: import("viem").Chain | null;
1487
+ dataSuffix?: `0x${string}`;
1488
+ gas?: bigint;
1489
+ gasPrice?: bigint;
1490
+ maxFeePerGas?: bigint;
1491
+ maxPriorityFeePerGas?: bigint;
1492
+ nonce?: number;
1493
+ value?: bigint;
1494
+ }): Promise<boolean>;
1495
+ /**
1496
+ * Simulate transferOwnership
1497
+ * Returns gas estimate and result without sending transaction
1498
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1499
+ */
1500
+ transferOwnership(newOwner: `0x${string}`, options?: {
1501
+ accessList?: import("viem").AccessList;
1502
+ authorizationList?: import("viem").AuthorizationList;
1503
+ chain?: import("viem").Chain | null;
1504
+ dataSuffix?: `0x${string}`;
1505
+ gas?: bigint;
1506
+ gasPrice?: bigint;
1507
+ maxFeePerGas?: bigint;
1508
+ maxPriorityFeePerGas?: bigint;
1509
+ nonce?: number;
1510
+ value?: bigint;
1511
+ }): Promise<void>;
1512
+ /**
1513
+ * Simulate updateAccountState
1514
+ * Returns gas estimate and result without sending transaction
1515
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1516
+ */
1517
+ updateAccountState(account: `0x${string}`, state: boolean, options?: {
1518
+ accessList?: import("viem").AccessList;
1519
+ authorizationList?: import("viem").AuthorizationList;
1520
+ chain?: import("viem").Chain | null;
1521
+ dataSuffix?: `0x${string}`;
1522
+ gas?: bigint;
1523
+ gasPrice?: bigint;
1524
+ maxFeePerGas?: bigint;
1525
+ maxPriorityFeePerGas?: bigint;
1526
+ nonce?: number;
1527
+ value?: bigint;
1528
+ }): Promise<void>;
1529
+ /**
1530
+ * Simulate updateAccumulator
1531
+ * Returns gas estimate and result without sending transaction
1532
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1533
+ */
1534
+ updateAccumulator(newAccumulator: `0x${string}`, options?: {
1535
+ accessList?: import("viem").AccessList;
1536
+ authorizationList?: import("viem").AuthorizationList;
1537
+ chain?: import("viem").Chain | null;
1538
+ dataSuffix?: `0x${string}`;
1539
+ gas?: bigint;
1540
+ gasPrice?: bigint;
1541
+ maxFeePerGas?: bigint;
1542
+ maxPriorityFeePerGas?: bigint;
1543
+ nonce?: number;
1544
+ value?: bigint;
1545
+ }): Promise<void>;
1546
+ /**
1547
+ * Simulate updateDedicatedCaller
1548
+ * Returns gas estimate and result without sending transaction
1549
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1550
+ */
1551
+ updateDedicatedCaller(newDedicatedCaller: `0x${string}`, options?: {
1552
+ accessList?: import("viem").AccessList;
1553
+ authorizationList?: import("viem").AuthorizationList;
1554
+ chain?: import("viem").Chain | null;
1555
+ dataSuffix?: `0x${string}`;
1556
+ gas?: bigint;
1557
+ gasPrice?: bigint;
1558
+ maxFeePerGas?: bigint;
1559
+ maxPriorityFeePerGas?: bigint;
1560
+ nonce?: number;
1561
+ value?: bigint;
1562
+ }): Promise<void>;
1563
+ /**
1564
+ * Simulate updateTreasury
1565
+ * Returns gas estimate and result without sending transaction
1566
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1567
+ */
1568
+ updateTreasury(newTreasury: `0x${string}`, options?: {
1569
+ accessList?: import("viem").AccessList;
1570
+ authorizationList?: import("viem").AuthorizationList;
1571
+ chain?: import("viem").Chain | null;
1572
+ dataSuffix?: `0x${string}`;
1573
+ gas?: bigint;
1574
+ gasPrice?: bigint;
1575
+ maxFeePerGas?: bigint;
1576
+ maxPriorityFeePerGas?: bigint;
1577
+ nonce?: number;
1578
+ value?: bigint;
1579
+ }): Promise<void>;
1580
+ };
1581
+ /**
1582
+ * Watch contract events
1583
+ *
1584
+ * @example
1585
+ * // Watch all Transfer events
1586
+ * const unwatch = contract.watch.Transfer((event) => {
1587
+ * console.log('Transfer:', event);
1588
+ * });
1589
+ *
1590
+ * // Stop watching
1591
+ * unwatch();
1592
+ */
1593
+ get watch(): {
1594
+ /**
1595
+ * Watch AddInflationTable events
1596
+ * @param callback Function to call when event is emitted
1597
+ * @param filter Optional filter for indexed parameters
1598
+ * @returns Unwatch function to stop listening
1599
+ */
1600
+ AddInflationTable: (callback: (event: {
1601
+ newTable: IDOP_Table;
1602
+ }) => void) => () => void;
1603
+ /**
1604
+ * Watch AllowListUpdated events
1605
+ * @param callback Function to call when event is emitted
1606
+ * @param filter Optional filter for indexed parameters
1607
+ * @returns Unwatch function to stop listening
1608
+ */
1609
+ AllowListUpdated: (callback: (event: {
1610
+ account: `0x${string}`;
1611
+ state: boolean;
1612
+ }) => void, filter?: {
1613
+ account?: `0x${string}` | `0x${string}`[] | null;
1614
+ }) => () => void;
1615
+ /**
1616
+ * Watch Approval events
1617
+ * @param callback Function to call when event is emitted
1618
+ * @param filter Optional filter for indexed parameters
1619
+ * @returns Unwatch function to stop listening
1620
+ */
1621
+ Approval: (callback: (event: {
1622
+ owner: `0x${string}`;
1623
+ spender: `0x${string}`;
1624
+ value: bigint;
1625
+ }) => void, filter?: {
1626
+ owner?: `0x${string}` | `0x${string}`[] | null;
1627
+ spender?: `0x${string}` | `0x${string}`[] | null;
1628
+ }) => () => void;
1629
+ /**
1630
+ * Watch EIP712DomainChanged events
1631
+ * @param callback Function to call when event is emitted
1632
+ * @param filter Optional filter for indexed parameters
1633
+ * @returns Unwatch function to stop listening
1634
+ */
1635
+ EIP712DomainChanged: (callback: (event: {}) => void) => () => void;
1636
+ /**
1637
+ * Watch Fund events
1638
+ * @param callback Function to call when event is emitted
1639
+ * @param filter Optional filter for indexed parameters
1640
+ * @returns Unwatch function to stop listening
1641
+ */
1642
+ Fund: (callback: (event: {
1643
+ twapPrice: bigint;
1644
+ cycle: bigint;
1645
+ cycleStartBlockNumber: bigint;
1646
+ cycleEndBlockNumber: bigint;
1647
+ fullyDilutedMarketCap: bigint;
1648
+ amount: bigint;
1649
+ }) => void) => () => void;
1650
+ /**
1651
+ * Watch OwnershipTransferred events
1652
+ * @param callback Function to call when event is emitted
1653
+ * @param filter Optional filter for indexed parameters
1654
+ * @returns Unwatch function to stop listening
1655
+ */
1656
+ OwnershipTransferred: (callback: (event: {
1657
+ previousOwner: `0x${string}`;
1658
+ newOwner: `0x${string}`;
1659
+ }) => void, filter?: {
1660
+ previousOwner?: `0x${string}` | `0x${string}`[] | null;
1661
+ newOwner?: `0x${string}` | `0x${string}`[] | null;
1662
+ }) => () => void;
1663
+ /**
1664
+ * Watch RemoveInflationTable events
1665
+ * @param callback Function to call when event is emitted
1666
+ * @param filter Optional filter for indexed parameters
1667
+ * @returns Unwatch function to stop listening
1668
+ */
1669
+ RemoveInflationTable: (callback: (event: {
1670
+ index: bigint;
1671
+ }) => void) => () => void;
1672
+ /**
1673
+ * Watch Transfer events
1674
+ * @param callback Function to call when event is emitted
1675
+ * @param filter Optional filter for indexed parameters
1676
+ * @returns Unwatch function to stop listening
1677
+ */
1678
+ Transfer: (callback: (event: {
1679
+ from: `0x${string}`;
1680
+ to: `0x${string}`;
1681
+ value: bigint;
1682
+ }) => void, filter?: {
1683
+ from?: `0x${string}` | `0x${string}`[] | null;
1684
+ to?: `0x${string}` | `0x${string}`[] | null;
1685
+ }) => () => void;
1686
+ /**
1687
+ * Watch TransfersEnabled events
1688
+ * @param callback Function to call when event is emitted
1689
+ * @param filter Optional filter for indexed parameters
1690
+ * @returns Unwatch function to stop listening
1691
+ */
1692
+ TransfersEnabled: (callback: (event: {}) => void) => () => void;
1693
+ /**
1694
+ * Watch UpdateAccumulator events
1695
+ * @param callback Function to call when event is emitted
1696
+ * @param filter Optional filter for indexed parameters
1697
+ * @returns Unwatch function to stop listening
1698
+ */
1699
+ UpdateAccumulator: (callback: (event: {
1700
+ newAccumulator: `0x${string}`;
1701
+ oldAccumulator: `0x${string}`;
1702
+ }) => void, filter?: {
1703
+ newAccumulator?: `0x${string}` | `0x${string}`[] | null;
1704
+ oldAccumulator?: `0x${string}` | `0x${string}`[] | null;
1705
+ }) => () => void;
1706
+ /**
1707
+ * Watch UpdateDedicatedCaller events
1708
+ * @param callback Function to call when event is emitted
1709
+ * @param filter Optional filter for indexed parameters
1710
+ * @returns Unwatch function to stop listening
1711
+ */
1712
+ UpdateDedicatedCaller: (callback: (event: {
1713
+ newDedicatedCaller: `0x${string}`;
1714
+ oldDedicatedCaller: `0x${string}`;
1715
+ }) => void, filter?: {
1716
+ newDedicatedCaller?: `0x${string}` | `0x${string}`[] | null;
1717
+ oldDedicatedCaller?: `0x${string}` | `0x${string}`[] | null;
1718
+ }) => () => void;
1719
+ /**
1720
+ * Watch UpdateInflationTable events
1721
+ * @param callback Function to call when event is emitted
1722
+ * @param filter Optional filter for indexed parameters
1723
+ * @returns Unwatch function to stop listening
1724
+ */
1725
+ UpdateInflationTable: (callback: (event: {
1726
+ index: bigint;
1727
+ newTable: IDOP_Table;
1728
+ oldTable: IDOP_Table;
1729
+ }) => void) => () => void;
1730
+ /**
1731
+ * Watch UpdateTreasury events
1732
+ * @param callback Function to call when event is emitted
1733
+ * @param filter Optional filter for indexed parameters
1734
+ * @returns Unwatch function to stop listening
1735
+ */
1736
+ UpdateTreasury: (callback: (event: {
1737
+ newTreasury: `0x${string}`;
1738
+ oldTreasury: `0x${string}`;
1739
+ }) => void, filter?: {
1740
+ newTreasury?: `0x${string}` | `0x${string}`[] | null;
1741
+ oldTreasury?: `0x${string}` | `0x${string}`[] | null;
1742
+ }) => () => void;
1743
+ };
1744
+ }