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