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