@gitmyabi/presalev2 0.0.0-stage → 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,3753 @@
1
+ import type { Abi, Address, PublicClient, WalletClient, GetContractReturnType } from 'viem';
2
+ import { getContract } from 'viem';
3
+
4
+ /**
5
+ * PresaleV2_json ABI
6
+ *
7
+ * This ABI is typed using viem's type system for full type safety.
8
+ */
9
+ export const PresaleV2_jsonAbi = [
10
+ {
11
+ "inputs": [],
12
+ "stateMutability": "nonpayable",
13
+ "type": "constructor"
14
+ },
15
+ {
16
+ "anonymous": false,
17
+ "inputs": [
18
+ {
19
+ "indexed": false,
20
+ "internalType": "uint256",
21
+ "name": "prevValue",
22
+ "type": "uint256"
23
+ },
24
+ {
25
+ "indexed": false,
26
+ "internalType": "uint256",
27
+ "name": "newValue",
28
+ "type": "uint256"
29
+ },
30
+ {
31
+ "indexed": false,
32
+ "internalType": "uint256",
33
+ "name": "timestamp",
34
+ "type": "uint256"
35
+ }
36
+ ],
37
+ "name": "ClaimStartUpdated",
38
+ "type": "event"
39
+ },
40
+ {
41
+ "anonymous": false,
42
+ "inputs": [
43
+ {
44
+ "indexed": false,
45
+ "internalType": "uint8",
46
+ "name": "version",
47
+ "type": "uint8"
48
+ }
49
+ ],
50
+ "name": "Initialized",
51
+ "type": "event"
52
+ },
53
+ {
54
+ "anonymous": false,
55
+ "inputs": [
56
+ {
57
+ "indexed": false,
58
+ "internalType": "uint256",
59
+ "name": "prevValue",
60
+ "type": "uint256"
61
+ },
62
+ {
63
+ "indexed": false,
64
+ "internalType": "uint256",
65
+ "name": "newValue",
66
+ "type": "uint256"
67
+ },
68
+ {
69
+ "indexed": false,
70
+ "internalType": "uint256",
71
+ "name": "timestamp",
72
+ "type": "uint256"
73
+ }
74
+ ],
75
+ "name": "MaxTokensUpdated",
76
+ "type": "event"
77
+ },
78
+ {
79
+ "anonymous": false,
80
+ "inputs": [
81
+ {
82
+ "indexed": true,
83
+ "internalType": "address",
84
+ "name": "previousOwner",
85
+ "type": "address"
86
+ },
87
+ {
88
+ "indexed": true,
89
+ "internalType": "address",
90
+ "name": "newOwner",
91
+ "type": "address"
92
+ }
93
+ ],
94
+ "name": "OwnershipTransferred",
95
+ "type": "event"
96
+ },
97
+ {
98
+ "anonymous": false,
99
+ "inputs": [
100
+ {
101
+ "indexed": false,
102
+ "internalType": "address",
103
+ "name": "account",
104
+ "type": "address"
105
+ }
106
+ ],
107
+ "name": "Paused",
108
+ "type": "event"
109
+ },
110
+ {
111
+ "anonymous": false,
112
+ "inputs": [
113
+ {
114
+ "indexed": false,
115
+ "internalType": "uint256",
116
+ "name": "_start",
117
+ "type": "uint256"
118
+ },
119
+ {
120
+ "indexed": false,
121
+ "internalType": "uint256",
122
+ "name": "_end",
123
+ "type": "uint256"
124
+ },
125
+ {
126
+ "indexed": false,
127
+ "internalType": "uint256",
128
+ "name": "timestamp",
129
+ "type": "uint256"
130
+ }
131
+ ],
132
+ "name": "SaleTimeSet",
133
+ "type": "event"
134
+ },
135
+ {
136
+ "anonymous": false,
137
+ "inputs": [
138
+ {
139
+ "indexed": true,
140
+ "internalType": "bytes32",
141
+ "name": "key",
142
+ "type": "bytes32"
143
+ },
144
+ {
145
+ "indexed": false,
146
+ "internalType": "uint256",
147
+ "name": "prevValue",
148
+ "type": "uint256"
149
+ },
150
+ {
151
+ "indexed": false,
152
+ "internalType": "uint256",
153
+ "name": "newValue",
154
+ "type": "uint256"
155
+ },
156
+ {
157
+ "indexed": false,
158
+ "internalType": "uint256",
159
+ "name": "timestamp",
160
+ "type": "uint256"
161
+ }
162
+ ],
163
+ "name": "SaleTimeUpdated",
164
+ "type": "event"
165
+ },
166
+ {
167
+ "anonymous": false,
168
+ "inputs": [
169
+ {
170
+ "indexed": true,
171
+ "internalType": "address",
172
+ "name": "token",
173
+ "type": "address"
174
+ },
175
+ {
176
+ "indexed": false,
177
+ "internalType": "uint256",
178
+ "name": "noOfTokens",
179
+ "type": "uint256"
180
+ },
181
+ {
182
+ "indexed": false,
183
+ "internalType": "uint256",
184
+ "name": "timestamp",
185
+ "type": "uint256"
186
+ }
187
+ ],
188
+ "name": "TokensAdded",
189
+ "type": "event"
190
+ },
191
+ {
192
+ "anonymous": false,
193
+ "inputs": [
194
+ {
195
+ "indexed": true,
196
+ "internalType": "address",
197
+ "name": "user",
198
+ "type": "address"
199
+ },
200
+ {
201
+ "indexed": true,
202
+ "internalType": "uint256",
203
+ "name": "tokensBought",
204
+ "type": "uint256"
205
+ },
206
+ {
207
+ "indexed": true,
208
+ "internalType": "address",
209
+ "name": "purchaseToken",
210
+ "type": "address"
211
+ },
212
+ {
213
+ "indexed": false,
214
+ "internalType": "uint256",
215
+ "name": "amountPaid",
216
+ "type": "uint256"
217
+ },
218
+ {
219
+ "indexed": false,
220
+ "internalType": "uint256",
221
+ "name": "usdEq",
222
+ "type": "uint256"
223
+ },
224
+ {
225
+ "indexed": false,
226
+ "internalType": "uint256",
227
+ "name": "timestamp",
228
+ "type": "uint256"
229
+ }
230
+ ],
231
+ "name": "TokensBought",
232
+ "type": "event"
233
+ },
234
+ {
235
+ "anonymous": false,
236
+ "inputs": [
237
+ {
238
+ "indexed": true,
239
+ "internalType": "address",
240
+ "name": "user",
241
+ "type": "address"
242
+ },
243
+ {
244
+ "indexed": true,
245
+ "internalType": "uint256",
246
+ "name": "tokensBought",
247
+ "type": "uint256"
248
+ },
249
+ {
250
+ "indexed": true,
251
+ "internalType": "address",
252
+ "name": "purchaseToken",
253
+ "type": "address"
254
+ },
255
+ {
256
+ "indexed": false,
257
+ "internalType": "uint256",
258
+ "name": "amountPaid",
259
+ "type": "uint256"
260
+ },
261
+ {
262
+ "indexed": false,
263
+ "internalType": "uint256",
264
+ "name": "usdEq",
265
+ "type": "uint256"
266
+ },
267
+ {
268
+ "indexed": false,
269
+ "internalType": "uint256",
270
+ "name": "timestamp",
271
+ "type": "uint256"
272
+ }
273
+ ],
274
+ "name": "TokensBoughtAndStaked",
275
+ "type": "event"
276
+ },
277
+ {
278
+ "anonymous": false,
279
+ "inputs": [
280
+ {
281
+ "indexed": true,
282
+ "internalType": "address",
283
+ "name": "user",
284
+ "type": "address"
285
+ },
286
+ {
287
+ "indexed": false,
288
+ "internalType": "uint256",
289
+ "name": "amount",
290
+ "type": "uint256"
291
+ },
292
+ {
293
+ "indexed": false,
294
+ "internalType": "uint256",
295
+ "name": "timestamp",
296
+ "type": "uint256"
297
+ }
298
+ ],
299
+ "name": "TokensClaimed",
300
+ "type": "event"
301
+ },
302
+ {
303
+ "anonymous": false,
304
+ "inputs": [
305
+ {
306
+ "indexed": true,
307
+ "internalType": "address",
308
+ "name": "user",
309
+ "type": "address"
310
+ },
311
+ {
312
+ "indexed": false,
313
+ "internalType": "uint256",
314
+ "name": "amount",
315
+ "type": "uint256"
316
+ },
317
+ {
318
+ "indexed": false,
319
+ "internalType": "uint256",
320
+ "name": "timestamp",
321
+ "type": "uint256"
322
+ }
323
+ ],
324
+ "name": "TokensClaimedAndStaked",
325
+ "type": "event"
326
+ },
327
+ {
328
+ "anonymous": false,
329
+ "inputs": [
330
+ {
331
+ "indexed": false,
332
+ "internalType": "address",
333
+ "name": "account",
334
+ "type": "address"
335
+ }
336
+ ],
337
+ "name": "Unpaused",
338
+ "type": "event"
339
+ },
340
+ {
341
+ "inputs": [],
342
+ "name": "USDCInterface",
343
+ "outputs": [
344
+ {
345
+ "internalType": "contract IERC20Upgradeable",
346
+ "name": "",
347
+ "type": "address"
348
+ }
349
+ ],
350
+ "stateMutability": "view",
351
+ "type": "function"
352
+ },
353
+ {
354
+ "inputs": [],
355
+ "name": "USDTInterface",
356
+ "outputs": [
357
+ {
358
+ "internalType": "contract IERC20Upgradeable",
359
+ "name": "",
360
+ "type": "address"
361
+ }
362
+ ],
363
+ "stateMutability": "view",
364
+ "type": "function"
365
+ },
366
+ {
367
+ "inputs": [],
368
+ "name": "admin",
369
+ "outputs": [
370
+ {
371
+ "internalType": "address",
372
+ "name": "",
373
+ "type": "address"
374
+ }
375
+ ],
376
+ "stateMutability": "view",
377
+ "type": "function"
378
+ },
379
+ {
380
+ "inputs": [],
381
+ "name": "aggregatorInterface",
382
+ "outputs": [
383
+ {
384
+ "internalType": "contract Aggregator",
385
+ "name": "",
386
+ "type": "address"
387
+ }
388
+ ],
389
+ "stateMutability": "view",
390
+ "type": "function"
391
+ },
392
+ {
393
+ "inputs": [],
394
+ "name": "applySanctions",
395
+ "outputs": [
396
+ {
397
+ "internalType": "bool",
398
+ "name": "",
399
+ "type": "bool"
400
+ }
401
+ ],
402
+ "stateMutability": "view",
403
+ "type": "function"
404
+ },
405
+ {
406
+ "inputs": [],
407
+ "name": "baseDecimals",
408
+ "outputs": [
409
+ {
410
+ "internalType": "uint256",
411
+ "name": "",
412
+ "type": "uint256"
413
+ }
414
+ ],
415
+ "stateMutability": "view",
416
+ "type": "function"
417
+ },
418
+ {
419
+ "inputs": [
420
+ {
421
+ "internalType": "address[]",
422
+ "name": "_usersToBlacklist",
423
+ "type": "address[]"
424
+ }
425
+ ],
426
+ "name": "blacklistUsers",
427
+ "outputs": [],
428
+ "stateMutability": "nonpayable",
429
+ "type": "function"
430
+ },
431
+ {
432
+ "inputs": [
433
+ {
434
+ "internalType": "address",
435
+ "name": "_user",
436
+ "type": "address"
437
+ },
438
+ {
439
+ "internalType": "uint256",
440
+ "name": "_amount",
441
+ "type": "uint256"
442
+ },
443
+ {
444
+ "internalType": "bool",
445
+ "name": "stake",
446
+ "type": "bool"
447
+ }
448
+ ],
449
+ "name": "buyWithETHWert",
450
+ "outputs": [
451
+ {
452
+ "internalType": "bool",
453
+ "name": "",
454
+ "type": "bool"
455
+ }
456
+ ],
457
+ "stateMutability": "payable",
458
+ "type": "function"
459
+ },
460
+ {
461
+ "inputs": [
462
+ {
463
+ "internalType": "uint256",
464
+ "name": "amount",
465
+ "type": "uint256"
466
+ },
467
+ {
468
+ "internalType": "bool",
469
+ "name": "stake",
470
+ "type": "bool"
471
+ }
472
+ ],
473
+ "name": "buyWithEth",
474
+ "outputs": [
475
+ {
476
+ "internalType": "bool",
477
+ "name": "",
478
+ "type": "bool"
479
+ }
480
+ ],
481
+ "stateMutability": "payable",
482
+ "type": "function"
483
+ },
484
+ {
485
+ "inputs": [
486
+ {
487
+ "internalType": "uint256",
488
+ "name": "amount",
489
+ "type": "uint256"
490
+ },
491
+ {
492
+ "internalType": "bool",
493
+ "name": "stake",
494
+ "type": "bool"
495
+ }
496
+ ],
497
+ "name": "buyWithUSDC",
498
+ "outputs": [
499
+ {
500
+ "internalType": "bool",
501
+ "name": "",
502
+ "type": "bool"
503
+ }
504
+ ],
505
+ "stateMutability": "nonpayable",
506
+ "type": "function"
507
+ },
508
+ {
509
+ "inputs": [
510
+ {
511
+ "internalType": "uint256",
512
+ "name": "amount",
513
+ "type": "uint256"
514
+ },
515
+ {
516
+ "internalType": "bool",
517
+ "name": "stake",
518
+ "type": "bool"
519
+ }
520
+ ],
521
+ "name": "buyWithUSDT",
522
+ "outputs": [
523
+ {
524
+ "internalType": "bool",
525
+ "name": "",
526
+ "type": "bool"
527
+ }
528
+ ],
529
+ "stateMutability": "nonpayable",
530
+ "type": "function"
531
+ },
532
+ {
533
+ "inputs": [
534
+ {
535
+ "internalType": "uint256",
536
+ "name": "_amount",
537
+ "type": "uint256"
538
+ }
539
+ ],
540
+ "name": "calculatePrice",
541
+ "outputs": [
542
+ {
543
+ "internalType": "uint256",
544
+ "name": "",
545
+ "type": "uint256"
546
+ }
547
+ ],
548
+ "stateMutability": "view",
549
+ "type": "function"
550
+ },
551
+ {
552
+ "inputs": [
553
+ {
554
+ "internalType": "uint256",
555
+ "name": "_claimStart",
556
+ "type": "uint256"
557
+ }
558
+ ],
559
+ "name": "changeClaimStart",
560
+ "outputs": [
561
+ {
562
+ "internalType": "bool",
563
+ "name": "",
564
+ "type": "bool"
565
+ }
566
+ ],
567
+ "stateMutability": "nonpayable",
568
+ "type": "function"
569
+ },
570
+ {
571
+ "inputs": [
572
+ {
573
+ "internalType": "uint256",
574
+ "name": "_maxTokensToBuy",
575
+ "type": "uint256"
576
+ }
577
+ ],
578
+ "name": "changeMaxTokensToBuy",
579
+ "outputs": [],
580
+ "stateMutability": "nonpayable",
581
+ "type": "function"
582
+ },
583
+ {
584
+ "inputs": [
585
+ {
586
+ "internalType": "address",
587
+ "name": "_newPaymentWallet",
588
+ "type": "address"
589
+ }
590
+ ],
591
+ "name": "changePaymentWallet",
592
+ "outputs": [],
593
+ "stateMutability": "nonpayable",
594
+ "type": "function"
595
+ },
596
+ {
597
+ "inputs": [
598
+ {
599
+ "internalType": "uint256[][3]",
600
+ "name": "_rounds",
601
+ "type": "uint256[][3]"
602
+ }
603
+ ],
604
+ "name": "changeRoundsData",
605
+ "outputs": [],
606
+ "stateMutability": "nonpayable",
607
+ "type": "function"
608
+ },
609
+ {
610
+ "inputs": [
611
+ {
612
+ "internalType": "uint256",
613
+ "name": "_startTime",
614
+ "type": "uint256"
615
+ },
616
+ {
617
+ "internalType": "uint256",
618
+ "name": "_endTime",
619
+ "type": "uint256"
620
+ }
621
+ ],
622
+ "name": "changeSaleTimes",
623
+ "outputs": [],
624
+ "stateMutability": "nonpayable",
625
+ "type": "function"
626
+ },
627
+ {
628
+ "inputs": [],
629
+ "name": "checkPoint",
630
+ "outputs": [
631
+ {
632
+ "internalType": "uint256",
633
+ "name": "",
634
+ "type": "uint256"
635
+ }
636
+ ],
637
+ "stateMutability": "view",
638
+ "type": "function"
639
+ },
640
+ {
641
+ "inputs": [],
642
+ "name": "claim",
643
+ "outputs": [
644
+ {
645
+ "internalType": "bool",
646
+ "name": "",
647
+ "type": "bool"
648
+ }
649
+ ],
650
+ "stateMutability": "nonpayable",
651
+ "type": "function"
652
+ },
653
+ {
654
+ "inputs": [],
655
+ "name": "claimAndStake",
656
+ "outputs": [
657
+ {
658
+ "internalType": "bool",
659
+ "name": "",
660
+ "type": "bool"
661
+ }
662
+ ],
663
+ "stateMutability": "nonpayable",
664
+ "type": "function"
665
+ },
666
+ {
667
+ "inputs": [],
668
+ "name": "claimStart",
669
+ "outputs": [
670
+ {
671
+ "internalType": "uint256",
672
+ "name": "",
673
+ "type": "uint256"
674
+ }
675
+ ],
676
+ "stateMutability": "view",
677
+ "type": "function"
678
+ },
679
+ {
680
+ "inputs": [],
681
+ "name": "currentStep",
682
+ "outputs": [
683
+ {
684
+ "internalType": "uint256",
685
+ "name": "",
686
+ "type": "uint256"
687
+ }
688
+ ],
689
+ "stateMutability": "view",
690
+ "type": "function"
691
+ },
692
+ {
693
+ "inputs": [],
694
+ "name": "dynamicTimeFlag",
695
+ "outputs": [
696
+ {
697
+ "internalType": "bool",
698
+ "name": "",
699
+ "type": "bool"
700
+ }
701
+ ],
702
+ "stateMutability": "view",
703
+ "type": "function"
704
+ },
705
+ {
706
+ "inputs": [],
707
+ "name": "endTime",
708
+ "outputs": [
709
+ {
710
+ "internalType": "uint256",
711
+ "name": "",
712
+ "type": "uint256"
713
+ }
714
+ ],
715
+ "stateMutability": "view",
716
+ "type": "function"
717
+ },
718
+ {
719
+ "inputs": [
720
+ {
721
+ "internalType": "uint256",
722
+ "name": "amount",
723
+ "type": "uint256"
724
+ }
725
+ ],
726
+ "name": "ethBuyHelper",
727
+ "outputs": [
728
+ {
729
+ "internalType": "uint256",
730
+ "name": "ethAmount",
731
+ "type": "uint256"
732
+ }
733
+ ],
734
+ "stateMutability": "view",
735
+ "type": "function"
736
+ },
737
+ {
738
+ "inputs": [],
739
+ "name": "getLatestPrice",
740
+ "outputs": [
741
+ {
742
+ "internalType": "uint256",
743
+ "name": "",
744
+ "type": "uint256"
745
+ }
746
+ ],
747
+ "stateMutability": "view",
748
+ "type": "function"
749
+ },
750
+ {
751
+ "inputs": [
752
+ {
753
+ "internalType": "address",
754
+ "name": "",
755
+ "type": "address"
756
+ }
757
+ ],
758
+ "name": "hasClaimed",
759
+ "outputs": [
760
+ {
761
+ "internalType": "bool",
762
+ "name": "",
763
+ "type": "bool"
764
+ }
765
+ ],
766
+ "stateMutability": "view",
767
+ "type": "function"
768
+ },
769
+ {
770
+ "inputs": [],
771
+ "name": "incrementCurrentStep",
772
+ "outputs": [],
773
+ "stateMutability": "nonpayable",
774
+ "type": "function"
775
+ },
776
+ {
777
+ "inputs": [
778
+ {
779
+ "internalType": "address",
780
+ "name": "_oracle",
781
+ "type": "address"
782
+ },
783
+ {
784
+ "internalType": "address",
785
+ "name": "_usdt",
786
+ "type": "address"
787
+ },
788
+ {
789
+ "internalType": "uint256",
790
+ "name": "_startTime",
791
+ "type": "uint256"
792
+ },
793
+ {
794
+ "internalType": "uint256",
795
+ "name": "_endTime",
796
+ "type": "uint256"
797
+ },
798
+ {
799
+ "internalType": "uint256[][3]",
800
+ "name": "_rounds",
801
+ "type": "uint256[][3]"
802
+ },
803
+ {
804
+ "internalType": "uint256",
805
+ "name": "_maxTokensToBuy",
806
+ "type": "uint256"
807
+ },
808
+ {
809
+ "internalType": "address",
810
+ "name": "_paymentWallet",
811
+ "type": "address"
812
+ },
813
+ {
814
+ "internalType": "bool",
815
+ "name": "_dynamicTimeFlag",
816
+ "type": "bool"
817
+ },
818
+ {
819
+ "internalType": "uint256",
820
+ "name": "_timeConstant",
821
+ "type": "uint256"
822
+ }
823
+ ],
824
+ "name": "initialize",
825
+ "outputs": [],
826
+ "stateMutability": "nonpayable",
827
+ "type": "function"
828
+ },
829
+ {
830
+ "inputs": [
831
+ {
832
+ "internalType": "address",
833
+ "name": "",
834
+ "type": "address"
835
+ }
836
+ ],
837
+ "name": "isBlacklisted",
838
+ "outputs": [
839
+ {
840
+ "internalType": "bool",
841
+ "name": "",
842
+ "type": "bool"
843
+ }
844
+ ],
845
+ "stateMutability": "view",
846
+ "type": "function"
847
+ },
848
+ {
849
+ "inputs": [
850
+ {
851
+ "internalType": "address",
852
+ "name": "",
853
+ "type": "address"
854
+ }
855
+ ],
856
+ "name": "isWhitelisted",
857
+ "outputs": [
858
+ {
859
+ "internalType": "bool",
860
+ "name": "",
861
+ "type": "bool"
862
+ }
863
+ ],
864
+ "stateMutability": "view",
865
+ "type": "function"
866
+ },
867
+ {
868
+ "inputs": [],
869
+ "name": "maxTokensToBuy",
870
+ "outputs": [
871
+ {
872
+ "internalType": "uint256",
873
+ "name": "",
874
+ "type": "uint256"
875
+ }
876
+ ],
877
+ "stateMutability": "view",
878
+ "type": "function"
879
+ },
880
+ {
881
+ "inputs": [],
882
+ "name": "owner",
883
+ "outputs": [
884
+ {
885
+ "internalType": "address",
886
+ "name": "",
887
+ "type": "address"
888
+ }
889
+ ],
890
+ "stateMutability": "view",
891
+ "type": "function"
892
+ },
893
+ {
894
+ "inputs": [],
895
+ "name": "pause",
896
+ "outputs": [],
897
+ "stateMutability": "nonpayable",
898
+ "type": "function"
899
+ },
900
+ {
901
+ "inputs": [],
902
+ "name": "paused",
903
+ "outputs": [
904
+ {
905
+ "internalType": "bool",
906
+ "name": "",
907
+ "type": "bool"
908
+ }
909
+ ],
910
+ "stateMutability": "view",
911
+ "type": "function"
912
+ },
913
+ {
914
+ "inputs": [],
915
+ "name": "paymentWallet",
916
+ "outputs": [
917
+ {
918
+ "internalType": "address",
919
+ "name": "",
920
+ "type": "address"
921
+ }
922
+ ],
923
+ "stateMutability": "view",
924
+ "type": "function"
925
+ },
926
+ {
927
+ "inputs": [
928
+ {
929
+ "internalType": "uint256",
930
+ "name": "",
931
+ "type": "uint256"
932
+ }
933
+ ],
934
+ "name": "percentages",
935
+ "outputs": [
936
+ {
937
+ "internalType": "uint256",
938
+ "name": "",
939
+ "type": "uint256"
940
+ }
941
+ ],
942
+ "stateMutability": "view",
943
+ "type": "function"
944
+ },
945
+ {
946
+ "inputs": [
947
+ {
948
+ "internalType": "uint256",
949
+ "name": "",
950
+ "type": "uint256"
951
+ }
952
+ ],
953
+ "name": "prevCheckpoints",
954
+ "outputs": [
955
+ {
956
+ "internalType": "uint256",
957
+ "name": "",
958
+ "type": "uint256"
959
+ }
960
+ ],
961
+ "stateMutability": "view",
962
+ "type": "function"
963
+ },
964
+ {
965
+ "inputs": [
966
+ {
967
+ "internalType": "uint256",
968
+ "name": "",
969
+ "type": "uint256"
970
+ }
971
+ ],
972
+ "name": "remainingTokensTracker",
973
+ "outputs": [
974
+ {
975
+ "internalType": "uint256",
976
+ "name": "",
977
+ "type": "uint256"
978
+ }
979
+ ],
980
+ "stateMutability": "view",
981
+ "type": "function"
982
+ },
983
+ {
984
+ "inputs": [
985
+ {
986
+ "internalType": "address[]",
987
+ "name": "_userToRemoveFromBlacklist",
988
+ "type": "address[]"
989
+ }
990
+ ],
991
+ "name": "removeFromBlacklist",
992
+ "outputs": [],
993
+ "stateMutability": "nonpayable",
994
+ "type": "function"
995
+ },
996
+ {
997
+ "inputs": [
998
+ {
999
+ "internalType": "address[]",
1000
+ "name": "_userToRemoveFromWhitelist",
1001
+ "type": "address[]"
1002
+ }
1003
+ ],
1004
+ "name": "removeFromWhitelist",
1005
+ "outputs": [],
1006
+ "stateMutability": "nonpayable",
1007
+ "type": "function"
1008
+ },
1009
+ {
1010
+ "inputs": [
1011
+ {
1012
+ "internalType": "address[]",
1013
+ "name": "_addressesToRemoveFromWhitelist",
1014
+ "type": "address[]"
1015
+ }
1016
+ ],
1017
+ "name": "removeFromWhitelistForWERT",
1018
+ "outputs": [],
1019
+ "stateMutability": "nonpayable",
1020
+ "type": "function"
1021
+ },
1022
+ {
1023
+ "inputs": [],
1024
+ "name": "renounceOwnership",
1025
+ "outputs": [],
1026
+ "stateMutability": "nonpayable",
1027
+ "type": "function"
1028
+ },
1029
+ {
1030
+ "inputs": [
1031
+ {
1032
+ "internalType": "uint256",
1033
+ "name": "_no",
1034
+ "type": "uint256"
1035
+ }
1036
+ ],
1037
+ "name": "roundDetails",
1038
+ "outputs": [
1039
+ {
1040
+ "internalType": "uint256[]",
1041
+ "name": "",
1042
+ "type": "uint256[]"
1043
+ }
1044
+ ],
1045
+ "stateMutability": "view",
1046
+ "type": "function"
1047
+ },
1048
+ {
1049
+ "inputs": [
1050
+ {
1051
+ "internalType": "uint256",
1052
+ "name": "",
1053
+ "type": "uint256"
1054
+ },
1055
+ {
1056
+ "internalType": "uint256",
1057
+ "name": "",
1058
+ "type": "uint256"
1059
+ }
1060
+ ],
1061
+ "name": "rounds",
1062
+ "outputs": [
1063
+ {
1064
+ "internalType": "uint256",
1065
+ "name": "",
1066
+ "type": "uint256"
1067
+ }
1068
+ ],
1069
+ "stateMutability": "view",
1070
+ "type": "function"
1071
+ },
1072
+ {
1073
+ "inputs": [],
1074
+ "name": "saleToken",
1075
+ "outputs": [
1076
+ {
1077
+ "internalType": "address",
1078
+ "name": "",
1079
+ "type": "address"
1080
+ }
1081
+ ],
1082
+ "stateMutability": "view",
1083
+ "type": "function"
1084
+ },
1085
+ {
1086
+ "inputs": [],
1087
+ "name": "sanctionsList",
1088
+ "outputs": [
1089
+ {
1090
+ "internalType": "contract ISanctionsList",
1091
+ "name": "",
1092
+ "type": "address"
1093
+ }
1094
+ ],
1095
+ "stateMutability": "view",
1096
+ "type": "function"
1097
+ },
1098
+ {
1099
+ "inputs": [
1100
+ {
1101
+ "internalType": "address",
1102
+ "name": "_admin",
1103
+ "type": "address"
1104
+ }
1105
+ ],
1106
+ "name": "setAdmin",
1107
+ "outputs": [],
1108
+ "stateMutability": "nonpayable",
1109
+ "type": "function"
1110
+ },
1111
+ {
1112
+ "inputs": [
1113
+ {
1114
+ "internalType": "bool",
1115
+ "name": "_status",
1116
+ "type": "bool"
1117
+ }
1118
+ ],
1119
+ "name": "setClaimWhitelistStatus",
1120
+ "outputs": [],
1121
+ "stateMutability": "nonpayable",
1122
+ "type": "function"
1123
+ },
1124
+ {
1125
+ "inputs": [
1126
+ {
1127
+ "internalType": "uint256",
1128
+ "name": "_step",
1129
+ "type": "uint256"
1130
+ },
1131
+ {
1132
+ "internalType": "uint256",
1133
+ "name": "_checkpoint",
1134
+ "type": "uint256"
1135
+ }
1136
+ ],
1137
+ "name": "setCurrentStep",
1138
+ "outputs": [],
1139
+ "stateMutability": "nonpayable",
1140
+ "type": "function"
1141
+ },
1142
+ {
1143
+ "inputs": [
1144
+ {
1145
+ "internalType": "bool",
1146
+ "name": "_dynamicTimeFlag",
1147
+ "type": "bool"
1148
+ }
1149
+ ],
1150
+ "name": "setDynamicTimeFlag",
1151
+ "outputs": [],
1152
+ "stateMutability": "nonpayable",
1153
+ "type": "function"
1154
+ },
1155
+ {
1156
+ "inputs": [
1157
+ {
1158
+ "internalType": "uint256[]",
1159
+ "name": "_unsoldTokens",
1160
+ "type": "uint256[]"
1161
+ }
1162
+ ],
1163
+ "name": "setRemainingTokensArray",
1164
+ "outputs": [],
1165
+ "stateMutability": "nonpayable",
1166
+ "type": "function"
1167
+ },
1168
+ {
1169
+ "inputs": [
1170
+ {
1171
+ "internalType": "address",
1172
+ "name": "_sanctionContract",
1173
+ "type": "address"
1174
+ },
1175
+ {
1176
+ "internalType": "bool",
1177
+ "name": "_applySanction",
1178
+ "type": "bool"
1179
+ }
1180
+ ],
1181
+ "name": "setSanctions",
1182
+ "outputs": [],
1183
+ "stateMutability": "nonpayable",
1184
+ "type": "function"
1185
+ },
1186
+ {
1187
+ "inputs": [
1188
+ {
1189
+ "internalType": "address[]",
1190
+ "name": "_wallets",
1191
+ "type": "address[]"
1192
+ },
1193
+ {
1194
+ "internalType": "uint256[]",
1195
+ "name": "_percentages",
1196
+ "type": "uint256[]"
1197
+ }
1198
+ ],
1199
+ "name": "setSplits",
1200
+ "outputs": [],
1201
+ "stateMutability": "nonpayable",
1202
+ "type": "function"
1203
+ },
1204
+ {
1205
+ "inputs": [
1206
+ {
1207
+ "internalType": "bool",
1208
+ "name": "_status",
1209
+ "type": "bool"
1210
+ }
1211
+ ],
1212
+ "name": "setStakeingWhitelistStatus",
1213
+ "outputs": [],
1214
+ "stateMutability": "nonpayable",
1215
+ "type": "function"
1216
+ },
1217
+ {
1218
+ "inputs": [
1219
+ {
1220
+ "internalType": "address",
1221
+ "name": "_stakingManagerAddress",
1222
+ "type": "address"
1223
+ }
1224
+ ],
1225
+ "name": "setStakingManager",
1226
+ "outputs": [],
1227
+ "stateMutability": "nonpayable",
1228
+ "type": "function"
1229
+ },
1230
+ {
1231
+ "inputs": [
1232
+ {
1233
+ "internalType": "uint256",
1234
+ "name": "_timeConstant",
1235
+ "type": "uint256"
1236
+ }
1237
+ ],
1238
+ "name": "setTimeConstant",
1239
+ "outputs": [],
1240
+ "stateMutability": "nonpayable",
1241
+ "type": "function"
1242
+ },
1243
+ {
1244
+ "inputs": [
1245
+ {
1246
+ "internalType": "address",
1247
+ "name": "_usdc",
1248
+ "type": "address"
1249
+ }
1250
+ ],
1251
+ "name": "setUSDCInterface",
1252
+ "outputs": [],
1253
+ "stateMutability": "nonpayable",
1254
+ "type": "function"
1255
+ },
1256
+ {
1257
+ "inputs": [],
1258
+ "name": "stakeingWhitelistStatus",
1259
+ "outputs": [
1260
+ {
1261
+ "internalType": "bool",
1262
+ "name": "",
1263
+ "type": "bool"
1264
+ }
1265
+ ],
1266
+ "stateMutability": "view",
1267
+ "type": "function"
1268
+ },
1269
+ {
1270
+ "inputs": [],
1271
+ "name": "stakingManagerInterface",
1272
+ "outputs": [
1273
+ {
1274
+ "internalType": "contract StakingManager",
1275
+ "name": "",
1276
+ "type": "address"
1277
+ }
1278
+ ],
1279
+ "stateMutability": "view",
1280
+ "type": "function"
1281
+ },
1282
+ {
1283
+ "inputs": [
1284
+ {
1285
+ "internalType": "uint256",
1286
+ "name": "_claimStart",
1287
+ "type": "uint256"
1288
+ },
1289
+ {
1290
+ "internalType": "uint256",
1291
+ "name": "noOfTokens",
1292
+ "type": "uint256"
1293
+ },
1294
+ {
1295
+ "internalType": "address",
1296
+ "name": "_saleToken",
1297
+ "type": "address"
1298
+ },
1299
+ {
1300
+ "internalType": "address",
1301
+ "name": "_stakingManagerAddress",
1302
+ "type": "address"
1303
+ }
1304
+ ],
1305
+ "name": "startClaim",
1306
+ "outputs": [
1307
+ {
1308
+ "internalType": "bool",
1309
+ "name": "",
1310
+ "type": "bool"
1311
+ }
1312
+ ],
1313
+ "stateMutability": "nonpayable",
1314
+ "type": "function"
1315
+ },
1316
+ {
1317
+ "inputs": [],
1318
+ "name": "startTime",
1319
+ "outputs": [
1320
+ {
1321
+ "internalType": "uint256",
1322
+ "name": "",
1323
+ "type": "uint256"
1324
+ }
1325
+ ],
1326
+ "stateMutability": "view",
1327
+ "type": "function"
1328
+ },
1329
+ {
1330
+ "inputs": [],
1331
+ "name": "timeConstant",
1332
+ "outputs": [
1333
+ {
1334
+ "internalType": "uint256",
1335
+ "name": "",
1336
+ "type": "uint256"
1337
+ }
1338
+ ],
1339
+ "stateMutability": "view",
1340
+ "type": "function"
1341
+ },
1342
+ {
1343
+ "inputs": [],
1344
+ "name": "totalBoughtAndStaked",
1345
+ "outputs": [
1346
+ {
1347
+ "internalType": "uint256",
1348
+ "name": "",
1349
+ "type": "uint256"
1350
+ }
1351
+ ],
1352
+ "stateMutability": "view",
1353
+ "type": "function"
1354
+ },
1355
+ {
1356
+ "inputs": [],
1357
+ "name": "totalTokensSold",
1358
+ "outputs": [
1359
+ {
1360
+ "internalType": "uint256",
1361
+ "name": "",
1362
+ "type": "uint256"
1363
+ }
1364
+ ],
1365
+ "stateMutability": "view",
1366
+ "type": "function"
1367
+ },
1368
+ {
1369
+ "inputs": [],
1370
+ "name": "trackRemainingTokens",
1371
+ "outputs": [
1372
+ {
1373
+ "internalType": "uint256[]",
1374
+ "name": "",
1375
+ "type": "uint256[]"
1376
+ }
1377
+ ],
1378
+ "stateMutability": "view",
1379
+ "type": "function"
1380
+ },
1381
+ {
1382
+ "inputs": [
1383
+ {
1384
+ "internalType": "address",
1385
+ "name": "newOwner",
1386
+ "type": "address"
1387
+ }
1388
+ ],
1389
+ "name": "transferOwnership",
1390
+ "outputs": [],
1391
+ "stateMutability": "nonpayable",
1392
+ "type": "function"
1393
+ },
1394
+ {
1395
+ "inputs": [],
1396
+ "name": "unpause",
1397
+ "outputs": [],
1398
+ "stateMutability": "nonpayable",
1399
+ "type": "function"
1400
+ },
1401
+ {
1402
+ "inputs": [
1403
+ {
1404
+ "internalType": "address[]",
1405
+ "name": "_users",
1406
+ "type": "address[]"
1407
+ },
1408
+ {
1409
+ "internalType": "uint256[]",
1410
+ "name": "_userDeposits",
1411
+ "type": "uint256[]"
1412
+ }
1413
+ ],
1414
+ "name": "updateFromBSC",
1415
+ "outputs": [],
1416
+ "stateMutability": "nonpayable",
1417
+ "type": "function"
1418
+ },
1419
+ {
1420
+ "inputs": [],
1421
+ "name": "usdRaised",
1422
+ "outputs": [
1423
+ {
1424
+ "internalType": "uint256",
1425
+ "name": "",
1426
+ "type": "uint256"
1427
+ }
1428
+ ],
1429
+ "stateMutability": "view",
1430
+ "type": "function"
1431
+ },
1432
+ {
1433
+ "inputs": [
1434
+ {
1435
+ "internalType": "uint256",
1436
+ "name": "amount",
1437
+ "type": "uint256"
1438
+ }
1439
+ ],
1440
+ "name": "usdtBuyHelper",
1441
+ "outputs": [
1442
+ {
1443
+ "internalType": "uint256",
1444
+ "name": "usdPrice",
1445
+ "type": "uint256"
1446
+ }
1447
+ ],
1448
+ "stateMutability": "view",
1449
+ "type": "function"
1450
+ },
1451
+ {
1452
+ "inputs": [
1453
+ {
1454
+ "internalType": "address",
1455
+ "name": "",
1456
+ "type": "address"
1457
+ }
1458
+ ],
1459
+ "name": "userDeposits",
1460
+ "outputs": [
1461
+ {
1462
+ "internalType": "uint256",
1463
+ "name": "",
1464
+ "type": "uint256"
1465
+ }
1466
+ ],
1467
+ "stateMutability": "view",
1468
+ "type": "function"
1469
+ },
1470
+ {
1471
+ "inputs": [
1472
+ {
1473
+ "internalType": "uint256",
1474
+ "name": "",
1475
+ "type": "uint256"
1476
+ }
1477
+ ],
1478
+ "name": "wallets",
1479
+ "outputs": [
1480
+ {
1481
+ "internalType": "address",
1482
+ "name": "",
1483
+ "type": "address"
1484
+ }
1485
+ ],
1486
+ "stateMutability": "view",
1487
+ "type": "function"
1488
+ },
1489
+ {
1490
+ "inputs": [
1491
+ {
1492
+ "internalType": "address",
1493
+ "name": "",
1494
+ "type": "address"
1495
+ }
1496
+ ],
1497
+ "name": "wertWhitelisted",
1498
+ "outputs": [
1499
+ {
1500
+ "internalType": "bool",
1501
+ "name": "",
1502
+ "type": "bool"
1503
+ }
1504
+ ],
1505
+ "stateMutability": "view",
1506
+ "type": "function"
1507
+ },
1508
+ {
1509
+ "inputs": [],
1510
+ "name": "whitelistClaimOnly",
1511
+ "outputs": [
1512
+ {
1513
+ "internalType": "bool",
1514
+ "name": "",
1515
+ "type": "bool"
1516
+ }
1517
+ ],
1518
+ "stateMutability": "view",
1519
+ "type": "function"
1520
+ },
1521
+ {
1522
+ "inputs": [
1523
+ {
1524
+ "internalType": "address[]",
1525
+ "name": "_usersToWhitelist",
1526
+ "type": "address[]"
1527
+ }
1528
+ ],
1529
+ "name": "whitelistUsers",
1530
+ "outputs": [],
1531
+ "stateMutability": "nonpayable",
1532
+ "type": "function"
1533
+ },
1534
+ {
1535
+ "inputs": [
1536
+ {
1537
+ "internalType": "address[]",
1538
+ "name": "_addressesToWhitelist",
1539
+ "type": "address[]"
1540
+ }
1541
+ ],
1542
+ "name": "whitelistUsersForWERT",
1543
+ "outputs": [],
1544
+ "stateMutability": "nonpayable",
1545
+ "type": "function"
1546
+ }
1547
+ ] as const satisfies Abi;
1548
+
1549
+ /**
1550
+ * Type-safe ABI for PresaleV2_json
1551
+ */
1552
+ export type PresaleV2_jsonAbi = typeof PresaleV2_jsonAbi;
1553
+
1554
+ /**
1555
+ * Contract instance type for PresaleV2_json
1556
+ */
1557
+ // Use any for contract type to avoid complex viem type issues
1558
+ // The runtime behavior is type-safe through viem's ABI typing
1559
+ export type PresaleV2_jsonContract = any;
1560
+
1561
+ /**
1562
+ * PresaleV2_json Contract Class
1563
+ *
1564
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
1565
+ *
1566
+ * @example
1567
+ * ```typescript
1568
+ * import { createPublicClient, createWalletClient, http } from 'viem';
1569
+ * import { mainnet } from 'viem/chains';
1570
+ * import { PresaleV2_json } from 'PresaleV2_json';
1571
+ *
1572
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
1573
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
1574
+ *
1575
+ * const contract = new PresaleV2_json('0x...', { publicClient, walletClient });
1576
+ *
1577
+ * // Read functions
1578
+ * const result = await contract.balanceOf('0x...');
1579
+ *
1580
+ * // Write functions
1581
+ * const hash = await contract.transfer('0x...', 1000n);
1582
+ *
1583
+ * // Simulate transactions (dry-run)
1584
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
1585
+ * console.log('Gas estimate:', simulation.request.gas);
1586
+ *
1587
+ * // Watch events
1588
+ * const unwatch = contract.watch.Transfer((event) => {
1589
+ * console.log('Transfer event:', event);
1590
+ * });
1591
+ * ```
1592
+ */
1593
+ export class PresaleV2_json {
1594
+ private contract: PresaleV2_jsonContract;
1595
+ private contractAddress: Address;
1596
+ private publicClient: PublicClient;
1597
+
1598
+ constructor(
1599
+ address: Address,
1600
+ clients: {
1601
+ publicClient: PublicClient;
1602
+ walletClient?: WalletClient;
1603
+ }
1604
+ ) {
1605
+ this.contractAddress = address;
1606
+ this.publicClient = clients.publicClient;
1607
+ this.contract = getContract({
1608
+ address,
1609
+ abi: PresaleV2_jsonAbi,
1610
+ client: {
1611
+ public: clients.publicClient,
1612
+ wallet: clients.walletClient,
1613
+ },
1614
+ });
1615
+ }
1616
+
1617
+ /**
1618
+ * Get the contract address
1619
+ */
1620
+ get address(): Address {
1621
+ return this.contractAddress;
1622
+ }
1623
+
1624
+ /**
1625
+ * Get the underlying viem contract instance
1626
+ */
1627
+ getContract(): PresaleV2_jsonContract {
1628
+ return this.contract;
1629
+ }
1630
+
1631
+ /**
1632
+ * USDCInterface
1633
+ * view
1634
+ */
1635
+ async USDCInterface(): Promise<`0x${string}`> {
1636
+ return this.contract.read.USDCInterface() as Promise<`0x${string}`>;
1637
+ }
1638
+
1639
+ /**
1640
+ * USDTInterface
1641
+ * view
1642
+ */
1643
+ async USDTInterface(): Promise<`0x${string}`> {
1644
+ return this.contract.read.USDTInterface() as Promise<`0x${string}`>;
1645
+ }
1646
+
1647
+ /**
1648
+ * admin
1649
+ * view
1650
+ */
1651
+ async admin(): Promise<`0x${string}`> {
1652
+ return this.contract.read.admin() as Promise<`0x${string}`>;
1653
+ }
1654
+
1655
+ /**
1656
+ * aggregatorInterface
1657
+ * view
1658
+ */
1659
+ async aggregatorInterface(): Promise<`0x${string}`> {
1660
+ return this.contract.read.aggregatorInterface() as Promise<`0x${string}`>;
1661
+ }
1662
+
1663
+ /**
1664
+ * applySanctions
1665
+ * view
1666
+ */
1667
+ async applySanctions(): Promise<boolean> {
1668
+ return this.contract.read.applySanctions() as Promise<boolean>;
1669
+ }
1670
+
1671
+ /**
1672
+ * baseDecimals
1673
+ * view
1674
+ */
1675
+ async baseDecimals(): Promise<bigint> {
1676
+ return this.contract.read.baseDecimals() as Promise<bigint>;
1677
+ }
1678
+
1679
+ /**
1680
+ * calculatePrice
1681
+ * view
1682
+ */
1683
+ async calculatePrice(_amount: bigint): Promise<bigint> {
1684
+ return this.contract.read.calculatePrice([_amount] as const) as Promise<bigint>;
1685
+ }
1686
+
1687
+ /**
1688
+ * checkPoint
1689
+ * view
1690
+ */
1691
+ async checkPoint(): Promise<bigint> {
1692
+ return this.contract.read.checkPoint() as Promise<bigint>;
1693
+ }
1694
+
1695
+ /**
1696
+ * claimStart
1697
+ * view
1698
+ */
1699
+ async claimStart(): Promise<bigint> {
1700
+ return this.contract.read.claimStart() as Promise<bigint>;
1701
+ }
1702
+
1703
+ /**
1704
+ * currentStep
1705
+ * view
1706
+ */
1707
+ async currentStep(): Promise<bigint> {
1708
+ return this.contract.read.currentStep() as Promise<bigint>;
1709
+ }
1710
+
1711
+ /**
1712
+ * dynamicTimeFlag
1713
+ * view
1714
+ */
1715
+ async dynamicTimeFlag(): Promise<boolean> {
1716
+ return this.contract.read.dynamicTimeFlag() as Promise<boolean>;
1717
+ }
1718
+
1719
+ /**
1720
+ * endTime
1721
+ * view
1722
+ */
1723
+ async endTime(): Promise<bigint> {
1724
+ return this.contract.read.endTime() as Promise<bigint>;
1725
+ }
1726
+
1727
+ /**
1728
+ * ethBuyHelper
1729
+ * view
1730
+ */
1731
+ async ethBuyHelper(amount: bigint): Promise<bigint> {
1732
+ return this.contract.read.ethBuyHelper([amount] as const) as Promise<bigint>;
1733
+ }
1734
+
1735
+ /**
1736
+ * getLatestPrice
1737
+ * view
1738
+ */
1739
+ async getLatestPrice(): Promise<bigint> {
1740
+ return this.contract.read.getLatestPrice() as Promise<bigint>;
1741
+ }
1742
+
1743
+ /**
1744
+ * hasClaimed
1745
+ * view
1746
+ */
1747
+ async hasClaimed(arg0: `0x${string}`): Promise<boolean> {
1748
+ return this.contract.read.hasClaimed([arg0] as const) as Promise<boolean>;
1749
+ }
1750
+
1751
+ /**
1752
+ * isBlacklisted
1753
+ * view
1754
+ */
1755
+ async isBlacklisted(arg0: `0x${string}`): Promise<boolean> {
1756
+ return this.contract.read.isBlacklisted([arg0] as const) as Promise<boolean>;
1757
+ }
1758
+
1759
+ /**
1760
+ * isWhitelisted
1761
+ * view
1762
+ */
1763
+ async isWhitelisted(arg0: `0x${string}`): Promise<boolean> {
1764
+ return this.contract.read.isWhitelisted([arg0] as const) as Promise<boolean>;
1765
+ }
1766
+
1767
+ /**
1768
+ * maxTokensToBuy
1769
+ * view
1770
+ */
1771
+ async maxTokensToBuy(): Promise<bigint> {
1772
+ return this.contract.read.maxTokensToBuy() as Promise<bigint>;
1773
+ }
1774
+
1775
+ /**
1776
+ * owner
1777
+ * view
1778
+ */
1779
+ async owner(): Promise<`0x${string}`> {
1780
+ return this.contract.read.owner() as Promise<`0x${string}`>;
1781
+ }
1782
+
1783
+ /**
1784
+ * paused
1785
+ * view
1786
+ */
1787
+ async paused(): Promise<boolean> {
1788
+ return this.contract.read.paused() as Promise<boolean>;
1789
+ }
1790
+
1791
+ /**
1792
+ * paymentWallet
1793
+ * view
1794
+ */
1795
+ async paymentWallet(): Promise<`0x${string}`> {
1796
+ return this.contract.read.paymentWallet() as Promise<`0x${string}`>;
1797
+ }
1798
+
1799
+ /**
1800
+ * percentages
1801
+ * view
1802
+ */
1803
+ async percentages(arg0: bigint): Promise<bigint> {
1804
+ return this.contract.read.percentages([arg0] as const) as Promise<bigint>;
1805
+ }
1806
+
1807
+ /**
1808
+ * prevCheckpoints
1809
+ * view
1810
+ */
1811
+ async prevCheckpoints(arg0: bigint): Promise<bigint> {
1812
+ return this.contract.read.prevCheckpoints([arg0] as const) as Promise<bigint>;
1813
+ }
1814
+
1815
+ /**
1816
+ * remainingTokensTracker
1817
+ * view
1818
+ */
1819
+ async remainingTokensTracker(arg0: bigint): Promise<bigint> {
1820
+ return this.contract.read.remainingTokensTracker([arg0] as const) as Promise<bigint>;
1821
+ }
1822
+
1823
+ /**
1824
+ * roundDetails
1825
+ * view
1826
+ */
1827
+ async roundDetails(_no: bigint): Promise<bigint[]> {
1828
+ return this.contract.read.roundDetails([_no] as const) as Promise<bigint[]>;
1829
+ }
1830
+
1831
+ /**
1832
+ * rounds
1833
+ * view
1834
+ */
1835
+ async rounds(arg0: bigint, arg1: bigint): Promise<bigint> {
1836
+ return this.contract.read.rounds([arg0, arg1] as const) as Promise<bigint>;
1837
+ }
1838
+
1839
+ /**
1840
+ * saleToken
1841
+ * view
1842
+ */
1843
+ async saleToken(): Promise<`0x${string}`> {
1844
+ return this.contract.read.saleToken() as Promise<`0x${string}`>;
1845
+ }
1846
+
1847
+ /**
1848
+ * sanctionsList
1849
+ * view
1850
+ */
1851
+ async sanctionsList(): Promise<`0x${string}`> {
1852
+ return this.contract.read.sanctionsList() as Promise<`0x${string}`>;
1853
+ }
1854
+
1855
+ /**
1856
+ * stakeingWhitelistStatus
1857
+ * view
1858
+ */
1859
+ async stakeingWhitelistStatus(): Promise<boolean> {
1860
+ return this.contract.read.stakeingWhitelistStatus() as Promise<boolean>;
1861
+ }
1862
+
1863
+ /**
1864
+ * stakingManagerInterface
1865
+ * view
1866
+ */
1867
+ async stakingManagerInterface(): Promise<`0x${string}`> {
1868
+ return this.contract.read.stakingManagerInterface() as Promise<`0x${string}`>;
1869
+ }
1870
+
1871
+ /**
1872
+ * startTime
1873
+ * view
1874
+ */
1875
+ async startTime(): Promise<bigint> {
1876
+ return this.contract.read.startTime() as Promise<bigint>;
1877
+ }
1878
+
1879
+ /**
1880
+ * timeConstant
1881
+ * view
1882
+ */
1883
+ async timeConstant(): Promise<bigint> {
1884
+ return this.contract.read.timeConstant() as Promise<bigint>;
1885
+ }
1886
+
1887
+ /**
1888
+ * totalBoughtAndStaked
1889
+ * view
1890
+ */
1891
+ async totalBoughtAndStaked(): Promise<bigint> {
1892
+ return this.contract.read.totalBoughtAndStaked() as Promise<bigint>;
1893
+ }
1894
+
1895
+ /**
1896
+ * totalTokensSold
1897
+ * view
1898
+ */
1899
+ async totalTokensSold(): Promise<bigint> {
1900
+ return this.contract.read.totalTokensSold() as Promise<bigint>;
1901
+ }
1902
+
1903
+ /**
1904
+ * trackRemainingTokens
1905
+ * view
1906
+ */
1907
+ async trackRemainingTokens(): Promise<bigint[]> {
1908
+ return this.contract.read.trackRemainingTokens() as Promise<bigint[]>;
1909
+ }
1910
+
1911
+ /**
1912
+ * usdRaised
1913
+ * view
1914
+ */
1915
+ async usdRaised(): Promise<bigint> {
1916
+ return this.contract.read.usdRaised() as Promise<bigint>;
1917
+ }
1918
+
1919
+ /**
1920
+ * usdtBuyHelper
1921
+ * view
1922
+ */
1923
+ async usdtBuyHelper(amount: bigint): Promise<bigint> {
1924
+ return this.contract.read.usdtBuyHelper([amount] as const) as Promise<bigint>;
1925
+ }
1926
+
1927
+ /**
1928
+ * userDeposits
1929
+ * view
1930
+ */
1931
+ async userDeposits(arg0: `0x${string}`): Promise<bigint> {
1932
+ return this.contract.read.userDeposits([arg0] as const) as Promise<bigint>;
1933
+ }
1934
+
1935
+ /**
1936
+ * wallets
1937
+ * view
1938
+ */
1939
+ async wallets(arg0: bigint): Promise<`0x${string}`> {
1940
+ return this.contract.read.wallets([arg0] as const) as Promise<`0x${string}`>;
1941
+ }
1942
+
1943
+ /**
1944
+ * wertWhitelisted
1945
+ * view
1946
+ */
1947
+ async wertWhitelisted(arg0: `0x${string}`): Promise<boolean> {
1948
+ return this.contract.read.wertWhitelisted([arg0] as const) as Promise<boolean>;
1949
+ }
1950
+
1951
+ /**
1952
+ * whitelistClaimOnly
1953
+ * view
1954
+ */
1955
+ async whitelistClaimOnly(): Promise<boolean> {
1956
+ return this.contract.read.whitelistClaimOnly() as Promise<boolean>;
1957
+ }
1958
+
1959
+ /**
1960
+ * blacklistUsers
1961
+ * nonpayable
1962
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1963
+ */
1964
+ async blacklistUsers(_usersToBlacklist: `0x${string}`[], options?: {
1965
+ accessList?: import('viem').AccessList;
1966
+ authorizationList?: import('viem').AuthorizationList;
1967
+ chain?: import('viem').Chain | null;
1968
+ dataSuffix?: `0x${string}`;
1969
+ gas?: bigint;
1970
+ gasPrice?: bigint;
1971
+ maxFeePerGas?: bigint;
1972
+ maxPriorityFeePerGas?: bigint;
1973
+ nonce?: number;
1974
+ value?: bigint;
1975
+ }): Promise<`0x${string}`> {
1976
+ if (!this.contract.write) {
1977
+ throw new Error('Wallet client is required for write operations');
1978
+ }
1979
+ return this.contract.write.blacklistUsers([_usersToBlacklist] as const, options) as Promise<`0x${string}`>;
1980
+ }
1981
+
1982
+ /**
1983
+ * buyWithETHWert
1984
+ * payable
1985
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1986
+ */
1987
+ async buyWithETHWert(_user: `0x${string}`, _amount: bigint, stake: boolean, options?: {
1988
+ accessList?: import('viem').AccessList;
1989
+ authorizationList?: import('viem').AuthorizationList;
1990
+ chain?: import('viem').Chain | null;
1991
+ dataSuffix?: `0x${string}`;
1992
+ gas?: bigint;
1993
+ gasPrice?: bigint;
1994
+ maxFeePerGas?: bigint;
1995
+ maxPriorityFeePerGas?: bigint;
1996
+ nonce?: number;
1997
+ value?: bigint;
1998
+ }): Promise<`0x${string}`> {
1999
+ if (!this.contract.write) {
2000
+ throw new Error('Wallet client is required for write operations');
2001
+ }
2002
+ return this.contract.write.buyWithETHWert([_user, _amount, stake] as const, options) as Promise<`0x${string}`>;
2003
+ }
2004
+
2005
+ /**
2006
+ * buyWithEth
2007
+ * payable
2008
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2009
+ */
2010
+ async buyWithEth(amount: bigint, stake: boolean, options?: {
2011
+ accessList?: import('viem').AccessList;
2012
+ authorizationList?: import('viem').AuthorizationList;
2013
+ chain?: import('viem').Chain | null;
2014
+ dataSuffix?: `0x${string}`;
2015
+ gas?: bigint;
2016
+ gasPrice?: bigint;
2017
+ maxFeePerGas?: bigint;
2018
+ maxPriorityFeePerGas?: bigint;
2019
+ nonce?: number;
2020
+ value?: bigint;
2021
+ }): Promise<`0x${string}`> {
2022
+ if (!this.contract.write) {
2023
+ throw new Error('Wallet client is required for write operations');
2024
+ }
2025
+ return this.contract.write.buyWithEth([amount, stake] as const, options) as Promise<`0x${string}`>;
2026
+ }
2027
+
2028
+ /**
2029
+ * buyWithUSDC
2030
+ * nonpayable
2031
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2032
+ */
2033
+ async buyWithUSDC(amount: bigint, stake: boolean, options?: {
2034
+ accessList?: import('viem').AccessList;
2035
+ authorizationList?: import('viem').AuthorizationList;
2036
+ chain?: import('viem').Chain | null;
2037
+ dataSuffix?: `0x${string}`;
2038
+ gas?: bigint;
2039
+ gasPrice?: bigint;
2040
+ maxFeePerGas?: bigint;
2041
+ maxPriorityFeePerGas?: bigint;
2042
+ nonce?: number;
2043
+ value?: bigint;
2044
+ }): Promise<`0x${string}`> {
2045
+ if (!this.contract.write) {
2046
+ throw new Error('Wallet client is required for write operations');
2047
+ }
2048
+ return this.contract.write.buyWithUSDC([amount, stake] as const, options) as Promise<`0x${string}`>;
2049
+ }
2050
+
2051
+ /**
2052
+ * buyWithUSDT
2053
+ * nonpayable
2054
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2055
+ */
2056
+ async buyWithUSDT(amount: bigint, stake: boolean, options?: {
2057
+ accessList?: import('viem').AccessList;
2058
+ authorizationList?: import('viem').AuthorizationList;
2059
+ chain?: import('viem').Chain | null;
2060
+ dataSuffix?: `0x${string}`;
2061
+ gas?: bigint;
2062
+ gasPrice?: bigint;
2063
+ maxFeePerGas?: bigint;
2064
+ maxPriorityFeePerGas?: bigint;
2065
+ nonce?: number;
2066
+ value?: bigint;
2067
+ }): Promise<`0x${string}`> {
2068
+ if (!this.contract.write) {
2069
+ throw new Error('Wallet client is required for write operations');
2070
+ }
2071
+ return this.contract.write.buyWithUSDT([amount, stake] as const, options) as Promise<`0x${string}`>;
2072
+ }
2073
+
2074
+ /**
2075
+ * changeClaimStart
2076
+ * nonpayable
2077
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2078
+ */
2079
+ async changeClaimStart(_claimStart: bigint, options?: {
2080
+ accessList?: import('viem').AccessList;
2081
+ authorizationList?: import('viem').AuthorizationList;
2082
+ chain?: import('viem').Chain | null;
2083
+ dataSuffix?: `0x${string}`;
2084
+ gas?: bigint;
2085
+ gasPrice?: bigint;
2086
+ maxFeePerGas?: bigint;
2087
+ maxPriorityFeePerGas?: bigint;
2088
+ nonce?: number;
2089
+ value?: bigint;
2090
+ }): Promise<`0x${string}`> {
2091
+ if (!this.contract.write) {
2092
+ throw new Error('Wallet client is required for write operations');
2093
+ }
2094
+ return this.contract.write.changeClaimStart([_claimStart] as const, options) as Promise<`0x${string}`>;
2095
+ }
2096
+
2097
+ /**
2098
+ * changeMaxTokensToBuy
2099
+ * nonpayable
2100
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2101
+ */
2102
+ async changeMaxTokensToBuy(_maxTokensToBuy: bigint, options?: {
2103
+ accessList?: import('viem').AccessList;
2104
+ authorizationList?: import('viem').AuthorizationList;
2105
+ chain?: import('viem').Chain | null;
2106
+ dataSuffix?: `0x${string}`;
2107
+ gas?: bigint;
2108
+ gasPrice?: bigint;
2109
+ maxFeePerGas?: bigint;
2110
+ maxPriorityFeePerGas?: bigint;
2111
+ nonce?: number;
2112
+ value?: bigint;
2113
+ }): Promise<`0x${string}`> {
2114
+ if (!this.contract.write) {
2115
+ throw new Error('Wallet client is required for write operations');
2116
+ }
2117
+ return this.contract.write.changeMaxTokensToBuy([_maxTokensToBuy] as const, options) as Promise<`0x${string}`>;
2118
+ }
2119
+
2120
+ /**
2121
+ * changePaymentWallet
2122
+ * nonpayable
2123
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2124
+ */
2125
+ async changePaymentWallet(_newPaymentWallet: `0x${string}`, options?: {
2126
+ accessList?: import('viem').AccessList;
2127
+ authorizationList?: import('viem').AuthorizationList;
2128
+ chain?: import('viem').Chain | null;
2129
+ dataSuffix?: `0x${string}`;
2130
+ gas?: bigint;
2131
+ gasPrice?: bigint;
2132
+ maxFeePerGas?: bigint;
2133
+ maxPriorityFeePerGas?: bigint;
2134
+ nonce?: number;
2135
+ value?: bigint;
2136
+ }): Promise<`0x${string}`> {
2137
+ if (!this.contract.write) {
2138
+ throw new Error('Wallet client is required for write operations');
2139
+ }
2140
+ return this.contract.write.changePaymentWallet([_newPaymentWallet] as const, options) as Promise<`0x${string}`>;
2141
+ }
2142
+
2143
+ /**
2144
+ * changeRoundsData
2145
+ * nonpayable
2146
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2147
+ */
2148
+ async changeRoundsData(_rounds: bigint[][], options?: {
2149
+ accessList?: import('viem').AccessList;
2150
+ authorizationList?: import('viem').AuthorizationList;
2151
+ chain?: import('viem').Chain | null;
2152
+ dataSuffix?: `0x${string}`;
2153
+ gas?: bigint;
2154
+ gasPrice?: bigint;
2155
+ maxFeePerGas?: bigint;
2156
+ maxPriorityFeePerGas?: bigint;
2157
+ nonce?: number;
2158
+ value?: bigint;
2159
+ }): Promise<`0x${string}`> {
2160
+ if (!this.contract.write) {
2161
+ throw new Error('Wallet client is required for write operations');
2162
+ }
2163
+ return this.contract.write.changeRoundsData([_rounds] as const, options) as Promise<`0x${string}`>;
2164
+ }
2165
+
2166
+ /**
2167
+ * changeSaleTimes
2168
+ * nonpayable
2169
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2170
+ */
2171
+ async changeSaleTimes(_startTime: bigint, _endTime: bigint, options?: {
2172
+ accessList?: import('viem').AccessList;
2173
+ authorizationList?: import('viem').AuthorizationList;
2174
+ chain?: import('viem').Chain | null;
2175
+ dataSuffix?: `0x${string}`;
2176
+ gas?: bigint;
2177
+ gasPrice?: bigint;
2178
+ maxFeePerGas?: bigint;
2179
+ maxPriorityFeePerGas?: bigint;
2180
+ nonce?: number;
2181
+ value?: bigint;
2182
+ }): Promise<`0x${string}`> {
2183
+ if (!this.contract.write) {
2184
+ throw new Error('Wallet client is required for write operations');
2185
+ }
2186
+ return this.contract.write.changeSaleTimes([_startTime, _endTime] as const, options) as Promise<`0x${string}`>;
2187
+ }
2188
+
2189
+ /**
2190
+ * claim
2191
+ * nonpayable
2192
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2193
+ */
2194
+ async claim(options?: {
2195
+ accessList?: import('viem').AccessList;
2196
+ authorizationList?: import('viem').AuthorizationList;
2197
+ chain?: import('viem').Chain | null;
2198
+ dataSuffix?: `0x${string}`;
2199
+ gas?: bigint;
2200
+ gasPrice?: bigint;
2201
+ maxFeePerGas?: bigint;
2202
+ maxPriorityFeePerGas?: bigint;
2203
+ nonce?: number;
2204
+ value?: bigint;
2205
+ }): Promise<`0x${string}`> {
2206
+ if (!this.contract.write) {
2207
+ throw new Error('Wallet client is required for write operations');
2208
+ }
2209
+ return this.contract.write.claim(options) as Promise<`0x${string}`>;
2210
+ }
2211
+
2212
+ /**
2213
+ * claimAndStake
2214
+ * nonpayable
2215
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2216
+ */
2217
+ async claimAndStake(options?: {
2218
+ accessList?: import('viem').AccessList;
2219
+ authorizationList?: import('viem').AuthorizationList;
2220
+ chain?: import('viem').Chain | null;
2221
+ dataSuffix?: `0x${string}`;
2222
+ gas?: bigint;
2223
+ gasPrice?: bigint;
2224
+ maxFeePerGas?: bigint;
2225
+ maxPriorityFeePerGas?: bigint;
2226
+ nonce?: number;
2227
+ value?: bigint;
2228
+ }): Promise<`0x${string}`> {
2229
+ if (!this.contract.write) {
2230
+ throw new Error('Wallet client is required for write operations');
2231
+ }
2232
+ return this.contract.write.claimAndStake(options) as Promise<`0x${string}`>;
2233
+ }
2234
+
2235
+ /**
2236
+ * incrementCurrentStep
2237
+ * nonpayable
2238
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2239
+ */
2240
+ async incrementCurrentStep(options?: {
2241
+ accessList?: import('viem').AccessList;
2242
+ authorizationList?: import('viem').AuthorizationList;
2243
+ chain?: import('viem').Chain | null;
2244
+ dataSuffix?: `0x${string}`;
2245
+ gas?: bigint;
2246
+ gasPrice?: bigint;
2247
+ maxFeePerGas?: bigint;
2248
+ maxPriorityFeePerGas?: bigint;
2249
+ nonce?: number;
2250
+ value?: bigint;
2251
+ }): Promise<`0x${string}`> {
2252
+ if (!this.contract.write) {
2253
+ throw new Error('Wallet client is required for write operations');
2254
+ }
2255
+ return this.contract.write.incrementCurrentStep(options) as Promise<`0x${string}`>;
2256
+ }
2257
+
2258
+ /**
2259
+ * initialize
2260
+ * nonpayable
2261
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2262
+ */
2263
+ async initialize(_oracle: `0x${string}`, _usdt: `0x${string}`, _startTime: bigint, _endTime: bigint, _rounds: bigint[][], _maxTokensToBuy: bigint, _paymentWallet: `0x${string}`, _dynamicTimeFlag: boolean, _timeConstant: bigint, options?: {
2264
+ accessList?: import('viem').AccessList;
2265
+ authorizationList?: import('viem').AuthorizationList;
2266
+ chain?: import('viem').Chain | null;
2267
+ dataSuffix?: `0x${string}`;
2268
+ gas?: bigint;
2269
+ gasPrice?: bigint;
2270
+ maxFeePerGas?: bigint;
2271
+ maxPriorityFeePerGas?: bigint;
2272
+ nonce?: number;
2273
+ value?: bigint;
2274
+ }): Promise<`0x${string}`> {
2275
+ if (!this.contract.write) {
2276
+ throw new Error('Wallet client is required for write operations');
2277
+ }
2278
+ return this.contract.write.initialize([_oracle, _usdt, _startTime, _endTime, _rounds, _maxTokensToBuy, _paymentWallet, _dynamicTimeFlag, _timeConstant] as const, options) as Promise<`0x${string}`>;
2279
+ }
2280
+
2281
+ /**
2282
+ * pause
2283
+ * nonpayable
2284
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2285
+ */
2286
+ async pause(options?: {
2287
+ accessList?: import('viem').AccessList;
2288
+ authorizationList?: import('viem').AuthorizationList;
2289
+ chain?: import('viem').Chain | null;
2290
+ dataSuffix?: `0x${string}`;
2291
+ gas?: bigint;
2292
+ gasPrice?: bigint;
2293
+ maxFeePerGas?: bigint;
2294
+ maxPriorityFeePerGas?: bigint;
2295
+ nonce?: number;
2296
+ value?: bigint;
2297
+ }): Promise<`0x${string}`> {
2298
+ if (!this.contract.write) {
2299
+ throw new Error('Wallet client is required for write operations');
2300
+ }
2301
+ return this.contract.write.pause(options) as Promise<`0x${string}`>;
2302
+ }
2303
+
2304
+ /**
2305
+ * removeFromBlacklist
2306
+ * nonpayable
2307
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2308
+ */
2309
+ async removeFromBlacklist(_userToRemoveFromBlacklist: `0x${string}`[], options?: {
2310
+ accessList?: import('viem').AccessList;
2311
+ authorizationList?: import('viem').AuthorizationList;
2312
+ chain?: import('viem').Chain | null;
2313
+ dataSuffix?: `0x${string}`;
2314
+ gas?: bigint;
2315
+ gasPrice?: bigint;
2316
+ maxFeePerGas?: bigint;
2317
+ maxPriorityFeePerGas?: bigint;
2318
+ nonce?: number;
2319
+ value?: bigint;
2320
+ }): Promise<`0x${string}`> {
2321
+ if (!this.contract.write) {
2322
+ throw new Error('Wallet client is required for write operations');
2323
+ }
2324
+ return this.contract.write.removeFromBlacklist([_userToRemoveFromBlacklist] as const, options) as Promise<`0x${string}`>;
2325
+ }
2326
+
2327
+ /**
2328
+ * removeFromWhitelist
2329
+ * nonpayable
2330
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2331
+ */
2332
+ async removeFromWhitelist(_userToRemoveFromWhitelist: `0x${string}`[], options?: {
2333
+ accessList?: import('viem').AccessList;
2334
+ authorizationList?: import('viem').AuthorizationList;
2335
+ chain?: import('viem').Chain | null;
2336
+ dataSuffix?: `0x${string}`;
2337
+ gas?: bigint;
2338
+ gasPrice?: bigint;
2339
+ maxFeePerGas?: bigint;
2340
+ maxPriorityFeePerGas?: bigint;
2341
+ nonce?: number;
2342
+ value?: bigint;
2343
+ }): Promise<`0x${string}`> {
2344
+ if (!this.contract.write) {
2345
+ throw new Error('Wallet client is required for write operations');
2346
+ }
2347
+ return this.contract.write.removeFromWhitelist([_userToRemoveFromWhitelist] as const, options) as Promise<`0x${string}`>;
2348
+ }
2349
+
2350
+ /**
2351
+ * removeFromWhitelistForWERT
2352
+ * nonpayable
2353
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2354
+ */
2355
+ async removeFromWhitelistForWERT(_addressesToRemoveFromWhitelist: `0x${string}`[], options?: {
2356
+ accessList?: import('viem').AccessList;
2357
+ authorizationList?: import('viem').AuthorizationList;
2358
+ chain?: import('viem').Chain | null;
2359
+ dataSuffix?: `0x${string}`;
2360
+ gas?: bigint;
2361
+ gasPrice?: bigint;
2362
+ maxFeePerGas?: bigint;
2363
+ maxPriorityFeePerGas?: bigint;
2364
+ nonce?: number;
2365
+ value?: bigint;
2366
+ }): Promise<`0x${string}`> {
2367
+ if (!this.contract.write) {
2368
+ throw new Error('Wallet client is required for write operations');
2369
+ }
2370
+ return this.contract.write.removeFromWhitelistForWERT([_addressesToRemoveFromWhitelist] as const, options) as Promise<`0x${string}`>;
2371
+ }
2372
+
2373
+ /**
2374
+ * renounceOwnership
2375
+ * nonpayable
2376
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2377
+ */
2378
+ async renounceOwnership(options?: {
2379
+ accessList?: import('viem').AccessList;
2380
+ authorizationList?: import('viem').AuthorizationList;
2381
+ chain?: import('viem').Chain | null;
2382
+ dataSuffix?: `0x${string}`;
2383
+ gas?: bigint;
2384
+ gasPrice?: bigint;
2385
+ maxFeePerGas?: bigint;
2386
+ maxPriorityFeePerGas?: bigint;
2387
+ nonce?: number;
2388
+ value?: bigint;
2389
+ }): Promise<`0x${string}`> {
2390
+ if (!this.contract.write) {
2391
+ throw new Error('Wallet client is required for write operations');
2392
+ }
2393
+ return this.contract.write.renounceOwnership(options) as Promise<`0x${string}`>;
2394
+ }
2395
+
2396
+ /**
2397
+ * setAdmin
2398
+ * nonpayable
2399
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2400
+ */
2401
+ async setAdmin(_admin: `0x${string}`, options?: {
2402
+ accessList?: import('viem').AccessList;
2403
+ authorizationList?: import('viem').AuthorizationList;
2404
+ chain?: import('viem').Chain | null;
2405
+ dataSuffix?: `0x${string}`;
2406
+ gas?: bigint;
2407
+ gasPrice?: bigint;
2408
+ maxFeePerGas?: bigint;
2409
+ maxPriorityFeePerGas?: bigint;
2410
+ nonce?: number;
2411
+ value?: bigint;
2412
+ }): Promise<`0x${string}`> {
2413
+ if (!this.contract.write) {
2414
+ throw new Error('Wallet client is required for write operations');
2415
+ }
2416
+ return this.contract.write.setAdmin([_admin] as const, options) as Promise<`0x${string}`>;
2417
+ }
2418
+
2419
+ /**
2420
+ * setClaimWhitelistStatus
2421
+ * nonpayable
2422
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2423
+ */
2424
+ async setClaimWhitelistStatus(_status: boolean, options?: {
2425
+ accessList?: import('viem').AccessList;
2426
+ authorizationList?: import('viem').AuthorizationList;
2427
+ chain?: import('viem').Chain | null;
2428
+ dataSuffix?: `0x${string}`;
2429
+ gas?: bigint;
2430
+ gasPrice?: bigint;
2431
+ maxFeePerGas?: bigint;
2432
+ maxPriorityFeePerGas?: bigint;
2433
+ nonce?: number;
2434
+ value?: bigint;
2435
+ }): Promise<`0x${string}`> {
2436
+ if (!this.contract.write) {
2437
+ throw new Error('Wallet client is required for write operations');
2438
+ }
2439
+ return this.contract.write.setClaimWhitelistStatus([_status] as const, options) as Promise<`0x${string}`>;
2440
+ }
2441
+
2442
+ /**
2443
+ * setCurrentStep
2444
+ * nonpayable
2445
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2446
+ */
2447
+ async setCurrentStep(_step: bigint, _checkpoint: bigint, options?: {
2448
+ accessList?: import('viem').AccessList;
2449
+ authorizationList?: import('viem').AuthorizationList;
2450
+ chain?: import('viem').Chain | null;
2451
+ dataSuffix?: `0x${string}`;
2452
+ gas?: bigint;
2453
+ gasPrice?: bigint;
2454
+ maxFeePerGas?: bigint;
2455
+ maxPriorityFeePerGas?: bigint;
2456
+ nonce?: number;
2457
+ value?: bigint;
2458
+ }): Promise<`0x${string}`> {
2459
+ if (!this.contract.write) {
2460
+ throw new Error('Wallet client is required for write operations');
2461
+ }
2462
+ return this.contract.write.setCurrentStep([_step, _checkpoint] as const, options) as Promise<`0x${string}`>;
2463
+ }
2464
+
2465
+ /**
2466
+ * setDynamicTimeFlag
2467
+ * nonpayable
2468
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2469
+ */
2470
+ async setDynamicTimeFlag(_dynamicTimeFlag: boolean, options?: {
2471
+ accessList?: import('viem').AccessList;
2472
+ authorizationList?: import('viem').AuthorizationList;
2473
+ chain?: import('viem').Chain | null;
2474
+ dataSuffix?: `0x${string}`;
2475
+ gas?: bigint;
2476
+ gasPrice?: bigint;
2477
+ maxFeePerGas?: bigint;
2478
+ maxPriorityFeePerGas?: bigint;
2479
+ nonce?: number;
2480
+ value?: bigint;
2481
+ }): Promise<`0x${string}`> {
2482
+ if (!this.contract.write) {
2483
+ throw new Error('Wallet client is required for write operations');
2484
+ }
2485
+ return this.contract.write.setDynamicTimeFlag([_dynamicTimeFlag] as const, options) as Promise<`0x${string}`>;
2486
+ }
2487
+
2488
+ /**
2489
+ * setRemainingTokensArray
2490
+ * nonpayable
2491
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2492
+ */
2493
+ async setRemainingTokensArray(_unsoldTokens: bigint[], options?: {
2494
+ accessList?: import('viem').AccessList;
2495
+ authorizationList?: import('viem').AuthorizationList;
2496
+ chain?: import('viem').Chain | null;
2497
+ dataSuffix?: `0x${string}`;
2498
+ gas?: bigint;
2499
+ gasPrice?: bigint;
2500
+ maxFeePerGas?: bigint;
2501
+ maxPriorityFeePerGas?: bigint;
2502
+ nonce?: number;
2503
+ value?: bigint;
2504
+ }): Promise<`0x${string}`> {
2505
+ if (!this.contract.write) {
2506
+ throw new Error('Wallet client is required for write operations');
2507
+ }
2508
+ return this.contract.write.setRemainingTokensArray([_unsoldTokens] as const, options) as Promise<`0x${string}`>;
2509
+ }
2510
+
2511
+ /**
2512
+ * setSanctions
2513
+ * nonpayable
2514
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2515
+ */
2516
+ async setSanctions(_sanctionContract: `0x${string}`, _applySanction: boolean, options?: {
2517
+ accessList?: import('viem').AccessList;
2518
+ authorizationList?: import('viem').AuthorizationList;
2519
+ chain?: import('viem').Chain | null;
2520
+ dataSuffix?: `0x${string}`;
2521
+ gas?: bigint;
2522
+ gasPrice?: bigint;
2523
+ maxFeePerGas?: bigint;
2524
+ maxPriorityFeePerGas?: bigint;
2525
+ nonce?: number;
2526
+ value?: bigint;
2527
+ }): Promise<`0x${string}`> {
2528
+ if (!this.contract.write) {
2529
+ throw new Error('Wallet client is required for write operations');
2530
+ }
2531
+ return this.contract.write.setSanctions([_sanctionContract, _applySanction] as const, options) as Promise<`0x${string}`>;
2532
+ }
2533
+
2534
+ /**
2535
+ * setSplits
2536
+ * nonpayable
2537
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2538
+ */
2539
+ async setSplits(_wallets: `0x${string}`[], _percentages: bigint[], options?: {
2540
+ accessList?: import('viem').AccessList;
2541
+ authorizationList?: import('viem').AuthorizationList;
2542
+ chain?: import('viem').Chain | null;
2543
+ dataSuffix?: `0x${string}`;
2544
+ gas?: bigint;
2545
+ gasPrice?: bigint;
2546
+ maxFeePerGas?: bigint;
2547
+ maxPriorityFeePerGas?: bigint;
2548
+ nonce?: number;
2549
+ value?: bigint;
2550
+ }): Promise<`0x${string}`> {
2551
+ if (!this.contract.write) {
2552
+ throw new Error('Wallet client is required for write operations');
2553
+ }
2554
+ return this.contract.write.setSplits([_wallets, _percentages] as const, options) as Promise<`0x${string}`>;
2555
+ }
2556
+
2557
+ /**
2558
+ * setStakeingWhitelistStatus
2559
+ * nonpayable
2560
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2561
+ */
2562
+ async setStakeingWhitelistStatus(_status: boolean, options?: {
2563
+ accessList?: import('viem').AccessList;
2564
+ authorizationList?: import('viem').AuthorizationList;
2565
+ chain?: import('viem').Chain | null;
2566
+ dataSuffix?: `0x${string}`;
2567
+ gas?: bigint;
2568
+ gasPrice?: bigint;
2569
+ maxFeePerGas?: bigint;
2570
+ maxPriorityFeePerGas?: bigint;
2571
+ nonce?: number;
2572
+ value?: bigint;
2573
+ }): Promise<`0x${string}`> {
2574
+ if (!this.contract.write) {
2575
+ throw new Error('Wallet client is required for write operations');
2576
+ }
2577
+ return this.contract.write.setStakeingWhitelistStatus([_status] as const, options) as Promise<`0x${string}`>;
2578
+ }
2579
+
2580
+ /**
2581
+ * setStakingManager
2582
+ * nonpayable
2583
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2584
+ */
2585
+ async setStakingManager(_stakingManagerAddress: `0x${string}`, options?: {
2586
+ accessList?: import('viem').AccessList;
2587
+ authorizationList?: import('viem').AuthorizationList;
2588
+ chain?: import('viem').Chain | null;
2589
+ dataSuffix?: `0x${string}`;
2590
+ gas?: bigint;
2591
+ gasPrice?: bigint;
2592
+ maxFeePerGas?: bigint;
2593
+ maxPriorityFeePerGas?: bigint;
2594
+ nonce?: number;
2595
+ value?: bigint;
2596
+ }): Promise<`0x${string}`> {
2597
+ if (!this.contract.write) {
2598
+ throw new Error('Wallet client is required for write operations');
2599
+ }
2600
+ return this.contract.write.setStakingManager([_stakingManagerAddress] as const, options) as Promise<`0x${string}`>;
2601
+ }
2602
+
2603
+ /**
2604
+ * setTimeConstant
2605
+ * nonpayable
2606
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2607
+ */
2608
+ async setTimeConstant(_timeConstant: bigint, options?: {
2609
+ accessList?: import('viem').AccessList;
2610
+ authorizationList?: import('viem').AuthorizationList;
2611
+ chain?: import('viem').Chain | null;
2612
+ dataSuffix?: `0x${string}`;
2613
+ gas?: bigint;
2614
+ gasPrice?: bigint;
2615
+ maxFeePerGas?: bigint;
2616
+ maxPriorityFeePerGas?: bigint;
2617
+ nonce?: number;
2618
+ value?: bigint;
2619
+ }): Promise<`0x${string}`> {
2620
+ if (!this.contract.write) {
2621
+ throw new Error('Wallet client is required for write operations');
2622
+ }
2623
+ return this.contract.write.setTimeConstant([_timeConstant] as const, options) as Promise<`0x${string}`>;
2624
+ }
2625
+
2626
+ /**
2627
+ * setUSDCInterface
2628
+ * nonpayable
2629
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2630
+ */
2631
+ async setUSDCInterface(_usdc: `0x${string}`, options?: {
2632
+ accessList?: import('viem').AccessList;
2633
+ authorizationList?: import('viem').AuthorizationList;
2634
+ chain?: import('viem').Chain | null;
2635
+ dataSuffix?: `0x${string}`;
2636
+ gas?: bigint;
2637
+ gasPrice?: bigint;
2638
+ maxFeePerGas?: bigint;
2639
+ maxPriorityFeePerGas?: bigint;
2640
+ nonce?: number;
2641
+ value?: bigint;
2642
+ }): Promise<`0x${string}`> {
2643
+ if (!this.contract.write) {
2644
+ throw new Error('Wallet client is required for write operations');
2645
+ }
2646
+ return this.contract.write.setUSDCInterface([_usdc] as const, options) as Promise<`0x${string}`>;
2647
+ }
2648
+
2649
+ /**
2650
+ * startClaim
2651
+ * nonpayable
2652
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2653
+ */
2654
+ async startClaim(_claimStart: bigint, noOfTokens: bigint, _saleToken: `0x${string}`, _stakingManagerAddress: `0x${string}`, options?: {
2655
+ accessList?: import('viem').AccessList;
2656
+ authorizationList?: import('viem').AuthorizationList;
2657
+ chain?: import('viem').Chain | null;
2658
+ dataSuffix?: `0x${string}`;
2659
+ gas?: bigint;
2660
+ gasPrice?: bigint;
2661
+ maxFeePerGas?: bigint;
2662
+ maxPriorityFeePerGas?: bigint;
2663
+ nonce?: number;
2664
+ value?: bigint;
2665
+ }): Promise<`0x${string}`> {
2666
+ if (!this.contract.write) {
2667
+ throw new Error('Wallet client is required for write operations');
2668
+ }
2669
+ return this.contract.write.startClaim([_claimStart, noOfTokens, _saleToken, _stakingManagerAddress] as const, options) as Promise<`0x${string}`>;
2670
+ }
2671
+
2672
+ /**
2673
+ * transferOwnership
2674
+ * nonpayable
2675
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2676
+ */
2677
+ async transferOwnership(newOwner: `0x${string}`, options?: {
2678
+ accessList?: import('viem').AccessList;
2679
+ authorizationList?: import('viem').AuthorizationList;
2680
+ chain?: import('viem').Chain | null;
2681
+ dataSuffix?: `0x${string}`;
2682
+ gas?: bigint;
2683
+ gasPrice?: bigint;
2684
+ maxFeePerGas?: bigint;
2685
+ maxPriorityFeePerGas?: bigint;
2686
+ nonce?: number;
2687
+ value?: bigint;
2688
+ }): Promise<`0x${string}`> {
2689
+ if (!this.contract.write) {
2690
+ throw new Error('Wallet client is required for write operations');
2691
+ }
2692
+ return this.contract.write.transferOwnership([newOwner] as const, options) as Promise<`0x${string}`>;
2693
+ }
2694
+
2695
+ /**
2696
+ * unpause
2697
+ * nonpayable
2698
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2699
+ */
2700
+ async unpause(options?: {
2701
+ accessList?: import('viem').AccessList;
2702
+ authorizationList?: import('viem').AuthorizationList;
2703
+ chain?: import('viem').Chain | null;
2704
+ dataSuffix?: `0x${string}`;
2705
+ gas?: bigint;
2706
+ gasPrice?: bigint;
2707
+ maxFeePerGas?: bigint;
2708
+ maxPriorityFeePerGas?: bigint;
2709
+ nonce?: number;
2710
+ value?: bigint;
2711
+ }): Promise<`0x${string}`> {
2712
+ if (!this.contract.write) {
2713
+ throw new Error('Wallet client is required for write operations');
2714
+ }
2715
+ return this.contract.write.unpause(options) as Promise<`0x${string}`>;
2716
+ }
2717
+
2718
+ /**
2719
+ * updateFromBSC
2720
+ * nonpayable
2721
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2722
+ */
2723
+ async updateFromBSC(_users: `0x${string}`[], _userDeposits: bigint[], options?: {
2724
+ accessList?: import('viem').AccessList;
2725
+ authorizationList?: import('viem').AuthorizationList;
2726
+ chain?: import('viem').Chain | null;
2727
+ dataSuffix?: `0x${string}`;
2728
+ gas?: bigint;
2729
+ gasPrice?: bigint;
2730
+ maxFeePerGas?: bigint;
2731
+ maxPriorityFeePerGas?: bigint;
2732
+ nonce?: number;
2733
+ value?: bigint;
2734
+ }): Promise<`0x${string}`> {
2735
+ if (!this.contract.write) {
2736
+ throw new Error('Wallet client is required for write operations');
2737
+ }
2738
+ return this.contract.write.updateFromBSC([_users, _userDeposits] as const, options) as Promise<`0x${string}`>;
2739
+ }
2740
+
2741
+ /**
2742
+ * whitelistUsers
2743
+ * nonpayable
2744
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2745
+ */
2746
+ async whitelistUsers(_usersToWhitelist: `0x${string}`[], options?: {
2747
+ accessList?: import('viem').AccessList;
2748
+ authorizationList?: import('viem').AuthorizationList;
2749
+ chain?: import('viem').Chain | null;
2750
+ dataSuffix?: `0x${string}`;
2751
+ gas?: bigint;
2752
+ gasPrice?: bigint;
2753
+ maxFeePerGas?: bigint;
2754
+ maxPriorityFeePerGas?: bigint;
2755
+ nonce?: number;
2756
+ value?: bigint;
2757
+ }): Promise<`0x${string}`> {
2758
+ if (!this.contract.write) {
2759
+ throw new Error('Wallet client is required for write operations');
2760
+ }
2761
+ return this.contract.write.whitelistUsers([_usersToWhitelist] as const, options) as Promise<`0x${string}`>;
2762
+ }
2763
+
2764
+ /**
2765
+ * whitelistUsersForWERT
2766
+ * nonpayable
2767
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2768
+ */
2769
+ async whitelistUsersForWERT(_addressesToWhitelist: `0x${string}`[], options?: {
2770
+ accessList?: import('viem').AccessList;
2771
+ authorizationList?: import('viem').AuthorizationList;
2772
+ chain?: import('viem').Chain | null;
2773
+ dataSuffix?: `0x${string}`;
2774
+ gas?: bigint;
2775
+ gasPrice?: bigint;
2776
+ maxFeePerGas?: bigint;
2777
+ maxPriorityFeePerGas?: bigint;
2778
+ nonce?: number;
2779
+ value?: bigint;
2780
+ }): Promise<`0x${string}`> {
2781
+ if (!this.contract.write) {
2782
+ throw new Error('Wallet client is required for write operations');
2783
+ }
2784
+ return this.contract.write.whitelistUsersForWERT([_addressesToWhitelist] as const, options) as Promise<`0x${string}`>;
2785
+ }
2786
+
2787
+
2788
+
2789
+ /**
2790
+ * Simulate contract write operations (dry-run without sending transaction)
2791
+ *
2792
+ * @example
2793
+ * const result = await contract.simulate.transfer('0x...', 1000n);
2794
+ * console.log('Gas estimate:', result.request.gas);
2795
+ * console.log('Would succeed:', result.result);
2796
+ */
2797
+ get simulate() {
2798
+ const contract = this.contract;
2799
+ if (!contract.simulate) {
2800
+ throw new Error('Public client is required for simulation');
2801
+ }
2802
+ return {
2803
+ /**
2804
+ * Simulate blacklistUsers
2805
+ * Returns gas estimate and result without sending transaction
2806
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2807
+ */
2808
+ async blacklistUsers(_usersToBlacklist: `0x${string}`[], options?: {
2809
+ accessList?: import('viem').AccessList;
2810
+ authorizationList?: import('viem').AuthorizationList;
2811
+ chain?: import('viem').Chain | null;
2812
+ dataSuffix?: `0x${string}`;
2813
+ gas?: bigint;
2814
+ gasPrice?: bigint;
2815
+ maxFeePerGas?: bigint;
2816
+ maxPriorityFeePerGas?: bigint;
2817
+ nonce?: number;
2818
+ value?: bigint;
2819
+ }): Promise<void> {
2820
+ return contract.simulate.blacklistUsers([_usersToBlacklist] as const, options) as Promise<void>;
2821
+ },
2822
+ /**
2823
+ * Simulate buyWithETHWert
2824
+ * Returns gas estimate and result without sending transaction
2825
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2826
+ */
2827
+ async buyWithETHWert(_user: `0x${string}`, _amount: bigint, stake: boolean, options?: {
2828
+ accessList?: import('viem').AccessList;
2829
+ authorizationList?: import('viem').AuthorizationList;
2830
+ chain?: import('viem').Chain | null;
2831
+ dataSuffix?: `0x${string}`;
2832
+ gas?: bigint;
2833
+ gasPrice?: bigint;
2834
+ maxFeePerGas?: bigint;
2835
+ maxPriorityFeePerGas?: bigint;
2836
+ nonce?: number;
2837
+ value?: bigint;
2838
+ }): Promise<boolean> {
2839
+ return contract.simulate.buyWithETHWert([_user, _amount, stake] as const, options) as Promise<boolean>;
2840
+ },
2841
+ /**
2842
+ * Simulate buyWithEth
2843
+ * Returns gas estimate and result without sending transaction
2844
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2845
+ */
2846
+ async buyWithEth(amount: bigint, stake: boolean, options?: {
2847
+ accessList?: import('viem').AccessList;
2848
+ authorizationList?: import('viem').AuthorizationList;
2849
+ chain?: import('viem').Chain | null;
2850
+ dataSuffix?: `0x${string}`;
2851
+ gas?: bigint;
2852
+ gasPrice?: bigint;
2853
+ maxFeePerGas?: bigint;
2854
+ maxPriorityFeePerGas?: bigint;
2855
+ nonce?: number;
2856
+ value?: bigint;
2857
+ }): Promise<boolean> {
2858
+ return contract.simulate.buyWithEth([amount, stake] as const, options) as Promise<boolean>;
2859
+ },
2860
+ /**
2861
+ * Simulate buyWithUSDC
2862
+ * Returns gas estimate and result without sending transaction
2863
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2864
+ */
2865
+ async buyWithUSDC(amount: bigint, stake: boolean, options?: {
2866
+ accessList?: import('viem').AccessList;
2867
+ authorizationList?: import('viem').AuthorizationList;
2868
+ chain?: import('viem').Chain | null;
2869
+ dataSuffix?: `0x${string}`;
2870
+ gas?: bigint;
2871
+ gasPrice?: bigint;
2872
+ maxFeePerGas?: bigint;
2873
+ maxPriorityFeePerGas?: bigint;
2874
+ nonce?: number;
2875
+ value?: bigint;
2876
+ }): Promise<boolean> {
2877
+ return contract.simulate.buyWithUSDC([amount, stake] as const, options) as Promise<boolean>;
2878
+ },
2879
+ /**
2880
+ * Simulate buyWithUSDT
2881
+ * Returns gas estimate and result without sending transaction
2882
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2883
+ */
2884
+ async buyWithUSDT(amount: bigint, stake: boolean, options?: {
2885
+ accessList?: import('viem').AccessList;
2886
+ authorizationList?: import('viem').AuthorizationList;
2887
+ chain?: import('viem').Chain | null;
2888
+ dataSuffix?: `0x${string}`;
2889
+ gas?: bigint;
2890
+ gasPrice?: bigint;
2891
+ maxFeePerGas?: bigint;
2892
+ maxPriorityFeePerGas?: bigint;
2893
+ nonce?: number;
2894
+ value?: bigint;
2895
+ }): Promise<boolean> {
2896
+ return contract.simulate.buyWithUSDT([amount, stake] as const, options) as Promise<boolean>;
2897
+ },
2898
+ /**
2899
+ * Simulate changeClaimStart
2900
+ * Returns gas estimate and result without sending transaction
2901
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2902
+ */
2903
+ async changeClaimStart(_claimStart: bigint, options?: {
2904
+ accessList?: import('viem').AccessList;
2905
+ authorizationList?: import('viem').AuthorizationList;
2906
+ chain?: import('viem').Chain | null;
2907
+ dataSuffix?: `0x${string}`;
2908
+ gas?: bigint;
2909
+ gasPrice?: bigint;
2910
+ maxFeePerGas?: bigint;
2911
+ maxPriorityFeePerGas?: bigint;
2912
+ nonce?: number;
2913
+ value?: bigint;
2914
+ }): Promise<boolean> {
2915
+ return contract.simulate.changeClaimStart([_claimStart] as const, options) as Promise<boolean>;
2916
+ },
2917
+ /**
2918
+ * Simulate changeMaxTokensToBuy
2919
+ * Returns gas estimate and result without sending transaction
2920
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2921
+ */
2922
+ async changeMaxTokensToBuy(_maxTokensToBuy: bigint, options?: {
2923
+ accessList?: import('viem').AccessList;
2924
+ authorizationList?: import('viem').AuthorizationList;
2925
+ chain?: import('viem').Chain | null;
2926
+ dataSuffix?: `0x${string}`;
2927
+ gas?: bigint;
2928
+ gasPrice?: bigint;
2929
+ maxFeePerGas?: bigint;
2930
+ maxPriorityFeePerGas?: bigint;
2931
+ nonce?: number;
2932
+ value?: bigint;
2933
+ }): Promise<void> {
2934
+ return contract.simulate.changeMaxTokensToBuy([_maxTokensToBuy] as const, options) as Promise<void>;
2935
+ },
2936
+ /**
2937
+ * Simulate changePaymentWallet
2938
+ * Returns gas estimate and result without sending transaction
2939
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2940
+ */
2941
+ async changePaymentWallet(_newPaymentWallet: `0x${string}`, options?: {
2942
+ accessList?: import('viem').AccessList;
2943
+ authorizationList?: import('viem').AuthorizationList;
2944
+ chain?: import('viem').Chain | null;
2945
+ dataSuffix?: `0x${string}`;
2946
+ gas?: bigint;
2947
+ gasPrice?: bigint;
2948
+ maxFeePerGas?: bigint;
2949
+ maxPriorityFeePerGas?: bigint;
2950
+ nonce?: number;
2951
+ value?: bigint;
2952
+ }): Promise<void> {
2953
+ return contract.simulate.changePaymentWallet([_newPaymentWallet] as const, options) as Promise<void>;
2954
+ },
2955
+ /**
2956
+ * Simulate changeRoundsData
2957
+ * Returns gas estimate and result without sending transaction
2958
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2959
+ */
2960
+ async changeRoundsData(_rounds: bigint[][], options?: {
2961
+ accessList?: import('viem').AccessList;
2962
+ authorizationList?: import('viem').AuthorizationList;
2963
+ chain?: import('viem').Chain | null;
2964
+ dataSuffix?: `0x${string}`;
2965
+ gas?: bigint;
2966
+ gasPrice?: bigint;
2967
+ maxFeePerGas?: bigint;
2968
+ maxPriorityFeePerGas?: bigint;
2969
+ nonce?: number;
2970
+ value?: bigint;
2971
+ }): Promise<void> {
2972
+ return contract.simulate.changeRoundsData([_rounds] as const, options) as Promise<void>;
2973
+ },
2974
+ /**
2975
+ * Simulate changeSaleTimes
2976
+ * Returns gas estimate and result without sending transaction
2977
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2978
+ */
2979
+ async changeSaleTimes(_startTime: bigint, _endTime: bigint, options?: {
2980
+ accessList?: import('viem').AccessList;
2981
+ authorizationList?: import('viem').AuthorizationList;
2982
+ chain?: import('viem').Chain | null;
2983
+ dataSuffix?: `0x${string}`;
2984
+ gas?: bigint;
2985
+ gasPrice?: bigint;
2986
+ maxFeePerGas?: bigint;
2987
+ maxPriorityFeePerGas?: bigint;
2988
+ nonce?: number;
2989
+ value?: bigint;
2990
+ }): Promise<void> {
2991
+ return contract.simulate.changeSaleTimes([_startTime, _endTime] as const, options) as Promise<void>;
2992
+ },
2993
+ /**
2994
+ * Simulate claim
2995
+ * Returns gas estimate and result without sending transaction
2996
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2997
+ */
2998
+ async claim(options?: {
2999
+ accessList?: import('viem').AccessList;
3000
+ authorizationList?: import('viem').AuthorizationList;
3001
+ chain?: import('viem').Chain | null;
3002
+ dataSuffix?: `0x${string}`;
3003
+ gas?: bigint;
3004
+ gasPrice?: bigint;
3005
+ maxFeePerGas?: bigint;
3006
+ maxPriorityFeePerGas?: bigint;
3007
+ nonce?: number;
3008
+ value?: bigint;
3009
+ }): Promise<boolean> {
3010
+ return contract.simulate.claim(options) as Promise<boolean>;
3011
+ },
3012
+ /**
3013
+ * Simulate claimAndStake
3014
+ * Returns gas estimate and result without sending transaction
3015
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3016
+ */
3017
+ async claimAndStake(options?: {
3018
+ accessList?: import('viem').AccessList;
3019
+ authorizationList?: import('viem').AuthorizationList;
3020
+ chain?: import('viem').Chain | null;
3021
+ dataSuffix?: `0x${string}`;
3022
+ gas?: bigint;
3023
+ gasPrice?: bigint;
3024
+ maxFeePerGas?: bigint;
3025
+ maxPriorityFeePerGas?: bigint;
3026
+ nonce?: number;
3027
+ value?: bigint;
3028
+ }): Promise<boolean> {
3029
+ return contract.simulate.claimAndStake(options) as Promise<boolean>;
3030
+ },
3031
+ /**
3032
+ * Simulate incrementCurrentStep
3033
+ * Returns gas estimate and result without sending transaction
3034
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3035
+ */
3036
+ async incrementCurrentStep(options?: {
3037
+ accessList?: import('viem').AccessList;
3038
+ authorizationList?: import('viem').AuthorizationList;
3039
+ chain?: import('viem').Chain | null;
3040
+ dataSuffix?: `0x${string}`;
3041
+ gas?: bigint;
3042
+ gasPrice?: bigint;
3043
+ maxFeePerGas?: bigint;
3044
+ maxPriorityFeePerGas?: bigint;
3045
+ nonce?: number;
3046
+ value?: bigint;
3047
+ }): Promise<void> {
3048
+ return contract.simulate.incrementCurrentStep(options) as Promise<void>;
3049
+ },
3050
+ /**
3051
+ * Simulate initialize
3052
+ * Returns gas estimate and result without sending transaction
3053
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3054
+ */
3055
+ async initialize(_oracle: `0x${string}`, _usdt: `0x${string}`, _startTime: bigint, _endTime: bigint, _rounds: bigint[][], _maxTokensToBuy: bigint, _paymentWallet: `0x${string}`, _dynamicTimeFlag: boolean, _timeConstant: bigint, options?: {
3056
+ accessList?: import('viem').AccessList;
3057
+ authorizationList?: import('viem').AuthorizationList;
3058
+ chain?: import('viem').Chain | null;
3059
+ dataSuffix?: `0x${string}`;
3060
+ gas?: bigint;
3061
+ gasPrice?: bigint;
3062
+ maxFeePerGas?: bigint;
3063
+ maxPriorityFeePerGas?: bigint;
3064
+ nonce?: number;
3065
+ value?: bigint;
3066
+ }): Promise<void> {
3067
+ return contract.simulate.initialize([_oracle, _usdt, _startTime, _endTime, _rounds, _maxTokensToBuy, _paymentWallet, _dynamicTimeFlag, _timeConstant] as const, options) as Promise<void>;
3068
+ },
3069
+ /**
3070
+ * Simulate pause
3071
+ * Returns gas estimate and result without sending transaction
3072
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3073
+ */
3074
+ async pause(options?: {
3075
+ accessList?: import('viem').AccessList;
3076
+ authorizationList?: import('viem').AuthorizationList;
3077
+ chain?: import('viem').Chain | null;
3078
+ dataSuffix?: `0x${string}`;
3079
+ gas?: bigint;
3080
+ gasPrice?: bigint;
3081
+ maxFeePerGas?: bigint;
3082
+ maxPriorityFeePerGas?: bigint;
3083
+ nonce?: number;
3084
+ value?: bigint;
3085
+ }): Promise<void> {
3086
+ return contract.simulate.pause(options) as Promise<void>;
3087
+ },
3088
+ /**
3089
+ * Simulate removeFromBlacklist
3090
+ * Returns gas estimate and result without sending transaction
3091
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3092
+ */
3093
+ async removeFromBlacklist(_userToRemoveFromBlacklist: `0x${string}`[], options?: {
3094
+ accessList?: import('viem').AccessList;
3095
+ authorizationList?: import('viem').AuthorizationList;
3096
+ chain?: import('viem').Chain | null;
3097
+ dataSuffix?: `0x${string}`;
3098
+ gas?: bigint;
3099
+ gasPrice?: bigint;
3100
+ maxFeePerGas?: bigint;
3101
+ maxPriorityFeePerGas?: bigint;
3102
+ nonce?: number;
3103
+ value?: bigint;
3104
+ }): Promise<void> {
3105
+ return contract.simulate.removeFromBlacklist([_userToRemoveFromBlacklist] as const, options) as Promise<void>;
3106
+ },
3107
+ /**
3108
+ * Simulate removeFromWhitelist
3109
+ * Returns gas estimate and result without sending transaction
3110
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3111
+ */
3112
+ async removeFromWhitelist(_userToRemoveFromWhitelist: `0x${string}`[], options?: {
3113
+ accessList?: import('viem').AccessList;
3114
+ authorizationList?: import('viem').AuthorizationList;
3115
+ chain?: import('viem').Chain | null;
3116
+ dataSuffix?: `0x${string}`;
3117
+ gas?: bigint;
3118
+ gasPrice?: bigint;
3119
+ maxFeePerGas?: bigint;
3120
+ maxPriorityFeePerGas?: bigint;
3121
+ nonce?: number;
3122
+ value?: bigint;
3123
+ }): Promise<void> {
3124
+ return contract.simulate.removeFromWhitelist([_userToRemoveFromWhitelist] as const, options) as Promise<void>;
3125
+ },
3126
+ /**
3127
+ * Simulate removeFromWhitelistForWERT
3128
+ * Returns gas estimate and result without sending transaction
3129
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3130
+ */
3131
+ async removeFromWhitelistForWERT(_addressesToRemoveFromWhitelist: `0x${string}`[], options?: {
3132
+ accessList?: import('viem').AccessList;
3133
+ authorizationList?: import('viem').AuthorizationList;
3134
+ chain?: import('viem').Chain | null;
3135
+ dataSuffix?: `0x${string}`;
3136
+ gas?: bigint;
3137
+ gasPrice?: bigint;
3138
+ maxFeePerGas?: bigint;
3139
+ maxPriorityFeePerGas?: bigint;
3140
+ nonce?: number;
3141
+ value?: bigint;
3142
+ }): Promise<void> {
3143
+ return contract.simulate.removeFromWhitelistForWERT([_addressesToRemoveFromWhitelist] as const, options) as Promise<void>;
3144
+ },
3145
+ /**
3146
+ * Simulate renounceOwnership
3147
+ * Returns gas estimate and result without sending transaction
3148
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3149
+ */
3150
+ async renounceOwnership(options?: {
3151
+ accessList?: import('viem').AccessList;
3152
+ authorizationList?: import('viem').AuthorizationList;
3153
+ chain?: import('viem').Chain | null;
3154
+ dataSuffix?: `0x${string}`;
3155
+ gas?: bigint;
3156
+ gasPrice?: bigint;
3157
+ maxFeePerGas?: bigint;
3158
+ maxPriorityFeePerGas?: bigint;
3159
+ nonce?: number;
3160
+ value?: bigint;
3161
+ }): Promise<void> {
3162
+ return contract.simulate.renounceOwnership(options) as Promise<void>;
3163
+ },
3164
+ /**
3165
+ * Simulate setAdmin
3166
+ * Returns gas estimate and result without sending transaction
3167
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3168
+ */
3169
+ async setAdmin(_admin: `0x${string}`, options?: {
3170
+ accessList?: import('viem').AccessList;
3171
+ authorizationList?: import('viem').AuthorizationList;
3172
+ chain?: import('viem').Chain | null;
3173
+ dataSuffix?: `0x${string}`;
3174
+ gas?: bigint;
3175
+ gasPrice?: bigint;
3176
+ maxFeePerGas?: bigint;
3177
+ maxPriorityFeePerGas?: bigint;
3178
+ nonce?: number;
3179
+ value?: bigint;
3180
+ }): Promise<void> {
3181
+ return contract.simulate.setAdmin([_admin] as const, options) as Promise<void>;
3182
+ },
3183
+ /**
3184
+ * Simulate setClaimWhitelistStatus
3185
+ * Returns gas estimate and result without sending transaction
3186
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3187
+ */
3188
+ async setClaimWhitelistStatus(_status: boolean, options?: {
3189
+ accessList?: import('viem').AccessList;
3190
+ authorizationList?: import('viem').AuthorizationList;
3191
+ chain?: import('viem').Chain | null;
3192
+ dataSuffix?: `0x${string}`;
3193
+ gas?: bigint;
3194
+ gasPrice?: bigint;
3195
+ maxFeePerGas?: bigint;
3196
+ maxPriorityFeePerGas?: bigint;
3197
+ nonce?: number;
3198
+ value?: bigint;
3199
+ }): Promise<void> {
3200
+ return contract.simulate.setClaimWhitelistStatus([_status] as const, options) as Promise<void>;
3201
+ },
3202
+ /**
3203
+ * Simulate setCurrentStep
3204
+ * Returns gas estimate and result without sending transaction
3205
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3206
+ */
3207
+ async setCurrentStep(_step: bigint, _checkpoint: bigint, options?: {
3208
+ accessList?: import('viem').AccessList;
3209
+ authorizationList?: import('viem').AuthorizationList;
3210
+ chain?: import('viem').Chain | null;
3211
+ dataSuffix?: `0x${string}`;
3212
+ gas?: bigint;
3213
+ gasPrice?: bigint;
3214
+ maxFeePerGas?: bigint;
3215
+ maxPriorityFeePerGas?: bigint;
3216
+ nonce?: number;
3217
+ value?: bigint;
3218
+ }): Promise<void> {
3219
+ return contract.simulate.setCurrentStep([_step, _checkpoint] as const, options) as Promise<void>;
3220
+ },
3221
+ /**
3222
+ * Simulate setDynamicTimeFlag
3223
+ * Returns gas estimate and result without sending transaction
3224
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3225
+ */
3226
+ async setDynamicTimeFlag(_dynamicTimeFlag: boolean, options?: {
3227
+ accessList?: import('viem').AccessList;
3228
+ authorizationList?: import('viem').AuthorizationList;
3229
+ chain?: import('viem').Chain | null;
3230
+ dataSuffix?: `0x${string}`;
3231
+ gas?: bigint;
3232
+ gasPrice?: bigint;
3233
+ maxFeePerGas?: bigint;
3234
+ maxPriorityFeePerGas?: bigint;
3235
+ nonce?: number;
3236
+ value?: bigint;
3237
+ }): Promise<void> {
3238
+ return contract.simulate.setDynamicTimeFlag([_dynamicTimeFlag] as const, options) as Promise<void>;
3239
+ },
3240
+ /**
3241
+ * Simulate setRemainingTokensArray
3242
+ * Returns gas estimate and result without sending transaction
3243
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3244
+ */
3245
+ async setRemainingTokensArray(_unsoldTokens: bigint[], options?: {
3246
+ accessList?: import('viem').AccessList;
3247
+ authorizationList?: import('viem').AuthorizationList;
3248
+ chain?: import('viem').Chain | null;
3249
+ dataSuffix?: `0x${string}`;
3250
+ gas?: bigint;
3251
+ gasPrice?: bigint;
3252
+ maxFeePerGas?: bigint;
3253
+ maxPriorityFeePerGas?: bigint;
3254
+ nonce?: number;
3255
+ value?: bigint;
3256
+ }): Promise<void> {
3257
+ return contract.simulate.setRemainingTokensArray([_unsoldTokens] as const, options) as Promise<void>;
3258
+ },
3259
+ /**
3260
+ * Simulate setSanctions
3261
+ * Returns gas estimate and result without sending transaction
3262
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3263
+ */
3264
+ async setSanctions(_sanctionContract: `0x${string}`, _applySanction: boolean, options?: {
3265
+ accessList?: import('viem').AccessList;
3266
+ authorizationList?: import('viem').AuthorizationList;
3267
+ chain?: import('viem').Chain | null;
3268
+ dataSuffix?: `0x${string}`;
3269
+ gas?: bigint;
3270
+ gasPrice?: bigint;
3271
+ maxFeePerGas?: bigint;
3272
+ maxPriorityFeePerGas?: bigint;
3273
+ nonce?: number;
3274
+ value?: bigint;
3275
+ }): Promise<void> {
3276
+ return contract.simulate.setSanctions([_sanctionContract, _applySanction] as const, options) as Promise<void>;
3277
+ },
3278
+ /**
3279
+ * Simulate setSplits
3280
+ * Returns gas estimate and result without sending transaction
3281
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3282
+ */
3283
+ async setSplits(_wallets: `0x${string}`[], _percentages: bigint[], options?: {
3284
+ accessList?: import('viem').AccessList;
3285
+ authorizationList?: import('viem').AuthorizationList;
3286
+ chain?: import('viem').Chain | null;
3287
+ dataSuffix?: `0x${string}`;
3288
+ gas?: bigint;
3289
+ gasPrice?: bigint;
3290
+ maxFeePerGas?: bigint;
3291
+ maxPriorityFeePerGas?: bigint;
3292
+ nonce?: number;
3293
+ value?: bigint;
3294
+ }): Promise<void> {
3295
+ return contract.simulate.setSplits([_wallets, _percentages] as const, options) as Promise<void>;
3296
+ },
3297
+ /**
3298
+ * Simulate setStakeingWhitelistStatus
3299
+ * Returns gas estimate and result without sending transaction
3300
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3301
+ */
3302
+ async setStakeingWhitelistStatus(_status: boolean, options?: {
3303
+ accessList?: import('viem').AccessList;
3304
+ authorizationList?: import('viem').AuthorizationList;
3305
+ chain?: import('viem').Chain | null;
3306
+ dataSuffix?: `0x${string}`;
3307
+ gas?: bigint;
3308
+ gasPrice?: bigint;
3309
+ maxFeePerGas?: bigint;
3310
+ maxPriorityFeePerGas?: bigint;
3311
+ nonce?: number;
3312
+ value?: bigint;
3313
+ }): Promise<void> {
3314
+ return contract.simulate.setStakeingWhitelistStatus([_status] as const, options) as Promise<void>;
3315
+ },
3316
+ /**
3317
+ * Simulate setStakingManager
3318
+ * Returns gas estimate and result without sending transaction
3319
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3320
+ */
3321
+ async setStakingManager(_stakingManagerAddress: `0x${string}`, options?: {
3322
+ accessList?: import('viem').AccessList;
3323
+ authorizationList?: import('viem').AuthorizationList;
3324
+ chain?: import('viem').Chain | null;
3325
+ dataSuffix?: `0x${string}`;
3326
+ gas?: bigint;
3327
+ gasPrice?: bigint;
3328
+ maxFeePerGas?: bigint;
3329
+ maxPriorityFeePerGas?: bigint;
3330
+ nonce?: number;
3331
+ value?: bigint;
3332
+ }): Promise<void> {
3333
+ return contract.simulate.setStakingManager([_stakingManagerAddress] as const, options) as Promise<void>;
3334
+ },
3335
+ /**
3336
+ * Simulate setTimeConstant
3337
+ * Returns gas estimate and result without sending transaction
3338
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3339
+ */
3340
+ async setTimeConstant(_timeConstant: bigint, options?: {
3341
+ accessList?: import('viem').AccessList;
3342
+ authorizationList?: import('viem').AuthorizationList;
3343
+ chain?: import('viem').Chain | null;
3344
+ dataSuffix?: `0x${string}`;
3345
+ gas?: bigint;
3346
+ gasPrice?: bigint;
3347
+ maxFeePerGas?: bigint;
3348
+ maxPriorityFeePerGas?: bigint;
3349
+ nonce?: number;
3350
+ value?: bigint;
3351
+ }): Promise<void> {
3352
+ return contract.simulate.setTimeConstant([_timeConstant] as const, options) as Promise<void>;
3353
+ },
3354
+ /**
3355
+ * Simulate setUSDCInterface
3356
+ * Returns gas estimate and result without sending transaction
3357
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3358
+ */
3359
+ async setUSDCInterface(_usdc: `0x${string}`, options?: {
3360
+ accessList?: import('viem').AccessList;
3361
+ authorizationList?: import('viem').AuthorizationList;
3362
+ chain?: import('viem').Chain | null;
3363
+ dataSuffix?: `0x${string}`;
3364
+ gas?: bigint;
3365
+ gasPrice?: bigint;
3366
+ maxFeePerGas?: bigint;
3367
+ maxPriorityFeePerGas?: bigint;
3368
+ nonce?: number;
3369
+ value?: bigint;
3370
+ }): Promise<void> {
3371
+ return contract.simulate.setUSDCInterface([_usdc] as const, options) as Promise<void>;
3372
+ },
3373
+ /**
3374
+ * Simulate startClaim
3375
+ * Returns gas estimate and result without sending transaction
3376
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3377
+ */
3378
+ async startClaim(_claimStart: bigint, noOfTokens: bigint, _saleToken: `0x${string}`, _stakingManagerAddress: `0x${string}`, options?: {
3379
+ accessList?: import('viem').AccessList;
3380
+ authorizationList?: import('viem').AuthorizationList;
3381
+ chain?: import('viem').Chain | null;
3382
+ dataSuffix?: `0x${string}`;
3383
+ gas?: bigint;
3384
+ gasPrice?: bigint;
3385
+ maxFeePerGas?: bigint;
3386
+ maxPriorityFeePerGas?: bigint;
3387
+ nonce?: number;
3388
+ value?: bigint;
3389
+ }): Promise<boolean> {
3390
+ return contract.simulate.startClaim([_claimStart, noOfTokens, _saleToken, _stakingManagerAddress] as const, options) as Promise<boolean>;
3391
+ },
3392
+ /**
3393
+ * Simulate transferOwnership
3394
+ * Returns gas estimate and result without sending transaction
3395
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3396
+ */
3397
+ async transferOwnership(newOwner: `0x${string}`, options?: {
3398
+ accessList?: import('viem').AccessList;
3399
+ authorizationList?: import('viem').AuthorizationList;
3400
+ chain?: import('viem').Chain | null;
3401
+ dataSuffix?: `0x${string}`;
3402
+ gas?: bigint;
3403
+ gasPrice?: bigint;
3404
+ maxFeePerGas?: bigint;
3405
+ maxPriorityFeePerGas?: bigint;
3406
+ nonce?: number;
3407
+ value?: bigint;
3408
+ }): Promise<void> {
3409
+ return contract.simulate.transferOwnership([newOwner] as const, options) as Promise<void>;
3410
+ },
3411
+ /**
3412
+ * Simulate unpause
3413
+ * Returns gas estimate and result without sending transaction
3414
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3415
+ */
3416
+ async unpause(options?: {
3417
+ accessList?: import('viem').AccessList;
3418
+ authorizationList?: import('viem').AuthorizationList;
3419
+ chain?: import('viem').Chain | null;
3420
+ dataSuffix?: `0x${string}`;
3421
+ gas?: bigint;
3422
+ gasPrice?: bigint;
3423
+ maxFeePerGas?: bigint;
3424
+ maxPriorityFeePerGas?: bigint;
3425
+ nonce?: number;
3426
+ value?: bigint;
3427
+ }): Promise<void> {
3428
+ return contract.simulate.unpause(options) as Promise<void>;
3429
+ },
3430
+ /**
3431
+ * Simulate updateFromBSC
3432
+ * Returns gas estimate and result without sending transaction
3433
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3434
+ */
3435
+ async updateFromBSC(_users: `0x${string}`[], _userDeposits: bigint[], options?: {
3436
+ accessList?: import('viem').AccessList;
3437
+ authorizationList?: import('viem').AuthorizationList;
3438
+ chain?: import('viem').Chain | null;
3439
+ dataSuffix?: `0x${string}`;
3440
+ gas?: bigint;
3441
+ gasPrice?: bigint;
3442
+ maxFeePerGas?: bigint;
3443
+ maxPriorityFeePerGas?: bigint;
3444
+ nonce?: number;
3445
+ value?: bigint;
3446
+ }): Promise<void> {
3447
+ return contract.simulate.updateFromBSC([_users, _userDeposits] as const, options) as Promise<void>;
3448
+ },
3449
+ /**
3450
+ * Simulate whitelistUsers
3451
+ * Returns gas estimate and result without sending transaction
3452
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3453
+ */
3454
+ async whitelistUsers(_usersToWhitelist: `0x${string}`[], options?: {
3455
+ accessList?: import('viem').AccessList;
3456
+ authorizationList?: import('viem').AuthorizationList;
3457
+ chain?: import('viem').Chain | null;
3458
+ dataSuffix?: `0x${string}`;
3459
+ gas?: bigint;
3460
+ gasPrice?: bigint;
3461
+ maxFeePerGas?: bigint;
3462
+ maxPriorityFeePerGas?: bigint;
3463
+ nonce?: number;
3464
+ value?: bigint;
3465
+ }): Promise<void> {
3466
+ return contract.simulate.whitelistUsers([_usersToWhitelist] as const, options) as Promise<void>;
3467
+ },
3468
+ /**
3469
+ * Simulate whitelistUsersForWERT
3470
+ * Returns gas estimate and result without sending transaction
3471
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
3472
+ */
3473
+ async whitelistUsersForWERT(_addressesToWhitelist: `0x${string}`[], options?: {
3474
+ accessList?: import('viem').AccessList;
3475
+ authorizationList?: import('viem').AuthorizationList;
3476
+ chain?: import('viem').Chain | null;
3477
+ dataSuffix?: `0x${string}`;
3478
+ gas?: bigint;
3479
+ gasPrice?: bigint;
3480
+ maxFeePerGas?: bigint;
3481
+ maxPriorityFeePerGas?: bigint;
3482
+ nonce?: number;
3483
+ value?: bigint;
3484
+ }): Promise<void> {
3485
+ return contract.simulate.whitelistUsersForWERT([_addressesToWhitelist] as const, options) as Promise<void>;
3486
+ }
3487
+ };
3488
+ }
3489
+
3490
+ /**
3491
+ * Watch contract events
3492
+ *
3493
+ * @example
3494
+ * // Watch all Transfer events
3495
+ * const unwatch = contract.watch.Transfer((event) => {
3496
+ * console.log('Transfer:', event);
3497
+ * });
3498
+ *
3499
+ * // Stop watching
3500
+ * unwatch();
3501
+ */
3502
+ get watch() {
3503
+ return {
3504
+ /**
3505
+ * Watch ClaimStartUpdated events
3506
+ * @param callback Function to call when event is emitted
3507
+ * @param filter Optional filter for indexed parameters
3508
+ * @returns Unwatch function to stop listening
3509
+ */
3510
+ ClaimStartUpdated: (callback: (event: { prevValue: bigint; newValue: bigint; timestamp: bigint }) => void) => {
3511
+ return this.publicClient.watchContractEvent({
3512
+ address: this.contractAddress,
3513
+ abi: PresaleV2_jsonAbi,
3514
+ eventName: 'ClaimStartUpdated',
3515
+
3516
+ onLogs: (logs: any[]) => {
3517
+ logs.forEach((log: any) => {
3518
+ callback(log.args as any);
3519
+ });
3520
+ },
3521
+ }) as () => void;
3522
+ },
3523
+ /**
3524
+ * Watch Initialized events
3525
+ * @param callback Function to call when event is emitted
3526
+ * @param filter Optional filter for indexed parameters
3527
+ * @returns Unwatch function to stop listening
3528
+ */
3529
+ Initialized: (callback: (event: { version: bigint }) => void) => {
3530
+ return this.publicClient.watchContractEvent({
3531
+ address: this.contractAddress,
3532
+ abi: PresaleV2_jsonAbi,
3533
+ eventName: 'Initialized',
3534
+
3535
+ onLogs: (logs: any[]) => {
3536
+ logs.forEach((log: any) => {
3537
+ callback(log.args as any);
3538
+ });
3539
+ },
3540
+ }) as () => void;
3541
+ },
3542
+ /**
3543
+ * Watch MaxTokensUpdated events
3544
+ * @param callback Function to call when event is emitted
3545
+ * @param filter Optional filter for indexed parameters
3546
+ * @returns Unwatch function to stop listening
3547
+ */
3548
+ MaxTokensUpdated: (callback: (event: { prevValue: bigint; newValue: bigint; timestamp: bigint }) => void) => {
3549
+ return this.publicClient.watchContractEvent({
3550
+ address: this.contractAddress,
3551
+ abi: PresaleV2_jsonAbi,
3552
+ eventName: 'MaxTokensUpdated',
3553
+
3554
+ onLogs: (logs: any[]) => {
3555
+ logs.forEach((log: any) => {
3556
+ callback(log.args as any);
3557
+ });
3558
+ },
3559
+ }) as () => void;
3560
+ },
3561
+ /**
3562
+ * Watch OwnershipTransferred events
3563
+ * @param callback Function to call when event is emitted
3564
+ * @param filter Optional filter for indexed parameters
3565
+ * @returns Unwatch function to stop listening
3566
+ */
3567
+ OwnershipTransferred: (callback: (event: { previousOwner: `0x${string}`; newOwner: `0x${string}` }) => void, filter?: { previousOwner: `0x${string}`; newOwner: `0x${string}` }) => {
3568
+ return this.publicClient.watchContractEvent({
3569
+ address: this.contractAddress,
3570
+ abi: PresaleV2_jsonAbi,
3571
+ eventName: 'OwnershipTransferred',
3572
+ args: filter,
3573
+ onLogs: (logs: any[]) => {
3574
+ logs.forEach((log: any) => {
3575
+ callback(log.args as any);
3576
+ });
3577
+ },
3578
+ }) as () => void;
3579
+ },
3580
+ /**
3581
+ * Watch Paused events
3582
+ * @param callback Function to call when event is emitted
3583
+ * @param filter Optional filter for indexed parameters
3584
+ * @returns Unwatch function to stop listening
3585
+ */
3586
+ Paused: (callback: (event: { account: `0x${string}` }) => void) => {
3587
+ return this.publicClient.watchContractEvent({
3588
+ address: this.contractAddress,
3589
+ abi: PresaleV2_jsonAbi,
3590
+ eventName: 'Paused',
3591
+
3592
+ onLogs: (logs: any[]) => {
3593
+ logs.forEach((log: any) => {
3594
+ callback(log.args as any);
3595
+ });
3596
+ },
3597
+ }) as () => void;
3598
+ },
3599
+ /**
3600
+ * Watch SaleTimeSet events
3601
+ * @param callback Function to call when event is emitted
3602
+ * @param filter Optional filter for indexed parameters
3603
+ * @returns Unwatch function to stop listening
3604
+ */
3605
+ SaleTimeSet: (callback: (event: { _start: bigint; _end: bigint; timestamp: bigint }) => void) => {
3606
+ return this.publicClient.watchContractEvent({
3607
+ address: this.contractAddress,
3608
+ abi: PresaleV2_jsonAbi,
3609
+ eventName: 'SaleTimeSet',
3610
+
3611
+ onLogs: (logs: any[]) => {
3612
+ logs.forEach((log: any) => {
3613
+ callback(log.args as any);
3614
+ });
3615
+ },
3616
+ }) as () => void;
3617
+ },
3618
+ /**
3619
+ * Watch SaleTimeUpdated events
3620
+ * @param callback Function to call when event is emitted
3621
+ * @param filter Optional filter for indexed parameters
3622
+ * @returns Unwatch function to stop listening
3623
+ */
3624
+ SaleTimeUpdated: (callback: (event: { key: `0x${string}`; prevValue: bigint; newValue: bigint; timestamp: bigint }) => void, filter?: { key: `0x${string}` }) => {
3625
+ return this.publicClient.watchContractEvent({
3626
+ address: this.contractAddress,
3627
+ abi: PresaleV2_jsonAbi,
3628
+ eventName: 'SaleTimeUpdated',
3629
+ args: filter,
3630
+ onLogs: (logs: any[]) => {
3631
+ logs.forEach((log: any) => {
3632
+ callback(log.args as any);
3633
+ });
3634
+ },
3635
+ }) as () => void;
3636
+ },
3637
+ /**
3638
+ * Watch TokensAdded events
3639
+ * @param callback Function to call when event is emitted
3640
+ * @param filter Optional filter for indexed parameters
3641
+ * @returns Unwatch function to stop listening
3642
+ */
3643
+ TokensAdded: (callback: (event: { token: `0x${string}`; noOfTokens: bigint; timestamp: bigint }) => void, filter?: { token: `0x${string}` }) => {
3644
+ return this.publicClient.watchContractEvent({
3645
+ address: this.contractAddress,
3646
+ abi: PresaleV2_jsonAbi,
3647
+ eventName: 'TokensAdded',
3648
+ args: filter,
3649
+ onLogs: (logs: any[]) => {
3650
+ logs.forEach((log: any) => {
3651
+ callback(log.args as any);
3652
+ });
3653
+ },
3654
+ }) as () => void;
3655
+ },
3656
+ /**
3657
+ * Watch TokensBought events
3658
+ * @param callback Function to call when event is emitted
3659
+ * @param filter Optional filter for indexed parameters
3660
+ * @returns Unwatch function to stop listening
3661
+ */
3662
+ TokensBought: (callback: (event: { user: `0x${string}`; tokensBought: bigint; purchaseToken: `0x${string}`; amountPaid: bigint; usdEq: bigint; timestamp: bigint }) => void, filter?: { user: `0x${string}`; tokensBought: bigint; purchaseToken: `0x${string}` }) => {
3663
+ return this.publicClient.watchContractEvent({
3664
+ address: this.contractAddress,
3665
+ abi: PresaleV2_jsonAbi,
3666
+ eventName: 'TokensBought',
3667
+ args: filter,
3668
+ onLogs: (logs: any[]) => {
3669
+ logs.forEach((log: any) => {
3670
+ callback(log.args as any);
3671
+ });
3672
+ },
3673
+ }) as () => void;
3674
+ },
3675
+ /**
3676
+ * Watch TokensBoughtAndStaked events
3677
+ * @param callback Function to call when event is emitted
3678
+ * @param filter Optional filter for indexed parameters
3679
+ * @returns Unwatch function to stop listening
3680
+ */
3681
+ TokensBoughtAndStaked: (callback: (event: { user: `0x${string}`; tokensBought: bigint; purchaseToken: `0x${string}`; amountPaid: bigint; usdEq: bigint; timestamp: bigint }) => void, filter?: { user: `0x${string}`; tokensBought: bigint; purchaseToken: `0x${string}` }) => {
3682
+ return this.publicClient.watchContractEvent({
3683
+ address: this.contractAddress,
3684
+ abi: PresaleV2_jsonAbi,
3685
+ eventName: 'TokensBoughtAndStaked',
3686
+ args: filter,
3687
+ onLogs: (logs: any[]) => {
3688
+ logs.forEach((log: any) => {
3689
+ callback(log.args as any);
3690
+ });
3691
+ },
3692
+ }) as () => void;
3693
+ },
3694
+ /**
3695
+ * Watch TokensClaimed events
3696
+ * @param callback Function to call when event is emitted
3697
+ * @param filter Optional filter for indexed parameters
3698
+ * @returns Unwatch function to stop listening
3699
+ */
3700
+ TokensClaimed: (callback: (event: { user: `0x${string}`; amount: bigint; timestamp: bigint }) => void, filter?: { user: `0x${string}` }) => {
3701
+ return this.publicClient.watchContractEvent({
3702
+ address: this.contractAddress,
3703
+ abi: PresaleV2_jsonAbi,
3704
+ eventName: 'TokensClaimed',
3705
+ args: filter,
3706
+ onLogs: (logs: any[]) => {
3707
+ logs.forEach((log: any) => {
3708
+ callback(log.args as any);
3709
+ });
3710
+ },
3711
+ }) as () => void;
3712
+ },
3713
+ /**
3714
+ * Watch TokensClaimedAndStaked events
3715
+ * @param callback Function to call when event is emitted
3716
+ * @param filter Optional filter for indexed parameters
3717
+ * @returns Unwatch function to stop listening
3718
+ */
3719
+ TokensClaimedAndStaked: (callback: (event: { user: `0x${string}`; amount: bigint; timestamp: bigint }) => void, filter?: { user: `0x${string}` }) => {
3720
+ return this.publicClient.watchContractEvent({
3721
+ address: this.contractAddress,
3722
+ abi: PresaleV2_jsonAbi,
3723
+ eventName: 'TokensClaimedAndStaked',
3724
+ args: filter,
3725
+ onLogs: (logs: any[]) => {
3726
+ logs.forEach((log: any) => {
3727
+ callback(log.args as any);
3728
+ });
3729
+ },
3730
+ }) as () => void;
3731
+ },
3732
+ /**
3733
+ * Watch Unpaused events
3734
+ * @param callback Function to call when event is emitted
3735
+ * @param filter Optional filter for indexed parameters
3736
+ * @returns Unwatch function to stop listening
3737
+ */
3738
+ Unpaused: (callback: (event: { account: `0x${string}` }) => void) => {
3739
+ return this.publicClient.watchContractEvent({
3740
+ address: this.contractAddress,
3741
+ abi: PresaleV2_jsonAbi,
3742
+ eventName: 'Unpaused',
3743
+
3744
+ onLogs: (logs: any[]) => {
3745
+ logs.forEach((log: any) => {
3746
+ callback(log.args as any);
3747
+ });
3748
+ },
3749
+ }) as () => void;
3750
+ }
3751
+ };
3752
+ }
3753
+ }