From ff8c5304a6f9d84adc94355cc325356fe3f0cc64 Mon Sep 17 00:00:00 2001 From: maxsch-xmint Date: Tue, 7 Apr 2026 20:15:48 -0300 Subject: [PATCH 1/5] Update toKernelPluginManager.ts Missing hook forwarding --- packages/core/accounts/utils/toKernelPluginManager.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/core/accounts/utils/toKernelPluginManager.ts b/packages/core/accounts/utils/toKernelPluginManager.ts index 8c150c9e..2e950a23 100644 --- a/packages/core/accounts/utils/toKernelPluginManager.ts +++ b/packages/core/accounts/utils/toKernelPluginManager.ts @@ -284,6 +284,7 @@ export async function toKernelPluginManager< chainId, kernelVersion: version, action, + hook, validator: regular_, validatorNonce }) From 8bb4b5766868d07537d111ff6ed9d8083ebbd94a Mon Sep 17 00:00:00 2001 From: maxsch-xmint Date: Tue, 7 Apr 2026 22:58:57 -0300 Subject: [PATCH 2/5] Update create7702KernelAccount.ts encodeCalls unconditionally wraps calldata with executeUserOp when plugins?.hook is truthy, even during enable flow when the hook isn't installed yet. Fixed by checking isEnabled first. --- plugins/ecdsa/account/create7702KernelAccount.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/ecdsa/account/create7702KernelAccount.ts b/plugins/ecdsa/account/create7702KernelAccount.ts index 466aa25d..ff47ed6e 100644 --- a/plugins/ecdsa/account/create7702KernelAccount.ts +++ b/plugins/ecdsa/account/create7702KernelAccount.ts @@ -386,7 +386,7 @@ export async function create7702KernelAccount< return encodeCallDataEpV06(calls, callType) } - if (plugins?.hook) { + if (plugins?.hook && kernelPluginManager.regularValidator && await kernelPluginManager.regularValidator.isEnabled(accountAddress, kernelPluginManager.getAction().selector)) { return encodeCallDataEpV07(calls, callType, true) } return encodeCallDataEpV07(calls, callType) From 1bd0f002114b929b5da146cc4411b8e4dff8bc4e Mon Sep 17 00:00:00 2001 From: maxsch-xmint Date: Fri, 10 Apr 2026 12:31:19 -0300 Subject: [PATCH 3/5] Update createKernelAccount.ts --- packages/core/accounts/kernel/createKernelAccount.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/accounts/kernel/createKernelAccount.ts b/packages/core/accounts/kernel/createKernelAccount.ts index 76f0e46e..571f0e73 100644 --- a/packages/core/accounts/kernel/createKernelAccount.ts +++ b/packages/core/accounts/kernel/createKernelAccount.ts @@ -718,7 +718,7 @@ export async function createKernelAccount< return encodeCallDataEpV06(calls, callType) } - if (plugins?.hook) { + if (plugins?.hook && kernelPluginManager.regularValidator && await kernelPluginManager.regularValidator.isEnabled(accountAddress, kernelPluginManager.getAction().selector)) { return encodeCallDataEpV07(calls, callType, true, execType) } return encodeCallDataEpV07(calls, callType, undefined, execType) From bb3acb9be50ca10a9611a1f7ec5578ba8cdde7d2 Mon Sep 17 00:00:00 2001 From: maxsch-xmint Date: Fri, 10 Apr 2026 12:34:34 -0300 Subject: [PATCH 4/5] revert update on create7702KernelAccount.ts --- plugins/ecdsa/account/create7702KernelAccount.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/ecdsa/account/create7702KernelAccount.ts b/plugins/ecdsa/account/create7702KernelAccount.ts index ff47ed6e..466aa25d 100644 --- a/plugins/ecdsa/account/create7702KernelAccount.ts +++ b/plugins/ecdsa/account/create7702KernelAccount.ts @@ -386,7 +386,7 @@ export async function create7702KernelAccount< return encodeCallDataEpV06(calls, callType) } - if (plugins?.hook && kernelPluginManager.regularValidator && await kernelPluginManager.regularValidator.isEnabled(accountAddress, kernelPluginManager.getAction().selector)) { + if (plugins?.hook) { return encodeCallDataEpV07(calls, callType, true) } return encodeCallDataEpV07(calls, callType) From c05a71c90eb66583ebc6387ce6d4fed73cda932b Mon Sep 17 00:00:00 2001 From: maxsch-xmint Date: Thu, 16 Apr 2026 10:18:08 -0300 Subject: [PATCH 5/5] revert changes to createKernelAccount.ts --- packages/core/accounts/kernel/createKernelAccount.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/accounts/kernel/createKernelAccount.ts b/packages/core/accounts/kernel/createKernelAccount.ts index 571f0e73..76f0e46e 100644 --- a/packages/core/accounts/kernel/createKernelAccount.ts +++ b/packages/core/accounts/kernel/createKernelAccount.ts @@ -718,7 +718,7 @@ export async function createKernelAccount< return encodeCallDataEpV06(calls, callType) } - if (plugins?.hook && kernelPluginManager.regularValidator && await kernelPluginManager.regularValidator.isEnabled(accountAddress, kernelPluginManager.getAction().selector)) { + if (plugins?.hook) { return encodeCallDataEpV07(calls, callType, true, execType) } return encodeCallDataEpV07(calls, callType, undefined, execType)