@gitmyabi/stakingmanager 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,1178 @@
1
+ import type { Address, PublicClient, WalletClient } from 'viem';
2
+ /**
3
+ * stakingManagerV2_json ABI
4
+ *
5
+ * This ABI is typed using viem's type system for full type safety.
6
+ */
7
+ export declare const stakingManagerV2_jsonAbi: readonly [{
8
+ readonly inputs: readonly [];
9
+ readonly stateMutability: "nonpayable";
10
+ readonly type: "constructor";
11
+ }, {
12
+ readonly anonymous: false;
13
+ readonly inputs: readonly [{
14
+ readonly indexed: true;
15
+ readonly internalType: "address";
16
+ readonly name: "user";
17
+ readonly type: "address";
18
+ }, {
19
+ readonly indexed: false;
20
+ readonly internalType: "uint256";
21
+ readonly name: "amount";
22
+ readonly type: "uint256";
23
+ }];
24
+ readonly name: "Deposit";
25
+ readonly type: "event";
26
+ }, {
27
+ readonly anonymous: false;
28
+ readonly inputs: readonly [{
29
+ readonly indexed: true;
30
+ readonly internalType: "address";
31
+ readonly name: "user";
32
+ readonly type: "address";
33
+ }, {
34
+ readonly indexed: false;
35
+ readonly internalType: "uint256";
36
+ readonly name: "amount";
37
+ readonly type: "uint256";
38
+ }];
39
+ readonly name: "HarvestRewards";
40
+ readonly type: "event";
41
+ }, {
42
+ readonly anonymous: false;
43
+ readonly inputs: readonly [{
44
+ readonly indexed: false;
45
+ readonly internalType: "uint8";
46
+ readonly name: "version";
47
+ readonly type: "uint8";
48
+ }];
49
+ readonly name: "Initialized";
50
+ readonly type: "event";
51
+ }, {
52
+ readonly anonymous: false;
53
+ readonly inputs: readonly [{
54
+ readonly indexed: true;
55
+ readonly internalType: "address";
56
+ readonly name: "previousOwner";
57
+ readonly type: "address";
58
+ }, {
59
+ readonly indexed: true;
60
+ readonly internalType: "address";
61
+ readonly name: "newOwner";
62
+ readonly type: "address";
63
+ }];
64
+ readonly name: "OwnershipTransferred";
65
+ readonly type: "event";
66
+ }, {
67
+ readonly anonymous: false;
68
+ readonly inputs: readonly [{
69
+ readonly indexed: true;
70
+ readonly internalType: "address";
71
+ readonly name: "user";
72
+ readonly type: "address";
73
+ }, {
74
+ readonly indexed: false;
75
+ readonly internalType: "uint256";
76
+ readonly name: "amount";
77
+ readonly type: "uint256";
78
+ }];
79
+ readonly name: "Withdraw";
80
+ readonly type: "event";
81
+ }, {
82
+ readonly inputs: readonly [{
83
+ readonly internalType: "address";
84
+ readonly name: "_rewardTokenAddress";
85
+ readonly type: "address";
86
+ }, {
87
+ readonly internalType: "address";
88
+ readonly name: "_presale";
89
+ readonly type: "address";
90
+ }, {
91
+ readonly internalType: "uint256";
92
+ readonly name: "_rewardTokensPerBlock";
93
+ readonly type: "uint256";
94
+ }, {
95
+ readonly internalType: "uint256";
96
+ readonly name: "_lockTime";
97
+ readonly type: "uint256";
98
+ }, {
99
+ readonly internalType: "uint256";
100
+ readonly name: "_endBlock";
101
+ readonly type: "uint256";
102
+ }];
103
+ readonly name: "__stakingManager_init";
104
+ readonly outputs: readonly [];
105
+ readonly stateMutability: "nonpayable";
106
+ readonly type: "function";
107
+ }, {
108
+ readonly inputs: readonly [{
109
+ readonly internalType: "address[]";
110
+ readonly name: "_usersToBlacklist";
111
+ readonly type: "address[]";
112
+ }];
113
+ readonly name: "blacklistUsers";
114
+ readonly outputs: readonly [];
115
+ readonly stateMutability: "nonpayable";
116
+ readonly type: "function";
117
+ }, {
118
+ readonly inputs: readonly [{
119
+ readonly internalType: "uint256";
120
+ readonly name: "_rewardTokensPerBlock";
121
+ readonly type: "uint256";
122
+ }, {
123
+ readonly internalType: "uint256";
124
+ readonly name: "_endBlock";
125
+ readonly type: "uint256";
126
+ }];
127
+ readonly name: "changeRewardTokensPerBlock";
128
+ readonly outputs: readonly [];
129
+ readonly stateMutability: "nonpayable";
130
+ readonly type: "function";
131
+ }, {
132
+ readonly inputs: readonly [];
133
+ readonly name: "claimStart";
134
+ readonly outputs: readonly [{
135
+ readonly internalType: "uint256";
136
+ readonly name: "";
137
+ readonly type: "uint256";
138
+ }];
139
+ readonly stateMutability: "view";
140
+ readonly type: "function";
141
+ }, {
142
+ readonly inputs: readonly [{
143
+ readonly internalType: "uint256";
144
+ readonly name: "_amount";
145
+ readonly type: "uint256";
146
+ }];
147
+ readonly name: "deposit";
148
+ readonly outputs: readonly [];
149
+ readonly stateMutability: "nonpayable";
150
+ readonly type: "function";
151
+ }, {
152
+ readonly inputs: readonly [{
153
+ readonly internalType: "address";
154
+ readonly name: "_user";
155
+ readonly type: "address";
156
+ }, {
157
+ readonly internalType: "uint256";
158
+ readonly name: "_amount";
159
+ readonly type: "uint256";
160
+ }];
161
+ readonly name: "depositByPresale";
162
+ readonly outputs: readonly [];
163
+ readonly stateMutability: "nonpayable";
164
+ readonly type: "function";
165
+ }, {
166
+ readonly inputs: readonly [];
167
+ readonly name: "endBlock";
168
+ readonly outputs: readonly [{
169
+ readonly internalType: "uint256";
170
+ readonly name: "";
171
+ readonly type: "uint256";
172
+ }];
173
+ readonly stateMutability: "view";
174
+ readonly type: "function";
175
+ }, {
176
+ readonly inputs: readonly [{
177
+ readonly internalType: "address";
178
+ readonly name: "_user";
179
+ readonly type: "address";
180
+ }];
181
+ readonly name: "getRewards";
182
+ readonly outputs: readonly [{
183
+ readonly internalType: "uint256";
184
+ readonly name: "";
185
+ readonly type: "uint256";
186
+ }];
187
+ readonly stateMutability: "view";
188
+ readonly type: "function";
189
+ }, {
190
+ readonly inputs: readonly [];
191
+ readonly name: "harvestLock";
192
+ readonly outputs: readonly [{
193
+ readonly internalType: "bool";
194
+ readonly name: "";
195
+ readonly type: "bool";
196
+ }];
197
+ readonly stateMutability: "view";
198
+ readonly type: "function";
199
+ }, {
200
+ readonly inputs: readonly [];
201
+ readonly name: "harvestRewards";
202
+ readonly outputs: readonly [];
203
+ readonly stateMutability: "nonpayable";
204
+ readonly type: "function";
205
+ }, {
206
+ readonly inputs: readonly [{
207
+ readonly internalType: "address";
208
+ readonly name: "";
209
+ readonly type: "address";
210
+ }];
211
+ readonly name: "isBlacklisted";
212
+ readonly outputs: readonly [{
213
+ readonly internalType: "bool";
214
+ readonly name: "";
215
+ readonly type: "bool";
216
+ }];
217
+ readonly stateMutability: "view";
218
+ readonly type: "function";
219
+ }, {
220
+ readonly inputs: readonly [];
221
+ readonly name: "lockedTime";
222
+ readonly outputs: readonly [{
223
+ readonly internalType: "uint256";
224
+ readonly name: "";
225
+ readonly type: "uint256";
226
+ }];
227
+ readonly stateMutability: "view";
228
+ readonly type: "function";
229
+ }, {
230
+ readonly inputs: readonly [];
231
+ readonly name: "owner";
232
+ readonly outputs: readonly [{
233
+ readonly internalType: "address";
234
+ readonly name: "";
235
+ readonly type: "address";
236
+ }];
237
+ readonly stateMutability: "view";
238
+ readonly type: "function";
239
+ }, {
240
+ readonly inputs: readonly [{
241
+ readonly internalType: "address";
242
+ readonly name: "";
243
+ readonly type: "address";
244
+ }];
245
+ readonly name: "poolStakers";
246
+ readonly outputs: readonly [{
247
+ readonly internalType: "uint256";
248
+ readonly name: "amount";
249
+ readonly type: "uint256";
250
+ }, {
251
+ readonly internalType: "uint256";
252
+ readonly name: "stakedTime";
253
+ readonly type: "uint256";
254
+ }, {
255
+ readonly internalType: "uint256";
256
+ readonly name: "lastUpdatedBlock";
257
+ readonly type: "uint256";
258
+ }, {
259
+ readonly internalType: "uint256";
260
+ readonly name: "Harvestedrewards";
261
+ readonly type: "uint256";
262
+ }, {
263
+ readonly internalType: "uint256";
264
+ readonly name: "rewardDebt";
265
+ readonly type: "uint256";
266
+ }];
267
+ readonly stateMutability: "view";
268
+ readonly type: "function";
269
+ }, {
270
+ readonly inputs: readonly [];
271
+ readonly name: "presaleContract";
272
+ readonly outputs: readonly [{
273
+ readonly internalType: "address";
274
+ readonly name: "";
275
+ readonly type: "address";
276
+ }];
277
+ readonly stateMutability: "view";
278
+ readonly type: "function";
279
+ }, {
280
+ readonly inputs: readonly [{
281
+ readonly internalType: "address[]";
282
+ readonly name: "_userToRemoveFromBlacklist";
283
+ readonly type: "address[]";
284
+ }];
285
+ readonly name: "removeFromBlacklist";
286
+ readonly outputs: readonly [];
287
+ readonly stateMutability: "nonpayable";
288
+ readonly type: "function";
289
+ }, {
290
+ readonly inputs: readonly [];
291
+ readonly name: "renounceOwnership";
292
+ readonly outputs: readonly [];
293
+ readonly stateMutability: "nonpayable";
294
+ readonly type: "function";
295
+ }, {
296
+ readonly inputs: readonly [];
297
+ readonly name: "rewardTokensPerBlock";
298
+ readonly outputs: readonly [{
299
+ readonly internalType: "uint256";
300
+ readonly name: "";
301
+ readonly type: "uint256";
302
+ }];
303
+ readonly stateMutability: "view";
304
+ readonly type: "function";
305
+ }, {
306
+ readonly inputs: readonly [{
307
+ readonly internalType: "uint256";
308
+ readonly name: "_claimStart";
309
+ readonly type: "uint256";
310
+ }];
311
+ readonly name: "setClaimStart";
312
+ readonly outputs: readonly [];
313
+ readonly stateMutability: "nonpayable";
314
+ readonly type: "function";
315
+ }, {
316
+ readonly inputs: readonly [{
317
+ readonly internalType: "uint256";
318
+ readonly name: "_endBlock";
319
+ readonly type: "uint256";
320
+ }];
321
+ readonly name: "setEndBlock";
322
+ readonly outputs: readonly [];
323
+ readonly stateMutability: "nonpayable";
324
+ readonly type: "function";
325
+ }, {
326
+ readonly inputs: readonly [{
327
+ readonly internalType: "bool";
328
+ readonly name: "_harvestlock";
329
+ readonly type: "bool";
330
+ }];
331
+ readonly name: "setHarvestLock";
332
+ readonly outputs: readonly [];
333
+ readonly stateMutability: "nonpayable";
334
+ readonly type: "function";
335
+ }, {
336
+ readonly inputs: readonly [{
337
+ readonly internalType: "uint256";
338
+ readonly name: "_time";
339
+ readonly type: "uint256";
340
+ }];
341
+ readonly name: "setLockedTime";
342
+ readonly outputs: readonly [];
343
+ readonly stateMutability: "nonpayable";
344
+ readonly type: "function";
345
+ }, {
346
+ readonly inputs: readonly [{
347
+ readonly internalType: "address";
348
+ readonly name: "_presale";
349
+ readonly type: "address";
350
+ }];
351
+ readonly name: "setPresale";
352
+ readonly outputs: readonly [];
353
+ readonly stateMutability: "nonpayable";
354
+ readonly type: "function";
355
+ }, {
356
+ readonly inputs: readonly [{
357
+ readonly internalType: "address";
358
+ readonly name: "_stakeToken";
359
+ readonly type: "address";
360
+ }];
361
+ readonly name: "setStakeToken";
362
+ readonly outputs: readonly [];
363
+ readonly stateMutability: "nonpayable";
364
+ readonly type: "function";
365
+ }, {
366
+ readonly inputs: readonly [];
367
+ readonly name: "stakeToken";
368
+ readonly outputs: readonly [{
369
+ readonly internalType: "contract IERC20Upgradeable";
370
+ readonly name: "";
371
+ readonly type: "address";
372
+ }];
373
+ readonly stateMutability: "view";
374
+ readonly type: "function";
375
+ }, {
376
+ readonly inputs: readonly [];
377
+ readonly name: "tokensStaked";
378
+ readonly outputs: readonly [{
379
+ readonly internalType: "uint256";
380
+ readonly name: "";
381
+ readonly type: "uint256";
382
+ }];
383
+ readonly stateMutability: "view";
384
+ readonly type: "function";
385
+ }, {
386
+ readonly inputs: readonly [];
387
+ readonly name: "tokensStakedByPresale";
388
+ readonly outputs: readonly [{
389
+ readonly internalType: "uint256";
390
+ readonly name: "";
391
+ readonly type: "uint256";
392
+ }];
393
+ readonly stateMutability: "view";
394
+ readonly type: "function";
395
+ }, {
396
+ readonly inputs: readonly [{
397
+ readonly internalType: "address";
398
+ readonly name: "newOwner";
399
+ readonly type: "address";
400
+ }];
401
+ readonly name: "transferOwnership";
402
+ readonly outputs: readonly [];
403
+ readonly stateMutability: "nonpayable";
404
+ readonly type: "function";
405
+ }, {
406
+ readonly inputs: readonly [{
407
+ readonly internalType: "address";
408
+ readonly name: "";
409
+ readonly type: "address";
410
+ }];
411
+ readonly name: "userLockedRewards";
412
+ readonly outputs: readonly [{
413
+ readonly internalType: "uint256";
414
+ readonly name: "";
415
+ readonly type: "uint256";
416
+ }];
417
+ readonly stateMutability: "view";
418
+ readonly type: "function";
419
+ }, {
420
+ readonly inputs: readonly [];
421
+ readonly name: "withdraw";
422
+ readonly outputs: readonly [];
423
+ readonly stateMutability: "nonpayable";
424
+ readonly type: "function";
425
+ }];
426
+ /**
427
+ * Type-safe ABI for stakingManagerV2_json
428
+ */
429
+ export type stakingManagerV2_jsonAbi = typeof stakingManagerV2_jsonAbi;
430
+ /**
431
+ * Contract instance type for stakingManagerV2_json
432
+ */
433
+ export type stakingManagerV2_jsonContract = any;
434
+ /**
435
+ * stakingManagerV2_json Contract Class
436
+ *
437
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
438
+ *
439
+ * @example
440
+ * ```typescript
441
+ * import { createPublicClient, createWalletClient, http } from 'viem';
442
+ * import { mainnet } from 'viem/chains';
443
+ * import { stakingManagerV2_json } from 'stakingManagerV2_json';
444
+ *
445
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
446
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
447
+ *
448
+ * const contract = new stakingManagerV2_json('0x...', { publicClient, walletClient });
449
+ *
450
+ * // Read functions
451
+ * const result = await contract.balanceOf('0x...');
452
+ *
453
+ * // Write functions
454
+ * const hash = await contract.transfer('0x...', 1000n);
455
+ *
456
+ * // Simulate transactions (dry-run)
457
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
458
+ * console.log('Gas estimate:', simulation.request.gas);
459
+ *
460
+ * // Watch events
461
+ * const unwatch = contract.watch.Transfer((event) => {
462
+ * console.log('Transfer event:', event);
463
+ * });
464
+ * ```
465
+ */
466
+ export declare class stakingManagerV2_json {
467
+ private contract;
468
+ private contractAddress;
469
+ private publicClient;
470
+ constructor(address: Address, clients: {
471
+ publicClient: PublicClient;
472
+ walletClient?: WalletClient;
473
+ });
474
+ /**
475
+ * Get the contract address
476
+ */
477
+ get address(): Address;
478
+ /**
479
+ * Get the underlying viem contract instance
480
+ */
481
+ getContract(): stakingManagerV2_jsonContract;
482
+ /**
483
+ * claimStart
484
+ * view
485
+ */
486
+ claimStart(): Promise<bigint>;
487
+ /**
488
+ * endBlock
489
+ * view
490
+ */
491
+ endBlock(): Promise<bigint>;
492
+ /**
493
+ * getRewards
494
+ * view
495
+ */
496
+ getRewards(_user: `0x${string}`): Promise<bigint>;
497
+ /**
498
+ * harvestLock
499
+ * view
500
+ */
501
+ harvestLock(): Promise<boolean>;
502
+ /**
503
+ * isBlacklisted
504
+ * view
505
+ */
506
+ isBlacklisted(arg0: `0x${string}`): Promise<boolean>;
507
+ /**
508
+ * lockedTime
509
+ * view
510
+ */
511
+ lockedTime(): Promise<bigint>;
512
+ /**
513
+ * owner
514
+ * view
515
+ */
516
+ owner(): Promise<`0x${string}`>;
517
+ /**
518
+ * poolStakers
519
+ * view
520
+ */
521
+ poolStakers(arg0: `0x${string}`): Promise<[bigint, bigint, bigint, bigint, bigint]>;
522
+ /**
523
+ * presaleContract
524
+ * view
525
+ */
526
+ presaleContract(): Promise<`0x${string}`>;
527
+ /**
528
+ * rewardTokensPerBlock
529
+ * view
530
+ */
531
+ rewardTokensPerBlock(): Promise<bigint>;
532
+ /**
533
+ * stakeToken
534
+ * view
535
+ */
536
+ stakeToken(): Promise<`0x${string}`>;
537
+ /**
538
+ * tokensStaked
539
+ * view
540
+ */
541
+ tokensStaked(): Promise<bigint>;
542
+ /**
543
+ * tokensStakedByPresale
544
+ * view
545
+ */
546
+ tokensStakedByPresale(): Promise<bigint>;
547
+ /**
548
+ * userLockedRewards
549
+ * view
550
+ */
551
+ userLockedRewards(arg0: `0x${string}`): Promise<bigint>;
552
+ /**
553
+ * __stakingManager_init
554
+ * nonpayable
555
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
556
+ */
557
+ __stakingManager_init(_rewardTokenAddress: `0x${string}`, _presale: `0x${string}`, _rewardTokensPerBlock: bigint, _lockTime: bigint, _endBlock: bigint, options?: {
558
+ accessList?: import('viem').AccessList;
559
+ authorizationList?: import('viem').AuthorizationList;
560
+ chain?: import('viem').Chain | null;
561
+ dataSuffix?: `0x${string}`;
562
+ gas?: bigint;
563
+ gasPrice?: bigint;
564
+ maxFeePerGas?: bigint;
565
+ maxPriorityFeePerGas?: bigint;
566
+ nonce?: number;
567
+ value?: bigint;
568
+ }): Promise<`0x${string}`>;
569
+ /**
570
+ * blacklistUsers
571
+ * nonpayable
572
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
573
+ */
574
+ blacklistUsers(_usersToBlacklist: `0x${string}`[], options?: {
575
+ accessList?: import('viem').AccessList;
576
+ authorizationList?: import('viem').AuthorizationList;
577
+ chain?: import('viem').Chain | null;
578
+ dataSuffix?: `0x${string}`;
579
+ gas?: bigint;
580
+ gasPrice?: bigint;
581
+ maxFeePerGas?: bigint;
582
+ maxPriorityFeePerGas?: bigint;
583
+ nonce?: number;
584
+ value?: bigint;
585
+ }): Promise<`0x${string}`>;
586
+ /**
587
+ * changeRewardTokensPerBlock
588
+ * nonpayable
589
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
590
+ */
591
+ changeRewardTokensPerBlock(_rewardTokensPerBlock: bigint, _endBlock: bigint, options?: {
592
+ accessList?: import('viem').AccessList;
593
+ authorizationList?: import('viem').AuthorizationList;
594
+ chain?: import('viem').Chain | null;
595
+ dataSuffix?: `0x${string}`;
596
+ gas?: bigint;
597
+ gasPrice?: bigint;
598
+ maxFeePerGas?: bigint;
599
+ maxPriorityFeePerGas?: bigint;
600
+ nonce?: number;
601
+ value?: bigint;
602
+ }): Promise<`0x${string}`>;
603
+ /**
604
+ * deposit
605
+ * nonpayable
606
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
607
+ */
608
+ deposit(_amount: bigint, options?: {
609
+ accessList?: import('viem').AccessList;
610
+ authorizationList?: import('viem').AuthorizationList;
611
+ chain?: import('viem').Chain | null;
612
+ dataSuffix?: `0x${string}`;
613
+ gas?: bigint;
614
+ gasPrice?: bigint;
615
+ maxFeePerGas?: bigint;
616
+ maxPriorityFeePerGas?: bigint;
617
+ nonce?: number;
618
+ value?: bigint;
619
+ }): Promise<`0x${string}`>;
620
+ /**
621
+ * depositByPresale
622
+ * nonpayable
623
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
624
+ */
625
+ depositByPresale(_user: `0x${string}`, _amount: bigint, options?: {
626
+ accessList?: import('viem').AccessList;
627
+ authorizationList?: import('viem').AuthorizationList;
628
+ chain?: import('viem').Chain | null;
629
+ dataSuffix?: `0x${string}`;
630
+ gas?: bigint;
631
+ gasPrice?: bigint;
632
+ maxFeePerGas?: bigint;
633
+ maxPriorityFeePerGas?: bigint;
634
+ nonce?: number;
635
+ value?: bigint;
636
+ }): Promise<`0x${string}`>;
637
+ /**
638
+ * harvestRewards
639
+ * nonpayable
640
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
641
+ */
642
+ harvestRewards(options?: {
643
+ accessList?: import('viem').AccessList;
644
+ authorizationList?: import('viem').AuthorizationList;
645
+ chain?: import('viem').Chain | null;
646
+ dataSuffix?: `0x${string}`;
647
+ gas?: bigint;
648
+ gasPrice?: bigint;
649
+ maxFeePerGas?: bigint;
650
+ maxPriorityFeePerGas?: bigint;
651
+ nonce?: number;
652
+ value?: bigint;
653
+ }): Promise<`0x${string}`>;
654
+ /**
655
+ * removeFromBlacklist
656
+ * nonpayable
657
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
658
+ */
659
+ removeFromBlacklist(_userToRemoveFromBlacklist: `0x${string}`[], options?: {
660
+ accessList?: import('viem').AccessList;
661
+ authorizationList?: import('viem').AuthorizationList;
662
+ chain?: import('viem').Chain | null;
663
+ dataSuffix?: `0x${string}`;
664
+ gas?: bigint;
665
+ gasPrice?: bigint;
666
+ maxFeePerGas?: bigint;
667
+ maxPriorityFeePerGas?: bigint;
668
+ nonce?: number;
669
+ value?: bigint;
670
+ }): Promise<`0x${string}`>;
671
+ /**
672
+ * renounceOwnership
673
+ * nonpayable
674
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
675
+ */
676
+ renounceOwnership(options?: {
677
+ accessList?: import('viem').AccessList;
678
+ authorizationList?: import('viem').AuthorizationList;
679
+ chain?: import('viem').Chain | null;
680
+ dataSuffix?: `0x${string}`;
681
+ gas?: bigint;
682
+ gasPrice?: bigint;
683
+ maxFeePerGas?: bigint;
684
+ maxPriorityFeePerGas?: bigint;
685
+ nonce?: number;
686
+ value?: bigint;
687
+ }): Promise<`0x${string}`>;
688
+ /**
689
+ * setClaimStart
690
+ * nonpayable
691
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
692
+ */
693
+ setClaimStart(_claimStart: bigint, options?: {
694
+ accessList?: import('viem').AccessList;
695
+ authorizationList?: import('viem').AuthorizationList;
696
+ chain?: import('viem').Chain | null;
697
+ dataSuffix?: `0x${string}`;
698
+ gas?: bigint;
699
+ gasPrice?: bigint;
700
+ maxFeePerGas?: bigint;
701
+ maxPriorityFeePerGas?: bigint;
702
+ nonce?: number;
703
+ value?: bigint;
704
+ }): Promise<`0x${string}`>;
705
+ /**
706
+ * setEndBlock
707
+ * nonpayable
708
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
709
+ */
710
+ setEndBlock(_endBlock: bigint, options?: {
711
+ accessList?: import('viem').AccessList;
712
+ authorizationList?: import('viem').AuthorizationList;
713
+ chain?: import('viem').Chain | null;
714
+ dataSuffix?: `0x${string}`;
715
+ gas?: bigint;
716
+ gasPrice?: bigint;
717
+ maxFeePerGas?: bigint;
718
+ maxPriorityFeePerGas?: bigint;
719
+ nonce?: number;
720
+ value?: bigint;
721
+ }): Promise<`0x${string}`>;
722
+ /**
723
+ * setHarvestLock
724
+ * nonpayable
725
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
726
+ */
727
+ setHarvestLock(_harvestlock: boolean, options?: {
728
+ accessList?: import('viem').AccessList;
729
+ authorizationList?: import('viem').AuthorizationList;
730
+ chain?: import('viem').Chain | null;
731
+ dataSuffix?: `0x${string}`;
732
+ gas?: bigint;
733
+ gasPrice?: bigint;
734
+ maxFeePerGas?: bigint;
735
+ maxPriorityFeePerGas?: bigint;
736
+ nonce?: number;
737
+ value?: bigint;
738
+ }): Promise<`0x${string}`>;
739
+ /**
740
+ * setLockedTime
741
+ * nonpayable
742
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
743
+ */
744
+ setLockedTime(_time: bigint, options?: {
745
+ accessList?: import('viem').AccessList;
746
+ authorizationList?: import('viem').AuthorizationList;
747
+ chain?: import('viem').Chain | null;
748
+ dataSuffix?: `0x${string}`;
749
+ gas?: bigint;
750
+ gasPrice?: bigint;
751
+ maxFeePerGas?: bigint;
752
+ maxPriorityFeePerGas?: bigint;
753
+ nonce?: number;
754
+ value?: bigint;
755
+ }): Promise<`0x${string}`>;
756
+ /**
757
+ * setPresale
758
+ * nonpayable
759
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
760
+ */
761
+ setPresale(_presale: `0x${string}`, options?: {
762
+ accessList?: import('viem').AccessList;
763
+ authorizationList?: import('viem').AuthorizationList;
764
+ chain?: import('viem').Chain | null;
765
+ dataSuffix?: `0x${string}`;
766
+ gas?: bigint;
767
+ gasPrice?: bigint;
768
+ maxFeePerGas?: bigint;
769
+ maxPriorityFeePerGas?: bigint;
770
+ nonce?: number;
771
+ value?: bigint;
772
+ }): Promise<`0x${string}`>;
773
+ /**
774
+ * setStakeToken
775
+ * nonpayable
776
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
777
+ */
778
+ setStakeToken(_stakeToken: `0x${string}`, options?: {
779
+ accessList?: import('viem').AccessList;
780
+ authorizationList?: import('viem').AuthorizationList;
781
+ chain?: import('viem').Chain | null;
782
+ dataSuffix?: `0x${string}`;
783
+ gas?: bigint;
784
+ gasPrice?: bigint;
785
+ maxFeePerGas?: bigint;
786
+ maxPriorityFeePerGas?: bigint;
787
+ nonce?: number;
788
+ value?: bigint;
789
+ }): Promise<`0x${string}`>;
790
+ /**
791
+ * transferOwnership
792
+ * nonpayable
793
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
794
+ */
795
+ transferOwnership(newOwner: `0x${string}`, options?: {
796
+ accessList?: import('viem').AccessList;
797
+ authorizationList?: import('viem').AuthorizationList;
798
+ chain?: import('viem').Chain | null;
799
+ dataSuffix?: `0x${string}`;
800
+ gas?: bigint;
801
+ gasPrice?: bigint;
802
+ maxFeePerGas?: bigint;
803
+ maxPriorityFeePerGas?: bigint;
804
+ nonce?: number;
805
+ value?: bigint;
806
+ }): Promise<`0x${string}`>;
807
+ /**
808
+ * withdraw
809
+ * nonpayable
810
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
811
+ */
812
+ withdraw(options?: {
813
+ accessList?: import('viem').AccessList;
814
+ authorizationList?: import('viem').AuthorizationList;
815
+ chain?: import('viem').Chain | null;
816
+ dataSuffix?: `0x${string}`;
817
+ gas?: bigint;
818
+ gasPrice?: bigint;
819
+ maxFeePerGas?: bigint;
820
+ maxPriorityFeePerGas?: bigint;
821
+ nonce?: number;
822
+ value?: bigint;
823
+ }): Promise<`0x${string}`>;
824
+ /**
825
+ * Simulate contract write operations (dry-run without sending transaction)
826
+ *
827
+ * @example
828
+ * const result = await contract.simulate.transfer('0x...', 1000n);
829
+ * console.log('Gas estimate:', result.request.gas);
830
+ * console.log('Would succeed:', result.result);
831
+ */
832
+ get simulate(): {
833
+ /**
834
+ * Simulate __stakingManager_init
835
+ * Returns gas estimate and result without sending transaction
836
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
837
+ */
838
+ __stakingManager_init(_rewardTokenAddress: `0x${string}`, _presale: `0x${string}`, _rewardTokensPerBlock: bigint, _lockTime: bigint, _endBlock: bigint, options?: {
839
+ accessList?: import("viem").AccessList;
840
+ authorizationList?: import("viem").AuthorizationList;
841
+ chain?: import("viem").Chain | null;
842
+ dataSuffix?: `0x${string}`;
843
+ gas?: bigint;
844
+ gasPrice?: bigint;
845
+ maxFeePerGas?: bigint;
846
+ maxPriorityFeePerGas?: bigint;
847
+ nonce?: number;
848
+ value?: bigint;
849
+ }): Promise<void>;
850
+ /**
851
+ * Simulate blacklistUsers
852
+ * Returns gas estimate and result without sending transaction
853
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
854
+ */
855
+ blacklistUsers(_usersToBlacklist: `0x${string}`[], options?: {
856
+ accessList?: import("viem").AccessList;
857
+ authorizationList?: import("viem").AuthorizationList;
858
+ chain?: import("viem").Chain | null;
859
+ dataSuffix?: `0x${string}`;
860
+ gas?: bigint;
861
+ gasPrice?: bigint;
862
+ maxFeePerGas?: bigint;
863
+ maxPriorityFeePerGas?: bigint;
864
+ nonce?: number;
865
+ value?: bigint;
866
+ }): Promise<void>;
867
+ /**
868
+ * Simulate changeRewardTokensPerBlock
869
+ * Returns gas estimate and result without sending transaction
870
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
871
+ */
872
+ changeRewardTokensPerBlock(_rewardTokensPerBlock: bigint, _endBlock: bigint, options?: {
873
+ accessList?: import("viem").AccessList;
874
+ authorizationList?: import("viem").AuthorizationList;
875
+ chain?: import("viem").Chain | null;
876
+ dataSuffix?: `0x${string}`;
877
+ gas?: bigint;
878
+ gasPrice?: bigint;
879
+ maxFeePerGas?: bigint;
880
+ maxPriorityFeePerGas?: bigint;
881
+ nonce?: number;
882
+ value?: bigint;
883
+ }): Promise<void>;
884
+ /**
885
+ * Simulate deposit
886
+ * Returns gas estimate and result without sending transaction
887
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
888
+ */
889
+ deposit(_amount: bigint, options?: {
890
+ accessList?: import("viem").AccessList;
891
+ authorizationList?: import("viem").AuthorizationList;
892
+ chain?: import("viem").Chain | null;
893
+ dataSuffix?: `0x${string}`;
894
+ gas?: bigint;
895
+ gasPrice?: bigint;
896
+ maxFeePerGas?: bigint;
897
+ maxPriorityFeePerGas?: bigint;
898
+ nonce?: number;
899
+ value?: bigint;
900
+ }): Promise<void>;
901
+ /**
902
+ * Simulate depositByPresale
903
+ * Returns gas estimate and result without sending transaction
904
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
905
+ */
906
+ depositByPresale(_user: `0x${string}`, _amount: bigint, options?: {
907
+ accessList?: import("viem").AccessList;
908
+ authorizationList?: import("viem").AuthorizationList;
909
+ chain?: import("viem").Chain | null;
910
+ dataSuffix?: `0x${string}`;
911
+ gas?: bigint;
912
+ gasPrice?: bigint;
913
+ maxFeePerGas?: bigint;
914
+ maxPriorityFeePerGas?: bigint;
915
+ nonce?: number;
916
+ value?: bigint;
917
+ }): Promise<void>;
918
+ /**
919
+ * Simulate harvestRewards
920
+ * Returns gas estimate and result without sending transaction
921
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
922
+ */
923
+ harvestRewards(options?: {
924
+ accessList?: import("viem").AccessList;
925
+ authorizationList?: import("viem").AuthorizationList;
926
+ chain?: import("viem").Chain | null;
927
+ dataSuffix?: `0x${string}`;
928
+ gas?: bigint;
929
+ gasPrice?: bigint;
930
+ maxFeePerGas?: bigint;
931
+ maxPriorityFeePerGas?: bigint;
932
+ nonce?: number;
933
+ value?: bigint;
934
+ }): Promise<void>;
935
+ /**
936
+ * Simulate removeFromBlacklist
937
+ * Returns gas estimate and result without sending transaction
938
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
939
+ */
940
+ removeFromBlacklist(_userToRemoveFromBlacklist: `0x${string}`[], options?: {
941
+ accessList?: import("viem").AccessList;
942
+ authorizationList?: import("viem").AuthorizationList;
943
+ chain?: import("viem").Chain | null;
944
+ dataSuffix?: `0x${string}`;
945
+ gas?: bigint;
946
+ gasPrice?: bigint;
947
+ maxFeePerGas?: bigint;
948
+ maxPriorityFeePerGas?: bigint;
949
+ nonce?: number;
950
+ value?: bigint;
951
+ }): Promise<void>;
952
+ /**
953
+ * Simulate renounceOwnership
954
+ * Returns gas estimate and result without sending transaction
955
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
956
+ */
957
+ renounceOwnership(options?: {
958
+ accessList?: import("viem").AccessList;
959
+ authorizationList?: import("viem").AuthorizationList;
960
+ chain?: import("viem").Chain | null;
961
+ dataSuffix?: `0x${string}`;
962
+ gas?: bigint;
963
+ gasPrice?: bigint;
964
+ maxFeePerGas?: bigint;
965
+ maxPriorityFeePerGas?: bigint;
966
+ nonce?: number;
967
+ value?: bigint;
968
+ }): Promise<void>;
969
+ /**
970
+ * Simulate setClaimStart
971
+ * Returns gas estimate and result without sending transaction
972
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
973
+ */
974
+ setClaimStart(_claimStart: bigint, options?: {
975
+ accessList?: import("viem").AccessList;
976
+ authorizationList?: import("viem").AuthorizationList;
977
+ chain?: import("viem").Chain | null;
978
+ dataSuffix?: `0x${string}`;
979
+ gas?: bigint;
980
+ gasPrice?: bigint;
981
+ maxFeePerGas?: bigint;
982
+ maxPriorityFeePerGas?: bigint;
983
+ nonce?: number;
984
+ value?: bigint;
985
+ }): Promise<void>;
986
+ /**
987
+ * Simulate setEndBlock
988
+ * Returns gas estimate and result without sending transaction
989
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
990
+ */
991
+ setEndBlock(_endBlock: bigint, options?: {
992
+ accessList?: import("viem").AccessList;
993
+ authorizationList?: import("viem").AuthorizationList;
994
+ chain?: import("viem").Chain | null;
995
+ dataSuffix?: `0x${string}`;
996
+ gas?: bigint;
997
+ gasPrice?: bigint;
998
+ maxFeePerGas?: bigint;
999
+ maxPriorityFeePerGas?: bigint;
1000
+ nonce?: number;
1001
+ value?: bigint;
1002
+ }): Promise<void>;
1003
+ /**
1004
+ * Simulate setHarvestLock
1005
+ * Returns gas estimate and result without sending transaction
1006
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1007
+ */
1008
+ setHarvestLock(_harvestlock: boolean, options?: {
1009
+ accessList?: import("viem").AccessList;
1010
+ authorizationList?: import("viem").AuthorizationList;
1011
+ chain?: import("viem").Chain | null;
1012
+ dataSuffix?: `0x${string}`;
1013
+ gas?: bigint;
1014
+ gasPrice?: bigint;
1015
+ maxFeePerGas?: bigint;
1016
+ maxPriorityFeePerGas?: bigint;
1017
+ nonce?: number;
1018
+ value?: bigint;
1019
+ }): Promise<void>;
1020
+ /**
1021
+ * Simulate setLockedTime
1022
+ * Returns gas estimate and result without sending transaction
1023
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1024
+ */
1025
+ setLockedTime(_time: bigint, options?: {
1026
+ accessList?: import("viem").AccessList;
1027
+ authorizationList?: import("viem").AuthorizationList;
1028
+ chain?: import("viem").Chain | null;
1029
+ dataSuffix?: `0x${string}`;
1030
+ gas?: bigint;
1031
+ gasPrice?: bigint;
1032
+ maxFeePerGas?: bigint;
1033
+ maxPriorityFeePerGas?: bigint;
1034
+ nonce?: number;
1035
+ value?: bigint;
1036
+ }): Promise<void>;
1037
+ /**
1038
+ * Simulate setPresale
1039
+ * Returns gas estimate and result without sending transaction
1040
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1041
+ */
1042
+ setPresale(_presale: `0x${string}`, options?: {
1043
+ accessList?: import("viem").AccessList;
1044
+ authorizationList?: import("viem").AuthorizationList;
1045
+ chain?: import("viem").Chain | null;
1046
+ dataSuffix?: `0x${string}`;
1047
+ gas?: bigint;
1048
+ gasPrice?: bigint;
1049
+ maxFeePerGas?: bigint;
1050
+ maxPriorityFeePerGas?: bigint;
1051
+ nonce?: number;
1052
+ value?: bigint;
1053
+ }): Promise<void>;
1054
+ /**
1055
+ * Simulate setStakeToken
1056
+ * Returns gas estimate and result without sending transaction
1057
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1058
+ */
1059
+ setStakeToken(_stakeToken: `0x${string}`, options?: {
1060
+ accessList?: import("viem").AccessList;
1061
+ authorizationList?: import("viem").AuthorizationList;
1062
+ chain?: import("viem").Chain | null;
1063
+ dataSuffix?: `0x${string}`;
1064
+ gas?: bigint;
1065
+ gasPrice?: bigint;
1066
+ maxFeePerGas?: bigint;
1067
+ maxPriorityFeePerGas?: bigint;
1068
+ nonce?: number;
1069
+ value?: bigint;
1070
+ }): Promise<void>;
1071
+ /**
1072
+ * Simulate transferOwnership
1073
+ * Returns gas estimate and result without sending transaction
1074
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1075
+ */
1076
+ transferOwnership(newOwner: `0x${string}`, options?: {
1077
+ accessList?: import("viem").AccessList;
1078
+ authorizationList?: import("viem").AuthorizationList;
1079
+ chain?: import("viem").Chain | null;
1080
+ dataSuffix?: `0x${string}`;
1081
+ gas?: bigint;
1082
+ gasPrice?: bigint;
1083
+ maxFeePerGas?: bigint;
1084
+ maxPriorityFeePerGas?: bigint;
1085
+ nonce?: number;
1086
+ value?: bigint;
1087
+ }): Promise<void>;
1088
+ /**
1089
+ * Simulate withdraw
1090
+ * Returns gas estimate and result without sending transaction
1091
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1092
+ */
1093
+ withdraw(options?: {
1094
+ accessList?: import("viem").AccessList;
1095
+ authorizationList?: import("viem").AuthorizationList;
1096
+ chain?: import("viem").Chain | null;
1097
+ dataSuffix?: `0x${string}`;
1098
+ gas?: bigint;
1099
+ gasPrice?: bigint;
1100
+ maxFeePerGas?: bigint;
1101
+ maxPriorityFeePerGas?: bigint;
1102
+ nonce?: number;
1103
+ value?: bigint;
1104
+ }): Promise<void>;
1105
+ };
1106
+ /**
1107
+ * Watch contract events
1108
+ *
1109
+ * @example
1110
+ * // Watch all Transfer events
1111
+ * const unwatch = contract.watch.Transfer((event) => {
1112
+ * console.log('Transfer:', event);
1113
+ * });
1114
+ *
1115
+ * // Stop watching
1116
+ * unwatch();
1117
+ */
1118
+ get watch(): {
1119
+ /**
1120
+ * Watch Deposit events
1121
+ * @param callback Function to call when event is emitted
1122
+ * @param filter Optional filter for indexed parameters
1123
+ * @returns Unwatch function to stop listening
1124
+ */
1125
+ Deposit: (callback: (event: {
1126
+ user: `0x${string}`;
1127
+ amount: bigint;
1128
+ }) => void, filter?: {
1129
+ user: `0x${string}`;
1130
+ }) => () => void;
1131
+ /**
1132
+ * Watch HarvestRewards events
1133
+ * @param callback Function to call when event is emitted
1134
+ * @param filter Optional filter for indexed parameters
1135
+ * @returns Unwatch function to stop listening
1136
+ */
1137
+ HarvestRewards: (callback: (event: {
1138
+ user: `0x${string}`;
1139
+ amount: bigint;
1140
+ }) => void, filter?: {
1141
+ user: `0x${string}`;
1142
+ }) => () => void;
1143
+ /**
1144
+ * Watch Initialized events
1145
+ * @param callback Function to call when event is emitted
1146
+ * @param filter Optional filter for indexed parameters
1147
+ * @returns Unwatch function to stop listening
1148
+ */
1149
+ Initialized: (callback: (event: {
1150
+ version: bigint;
1151
+ }) => void) => () => void;
1152
+ /**
1153
+ * Watch OwnershipTransferred events
1154
+ * @param callback Function to call when event is emitted
1155
+ * @param filter Optional filter for indexed parameters
1156
+ * @returns Unwatch function to stop listening
1157
+ */
1158
+ OwnershipTransferred: (callback: (event: {
1159
+ previousOwner: `0x${string}`;
1160
+ newOwner: `0x${string}`;
1161
+ }) => void, filter?: {
1162
+ previousOwner: `0x${string}`;
1163
+ newOwner: `0x${string}`;
1164
+ }) => () => void;
1165
+ /**
1166
+ * Watch Withdraw events
1167
+ * @param callback Function to call when event is emitted
1168
+ * @param filter Optional filter for indexed parameters
1169
+ * @returns Unwatch function to stop listening
1170
+ */
1171
+ Withdraw: (callback: (event: {
1172
+ user: `0x${string}`;
1173
+ amount: bigint;
1174
+ }) => void, filter?: {
1175
+ user: `0x${string}`;
1176
+ }) => () => void;
1177
+ };
1178
+ }