@gitmyabi/kernel 1.0.3 → 1.0.4

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,1226 @@ 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": [
29
81
  {
30
- "name": "",
31
- "type": "bytes32"
82
+ "internalType": "uint256",
83
+ "name": "idx",
84
+ "type": "uint256"
32
85
  }
33
86
  ],
34
- "payable": false,
35
- "stateMutability": "pure",
36
- "type": "function"
87
+ "name": "InitConfigError",
88
+ "type": "error"
37
89
  },
38
90
  {
39
- "constant": true,
40
91
  "inputs": [],
41
- "name": "APP_ADDR_NAMESPACE",
42
- "outputs": [
92
+ "name": "InvalidCallType",
93
+ "type": "error"
94
+ },
95
+ {
96
+ "inputs": [],
97
+ "name": "InvalidCaller",
98
+ "type": "error"
99
+ },
100
+ {
101
+ "inputs": [],
102
+ "name": "InvalidExecutor",
103
+ "type": "error"
104
+ },
105
+ {
106
+ "inputs": [],
107
+ "name": "InvalidFallback",
108
+ "type": "error"
109
+ },
110
+ {
111
+ "inputs": [],
112
+ "name": "InvalidMode",
113
+ "type": "error"
114
+ },
115
+ {
116
+ "inputs": [],
117
+ "name": "InvalidModuleType",
118
+ "type": "error"
119
+ },
120
+ {
121
+ "inputs": [],
122
+ "name": "InvalidNonce",
123
+ "type": "error"
124
+ },
125
+ {
126
+ "inputs": [],
127
+ "name": "InvalidSelector",
128
+ "type": "error"
129
+ },
130
+ {
131
+ "inputs": [],
132
+ "name": "InvalidSignature",
133
+ "type": "error"
134
+ },
135
+ {
136
+ "inputs": [],
137
+ "name": "InvalidValidationType",
138
+ "type": "error"
139
+ },
140
+ {
141
+ "inputs": [],
142
+ "name": "InvalidValidator",
143
+ "type": "error"
144
+ },
145
+ {
146
+ "inputs": [],
147
+ "name": "NonceInvalidationError",
148
+ "type": "error"
149
+ },
150
+ {
151
+ "inputs": [],
152
+ "name": "NotSupportedCallType",
153
+ "type": "error"
154
+ },
155
+ {
156
+ "inputs": [],
157
+ "name": "OnlyExecuteUserOp",
158
+ "type": "error"
159
+ },
160
+ {
161
+ "inputs": [],
162
+ "name": "PermissionDataLengthMismatch",
163
+ "type": "error"
164
+ },
165
+ {
166
+ "inputs": [],
167
+ "name": "PermissionNotAlllowedForSignature",
168
+ "type": "error"
169
+ },
170
+ {
171
+ "inputs": [],
172
+ "name": "PermissionNotAlllowedForUserOp",
173
+ "type": "error"
174
+ },
175
+ {
176
+ "inputs": [],
177
+ "name": "PolicyDataTooLarge",
178
+ "type": "error"
179
+ },
180
+ {
181
+ "inputs": [
43
182
  {
44
- "name": "",
45
- "type": "bytes32"
183
+ "internalType": "uint256",
184
+ "name": "i",
185
+ "type": "uint256"
46
186
  }
47
187
  ],
48
- "payable": false,
49
- "stateMutability": "pure",
50
- "type": "function"
188
+ "name": "PolicyFailed",
189
+ "type": "error"
51
190
  },
52
191
  {
53
- "constant": true,
54
192
  "inputs": [],
55
- "name": "getRecoveryVault",
56
- "outputs": [
193
+ "name": "PolicySignatureOrderError",
194
+ "type": "error"
195
+ },
196
+ {
197
+ "inputs": [],
198
+ "name": "RootValidatorCannotBeRemoved",
199
+ "type": "error"
200
+ },
201
+ {
202
+ "inputs": [],
203
+ "name": "SignerPrefixNotPresent",
204
+ "type": "error"
205
+ },
206
+ {
207
+ "anonymous": false,
208
+ "inputs": [
57
209
  {
58
- "name": "",
210
+ "indexed": false,
211
+ "internalType": "uint256",
212
+ "name": "moduleTypeId",
213
+ "type": "uint256"
214
+ },
215
+ {
216
+ "indexed": false,
217
+ "internalType": "address",
218
+ "name": "module",
59
219
  "type": "address"
60
220
  }
61
221
  ],
62
- "payable": false,
63
- "stateMutability": "view",
64
- "type": "function"
222
+ "name": "ModuleInstalled",
223
+ "type": "event"
65
224
  },
66
225
  {
67
- "constant": false,
226
+ "anonymous": false,
68
227
  "inputs": [
69
228
  {
70
- "name": "_appId",
71
- "type": "bytes32"
229
+ "indexed": false,
230
+ "internalType": "address",
231
+ "name": "module",
232
+ "type": "address"
72
233
  },
73
234
  {
74
- "name": "_appBase",
75
- "type": "address"
235
+ "indexed": false,
236
+ "internalType": "bool",
237
+ "name": "result",
238
+ "type": "bool"
239
+ }
240
+ ],
241
+ "name": "ModuleUninstallResult",
242
+ "type": "event"
243
+ },
244
+ {
245
+ "anonymous": false,
246
+ "inputs": [
247
+ {
248
+ "indexed": false,
249
+ "internalType": "uint256",
250
+ "name": "moduleTypeId",
251
+ "type": "uint256"
76
252
  },
77
253
  {
78
- "name": "_initializePayload",
79
- "type": "bytes"
254
+ "indexed": false,
255
+ "internalType": "address",
256
+ "name": "module",
257
+ "type": "address"
258
+ }
259
+ ],
260
+ "name": "ModuleUninstalled",
261
+ "type": "event"
262
+ },
263
+ {
264
+ "anonymous": false,
265
+ "inputs": [
266
+ {
267
+ "indexed": false,
268
+ "internalType": "uint32",
269
+ "name": "nonce",
270
+ "type": "uint32"
271
+ }
272
+ ],
273
+ "name": "NonceInvalidated",
274
+ "type": "event"
275
+ },
276
+ {
277
+ "anonymous": false,
278
+ "inputs": [
279
+ {
280
+ "indexed": false,
281
+ "internalType": "PermissionId",
282
+ "name": "permission",
283
+ "type": "bytes4"
80
284
  },
81
285
  {
82
- "name": "_setDefault",
83
- "type": "bool"
286
+ "indexed": false,
287
+ "internalType": "uint32",
288
+ "name": "nonce",
289
+ "type": "uint32"
84
290
  }
85
291
  ],
86
- "name": "newAppInstance",
87
- "outputs": [
292
+ "name": "PermissionInstalled",
293
+ "type": "event"
294
+ },
295
+ {
296
+ "anonymous": false,
297
+ "inputs": [
88
298
  {
89
- "name": "appProxy",
299
+ "indexed": false,
300
+ "internalType": "PermissionId",
301
+ "name": "permission",
302
+ "type": "bytes4"
303
+ }
304
+ ],
305
+ "name": "PermissionUninstalled",
306
+ "type": "event"
307
+ },
308
+ {
309
+ "anonymous": false,
310
+ "inputs": [
311
+ {
312
+ "indexed": false,
313
+ "internalType": "address",
314
+ "name": "sender",
90
315
  "type": "address"
316
+ },
317
+ {
318
+ "indexed": false,
319
+ "internalType": "uint256",
320
+ "name": "amount",
321
+ "type": "uint256"
91
322
  }
92
323
  ],
93
- "payable": false,
94
- "stateMutability": "nonpayable",
95
- "type": "function"
324
+ "name": "Received",
325
+ "type": "event"
96
326
  },
97
327
  {
98
- "constant": true,
328
+ "anonymous": false,
99
329
  "inputs": [
100
330
  {
101
- "name": "",
102
- "type": "bytes32"
331
+ "indexed": false,
332
+ "internalType": "ValidationId",
333
+ "name": "rootValidator",
334
+ "type": "bytes21"
335
+ }
336
+ ],
337
+ "name": "RootValidatorUpdated",
338
+ "type": "event"
339
+ },
340
+ {
341
+ "anonymous": false,
342
+ "inputs": [
343
+ {
344
+ "indexed": false,
345
+ "internalType": "bytes4",
346
+ "name": "selector",
347
+ "type": "bytes4"
103
348
  },
104
349
  {
105
- "name": "",
106
- "type": "bytes32"
350
+ "indexed": false,
351
+ "internalType": "ValidationId",
352
+ "name": "vId",
353
+ "type": "bytes21"
354
+ },
355
+ {
356
+ "indexed": false,
357
+ "internalType": "bool",
358
+ "name": "allowed",
359
+ "type": "bool"
107
360
  }
108
361
  ],
109
- "name": "apps",
110
- "outputs": [
362
+ "name": "SelectorSet",
363
+ "type": "event"
364
+ },
365
+ {
366
+ "anonymous": false,
367
+ "inputs": [
111
368
  {
112
- "name": "",
369
+ "indexed": false,
370
+ "internalType": "uint256",
371
+ "name": "batchExecutionindex",
372
+ "type": "uint256"
373
+ },
374
+ {
375
+ "indexed": false,
376
+ "internalType": "bytes",
377
+ "name": "result",
378
+ "type": "bytes"
379
+ }
380
+ ],
381
+ "name": "TryExecuteUnsuccessful",
382
+ "type": "event"
383
+ },
384
+ {
385
+ "anonymous": false,
386
+ "inputs": [
387
+ {
388
+ "indexed": true,
389
+ "internalType": "address",
390
+ "name": "implementation",
113
391
  "type": "address"
114
392
  }
115
393
  ],
116
- "payable": false,
117
- "stateMutability": "view",
118
- "type": "function"
394
+ "name": "Upgraded",
395
+ "type": "event"
119
396
  },
120
397
  {
121
- "constant": false,
398
+ "anonymous": false,
122
399
  "inputs": [
123
400
  {
124
- "name": "_baseAcl",
401
+ "indexed": false,
402
+ "internalType": "contract IValidator",
403
+ "name": "validator",
125
404
  "type": "address"
126
405
  },
127
406
  {
128
- "name": "_permissionsCreator",
407
+ "indexed": false,
408
+ "internalType": "uint32",
409
+ "name": "nonce",
410
+ "type": "uint32"
411
+ }
412
+ ],
413
+ "name": "ValidatorInstalled",
414
+ "type": "event"
415
+ },
416
+ {
417
+ "anonymous": false,
418
+ "inputs": [
419
+ {
420
+ "indexed": false,
421
+ "internalType": "contract IValidator",
422
+ "name": "validator",
129
423
  "type": "address"
130
424
  }
131
425
  ],
132
- "name": "initialize",
133
- "outputs": [],
134
- "payable": false,
135
- "stateMutability": "nonpayable",
136
- "type": "function"
426
+ "name": "ValidatorUninstalled",
427
+ "type": "event"
428
+ },
429
+ {
430
+ "stateMutability": "payable",
431
+ "type": "fallback"
137
432
  },
138
433
  {
139
- "constant": true,
140
434
  "inputs": [],
141
- "name": "CORE_NAMESPACE",
435
+ "name": "accountId",
142
436
  "outputs": [
143
437
  {
144
- "name": "",
145
- "type": "bytes32"
438
+ "internalType": "string",
439
+ "name": "accountImplementationId",
440
+ "type": "string"
146
441
  }
147
442
  ],
148
- "payable": false,
149
443
  "stateMutability": "pure",
150
444
  "type": "function"
151
445
  },
152
446
  {
153
- "constant": true,
154
447
  "inputs": [
155
448
  {
156
- "name": "token",
449
+ "internalType": "ValidationId",
450
+ "name": "_rootValidator",
451
+ "type": "bytes21"
452
+ },
453
+ {
454
+ "internalType": "contract IHook",
455
+ "name": "hook",
157
456
  "type": "address"
457
+ },
458
+ {
459
+ "internalType": "bytes",
460
+ "name": "validatorData",
461
+ "type": "bytes"
462
+ },
463
+ {
464
+ "internalType": "bytes",
465
+ "name": "hookData",
466
+ "type": "bytes"
158
467
  }
159
468
  ],
160
- "name": "allowRecoverability",
469
+ "name": "changeRootValidator",
470
+ "outputs": [],
471
+ "stateMutability": "payable",
472
+ "type": "function"
473
+ },
474
+ {
475
+ "inputs": [],
476
+ "name": "currentNonce",
161
477
  "outputs": [
162
478
  {
479
+ "internalType": "uint32",
163
480
  "name": "",
164
- "type": "bool"
481
+ "type": "uint32"
165
482
  }
166
483
  ],
167
- "payable": false,
168
484
  "stateMutability": "view",
169
485
  "type": "function"
170
486
  },
171
487
  {
172
- "constant": false,
173
- "inputs": [
488
+ "inputs": [],
489
+ "name": "eip712Domain",
490
+ "outputs": [
174
491
  {
175
- "name": "_appId",
176
- "type": "bytes32"
492
+ "internalType": "bytes1",
493
+ "name": "fields",
494
+ "type": "bytes1"
177
495
  },
178
496
  {
179
- "name": "_appBase",
497
+ "internalType": "string",
498
+ "name": "name",
499
+ "type": "string"
500
+ },
501
+ {
502
+ "internalType": "string",
503
+ "name": "version",
504
+ "type": "string"
505
+ },
506
+ {
507
+ "internalType": "uint256",
508
+ "name": "chainId",
509
+ "type": "uint256"
510
+ },
511
+ {
512
+ "internalType": "address",
513
+ "name": "verifyingContract",
180
514
  "type": "address"
515
+ },
516
+ {
517
+ "internalType": "bytes32",
518
+ "name": "salt",
519
+ "type": "bytes32"
520
+ },
521
+ {
522
+ "internalType": "uint256[]",
523
+ "name": "extensions",
524
+ "type": "uint256[]"
181
525
  }
182
526
  ],
183
- "name": "newAppInstance",
527
+ "stateMutability": "view",
528
+ "type": "function"
529
+ },
530
+ {
531
+ "inputs": [],
532
+ "name": "entrypoint",
184
533
  "outputs": [
185
534
  {
186
- "name": "appProxy",
535
+ "internalType": "contract IEntryPoint",
536
+ "name": "",
187
537
  "type": "address"
188
538
  }
189
539
  ],
190
- "payable": false,
191
- "stateMutability": "nonpayable",
540
+ "stateMutability": "view",
192
541
  "type": "function"
193
542
  },
194
543
  {
195
- "constant": true,
196
- "inputs": [],
197
- "name": "recoveryVaultAppId",
198
- "outputs": [
544
+ "inputs": [
199
545
  {
200
- "name": "",
546
+ "internalType": "ExecMode",
547
+ "name": "execMode",
201
548
  "type": "bytes32"
549
+ },
550
+ {
551
+ "internalType": "bytes",
552
+ "name": "executionCalldata",
553
+ "type": "bytes"
202
554
  }
203
555
  ],
204
- "payable": false,
205
- "stateMutability": "view",
556
+ "name": "execute",
557
+ "outputs": [],
558
+ "stateMutability": "payable",
206
559
  "type": "function"
207
560
  },
208
561
  {
209
- "constant": true,
210
- "inputs": [],
211
- "name": "getInitializationBlock",
562
+ "inputs": [
563
+ {
564
+ "internalType": "ExecMode",
565
+ "name": "execMode",
566
+ "type": "bytes32"
567
+ },
568
+ {
569
+ "internalType": "bytes",
570
+ "name": "executionCalldata",
571
+ "type": "bytes"
572
+ }
573
+ ],
574
+ "name": "executeFromExecutor",
212
575
  "outputs": [
213
576
  {
214
- "name": "",
215
- "type": "uint256"
577
+ "internalType": "bytes[]",
578
+ "name": "returnData",
579
+ "type": "bytes[]"
216
580
  }
217
581
  ],
218
- "payable": false,
219
- "stateMutability": "view",
582
+ "stateMutability": "payable",
220
583
  "type": "function"
221
584
  },
222
585
  {
223
- "constant": false,
224
586
  "inputs": [
225
587
  {
226
- "name": "_recoveryVaultAppId",
588
+ "components": [
589
+ {
590
+ "internalType": "address",
591
+ "name": "sender",
592
+ "type": "address"
593
+ },
594
+ {
595
+ "internalType": "uint256",
596
+ "name": "nonce",
597
+ "type": "uint256"
598
+ },
599
+ {
600
+ "internalType": "bytes",
601
+ "name": "initCode",
602
+ "type": "bytes"
603
+ },
604
+ {
605
+ "internalType": "bytes",
606
+ "name": "callData",
607
+ "type": "bytes"
608
+ },
609
+ {
610
+ "internalType": "bytes32",
611
+ "name": "accountGasLimits",
612
+ "type": "bytes32"
613
+ },
614
+ {
615
+ "internalType": "uint256",
616
+ "name": "preVerificationGas",
617
+ "type": "uint256"
618
+ },
619
+ {
620
+ "internalType": "bytes32",
621
+ "name": "gasFees",
622
+ "type": "bytes32"
623
+ },
624
+ {
625
+ "internalType": "bytes",
626
+ "name": "paymasterAndData",
627
+ "type": "bytes"
628
+ },
629
+ {
630
+ "internalType": "bytes",
631
+ "name": "signature",
632
+ "type": "bytes"
633
+ }
634
+ ],
635
+ "internalType": "struct PackedUserOperation",
636
+ "name": "userOp",
637
+ "type": "tuple"
638
+ },
639
+ {
640
+ "internalType": "bytes32",
641
+ "name": "userOpHash",
227
642
  "type": "bytes32"
228
643
  }
229
644
  ],
230
- "name": "setRecoveryVaultAppId",
645
+ "name": "executeUserOp",
231
646
  "outputs": [],
232
- "payable": false,
233
- "stateMutability": "nonpayable",
647
+ "stateMutability": "payable",
234
648
  "type": "function"
235
649
  },
236
650
  {
237
- "constant": true,
238
- "inputs": [],
239
- "name": "APP_MANAGER_ROLE",
651
+ "inputs": [
652
+ {
653
+ "internalType": "contract IExecutor",
654
+ "name": "executor",
655
+ "type": "address"
656
+ }
657
+ ],
658
+ "name": "executorConfig",
240
659
  "outputs": [
241
660
  {
661
+ "components": [
662
+ {
663
+ "internalType": "contract IHook",
664
+ "name": "hook",
665
+ "type": "address"
666
+ }
667
+ ],
668
+ "internalType": "struct ExecutorManager.ExecutorConfig",
242
669
  "name": "",
243
- "type": "bytes32"
670
+ "type": "tuple"
244
671
  }
245
672
  ],
246
- "payable": false,
247
673
  "stateMutability": "view",
248
674
  "type": "function"
249
675
  },
250
676
  {
251
- "constant": false,
252
677
  "inputs": [
253
678
  {
254
- "name": "_appId",
255
- "type": "bytes32"
679
+ "internalType": "ValidationId",
680
+ "name": "_rootValidator",
681
+ "type": "bytes21"
256
682
  },
257
683
  {
258
- "name": "_appBase",
684
+ "internalType": "contract IHook",
685
+ "name": "hook",
259
686
  "type": "address"
260
- }
261
- ],
262
- "name": "newPinnedAppInstance",
263
- "outputs": [
687
+ },
264
688
  {
265
- "name": "appProxy",
266
- "type": "address"
689
+ "internalType": "bytes",
690
+ "name": "validatorData",
691
+ "type": "bytes"
692
+ },
693
+ {
694
+ "internalType": "bytes",
695
+ "name": "hookData",
696
+ "type": "bytes"
697
+ },
698
+ {
699
+ "internalType": "bytes[]",
700
+ "name": "initConfig",
701
+ "type": "bytes[]"
267
702
  }
268
703
  ],
269
- "payable": false,
704
+ "name": "initialize",
705
+ "outputs": [],
270
706
  "stateMutability": "nonpayable",
271
707
  "type": "function"
272
708
  },
273
709
  {
274
- "constant": false,
275
710
  "inputs": [
276
711
  {
277
- "name": "_token",
712
+ "internalType": "uint256",
713
+ "name": "moduleType",
714
+ "type": "uint256"
715
+ },
716
+ {
717
+ "internalType": "address",
718
+ "name": "module",
278
719
  "type": "address"
720
+ },
721
+ {
722
+ "internalType": "bytes",
723
+ "name": "initData",
724
+ "type": "bytes"
279
725
  }
280
726
  ],
281
- "name": "transferToVault",
727
+ "name": "installModule",
282
728
  "outputs": [],
283
- "payable": false,
284
- "stateMutability": "nonpayable",
729
+ "stateMutability": "payable",
285
730
  "type": "function"
286
731
  },
287
732
  {
288
- "constant": false,
289
733
  "inputs": [
290
734
  {
291
- "name": "_namespace",
292
- "type": "bytes32"
735
+ "internalType": "ValidationId[]",
736
+ "name": "vIds",
737
+ "type": "bytes21[]"
293
738
  },
294
739
  {
295
- "name": "_appId",
296
- "type": "bytes32"
740
+ "components": [
741
+ {
742
+ "internalType": "uint32",
743
+ "name": "nonce",
744
+ "type": "uint32"
745
+ },
746
+ {
747
+ "internalType": "contract IHook",
748
+ "name": "hook",
749
+ "type": "address"
750
+ }
751
+ ],
752
+ "internalType": "struct ValidationManager.ValidationConfig[]",
753
+ "name": "configs",
754
+ "type": "tuple[]"
297
755
  },
298
756
  {
299
- "name": "_app",
300
- "type": "address"
757
+ "internalType": "bytes[]",
758
+ "name": "validationData",
759
+ "type": "bytes[]"
760
+ },
761
+ {
762
+ "internalType": "bytes[]",
763
+ "name": "hookData",
764
+ "type": "bytes[]"
301
765
  }
302
766
  ],
303
- "name": "setApp",
767
+ "name": "installValidations",
304
768
  "outputs": [],
305
- "payable": false,
306
- "stateMutability": "nonpayable",
769
+ "stateMutability": "payable",
307
770
  "type": "function"
308
771
  },
309
772
  {
310
- "constant": true,
311
773
  "inputs": [
312
774
  {
313
- "name": "_namespace",
314
- "type": "bytes32"
775
+ "internalType": "uint32",
776
+ "name": "nonce",
777
+ "type": "uint32"
778
+ }
779
+ ],
780
+ "name": "invalidateNonce",
781
+ "outputs": [],
782
+ "stateMutability": "payable",
783
+ "type": "function"
784
+ },
785
+ {
786
+ "inputs": [
787
+ {
788
+ "internalType": "ValidationId",
789
+ "name": "vId",
790
+ "type": "bytes21"
315
791
  },
316
792
  {
317
- "name": "_appId",
318
- "type": "bytes32"
793
+ "internalType": "bytes4",
794
+ "name": "selector",
795
+ "type": "bytes4"
319
796
  }
320
797
  ],
321
- "name": "getApp",
798
+ "name": "isAllowedSelector",
322
799
  "outputs": [
323
800
  {
801
+ "internalType": "bool",
324
802
  "name": "",
803
+ "type": "bool"
804
+ }
805
+ ],
806
+ "stateMutability": "view",
807
+ "type": "function"
808
+ },
809
+ {
810
+ "inputs": [
811
+ {
812
+ "internalType": "uint256",
813
+ "name": "moduleType",
814
+ "type": "uint256"
815
+ },
816
+ {
817
+ "internalType": "address",
818
+ "name": "module",
325
819
  "type": "address"
820
+ },
821
+ {
822
+ "internalType": "bytes",
823
+ "name": "additionalContext",
824
+ "type": "bytes"
825
+ }
826
+ ],
827
+ "name": "isModuleInstalled",
828
+ "outputs": [
829
+ {
830
+ "internalType": "bool",
831
+ "name": "",
832
+ "type": "bool"
326
833
  }
327
834
  ],
328
- "payable": false,
329
835
  "stateMutability": "view",
330
836
  "type": "function"
331
837
  },
332
838
  {
333
- "constant": false,
334
839
  "inputs": [
335
840
  {
336
- "name": "_appId",
841
+ "internalType": "bytes32",
842
+ "name": "hash",
337
843
  "type": "bytes32"
338
844
  },
339
845
  {
340
- "name": "_appBase",
341
- "type": "address"
846
+ "internalType": "bytes",
847
+ "name": "signature",
848
+ "type": "bytes"
849
+ }
850
+ ],
851
+ "name": "isValidSignature",
852
+ "outputs": [
853
+ {
854
+ "internalType": "bytes4",
855
+ "name": "",
856
+ "type": "bytes4"
857
+ }
858
+ ],
859
+ "stateMutability": "view",
860
+ "type": "function"
861
+ },
862
+ {
863
+ "inputs": [
864
+ {
865
+ "internalType": "address",
866
+ "name": "",
867
+ "type": "address"
868
+ },
869
+ {
870
+ "internalType": "address",
871
+ "name": "",
872
+ "type": "address"
873
+ },
874
+ {
875
+ "internalType": "uint256[]",
876
+ "name": "",
877
+ "type": "uint256[]"
878
+ },
879
+ {
880
+ "internalType": "uint256[]",
881
+ "name": "",
882
+ "type": "uint256[]"
883
+ },
884
+ {
885
+ "internalType": "bytes",
886
+ "name": "",
887
+ "type": "bytes"
888
+ }
889
+ ],
890
+ "name": "onERC1155BatchReceived",
891
+ "outputs": [
892
+ {
893
+ "internalType": "bytes4",
894
+ "name": "",
895
+ "type": "bytes4"
896
+ }
897
+ ],
898
+ "stateMutability": "pure",
899
+ "type": "function"
900
+ },
901
+ {
902
+ "inputs": [
903
+ {
904
+ "internalType": "address",
905
+ "name": "",
906
+ "type": "address"
907
+ },
908
+ {
909
+ "internalType": "address",
910
+ "name": "",
911
+ "type": "address"
912
+ },
913
+ {
914
+ "internalType": "uint256",
915
+ "name": "",
916
+ "type": "uint256"
917
+ },
918
+ {
919
+ "internalType": "uint256",
920
+ "name": "",
921
+ "type": "uint256"
342
922
  },
343
923
  {
344
- "name": "_initializePayload",
924
+ "internalType": "bytes",
925
+ "name": "",
345
926
  "type": "bytes"
346
- },
347
- {
348
- "name": "_setDefault",
349
- "type": "bool"
350
927
  }
351
928
  ],
352
- "name": "newPinnedAppInstance",
929
+ "name": "onERC1155Received",
353
930
  "outputs": [
354
931
  {
355
- "name": "appProxy",
356
- "type": "address"
932
+ "internalType": "bytes4",
933
+ "name": "",
934
+ "type": "bytes4"
357
935
  }
358
936
  ],
359
- "payable": false,
360
- "stateMutability": "nonpayable",
937
+ "stateMutability": "pure",
361
938
  "type": "function"
362
939
  },
363
940
  {
364
- "constant": false,
365
941
  "inputs": [
366
942
  {
367
- "name": "_kernel",
943
+ "internalType": "address",
944
+ "name": "",
368
945
  "type": "address"
369
946
  },
370
947
  {
371
- "name": "_appId",
372
- "type": "bytes32"
948
+ "internalType": "address",
949
+ "name": "",
950
+ "type": "address"
373
951
  },
374
952
  {
375
- "name": "_initializePayload",
953
+ "internalType": "uint256",
954
+ "name": "",
955
+ "type": "uint256"
956
+ },
957
+ {
958
+ "internalType": "bytes",
959
+ "name": "",
376
960
  "type": "bytes"
377
961
  }
378
962
  ],
379
- "name": "newAppProxyPinned",
963
+ "name": "onERC721Received",
380
964
  "outputs": [
381
965
  {
966
+ "internalType": "bytes4",
382
967
  "name": "",
383
- "type": "address"
968
+ "type": "bytes4"
384
969
  }
385
970
  ],
386
- "payable": false,
387
- "stateMutability": "nonpayable",
971
+ "stateMutability": "pure",
388
972
  "type": "function"
389
973
  },
390
974
  {
391
- "constant": true,
392
- "inputs": [],
393
- "name": "APP_BASES_NAMESPACE",
394
- "outputs": [
975
+ "inputs": [
395
976
  {
396
- "name": "",
397
- "type": "bytes32"
977
+ "internalType": "PermissionId",
978
+ "name": "pId",
979
+ "type": "bytes4"
398
980
  }
399
981
  ],
400
- "payable": false,
401
- "stateMutability": "pure",
402
- "type": "function"
403
- },
404
- {
405
- "constant": true,
406
- "inputs": [],
407
- "name": "acl",
982
+ "name": "permissionConfig",
408
983
  "outputs": [
409
984
  {
985
+ "components": [
986
+ {
987
+ "internalType": "PassFlag",
988
+ "name": "permissionFlag",
989
+ "type": "bytes2"
990
+ },
991
+ {
992
+ "internalType": "contract ISigner",
993
+ "name": "signer",
994
+ "type": "address"
995
+ },
996
+ {
997
+ "internalType": "PolicyData[]",
998
+ "name": "policyData",
999
+ "type": "bytes22[]"
1000
+ }
1001
+ ],
1002
+ "internalType": "struct ValidationManager.PermissionConfig",
410
1003
  "name": "",
411
- "type": "address"
1004
+ "type": "tuple"
412
1005
  }
413
1006
  ],
414
- "payable": false,
415
1007
  "stateMutability": "view",
416
1008
  "type": "function"
417
1009
  },
418
1010
  {
419
- "constant": true,
420
1011
  "inputs": [],
421
- "name": "isPetrified",
1012
+ "name": "rootValidator",
422
1013
  "outputs": [
423
1014
  {
1015
+ "internalType": "ValidationId",
424
1016
  "name": "",
425
- "type": "bool"
1017
+ "type": "bytes21"
426
1018
  }
427
1019
  ],
428
- "payable": false,
429
1020
  "stateMutability": "view",
430
1021
  "type": "function"
431
1022
  },
432
1023
  {
433
- "constant": false,
434
1024
  "inputs": [
435
1025
  {
436
- "name": "_kernel",
437
- "type": "address"
438
- },
439
- {
440
- "name": "_appId",
441
- "type": "bytes32"
1026
+ "internalType": "bytes4",
1027
+ "name": "selector",
1028
+ "type": "bytes4"
442
1029
  }
443
1030
  ],
444
- "name": "newAppProxy",
1031
+ "name": "selectorConfig",
445
1032
  "outputs": [
446
1033
  {
1034
+ "components": [
1035
+ {
1036
+ "internalType": "contract IHook",
1037
+ "name": "hook",
1038
+ "type": "address"
1039
+ },
1040
+ {
1041
+ "internalType": "address",
1042
+ "name": "target",
1043
+ "type": "address"
1044
+ },
1045
+ {
1046
+ "internalType": "CallType",
1047
+ "name": "callType",
1048
+ "type": "bytes1"
1049
+ }
1050
+ ],
1051
+ "internalType": "struct SelectorManager.SelectorConfig",
447
1052
  "name": "",
448
- "type": "address"
1053
+ "type": "tuple"
449
1054
  }
450
1055
  ],
451
- "payable": false,
452
- "stateMutability": "nonpayable",
1056
+ "stateMutability": "view",
453
1057
  "type": "function"
454
1058
  },
455
1059
  {
456
- "constant": true,
457
- "inputs": [],
458
- "name": "DEFAULT_ACL_APP_ID",
1060
+ "inputs": [
1061
+ {
1062
+ "internalType": "ExecMode",
1063
+ "name": "mode",
1064
+ "type": "bytes32"
1065
+ }
1066
+ ],
1067
+ "name": "supportsExecutionMode",
459
1068
  "outputs": [
460
1069
  {
1070
+ "internalType": "bool",
461
1071
  "name": "",
462
- "type": "bytes32"
1072
+ "type": "bool"
463
1073
  }
464
1074
  ],
465
- "payable": false,
466
1075
  "stateMutability": "pure",
467
1076
  "type": "function"
468
1077
  },
469
1078
  {
470
- "constant": false,
471
1079
  "inputs": [
472
1080
  {
473
- "name": "_kernel",
474
- "type": "address"
475
- },
476
- {
477
- "name": "_appId",
478
- "type": "bytes32"
479
- },
480
- {
481
- "name": "_initializePayload",
482
- "type": "bytes"
1081
+ "internalType": "uint256",
1082
+ "name": "moduleTypeId",
1083
+ "type": "uint256"
483
1084
  }
484
1085
  ],
485
- "name": "newAppProxy",
1086
+ "name": "supportsModule",
486
1087
  "outputs": [
487
1088
  {
1089
+ "internalType": "bool",
488
1090
  "name": "",
489
- "type": "address"
1091
+ "type": "bool"
490
1092
  }
491
1093
  ],
492
- "payable": false,
493
- "stateMutability": "nonpayable",
1094
+ "stateMutability": "pure",
494
1095
  "type": "function"
495
1096
  },
496
1097
  {
497
- "constant": true,
498
1098
  "inputs": [
499
1099
  {
500
- "name": "_who",
501
- "type": "address"
1100
+ "internalType": "uint256",
1101
+ "name": "moduleType",
1102
+ "type": "uint256"
502
1103
  },
503
1104
  {
504
- "name": "_where",
1105
+ "internalType": "address",
1106
+ "name": "module",
505
1107
  "type": "address"
506
1108
  },
507
1109
  {
508
- "name": "_what",
509
- "type": "bytes32"
510
- },
511
- {
512
- "name": "_how",
1110
+ "internalType": "bytes",
1111
+ "name": "deInitData",
513
1112
  "type": "bytes"
514
1113
  }
515
1114
  ],
516
- "name": "hasPermission",
517
- "outputs": [
518
- {
519
- "name": "",
520
- "type": "bool"
521
- }
522
- ],
523
- "payable": false,
524
- "stateMutability": "view",
1115
+ "name": "uninstallModule",
1116
+ "outputs": [],
1117
+ "stateMutability": "payable",
525
1118
  "type": "function"
526
1119
  },
527
1120
  {
528
- "constant": false,
529
1121
  "inputs": [
530
1122
  {
531
- "name": "_kernel",
532
- "type": "address"
1123
+ "internalType": "ValidationId",
1124
+ "name": "vId",
1125
+ "type": "bytes21"
533
1126
  },
534
1127
  {
535
- "name": "_appId",
536
- "type": "bytes32"
537
- }
538
- ],
539
- "name": "newAppProxyPinned",
540
- "outputs": [
1128
+ "internalType": "bytes",
1129
+ "name": "deinitData",
1130
+ "type": "bytes"
1131
+ },
541
1132
  {
542
- "name": "",
543
- "type": "address"
1133
+ "internalType": "bytes",
1134
+ "name": "hookDeinitData",
1135
+ "type": "bytes"
544
1136
  }
545
1137
  ],
546
- "payable": false,
547
- "stateMutability": "nonpayable",
1138
+ "name": "uninstallValidation",
1139
+ "outputs": [],
1140
+ "stateMutability": "payable",
548
1141
  "type": "function"
549
1142
  },
550
1143
  {
551
1144
  "inputs": [
552
1145
  {
553
- "name": "_shouldPetrify",
554
- "type": "bool"
1146
+ "internalType": "address",
1147
+ "name": "_newImplementation",
1148
+ "type": "address"
555
1149
  }
556
1150
  ],
557
- "payable": false,
558
- "stateMutability": "nonpayable",
559
- "type": "constructor"
1151
+ "name": "upgradeTo",
1152
+ "outputs": [],
1153
+ "stateMutability": "payable",
1154
+ "type": "function"
560
1155
  },
561
1156
  {
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
- },
1157
+ "inputs": [],
1158
+ "name": "validNonceFrom",
1159
+ "outputs": [
574
1160
  {
575
- "indexed": false,
576
- "name": "appId",
577
- "type": "bytes32"
1161
+ "internalType": "uint32",
1162
+ "name": "",
1163
+ "type": "uint32"
578
1164
  }
579
1165
  ],
580
- "name": "NewAppProxy",
581
- "type": "event"
1166
+ "stateMutability": "view",
1167
+ "type": "function"
582
1168
  },
583
1169
  {
584
- "anonymous": false,
585
1170
  "inputs": [
586
1171
  {
587
- "indexed": true,
588
- "name": "vault",
589
- "type": "address"
1172
+ "components": [
1173
+ {
1174
+ "internalType": "address",
1175
+ "name": "sender",
1176
+ "type": "address"
1177
+ },
1178
+ {
1179
+ "internalType": "uint256",
1180
+ "name": "nonce",
1181
+ "type": "uint256"
1182
+ },
1183
+ {
1184
+ "internalType": "bytes",
1185
+ "name": "initCode",
1186
+ "type": "bytes"
1187
+ },
1188
+ {
1189
+ "internalType": "bytes",
1190
+ "name": "callData",
1191
+ "type": "bytes"
1192
+ },
1193
+ {
1194
+ "internalType": "bytes32",
1195
+ "name": "accountGasLimits",
1196
+ "type": "bytes32"
1197
+ },
1198
+ {
1199
+ "internalType": "uint256",
1200
+ "name": "preVerificationGas",
1201
+ "type": "uint256"
1202
+ },
1203
+ {
1204
+ "internalType": "bytes32",
1205
+ "name": "gasFees",
1206
+ "type": "bytes32"
1207
+ },
1208
+ {
1209
+ "internalType": "bytes",
1210
+ "name": "paymasterAndData",
1211
+ "type": "bytes"
1212
+ },
1213
+ {
1214
+ "internalType": "bytes",
1215
+ "name": "signature",
1216
+ "type": "bytes"
1217
+ }
1218
+ ],
1219
+ "internalType": "struct PackedUserOperation",
1220
+ "name": "userOp",
1221
+ "type": "tuple"
590
1222
  },
591
1223
  {
592
- "indexed": true,
593
- "name": "token",
594
- "type": "address"
1224
+ "internalType": "bytes32",
1225
+ "name": "userOpHash",
1226
+ "type": "bytes32"
595
1227
  },
596
1228
  {
597
- "indexed": false,
598
- "name": "amount",
1229
+ "internalType": "uint256",
1230
+ "name": "missingAccountFunds",
599
1231
  "type": "uint256"
600
1232
  }
601
1233
  ],
602
- "name": "RecoverToVault",
603
- "type": "event"
1234
+ "name": "validateUserOp",
1235
+ "outputs": [
1236
+ {
1237
+ "internalType": "ValidationData",
1238
+ "name": "validationData",
1239
+ "type": "uint256"
1240
+ }
1241
+ ],
1242
+ "stateMutability": "payable",
1243
+ "type": "function"
604
1244
  },
605
1245
  {
606
- "anonymous": false,
607
1246
  "inputs": [
608
1247
  {
609
- "indexed": true,
610
- "name": "namespace",
611
- "type": "bytes32"
612
- },
613
- {
614
- "indexed": true,
615
- "name": "appId",
616
- "type": "bytes32"
617
- },
1248
+ "internalType": "ValidationId",
1249
+ "name": "vId",
1250
+ "type": "bytes21"
1251
+ }
1252
+ ],
1253
+ "name": "validationConfig",
1254
+ "outputs": [
618
1255
  {
619
- "indexed": false,
620
- "name": "app",
621
- "type": "address"
1256
+ "components": [
1257
+ {
1258
+ "internalType": "uint32",
1259
+ "name": "nonce",
1260
+ "type": "uint32"
1261
+ },
1262
+ {
1263
+ "internalType": "contract IHook",
1264
+ "name": "hook",
1265
+ "type": "address"
1266
+ }
1267
+ ],
1268
+ "internalType": "struct ValidationManager.ValidationConfig",
1269
+ "name": "",
1270
+ "type": "tuple"
622
1271
  }
623
1272
  ],
624
- "name": "SetApp",
625
- "type": "event"
1273
+ "stateMutability": "view",
1274
+ "type": "function"
1275
+ },
1276
+ {
1277
+ "stateMutability": "payable",
1278
+ "type": "receive"
626
1279
  }
627
1280
  ] as const satisfies Abi;
628
1281
 
@@ -709,134 +1362,155 @@ export class Kernel_json {
709
1362
  }
710
1363
 
711
1364
  /**
712
- * hasInitialized
713
- * view
1365
+ * accountId
1366
+ * pure
714
1367
  */
715
- async hasInitialized(): Promise<boolean> {
716
- return this.contract.read.hasInitialized() as Promise<boolean>;
1368
+ async accountId(): Promise<string> {
1369
+ return this.contract.read.accountId() as Promise<string>;
717
1370
  }
718
1371
 
719
1372
  /**
720
- * KERNEL_APP_ID
721
- * pure
1373
+ * currentNonce
1374
+ * view
722
1375
  */
723
- async KERNEL_APP_ID(): Promise<`0x${string}`> {
724
- return this.contract.read.KERNEL_APP_ID() as Promise<`0x${string}`>;
1376
+ async currentNonce(): Promise<bigint> {
1377
+ return this.contract.read.currentNonce() as Promise<bigint>;
725
1378
  }
726
1379
 
727
1380
  /**
728
- * APP_ADDR_NAMESPACE
729
- * pure
1381
+ * eip712Domain
1382
+ * view
730
1383
  */
731
- async APP_ADDR_NAMESPACE(): Promise<`0x${string}`> {
732
- return this.contract.read.APP_ADDR_NAMESPACE() as Promise<`0x${string}`>;
1384
+ async eip712Domain(): Promise<[`0x${string}`, string, string, bigint, `0x${string}`, `0x${string}`, bigint[]]> {
1385
+ return this.contract.read.eip712Domain() as Promise<[`0x${string}`, string, string, bigint, `0x${string}`, `0x${string}`, bigint[]]>;
733
1386
  }
734
1387
 
735
1388
  /**
736
- * getRecoveryVault
1389
+ * entrypoint
737
1390
  * view
738
1391
  */
739
- async getRecoveryVault(): Promise<`0x${string}`> {
740
- return this.contract.read.getRecoveryVault() as Promise<`0x${string}`>;
1392
+ async entrypoint(): Promise<`0x${string}`> {
1393
+ return this.contract.read.entrypoint() as Promise<`0x${string}`>;
741
1394
  }
742
1395
 
743
1396
  /**
744
- * apps
1397
+ * executorConfig
745
1398
  * view
746
1399
  */
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}`>;
1400
+ async executorConfig(executor: `0x${string}`): Promise<ExecutorManager_ExecutorConfig> {
1401
+ return this.contract.read.executorConfig([executor] as const) as Promise<ExecutorManager_ExecutorConfig>;
749
1402
  }
750
1403
 
751
1404
  /**
752
- * CORE_NAMESPACE
753
- * pure
1405
+ * isAllowedSelector
1406
+ * view
754
1407
  */
755
- async CORE_NAMESPACE(): Promise<`0x${string}`> {
756
- return this.contract.read.CORE_NAMESPACE() as Promise<`0x${string}`>;
1408
+ async isAllowedSelector(vId: `0x${string}`, selector: `0x${string}`): Promise<boolean> {
1409
+ return this.contract.read.isAllowedSelector([vId, selector] as const) as Promise<boolean>;
757
1410
  }
758
1411
 
759
1412
  /**
760
- * allowRecoverability
1413
+ * isModuleInstalled
761
1414
  * view
762
1415
  */
763
- async allowRecoverability(token: `0x${string}`): Promise<boolean> {
764
- return this.contract.read.allowRecoverability([token] as const) as Promise<boolean>;
1416
+ async isModuleInstalled(moduleType: bigint, module: `0x${string}`, additionalContext: `0x${string}`): Promise<boolean> {
1417
+ return this.contract.read.isModuleInstalled([moduleType, module, additionalContext] as const) as Promise<boolean>;
765
1418
  }
766
1419
 
767
1420
  /**
768
- * recoveryVaultAppId
1421
+ * isValidSignature
769
1422
  * view
770
1423
  */
771
- async recoveryVaultAppId(): Promise<`0x${string}`> {
772
- return this.contract.read.recoveryVaultAppId() as Promise<`0x${string}`>;
1424
+ async isValidSignature(hash: `0x${string}`, signature: `0x${string}`): Promise<`0x${string}`> {
1425
+ return this.contract.read.isValidSignature([hash, signature] as const) as Promise<`0x${string}`>;
773
1426
  }
774
1427
 
775
1428
  /**
776
- * getInitializationBlock
777
- * view
1429
+ * onERC1155BatchReceived
1430
+ * pure
778
1431
  */
779
- async getInitializationBlock(): Promise<bigint> {
780
- return this.contract.read.getInitializationBlock() as Promise<bigint>;
1432
+ async onERC1155BatchReceived(arg0: `0x${string}`, arg1: `0x${string}`, arg2: bigint[], arg3: bigint[], arg4: `0x${string}`): Promise<`0x${string}`> {
1433
+ return this.contract.read.onERC1155BatchReceived([arg0, arg1, arg2, arg3, arg4] as const) as Promise<`0x${string}`>;
781
1434
  }
782
1435
 
783
1436
  /**
784
- * APP_MANAGER_ROLE
785
- * view
1437
+ * onERC1155Received
1438
+ * pure
786
1439
  */
787
- async APP_MANAGER_ROLE(): Promise<`0x${string}`> {
788
- return this.contract.read.APP_MANAGER_ROLE() as Promise<`0x${string}`>;
1440
+ async onERC1155Received(arg0: `0x${string}`, arg1: `0x${string}`, arg2: bigint, arg3: bigint, arg4: `0x${string}`): Promise<`0x${string}`> {
1441
+ return this.contract.read.onERC1155Received([arg0, arg1, arg2, arg3, arg4] as const) as Promise<`0x${string}`>;
789
1442
  }
790
1443
 
791
1444
  /**
792
- * getApp
793
- * view
1445
+ * onERC721Received
1446
+ * pure
794
1447
  */
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}`>;
1448
+ async onERC721Received(arg0: `0x${string}`, arg1: `0x${string}`, arg2: bigint, arg3: `0x${string}`): Promise<`0x${string}`> {
1449
+ return this.contract.read.onERC721Received([arg0, arg1, arg2, arg3] as const) as Promise<`0x${string}`>;
797
1450
  }
798
1451
 
799
1452
  /**
800
- * APP_BASES_NAMESPACE
801
- * pure
1453
+ * permissionConfig
1454
+ * view
802
1455
  */
803
- async APP_BASES_NAMESPACE(): Promise<`0x${string}`> {
804
- return this.contract.read.APP_BASES_NAMESPACE() as Promise<`0x${string}`>;
1456
+ async permissionConfig(pId: `0x${string}`): Promise<ValidationManager_PermissionConfig> {
1457
+ return this.contract.read.permissionConfig([pId] as const) as Promise<ValidationManager_PermissionConfig>;
805
1458
  }
806
1459
 
807
1460
  /**
808
- * acl
1461
+ * rootValidator
809
1462
  * view
810
1463
  */
811
- async acl(): Promise<`0x${string}`> {
812
- return this.contract.read.acl() as Promise<`0x${string}`>;
1464
+ async rootValidator(): Promise<`0x${string}`> {
1465
+ return this.contract.read.rootValidator() as Promise<`0x${string}`>;
813
1466
  }
814
1467
 
815
1468
  /**
816
- * isPetrified
1469
+ * selectorConfig
817
1470
  * view
818
1471
  */
819
- async isPetrified(): Promise<boolean> {
820
- return this.contract.read.isPetrified() as Promise<boolean>;
1472
+ async selectorConfig(selector: `0x${string}`): Promise<SelectorManager_SelectorConfig> {
1473
+ return this.contract.read.selectorConfig([selector] as const) as Promise<SelectorManager_SelectorConfig>;
1474
+ }
1475
+
1476
+ /**
1477
+ * supportsExecutionMode
1478
+ * pure
1479
+ */
1480
+ async supportsExecutionMode(mode: `0x${string}`): Promise<boolean> {
1481
+ return this.contract.read.supportsExecutionMode([mode] as const) as Promise<boolean>;
821
1482
  }
822
1483
 
823
1484
  /**
824
- * DEFAULT_ACL_APP_ID
1485
+ * supportsModule
825
1486
  * pure
826
1487
  */
827
- async DEFAULT_ACL_APP_ID(): Promise<`0x${string}`> {
828
- return this.contract.read.DEFAULT_ACL_APP_ID() as Promise<`0x${string}`>;
1488
+ async supportsModule(moduleTypeId: bigint): Promise<boolean> {
1489
+ return this.contract.read.supportsModule([moduleTypeId] as const) as Promise<boolean>;
1490
+ }
1491
+
1492
+ /**
1493
+ * validNonceFrom
1494
+ * view
1495
+ */
1496
+ async validNonceFrom(): Promise<bigint> {
1497
+ return this.contract.read.validNonceFrom() as Promise<bigint>;
829
1498
  }
830
1499
 
831
1500
  /**
832
- * hasPermission
1501
+ * validationConfig
833
1502
  * view
834
1503
  */
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>;
1504
+ async validationConfig(vId: `0x${string}`): Promise<ValidationManager_ValidationConfig> {
1505
+ return this.contract.read.validationConfig([vId] as const) as Promise<ValidationManager_ValidationConfig>;
837
1506
  }
838
1507
 
839
- async newAppInstance(_appId: `0x${string}`, _appBase: `0x${string}`, _initializePayload: `0x${string}`, _setDefault: boolean, options?: {
1508
+ /**
1509
+ * changeRootValidator
1510
+ * payable
1511
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1512
+ */
1513
+ async changeRootValidator(_rootValidator: `0x${string}`, hook: `0x${string}`, validatorData: `0x${string}`, hookData: `0x${string}`, options?: {
840
1514
  accessList?: import('viem').AccessList;
841
1515
  authorizationList?: import('viem').AuthorizationList;
842
1516
  chain?: import('viem').Chain | null;
@@ -847,8 +1521,19 @@ export class Kernel_json {
847
1521
  maxPriorityFeePerGas?: bigint;
848
1522
  nonce?: number;
849
1523
  value?: bigint;
850
- }): Promise<`0x${string}`>;
851
- async newAppInstance(_appId: `0x${string}`, _appBase: `0x${string}`, options?: {
1524
+ }): Promise<`0x${string}`> {
1525
+ if (!this.contract.write) {
1526
+ throw new Error('Wallet client is required for write operations');
1527
+ }
1528
+ return this.contract.write.changeRootValidator([_rootValidator, hook, validatorData, hookData] as const, options) as Promise<`0x${string}`>;
1529
+ }
1530
+
1531
+ /**
1532
+ * execute
1533
+ * payable
1534
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1535
+ */
1536
+ async execute(execMode: `0x${string}`, executionCalldata: `0x${string}`, options?: {
852
1537
  accessList?: import('viem').AccessList;
853
1538
  authorizationList?: import('viem').AuthorizationList;
854
1539
  chain?: import('viem').Chain | null;
@@ -859,20 +1544,19 @@ export class Kernel_json {
859
1544
  maxPriorityFeePerGas?: bigint;
860
1545
  nonce?: number;
861
1546
  value?: bigint;
862
- }): Promise<`0x${string}`>;
863
- async newAppInstance(...args: any[]): Promise<`0x${string}`> {
1547
+ }): Promise<`0x${string}`> {
864
1548
  if (!this.contract.write) {
865
1549
  throw new Error('Wallet client is required for write operations');
866
1550
  }
867
- return this.contract.write.newAppInstance(args as any) as Promise<`0x${string}`>;
1551
+ return this.contract.write.execute([execMode, executionCalldata] as const, options) as Promise<`0x${string}`>;
868
1552
  }
869
1553
 
870
1554
  /**
871
- * initialize
872
- * nonpayable
1555
+ * executeFromExecutor
1556
+ * payable
873
1557
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
874
1558
  */
875
- async initialize(_baseAcl: `0x${string}`, _permissionsCreator: `0x${string}`, options?: {
1559
+ async executeFromExecutor(execMode: `0x${string}`, executionCalldata: `0x${string}`, options?: {
876
1560
  accessList?: import('viem').AccessList;
877
1561
  authorizationList?: import('viem').AuthorizationList;
878
1562
  chain?: import('viem').Chain | null;
@@ -887,15 +1571,15 @@ export class Kernel_json {
887
1571
  if (!this.contract.write) {
888
1572
  throw new Error('Wallet client is required for write operations');
889
1573
  }
890
- return this.contract.write.initialize([_baseAcl, _permissionsCreator] as const, options) as Promise<`0x${string}`>;
1574
+ return this.contract.write.executeFromExecutor([execMode, executionCalldata] as const, options) as Promise<`0x${string}`>;
891
1575
  }
892
1576
 
893
1577
  /**
894
- * setRecoveryVaultAppId
895
- * nonpayable
1578
+ * executeUserOp
1579
+ * payable
896
1580
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
897
1581
  */
898
- async setRecoveryVaultAppId(_recoveryVaultAppId: `0x${string}`, options?: {
1582
+ async executeUserOp(userOp: PackedUserOperation, userOpHash: `0x${string}`, options?: {
899
1583
  accessList?: import('viem').AccessList;
900
1584
  authorizationList?: import('viem').AuthorizationList;
901
1585
  chain?: import('viem').Chain | null;
@@ -910,10 +1594,15 @@ export class Kernel_json {
910
1594
  if (!this.contract.write) {
911
1595
  throw new Error('Wallet client is required for write operations');
912
1596
  }
913
- return this.contract.write.setRecoveryVaultAppId([_recoveryVaultAppId] as const, options) as Promise<`0x${string}`>;
1597
+ return this.contract.write.executeUserOp([userOp, userOpHash] as const, options) as Promise<`0x${string}`>;
914
1598
  }
915
1599
 
916
- async newPinnedAppInstance(_appId: `0x${string}`, _appBase: `0x${string}`, options?: {
1600
+ /**
1601
+ * initialize
1602
+ * nonpayable
1603
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1604
+ */
1605
+ async initialize(_rootValidator: `0x${string}`, hook: `0x${string}`, validatorData: `0x${string}`, hookData: `0x${string}`, initConfig: `0x${string}`[], options?: {
917
1606
  accessList?: import('viem').AccessList;
918
1607
  authorizationList?: import('viem').AuthorizationList;
919
1608
  chain?: import('viem').Chain | null;
@@ -924,8 +1613,19 @@ export class Kernel_json {
924
1613
  maxPriorityFeePerGas?: bigint;
925
1614
  nonce?: number;
926
1615
  value?: bigint;
927
- }): Promise<`0x${string}`>;
928
- async newPinnedAppInstance(_appId: `0x${string}`, _appBase: `0x${string}`, _initializePayload: `0x${string}`, _setDefault: boolean, options?: {
1616
+ }): Promise<`0x${string}`> {
1617
+ if (!this.contract.write) {
1618
+ throw new Error('Wallet client is required for write operations');
1619
+ }
1620
+ return this.contract.write.initialize([_rootValidator, hook, validatorData, hookData, initConfig] as const, options) as Promise<`0x${string}`>;
1621
+ }
1622
+
1623
+ /**
1624
+ * installModule
1625
+ * payable
1626
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1627
+ */
1628
+ async installModule(moduleType: bigint, module: `0x${string}`, initData: `0x${string}`, options?: {
929
1629
  accessList?: import('viem').AccessList;
930
1630
  authorizationList?: import('viem').AuthorizationList;
931
1631
  chain?: import('viem').Chain | null;
@@ -936,20 +1636,19 @@ export class Kernel_json {
936
1636
  maxPriorityFeePerGas?: bigint;
937
1637
  nonce?: number;
938
1638
  value?: bigint;
939
- }): Promise<`0x${string}`>;
940
- async newPinnedAppInstance(...args: any[]): Promise<`0x${string}`> {
1639
+ }): Promise<`0x${string}`> {
941
1640
  if (!this.contract.write) {
942
1641
  throw new Error('Wallet client is required for write operations');
943
1642
  }
944
- return this.contract.write.newPinnedAppInstance(args as any) as Promise<`0x${string}`>;
1643
+ return this.contract.write.installModule([moduleType, module, initData] as const, options) as Promise<`0x${string}`>;
945
1644
  }
946
1645
 
947
1646
  /**
948
- * transferToVault
949
- * nonpayable
1647
+ * installValidations
1648
+ * payable
950
1649
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
951
1650
  */
952
- async transferToVault(_token: `0x${string}`, options?: {
1651
+ async installValidations(vIds: `0x${string}`[], configs: ValidationManager_ValidationConfig[], validationData: `0x${string}`[], hookData: `0x${string}`[], options?: {
953
1652
  accessList?: import('viem').AccessList;
954
1653
  authorizationList?: import('viem').AuthorizationList;
955
1654
  chain?: import('viem').Chain | null;
@@ -964,15 +1663,15 @@ export class Kernel_json {
964
1663
  if (!this.contract.write) {
965
1664
  throw new Error('Wallet client is required for write operations');
966
1665
  }
967
- return this.contract.write.transferToVault([_token] as const, options) as Promise<`0x${string}`>;
1666
+ return this.contract.write.installValidations([vIds, configs, validationData, hookData] as const, options) as Promise<`0x${string}`>;
968
1667
  }
969
1668
 
970
1669
  /**
971
- * setApp
972
- * nonpayable
1670
+ * invalidateNonce
1671
+ * payable
973
1672
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
974
1673
  */
975
- async setApp(_namespace: `0x${string}`, _appId: `0x${string}`, _app: `0x${string}`, options?: {
1674
+ async invalidateNonce(nonce: bigint, options?: {
976
1675
  accessList?: import('viem').AccessList;
977
1676
  authorizationList?: import('viem').AuthorizationList;
978
1677
  chain?: import('viem').Chain | null;
@@ -987,10 +1686,15 @@ export class Kernel_json {
987
1686
  if (!this.contract.write) {
988
1687
  throw new Error('Wallet client is required for write operations');
989
1688
  }
990
- return this.contract.write.setApp([_namespace, _appId, _app] as const, options) as Promise<`0x${string}`>;
1689
+ return this.contract.write.invalidateNonce([nonce] as const, options) as Promise<`0x${string}`>;
991
1690
  }
992
1691
 
993
- async newAppProxyPinned(_kernel: `0x${string}`, _appId: `0x${string}`, _initializePayload: `0x${string}`, options?: {
1692
+ /**
1693
+ * uninstallModule
1694
+ * payable
1695
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1696
+ */
1697
+ async uninstallModule(moduleType: bigint, module: `0x${string}`, deInitData: `0x${string}`, options?: {
994
1698
  accessList?: import('viem').AccessList;
995
1699
  authorizationList?: import('viem').AuthorizationList;
996
1700
  chain?: import('viem').Chain | null;
@@ -1001,8 +1705,19 @@ export class Kernel_json {
1001
1705
  maxPriorityFeePerGas?: bigint;
1002
1706
  nonce?: number;
1003
1707
  value?: bigint;
1004
- }): Promise<`0x${string}`>;
1005
- async newAppProxyPinned(_kernel: `0x${string}`, _appId: `0x${string}`, options?: {
1708
+ }): Promise<`0x${string}`> {
1709
+ if (!this.contract.write) {
1710
+ throw new Error('Wallet client is required for write operations');
1711
+ }
1712
+ return this.contract.write.uninstallModule([moduleType, module, deInitData] as const, options) as Promise<`0x${string}`>;
1713
+ }
1714
+
1715
+ /**
1716
+ * uninstallValidation
1717
+ * payable
1718
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1719
+ */
1720
+ async uninstallValidation(vId: `0x${string}`, deinitData: `0x${string}`, hookDeinitData: `0x${string}`, options?: {
1006
1721
  accessList?: import('viem').AccessList;
1007
1722
  authorizationList?: import('viem').AuthorizationList;
1008
1723
  chain?: import('viem').Chain | null;
@@ -1013,15 +1728,19 @@ export class Kernel_json {
1013
1728
  maxPriorityFeePerGas?: bigint;
1014
1729
  nonce?: number;
1015
1730
  value?: bigint;
1016
- }): Promise<`0x${string}`>;
1017
- async newAppProxyPinned(...args: any[]): Promise<`0x${string}`> {
1731
+ }): Promise<`0x${string}`> {
1018
1732
  if (!this.contract.write) {
1019
1733
  throw new Error('Wallet client is required for write operations');
1020
1734
  }
1021
- return this.contract.write.newAppProxyPinned(args as any) as Promise<`0x${string}`>;
1735
+ return this.contract.write.uninstallValidation([vId, deinitData, hookDeinitData] as const, options) as Promise<`0x${string}`>;
1022
1736
  }
1023
1737
 
1024
- async newAppProxy(_kernel: `0x${string}`, _appId: `0x${string}`, options?: {
1738
+ /**
1739
+ * upgradeTo
1740
+ * payable
1741
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1742
+ */
1743
+ async upgradeTo(_newImplementation: `0x${string}`, options?: {
1025
1744
  accessList?: import('viem').AccessList;
1026
1745
  authorizationList?: import('viem').AuthorizationList;
1027
1746
  chain?: import('viem').Chain | null;
@@ -1032,8 +1751,19 @@ export class Kernel_json {
1032
1751
  maxPriorityFeePerGas?: bigint;
1033
1752
  nonce?: number;
1034
1753
  value?: bigint;
1035
- }): Promise<`0x${string}`>;
1036
- async newAppProxy(_kernel: `0x${string}`, _appId: `0x${string}`, _initializePayload: `0x${string}`, options?: {
1754
+ }): Promise<`0x${string}`> {
1755
+ if (!this.contract.write) {
1756
+ throw new Error('Wallet client is required for write operations');
1757
+ }
1758
+ return this.contract.write.upgradeTo([_newImplementation] as const, options) as Promise<`0x${string}`>;
1759
+ }
1760
+
1761
+ /**
1762
+ * validateUserOp
1763
+ * payable
1764
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1765
+ */
1766
+ async validateUserOp(userOp: PackedUserOperation, userOpHash: `0x${string}`, missingAccountFunds: bigint, options?: {
1037
1767
  accessList?: import('viem').AccessList;
1038
1768
  authorizationList?: import('viem').AuthorizationList;
1039
1769
  chain?: import('viem').Chain | null;
@@ -1044,12 +1774,11 @@ export class Kernel_json {
1044
1774
  maxPriorityFeePerGas?: bigint;
1045
1775
  nonce?: number;
1046
1776
  value?: bigint;
1047
- }): Promise<`0x${string}`>;
1048
- async newAppProxy(...args: any[]): Promise<`0x${string}`> {
1777
+ }): Promise<`0x${string}`> {
1049
1778
  if (!this.contract.write) {
1050
1779
  throw new Error('Wallet client is required for write operations');
1051
1780
  }
1052
- return this.contract.write.newAppProxy(args as any) as Promise<`0x${string}`>;
1781
+ return this.contract.write.validateUserOp([userOp, userOpHash, missingAccountFunds] as const, options) as Promise<`0x${string}`>;
1053
1782
  }
1054
1783
 
1055
1784
 
@@ -1069,20 +1798,106 @@ export class Kernel_json {
1069
1798
  }
1070
1799
  return {
1071
1800
  /**
1072
- * Simulate newAppInstance
1801
+ * Simulate changeRootValidator
1802
+ * Returns gas estimate and result without sending transaction
1803
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1804
+ */
1805
+ async changeRootValidator(_rootValidator: `0x${string}`, hook: `0x${string}`, validatorData: `0x${string}`, hookData: `0x${string}`, options?: {
1806
+ accessList?: import('viem').AccessList;
1807
+ authorizationList?: import('viem').AuthorizationList;
1808
+ chain?: import('viem').Chain | null;
1809
+ dataSuffix?: `0x${string}`;
1810
+ gas?: bigint;
1811
+ gasPrice?: bigint;
1812
+ maxFeePerGas?: bigint;
1813
+ maxPriorityFeePerGas?: bigint;
1814
+ nonce?: number;
1815
+ value?: bigint;
1816
+ }): Promise<void> {
1817
+ return contract.simulate.changeRootValidator([_rootValidator, hook, validatorData, hookData] as const, options) as Promise<void>;
1818
+ },
1819
+ /**
1820
+ * Simulate execute
1821
+ * Returns gas estimate and result without sending transaction
1822
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1823
+ */
1824
+ async execute(execMode: `0x${string}`, executionCalldata: `0x${string}`, options?: {
1825
+ accessList?: import('viem').AccessList;
1826
+ authorizationList?: import('viem').AuthorizationList;
1827
+ chain?: import('viem').Chain | null;
1828
+ dataSuffix?: `0x${string}`;
1829
+ gas?: bigint;
1830
+ gasPrice?: bigint;
1831
+ maxFeePerGas?: bigint;
1832
+ maxPriorityFeePerGas?: bigint;
1833
+ nonce?: number;
1834
+ value?: bigint;
1835
+ }): Promise<void> {
1836
+ return contract.simulate.execute([execMode, executionCalldata] as const, options) as Promise<void>;
1837
+ },
1838
+ /**
1839
+ * Simulate executeFromExecutor
1840
+ * Returns gas estimate and result without sending transaction
1841
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1842
+ */
1843
+ async executeFromExecutor(execMode: `0x${string}`, executionCalldata: `0x${string}`, options?: {
1844
+ accessList?: import('viem').AccessList;
1845
+ authorizationList?: import('viem').AuthorizationList;
1846
+ chain?: import('viem').Chain | null;
1847
+ dataSuffix?: `0x${string}`;
1848
+ gas?: bigint;
1849
+ gasPrice?: bigint;
1850
+ maxFeePerGas?: bigint;
1851
+ maxPriorityFeePerGas?: bigint;
1852
+ nonce?: number;
1853
+ value?: bigint;
1854
+ }): Promise<`0x${string}`[]> {
1855
+ return contract.simulate.executeFromExecutor([execMode, executionCalldata] as const, options) as Promise<`0x${string}`[]>;
1856
+ },
1857
+ /**
1858
+ * Simulate executeUserOp
1073
1859
  * Returns gas estimate and result without sending transaction
1074
- * Supports multiple overloads: (bytes32, address, bytes, bool), (bytes32, address)
1075
1860
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
1076
1861
  */
1077
- async newAppInstance(...args: any[]): Promise<any> {
1078
- return contract.simulate.newAppInstance(args as any) as Promise<any>;
1862
+ async executeUserOp(userOp: PackedUserOperation, userOpHash: `0x${string}`, options?: {
1863
+ accessList?: import('viem').AccessList;
1864
+ authorizationList?: import('viem').AuthorizationList;
1865
+ chain?: import('viem').Chain | null;
1866
+ dataSuffix?: `0x${string}`;
1867
+ gas?: bigint;
1868
+ gasPrice?: bigint;
1869
+ maxFeePerGas?: bigint;
1870
+ maxPriorityFeePerGas?: bigint;
1871
+ nonce?: number;
1872
+ value?: bigint;
1873
+ }): Promise<void> {
1874
+ return contract.simulate.executeUserOp([userOp, userOpHash] as const, options) as Promise<void>;
1079
1875
  },
1080
1876
  /**
1081
1877
  * Simulate initialize
1082
1878
  * Returns gas estimate and result without sending transaction
1083
1879
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
1084
1880
  */
1085
- async initialize(_baseAcl: `0x${string}`, _permissionsCreator: `0x${string}`, options?: {
1881
+ async initialize(_rootValidator: `0x${string}`, hook: `0x${string}`, validatorData: `0x${string}`, hookData: `0x${string}`, initConfig: `0x${string}`[], options?: {
1882
+ accessList?: import('viem').AccessList;
1883
+ authorizationList?: import('viem').AuthorizationList;
1884
+ chain?: import('viem').Chain | null;
1885
+ dataSuffix?: `0x${string}`;
1886
+ gas?: bigint;
1887
+ gasPrice?: bigint;
1888
+ maxFeePerGas?: bigint;
1889
+ maxPriorityFeePerGas?: bigint;
1890
+ nonce?: number;
1891
+ value?: bigint;
1892
+ }): Promise<void> {
1893
+ return contract.simulate.initialize([_rootValidator, hook, validatorData, hookData, initConfig] as const, options) as Promise<void>;
1894
+ },
1895
+ /**
1896
+ * Simulate installModule
1897
+ * Returns gas estimate and result without sending transaction
1898
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1899
+ */
1900
+ async installModule(moduleType: bigint, module: `0x${string}`, initData: `0x${string}`, options?: {
1086
1901
  accessList?: import('viem').AccessList;
1087
1902
  authorizationList?: import('viem').AuthorizationList;
1088
1903
  chain?: import('viem').Chain | null;
@@ -1094,14 +1909,14 @@ export class Kernel_json {
1094
1909
  nonce?: number;
1095
1910
  value?: bigint;
1096
1911
  }): Promise<void> {
1097
- return contract.simulate.initialize([_baseAcl, _permissionsCreator] as const, options) as Promise<void>;
1912
+ return contract.simulate.installModule([moduleType, module, initData] as const, options) as Promise<void>;
1098
1913
  },
1099
1914
  /**
1100
- * Simulate setRecoveryVaultAppId
1915
+ * Simulate installValidations
1101
1916
  * Returns gas estimate and result without sending transaction
1102
1917
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
1103
1918
  */
1104
- async setRecoveryVaultAppId(_recoveryVaultAppId: `0x${string}`, options?: {
1919
+ async installValidations(vIds: `0x${string}`[], configs: ValidationManager_ValidationConfig[], validationData: `0x${string}`[], hookData: `0x${string}`[], options?: {
1105
1920
  accessList?: import('viem').AccessList;
1106
1921
  authorizationList?: import('viem').AuthorizationList;
1107
1922
  chain?: import('viem').Chain | null;
@@ -1113,23 +1928,33 @@ export class Kernel_json {
1113
1928
  nonce?: number;
1114
1929
  value?: bigint;
1115
1930
  }): Promise<void> {
1116
- return contract.simulate.setRecoveryVaultAppId([_recoveryVaultAppId] as const, options) as Promise<void>;
1931
+ return contract.simulate.installValidations([vIds, configs, validationData, hookData] as const, options) as Promise<void>;
1117
1932
  },
1118
1933
  /**
1119
- * Simulate newPinnedAppInstance
1934
+ * Simulate invalidateNonce
1120
1935
  * Returns gas estimate and result without sending transaction
1121
- * Supports multiple overloads: (bytes32, address), (bytes32, address, bytes, bool)
1122
1936
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
1123
1937
  */
1124
- async newPinnedAppInstance(...args: any[]): Promise<any> {
1125
- return contract.simulate.newPinnedAppInstance(args as any) as Promise<any>;
1938
+ async invalidateNonce(nonce: bigint, options?: {
1939
+ accessList?: import('viem').AccessList;
1940
+ authorizationList?: import('viem').AuthorizationList;
1941
+ chain?: import('viem').Chain | null;
1942
+ dataSuffix?: `0x${string}`;
1943
+ gas?: bigint;
1944
+ gasPrice?: bigint;
1945
+ maxFeePerGas?: bigint;
1946
+ maxPriorityFeePerGas?: bigint;
1947
+ nonce?: number;
1948
+ value?: bigint;
1949
+ }): Promise<void> {
1950
+ return contract.simulate.invalidateNonce([nonce] as const, options) as Promise<void>;
1126
1951
  },
1127
1952
  /**
1128
- * Simulate transferToVault
1953
+ * Simulate uninstallModule
1129
1954
  * Returns gas estimate and result without sending transaction
1130
1955
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
1131
1956
  */
1132
- async transferToVault(_token: `0x${string}`, options?: {
1957
+ async uninstallModule(moduleType: bigint, module: `0x${string}`, deInitData: `0x${string}`, options?: {
1133
1958
  accessList?: import('viem').AccessList;
1134
1959
  authorizationList?: import('viem').AuthorizationList;
1135
1960
  chain?: import('viem').Chain | null;
@@ -1141,14 +1966,14 @@ export class Kernel_json {
1141
1966
  nonce?: number;
1142
1967
  value?: bigint;
1143
1968
  }): Promise<void> {
1144
- return contract.simulate.transferToVault([_token] as const, options) as Promise<void>;
1969
+ return contract.simulate.uninstallModule([moduleType, module, deInitData] as const, options) as Promise<void>;
1145
1970
  },
1146
1971
  /**
1147
- * Simulate setApp
1972
+ * Simulate uninstallValidation
1148
1973
  * Returns gas estimate and result without sending transaction
1149
1974
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
1150
1975
  */
1151
- async setApp(_namespace: `0x${string}`, _appId: `0x${string}`, _app: `0x${string}`, options?: {
1976
+ async uninstallValidation(vId: `0x${string}`, deinitData: `0x${string}`, hookDeinitData: `0x${string}`, options?: {
1152
1977
  accessList?: import('viem').AccessList;
1153
1978
  authorizationList?: import('viem').AuthorizationList;
1154
1979
  chain?: import('viem').Chain | null;
@@ -1160,25 +1985,45 @@ export class Kernel_json {
1160
1985
  nonce?: number;
1161
1986
  value?: bigint;
1162
1987
  }): Promise<void> {
1163
- return contract.simulate.setApp([_namespace, _appId, _app] as const, options) as Promise<void>;
1988
+ return contract.simulate.uninstallValidation([vId, deinitData, hookDeinitData] as const, options) as Promise<void>;
1164
1989
  },
1165
1990
  /**
1166
- * Simulate newAppProxyPinned
1991
+ * Simulate upgradeTo
1167
1992
  * Returns gas estimate and result without sending transaction
1168
- * Supports multiple overloads: (address, bytes32, bytes), (address, bytes32)
1169
1993
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
1170
1994
  */
1171
- async newAppProxyPinned(...args: any[]): Promise<any> {
1172
- return contract.simulate.newAppProxyPinned(args as any) as Promise<any>;
1995
+ async upgradeTo(_newImplementation: `0x${string}`, options?: {
1996
+ accessList?: import('viem').AccessList;
1997
+ authorizationList?: import('viem').AuthorizationList;
1998
+ chain?: import('viem').Chain | null;
1999
+ dataSuffix?: `0x${string}`;
2000
+ gas?: bigint;
2001
+ gasPrice?: bigint;
2002
+ maxFeePerGas?: bigint;
2003
+ maxPriorityFeePerGas?: bigint;
2004
+ nonce?: number;
2005
+ value?: bigint;
2006
+ }): Promise<void> {
2007
+ return contract.simulate.upgradeTo([_newImplementation] as const, options) as Promise<void>;
1173
2008
  },
1174
2009
  /**
1175
- * Simulate newAppProxy
2010
+ * Simulate validateUserOp
1176
2011
  * Returns gas estimate and result without sending transaction
1177
- * Supports multiple overloads: (address, bytes32), (address, bytes32, bytes)
1178
2012
  * @param options Optional transaction parameters (value, gas, nonce, etc.)
1179
2013
  */
1180
- async newAppProxy(...args: any[]): Promise<any> {
1181
- return contract.simulate.newAppProxy(args as any) as Promise<any>;
2014
+ async validateUserOp(userOp: PackedUserOperation, userOpHash: `0x${string}`, missingAccountFunds: bigint, options?: {
2015
+ accessList?: import('viem').AccessList;
2016
+ authorizationList?: import('viem').AuthorizationList;
2017
+ chain?: import('viem').Chain | null;
2018
+ dataSuffix?: `0x${string}`;
2019
+ gas?: bigint;
2020
+ gasPrice?: bigint;
2021
+ maxFeePerGas?: bigint;
2022
+ maxPriorityFeePerGas?: bigint;
2023
+ nonce?: number;
2024
+ value?: bigint;
2025
+ }): Promise<bigint> {
2026
+ return contract.simulate.validateUserOp([userOp, userOpHash, missingAccountFunds] as const, options) as Promise<bigint>;
1182
2027
  }
1183
2028
  };
1184
2029
  }
@@ -1198,16 +2043,16 @@ export class Kernel_json {
1198
2043
  get watch() {
1199
2044
  return {
1200
2045
  /**
1201
- * Watch NewAppProxy events
2046
+ * Watch ModuleInstalled events
1202
2047
  * @param callback Function to call when event is emitted
1203
2048
  * @param filter Optional filter for indexed parameters
1204
2049
  * @returns Unwatch function to stop listening
1205
2050
  */
1206
- NewAppProxy: (callback: (event: { proxy: `0x${string}`; isUpgradeable: boolean; appId: `0x${string}` }) => void) => {
2051
+ ModuleInstalled: (callback: (event: { moduleTypeId: bigint; module: `0x${string}` }) => void) => {
1207
2052
  return this.publicClient.watchContractEvent({
1208
2053
  address: this.contractAddress,
1209
2054
  abi: Kernel_jsonAbi,
1210
- eventName: 'NewAppProxy',
2055
+ eventName: 'ModuleInstalled',
1211
2056
 
1212
2057
  onLogs: (logs: any[]) => {
1213
2058
  logs.forEach((log: any) => {
@@ -1217,17 +2062,55 @@ export class Kernel_json {
1217
2062
  }) as () => void;
1218
2063
  },
1219
2064
  /**
1220
- * Watch RecoverToVault events
2065
+ * Watch ModuleUninstallResult events
1221
2066
  * @param callback Function to call when event is emitted
1222
2067
  * @param filter Optional filter for indexed parameters
1223
2068
  * @returns Unwatch function to stop listening
1224
2069
  */
1225
- RecoverToVault: (callback: (event: { vault: `0x${string}`; token: `0x${string}`; amount: bigint }) => void, filter?: { vault: `0x${string}`; token: `0x${string}` }) => {
2070
+ ModuleUninstallResult: (callback: (event: { module: `0x${string}`; result: boolean }) => void) => {
1226
2071
  return this.publicClient.watchContractEvent({
1227
2072
  address: this.contractAddress,
1228
2073
  abi: Kernel_jsonAbi,
1229
- eventName: 'RecoverToVault',
1230
- args: filter,
2074
+ eventName: 'ModuleUninstallResult',
2075
+
2076
+ onLogs: (logs: any[]) => {
2077
+ logs.forEach((log: any) => {
2078
+ callback(log.args as any);
2079
+ });
2080
+ },
2081
+ }) as () => void;
2082
+ },
2083
+ /**
2084
+ * Watch ModuleUninstalled events
2085
+ * @param callback Function to call when event is emitted
2086
+ * @param filter Optional filter for indexed parameters
2087
+ * @returns Unwatch function to stop listening
2088
+ */
2089
+ ModuleUninstalled: (callback: (event: { moduleTypeId: bigint; module: `0x${string}` }) => void) => {
2090
+ return this.publicClient.watchContractEvent({
2091
+ address: this.contractAddress,
2092
+ abi: Kernel_jsonAbi,
2093
+ eventName: 'ModuleUninstalled',
2094
+
2095
+ onLogs: (logs: any[]) => {
2096
+ logs.forEach((log: any) => {
2097
+ callback(log.args as any);
2098
+ });
2099
+ },
2100
+ }) as () => void;
2101
+ },
2102
+ /**
2103
+ * Watch NonceInvalidated events
2104
+ * @param callback Function to call when event is emitted
2105
+ * @param filter Optional filter for indexed parameters
2106
+ * @returns Unwatch function to stop listening
2107
+ */
2108
+ NonceInvalidated: (callback: (event: { nonce: bigint }) => void) => {
2109
+ return this.publicClient.watchContractEvent({
2110
+ address: this.contractAddress,
2111
+ abi: Kernel_jsonAbi,
2112
+ eventName: 'NonceInvalidated',
2113
+
1231
2114
  onLogs: (logs: any[]) => {
1232
2115
  logs.forEach((log: any) => {
1233
2116
  callback(log.args as any);
@@ -1236,17 +2119,169 @@ export class Kernel_json {
1236
2119
  }) as () => void;
1237
2120
  },
1238
2121
  /**
1239
- * Watch SetApp events
2122
+ * Watch PermissionInstalled events
1240
2123
  * @param callback Function to call when event is emitted
1241
2124
  * @param filter Optional filter for indexed parameters
1242
2125
  * @returns Unwatch function to stop listening
1243
2126
  */
1244
- SetApp: (callback: (event: { namespace: `0x${string}`; appId: `0x${string}`; app: `0x${string}` }) => void, filter?: { namespace: `0x${string}`; appId: `0x${string}` }) => {
2127
+ PermissionInstalled: (callback: (event: { permission: `0x${string}`; nonce: bigint }) => void) => {
1245
2128
  return this.publicClient.watchContractEvent({
1246
2129
  address: this.contractAddress,
1247
2130
  abi: Kernel_jsonAbi,
1248
- eventName: 'SetApp',
2131
+ eventName: 'PermissionInstalled',
2132
+
2133
+ onLogs: (logs: any[]) => {
2134
+ logs.forEach((log: any) => {
2135
+ callback(log.args as any);
2136
+ });
2137
+ },
2138
+ }) as () => void;
2139
+ },
2140
+ /**
2141
+ * Watch PermissionUninstalled events
2142
+ * @param callback Function to call when event is emitted
2143
+ * @param filter Optional filter for indexed parameters
2144
+ * @returns Unwatch function to stop listening
2145
+ */
2146
+ PermissionUninstalled: (callback: (event: { permission: `0x${string}` }) => void) => {
2147
+ return this.publicClient.watchContractEvent({
2148
+ address: this.contractAddress,
2149
+ abi: Kernel_jsonAbi,
2150
+ eventName: 'PermissionUninstalled',
2151
+
2152
+ onLogs: (logs: any[]) => {
2153
+ logs.forEach((log: any) => {
2154
+ callback(log.args as any);
2155
+ });
2156
+ },
2157
+ }) as () => void;
2158
+ },
2159
+ /**
2160
+ * Watch Received events
2161
+ * @param callback Function to call when event is emitted
2162
+ * @param filter Optional filter for indexed parameters
2163
+ * @returns Unwatch function to stop listening
2164
+ */
2165
+ Received: (callback: (event: { sender: `0x${string}`; amount: bigint }) => void) => {
2166
+ return this.publicClient.watchContractEvent({
2167
+ address: this.contractAddress,
2168
+ abi: Kernel_jsonAbi,
2169
+ eventName: 'Received',
2170
+
2171
+ onLogs: (logs: any[]) => {
2172
+ logs.forEach((log: any) => {
2173
+ callback(log.args as any);
2174
+ });
2175
+ },
2176
+ }) as () => void;
2177
+ },
2178
+ /**
2179
+ * Watch RootValidatorUpdated events
2180
+ * @param callback Function to call when event is emitted
2181
+ * @param filter Optional filter for indexed parameters
2182
+ * @returns Unwatch function to stop listening
2183
+ */
2184
+ RootValidatorUpdated: (callback: (event: { rootValidator: `0x${string}` }) => void) => {
2185
+ return this.publicClient.watchContractEvent({
2186
+ address: this.contractAddress,
2187
+ abi: Kernel_jsonAbi,
2188
+ eventName: 'RootValidatorUpdated',
2189
+
2190
+ onLogs: (logs: any[]) => {
2191
+ logs.forEach((log: any) => {
2192
+ callback(log.args as any);
2193
+ });
2194
+ },
2195
+ }) as () => void;
2196
+ },
2197
+ /**
2198
+ * Watch SelectorSet events
2199
+ * @param callback Function to call when event is emitted
2200
+ * @param filter Optional filter for indexed parameters
2201
+ * @returns Unwatch function to stop listening
2202
+ */
2203
+ SelectorSet: (callback: (event: { selector: `0x${string}`; vId: `0x${string}`; allowed: boolean }) => void) => {
2204
+ return this.publicClient.watchContractEvent({
2205
+ address: this.contractAddress,
2206
+ abi: Kernel_jsonAbi,
2207
+ eventName: 'SelectorSet',
2208
+
2209
+ onLogs: (logs: any[]) => {
2210
+ logs.forEach((log: any) => {
2211
+ callback(log.args as any);
2212
+ });
2213
+ },
2214
+ }) as () => void;
2215
+ },
2216
+ /**
2217
+ * Watch TryExecuteUnsuccessful events
2218
+ * @param callback Function to call when event is emitted
2219
+ * @param filter Optional filter for indexed parameters
2220
+ * @returns Unwatch function to stop listening
2221
+ */
2222
+ TryExecuteUnsuccessful: (callback: (event: { batchExecutionindex: bigint; result: `0x${string}` }) => void) => {
2223
+ return this.publicClient.watchContractEvent({
2224
+ address: this.contractAddress,
2225
+ abi: Kernel_jsonAbi,
2226
+ eventName: 'TryExecuteUnsuccessful',
2227
+
2228
+ onLogs: (logs: any[]) => {
2229
+ logs.forEach((log: any) => {
2230
+ callback(log.args as any);
2231
+ });
2232
+ },
2233
+ }) as () => void;
2234
+ },
2235
+ /**
2236
+ * Watch Upgraded events
2237
+ * @param callback Function to call when event is emitted
2238
+ * @param filter Optional filter for indexed parameters
2239
+ * @returns Unwatch function to stop listening
2240
+ */
2241
+ Upgraded: (callback: (event: { implementation: `0x${string}` }) => void, filter?: { implementation: `0x${string}` }) => {
2242
+ return this.publicClient.watchContractEvent({
2243
+ address: this.contractAddress,
2244
+ abi: Kernel_jsonAbi,
2245
+ eventName: 'Upgraded',
1249
2246
  args: filter,
2247
+ onLogs: (logs: any[]) => {
2248
+ logs.forEach((log: any) => {
2249
+ callback(log.args as any);
2250
+ });
2251
+ },
2252
+ }) as () => void;
2253
+ },
2254
+ /**
2255
+ * Watch ValidatorInstalled events
2256
+ * @param callback Function to call when event is emitted
2257
+ * @param filter Optional filter for indexed parameters
2258
+ * @returns Unwatch function to stop listening
2259
+ */
2260
+ ValidatorInstalled: (callback: (event: { validator: `0x${string}`; nonce: bigint }) => void) => {
2261
+ return this.publicClient.watchContractEvent({
2262
+ address: this.contractAddress,
2263
+ abi: Kernel_jsonAbi,
2264
+ eventName: 'ValidatorInstalled',
2265
+
2266
+ onLogs: (logs: any[]) => {
2267
+ logs.forEach((log: any) => {
2268
+ callback(log.args as any);
2269
+ });
2270
+ },
2271
+ }) as () => void;
2272
+ },
2273
+ /**
2274
+ * Watch ValidatorUninstalled events
2275
+ * @param callback Function to call when event is emitted
2276
+ * @param filter Optional filter for indexed parameters
2277
+ * @returns Unwatch function to stop listening
2278
+ */
2279
+ ValidatorUninstalled: (callback: (event: { validator: `0x${string}` }) => void) => {
2280
+ return this.publicClient.watchContractEvent({
2281
+ address: this.contractAddress,
2282
+ abi: Kernel_jsonAbi,
2283
+ eventName: 'ValidatorUninstalled',
2284
+
1250
2285
  onLogs: (logs: any[]) => {
1251
2286
  logs.forEach((log: any) => {
1252
2287
  callback(log.args as any);