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