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