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