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