@gitmyabi/kernel 1.0.3 → 1.0.5

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.
@@ -1,6 +1,54 @@
1
1
  import type { Abi, Address, PublicClient, WalletClient, GetContractReturnType } from 'viem';
2
2
  import { getContract } from 'viem';
3
3
 
4
+
5
+ /**
6
+ * PackedUserOperation struct type
7
+ */
8
+ export type PackedUserOperation = {
9
+ sender: `0x${string}`;
10
+ nonce: bigint;
11
+ initCode: `0x${string}`;
12
+ callData: `0x${string}`;
13
+ accountGasLimits: `0x${string}`;
14
+ preVerificationGas: bigint;
15
+ gasFees: `0x${string}`;
16
+ paymasterAndData: `0x${string}`;
17
+ signature: `0x${string}`;
18
+ };
19
+
20
+ /**
21
+ * ExecutorManager.ExecutorConfig struct type
22
+ */
23
+ export type ExecutorManager_ExecutorConfig = {
24
+ hook: `0x${string}`;
25
+ };
26
+
27
+ /**
28
+ * ValidationManager.ValidationConfig struct type
29
+ */
30
+ export type ValidationManager_ValidationConfig = {
31
+ nonce: bigint;
32
+ hook: `0x${string}`;
33
+ };
34
+
35
+ /**
36
+ * ValidationManager.PermissionConfig struct type
37
+ */
38
+ export type ValidationManager_PermissionConfig = {
39
+ permissionFlag: `0x${string}`;
40
+ signer: `0x${string}`;
41
+ policyData: `0x${string}`[];
42
+ };
43
+
44
+ /**
45
+ * SelectorManager.SelectorConfig struct type
46
+ */
47
+ export type SelectorManager_SelectorConfig = {
48
+ hook: `0x${string}`;
49
+ target: `0x${string}`;
50
+ callType: `0x${string}`;
51
+ };
4
52
  /**
5
53
  * Kernel_json ABI
6
54
  *
@@ -8,621 +56,1070 @@ import { getContract } from 'viem';
8
56
  */
9
57
  export const Kernel_jsonAbi = [
10
58
  {
11
- "constant": true,
12
- "inputs": [],
13
- "name": "hasInitialized",
14
- "outputs": [
59
+ "inputs": [
15
60
  {
16
- "name": "",
17
- "type": "bool"
61
+ "internalType": "contract IEntryPoint",
62
+ "name": "_entrypoint",
63
+ "type": "address"
18
64
  }
19
65
  ],
20
- "payable": false,
21
- "stateMutability": "view",
22
- "type": "function"
66
+ "stateMutability": "nonpayable",
67
+ "type": "constructor"
23
68
  },
24
69
  {
25
- "constant": true,
26
70
  "inputs": [],
27
- "name": "KERNEL_APP_ID",
28
- "outputs": [
71
+ "name": "EnableNotApproved",
72
+ "type": "error"
73
+ },
74
+ {
75
+ "inputs": [],
76
+ "name": "ExecutionReverted",
77
+ "type": "error"
78
+ },
79
+ {
80
+ "inputs": [],
81
+ "name": "InvalidCallType",
82
+ "type": "error"
83
+ },
84
+ {
85
+ "inputs": [],
86
+ "name": "InvalidCaller",
87
+ "type": "error"
88
+ },
89
+ {
90
+ "inputs": [],
91
+ "name": "InvalidExecutor",
92
+ "type": "error"
93
+ },
94
+ {
95
+ "inputs": [],
96
+ "name": "InvalidFallback",
97
+ "type": "error"
98
+ },
99
+ {
100
+ "inputs": [],
101
+ "name": "InvalidMode",
102
+ "type": "error"
103
+ },
104
+ {
105
+ "inputs": [],
106
+ "name": "InvalidModuleType",
107
+ "type": "error"
108
+ },
109
+ {
110
+ "inputs": [],
111
+ "name": "InvalidNonce",
112
+ "type": "error"
113
+ },
114
+ {
115
+ "inputs": [],
116
+ "name": "InvalidSelector",
117
+ "type": "error"
118
+ },
119
+ {
120
+ "inputs": [],
121
+ "name": "InvalidSignature",
122
+ "type": "error"
123
+ },
124
+ {
125
+ "inputs": [],
126
+ "name": "InvalidValidationType",
127
+ "type": "error"
128
+ },
129
+ {
130
+ "inputs": [],
131
+ "name": "InvalidValidator",
132
+ "type": "error"
133
+ },
134
+ {
135
+ "inputs": [],
136
+ "name": "NonceInvalidationError",
137
+ "type": "error"
138
+ },
139
+ {
140
+ "inputs": [],
141
+ "name": "NotSupportedCallType",
142
+ "type": "error"
143
+ },
144
+ {
145
+ "inputs": [],
146
+ "name": "OnlyExecuteUserOp",
147
+ "type": "error"
148
+ },
149
+ {
150
+ "inputs": [],
151
+ "name": "PermissionDataLengthMismatch",
152
+ "type": "error"
153
+ },
154
+ {
155
+ "inputs": [],
156
+ "name": "PermissionNotAlllowedForSignature",
157
+ "type": "error"
158
+ },
159
+ {
160
+ "inputs": [],
161
+ "name": "PermissionNotAlllowedForUserOp",
162
+ "type": "error"
163
+ },
164
+ {
165
+ "inputs": [],
166
+ "name": "PolicyDataTooLarge",
167
+ "type": "error"
168
+ },
169
+ {
170
+ "inputs": [
29
171
  {
30
- "name": "",
31
- "type": "bytes32"
172
+ "internalType": "uint256",
173
+ "name": "i",
174
+ "type": "uint256"
32
175
  }
33
176
  ],
34
- "payable": false,
35
- "stateMutability": "pure",
36
- "type": "function"
177
+ "name": "PolicyFailed",
178
+ "type": "error"
37
179
  },
38
180
  {
39
- "constant": true,
40
181
  "inputs": [],
41
- "name": "APP_ADDR_NAMESPACE",
42
- "outputs": [
182
+ "name": "PolicySignatureOrderError",
183
+ "type": "error"
184
+ },
185
+ {
186
+ "inputs": [],
187
+ "name": "RootValidatorCannotBeRemoved",
188
+ "type": "error"
189
+ },
190
+ {
191
+ "inputs": [],
192
+ "name": "SignerPrefixNotPresent",
193
+ "type": "error"
194
+ },
195
+ {
196
+ "anonymous": false,
197
+ "inputs": [
43
198
  {
44
- "name": "",
45
- "type": "bytes32"
199
+ "indexed": false,
200
+ "internalType": "uint256",
201
+ "name": "moduleTypeId",
202
+ "type": "uint256"
203
+ },
204
+ {
205
+ "indexed": false,
206
+ "internalType": "address",
207
+ "name": "module",
208
+ "type": "address"
46
209
  }
47
210
  ],
48
- "payable": false,
49
- "stateMutability": "pure",
50
- "type": "function"
211
+ "name": "ModuleInstalled",
212
+ "type": "event"
51
213
  },
52
214
  {
53
- "constant": true,
54
- "inputs": [],
55
- "name": "getRecoveryVault",
56
- "outputs": [
215
+ "anonymous": false,
216
+ "inputs": [
57
217
  {
58
- "name": "",
218
+ "indexed": false,
219
+ "internalType": "address",
220
+ "name": "module",
59
221
  "type": "address"
222
+ },
223
+ {
224
+ "indexed": false,
225
+ "internalType": "bool",
226
+ "name": "result",
227
+ "type": "bool"
60
228
  }
61
229
  ],
62
- "payable": false,
63
- "stateMutability": "view",
64
- "type": "function"
230
+ "name": "ModuleUninstallResult",
231
+ "type": "event"
65
232
  },
66
233
  {
67
- "constant": false,
234
+ "anonymous": false,
68
235
  "inputs": [
69
236
  {
70
- "name": "_appId",
71
- "type": "bytes32"
237
+ "indexed": false,
238
+ "internalType": "uint256",
239
+ "name": "moduleTypeId",
240
+ "type": "uint256"
72
241
  },
73
242
  {
74
- "name": "_appBase",
243
+ "indexed": false,
244
+ "internalType": "address",
245
+ "name": "module",
75
246
  "type": "address"
76
- },
247
+ }
248
+ ],
249
+ "name": "ModuleUninstalled",
250
+ "type": "event"
251
+ },
252
+ {
253
+ "anonymous": false,
254
+ "inputs": [
77
255
  {
78
- "name": "_initializePayload",
79
- "type": "bytes"
256
+ "indexed": false,
257
+ "internalType": "uint32",
258
+ "name": "nonce",
259
+ "type": "uint32"
260
+ }
261
+ ],
262
+ "name": "NonceInvalidated",
263
+ "type": "event"
264
+ },
265
+ {
266
+ "anonymous": false,
267
+ "inputs": [
268
+ {
269
+ "indexed": false,
270
+ "internalType": "PermissionId",
271
+ "name": "permission",
272
+ "type": "bytes4"
80
273
  },
81
274
  {
82
- "name": "_setDefault",
83
- "type": "bool"
275
+ "indexed": false,
276
+ "internalType": "uint32",
277
+ "name": "nonce",
278
+ "type": "uint32"
84
279
  }
85
280
  ],
86
- "name": "newAppInstance",
87
- "outputs": [
281
+ "name": "PermissionInstalled",
282
+ "type": "event"
283
+ },
284
+ {
285
+ "anonymous": false,
286
+ "inputs": [
287
+ {
288
+ "indexed": false,
289
+ "internalType": "PermissionId",
290
+ "name": "permission",
291
+ "type": "bytes4"
292
+ }
293
+ ],
294
+ "name": "PermissionUninstalled",
295
+ "type": "event"
296
+ },
297
+ {
298
+ "anonymous": false,
299
+ "inputs": [
88
300
  {
89
- "name": "appProxy",
301
+ "indexed": false,
302
+ "internalType": "address",
303
+ "name": "sender",
90
304
  "type": "address"
305
+ },
306
+ {
307
+ "indexed": false,
308
+ "internalType": "uint256",
309
+ "name": "amount",
310
+ "type": "uint256"
91
311
  }
92
312
  ],
93
- "payable": false,
94
- "stateMutability": "nonpayable",
95
- "type": "function"
313
+ "name": "Received",
314
+ "type": "event"
96
315
  },
97
316
  {
98
- "constant": true,
317
+ "anonymous": false,
99
318
  "inputs": [
100
319
  {
101
- "name": "",
102
- "type": "bytes32"
320
+ "indexed": false,
321
+ "internalType": "ValidationId",
322
+ "name": "rootValidator",
323
+ "type": "bytes21"
324
+ }
325
+ ],
326
+ "name": "RootValidatorUpdated",
327
+ "type": "event"
328
+ },
329
+ {
330
+ "anonymous": false,
331
+ "inputs": [
332
+ {
333
+ "indexed": false,
334
+ "internalType": "bytes4",
335
+ "name": "selector",
336
+ "type": "bytes4"
103
337
  },
104
338
  {
105
- "name": "",
106
- "type": "bytes32"
339
+ "indexed": false,
340
+ "internalType": "ValidationId",
341
+ "name": "vId",
342
+ "type": "bytes21"
343
+ },
344
+ {
345
+ "indexed": false,
346
+ "internalType": "bool",
347
+ "name": "allowed",
348
+ "type": "bool"
107
349
  }
108
350
  ],
109
- "name": "apps",
110
- "outputs": [
351
+ "name": "SelectorSet",
352
+ "type": "event"
353
+ },
354
+ {
355
+ "anonymous": false,
356
+ "inputs": [
111
357
  {
112
- "name": "",
358
+ "indexed": false,
359
+ "internalType": "uint256",
360
+ "name": "batchExecutionindex",
361
+ "type": "uint256"
362
+ },
363
+ {
364
+ "indexed": false,
365
+ "internalType": "bytes",
366
+ "name": "result",
367
+ "type": "bytes"
368
+ }
369
+ ],
370
+ "name": "TryExecuteUnsuccessful",
371
+ "type": "event"
372
+ },
373
+ {
374
+ "anonymous": false,
375
+ "inputs": [
376
+ {
377
+ "indexed": true,
378
+ "internalType": "address",
379
+ "name": "implementation",
113
380
  "type": "address"
114
381
  }
115
382
  ],
116
- "payable": false,
117
- "stateMutability": "view",
118
- "type": "function"
383
+ "name": "Upgraded",
384
+ "type": "event"
119
385
  },
120
386
  {
121
- "constant": false,
387
+ "anonymous": false,
122
388
  "inputs": [
123
389
  {
124
- "name": "_baseAcl",
390
+ "indexed": false,
391
+ "internalType": "contract IValidator",
392
+ "name": "validator",
125
393
  "type": "address"
126
394
  },
127
395
  {
128
- "name": "_permissionsCreator",
396
+ "indexed": false,
397
+ "internalType": "uint32",
398
+ "name": "nonce",
399
+ "type": "uint32"
400
+ }
401
+ ],
402
+ "name": "ValidatorInstalled",
403
+ "type": "event"
404
+ },
405
+ {
406
+ "anonymous": false,
407
+ "inputs": [
408
+ {
409
+ "indexed": false,
410
+ "internalType": "contract IValidator",
411
+ "name": "validator",
129
412
  "type": "address"
130
413
  }
131
414
  ],
132
- "name": "initialize",
133
- "outputs": [],
134
- "payable": false,
135
- "stateMutability": "nonpayable",
136
- "type": "function"
415
+ "name": "ValidatorUninstalled",
416
+ "type": "event"
417
+ },
418
+ {
419
+ "stateMutability": "payable",
420
+ "type": "fallback"
137
421
  },
138
422
  {
139
- "constant": true,
140
423
  "inputs": [],
141
- "name": "CORE_NAMESPACE",
424
+ "name": "accountId",
142
425
  "outputs": [
143
426
  {
144
- "name": "",
145
- "type": "bytes32"
427
+ "internalType": "string",
428
+ "name": "accountImplementationId",
429
+ "type": "string"
146
430
  }
147
431
  ],
148
- "payable": false,
149
432
  "stateMutability": "pure",
150
433
  "type": "function"
151
434
  },
152
435
  {
153
- "constant": true,
154
- "inputs": [
155
- {
156
- "name": "token",
157
- "type": "address"
158
- }
159
- ],
160
- "name": "allowRecoverability",
436
+ "inputs": [],
437
+ "name": "currentNonce",
161
438
  "outputs": [
162
439
  {
440
+ "internalType": "uint32",
163
441
  "name": "",
164
- "type": "bool"
442
+ "type": "uint32"
165
443
  }
166
444
  ],
167
- "payable": false,
168
445
  "stateMutability": "view",
169
446
  "type": "function"
170
447
  },
171
448
  {
172
- "constant": false,
173
- "inputs": [
449
+ "inputs": [],
450
+ "name": "eip712Domain",
451
+ "outputs": [
174
452
  {
175
- "name": "_appId",
176
- "type": "bytes32"
453
+ "internalType": "bytes1",
454
+ "name": "fields",
455
+ "type": "bytes1"
177
456
  },
178
457
  {
179
- "name": "_appBase",
458
+ "internalType": "string",
459
+ "name": "name",
460
+ "type": "string"
461
+ },
462
+ {
463
+ "internalType": "string",
464
+ "name": "version",
465
+ "type": "string"
466
+ },
467
+ {
468
+ "internalType": "uint256",
469
+ "name": "chainId",
470
+ "type": "uint256"
471
+ },
472
+ {
473
+ "internalType": "address",
474
+ "name": "verifyingContract",
180
475
  "type": "address"
476
+ },
477
+ {
478
+ "internalType": "bytes32",
479
+ "name": "salt",
480
+ "type": "bytes32"
481
+ },
482
+ {
483
+ "internalType": "uint256[]",
484
+ "name": "extensions",
485
+ "type": "uint256[]"
181
486
  }
182
487
  ],
183
- "name": "newAppInstance",
488
+ "stateMutability": "view",
489
+ "type": "function"
490
+ },
491
+ {
492
+ "inputs": [],
493
+ "name": "entrypoint",
184
494
  "outputs": [
185
495
  {
186
- "name": "appProxy",
496
+ "internalType": "contract IEntryPoint",
497
+ "name": "",
187
498
  "type": "address"
188
499
  }
189
500
  ],
190
- "payable": false,
191
- "stateMutability": "nonpayable",
501
+ "stateMutability": "view",
192
502
  "type": "function"
193
503
  },
194
504
  {
195
- "constant": true,
196
- "inputs": [],
197
- "name": "recoveryVaultAppId",
198
- "outputs": [
505
+ "inputs": [
199
506
  {
200
- "name": "",
507
+ "internalType": "ExecMode",
508
+ "name": "execMode",
201
509
  "type": "bytes32"
510
+ },
511
+ {
512
+ "internalType": "bytes",
513
+ "name": "executionCalldata",
514
+ "type": "bytes"
202
515
  }
203
516
  ],
204
- "payable": false,
205
- "stateMutability": "view",
517
+ "name": "execute",
518
+ "outputs": [],
519
+ "stateMutability": "payable",
206
520
  "type": "function"
207
521
  },
208
522
  {
209
- "constant": true,
210
- "inputs": [],
211
- "name": "getInitializationBlock",
523
+ "inputs": [
524
+ {
525
+ "internalType": "ExecMode",
526
+ "name": "execMode",
527
+ "type": "bytes32"
528
+ },
529
+ {
530
+ "internalType": "bytes",
531
+ "name": "executionCalldata",
532
+ "type": "bytes"
533
+ }
534
+ ],
535
+ "name": "executeFromExecutor",
212
536
  "outputs": [
213
537
  {
214
- "name": "",
215
- "type": "uint256"
538
+ "internalType": "bytes[]",
539
+ "name": "returnData",
540
+ "type": "bytes[]"
216
541
  }
217
542
  ],
218
- "payable": false,
219
- "stateMutability": "view",
543
+ "stateMutability": "payable",
220
544
  "type": "function"
221
545
  },
222
546
  {
223
- "constant": false,
224
547
  "inputs": [
225
548
  {
226
- "name": "_recoveryVaultAppId",
549
+ "components": [
550
+ {
551
+ "internalType": "address",
552
+ "name": "sender",
553
+ "type": "address"
554
+ },
555
+ {
556
+ "internalType": "uint256",
557
+ "name": "nonce",
558
+ "type": "uint256"
559
+ },
560
+ {
561
+ "internalType": "bytes",
562
+ "name": "initCode",
563
+ "type": "bytes"
564
+ },
565
+ {
566
+ "internalType": "bytes",
567
+ "name": "callData",
568
+ "type": "bytes"
569
+ },
570
+ {
571
+ "internalType": "bytes32",
572
+ "name": "accountGasLimits",
573
+ "type": "bytes32"
574
+ },
575
+ {
576
+ "internalType": "uint256",
577
+ "name": "preVerificationGas",
578
+ "type": "uint256"
579
+ },
580
+ {
581
+ "internalType": "bytes32",
582
+ "name": "gasFees",
583
+ "type": "bytes32"
584
+ },
585
+ {
586
+ "internalType": "bytes",
587
+ "name": "paymasterAndData",
588
+ "type": "bytes"
589
+ },
590
+ {
591
+ "internalType": "bytes",
592
+ "name": "signature",
593
+ "type": "bytes"
594
+ }
595
+ ],
596
+ "internalType": "struct PackedUserOperation",
597
+ "name": "userOp",
598
+ "type": "tuple"
599
+ },
600
+ {
601
+ "internalType": "bytes32",
602
+ "name": "userOpHash",
227
603
  "type": "bytes32"
228
604
  }
229
605
  ],
230
- "name": "setRecoveryVaultAppId",
606
+ "name": "executeUserOp",
231
607
  "outputs": [],
232
- "payable": false,
233
- "stateMutability": "nonpayable",
608
+ "stateMutability": "payable",
234
609
  "type": "function"
235
610
  },
236
611
  {
237
- "constant": true,
238
- "inputs": [],
239
- "name": "APP_MANAGER_ROLE",
612
+ "inputs": [
613
+ {
614
+ "internalType": "contract IExecutor",
615
+ "name": "executor",
616
+ "type": "address"
617
+ }
618
+ ],
619
+ "name": "executorConfig",
240
620
  "outputs": [
241
621
  {
622
+ "components": [
623
+ {
624
+ "internalType": "contract IHook",
625
+ "name": "hook",
626
+ "type": "address"
627
+ }
628
+ ],
629
+ "internalType": "struct ExecutorManager.ExecutorConfig",
242
630
  "name": "",
243
- "type": "bytes32"
631
+ "type": "tuple"
244
632
  }
245
633
  ],
246
- "payable": false,
247
634
  "stateMutability": "view",
248
635
  "type": "function"
249
636
  },
250
637
  {
251
- "constant": false,
252
638
  "inputs": [
253
639
  {
254
- "name": "_appId",
255
- "type": "bytes32"
640
+ "internalType": "ValidationId",
641
+ "name": "_rootValidator",
642
+ "type": "bytes21"
256
643
  },
257
644
  {
258
- "name": "_appBase",
645
+ "internalType": "contract IHook",
646
+ "name": "hook",
259
647
  "type": "address"
260
- }
261
- ],
262
- "name": "newPinnedAppInstance",
263
- "outputs": [
648
+ },
264
649
  {
265
- "name": "appProxy",
266
- "type": "address"
650
+ "internalType": "bytes",
651
+ "name": "validatorData",
652
+ "type": "bytes"
653
+ },
654
+ {
655
+ "internalType": "bytes",
656
+ "name": "hookData",
657
+ "type": "bytes"
267
658
  }
268
659
  ],
269
- "payable": false,
660
+ "name": "initialize",
661
+ "outputs": [],
270
662
  "stateMutability": "nonpayable",
271
663
  "type": "function"
272
664
  },
273
665
  {
274
- "constant": false,
275
666
  "inputs": [
276
667
  {
277
- "name": "_token",
668
+ "internalType": "uint256",
669
+ "name": "moduleType",
670
+ "type": "uint256"
671
+ },
672
+ {
673
+ "internalType": "address",
674
+ "name": "module",
278
675
  "type": "address"
676
+ },
677
+ {
678
+ "internalType": "bytes",
679
+ "name": "initData",
680
+ "type": "bytes"
279
681
  }
280
682
  ],
281
- "name": "transferToVault",
683
+ "name": "installModule",
282
684
  "outputs": [],
283
- "payable": false,
284
- "stateMutability": "nonpayable",
685
+ "stateMutability": "payable",
285
686
  "type": "function"
286
687
  },
287
688
  {
288
- "constant": false,
289
689
  "inputs": [
290
690
  {
291
- "name": "_namespace",
292
- "type": "bytes32"
691
+ "internalType": "ValidationId[]",
692
+ "name": "vIds",
693
+ "type": "bytes21[]"
293
694
  },
294
695
  {
295
- "name": "_appId",
296
- "type": "bytes32"
696
+ "components": [
697
+ {
698
+ "internalType": "uint32",
699
+ "name": "nonce",
700
+ "type": "uint32"
701
+ },
702
+ {
703
+ "internalType": "contract IHook",
704
+ "name": "hook",
705
+ "type": "address"
706
+ }
707
+ ],
708
+ "internalType": "struct ValidationManager.ValidationConfig[]",
709
+ "name": "configs",
710
+ "type": "tuple[]"
297
711
  },
298
712
  {
299
- "name": "_app",
300
- "type": "address"
713
+ "internalType": "bytes[]",
714
+ "name": "validationData",
715
+ "type": "bytes[]"
716
+ },
717
+ {
718
+ "internalType": "bytes[]",
719
+ "name": "hookData",
720
+ "type": "bytes[]"
301
721
  }
302
722
  ],
303
- "name": "setApp",
723
+ "name": "installValidations",
304
724
  "outputs": [],
305
- "payable": false,
306
- "stateMutability": "nonpayable",
725
+ "stateMutability": "payable",
307
726
  "type": "function"
308
727
  },
309
728
  {
310
- "constant": true,
311
729
  "inputs": [
312
730
  {
313
- "name": "_namespace",
314
- "type": "bytes32"
731
+ "internalType": "uint32",
732
+ "name": "nonce",
733
+ "type": "uint32"
734
+ }
735
+ ],
736
+ "name": "invalidateNonce",
737
+ "outputs": [],
738
+ "stateMutability": "payable",
739
+ "type": "function"
740
+ },
741
+ {
742
+ "inputs": [
743
+ {
744
+ "internalType": "ValidationId",
745
+ "name": "vId",
746
+ "type": "bytes21"
315
747
  },
316
748
  {
317
- "name": "_appId",
318
- "type": "bytes32"
749
+ "internalType": "bytes4",
750
+ "name": "selector",
751
+ "type": "bytes4"
319
752
  }
320
753
  ],
321
- "name": "getApp",
754
+ "name": "isAllowedSelector",
322
755
  "outputs": [
323
756
  {
757
+ "internalType": "bool",
324
758
  "name": "",
325
- "type": "address"
759
+ "type": "bool"
326
760
  }
327
761
  ],
328
- "payable": false,
329
762
  "stateMutability": "view",
330
763
  "type": "function"
331
764
  },
332
765
  {
333
- "constant": false,
334
766
  "inputs": [
335
767
  {
336
- "name": "_appId",
337
- "type": "bytes32"
768
+ "internalType": "uint256",
769
+ "name": "moduleType",
770
+ "type": "uint256"
338
771
  },
339
772
  {
340
- "name": "_appBase",
773
+ "internalType": "address",
774
+ "name": "module",
341
775
  "type": "address"
342
776
  },
343
777
  {
344
- "name": "_initializePayload",
778
+ "internalType": "bytes",
779
+ "name": "additionalContext",
345
780
  "type": "bytes"
346
- },
347
- {
348
- "name": "_setDefault",
349
- "type": "bool"
350
781
  }
351
782
  ],
352
- "name": "newPinnedAppInstance",
783
+ "name": "isModuleInstalled",
353
784
  "outputs": [
354
785
  {
355
- "name": "appProxy",
356
- "type": "address"
786
+ "internalType": "bool",
787
+ "name": "",
788
+ "type": "bool"
357
789
  }
358
790
  ],
359
- "payable": false,
360
- "stateMutability": "nonpayable",
791
+ "stateMutability": "view",
361
792
  "type": "function"
362
793
  },
363
794
  {
364
- "constant": false,
365
795
  "inputs": [
366
796
  {
367
- "name": "_kernel",
368
- "type": "address"
369
- },
370
- {
371
- "name": "_appId",
797
+ "internalType": "bytes32",
798
+ "name": "hash",
372
799
  "type": "bytes32"
373
800
  },
374
801
  {
375
- "name": "_initializePayload",
802
+ "internalType": "bytes",
803
+ "name": "signature",
376
804
  "type": "bytes"
377
805
  }
378
806
  ],
379
- "name": "newAppProxyPinned",
807
+ "name": "isValidSignature",
380
808
  "outputs": [
381
809
  {
810
+ "internalType": "bytes4",
382
811
  "name": "",
383
- "type": "address"
812
+ "type": "bytes4"
384
813
  }
385
814
  ],
386
- "payable": false,
387
- "stateMutability": "nonpayable",
815
+ "stateMutability": "view",
388
816
  "type": "function"
389
817
  },
390
818
  {
391
- "constant": true,
392
- "inputs": [],
393
- "name": "APP_BASES_NAMESPACE",
394
- "outputs": [
819
+ "inputs": [
395
820
  {
396
- "name": "",
397
- "type": "bytes32"
821
+ "internalType": "PermissionId",
822
+ "name": "pId",
823
+ "type": "bytes4"
398
824
  }
399
825
  ],
400
- "payable": false,
401
- "stateMutability": "pure",
402
- "type": "function"
403
- },
404
- {
405
- "constant": true,
406
- "inputs": [],
407
- "name": "acl",
826
+ "name": "permissionConfig",
408
827
  "outputs": [
409
828
  {
829
+ "components": [
830
+ {
831
+ "internalType": "PassFlag",
832
+ "name": "permissionFlag",
833
+ "type": "bytes2"
834
+ },
835
+ {
836
+ "internalType": "contract ISigner",
837
+ "name": "signer",
838
+ "type": "address"
839
+ },
840
+ {
841
+ "internalType": "PolicyData[]",
842
+ "name": "policyData",
843
+ "type": "bytes22[]"
844
+ }
845
+ ],
846
+ "internalType": "struct ValidationManager.PermissionConfig",
410
847
  "name": "",
411
- "type": "address"
848
+ "type": "tuple"
412
849
  }
413
850
  ],
414
- "payable": false,
415
851
  "stateMutability": "view",
416
852
  "type": "function"
417
853
  },
418
854
  {
419
- "constant": true,
420
855
  "inputs": [],
421
- "name": "isPetrified",
856
+ "name": "rootValidator",
422
857
  "outputs": [
423
858
  {
859
+ "internalType": "ValidationId",
424
860
  "name": "",
425
- "type": "bool"
861
+ "type": "bytes21"
426
862
  }
427
863
  ],
428
- "payable": false,
429
864
  "stateMutability": "view",
430
865
  "type": "function"
431
866
  },
432
867
  {
433
- "constant": false,
434
868
  "inputs": [
435
869
  {
436
- "name": "_kernel",
437
- "type": "address"
438
- },
439
- {
440
- "name": "_appId",
441
- "type": "bytes32"
870
+ "internalType": "bytes4",
871
+ "name": "selector",
872
+ "type": "bytes4"
442
873
  }
443
874
  ],
444
- "name": "newAppProxy",
875
+ "name": "selectorConfig",
445
876
  "outputs": [
446
877
  {
878
+ "components": [
879
+ {
880
+ "internalType": "contract IHook",
881
+ "name": "hook",
882
+ "type": "address"
883
+ },
884
+ {
885
+ "internalType": "address",
886
+ "name": "target",
887
+ "type": "address"
888
+ },
889
+ {
890
+ "internalType": "CallType",
891
+ "name": "callType",
892
+ "type": "bytes1"
893
+ }
894
+ ],
895
+ "internalType": "struct SelectorManager.SelectorConfig",
447
896
  "name": "",
448
- "type": "address"
897
+ "type": "tuple"
449
898
  }
450
899
  ],
451
- "payable": false,
452
- "stateMutability": "nonpayable",
900
+ "stateMutability": "view",
453
901
  "type": "function"
454
902
  },
455
903
  {
456
- "constant": true,
457
- "inputs": [],
458
- "name": "DEFAULT_ACL_APP_ID",
904
+ "inputs": [
905
+ {
906
+ "internalType": "ExecMode",
907
+ "name": "mode",
908
+ "type": "bytes32"
909
+ }
910
+ ],
911
+ "name": "supportsExecutionMode",
459
912
  "outputs": [
460
913
  {
914
+ "internalType": "bool",
461
915
  "name": "",
462
- "type": "bytes32"
916
+ "type": "bool"
463
917
  }
464
918
  ],
465
- "payable": false,
466
919
  "stateMutability": "pure",
467
920
  "type": "function"
468
921
  },
469
922
  {
470
- "constant": false,
471
923
  "inputs": [
472
924
  {
473
- "name": "_kernel",
474
- "type": "address"
475
- },
476
- {
477
- "name": "_appId",
478
- "type": "bytes32"
479
- },
480
- {
481
- "name": "_initializePayload",
482
- "type": "bytes"
925
+ "internalType": "uint256",
926
+ "name": "moduleTypeId",
927
+ "type": "uint256"
483
928
  }
484
929
  ],
485
- "name": "newAppProxy",
930
+ "name": "supportsModule",
486
931
  "outputs": [
487
932
  {
933
+ "internalType": "bool",
488
934
  "name": "",
489
- "type": "address"
935
+ "type": "bool"
490
936
  }
491
937
  ],
492
- "payable": false,
493
- "stateMutability": "nonpayable",
938
+ "stateMutability": "pure",
494
939
  "type": "function"
495
940
  },
496
941
  {
497
- "constant": true,
498
942
  "inputs": [
499
943
  {
500
- "name": "_who",
501
- "type": "address"
944
+ "internalType": "uint256",
945
+ "name": "moduleType",
946
+ "type": "uint256"
502
947
  },
503
948
  {
504
- "name": "_where",
949
+ "internalType": "address",
950
+ "name": "module",
505
951
  "type": "address"
506
952
  },
507
953
  {
508
- "name": "_what",
509
- "type": "bytes32"
510
- },
511
- {
512
- "name": "_how",
954
+ "internalType": "bytes",
955
+ "name": "deInitData",
513
956
  "type": "bytes"
514
957
  }
515
958
  ],
516
- "name": "hasPermission",
517
- "outputs": [
518
- {
519
- "name": "",
520
- "type": "bool"
521
- }
522
- ],
523
- "payable": false,
524
- "stateMutability": "view",
959
+ "name": "uninstallModule",
960
+ "outputs": [],
961
+ "stateMutability": "payable",
525
962
  "type": "function"
526
963
  },
527
964
  {
528
- "constant": false,
529
965
  "inputs": [
530
966
  {
531
- "name": "_kernel",
532
- "type": "address"
967
+ "internalType": "ValidationId",
968
+ "name": "vId",
969
+ "type": "bytes21"
533
970
  },
534
971
  {
535
- "name": "_appId",
536
- "type": "bytes32"
537
- }
538
- ],
539
- "name": "newAppProxyPinned",
540
- "outputs": [
972
+ "internalType": "bytes",
973
+ "name": "deinitData",
974
+ "type": "bytes"
975
+ },
541
976
  {
542
- "name": "",
543
- "type": "address"
977
+ "internalType": "bytes",
978
+ "name": "hookDeinitData",
979
+ "type": "bytes"
544
980
  }
545
981
  ],
546
- "payable": false,
547
- "stateMutability": "nonpayable",
982
+ "name": "uninstallValidation",
983
+ "outputs": [],
984
+ "stateMutability": "payable",
548
985
  "type": "function"
549
986
  },
550
987
  {
551
988
  "inputs": [
552
989
  {
553
- "name": "_shouldPetrify",
554
- "type": "bool"
990
+ "internalType": "address",
991
+ "name": "_newImplementation",
992
+ "type": "address"
555
993
  }
556
994
  ],
557
- "payable": false,
558
- "stateMutability": "nonpayable",
559
- "type": "constructor"
995
+ "name": "upgradeTo",
996
+ "outputs": [],
997
+ "stateMutability": "payable",
998
+ "type": "function"
560
999
  },
561
1000
  {
562
- "anonymous": false,
563
- "inputs": [
564
- {
565
- "indexed": false,
566
- "name": "proxy",
567
- "type": "address"
568
- },
569
- {
570
- "indexed": false,
571
- "name": "isUpgradeable",
572
- "type": "bool"
573
- },
1001
+ "inputs": [],
1002
+ "name": "validNonceFrom",
1003
+ "outputs": [
574
1004
  {
575
- "indexed": false,
576
- "name": "appId",
577
- "type": "bytes32"
1005
+ "internalType": "uint32",
1006
+ "name": "",
1007
+ "type": "uint32"
578
1008
  }
579
1009
  ],
580
- "name": "NewAppProxy",
581
- "type": "event"
1010
+ "stateMutability": "view",
1011
+ "type": "function"
582
1012
  },
583
1013
  {
584
- "anonymous": false,
585
1014
  "inputs": [
586
1015
  {
587
- "indexed": true,
588
- "name": "vault",
589
- "type": "address"
1016
+ "components": [
1017
+ {
1018
+ "internalType": "address",
1019
+ "name": "sender",
1020
+ "type": "address"
1021
+ },
1022
+ {
1023
+ "internalType": "uint256",
1024
+ "name": "nonce",
1025
+ "type": "uint256"
1026
+ },
1027
+ {
1028
+ "internalType": "bytes",
1029
+ "name": "initCode",
1030
+ "type": "bytes"
1031
+ },
1032
+ {
1033
+ "internalType": "bytes",
1034
+ "name": "callData",
1035
+ "type": "bytes"
1036
+ },
1037
+ {
1038
+ "internalType": "bytes32",
1039
+ "name": "accountGasLimits",
1040
+ "type": "bytes32"
1041
+ },
1042
+ {
1043
+ "internalType": "uint256",
1044
+ "name": "preVerificationGas",
1045
+ "type": "uint256"
1046
+ },
1047
+ {
1048
+ "internalType": "bytes32",
1049
+ "name": "gasFees",
1050
+ "type": "bytes32"
1051
+ },
1052
+ {
1053
+ "internalType": "bytes",
1054
+ "name": "paymasterAndData",
1055
+ "type": "bytes"
1056
+ },
1057
+ {
1058
+ "internalType": "bytes",
1059
+ "name": "signature",
1060
+ "type": "bytes"
1061
+ }
1062
+ ],
1063
+ "internalType": "struct PackedUserOperation",
1064
+ "name": "userOp",
1065
+ "type": "tuple"
590
1066
  },
591
1067
  {
592
- "indexed": true,
593
- "name": "token",
594
- "type": "address"
1068
+ "internalType": "bytes32",
1069
+ "name": "userOpHash",
1070
+ "type": "bytes32"
595
1071
  },
596
1072
  {
597
- "indexed": false,
598
- "name": "amount",
1073
+ "internalType": "uint256",
1074
+ "name": "missingAccountFunds",
599
1075
  "type": "uint256"
600
1076
  }
601
1077
  ],
602
- "name": "RecoverToVault",
603
- "type": "event"
1078
+ "name": "validateUserOp",
1079
+ "outputs": [
1080
+ {
1081
+ "internalType": "ValidationData",
1082
+ "name": "validationData",
1083
+ "type": "uint256"
1084
+ }
1085
+ ],
1086
+ "stateMutability": "payable",
1087
+ "type": "function"
604
1088
  },
605
1089
  {
606
- "anonymous": false,
607
1090
  "inputs": [
608
1091
  {
609
- "indexed": true,
610
- "name": "namespace",
611
- "type": "bytes32"
612
- },
613
- {
614
- "indexed": true,
615
- "name": "appId",
616
- "type": "bytes32"
617
- },
1092
+ "internalType": "ValidationId",
1093
+ "name": "vId",
1094
+ "type": "bytes21"
1095
+ }
1096
+ ],
1097
+ "name": "validationConfig",
1098
+ "outputs": [
618
1099
  {
619
- "indexed": false,
620
- "name": "app",
621
- "type": "address"
1100
+ "components": [
1101
+ {
1102
+ "internalType": "uint32",
1103
+ "name": "nonce",
1104
+ "type": "uint32"
1105
+ },
1106
+ {
1107
+ "internalType": "contract IHook",
1108
+ "name": "hook",
1109
+ "type": "address"
1110
+ }
1111
+ ],
1112
+ "internalType": "struct ValidationManager.ValidationConfig",
1113
+ "name": "",
1114
+ "type": "tuple"
622
1115
  }
623
1116
  ],
624
- "name": "SetApp",
625
- "type": "event"
1117
+ "stateMutability": "view",
1118
+ "type": "function"
1119
+ },
1120
+ {
1121
+ "stateMutability": "payable",
1122
+ "type": "receive"
626
1123
  }
627
1124
  ] as const satisfies Abi;
628
1125
 
@@ -709,134 +1206,131 @@ export class Kernel_json {
709
1206
  }
710
1207
 
711
1208
  /**
712
- * hasInitialized
713
- * view
1209
+ * accountId
1210
+ * pure
714
1211
  */
715
- async hasInitialized(): Promise<boolean> {
716
- return this.contract.read.hasInitialized() as Promise<boolean>;
1212
+ async accountId(): Promise<string> {
1213
+ return this.contract.read.accountId() as Promise<string>;
717
1214
  }
718
1215
 
719
1216
  /**
720
- * KERNEL_APP_ID
721
- * pure
1217
+ * currentNonce
1218
+ * view
722
1219
  */
723
- async KERNEL_APP_ID(): Promise<`0x${string}`> {
724
- return this.contract.read.KERNEL_APP_ID() as Promise<`0x${string}`>;
1220
+ async currentNonce(): Promise<bigint> {
1221
+ return this.contract.read.currentNonce() as Promise<bigint>;
725
1222
  }
726
1223
 
727
1224
  /**
728
- * APP_ADDR_NAMESPACE
729
- * pure
1225
+ * eip712Domain
1226
+ * view
730
1227
  */
731
- async APP_ADDR_NAMESPACE(): Promise<`0x${string}`> {
732
- return this.contract.read.APP_ADDR_NAMESPACE() as Promise<`0x${string}`>;
1228
+ async eip712Domain(): Promise<[`0x${string}`, string, string, bigint, `0x${string}`, `0x${string}`, bigint[]]> {
1229
+ return this.contract.read.eip712Domain() as Promise<[`0x${string}`, string, string, bigint, `0x${string}`, `0x${string}`, bigint[]]>;
733
1230
  }
734
1231
 
735
1232
  /**
736
- * getRecoveryVault
1233
+ * entrypoint
737
1234
  * view
738
1235
  */
739
- async getRecoveryVault(): Promise<`0x${string}`> {
740
- return this.contract.read.getRecoveryVault() as Promise<`0x${string}`>;
1236
+ async entrypoint(): Promise<`0x${string}`> {
1237
+ return this.contract.read.entrypoint() as Promise<`0x${string}`>;
741
1238
  }
742
1239
 
743
1240
  /**
744
- * apps
1241
+ * executorConfig
745
1242
  * view
746
1243
  */
747
- async apps(arg0: `0x${string}`, arg1: `0x${string}`): Promise<`0x${string}`> {
748
- return this.contract.read.apps([arg0, arg1] as const) as Promise<`0x${string}`>;
1244
+ async executorConfig(executor: `0x${string}`): Promise<ExecutorManager_ExecutorConfig> {
1245
+ return this.contract.read.executorConfig([executor] as const) as Promise<ExecutorManager_ExecutorConfig>;
749
1246
  }
750
1247
 
751
1248
  /**
752
- * CORE_NAMESPACE
753
- * pure
1249
+ * isAllowedSelector
1250
+ * view
754
1251
  */
755
- async CORE_NAMESPACE(): Promise<`0x${string}`> {
756
- return this.contract.read.CORE_NAMESPACE() as Promise<`0x${string}`>;
1252
+ async isAllowedSelector(vId: `0x${string}`, selector: `0x${string}`): Promise<boolean> {
1253
+ return this.contract.read.isAllowedSelector([vId, selector] as const) as Promise<boolean>;
757
1254
  }
758
1255
 
759
1256
  /**
760
- * allowRecoverability
1257
+ * isModuleInstalled
761
1258
  * view
762
1259
  */
763
- async allowRecoverability(token: `0x${string}`): Promise<boolean> {
764
- return this.contract.read.allowRecoverability([token] as const) as Promise<boolean>;
1260
+ async isModuleInstalled(moduleType: bigint, module: `0x${string}`, additionalContext: `0x${string}`): Promise<boolean> {
1261
+ return this.contract.read.isModuleInstalled([moduleType, module, additionalContext] as const) as Promise<boolean>;
765
1262
  }
766
1263
 
767
1264
  /**
768
- * recoveryVaultAppId
1265
+ * isValidSignature
769
1266
  * view
770
1267
  */
771
- async recoveryVaultAppId(): Promise<`0x${string}`> {
772
- return this.contract.read.recoveryVaultAppId() as Promise<`0x${string}`>;
1268
+ async isValidSignature(hash: `0x${string}`, signature: `0x${string}`): Promise<`0x${string}`> {
1269
+ return this.contract.read.isValidSignature([hash, signature] as const) as Promise<`0x${string}`>;
773
1270
  }
774
1271
 
775
1272
  /**
776
- * getInitializationBlock
1273
+ * permissionConfig
777
1274
  * view
778
1275
  */
779
- async getInitializationBlock(): Promise<bigint> {
780
- return this.contract.read.getInitializationBlock() as Promise<bigint>;
1276
+ async permissionConfig(pId: `0x${string}`): Promise<ValidationManager_PermissionConfig> {
1277
+ return this.contract.read.permissionConfig([pId] as const) as Promise<ValidationManager_PermissionConfig>;
781
1278
  }
782
1279
 
783
1280
  /**
784
- * APP_MANAGER_ROLE
1281
+ * rootValidator
785
1282
  * view
786
1283
  */
787
- async APP_MANAGER_ROLE(): Promise<`0x${string}`> {
788
- return this.contract.read.APP_MANAGER_ROLE() as Promise<`0x${string}`>;
1284
+ async rootValidator(): Promise<`0x${string}`> {
1285
+ return this.contract.read.rootValidator() as Promise<`0x${string}`>;
789
1286
  }
790
1287
 
791
1288
  /**
792
- * getApp
1289
+ * selectorConfig
793
1290
  * view
794
1291
  */
795
- async getApp(_namespace: `0x${string}`, _appId: `0x${string}`): Promise<`0x${string}`> {
796
- return this.contract.read.getApp([_namespace, _appId] as const) as Promise<`0x${string}`>;
1292
+ async selectorConfig(selector: `0x${string}`): Promise<SelectorManager_SelectorConfig> {
1293
+ return this.contract.read.selectorConfig([selector] as const) as Promise<SelectorManager_SelectorConfig>;
797
1294
  }
798
1295
 
799
1296
  /**
800
- * APP_BASES_NAMESPACE
1297
+ * supportsExecutionMode
801
1298
  * pure
802
1299
  */
803
- async APP_BASES_NAMESPACE(): Promise<`0x${string}`> {
804
- return this.contract.read.APP_BASES_NAMESPACE() as Promise<`0x${string}`>;
1300
+ async supportsExecutionMode(mode: `0x${string}`): Promise<boolean> {
1301
+ return this.contract.read.supportsExecutionMode([mode] as const) as Promise<boolean>;
805
1302
  }
806
1303
 
807
1304
  /**
808
- * acl
809
- * view
1305
+ * supportsModule
1306
+ * pure
810
1307
  */
811
- async acl(): Promise<`0x${string}`> {
812
- return this.contract.read.acl() as Promise<`0x${string}`>;
1308
+ async supportsModule(moduleTypeId: bigint): Promise<boolean> {
1309
+ return this.contract.read.supportsModule([moduleTypeId] as const) as Promise<boolean>;
813
1310
  }
814
1311
 
815
1312
  /**
816
- * isPetrified
1313
+ * validNonceFrom
817
1314
  * view
818
1315
  */
819
- async isPetrified(): Promise<boolean> {
820
- return this.contract.read.isPetrified() as Promise<boolean>;
1316
+ async validNonceFrom(): Promise<bigint> {
1317
+ return this.contract.read.validNonceFrom() as Promise<bigint>;
821
1318
  }
822
1319
 
823
1320
  /**
824
- * DEFAULT_ACL_APP_ID
825
- * pure
1321
+ * validationConfig
1322
+ * view
826
1323
  */
827
- async DEFAULT_ACL_APP_ID(): Promise<`0x${string}`> {
828
- return this.contract.read.DEFAULT_ACL_APP_ID() as Promise<`0x${string}`>;
1324
+ async validationConfig(vId: `0x${string}`): Promise<ValidationManager_ValidationConfig> {
1325
+ return this.contract.read.validationConfig([vId] as const) as Promise<ValidationManager_ValidationConfig>;
829
1326
  }
830
1327
 
831
1328
  /**
832
- * hasPermission
833
- * view
1329
+ * execute
1330
+ * payable
1331
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
834
1332
  */
835
- async hasPermission(_who: `0x${string}`, _where: `0x${string}`, _what: `0x${string}`, _how: `0x${string}`): Promise<boolean> {
836
- return this.contract.read.hasPermission([_who, _where, _what, _how] as const) as Promise<boolean>;
837
- }
838
-
839
- async newAppInstance(_appId: `0x${string}`, _appBase: `0x${string}`, _initializePayload: `0x${string}`, _setDefault: boolean, options?: {
1333
+ async execute(execMode: `0x${string}`, executionCalldata: `0x${string}`, options?: {
840
1334
  accessList?: import('viem').AccessList;
841
1335
  authorizationList?: import('viem').AuthorizationList;
842
1336
  chain?: import('viem').Chain | null;
@@ -847,8 +1341,19 @@ export class Kernel_json {
847
1341
  maxPriorityFeePerGas?: bigint;
848
1342
  nonce?: number;
849
1343
  value?: bigint;
850
- }): Promise<`0x${string}`>;
851
- async newAppInstance(_appId: `0x${string}`, _appBase: `0x${string}`, options?: {
1344
+ }): Promise<`0x${string}`> {
1345
+ if (!this.contract.write) {
1346
+ throw new Error('Wallet client is required for write operations');
1347
+ }
1348
+ return this.contract.write.execute([execMode, executionCalldata] as const, options) as Promise<`0x${string}`>;
1349
+ }
1350
+
1351
+ /**
1352
+ * executeFromExecutor
1353
+ * payable
1354
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1355
+ */
1356
+ async executeFromExecutor(execMode: `0x${string}`, executionCalldata: `0x${string}`, options?: {
852
1357
  accessList?: import('viem').AccessList;
853
1358
  authorizationList?: import('viem').AuthorizationList;
854
1359
  chain?: import('viem').Chain | null;
@@ -859,20 +1364,19 @@ export class Kernel_json {
859
1364
  maxPriorityFeePerGas?: bigint;
860
1365
  nonce?: number;
861
1366
  value?: bigint;
862
- }): Promise<`0x${string}`>;
863
- async newAppInstance(...args: any[]): Promise<`0x${string}`> {
1367
+ }): Promise<`0x${string}`> {
864
1368
  if (!this.contract.write) {
865
1369
  throw new Error('Wallet client is required for write operations');
866
1370
  }
867
- return this.contract.write.newAppInstance(args as any) as Promise<`0x${string}`>;
1371
+ return this.contract.write.executeFromExecutor([execMode, executionCalldata] as const, options) as Promise<`0x${string}`>;
868
1372
  }
869
1373
 
870
1374
  /**
871
- * initialize
872
- * nonpayable
1375
+ * executeUserOp
1376
+ * payable
873
1377
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
874
1378
  */
875
- async initialize(_baseAcl: `0x${string}`, _permissionsCreator: `0x${string}`, options?: {
1379
+ async executeUserOp(userOp: PackedUserOperation, userOpHash: `0x${string}`, options?: {
876
1380
  accessList?: import('viem').AccessList;
877
1381
  authorizationList?: import('viem').AuthorizationList;
878
1382
  chain?: import('viem').Chain | null;
@@ -887,15 +1391,15 @@ export class Kernel_json {
887
1391
  if (!this.contract.write) {
888
1392
  throw new Error('Wallet client is required for write operations');
889
1393
  }
890
- return this.contract.write.initialize([_baseAcl, _permissionsCreator] as const, options) as Promise<`0x${string}`>;
1394
+ return this.contract.write.executeUserOp([userOp, userOpHash] as const, options) as Promise<`0x${string}`>;
891
1395
  }
892
1396
 
893
1397
  /**
894
- * setRecoveryVaultAppId
1398
+ * initialize
895
1399
  * nonpayable
896
1400
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
897
1401
  */
898
- async setRecoveryVaultAppId(_recoveryVaultAppId: `0x${string}`, options?: {
1402
+ async initialize(_rootValidator: `0x${string}`, hook: `0x${string}`, validatorData: `0x${string}`, hookData: `0x${string}`, options?: {
899
1403
  accessList?: import('viem').AccessList;
900
1404
  authorizationList?: import('viem').AuthorizationList;
901
1405
  chain?: import('viem').Chain | null;
@@ -910,22 +1414,15 @@ export class Kernel_json {
910
1414
  if (!this.contract.write) {
911
1415
  throw new Error('Wallet client is required for write operations');
912
1416
  }
913
- return this.contract.write.setRecoveryVaultAppId([_recoveryVaultAppId] as const, options) as Promise<`0x${string}`>;
1417
+ return this.contract.write.initialize([_rootValidator, hook, validatorData, hookData] as const, options) as Promise<`0x${string}`>;
914
1418
  }
915
1419
 
916
- async newPinnedAppInstance(_appId: `0x${string}`, _appBase: `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<`0x${string}`>;
928
- async newPinnedAppInstance(_appId: `0x${string}`, _appBase: `0x${string}`, _initializePayload: `0x${string}`, _setDefault: boolean, options?: {
1420
+ /**
1421
+ * installModule
1422
+ * payable
1423
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1424
+ */
1425
+ async installModule(moduleType: bigint, module: `0x${string}`, initData: `0x${string}`, options?: {
929
1426
  accessList?: import('viem').AccessList;
930
1427
  authorizationList?: import('viem').AuthorizationList;
931
1428
  chain?: import('viem').Chain | null;
@@ -936,20 +1433,19 @@ export class Kernel_json {
936
1433
  maxPriorityFeePerGas?: bigint;
937
1434
  nonce?: number;
938
1435
  value?: bigint;
939
- }): Promise<`0x${string}`>;
940
- async newPinnedAppInstance(...args: any[]): Promise<`0x${string}`> {
1436
+ }): Promise<`0x${string}`> {
941
1437
  if (!this.contract.write) {
942
1438
  throw new Error('Wallet client is required for write operations');
943
1439
  }
944
- return this.contract.write.newPinnedAppInstance(args as any) as Promise<`0x${string}`>;
1440
+ return this.contract.write.installModule([moduleType, module, initData] as const, options) as Promise<`0x${string}`>;
945
1441
  }
946
1442
 
947
1443
  /**
948
- * transferToVault
949
- * nonpayable
1444
+ * installValidations
1445
+ * payable
950
1446
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
951
1447
  */
952
- async transferToVault(_token: `0x${string}`, options?: {
1448
+ async installValidations(vIds: `0x${string}`[], configs: ValidationManager_ValidationConfig[], validationData: `0x${string}`[], hookData: `0x${string}`[], options?: {
953
1449
  accessList?: import('viem').AccessList;
954
1450
  authorizationList?: import('viem').AuthorizationList;
955
1451
  chain?: import('viem').Chain | null;
@@ -964,15 +1460,15 @@ export class Kernel_json {
964
1460
  if (!this.contract.write) {
965
1461
  throw new Error('Wallet client is required for write operations');
966
1462
  }
967
- return this.contract.write.transferToVault([_token] as const, options) as Promise<`0x${string}`>;
1463
+ return this.contract.write.installValidations([vIds, configs, validationData, hookData] as const, options) as Promise<`0x${string}`>;
968
1464
  }
969
1465
 
970
1466
  /**
971
- * setApp
972
- * nonpayable
1467
+ * invalidateNonce
1468
+ * payable
973
1469
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
974
1470
  */
975
- async setApp(_namespace: `0x${string}`, _appId: `0x${string}`, _app: `0x${string}`, options?: {
1471
+ async invalidateNonce(nonce: bigint, options?: {
976
1472
  accessList?: import('viem').AccessList;
977
1473
  authorizationList?: import('viem').AuthorizationList;
978
1474
  chain?: import('viem').Chain | null;
@@ -987,10 +1483,15 @@ export class Kernel_json {
987
1483
  if (!this.contract.write) {
988
1484
  throw new Error('Wallet client is required for write operations');
989
1485
  }
990
- return this.contract.write.setApp([_namespace, _appId, _app] as const, options) as Promise<`0x${string}`>;
1486
+ return this.contract.write.invalidateNonce([nonce] as const, options) as Promise<`0x${string}`>;
991
1487
  }
992
1488
 
993
- async newAppProxyPinned(_kernel: `0x${string}`, _appId: `0x${string}`, _initializePayload: `0x${string}`, options?: {
1489
+ /**
1490
+ * uninstallModule
1491
+ * payable
1492
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1493
+ */
1494
+ async uninstallModule(moduleType: bigint, module: `0x${string}`, deInitData: `0x${string}`, options?: {
994
1495
  accessList?: import('viem').AccessList;
995
1496
  authorizationList?: import('viem').AuthorizationList;
996
1497
  chain?: import('viem').Chain | null;
@@ -1001,8 +1502,19 @@ export class Kernel_json {
1001
1502
  maxPriorityFeePerGas?: bigint;
1002
1503
  nonce?: number;
1003
1504
  value?: bigint;
1004
- }): Promise<`0x${string}`>;
1005
- async newAppProxyPinned(_kernel: `0x${string}`, _appId: `0x${string}`, options?: {
1505
+ }): Promise<`0x${string}`> {
1506
+ if (!this.contract.write) {
1507
+ throw new Error('Wallet client is required for write operations');
1508
+ }
1509
+ return this.contract.write.uninstallModule([moduleType, module, deInitData] as const, options) as Promise<`0x${string}`>;
1510
+ }
1511
+
1512
+ /**
1513
+ * uninstallValidation
1514
+ * payable
1515
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1516
+ */
1517
+ async uninstallValidation(vId: `0x${string}`, deinitData: `0x${string}`, hookDeinitData: `0x${string}`, options?: {
1006
1518
  accessList?: import('viem').AccessList;
1007
1519
  authorizationList?: import('viem').AuthorizationList;
1008
1520
  chain?: import('viem').Chain | null;
@@ -1013,15 +1525,19 @@ export class Kernel_json {
1013
1525
  maxPriorityFeePerGas?: bigint;
1014
1526
  nonce?: number;
1015
1527
  value?: bigint;
1016
- }): Promise<`0x${string}`>;
1017
- async newAppProxyPinned(...args: any[]): Promise<`0x${string}`> {
1528
+ }): Promise<`0x${string}`> {
1018
1529
  if (!this.contract.write) {
1019
1530
  throw new Error('Wallet client is required for write operations');
1020
1531
  }
1021
- return this.contract.write.newAppProxyPinned(args as any) as Promise<`0x${string}`>;
1532
+ return this.contract.write.uninstallValidation([vId, deinitData, hookDeinitData] as const, options) as Promise<`0x${string}`>;
1022
1533
  }
1023
1534
 
1024
- async newAppProxy(_kernel: `0x${string}`, _appId: `0x${string}`, options?: {
1535
+ /**
1536
+ * upgradeTo
1537
+ * payable
1538
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1539
+ */
1540
+ async upgradeTo(_newImplementation: `0x${string}`, options?: {
1025
1541
  accessList?: import('viem').AccessList;
1026
1542
  authorizationList?: import('viem').AuthorizationList;
1027
1543
  chain?: import('viem').Chain | null;
@@ -1032,8 +1548,19 @@ export class Kernel_json {
1032
1548
  maxPriorityFeePerGas?: bigint;
1033
1549
  nonce?: number;
1034
1550
  value?: bigint;
1035
- }): Promise<`0x${string}`>;
1036
- async newAppProxy(_kernel: `0x${string}`, _appId: `0x${string}`, _initializePayload: `0x${string}`, options?: {
1551
+ }): Promise<`0x${string}`> {
1552
+ if (!this.contract.write) {
1553
+ throw new Error('Wallet client is required for write operations');
1554
+ }
1555
+ return this.contract.write.upgradeTo([_newImplementation] as const, options) as Promise<`0x${string}`>;
1556
+ }
1557
+
1558
+ /**
1559
+ * validateUserOp
1560
+ * payable
1561
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1562
+ */
1563
+ async validateUserOp(userOp: PackedUserOperation, userOpHash: `0x${string}`, missingAccountFunds: bigint, options?: {
1037
1564
  accessList?: import('viem').AccessList;
1038
1565
  authorizationList?: import('viem').AuthorizationList;
1039
1566
  chain?: import('viem').Chain | null;
@@ -1044,12 +1571,11 @@ export class Kernel_json {
1044
1571
  maxPriorityFeePerGas?: bigint;
1045
1572
  nonce?: number;
1046
1573
  value?: bigint;
1047
- }): Promise<`0x${string}`>;
1048
- async newAppProxy(...args: any[]): Promise<`0x${string}`> {
1574
+ }): Promise<`0x${string}`> {
1049
1575
  if (!this.contract.write) {
1050
1576
  throw new Error('Wallet client is required for write operations');
1051
1577
  }
1052
- return this.contract.write.newAppProxy(args as any) as Promise<`0x${string}`>;
1578
+ return this.contract.write.validateUserOp([userOp, userOpHash, missingAccountFunds] as const, options) as Promise<`0x${string}`>;
1053
1579
  }
1054
1580
 
1055
1581
 
@@ -1069,20 +1595,87 @@ export class Kernel_json {
1069
1595
  }
1070
1596
  return {
1071
1597
  /**
1072
- * Simulate newAppInstance
1598
+ * Simulate execute
1599
+ * Returns gas estimate and result without sending transaction
1600
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1601
+ */
1602
+ async execute(execMode: `0x${string}`, executionCalldata: `0x${string}`, options?: {
1603
+ accessList?: import('viem').AccessList;
1604
+ authorizationList?: import('viem').AuthorizationList;
1605
+ chain?: import('viem').Chain | null;
1606
+ dataSuffix?: `0x${string}`;
1607
+ gas?: bigint;
1608
+ gasPrice?: bigint;
1609
+ maxFeePerGas?: bigint;
1610
+ maxPriorityFeePerGas?: bigint;
1611
+ nonce?: number;
1612
+ value?: bigint;
1613
+ }): Promise<void> {
1614
+ return contract.simulate.execute([execMode, executionCalldata] as const, options) as Promise<void>;
1615
+ },
1616
+ /**
1617
+ * Simulate executeFromExecutor
1618
+ * Returns gas estimate and result without sending transaction
1619
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1620
+ */
1621
+ async executeFromExecutor(execMode: `0x${string}`, executionCalldata: `0x${string}`, options?: {
1622
+ accessList?: import('viem').AccessList;
1623
+ authorizationList?: import('viem').AuthorizationList;
1624
+ chain?: import('viem').Chain | null;
1625
+ dataSuffix?: `0x${string}`;
1626
+ gas?: bigint;
1627
+ gasPrice?: bigint;
1628
+ maxFeePerGas?: bigint;
1629
+ maxPriorityFeePerGas?: bigint;
1630
+ nonce?: number;
1631
+ value?: bigint;
1632
+ }): Promise<`0x${string}`[]> {
1633
+ return contract.simulate.executeFromExecutor([execMode, executionCalldata] as const, options) as Promise<`0x${string}`[]>;
1634
+ },
1635
+ /**
1636
+ * Simulate executeUserOp
1073
1637
  * Returns gas estimate and result without sending transaction
1074
- * Supports multiple overloads: (bytes32, address, bytes, bool), (bytes32, address)
1075
1638
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
1076
1639
  */
1077
- async newAppInstance(...args: any[]): Promise<any> {
1078
- return contract.simulate.newAppInstance(args as any) as Promise<any>;
1640
+ async executeUserOp(userOp: PackedUserOperation, userOpHash: `0x${string}`, options?: {
1641
+ accessList?: import('viem').AccessList;
1642
+ authorizationList?: import('viem').AuthorizationList;
1643
+ chain?: import('viem').Chain | null;
1644
+ dataSuffix?: `0x${string}`;
1645
+ gas?: bigint;
1646
+ gasPrice?: bigint;
1647
+ maxFeePerGas?: bigint;
1648
+ maxPriorityFeePerGas?: bigint;
1649
+ nonce?: number;
1650
+ value?: bigint;
1651
+ }): Promise<void> {
1652
+ return contract.simulate.executeUserOp([userOp, userOpHash] as const, options) as Promise<void>;
1079
1653
  },
1080
1654
  /**
1081
1655
  * Simulate initialize
1082
1656
  * Returns gas estimate and result without sending transaction
1083
1657
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
1084
1658
  */
1085
- async initialize(_baseAcl: `0x${string}`, _permissionsCreator: `0x${string}`, options?: {
1659
+ async initialize(_rootValidator: `0x${string}`, hook: `0x${string}`, validatorData: `0x${string}`, hookData: `0x${string}`, options?: {
1660
+ accessList?: import('viem').AccessList;
1661
+ authorizationList?: import('viem').AuthorizationList;
1662
+ chain?: import('viem').Chain | null;
1663
+ dataSuffix?: `0x${string}`;
1664
+ gas?: bigint;
1665
+ gasPrice?: bigint;
1666
+ maxFeePerGas?: bigint;
1667
+ maxPriorityFeePerGas?: bigint;
1668
+ nonce?: number;
1669
+ value?: bigint;
1670
+ }): Promise<void> {
1671
+ return contract.simulate.initialize([_rootValidator, hook, validatorData, hookData] as const, options) as Promise<void>;
1672
+ },
1673
+ /**
1674
+ * Simulate installModule
1675
+ * Returns gas estimate and result without sending transaction
1676
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1677
+ */
1678
+ async installModule(moduleType: bigint, module: `0x${string}`, initData: `0x${string}`, options?: {
1086
1679
  accessList?: import('viem').AccessList;
1087
1680
  authorizationList?: import('viem').AuthorizationList;
1088
1681
  chain?: import('viem').Chain | null;
@@ -1094,14 +1687,14 @@ export class Kernel_json {
1094
1687
  nonce?: number;
1095
1688
  value?: bigint;
1096
1689
  }): Promise<void> {
1097
- return contract.simulate.initialize([_baseAcl, _permissionsCreator] as const, options) as Promise<void>;
1690
+ return contract.simulate.installModule([moduleType, module, initData] as const, options) as Promise<void>;
1098
1691
  },
1099
1692
  /**
1100
- * Simulate setRecoveryVaultAppId
1693
+ * Simulate installValidations
1101
1694
  * Returns gas estimate and result without sending transaction
1102
1695
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
1103
1696
  */
1104
- async setRecoveryVaultAppId(_recoveryVaultAppId: `0x${string}`, options?: {
1697
+ async installValidations(vIds: `0x${string}`[], configs: ValidationManager_ValidationConfig[], validationData: `0x${string}`[], hookData: `0x${string}`[], options?: {
1105
1698
  accessList?: import('viem').AccessList;
1106
1699
  authorizationList?: import('viem').AuthorizationList;
1107
1700
  chain?: import('viem').Chain | null;
@@ -1113,23 +1706,33 @@ export class Kernel_json {
1113
1706
  nonce?: number;
1114
1707
  value?: bigint;
1115
1708
  }): Promise<void> {
1116
- return contract.simulate.setRecoveryVaultAppId([_recoveryVaultAppId] as const, options) as Promise<void>;
1709
+ return contract.simulate.installValidations([vIds, configs, validationData, hookData] as const, options) as Promise<void>;
1117
1710
  },
1118
1711
  /**
1119
- * Simulate newPinnedAppInstance
1712
+ * Simulate invalidateNonce
1120
1713
  * Returns gas estimate and result without sending transaction
1121
- * Supports multiple overloads: (bytes32, address), (bytes32, address, bytes, bool)
1122
1714
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
1123
1715
  */
1124
- async newPinnedAppInstance(...args: any[]): Promise<any> {
1125
- return contract.simulate.newPinnedAppInstance(args as any) as Promise<any>;
1716
+ async invalidateNonce(nonce: bigint, options?: {
1717
+ accessList?: import('viem').AccessList;
1718
+ authorizationList?: import('viem').AuthorizationList;
1719
+ chain?: import('viem').Chain | null;
1720
+ dataSuffix?: `0x${string}`;
1721
+ gas?: bigint;
1722
+ gasPrice?: bigint;
1723
+ maxFeePerGas?: bigint;
1724
+ maxPriorityFeePerGas?: bigint;
1725
+ nonce?: number;
1726
+ value?: bigint;
1727
+ }): Promise<void> {
1728
+ return contract.simulate.invalidateNonce([nonce] as const, options) as Promise<void>;
1126
1729
  },
1127
1730
  /**
1128
- * Simulate transferToVault
1731
+ * Simulate uninstallModule
1129
1732
  * Returns gas estimate and result without sending transaction
1130
1733
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
1131
1734
  */
1132
- async transferToVault(_token: `0x${string}`, options?: {
1735
+ async uninstallModule(moduleType: bigint, module: `0x${string}`, deInitData: `0x${string}`, options?: {
1133
1736
  accessList?: import('viem').AccessList;
1134
1737
  authorizationList?: import('viem').AuthorizationList;
1135
1738
  chain?: import('viem').Chain | null;
@@ -1141,14 +1744,14 @@ export class Kernel_json {
1141
1744
  nonce?: number;
1142
1745
  value?: bigint;
1143
1746
  }): Promise<void> {
1144
- return contract.simulate.transferToVault([_token] as const, options) as Promise<void>;
1747
+ return contract.simulate.uninstallModule([moduleType, module, deInitData] as const, options) as Promise<void>;
1145
1748
  },
1146
1749
  /**
1147
- * Simulate setApp
1750
+ * Simulate uninstallValidation
1148
1751
  * Returns gas estimate and result without sending transaction
1149
1752
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
1150
1753
  */
1151
- async setApp(_namespace: `0x${string}`, _appId: `0x${string}`, _app: `0x${string}`, options?: {
1754
+ async uninstallValidation(vId: `0x${string}`, deinitData: `0x${string}`, hookDeinitData: `0x${string}`, options?: {
1152
1755
  accessList?: import('viem').AccessList;
1153
1756
  authorizationList?: import('viem').AuthorizationList;
1154
1757
  chain?: import('viem').Chain | null;
@@ -1160,25 +1763,45 @@ export class Kernel_json {
1160
1763
  nonce?: number;
1161
1764
  value?: bigint;
1162
1765
  }): Promise<void> {
1163
- return contract.simulate.setApp([_namespace, _appId, _app] as const, options) as Promise<void>;
1766
+ return contract.simulate.uninstallValidation([vId, deinitData, hookDeinitData] as const, options) as Promise<void>;
1164
1767
  },
1165
1768
  /**
1166
- * Simulate newAppProxyPinned
1769
+ * Simulate upgradeTo
1167
1770
  * Returns gas estimate and result without sending transaction
1168
- * Supports multiple overloads: (address, bytes32, bytes), (address, bytes32)
1169
1771
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
1170
1772
  */
1171
- async newAppProxyPinned(...args: any[]): Promise<any> {
1172
- return contract.simulate.newAppProxyPinned(args as any) as Promise<any>;
1773
+ async upgradeTo(_newImplementation: `0x${string}`, options?: {
1774
+ accessList?: import('viem').AccessList;
1775
+ authorizationList?: import('viem').AuthorizationList;
1776
+ chain?: import('viem').Chain | null;
1777
+ dataSuffix?: `0x${string}`;
1778
+ gas?: bigint;
1779
+ gasPrice?: bigint;
1780
+ maxFeePerGas?: bigint;
1781
+ maxPriorityFeePerGas?: bigint;
1782
+ nonce?: number;
1783
+ value?: bigint;
1784
+ }): Promise<void> {
1785
+ return contract.simulate.upgradeTo([_newImplementation] as const, options) as Promise<void>;
1173
1786
  },
1174
1787
  /**
1175
- * Simulate newAppProxy
1788
+ * Simulate validateUserOp
1176
1789
  * Returns gas estimate and result without sending transaction
1177
- * Supports multiple overloads: (address, bytes32), (address, bytes32, bytes)
1178
1790
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
1179
1791
  */
1180
- async newAppProxy(...args: any[]): Promise<any> {
1181
- return contract.simulate.newAppProxy(args as any) as Promise<any>;
1792
+ async validateUserOp(userOp: PackedUserOperation, userOpHash: `0x${string}`, missingAccountFunds: bigint, options?: {
1793
+ accessList?: import('viem').AccessList;
1794
+ authorizationList?: import('viem').AuthorizationList;
1795
+ chain?: import('viem').Chain | null;
1796
+ dataSuffix?: `0x${string}`;
1797
+ gas?: bigint;
1798
+ gasPrice?: bigint;
1799
+ maxFeePerGas?: bigint;
1800
+ maxPriorityFeePerGas?: bigint;
1801
+ nonce?: number;
1802
+ value?: bigint;
1803
+ }): Promise<bigint> {
1804
+ return contract.simulate.validateUserOp([userOp, userOpHash, missingAccountFunds] as const, options) as Promise<bigint>;
1182
1805
  }
1183
1806
  };
1184
1807
  }
@@ -1198,16 +1821,16 @@ export class Kernel_json {
1198
1821
  get watch() {
1199
1822
  return {
1200
1823
  /**
1201
- * Watch NewAppProxy events
1824
+ * Watch ModuleInstalled events
1202
1825
  * @param callback Function to call when event is emitted
1203
1826
  * @param filter Optional filter for indexed parameters
1204
1827
  * @returns Unwatch function to stop listening
1205
1828
  */
1206
- NewAppProxy: (callback: (event: { proxy: `0x${string}`; isUpgradeable: boolean; appId: `0x${string}` }) => void) => {
1829
+ ModuleInstalled: (callback: (event: { moduleTypeId: bigint; module: `0x${string}` }) => void) => {
1207
1830
  return this.publicClient.watchContractEvent({
1208
1831
  address: this.contractAddress,
1209
1832
  abi: Kernel_jsonAbi,
1210
- eventName: 'NewAppProxy',
1833
+ eventName: 'ModuleInstalled',
1211
1834
 
1212
1835
  onLogs: (logs: any[]) => {
1213
1836
  logs.forEach((log: any) => {
@@ -1217,17 +1840,55 @@ export class Kernel_json {
1217
1840
  }) as () => void;
1218
1841
  },
1219
1842
  /**
1220
- * Watch RecoverToVault events
1843
+ * Watch ModuleUninstallResult events
1221
1844
  * @param callback Function to call when event is emitted
1222
1845
  * @param filter Optional filter for indexed parameters
1223
1846
  * @returns Unwatch function to stop listening
1224
1847
  */
1225
- RecoverToVault: (callback: (event: { vault: `0x${string}`; token: `0x${string}`; amount: bigint }) => void, filter?: { vault: `0x${string}`; token: `0x${string}` }) => {
1848
+ ModuleUninstallResult: (callback: (event: { module: `0x${string}`; result: boolean }) => void) => {
1226
1849
  return this.publicClient.watchContractEvent({
1227
1850
  address: this.contractAddress,
1228
1851
  abi: Kernel_jsonAbi,
1229
- eventName: 'RecoverToVault',
1230
- args: filter,
1852
+ eventName: 'ModuleUninstallResult',
1853
+
1854
+ onLogs: (logs: any[]) => {
1855
+ logs.forEach((log: any) => {
1856
+ callback(log.args as any);
1857
+ });
1858
+ },
1859
+ }) as () => void;
1860
+ },
1861
+ /**
1862
+ * Watch ModuleUninstalled events
1863
+ * @param callback Function to call when event is emitted
1864
+ * @param filter Optional filter for indexed parameters
1865
+ * @returns Unwatch function to stop listening
1866
+ */
1867
+ ModuleUninstalled: (callback: (event: { moduleTypeId: bigint; module: `0x${string}` }) => void) => {
1868
+ return this.publicClient.watchContractEvent({
1869
+ address: this.contractAddress,
1870
+ abi: Kernel_jsonAbi,
1871
+ eventName: 'ModuleUninstalled',
1872
+
1873
+ onLogs: (logs: any[]) => {
1874
+ logs.forEach((log: any) => {
1875
+ callback(log.args as any);
1876
+ });
1877
+ },
1878
+ }) as () => void;
1879
+ },
1880
+ /**
1881
+ * Watch NonceInvalidated events
1882
+ * @param callback Function to call when event is emitted
1883
+ * @param filter Optional filter for indexed parameters
1884
+ * @returns Unwatch function to stop listening
1885
+ */
1886
+ NonceInvalidated: (callback: (event: { nonce: bigint }) => void) => {
1887
+ return this.publicClient.watchContractEvent({
1888
+ address: this.contractAddress,
1889
+ abi: Kernel_jsonAbi,
1890
+ eventName: 'NonceInvalidated',
1891
+
1231
1892
  onLogs: (logs: any[]) => {
1232
1893
  logs.forEach((log: any) => {
1233
1894
  callback(log.args as any);
@@ -1236,17 +1897,169 @@ export class Kernel_json {
1236
1897
  }) as () => void;
1237
1898
  },
1238
1899
  /**
1239
- * Watch SetApp events
1900
+ * Watch PermissionInstalled events
1240
1901
  * @param callback Function to call when event is emitted
1241
1902
  * @param filter Optional filter for indexed parameters
1242
1903
  * @returns Unwatch function to stop listening
1243
1904
  */
1244
- SetApp: (callback: (event: { namespace: `0x${string}`; appId: `0x${string}`; app: `0x${string}` }) => void, filter?: { namespace: `0x${string}`; appId: `0x${string}` }) => {
1905
+ PermissionInstalled: (callback: (event: { permission: `0x${string}`; nonce: bigint }) => void) => {
1245
1906
  return this.publicClient.watchContractEvent({
1246
1907
  address: this.contractAddress,
1247
1908
  abi: Kernel_jsonAbi,
1248
- eventName: 'SetApp',
1909
+ eventName: 'PermissionInstalled',
1910
+
1911
+ onLogs: (logs: any[]) => {
1912
+ logs.forEach((log: any) => {
1913
+ callback(log.args as any);
1914
+ });
1915
+ },
1916
+ }) as () => void;
1917
+ },
1918
+ /**
1919
+ * Watch PermissionUninstalled events
1920
+ * @param callback Function to call when event is emitted
1921
+ * @param filter Optional filter for indexed parameters
1922
+ * @returns Unwatch function to stop listening
1923
+ */
1924
+ PermissionUninstalled: (callback: (event: { permission: `0x${string}` }) => void) => {
1925
+ return this.publicClient.watchContractEvent({
1926
+ address: this.contractAddress,
1927
+ abi: Kernel_jsonAbi,
1928
+ eventName: 'PermissionUninstalled',
1929
+
1930
+ onLogs: (logs: any[]) => {
1931
+ logs.forEach((log: any) => {
1932
+ callback(log.args as any);
1933
+ });
1934
+ },
1935
+ }) as () => void;
1936
+ },
1937
+ /**
1938
+ * Watch Received events
1939
+ * @param callback Function to call when event is emitted
1940
+ * @param filter Optional filter for indexed parameters
1941
+ * @returns Unwatch function to stop listening
1942
+ */
1943
+ Received: (callback: (event: { sender: `0x${string}`; amount: bigint }) => void) => {
1944
+ return this.publicClient.watchContractEvent({
1945
+ address: this.contractAddress,
1946
+ abi: Kernel_jsonAbi,
1947
+ eventName: 'Received',
1948
+
1949
+ onLogs: (logs: any[]) => {
1950
+ logs.forEach((log: any) => {
1951
+ callback(log.args as any);
1952
+ });
1953
+ },
1954
+ }) as () => void;
1955
+ },
1956
+ /**
1957
+ * Watch RootValidatorUpdated events
1958
+ * @param callback Function to call when event is emitted
1959
+ * @param filter Optional filter for indexed parameters
1960
+ * @returns Unwatch function to stop listening
1961
+ */
1962
+ RootValidatorUpdated: (callback: (event: { rootValidator: `0x${string}` }) => void) => {
1963
+ return this.publicClient.watchContractEvent({
1964
+ address: this.contractAddress,
1965
+ abi: Kernel_jsonAbi,
1966
+ eventName: 'RootValidatorUpdated',
1967
+
1968
+ onLogs: (logs: any[]) => {
1969
+ logs.forEach((log: any) => {
1970
+ callback(log.args as any);
1971
+ });
1972
+ },
1973
+ }) as () => void;
1974
+ },
1975
+ /**
1976
+ * Watch SelectorSet events
1977
+ * @param callback Function to call when event is emitted
1978
+ * @param filter Optional filter for indexed parameters
1979
+ * @returns Unwatch function to stop listening
1980
+ */
1981
+ SelectorSet: (callback: (event: { selector: `0x${string}`; vId: `0x${string}`; allowed: boolean }) => void) => {
1982
+ return this.publicClient.watchContractEvent({
1983
+ address: this.contractAddress,
1984
+ abi: Kernel_jsonAbi,
1985
+ eventName: 'SelectorSet',
1986
+
1987
+ onLogs: (logs: any[]) => {
1988
+ logs.forEach((log: any) => {
1989
+ callback(log.args as any);
1990
+ });
1991
+ },
1992
+ }) as () => void;
1993
+ },
1994
+ /**
1995
+ * Watch TryExecuteUnsuccessful events
1996
+ * @param callback Function to call when event is emitted
1997
+ * @param filter Optional filter for indexed parameters
1998
+ * @returns Unwatch function to stop listening
1999
+ */
2000
+ TryExecuteUnsuccessful: (callback: (event: { batchExecutionindex: bigint; result: `0x${string}` }) => void) => {
2001
+ return this.publicClient.watchContractEvent({
2002
+ address: this.contractAddress,
2003
+ abi: Kernel_jsonAbi,
2004
+ eventName: 'TryExecuteUnsuccessful',
2005
+
2006
+ onLogs: (logs: any[]) => {
2007
+ logs.forEach((log: any) => {
2008
+ callback(log.args as any);
2009
+ });
2010
+ },
2011
+ }) as () => void;
2012
+ },
2013
+ /**
2014
+ * Watch Upgraded events
2015
+ * @param callback Function to call when event is emitted
2016
+ * @param filter Optional filter for indexed parameters
2017
+ * @returns Unwatch function to stop listening
2018
+ */
2019
+ Upgraded: (callback: (event: { implementation: `0x${string}` }) => void, filter?: { implementation: `0x${string}` }) => {
2020
+ return this.publicClient.watchContractEvent({
2021
+ address: this.contractAddress,
2022
+ abi: Kernel_jsonAbi,
2023
+ eventName: 'Upgraded',
1249
2024
  args: filter,
2025
+ onLogs: (logs: any[]) => {
2026
+ logs.forEach((log: any) => {
2027
+ callback(log.args as any);
2028
+ });
2029
+ },
2030
+ }) as () => void;
2031
+ },
2032
+ /**
2033
+ * Watch ValidatorInstalled events
2034
+ * @param callback Function to call when event is emitted
2035
+ * @param filter Optional filter for indexed parameters
2036
+ * @returns Unwatch function to stop listening
2037
+ */
2038
+ ValidatorInstalled: (callback: (event: { validator: `0x${string}`; nonce: bigint }) => void) => {
2039
+ return this.publicClient.watchContractEvent({
2040
+ address: this.contractAddress,
2041
+ abi: Kernel_jsonAbi,
2042
+ eventName: 'ValidatorInstalled',
2043
+
2044
+ onLogs: (logs: any[]) => {
2045
+ logs.forEach((log: any) => {
2046
+ callback(log.args as any);
2047
+ });
2048
+ },
2049
+ }) as () => void;
2050
+ },
2051
+ /**
2052
+ * Watch ValidatorUninstalled events
2053
+ * @param callback Function to call when event is emitted
2054
+ * @param filter Optional filter for indexed parameters
2055
+ * @returns Unwatch function to stop listening
2056
+ */
2057
+ ValidatorUninstalled: (callback: (event: { validator: `0x${string}` }) => void) => {
2058
+ return this.publicClient.watchContractEvent({
2059
+ address: this.contractAddress,
2060
+ abi: Kernel_jsonAbi,
2061
+ eventName: 'ValidatorUninstalled',
2062
+
1250
2063
  onLogs: (logs: any[]) => {
1251
2064
  logs.forEach((log: any) => {
1252
2065
  callback(log.args as any);