@gitmyabi/kernel 1.0.17 → 1.0.18

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,1821 @@
1
+ import type { Address, PublicClient, WalletClient } from 'viem';
2
+ /**
3
+ * PackedUserOperation struct type
4
+ */
5
+ export type PackedUserOperation = {
6
+ sender: `0x${string}`;
7
+ nonce: bigint;
8
+ initCode: `0x${string}`;
9
+ callData: `0x${string}`;
10
+ accountGasLimits: `0x${string}`;
11
+ preVerificationGas: bigint;
12
+ gasFees: `0x${string}`;
13
+ paymasterAndData: `0x${string}`;
14
+ signature: `0x${string}`;
15
+ };
16
+ /**
17
+ * ExecutorManager.ExecutorConfig struct type
18
+ */
19
+ export type ExecutorManager_ExecutorConfig = {
20
+ hook: `0x${string}`;
21
+ };
22
+ /**
23
+ * ValidationManager.ValidationConfig struct type
24
+ */
25
+ export type ValidationManager_ValidationConfig = {
26
+ nonce: bigint;
27
+ hook: `0x${string}`;
28
+ };
29
+ /**
30
+ * ValidationManager.PermissionConfig struct type
31
+ */
32
+ export type ValidationManager_PermissionConfig = {
33
+ permissionFlag: `0x${string}`;
34
+ signer: `0x${string}`;
35
+ policyData: `0x${string}`[];
36
+ };
37
+ /**
38
+ * SelectorManager.SelectorConfig struct type
39
+ */
40
+ export type SelectorManager_SelectorConfig = {
41
+ hook: `0x${string}`;
42
+ target: `0x${string}`;
43
+ callType: `0x${string}`;
44
+ };
45
+ /**
46
+ * Kernel ABI
47
+ *
48
+ * This ABI is typed using viem's type system for full type safety.
49
+ */
50
+ export declare const KernelAbi: readonly [{
51
+ readonly inputs: readonly [{
52
+ readonly internalType: "contract IEntryPoint";
53
+ readonly name: "_entrypoint";
54
+ readonly type: "address";
55
+ }];
56
+ readonly stateMutability: "nonpayable";
57
+ readonly type: "constructor";
58
+ }, {
59
+ readonly inputs: readonly [];
60
+ readonly name: "AlreadyInitialized";
61
+ readonly type: "error";
62
+ }, {
63
+ readonly inputs: readonly [];
64
+ readonly name: "EnableNotApproved";
65
+ readonly type: "error";
66
+ }, {
67
+ readonly inputs: readonly [];
68
+ readonly name: "ExecutionReverted";
69
+ readonly type: "error";
70
+ }, {
71
+ readonly inputs: readonly [{
72
+ readonly internalType: "uint256";
73
+ readonly name: "idx";
74
+ readonly type: "uint256";
75
+ }];
76
+ readonly name: "InitConfigError";
77
+ readonly type: "error";
78
+ }, {
79
+ readonly inputs: readonly [];
80
+ readonly name: "InvalidCallType";
81
+ readonly type: "error";
82
+ }, {
83
+ readonly inputs: readonly [];
84
+ readonly name: "InvalidCaller";
85
+ readonly type: "error";
86
+ }, {
87
+ readonly inputs: readonly [];
88
+ readonly name: "InvalidExecutor";
89
+ readonly type: "error";
90
+ }, {
91
+ readonly inputs: readonly [];
92
+ readonly name: "InvalidFallback";
93
+ readonly type: "error";
94
+ }, {
95
+ readonly inputs: readonly [];
96
+ readonly name: "InvalidMode";
97
+ readonly type: "error";
98
+ }, {
99
+ readonly inputs: readonly [];
100
+ readonly name: "InvalidModuleType";
101
+ readonly type: "error";
102
+ }, {
103
+ readonly inputs: readonly [];
104
+ readonly name: "InvalidNonce";
105
+ readonly type: "error";
106
+ }, {
107
+ readonly inputs: readonly [];
108
+ readonly name: "InvalidSelector";
109
+ readonly type: "error";
110
+ }, {
111
+ readonly inputs: readonly [];
112
+ readonly name: "InvalidSelectorData";
113
+ readonly type: "error";
114
+ }, {
115
+ readonly inputs: readonly [];
116
+ readonly name: "InvalidSignature";
117
+ readonly type: "error";
118
+ }, {
119
+ readonly inputs: readonly [];
120
+ readonly name: "InvalidValidationType";
121
+ readonly type: "error";
122
+ }, {
123
+ readonly inputs: readonly [];
124
+ readonly name: "InvalidValidator";
125
+ readonly type: "error";
126
+ }, {
127
+ readonly inputs: readonly [];
128
+ readonly name: "NonceInvalidationError";
129
+ readonly type: "error";
130
+ }, {
131
+ readonly inputs: readonly [];
132
+ readonly name: "NotSupportedCallType";
133
+ readonly type: "error";
134
+ }, {
135
+ readonly inputs: readonly [];
136
+ readonly name: "OnlyExecuteUserOp";
137
+ readonly type: "error";
138
+ }, {
139
+ readonly inputs: readonly [];
140
+ readonly name: "PermissionDataLengthMismatch";
141
+ readonly type: "error";
142
+ }, {
143
+ readonly inputs: readonly [];
144
+ readonly name: "PermissionNotAlllowedForSignature";
145
+ readonly type: "error";
146
+ }, {
147
+ readonly inputs: readonly [];
148
+ readonly name: "PermissionNotAlllowedForUserOp";
149
+ readonly type: "error";
150
+ }, {
151
+ readonly inputs: readonly [];
152
+ readonly name: "PolicyDataTooLarge";
153
+ readonly type: "error";
154
+ }, {
155
+ readonly inputs: readonly [{
156
+ readonly internalType: "uint256";
157
+ readonly name: "i";
158
+ readonly type: "uint256";
159
+ }];
160
+ readonly name: "PolicyFailed";
161
+ readonly type: "error";
162
+ }, {
163
+ readonly inputs: readonly [];
164
+ readonly name: "PolicySignatureOrderError";
165
+ readonly type: "error";
166
+ }, {
167
+ readonly inputs: readonly [];
168
+ readonly name: "RootValidatorCannotBeRemoved";
169
+ readonly type: "error";
170
+ }, {
171
+ readonly inputs: readonly [];
172
+ readonly name: "SignerPrefixNotPresent";
173
+ readonly type: "error";
174
+ }, {
175
+ readonly anonymous: false;
176
+ readonly inputs: readonly [{
177
+ readonly indexed: false;
178
+ readonly internalType: "uint256";
179
+ readonly name: "moduleTypeId";
180
+ readonly type: "uint256";
181
+ }, {
182
+ readonly indexed: false;
183
+ readonly internalType: "address";
184
+ readonly name: "module";
185
+ readonly type: "address";
186
+ }];
187
+ readonly name: "ModuleInstalled";
188
+ readonly type: "event";
189
+ }, {
190
+ readonly anonymous: false;
191
+ readonly inputs: readonly [{
192
+ readonly indexed: false;
193
+ readonly internalType: "address";
194
+ readonly name: "module";
195
+ readonly type: "address";
196
+ }, {
197
+ readonly indexed: false;
198
+ readonly internalType: "bool";
199
+ readonly name: "result";
200
+ readonly type: "bool";
201
+ }];
202
+ readonly name: "ModuleUninstallResult";
203
+ readonly type: "event";
204
+ }, {
205
+ readonly anonymous: false;
206
+ readonly inputs: readonly [{
207
+ readonly indexed: false;
208
+ readonly internalType: "uint256";
209
+ readonly name: "moduleTypeId";
210
+ readonly type: "uint256";
211
+ }, {
212
+ readonly indexed: false;
213
+ readonly internalType: "address";
214
+ readonly name: "module";
215
+ readonly type: "address";
216
+ }];
217
+ readonly name: "ModuleUninstalled";
218
+ readonly type: "event";
219
+ }, {
220
+ readonly anonymous: false;
221
+ readonly inputs: readonly [{
222
+ readonly indexed: false;
223
+ readonly internalType: "uint32";
224
+ readonly name: "nonce";
225
+ readonly type: "uint32";
226
+ }];
227
+ readonly name: "NonceInvalidated";
228
+ readonly type: "event";
229
+ }, {
230
+ readonly anonymous: false;
231
+ readonly inputs: readonly [{
232
+ readonly indexed: false;
233
+ readonly internalType: "PermissionId";
234
+ readonly name: "permission";
235
+ readonly type: "bytes4";
236
+ }, {
237
+ readonly indexed: false;
238
+ readonly internalType: "uint32";
239
+ readonly name: "nonce";
240
+ readonly type: "uint32";
241
+ }];
242
+ readonly name: "PermissionInstalled";
243
+ readonly type: "event";
244
+ }, {
245
+ readonly anonymous: false;
246
+ readonly inputs: readonly [{
247
+ readonly indexed: false;
248
+ readonly internalType: "PermissionId";
249
+ readonly name: "permission";
250
+ readonly type: "bytes4";
251
+ }];
252
+ readonly name: "PermissionUninstalled";
253
+ readonly type: "event";
254
+ }, {
255
+ readonly anonymous: false;
256
+ readonly inputs: readonly [{
257
+ readonly indexed: false;
258
+ readonly internalType: "address";
259
+ readonly name: "sender";
260
+ readonly type: "address";
261
+ }, {
262
+ readonly indexed: false;
263
+ readonly internalType: "uint256";
264
+ readonly name: "amount";
265
+ readonly type: "uint256";
266
+ }];
267
+ readonly name: "Received";
268
+ readonly type: "event";
269
+ }, {
270
+ readonly anonymous: false;
271
+ readonly inputs: readonly [{
272
+ readonly indexed: false;
273
+ readonly internalType: "ValidationId";
274
+ readonly name: "rootValidator";
275
+ readonly type: "bytes21";
276
+ }];
277
+ readonly name: "RootValidatorUpdated";
278
+ readonly type: "event";
279
+ }, {
280
+ readonly anonymous: false;
281
+ readonly inputs: readonly [{
282
+ readonly indexed: false;
283
+ readonly internalType: "bytes4";
284
+ readonly name: "selector";
285
+ readonly type: "bytes4";
286
+ }, {
287
+ readonly indexed: false;
288
+ readonly internalType: "ValidationId";
289
+ readonly name: "vId";
290
+ readonly type: "bytes21";
291
+ }, {
292
+ readonly indexed: false;
293
+ readonly internalType: "bool";
294
+ readonly name: "allowed";
295
+ readonly type: "bool";
296
+ }];
297
+ readonly name: "SelectorSet";
298
+ readonly type: "event";
299
+ }, {
300
+ readonly anonymous: false;
301
+ readonly inputs: readonly [{
302
+ readonly indexed: false;
303
+ readonly internalType: "uint256";
304
+ readonly name: "batchExecutionindex";
305
+ readonly type: "uint256";
306
+ }, {
307
+ readonly indexed: false;
308
+ readonly internalType: "bytes";
309
+ readonly name: "result";
310
+ readonly type: "bytes";
311
+ }];
312
+ readonly name: "TryExecuteUnsuccessful";
313
+ readonly type: "event";
314
+ }, {
315
+ readonly anonymous: false;
316
+ readonly inputs: readonly [{
317
+ readonly indexed: true;
318
+ readonly internalType: "address";
319
+ readonly name: "implementation";
320
+ readonly type: "address";
321
+ }];
322
+ readonly name: "Upgraded";
323
+ readonly type: "event";
324
+ }, {
325
+ readonly anonymous: false;
326
+ readonly inputs: readonly [{
327
+ readonly indexed: false;
328
+ readonly internalType: "contract IValidator";
329
+ readonly name: "validator";
330
+ readonly type: "address";
331
+ }, {
332
+ readonly indexed: false;
333
+ readonly internalType: "uint32";
334
+ readonly name: "nonce";
335
+ readonly type: "uint32";
336
+ }];
337
+ readonly name: "ValidatorInstalled";
338
+ readonly type: "event";
339
+ }, {
340
+ readonly anonymous: false;
341
+ readonly inputs: readonly [{
342
+ readonly indexed: false;
343
+ readonly internalType: "contract IValidator";
344
+ readonly name: "validator";
345
+ readonly type: "address";
346
+ }];
347
+ readonly name: "ValidatorUninstalled";
348
+ readonly type: "event";
349
+ }, {
350
+ readonly stateMutability: "payable";
351
+ readonly type: "fallback";
352
+ }, {
353
+ readonly inputs: readonly [];
354
+ readonly name: "accountId";
355
+ readonly outputs: readonly [{
356
+ readonly internalType: "string";
357
+ readonly name: "accountImplementationId";
358
+ readonly type: "string";
359
+ }];
360
+ readonly stateMutability: "pure";
361
+ readonly type: "function";
362
+ }, {
363
+ readonly inputs: readonly [{
364
+ readonly internalType: "ValidationId";
365
+ readonly name: "_rootValidator";
366
+ readonly type: "bytes21";
367
+ }, {
368
+ readonly internalType: "contract IHook";
369
+ readonly name: "hook";
370
+ readonly type: "address";
371
+ }, {
372
+ readonly internalType: "bytes";
373
+ readonly name: "validatorData";
374
+ readonly type: "bytes";
375
+ }, {
376
+ readonly internalType: "bytes";
377
+ readonly name: "hookData";
378
+ readonly type: "bytes";
379
+ }];
380
+ readonly name: "changeRootValidator";
381
+ readonly outputs: readonly [];
382
+ readonly stateMutability: "payable";
383
+ readonly type: "function";
384
+ }, {
385
+ readonly inputs: readonly [];
386
+ readonly name: "currentNonce";
387
+ readonly outputs: readonly [{
388
+ readonly internalType: "uint32";
389
+ readonly name: "";
390
+ readonly type: "uint32";
391
+ }];
392
+ readonly stateMutability: "view";
393
+ readonly type: "function";
394
+ }, {
395
+ readonly inputs: readonly [];
396
+ readonly name: "eip712Domain";
397
+ readonly outputs: readonly [{
398
+ readonly internalType: "bytes1";
399
+ readonly name: "fields";
400
+ readonly type: "bytes1";
401
+ }, {
402
+ readonly internalType: "string";
403
+ readonly name: "name";
404
+ readonly type: "string";
405
+ }, {
406
+ readonly internalType: "string";
407
+ readonly name: "version";
408
+ readonly type: "string";
409
+ }, {
410
+ readonly internalType: "uint256";
411
+ readonly name: "chainId";
412
+ readonly type: "uint256";
413
+ }, {
414
+ readonly internalType: "address";
415
+ readonly name: "verifyingContract";
416
+ readonly type: "address";
417
+ }, {
418
+ readonly internalType: "bytes32";
419
+ readonly name: "salt";
420
+ readonly type: "bytes32";
421
+ }, {
422
+ readonly internalType: "uint256[]";
423
+ readonly name: "extensions";
424
+ readonly type: "uint256[]";
425
+ }];
426
+ readonly stateMutability: "view";
427
+ readonly type: "function";
428
+ }, {
429
+ readonly inputs: readonly [];
430
+ readonly name: "entrypoint";
431
+ readonly outputs: readonly [{
432
+ readonly internalType: "contract IEntryPoint";
433
+ readonly name: "";
434
+ readonly type: "address";
435
+ }];
436
+ readonly stateMutability: "view";
437
+ readonly type: "function";
438
+ }, {
439
+ readonly inputs: readonly [{
440
+ readonly internalType: "ExecMode";
441
+ readonly name: "execMode";
442
+ readonly type: "bytes32";
443
+ }, {
444
+ readonly internalType: "bytes";
445
+ readonly name: "executionCalldata";
446
+ readonly type: "bytes";
447
+ }];
448
+ readonly name: "execute";
449
+ readonly outputs: readonly [];
450
+ readonly stateMutability: "payable";
451
+ readonly type: "function";
452
+ }, {
453
+ readonly inputs: readonly [{
454
+ readonly internalType: "ExecMode";
455
+ readonly name: "execMode";
456
+ readonly type: "bytes32";
457
+ }, {
458
+ readonly internalType: "bytes";
459
+ readonly name: "executionCalldata";
460
+ readonly type: "bytes";
461
+ }];
462
+ readonly name: "executeFromExecutor";
463
+ readonly outputs: readonly [{
464
+ readonly internalType: "bytes[]";
465
+ readonly name: "returnData";
466
+ readonly type: "bytes[]";
467
+ }];
468
+ readonly stateMutability: "payable";
469
+ readonly type: "function";
470
+ }, {
471
+ readonly inputs: readonly [{
472
+ readonly components: readonly [{
473
+ readonly internalType: "address";
474
+ readonly name: "sender";
475
+ readonly type: "address";
476
+ }, {
477
+ readonly internalType: "uint256";
478
+ readonly name: "nonce";
479
+ readonly type: "uint256";
480
+ }, {
481
+ readonly internalType: "bytes";
482
+ readonly name: "initCode";
483
+ readonly type: "bytes";
484
+ }, {
485
+ readonly internalType: "bytes";
486
+ readonly name: "callData";
487
+ readonly type: "bytes";
488
+ }, {
489
+ readonly internalType: "bytes32";
490
+ readonly name: "accountGasLimits";
491
+ readonly type: "bytes32";
492
+ }, {
493
+ readonly internalType: "uint256";
494
+ readonly name: "preVerificationGas";
495
+ readonly type: "uint256";
496
+ }, {
497
+ readonly internalType: "bytes32";
498
+ readonly name: "gasFees";
499
+ readonly type: "bytes32";
500
+ }, {
501
+ readonly internalType: "bytes";
502
+ readonly name: "paymasterAndData";
503
+ readonly type: "bytes";
504
+ }, {
505
+ readonly internalType: "bytes";
506
+ readonly name: "signature";
507
+ readonly type: "bytes";
508
+ }];
509
+ readonly internalType: "struct PackedUserOperation";
510
+ readonly name: "userOp";
511
+ readonly type: "tuple";
512
+ }, {
513
+ readonly internalType: "bytes32";
514
+ readonly name: "userOpHash";
515
+ readonly type: "bytes32";
516
+ }];
517
+ readonly name: "executeUserOp";
518
+ readonly outputs: readonly [];
519
+ readonly stateMutability: "payable";
520
+ readonly type: "function";
521
+ }, {
522
+ readonly inputs: readonly [{
523
+ readonly internalType: "contract IExecutor";
524
+ readonly name: "executor";
525
+ readonly type: "address";
526
+ }];
527
+ readonly name: "executorConfig";
528
+ readonly outputs: readonly [{
529
+ readonly components: readonly [{
530
+ readonly internalType: "contract IHook";
531
+ readonly name: "hook";
532
+ readonly type: "address";
533
+ }];
534
+ readonly internalType: "struct ExecutorManager.ExecutorConfig";
535
+ readonly name: "";
536
+ readonly type: "tuple";
537
+ }];
538
+ readonly stateMutability: "view";
539
+ readonly type: "function";
540
+ }, {
541
+ readonly inputs: readonly [{
542
+ readonly internalType: "ValidationId";
543
+ readonly name: "vId";
544
+ readonly type: "bytes21";
545
+ }, {
546
+ readonly internalType: "bytes4";
547
+ readonly name: "selector";
548
+ readonly type: "bytes4";
549
+ }, {
550
+ readonly internalType: "bool";
551
+ readonly name: "allow";
552
+ readonly type: "bool";
553
+ }];
554
+ readonly name: "grantAccess";
555
+ readonly outputs: readonly [];
556
+ readonly stateMutability: "payable";
557
+ readonly type: "function";
558
+ }, {
559
+ readonly inputs: readonly [{
560
+ readonly internalType: "ValidationId";
561
+ readonly name: "_rootValidator";
562
+ readonly type: "bytes21";
563
+ }, {
564
+ readonly internalType: "contract IHook";
565
+ readonly name: "hook";
566
+ readonly type: "address";
567
+ }, {
568
+ readonly internalType: "bytes";
569
+ readonly name: "validatorData";
570
+ readonly type: "bytes";
571
+ }, {
572
+ readonly internalType: "bytes";
573
+ readonly name: "hookData";
574
+ readonly type: "bytes";
575
+ }, {
576
+ readonly internalType: "bytes[]";
577
+ readonly name: "initConfig";
578
+ readonly type: "bytes[]";
579
+ }];
580
+ readonly name: "initialize";
581
+ readonly outputs: readonly [];
582
+ readonly stateMutability: "nonpayable";
583
+ readonly type: "function";
584
+ }, {
585
+ readonly inputs: readonly [{
586
+ readonly internalType: "uint256";
587
+ readonly name: "moduleType";
588
+ readonly type: "uint256";
589
+ }, {
590
+ readonly internalType: "address";
591
+ readonly name: "module";
592
+ readonly type: "address";
593
+ }, {
594
+ readonly internalType: "bytes";
595
+ readonly name: "initData";
596
+ readonly type: "bytes";
597
+ }];
598
+ readonly name: "installModule";
599
+ readonly outputs: readonly [];
600
+ readonly stateMutability: "payable";
601
+ readonly type: "function";
602
+ }, {
603
+ readonly inputs: readonly [{
604
+ readonly internalType: "ValidationId[]";
605
+ readonly name: "vIds";
606
+ readonly type: "bytes21[]";
607
+ }, {
608
+ readonly components: readonly [{
609
+ readonly internalType: "uint32";
610
+ readonly name: "nonce";
611
+ readonly type: "uint32";
612
+ }, {
613
+ readonly internalType: "contract IHook";
614
+ readonly name: "hook";
615
+ readonly type: "address";
616
+ }];
617
+ readonly internalType: "struct ValidationManager.ValidationConfig[]";
618
+ readonly name: "configs";
619
+ readonly type: "tuple[]";
620
+ }, {
621
+ readonly internalType: "bytes[]";
622
+ readonly name: "validationData";
623
+ readonly type: "bytes[]";
624
+ }, {
625
+ readonly internalType: "bytes[]";
626
+ readonly name: "hookData";
627
+ readonly type: "bytes[]";
628
+ }];
629
+ readonly name: "installValidations";
630
+ readonly outputs: readonly [];
631
+ readonly stateMutability: "payable";
632
+ readonly type: "function";
633
+ }, {
634
+ readonly inputs: readonly [{
635
+ readonly internalType: "uint32";
636
+ readonly name: "nonce";
637
+ readonly type: "uint32";
638
+ }];
639
+ readonly name: "invalidateNonce";
640
+ readonly outputs: readonly [];
641
+ readonly stateMutability: "payable";
642
+ readonly type: "function";
643
+ }, {
644
+ readonly inputs: readonly [{
645
+ readonly internalType: "ValidationId";
646
+ readonly name: "vId";
647
+ readonly type: "bytes21";
648
+ }, {
649
+ readonly internalType: "bytes4";
650
+ readonly name: "selector";
651
+ readonly type: "bytes4";
652
+ }];
653
+ readonly name: "isAllowedSelector";
654
+ readonly outputs: readonly [{
655
+ readonly internalType: "bool";
656
+ readonly name: "";
657
+ readonly type: "bool";
658
+ }];
659
+ readonly stateMutability: "view";
660
+ readonly type: "function";
661
+ }, {
662
+ readonly inputs: readonly [{
663
+ readonly internalType: "uint256";
664
+ readonly name: "moduleType";
665
+ readonly type: "uint256";
666
+ }, {
667
+ readonly internalType: "address";
668
+ readonly name: "module";
669
+ readonly type: "address";
670
+ }, {
671
+ readonly internalType: "bytes";
672
+ readonly name: "additionalContext";
673
+ readonly type: "bytes";
674
+ }];
675
+ readonly name: "isModuleInstalled";
676
+ readonly outputs: readonly [{
677
+ readonly internalType: "bool";
678
+ readonly name: "";
679
+ readonly type: "bool";
680
+ }];
681
+ readonly stateMutability: "view";
682
+ readonly type: "function";
683
+ }, {
684
+ readonly inputs: readonly [{
685
+ readonly internalType: "bytes32";
686
+ readonly name: "hash";
687
+ readonly type: "bytes32";
688
+ }, {
689
+ readonly internalType: "bytes";
690
+ readonly name: "data";
691
+ readonly type: "bytes";
692
+ }];
693
+ readonly name: "isValidSignature";
694
+ readonly outputs: readonly [{
695
+ readonly internalType: "bytes4";
696
+ readonly name: "";
697
+ readonly type: "bytes4";
698
+ }];
699
+ readonly stateMutability: "view";
700
+ readonly type: "function";
701
+ }, {
702
+ readonly inputs: readonly [{
703
+ readonly internalType: "address";
704
+ readonly name: "";
705
+ readonly type: "address";
706
+ }, {
707
+ readonly internalType: "address";
708
+ readonly name: "";
709
+ readonly type: "address";
710
+ }, {
711
+ readonly internalType: "uint256[]";
712
+ readonly name: "";
713
+ readonly type: "uint256[]";
714
+ }, {
715
+ readonly internalType: "uint256[]";
716
+ readonly name: "";
717
+ readonly type: "uint256[]";
718
+ }, {
719
+ readonly internalType: "bytes";
720
+ readonly name: "";
721
+ readonly type: "bytes";
722
+ }];
723
+ readonly name: "onERC1155BatchReceived";
724
+ readonly outputs: readonly [{
725
+ readonly internalType: "bytes4";
726
+ readonly name: "";
727
+ readonly type: "bytes4";
728
+ }];
729
+ readonly stateMutability: "pure";
730
+ readonly type: "function";
731
+ }, {
732
+ readonly inputs: readonly [{
733
+ readonly internalType: "address";
734
+ readonly name: "";
735
+ readonly type: "address";
736
+ }, {
737
+ readonly internalType: "address";
738
+ readonly name: "";
739
+ readonly type: "address";
740
+ }, {
741
+ readonly internalType: "uint256";
742
+ readonly name: "";
743
+ readonly type: "uint256";
744
+ }, {
745
+ readonly internalType: "uint256";
746
+ readonly name: "";
747
+ readonly type: "uint256";
748
+ }, {
749
+ readonly internalType: "bytes";
750
+ readonly name: "";
751
+ readonly type: "bytes";
752
+ }];
753
+ readonly name: "onERC1155Received";
754
+ readonly outputs: readonly [{
755
+ readonly internalType: "bytes4";
756
+ readonly name: "";
757
+ readonly type: "bytes4";
758
+ }];
759
+ readonly stateMutability: "pure";
760
+ readonly type: "function";
761
+ }, {
762
+ readonly inputs: readonly [{
763
+ readonly internalType: "address";
764
+ readonly name: "";
765
+ readonly type: "address";
766
+ }, {
767
+ readonly internalType: "address";
768
+ readonly name: "";
769
+ readonly type: "address";
770
+ }, {
771
+ readonly internalType: "uint256";
772
+ readonly name: "";
773
+ readonly type: "uint256";
774
+ }, {
775
+ readonly internalType: "bytes";
776
+ readonly name: "";
777
+ readonly type: "bytes";
778
+ }];
779
+ readonly name: "onERC721Received";
780
+ readonly outputs: readonly [{
781
+ readonly internalType: "bytes4";
782
+ readonly name: "";
783
+ readonly type: "bytes4";
784
+ }];
785
+ readonly stateMutability: "pure";
786
+ readonly type: "function";
787
+ }, {
788
+ readonly inputs: readonly [{
789
+ readonly internalType: "PermissionId";
790
+ readonly name: "pId";
791
+ readonly type: "bytes4";
792
+ }];
793
+ readonly name: "permissionConfig";
794
+ readonly outputs: readonly [{
795
+ readonly components: readonly [{
796
+ readonly internalType: "PassFlag";
797
+ readonly name: "permissionFlag";
798
+ readonly type: "bytes2";
799
+ }, {
800
+ readonly internalType: "contract ISigner";
801
+ readonly name: "signer";
802
+ readonly type: "address";
803
+ }, {
804
+ readonly internalType: "PolicyData[]";
805
+ readonly name: "policyData";
806
+ readonly type: "bytes22[]";
807
+ }];
808
+ readonly internalType: "struct ValidationManager.PermissionConfig";
809
+ readonly name: "";
810
+ readonly type: "tuple";
811
+ }];
812
+ readonly stateMutability: "view";
813
+ readonly type: "function";
814
+ }, {
815
+ readonly inputs: readonly [{
816
+ readonly components: readonly [{
817
+ readonly internalType: "address";
818
+ readonly name: "sender";
819
+ readonly type: "address";
820
+ }, {
821
+ readonly internalType: "uint256";
822
+ readonly name: "nonce";
823
+ readonly type: "uint256";
824
+ }, {
825
+ readonly internalType: "bytes";
826
+ readonly name: "initCode";
827
+ readonly type: "bytes";
828
+ }, {
829
+ readonly internalType: "bytes";
830
+ readonly name: "callData";
831
+ readonly type: "bytes";
832
+ }, {
833
+ readonly internalType: "bytes32";
834
+ readonly name: "accountGasLimits";
835
+ readonly type: "bytes32";
836
+ }, {
837
+ readonly internalType: "uint256";
838
+ readonly name: "preVerificationGas";
839
+ readonly type: "uint256";
840
+ }, {
841
+ readonly internalType: "bytes32";
842
+ readonly name: "gasFees";
843
+ readonly type: "bytes32";
844
+ }, {
845
+ readonly internalType: "bytes";
846
+ readonly name: "paymasterAndData";
847
+ readonly type: "bytes";
848
+ }, {
849
+ readonly internalType: "bytes";
850
+ readonly name: "signature";
851
+ readonly type: "bytes";
852
+ }];
853
+ readonly internalType: "struct PackedUserOperation";
854
+ readonly name: "userOp";
855
+ readonly type: "tuple";
856
+ }, {
857
+ readonly internalType: "address";
858
+ readonly name: "entryPoint";
859
+ readonly type: "address";
860
+ }];
861
+ readonly name: "replayableUserOpHash";
862
+ readonly outputs: readonly [{
863
+ readonly internalType: "bytes32";
864
+ readonly name: "";
865
+ readonly type: "bytes32";
866
+ }];
867
+ readonly stateMutability: "pure";
868
+ readonly type: "function";
869
+ }, {
870
+ readonly inputs: readonly [];
871
+ readonly name: "rootValidator";
872
+ readonly outputs: readonly [{
873
+ readonly internalType: "ValidationId";
874
+ readonly name: "";
875
+ readonly type: "bytes21";
876
+ }];
877
+ readonly stateMutability: "view";
878
+ readonly type: "function";
879
+ }, {
880
+ readonly inputs: readonly [{
881
+ readonly internalType: "bytes4";
882
+ readonly name: "selector";
883
+ readonly type: "bytes4";
884
+ }];
885
+ readonly name: "selectorConfig";
886
+ readonly outputs: readonly [{
887
+ readonly components: readonly [{
888
+ readonly internalType: "contract IHook";
889
+ readonly name: "hook";
890
+ readonly type: "address";
891
+ }, {
892
+ readonly internalType: "address";
893
+ readonly name: "target";
894
+ readonly type: "address";
895
+ }, {
896
+ readonly internalType: "CallType";
897
+ readonly name: "callType";
898
+ readonly type: "bytes1";
899
+ }];
900
+ readonly internalType: "struct SelectorManager.SelectorConfig";
901
+ readonly name: "";
902
+ readonly type: "tuple";
903
+ }];
904
+ readonly stateMutability: "view";
905
+ readonly type: "function";
906
+ }, {
907
+ readonly inputs: readonly [{
908
+ readonly internalType: "ExecMode";
909
+ readonly name: "mode";
910
+ readonly type: "bytes32";
911
+ }];
912
+ readonly name: "supportsExecutionMode";
913
+ readonly outputs: readonly [{
914
+ readonly internalType: "bool";
915
+ readonly name: "";
916
+ readonly type: "bool";
917
+ }];
918
+ readonly stateMutability: "pure";
919
+ readonly type: "function";
920
+ }, {
921
+ readonly inputs: readonly [{
922
+ readonly internalType: "uint256";
923
+ readonly name: "moduleTypeId";
924
+ readonly type: "uint256";
925
+ }];
926
+ readonly name: "supportsModule";
927
+ readonly outputs: readonly [{
928
+ readonly internalType: "bool";
929
+ readonly name: "";
930
+ readonly type: "bool";
931
+ }];
932
+ readonly stateMutability: "pure";
933
+ readonly type: "function";
934
+ }, {
935
+ readonly inputs: readonly [{
936
+ readonly internalType: "uint256";
937
+ readonly name: "moduleType";
938
+ readonly type: "uint256";
939
+ }, {
940
+ readonly internalType: "address";
941
+ readonly name: "module";
942
+ readonly type: "address";
943
+ }, {
944
+ readonly internalType: "bytes";
945
+ readonly name: "deInitData";
946
+ readonly type: "bytes";
947
+ }];
948
+ readonly name: "uninstallModule";
949
+ readonly outputs: readonly [];
950
+ readonly stateMutability: "payable";
951
+ readonly type: "function";
952
+ }, {
953
+ readonly inputs: readonly [{
954
+ readonly internalType: "ValidationId";
955
+ readonly name: "vId";
956
+ readonly type: "bytes21";
957
+ }, {
958
+ readonly internalType: "bytes";
959
+ readonly name: "deinitData";
960
+ readonly type: "bytes";
961
+ }, {
962
+ readonly internalType: "bytes";
963
+ readonly name: "hookDeinitData";
964
+ readonly type: "bytes";
965
+ }];
966
+ readonly name: "uninstallValidation";
967
+ readonly outputs: readonly [];
968
+ readonly stateMutability: "payable";
969
+ readonly type: "function";
970
+ }, {
971
+ readonly inputs: readonly [{
972
+ readonly internalType: "address";
973
+ readonly name: "_newImplementation";
974
+ readonly type: "address";
975
+ }];
976
+ readonly name: "upgradeTo";
977
+ readonly outputs: readonly [];
978
+ readonly stateMutability: "payable";
979
+ readonly type: "function";
980
+ }, {
981
+ readonly inputs: readonly [];
982
+ readonly name: "validNonceFrom";
983
+ readonly outputs: readonly [{
984
+ readonly internalType: "uint32";
985
+ readonly name: "";
986
+ readonly type: "uint32";
987
+ }];
988
+ readonly stateMutability: "view";
989
+ readonly type: "function";
990
+ }, {
991
+ readonly inputs: readonly [{
992
+ readonly components: readonly [{
993
+ readonly internalType: "address";
994
+ readonly name: "sender";
995
+ readonly type: "address";
996
+ }, {
997
+ readonly internalType: "uint256";
998
+ readonly name: "nonce";
999
+ readonly type: "uint256";
1000
+ }, {
1001
+ readonly internalType: "bytes";
1002
+ readonly name: "initCode";
1003
+ readonly type: "bytes";
1004
+ }, {
1005
+ readonly internalType: "bytes";
1006
+ readonly name: "callData";
1007
+ readonly type: "bytes";
1008
+ }, {
1009
+ readonly internalType: "bytes32";
1010
+ readonly name: "accountGasLimits";
1011
+ readonly type: "bytes32";
1012
+ }, {
1013
+ readonly internalType: "uint256";
1014
+ readonly name: "preVerificationGas";
1015
+ readonly type: "uint256";
1016
+ }, {
1017
+ readonly internalType: "bytes32";
1018
+ readonly name: "gasFees";
1019
+ readonly type: "bytes32";
1020
+ }, {
1021
+ readonly internalType: "bytes";
1022
+ readonly name: "paymasterAndData";
1023
+ readonly type: "bytes";
1024
+ }, {
1025
+ readonly internalType: "bytes";
1026
+ readonly name: "signature";
1027
+ readonly type: "bytes";
1028
+ }];
1029
+ readonly internalType: "struct PackedUserOperation";
1030
+ readonly name: "userOp";
1031
+ readonly type: "tuple";
1032
+ }, {
1033
+ readonly internalType: "bytes32";
1034
+ readonly name: "userOpHash";
1035
+ readonly type: "bytes32";
1036
+ }, {
1037
+ readonly internalType: "uint256";
1038
+ readonly name: "missingAccountFunds";
1039
+ readonly type: "uint256";
1040
+ }];
1041
+ readonly name: "validateUserOp";
1042
+ readonly outputs: readonly [{
1043
+ readonly internalType: "ValidationData";
1044
+ readonly name: "validationData";
1045
+ readonly type: "uint256";
1046
+ }];
1047
+ readonly stateMutability: "payable";
1048
+ readonly type: "function";
1049
+ }, {
1050
+ readonly inputs: readonly [{
1051
+ readonly internalType: "ValidationId";
1052
+ readonly name: "vId";
1053
+ readonly type: "bytes21";
1054
+ }];
1055
+ readonly name: "validationConfig";
1056
+ readonly outputs: readonly [{
1057
+ readonly components: readonly [{
1058
+ readonly internalType: "uint32";
1059
+ readonly name: "nonce";
1060
+ readonly type: "uint32";
1061
+ }, {
1062
+ readonly internalType: "contract IHook";
1063
+ readonly name: "hook";
1064
+ readonly type: "address";
1065
+ }];
1066
+ readonly internalType: "struct ValidationManager.ValidationConfig";
1067
+ readonly name: "";
1068
+ readonly type: "tuple";
1069
+ }];
1070
+ readonly stateMutability: "view";
1071
+ readonly type: "function";
1072
+ }, {
1073
+ readonly stateMutability: "payable";
1074
+ readonly type: "receive";
1075
+ }];
1076
+ /**
1077
+ * Type-safe ABI for Kernel
1078
+ */
1079
+ export type KernelAbi = typeof KernelAbi;
1080
+ /**
1081
+ * Contract instance type for Kernel
1082
+ */
1083
+ export type KernelContract = any;
1084
+ /**
1085
+ * Kernel Contract Class
1086
+ *
1087
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
1088
+ *
1089
+ * @example
1090
+ * ```typescript
1091
+ * import { createPublicClient, createWalletClient, http } from 'viem';
1092
+ * import { mainnet } from 'viem/chains';
1093
+ * import { Kernel } from 'Kernel';
1094
+ *
1095
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
1096
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
1097
+ *
1098
+ * const contract = new Kernel('0x...', { publicClient, walletClient });
1099
+ *
1100
+ * // Read functions
1101
+ * const result = await contract.balanceOf('0x...');
1102
+ *
1103
+ * // Write functions
1104
+ * const hash = await contract.transfer('0x...', 1000n);
1105
+ *
1106
+ * // Simulate transactions (dry-run)
1107
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
1108
+ * console.log('Gas estimate:', simulation.request.gas);
1109
+ *
1110
+ * // Watch events
1111
+ * const unwatch = contract.watch.Transfer((event) => {
1112
+ * console.log('Transfer event:', event);
1113
+ * });
1114
+ * ```
1115
+ */
1116
+ export declare class Kernel {
1117
+ private contract;
1118
+ private contractAddress;
1119
+ private publicClient;
1120
+ constructor(address: Address, clients: {
1121
+ publicClient: PublicClient;
1122
+ walletClient?: WalletClient;
1123
+ });
1124
+ /**
1125
+ * Get the contract address
1126
+ */
1127
+ get address(): Address;
1128
+ /**
1129
+ * Get the underlying viem contract instance.
1130
+ */
1131
+ getContract(): KernelContract;
1132
+ /**
1133
+ * accountId
1134
+ * pure
1135
+ */
1136
+ accountId(): Promise<string>;
1137
+ /**
1138
+ * currentNonce
1139
+ * view
1140
+ */
1141
+ currentNonce(): Promise<bigint>;
1142
+ /**
1143
+ * eip712Domain
1144
+ * view
1145
+ */
1146
+ eip712Domain(): Promise<[`0x${string}`, string, string, bigint, `0x${string}`, `0x${string}`, bigint[]]>;
1147
+ /**
1148
+ * entrypoint
1149
+ * view
1150
+ */
1151
+ entrypoint(): Promise<`0x${string}`>;
1152
+ /**
1153
+ * executorConfig
1154
+ * view
1155
+ */
1156
+ executorConfig(executor: `0x${string}`): Promise<ExecutorManager_ExecutorConfig>;
1157
+ /**
1158
+ * isAllowedSelector
1159
+ * view
1160
+ */
1161
+ isAllowedSelector(vId: `0x${string}`, selector: `0x${string}`): Promise<boolean>;
1162
+ /**
1163
+ * isModuleInstalled
1164
+ * view
1165
+ */
1166
+ isModuleInstalled(moduleType: bigint, module: `0x${string}`, additionalContext: `0x${string}`): Promise<boolean>;
1167
+ /**
1168
+ * isValidSignature
1169
+ * view
1170
+ */
1171
+ isValidSignature(hash: `0x${string}`, data: `0x${string}`): Promise<`0x${string}`>;
1172
+ /**
1173
+ * onERC1155BatchReceived
1174
+ * pure
1175
+ */
1176
+ onERC1155BatchReceived(arg0: `0x${string}`, arg1: `0x${string}`, arg2: bigint[], arg3: bigint[], arg4: `0x${string}`): Promise<`0x${string}`>;
1177
+ /**
1178
+ * onERC1155Received
1179
+ * pure
1180
+ */
1181
+ onERC1155Received(arg0: `0x${string}`, arg1: `0x${string}`, arg2: bigint, arg3: bigint, arg4: `0x${string}`): Promise<`0x${string}`>;
1182
+ /**
1183
+ * onERC721Received
1184
+ * pure
1185
+ */
1186
+ onERC721Received(arg0: `0x${string}`, arg1: `0x${string}`, arg2: bigint, arg3: `0x${string}`): Promise<`0x${string}`>;
1187
+ /**
1188
+ * permissionConfig
1189
+ * view
1190
+ */
1191
+ permissionConfig(pId: `0x${string}`): Promise<ValidationManager_PermissionConfig>;
1192
+ /**
1193
+ * replayableUserOpHash
1194
+ * pure
1195
+ */
1196
+ replayableUserOpHash(userOp: PackedUserOperation, entryPoint: `0x${string}`): Promise<`0x${string}`>;
1197
+ /**
1198
+ * rootValidator
1199
+ * view
1200
+ */
1201
+ rootValidator(): Promise<`0x${string}`>;
1202
+ /**
1203
+ * selectorConfig
1204
+ * view
1205
+ */
1206
+ selectorConfig(selector: `0x${string}`): Promise<SelectorManager_SelectorConfig>;
1207
+ /**
1208
+ * supportsExecutionMode
1209
+ * pure
1210
+ */
1211
+ supportsExecutionMode(mode: `0x${string}`): Promise<boolean>;
1212
+ /**
1213
+ * supportsModule
1214
+ * pure
1215
+ */
1216
+ supportsModule(moduleTypeId: bigint): Promise<boolean>;
1217
+ /**
1218
+ * validNonceFrom
1219
+ * view
1220
+ */
1221
+ validNonceFrom(): Promise<bigint>;
1222
+ /**
1223
+ * validationConfig
1224
+ * view
1225
+ */
1226
+ validationConfig(vId: `0x${string}`): Promise<ValidationManager_ValidationConfig>;
1227
+ /**
1228
+ * changeRootValidator
1229
+ * payable
1230
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1231
+ */
1232
+ changeRootValidator(_rootValidator: `0x${string}`, hook: `0x${string}`, validatorData: `0x${string}`, hookData: `0x${string}`, options?: {
1233
+ accessList?: import('viem').AccessList;
1234
+ authorizationList?: import('viem').AuthorizationList;
1235
+ chain?: import('viem').Chain | null;
1236
+ dataSuffix?: `0x${string}`;
1237
+ gas?: bigint;
1238
+ gasPrice?: bigint;
1239
+ maxFeePerGas?: bigint;
1240
+ maxPriorityFeePerGas?: bigint;
1241
+ nonce?: number;
1242
+ value?: bigint;
1243
+ }): Promise<`0x${string}`>;
1244
+ /**
1245
+ * execute
1246
+ * payable
1247
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1248
+ */
1249
+ execute(execMode: `0x${string}`, executionCalldata: `0x${string}`, options?: {
1250
+ accessList?: import('viem').AccessList;
1251
+ authorizationList?: import('viem').AuthorizationList;
1252
+ chain?: import('viem').Chain | null;
1253
+ dataSuffix?: `0x${string}`;
1254
+ gas?: bigint;
1255
+ gasPrice?: bigint;
1256
+ maxFeePerGas?: bigint;
1257
+ maxPriorityFeePerGas?: bigint;
1258
+ nonce?: number;
1259
+ value?: bigint;
1260
+ }): Promise<`0x${string}`>;
1261
+ /**
1262
+ * executeFromExecutor
1263
+ * payable
1264
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1265
+ */
1266
+ executeFromExecutor(execMode: `0x${string}`, executionCalldata: `0x${string}`, options?: {
1267
+ accessList?: import('viem').AccessList;
1268
+ authorizationList?: import('viem').AuthorizationList;
1269
+ chain?: import('viem').Chain | null;
1270
+ dataSuffix?: `0x${string}`;
1271
+ gas?: bigint;
1272
+ gasPrice?: bigint;
1273
+ maxFeePerGas?: bigint;
1274
+ maxPriorityFeePerGas?: bigint;
1275
+ nonce?: number;
1276
+ value?: bigint;
1277
+ }): Promise<`0x${string}`>;
1278
+ /**
1279
+ * executeUserOp
1280
+ * payable
1281
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1282
+ */
1283
+ executeUserOp(userOp: PackedUserOperation, userOpHash: `0x${string}`, options?: {
1284
+ accessList?: import('viem').AccessList;
1285
+ authorizationList?: import('viem').AuthorizationList;
1286
+ chain?: import('viem').Chain | null;
1287
+ dataSuffix?: `0x${string}`;
1288
+ gas?: bigint;
1289
+ gasPrice?: bigint;
1290
+ maxFeePerGas?: bigint;
1291
+ maxPriorityFeePerGas?: bigint;
1292
+ nonce?: number;
1293
+ value?: bigint;
1294
+ }): Promise<`0x${string}`>;
1295
+ /**
1296
+ * grantAccess
1297
+ * payable
1298
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1299
+ */
1300
+ grantAccess(vId: `0x${string}`, selector: `0x${string}`, allow: boolean, options?: {
1301
+ accessList?: import('viem').AccessList;
1302
+ authorizationList?: import('viem').AuthorizationList;
1303
+ chain?: import('viem').Chain | null;
1304
+ dataSuffix?: `0x${string}`;
1305
+ gas?: bigint;
1306
+ gasPrice?: bigint;
1307
+ maxFeePerGas?: bigint;
1308
+ maxPriorityFeePerGas?: bigint;
1309
+ nonce?: number;
1310
+ value?: bigint;
1311
+ }): Promise<`0x${string}`>;
1312
+ /**
1313
+ * initialize
1314
+ * nonpayable
1315
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1316
+ */
1317
+ initialize(_rootValidator: `0x${string}`, hook: `0x${string}`, validatorData: `0x${string}`, hookData: `0x${string}`, initConfig: `0x${string}`[], options?: {
1318
+ accessList?: import('viem').AccessList;
1319
+ authorizationList?: import('viem').AuthorizationList;
1320
+ chain?: import('viem').Chain | null;
1321
+ dataSuffix?: `0x${string}`;
1322
+ gas?: bigint;
1323
+ gasPrice?: bigint;
1324
+ maxFeePerGas?: bigint;
1325
+ maxPriorityFeePerGas?: bigint;
1326
+ nonce?: number;
1327
+ value?: bigint;
1328
+ }): Promise<`0x${string}`>;
1329
+ /**
1330
+ * installModule
1331
+ * payable
1332
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1333
+ */
1334
+ installModule(moduleType: bigint, module: `0x${string}`, initData: `0x${string}`, options?: {
1335
+ accessList?: import('viem').AccessList;
1336
+ authorizationList?: import('viem').AuthorizationList;
1337
+ chain?: import('viem').Chain | null;
1338
+ dataSuffix?: `0x${string}`;
1339
+ gas?: bigint;
1340
+ gasPrice?: bigint;
1341
+ maxFeePerGas?: bigint;
1342
+ maxPriorityFeePerGas?: bigint;
1343
+ nonce?: number;
1344
+ value?: bigint;
1345
+ }): Promise<`0x${string}`>;
1346
+ /**
1347
+ * installValidations
1348
+ * payable
1349
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1350
+ */
1351
+ installValidations(vIds: `0x${string}`[], configs: ValidationManager_ValidationConfig[], validationData: `0x${string}`[], hookData: `0x${string}`[], options?: {
1352
+ accessList?: import('viem').AccessList;
1353
+ authorizationList?: import('viem').AuthorizationList;
1354
+ chain?: import('viem').Chain | null;
1355
+ dataSuffix?: `0x${string}`;
1356
+ gas?: bigint;
1357
+ gasPrice?: bigint;
1358
+ maxFeePerGas?: bigint;
1359
+ maxPriorityFeePerGas?: bigint;
1360
+ nonce?: number;
1361
+ value?: bigint;
1362
+ }): Promise<`0x${string}`>;
1363
+ /**
1364
+ * invalidateNonce
1365
+ * payable
1366
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1367
+ */
1368
+ invalidateNonce(nonce: bigint, options?: {
1369
+ accessList?: import('viem').AccessList;
1370
+ authorizationList?: import('viem').AuthorizationList;
1371
+ chain?: import('viem').Chain | null;
1372
+ dataSuffix?: `0x${string}`;
1373
+ gas?: bigint;
1374
+ gasPrice?: bigint;
1375
+ maxFeePerGas?: bigint;
1376
+ maxPriorityFeePerGas?: bigint;
1377
+ nonce?: number;
1378
+ value?: bigint;
1379
+ }): Promise<`0x${string}`>;
1380
+ /**
1381
+ * uninstallModule
1382
+ * payable
1383
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1384
+ */
1385
+ uninstallModule(moduleType: bigint, module: `0x${string}`, deInitData: `0x${string}`, options?: {
1386
+ accessList?: import('viem').AccessList;
1387
+ authorizationList?: import('viem').AuthorizationList;
1388
+ chain?: import('viem').Chain | null;
1389
+ dataSuffix?: `0x${string}`;
1390
+ gas?: bigint;
1391
+ gasPrice?: bigint;
1392
+ maxFeePerGas?: bigint;
1393
+ maxPriorityFeePerGas?: bigint;
1394
+ nonce?: number;
1395
+ value?: bigint;
1396
+ }): Promise<`0x${string}`>;
1397
+ /**
1398
+ * uninstallValidation
1399
+ * payable
1400
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1401
+ */
1402
+ uninstallValidation(vId: `0x${string}`, deinitData: `0x${string}`, hookDeinitData: `0x${string}`, options?: {
1403
+ accessList?: import('viem').AccessList;
1404
+ authorizationList?: import('viem').AuthorizationList;
1405
+ chain?: import('viem').Chain | null;
1406
+ dataSuffix?: `0x${string}`;
1407
+ gas?: bigint;
1408
+ gasPrice?: bigint;
1409
+ maxFeePerGas?: bigint;
1410
+ maxPriorityFeePerGas?: bigint;
1411
+ nonce?: number;
1412
+ value?: bigint;
1413
+ }): Promise<`0x${string}`>;
1414
+ /**
1415
+ * upgradeTo
1416
+ * payable
1417
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1418
+ */
1419
+ upgradeTo(_newImplementation: `0x${string}`, options?: {
1420
+ accessList?: import('viem').AccessList;
1421
+ authorizationList?: import('viem').AuthorizationList;
1422
+ chain?: import('viem').Chain | null;
1423
+ dataSuffix?: `0x${string}`;
1424
+ gas?: bigint;
1425
+ gasPrice?: bigint;
1426
+ maxFeePerGas?: bigint;
1427
+ maxPriorityFeePerGas?: bigint;
1428
+ nonce?: number;
1429
+ value?: bigint;
1430
+ }): Promise<`0x${string}`>;
1431
+ /**
1432
+ * validateUserOp
1433
+ * payable
1434
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1435
+ */
1436
+ validateUserOp(userOp: PackedUserOperation, userOpHash: `0x${string}`, missingAccountFunds: bigint, options?: {
1437
+ accessList?: import('viem').AccessList;
1438
+ authorizationList?: import('viem').AuthorizationList;
1439
+ chain?: import('viem').Chain | null;
1440
+ dataSuffix?: `0x${string}`;
1441
+ gas?: bigint;
1442
+ gasPrice?: bigint;
1443
+ maxFeePerGas?: bigint;
1444
+ maxPriorityFeePerGas?: bigint;
1445
+ nonce?: number;
1446
+ value?: bigint;
1447
+ }): Promise<`0x${string}`>;
1448
+ /**
1449
+ * Simulate contract write operations (dry-run without sending transaction)
1450
+ *
1451
+ * @example
1452
+ * const result = await contract.simulate.transfer('0x...', 1000n);
1453
+ * console.log('Gas estimate:', result.request.gas);
1454
+ * console.log('Would succeed:', result.result);
1455
+ */
1456
+ get simulate(): {
1457
+ /**
1458
+ * Simulate changeRootValidator
1459
+ * Returns gas estimate and result without sending transaction
1460
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1461
+ */
1462
+ changeRootValidator(_rootValidator: `0x${string}`, hook: `0x${string}`, validatorData: `0x${string}`, hookData: `0x${string}`, options?: {
1463
+ accessList?: import("viem").AccessList;
1464
+ authorizationList?: import("viem").AuthorizationList;
1465
+ chain?: import("viem").Chain | null;
1466
+ dataSuffix?: `0x${string}`;
1467
+ gas?: bigint;
1468
+ gasPrice?: bigint;
1469
+ maxFeePerGas?: bigint;
1470
+ maxPriorityFeePerGas?: bigint;
1471
+ nonce?: number;
1472
+ value?: bigint;
1473
+ }): Promise<void>;
1474
+ /**
1475
+ * Simulate execute
1476
+ * Returns gas estimate and result without sending transaction
1477
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1478
+ */
1479
+ execute(execMode: `0x${string}`, executionCalldata: `0x${string}`, options?: {
1480
+ accessList?: import("viem").AccessList;
1481
+ authorizationList?: import("viem").AuthorizationList;
1482
+ chain?: import("viem").Chain | null;
1483
+ dataSuffix?: `0x${string}`;
1484
+ gas?: bigint;
1485
+ gasPrice?: bigint;
1486
+ maxFeePerGas?: bigint;
1487
+ maxPriorityFeePerGas?: bigint;
1488
+ nonce?: number;
1489
+ value?: bigint;
1490
+ }): Promise<void>;
1491
+ /**
1492
+ * Simulate executeFromExecutor
1493
+ * Returns gas estimate and result without sending transaction
1494
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1495
+ */
1496
+ executeFromExecutor(execMode: `0x${string}`, executionCalldata: `0x${string}`, options?: {
1497
+ accessList?: import("viem").AccessList;
1498
+ authorizationList?: import("viem").AuthorizationList;
1499
+ chain?: import("viem").Chain | null;
1500
+ dataSuffix?: `0x${string}`;
1501
+ gas?: bigint;
1502
+ gasPrice?: bigint;
1503
+ maxFeePerGas?: bigint;
1504
+ maxPriorityFeePerGas?: bigint;
1505
+ nonce?: number;
1506
+ value?: bigint;
1507
+ }): Promise<`0x${string}`[]>;
1508
+ /**
1509
+ * Simulate executeUserOp
1510
+ * Returns gas estimate and result without sending transaction
1511
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1512
+ */
1513
+ executeUserOp(userOp: PackedUserOperation, userOpHash: `0x${string}`, options?: {
1514
+ accessList?: import("viem").AccessList;
1515
+ authorizationList?: import("viem").AuthorizationList;
1516
+ chain?: import("viem").Chain | null;
1517
+ dataSuffix?: `0x${string}`;
1518
+ gas?: bigint;
1519
+ gasPrice?: bigint;
1520
+ maxFeePerGas?: bigint;
1521
+ maxPriorityFeePerGas?: bigint;
1522
+ nonce?: number;
1523
+ value?: bigint;
1524
+ }): Promise<void>;
1525
+ /**
1526
+ * Simulate grantAccess
1527
+ * Returns gas estimate and result without sending transaction
1528
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1529
+ */
1530
+ grantAccess(vId: `0x${string}`, selector: `0x${string}`, allow: boolean, options?: {
1531
+ accessList?: import("viem").AccessList;
1532
+ authorizationList?: import("viem").AuthorizationList;
1533
+ chain?: import("viem").Chain | null;
1534
+ dataSuffix?: `0x${string}`;
1535
+ gas?: bigint;
1536
+ gasPrice?: bigint;
1537
+ maxFeePerGas?: bigint;
1538
+ maxPriorityFeePerGas?: bigint;
1539
+ nonce?: number;
1540
+ value?: bigint;
1541
+ }): Promise<void>;
1542
+ /**
1543
+ * Simulate initialize
1544
+ * Returns gas estimate and result without sending transaction
1545
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1546
+ */
1547
+ initialize(_rootValidator: `0x${string}`, hook: `0x${string}`, validatorData: `0x${string}`, hookData: `0x${string}`, initConfig: `0x${string}`[], options?: {
1548
+ accessList?: import("viem").AccessList;
1549
+ authorizationList?: import("viem").AuthorizationList;
1550
+ chain?: import("viem").Chain | null;
1551
+ dataSuffix?: `0x${string}`;
1552
+ gas?: bigint;
1553
+ gasPrice?: bigint;
1554
+ maxFeePerGas?: bigint;
1555
+ maxPriorityFeePerGas?: bigint;
1556
+ nonce?: number;
1557
+ value?: bigint;
1558
+ }): Promise<void>;
1559
+ /**
1560
+ * Simulate installModule
1561
+ * Returns gas estimate and result without sending transaction
1562
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1563
+ */
1564
+ installModule(moduleType: bigint, module: `0x${string}`, initData: `0x${string}`, options?: {
1565
+ accessList?: import("viem").AccessList;
1566
+ authorizationList?: import("viem").AuthorizationList;
1567
+ chain?: import("viem").Chain | null;
1568
+ dataSuffix?: `0x${string}`;
1569
+ gas?: bigint;
1570
+ gasPrice?: bigint;
1571
+ maxFeePerGas?: bigint;
1572
+ maxPriorityFeePerGas?: bigint;
1573
+ nonce?: number;
1574
+ value?: bigint;
1575
+ }): Promise<void>;
1576
+ /**
1577
+ * Simulate installValidations
1578
+ * Returns gas estimate and result without sending transaction
1579
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1580
+ */
1581
+ installValidations(vIds: `0x${string}`[], configs: ValidationManager_ValidationConfig[], validationData: `0x${string}`[], hookData: `0x${string}`[], options?: {
1582
+ accessList?: import("viem").AccessList;
1583
+ authorizationList?: import("viem").AuthorizationList;
1584
+ chain?: import("viem").Chain | null;
1585
+ dataSuffix?: `0x${string}`;
1586
+ gas?: bigint;
1587
+ gasPrice?: bigint;
1588
+ maxFeePerGas?: bigint;
1589
+ maxPriorityFeePerGas?: bigint;
1590
+ nonce?: number;
1591
+ value?: bigint;
1592
+ }): Promise<void>;
1593
+ /**
1594
+ * Simulate invalidateNonce
1595
+ * Returns gas estimate and result without sending transaction
1596
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1597
+ */
1598
+ invalidateNonce(nonce: bigint, options?: {
1599
+ accessList?: import("viem").AccessList;
1600
+ authorizationList?: import("viem").AuthorizationList;
1601
+ chain?: import("viem").Chain | null;
1602
+ dataSuffix?: `0x${string}`;
1603
+ gas?: bigint;
1604
+ gasPrice?: bigint;
1605
+ maxFeePerGas?: bigint;
1606
+ maxPriorityFeePerGas?: bigint;
1607
+ nonce?: number;
1608
+ value?: bigint;
1609
+ }): Promise<void>;
1610
+ /**
1611
+ * Simulate uninstallModule
1612
+ * Returns gas estimate and result without sending transaction
1613
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1614
+ */
1615
+ uninstallModule(moduleType: bigint, module: `0x${string}`, deInitData: `0x${string}`, options?: {
1616
+ accessList?: import("viem").AccessList;
1617
+ authorizationList?: import("viem").AuthorizationList;
1618
+ chain?: import("viem").Chain | null;
1619
+ dataSuffix?: `0x${string}`;
1620
+ gas?: bigint;
1621
+ gasPrice?: bigint;
1622
+ maxFeePerGas?: bigint;
1623
+ maxPriorityFeePerGas?: bigint;
1624
+ nonce?: number;
1625
+ value?: bigint;
1626
+ }): Promise<void>;
1627
+ /**
1628
+ * Simulate uninstallValidation
1629
+ * Returns gas estimate and result without sending transaction
1630
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1631
+ */
1632
+ uninstallValidation(vId: `0x${string}`, deinitData: `0x${string}`, hookDeinitData: `0x${string}`, options?: {
1633
+ accessList?: import("viem").AccessList;
1634
+ authorizationList?: import("viem").AuthorizationList;
1635
+ chain?: import("viem").Chain | null;
1636
+ dataSuffix?: `0x${string}`;
1637
+ gas?: bigint;
1638
+ gasPrice?: bigint;
1639
+ maxFeePerGas?: bigint;
1640
+ maxPriorityFeePerGas?: bigint;
1641
+ nonce?: number;
1642
+ value?: bigint;
1643
+ }): Promise<void>;
1644
+ /**
1645
+ * Simulate upgradeTo
1646
+ * Returns gas estimate and result without sending transaction
1647
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1648
+ */
1649
+ upgradeTo(_newImplementation: `0x${string}`, options?: {
1650
+ accessList?: import("viem").AccessList;
1651
+ authorizationList?: import("viem").AuthorizationList;
1652
+ chain?: import("viem").Chain | null;
1653
+ dataSuffix?: `0x${string}`;
1654
+ gas?: bigint;
1655
+ gasPrice?: bigint;
1656
+ maxFeePerGas?: bigint;
1657
+ maxPriorityFeePerGas?: bigint;
1658
+ nonce?: number;
1659
+ value?: bigint;
1660
+ }): Promise<void>;
1661
+ /**
1662
+ * Simulate validateUserOp
1663
+ * Returns gas estimate and result without sending transaction
1664
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1665
+ */
1666
+ validateUserOp(userOp: PackedUserOperation, userOpHash: `0x${string}`, missingAccountFunds: bigint, options?: {
1667
+ accessList?: import("viem").AccessList;
1668
+ authorizationList?: import("viem").AuthorizationList;
1669
+ chain?: import("viem").Chain | null;
1670
+ dataSuffix?: `0x${string}`;
1671
+ gas?: bigint;
1672
+ gasPrice?: bigint;
1673
+ maxFeePerGas?: bigint;
1674
+ maxPriorityFeePerGas?: bigint;
1675
+ nonce?: number;
1676
+ value?: bigint;
1677
+ }): Promise<bigint>;
1678
+ };
1679
+ /**
1680
+ * Watch contract events
1681
+ *
1682
+ * @example
1683
+ * // Watch all Transfer events
1684
+ * const unwatch = contract.watch.Transfer((event) => {
1685
+ * console.log('Transfer:', event);
1686
+ * });
1687
+ *
1688
+ * // Stop watching
1689
+ * unwatch();
1690
+ */
1691
+ get watch(): {
1692
+ /**
1693
+ * Watch ModuleInstalled events
1694
+ * @param callback Function to call when event is emitted
1695
+ * @param filter Optional filter for indexed parameters
1696
+ * @returns Unwatch function to stop listening
1697
+ */
1698
+ ModuleInstalled: (callback: (event: {
1699
+ moduleTypeId: bigint;
1700
+ module: `0x${string}`;
1701
+ }) => void) => () => void;
1702
+ /**
1703
+ * Watch ModuleUninstallResult events
1704
+ * @param callback Function to call when event is emitted
1705
+ * @param filter Optional filter for indexed parameters
1706
+ * @returns Unwatch function to stop listening
1707
+ */
1708
+ ModuleUninstallResult: (callback: (event: {
1709
+ module: `0x${string}`;
1710
+ result: boolean;
1711
+ }) => void) => () => void;
1712
+ /**
1713
+ * Watch ModuleUninstalled events
1714
+ * @param callback Function to call when event is emitted
1715
+ * @param filter Optional filter for indexed parameters
1716
+ * @returns Unwatch function to stop listening
1717
+ */
1718
+ ModuleUninstalled: (callback: (event: {
1719
+ moduleTypeId: bigint;
1720
+ module: `0x${string}`;
1721
+ }) => void) => () => void;
1722
+ /**
1723
+ * Watch NonceInvalidated events
1724
+ * @param callback Function to call when event is emitted
1725
+ * @param filter Optional filter for indexed parameters
1726
+ * @returns Unwatch function to stop listening
1727
+ */
1728
+ NonceInvalidated: (callback: (event: {
1729
+ nonce: bigint;
1730
+ }) => void) => () => void;
1731
+ /**
1732
+ * Watch PermissionInstalled events
1733
+ * @param callback Function to call when event is emitted
1734
+ * @param filter Optional filter for indexed parameters
1735
+ * @returns Unwatch function to stop listening
1736
+ */
1737
+ PermissionInstalled: (callback: (event: {
1738
+ permission: `0x${string}`;
1739
+ nonce: bigint;
1740
+ }) => void) => () => void;
1741
+ /**
1742
+ * Watch PermissionUninstalled events
1743
+ * @param callback Function to call when event is emitted
1744
+ * @param filter Optional filter for indexed parameters
1745
+ * @returns Unwatch function to stop listening
1746
+ */
1747
+ PermissionUninstalled: (callback: (event: {
1748
+ permission: `0x${string}`;
1749
+ }) => void) => () => void;
1750
+ /**
1751
+ * Watch Received events
1752
+ * @param callback Function to call when event is emitted
1753
+ * @param filter Optional filter for indexed parameters
1754
+ * @returns Unwatch function to stop listening
1755
+ */
1756
+ Received: (callback: (event: {
1757
+ sender: `0x${string}`;
1758
+ amount: bigint;
1759
+ }) => void) => () => void;
1760
+ /**
1761
+ * Watch RootValidatorUpdated events
1762
+ * @param callback Function to call when event is emitted
1763
+ * @param filter Optional filter for indexed parameters
1764
+ * @returns Unwatch function to stop listening
1765
+ */
1766
+ RootValidatorUpdated: (callback: (event: {
1767
+ rootValidator: `0x${string}`;
1768
+ }) => void) => () => void;
1769
+ /**
1770
+ * Watch SelectorSet events
1771
+ * @param callback Function to call when event is emitted
1772
+ * @param filter Optional filter for indexed parameters
1773
+ * @returns Unwatch function to stop listening
1774
+ */
1775
+ SelectorSet: (callback: (event: {
1776
+ selector: `0x${string}`;
1777
+ vId: `0x${string}`;
1778
+ allowed: boolean;
1779
+ }) => void) => () => void;
1780
+ /**
1781
+ * Watch TryExecuteUnsuccessful events
1782
+ * @param callback Function to call when event is emitted
1783
+ * @param filter Optional filter for indexed parameters
1784
+ * @returns Unwatch function to stop listening
1785
+ */
1786
+ TryExecuteUnsuccessful: (callback: (event: {
1787
+ batchExecutionindex: bigint;
1788
+ result: `0x${string}`;
1789
+ }) => void) => () => void;
1790
+ /**
1791
+ * Watch Upgraded events
1792
+ * @param callback Function to call when event is emitted
1793
+ * @param filter Optional filter for indexed parameters
1794
+ * @returns Unwatch function to stop listening
1795
+ */
1796
+ Upgraded: (callback: (event: {
1797
+ implementation: `0x${string}`;
1798
+ }) => void, filter?: {
1799
+ implementation?: `0x${string}` | `0x${string}`[] | null;
1800
+ }) => () => void;
1801
+ /**
1802
+ * Watch ValidatorInstalled events
1803
+ * @param callback Function to call when event is emitted
1804
+ * @param filter Optional filter for indexed parameters
1805
+ * @returns Unwatch function to stop listening
1806
+ */
1807
+ ValidatorInstalled: (callback: (event: {
1808
+ validator: `0x${string}`;
1809
+ nonce: bigint;
1810
+ }) => void) => () => void;
1811
+ /**
1812
+ * Watch ValidatorUninstalled events
1813
+ * @param callback Function to call when event is emitted
1814
+ * @param filter Optional filter for indexed parameters
1815
+ * @returns Unwatch function to stop listening
1816
+ */
1817
+ ValidatorUninstalled: (callback: (event: {
1818
+ validator: `0x${string}`;
1819
+ }) => void) => () => void;
1820
+ };
1821
+ }