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