@zerodev/sdk 5.3.12 → 5.3.14

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.
Files changed (82) hide show
  1. package/_cjs/accounts/kernel/createKernelAccount.js +7 -6
  2. package/_cjs/accounts/kernel/createKernelAccount.js.map +1 -1
  3. package/_cjs/accounts/kernel/utils/common/accountMetadata.js +5 -4
  4. package/_cjs/accounts/kernel/utils/common/accountMetadata.js.map +1 -1
  5. package/_cjs/accounts/kernel/v1/createKernelAccountV1.js.map +1 -1
  6. package/_cjs/accounts/kernel/v2/createKernelAccountV0_2.js.map +1 -1
  7. package/_cjs/accounts/utils/toKernelPluginManager.js +16 -6
  8. package/_cjs/accounts/utils/toKernelPluginManager.js.map +1 -1
  9. package/_cjs/actions/account-client/getKernelV3ModuleCurrentNonce.js.map +1 -1
  10. package/_cjs/actions/account-client/invalidateNonce.js.map +1 -1
  11. package/_cjs/actions/account-client/signUserOperation.js +1 -1
  12. package/_cjs/actions/account-client/signUserOperation.js.map +1 -1
  13. package/_cjs/actions/account-client/uninstallPlugin.js.map +1 -1
  14. package/_cjs/clients/decorators/kernel.js.map +1 -1
  15. package/_cjs/clients/fallbackKernelAccountClient.js.map +1 -1
  16. package/_cjs/clients/index.js.map +1 -1
  17. package/_cjs/clients/kernelAccountClient.js.map +1 -1
  18. package/_cjs/types/kernel.js.map +1 -1
  19. package/_esm/accounts/kernel/createKernelAccount.js +7 -6
  20. package/_esm/accounts/kernel/createKernelAccount.js.map +1 -1
  21. package/_esm/accounts/kernel/utils/common/accountMetadata.js +5 -4
  22. package/_esm/accounts/kernel/utils/common/accountMetadata.js.map +1 -1
  23. package/_esm/accounts/kernel/v1/createKernelAccountV1.js.map +1 -1
  24. package/_esm/accounts/kernel/v2/createKernelAccountV0_2.js.map +1 -1
  25. package/_esm/accounts/utils/toKernelPluginManager.js +16 -6
  26. package/_esm/accounts/utils/toKernelPluginManager.js.map +1 -1
  27. package/_esm/actions/account-client/getKernelV3ModuleCurrentNonce.js.map +1 -1
  28. package/_esm/actions/account-client/invalidateNonce.js.map +1 -1
  29. package/_esm/actions/account-client/signUserOperation.js +1 -1
  30. package/_esm/actions/account-client/signUserOperation.js.map +1 -1
  31. package/_esm/actions/account-client/uninstallPlugin.js.map +1 -1
  32. package/_esm/clients/decorators/kernel.js.map +1 -1
  33. package/_esm/clients/fallbackKernelAccountClient.js.map +1 -1
  34. package/_esm/clients/index.js.map +1 -1
  35. package/_esm/clients/kernelAccountClient.js.map +1 -1
  36. package/_esm/types/kernel.js.map +1 -1
  37. package/_types/accounts/kernel/createKernelAccount.d.ts +3 -2
  38. package/_types/accounts/kernel/createKernelAccount.d.ts.map +1 -1
  39. package/_types/accounts/kernel/utils/account/ep0_6/encodeCallData.d.ts +1 -1
  40. package/_types/accounts/kernel/utils/account/ep0_6/encodeCallData.d.ts.map +1 -1
  41. package/_types/accounts/kernel/utils/common/accountMetadata.d.ts +2 -3
  42. package/_types/accounts/kernel/utils/common/accountMetadata.d.ts.map +1 -1
  43. package/_types/accounts/kernel/v1/createKernelAccountV1.d.ts +3 -3
  44. package/_types/accounts/kernel/v1/createKernelAccountV1.d.ts.map +1 -1
  45. package/_types/accounts/kernel/v2/createKernelAccountV0_2.d.ts +3 -3
  46. package/_types/accounts/kernel/v2/createKernelAccountV0_2.d.ts.map +1 -1
  47. package/_types/accounts/utils/toKernelPluginManager.d.ts +1 -1
  48. package/_types/accounts/utils/toKernelPluginManager.d.ts.map +1 -1
  49. package/_types/actions/account-client/getKernelV3ModuleCurrentNonce.d.ts +2 -2
  50. package/_types/actions/account-client/getKernelV3ModuleCurrentNonce.d.ts.map +1 -1
  51. package/_types/actions/account-client/invalidateNonce.d.ts +2 -2
  52. package/_types/actions/account-client/invalidateNonce.d.ts.map +1 -1
  53. package/_types/actions/account-client/signUserOperation.d.ts +4 -4
  54. package/_types/actions/account-client/signUserOperation.d.ts.map +1 -1
  55. package/_types/actions/account-client/uninstallPlugin.d.ts +2 -2
  56. package/_types/actions/account-client/uninstallPlugin.d.ts.map +1 -1
  57. package/_types/clients/decorators/kernel.d.ts +5 -5
  58. package/_types/clients/decorators/kernel.d.ts.map +1 -1
  59. package/_types/clients/fallbackKernelAccountClient.d.ts +1 -1
  60. package/_types/clients/fallbackKernelAccountClient.d.ts.map +1 -1
  61. package/_types/clients/index.d.ts +1 -1
  62. package/_types/clients/index.d.ts.map +1 -1
  63. package/_types/clients/kernelAccountClient.d.ts +4 -4
  64. package/_types/clients/kernelAccountClient.d.ts.map +1 -1
  65. package/_types/types/kernel.d.ts +1 -0
  66. package/_types/types/kernel.d.ts.map +1 -1
  67. package/accounts/kernel/createKernelAccount.ts +32 -11
  68. package/accounts/kernel/utils/account/ep0_6/encodeCallData.ts +1 -1
  69. package/accounts/kernel/utils/common/accountMetadata.ts +9 -5
  70. package/accounts/kernel/v1/createKernelAccountV1.ts +10 -2
  71. package/accounts/kernel/v2/createKernelAccountV0_2.ts +10 -2
  72. package/accounts/utils/toKernelPluginManager.ts +16 -6
  73. package/actions/account-client/getKernelV3ModuleCurrentNonce.ts +11 -4
  74. package/actions/account-client/invalidateNonce.ts +24 -6
  75. package/actions/account-client/signUserOperation.ts +33 -10
  76. package/actions/account-client/uninstallPlugin.ts +24 -6
  77. package/clients/decorators/kernel.ts +33 -8
  78. package/clients/fallbackKernelAccountClient.ts +3 -1
  79. package/clients/index.ts +2 -1
  80. package/clients/kernelAccountClient.ts +18 -14
  81. package/package.json +3 -3
  82. package/types/kernel.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../clients/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,4BAA4B,EAC5B,KAAK,sBAAsB,EAC9B,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EACH,yBAAyB,EACzB,KAAK,mBAAmB,EAC3B,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../clients/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,4BAA4B,EAC5B,KAAK,sBAAsB,EAC9B,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EACH,yBAAyB,EACzB,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAChC,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAA"}
@@ -1,18 +1,18 @@
1
- import type { SmartAccount } from "permissionless/accounts/types";
1
+ import type { SmartAccount } from "permissionless/accounts";
2
2
  import type { Middleware } from "permissionless/actions/smartAccount";
3
3
  import type { EntryPoint, Prettify } from "permissionless/types";
4
4
  import type { BundlerRpcSchema } from "permissionless/types/bundler";
5
5
  import { type Chain, type Client, type ClientConfig, type Transport } from "viem";
6
6
  import type { KernelSmartAccount } from "../accounts/index.js";
7
7
  import { type KernelAccountClientActions } from "./decorators/kernel.js";
8
- export type KernelAccountClient<entryPoint extends EntryPoint, transport extends Transport = Transport, chain extends Chain | undefined = Chain | undefined, account extends KernelSmartAccount<entryPoint> | undefined = KernelSmartAccount<entryPoint> | undefined> = Client<transport, chain, account, BundlerRpcSchema<entryPoint>, KernelAccountClientActions<entryPoint, chain, account>>;
9
- export type SmartAccountClientConfig<entryPoint extends EntryPoint, transport extends Transport = Transport, chain extends Chain | undefined = Chain | undefined, account extends SmartAccount<entryPoint> | undefined = SmartAccount<entryPoint> | undefined> = Prettify<Pick<ClientConfig<transport, chain, account>, "cacheTime" | "chain" | "key" | "name" | "pollingInterval"> & {
8
+ export type KernelAccountClient<entryPoint extends EntryPoint, transport extends Transport = Transport, chain extends Chain | undefined = Chain | undefined, account extends KernelSmartAccount<entryPoint, transport, chain> | undefined = KernelSmartAccount<entryPoint, transport, chain> | undefined> = Client<transport, chain, account, BundlerRpcSchema<entryPoint>, KernelAccountClientActions<entryPoint, transport, chain, account>>;
9
+ export type SmartAccountClientConfig<entryPoint extends EntryPoint, transport extends Transport = Transport, chain extends Chain | undefined = Chain | undefined, account extends SmartAccount<entryPoint, string, transport, chain> | undefined = SmartAccount<entryPoint, string, transport, chain> | undefined> = Prettify<Pick<ClientConfig<transport, chain, account>, "cacheTime" | "chain" | "key" | "name" | "pollingInterval"> & {
10
10
  account?: account;
11
11
  bundlerTransport: Transport;
12
12
  } & Middleware<entryPoint> & {
13
13
  entryPoint: entryPoint;
14
14
  }>;
15
- export declare const createKernelAccountClient: <TSmartAccount extends KernelSmartAccount<TEntryPoint> | undefined, TTransport extends Transport = Transport, TChain extends Chain | undefined = undefined, TEntryPoint extends EntryPoint = TSmartAccount extends KernelSmartAccount<infer U extends EntryPoint> ? U : never>(parameters: {
15
+ export declare const createKernelAccountClient: <TTransport extends Transport, TChain extends Chain | undefined, TEntryPoint extends EntryPoint, TSmartAccount extends KernelSmartAccount<TEntryPoint, TTransport, TChain> | undefined = KernelSmartAccount<TEntryPoint, TTransport, TChain> | undefined>(parameters: {
16
16
  name?: string | undefined;
17
17
  cacheTime?: number | undefined;
18
18
  chain?: Chain | TChain | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"kernelAccountClient.d.ts","sourceRoot":"","sources":["../../clients/kernelAccountClient.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAA;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAEH,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,SAAS,EAEjB,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAE9D,OAAO,EACH,KAAK,0BAA0B,EAElC,MAAM,wBAAwB,CAAA;AAG/B,MAAM,MAAM,mBAAmB,CAC3B,UAAU,SAAS,UAAU,EAC7B,SAAS,SAAS,SAAS,GAAG,SAAS,EACvC,KAAK,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACnD,OAAO,SAAS,kBAAkB,CAAC,UAAU,CAAC,GAAG,SAAS,GACpD,kBAAkB,CAAC,UAAU,CAAC,GAC9B,SAAS,IACf,MAAM,CACN,SAAS,EACT,KAAK,EACL,OAAO,EACP,gBAAgB,CAAC,UAAU,CAAC,EAC5B,0BAA0B,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CACzD,CAAA;AAED,MAAM,MAAM,wBAAwB,CAChC,UAAU,SAAS,UAAU,EAC7B,SAAS,SAAS,SAAS,GAAG,SAAS,EACvC,KAAK,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACnD,OAAO,SAAS,YAAY,CAAC,UAAU,CAAC,GAAG,SAAS,GAC9C,YAAY,CAAC,UAAU,CAAC,GACxB,SAAS,IACf,QAAQ,CACR,IAAI,CACA,YAAY,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,EACvC,WAAW,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,iBAAiB,CAC7D,GAAG;IACA,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,gBAAgB,EAAE,SAAS,CAAA;CAC9B,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG;IACrB,UAAU,EAAE,UAAU,CAAA;CACzB,CACR,CAAA;AAED,eAAO,MAAM,yBAAyB;;;;;;;sBANZ,SAAS;;;;;;;;;;;;;;;yEA2ElC,CAAA"}
1
+ {"version":3,"file":"kernelAccountClient.d.ts","sourceRoot":"","sources":["../../clients/kernelAccountClient.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAA;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAEH,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,SAAS,EAEjB,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAE9D,OAAO,EACH,KAAK,0BAA0B,EAElC,MAAM,wBAAwB,CAAA;AAG/B,MAAM,MAAM,mBAAmB,CAC3B,UAAU,SAAS,UAAU,EAC7B,SAAS,SAAS,SAAS,GAAG,SAAS,EACvC,KAAK,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACnD,OAAO,SACD,kBAAkB,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,GAChD,SAAS,GACT,kBAAkB,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,GAChD,SAAS,IACf,MAAM,CACN,SAAS,EACT,KAAK,EACL,OAAO,EACP,gBAAgB,CAAC,UAAU,CAAC,EAC5B,0BAA0B,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CACpE,CAAA;AAED,MAAM,MAAM,wBAAwB,CAChC,UAAU,SAAS,UAAU,EAC7B,SAAS,SAAS,SAAS,GAAG,SAAS,EACvC,KAAK,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACnD,OAAO,SACD,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,GAClD,SAAS,GACT,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,GAClD,SAAS,IACf,QAAQ,CACR,IAAI,CACA,YAAY,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,EACvC,WAAW,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,iBAAiB,CAC7D,GAAG;IACA,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,gBAAgB,EAAE,SAAS,CAAA;CAC9B,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG;IACrB,UAAU,EAAE,UAAU,CAAA;CACzB,CACR,CAAA;AAED,eAAO,MAAM,yBAAyB;;;;;;;sBANZ,SAAS;;;;;;;;;;;;;;;yEA2ElC,CAAA"}
@@ -142,6 +142,7 @@ export type KernelPluginManagerParams<entryPoint extends EntryPoint> = {
142
142
  action?: Action;
143
143
  entryPoint: entryPoint;
144
144
  kernelVersion: KERNEL_VERSION_TYPE;
145
+ chainId?: number;
145
146
  } & Partial<PluginValidityData>;
146
147
  export type Hook = {
147
148
  address: Address;
@@ -1 +1 @@
1
- {"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../../types/kernel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,2BAA2B,EAC3B,UAAU,EACb,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AAC3E,OAAO,KAAK,EACR,aAAa,EACb,4BAA4B,EAC/B,MAAM,oCAAoC,CAAA;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,MAAM,MAAM,yBAAyB,CAAC,UAAU,SAAS,UAAU,IAAI;IACnE;QACI,MAAM,EAAE,yBAAyB,CAAA;QACjC,UAAU,EAAE;YACR;gBACI,OAAO,EAAE,MAAM,CAAA;gBACf,MAAM,EAAE,oBAAoB,CAAC,UAAU,CAAC,SAAS,MAAM,GACjD,SAAS,CACL,4BAA4B,CAAC,MAAM,CAAC,EAClC,cAAc,GACd,oBAAoB,GACpB,sBAAsB,CAC3B,GACD,SAAS,CACL,4BAA4B,CAAC,MAAM,CAAC,EAClC,cAAc,GACd,oBAAoB,GACpB,sBAAsB,GACtB,+BAA+B,GAC/B,yBAAyB,CAC9B,CAAA;gBACP,iBAAiB,EAAE,OAAO,CAAA;gBAC1B,YAAY,CAAC,EAAE;oBACX,YAAY,EAAE,GAAG,CAAA;iBACpB,CAAA;gBACD,iBAAiB,CAAC,EAAE,OAAO,CAAA;gBAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAA;gBAC7B,aAAa,CAAC,EAAE,OAAO,CAAA;aAC1B;SACJ,CAAA;QACD,UAAU,EAAE,oBAAoB,CAAC,UAAU,CAAC,SAAS,MAAM,GACrD;YACI,gBAAgB,EAAE,GAAG,CAAA;YACrB,kBAAkB,EAAE,GAAG,CAAA;YACvB,oBAAoB,EAAE,GAAG,CAAA;YACzB,YAAY,EAAE,GAAG,CAAA;YACjB,YAAY,CAAC,EAAE,GAAG,CAAA;YAClB,oBAAoB,CAAC,EAAE,GAAG,CAAA;YAC1B,SAAS,CAAC,EAAE,KAAK,CAAA;YACjB,6BAA6B,CAAC,EAAE,KAAK,CAAA;YACrC,uBAAuB,CAAC,EAAE,KAAK,CAAA;YAC/B,aAAa,CAAC,EAAE,KAAK,CAAA;SACxB,GACD;YACI,kBAAkB,EAAE,GAAG,CAAA;YACvB,oBAAoB,EAAE,GAAG,CAAA;YACzB,YAAY,EAAE,GAAG,CAAA;YACjB,SAAS,EAAE,OAAO,CAAA;YAClB,6BAA6B,EAAE,GAAG,CAAA;YAClC,uBAAuB,EAAE,GAAG,CAAA;YAC5B,aAAa,EAAE,GAAG,CAAA;YAClB,YAAY,CAAC,EAAE,GAAG,CAAA;YAClB,oBAAoB,CAAC,EAAE,GAAG,CAAA;YAC1B,gBAAgB,CAAC,EAAE,KAAK,CAAA;SAC3B,CAAA;KACV;IACD;QACI,MAAM,EAAE,gBAAgB,CAAA;QACxB,UAAU,EAAE;YACR;gBACI,OAAO,EAAE,MAAM,CAAA;gBACf,iBAAiB,EAAE,OAAO,CAAA;aAC7B;SACJ,CAAA;QACD,UAAU,EAAE,OAAO,EAAE,CAAA;KACxB;IACD;QACI,MAAM,EAAE,6BAA6B,CAAA;QACrC,UAAU,EAAE;YACR;gBACI,OAAO,EAAE,MAAM,CAAA;gBACf,MAAM,EAAE,4BAA4B,CAAC,MAAM,CAAC,CAAA;gBAC5C,iBAAiB,EAAE,OAAO,CAAA;gBAC1B,YAAY,EAAE,OAAO,CAAA;aACxB;SACJ,CAAA;QACD,UAAU,EAAE;YACR,eAAe,EAAE,MAAM,CAAA;YACvB,aAAa,EAAE,MAAM,CAAA;SACxB,CAAA;KACJ;CACJ,CAAA;AAED,MAAM,MAAM,2CAA2C,GAAG;IACtD,IAAI,EAAE;QACF,YAAY,EAAE,GAAG,CAAA;QACjB,oBAAoB,EAAE,GAAG,CAAA;KAC5B,CAAA;IACD,QAAQ,EAAE;QACN,YAAY,EAAE,GAAG,CAAA;QACjB,oBAAoB,EAAE,GAAG,CAAA;KAC5B,CAAA;IACD,IAAI,EAAE;QACF,YAAY,EAAE,GAAG,CAAA;QACjB,oBAAoB,EAAE,GAAG,CAAA;KAC5B,CAAA;CACJ,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG;IACxC;QACI,MAAM,EAAE,6BAA6B,CAAA;QACrC,UAAU,EAAE,EAAE,CAAA;QACd,UAAU,EAAE,2CAA2C,CAAA;KAC1D;CACJ,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,CAC/B,MAAM,OAAO,cAAc,EAC3B,YAAY,GAAG,WAAW,CAC7B,CAAA;AAED,MAAM,MAAM,eAAe,CACvB,UAAU,SAAS,UAAU,EAC7B,IAAI,SAAS,MAAM,GAAG,MAAM,IAC5B,YAAY,CAAC,IAAI,CAAC,GAAG;IACrB,aAAa,EAAE,aAAa,CAAA;IAC5B,uBAAuB,EAAE,MAAM,CAAA;IAC/B,WAAW,EAAE,CACT,cAAc,CAAC,EAAE,OAAO,EACxB,cAAc,CAAC,EAAE,MAAM,KACtB,OAAO,CAAC,MAAM,CAAC,CAAA;IACpB,iBAAiB,CACb,aAAa,EAAE,aAAa,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,EAC9D,qBAAqB,CAAC,EAAE,GAAG,GAC5B,OAAO,CAAC,GAAG,CAAC,CAAA;IACf,iBAAiB,EAAE,CACf,aAAa,EAAE,aAAa,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,EAC9D,qBAAqB,CAAC,EAAE,GAAG,KAC1B,OAAO,CAAC,GAAG,CAAC,CAAA;IACjB,aAAa,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACrD,SAAS,CAAC,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACnE,aAAa,EAAE,MAAM,GAAG,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,aAAa,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACrD,aAAa,EAAE,MAAM,GAAG,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC5B,gBAAgB,EAAE,OAAO,CAAA;IACzB,UAAU,EAAE,GAAG,CAAA;IACf,UAAU,EAAE,GAAG,CAAA;IACf,UAAU,CAAC,EAAE,GAAG,EAAE,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,mBAAmB,CAAC,UAAU,SAAS,UAAU,IACzD,eAAe,CAAC,UAAU,CAAC,GAAG;IAC1B,aAAa,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAA;IAC3C,gBAAgB,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAA;IAC9C,IAAI,CAAC,EAAE,mBAAmB,CAAA;IAC1B,wBAAwB,CAAC,cAAc,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAC/D,oBAAoB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAClD,SAAS,IAAI,MAAM,CAAA;IACnB,eAAe,IAAI,kBAAkB,CAAA;IACrC,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,GAAG,CAAA;IACpC,2BAA2B,EAAE,CAAC,cAAc,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IACtE,yBAAyB,EAAE,CACvB,cAAc,EAAE,OAAO,KACtB,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1D,oCAAoC,EAAE,CAClC,aAAa,EAAE,aAAa,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,KAC7D,OAAO,CAAC,GAAG,CAAC,CAAA;CACpB,CAAA;AAEL,MAAM,MAAM,iBAAiB,CAAC,UAAU,SAAS,UAAU,IACvD,UAAU,SAAS,2BAA2B,GACxC;IACI,QAAQ,EAAE,GAAG,CAAA;IACb,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,GAAG,CAAA;CAClB,GAED,KAAK,CAAA;AAEf,MAAM,MAAM,yBAAyB,CAAC,UAAU,SAAS,UAAU,IAAI;IACnE,IAAI,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAA;IAClC,OAAO,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAA;IACrC,IAAI,CAAC,EAAE,mBAAmB,CAAA;IAC1B,qBAAqB,CAAC,EAAE,GAAG,CAAA;IAC3B,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,UAAU,CAAA;IACtB,aAAa,EAAE,mBAAmB,CAAA;CACrC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;AAE/B,MAAM,MAAM,IAAI,GAAG;IACf,OAAO,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,GAAG,CAAA;IACb,IAAI,CAAC,EAAE,IAAI,CAAA;CACd,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,oBAAY,aAAa;IACrB,IAAI,eAAe;IACnB,MAAM,eAAe;IACrB,MAAM,eAAe;CACxB;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,cAAc,CAAA;AAE9C,MAAM,MAAM,wBAAwB,GAC9B;IACI,EAAE,EAAE,OAAO,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,GAAG,CAAA;IACT,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAA;CACjC,GACD;IACI,EAAE,EAAE,OAAO,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,GAAG,CAAA;IACT,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAA;CACjC,EAAE,CAAA;AAET,MAAM,MAAM,SAAS,GAAG;IACpB,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,GAAG,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAA;AAE1E,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,OAAO,CAAA;AAEtD,MAAM,MAAM,mBAAmB,GACzB,sBAAsB,GACtB,sBAAsB,CAAA;AAE5B,MAAM,MAAM,gBAAgB,CAAC,UAAU,SAAS,UAAU,IACtD,UAAU,SAAS,2BAA2B,GACxC,sBAAsB,GACtB,sBAAsB,CAAA"}
1
+ {"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../../types/kernel.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,8 @@ import {
19
19
  type Chain,
20
20
  type Client,
21
21
  type Hex,
22
+ type PublicActions,
23
+ type PublicRpcSchema,
22
24
  type Transport,
23
25
  type TypedDataDefinition,
24
26
  concatHex,
@@ -88,6 +90,7 @@ export type CreateKernelAccountParameters<
88
90
  kernelVersion: GetKernelVersion<entryPoint>
89
91
  initConfig?: KernelVerion extends "0.3.1" ? Hex[] : never
90
92
  useMetaFactory?: boolean
93
+ chainId?: number
91
94
  }
92
95
 
93
96
  /**
@@ -365,10 +368,16 @@ const getDefaultAddresses = <entryPoint extends EntryPoint>(
365
368
  export async function createKernelAccount<
366
369
  entryPoint extends EntryPoint,
367
370
  KernelVersion extends GetKernelVersion<entryPoint>,
368
- TTransport extends Transport = Transport,
369
- TChain extends Chain | undefined = Chain | undefined
371
+ TTransport extends Transport,
372
+ TChain extends Chain | undefined
370
373
  >(
371
- client: Client<TTransport, TChain, undefined>,
374
+ client: Client<
375
+ TTransport,
376
+ TChain,
377
+ undefined,
378
+ PublicRpcSchema,
379
+ PublicActions<TTransport, TChain>
380
+ >,
372
381
  {
373
382
  plugins,
374
383
  entryPoint: entryPointAddress,
@@ -379,7 +388,8 @@ export async function createKernelAccount<
379
388
  deployedAccountAddress,
380
389
  kernelVersion,
381
390
  initConfig,
382
- useMetaFactory = true
391
+ useMetaFactory = true,
392
+ chainId
383
393
  }: CreateKernelAccountParameters<entryPoint, KernelVersion>
384
394
  ): Promise<KernelSmartAccount<entryPoint, TTransport, TChain>> {
385
395
  const entryPointVersion = getEntryPointVersion(entryPointAddress)
@@ -399,7 +409,8 @@ export async function createKernelAccount<
399
409
  action: plugins.action,
400
410
  pluginEnableSignature: plugins.pluginEnableSignature,
401
411
  entryPoint: entryPointAddress,
402
- kernelVersion
412
+ kernelVersion,
413
+ chainId
403
414
  })
404
415
 
405
416
  // initHook flag is activated only if both the hook and sudo validator are given
@@ -523,14 +534,19 @@ export async function createKernelAccount<
523
534
  },
524
535
  async signMessage({ message }) {
525
536
  const messageHash = hashMessage(message)
526
- const { name, chainId, version } = await accountMetadata(
537
+ const {
538
+ name,
539
+ chainId: metadataChainId,
540
+ version
541
+ } = await accountMetadata(
527
542
  client,
528
543
  accountAddress,
529
- kernelVersion
544
+ kernelVersion,
545
+ chainId
530
546
  )
531
547
  const wrappedMessageHash = await eip712WrapHash(messageHash, {
532
548
  name,
533
- chainId: Number(chainId),
549
+ chainId: Number(metadataChainId),
534
550
  version,
535
551
  verifyingContract: accountAddress
536
552
  })
@@ -574,14 +590,19 @@ export async function createKernelAccount<
574
590
 
575
591
  const typedHash = hashTypedData(typedData)
576
592
 
577
- const { name, chainId, version } = await accountMetadata(
593
+ const {
594
+ name,
595
+ chainId: metadataChainId,
596
+ version
597
+ } = await accountMetadata(
578
598
  client,
579
599
  accountAddress,
580
- kernelVersion
600
+ kernelVersion,
601
+ chainId
581
602
  )
582
603
  const wrappedMessageHash = await eip712WrapHash(typedHash, {
583
604
  name,
584
- chainId: Number(chainId),
605
+ chainId: Number(metadataChainId),
585
606
  version,
586
607
  verifyingContract: accountAddress
587
608
  })
@@ -1,4 +1,4 @@
1
- import type { EntryPoint } from "permissionless/types/entrypoint.js"
1
+ import type { EntryPoint } from "permissionless/types"
2
2
  import type { KernelSmartAccount } from "../../../createKernelAccount.js"
3
3
  import { encodeExecuteBatchCall } from "../../ep0_6/encodeExecuteBatchCall.js"
4
4
  import { encodeExecuteDelegateCall } from "../../ep0_6/encodeExecuteDelegateCall.js"
@@ -11,7 +11,7 @@ import { KERNEL_NAME } from "../../../../constants.js"
11
11
  import type { KERNEL_VERSION_TYPE } from "../../../../types/kernel.js"
12
12
  import { EIP1271Abi } from "../../abi/EIP1271Abi.js"
13
13
 
14
- type AccountMetadata = {
14
+ export type AccountMetadata = {
15
15
  name: string
16
16
  version: string
17
17
  chainId: bigint
@@ -22,7 +22,8 @@ export const accountMetadata = async <
22
22
  >(
23
23
  client: Client<TTransport, TChain, undefined>,
24
24
  accountAddress: Address,
25
- kernelVersion: KERNEL_VERSION_TYPE
25
+ kernelVersion: KERNEL_VERSION_TYPE,
26
+ chainId?: number
26
27
  ): Promise<AccountMetadata> => {
27
28
  try {
28
29
  const domain = await client.request({
@@ -54,8 +55,11 @@ export const accountMetadata = async <
54
55
  return {
55
56
  name: KERNEL_NAME,
56
57
  version: kernelVersion === "0.3.0" ? "0.3.0-beta" : kernelVersion,
57
- chainId: client.chain
58
- ? BigInt(client.chain.id)
59
- : BigInt(await client.extend(publicActions).getChainId())
58
+ chainId: BigInt(
59
+ chainId ??
60
+ (client.chain
61
+ ? client.chain.id
62
+ : await client.extend(publicActions).getChainId())
63
+ )
60
64
  }
61
65
  }
@@ -13,7 +13,7 @@ import {
13
13
  import type {
14
14
  ENTRYPOINT_ADDRESS_V06_TYPE,
15
15
  EntryPoint
16
- } from "permissionless/types/entrypoint.js"
16
+ } from "permissionless/types"
17
17
  import {
18
18
  type Address,
19
19
  type Chain,
@@ -21,6 +21,8 @@ import {
21
21
  type Hash,
22
22
  type Hex,
23
23
  type LocalAccount,
24
+ type PublicActions,
25
+ type PublicRpcSchema,
24
26
  type Transport,
25
27
  type TypedData,
26
28
  type TypedDataDefinition,
@@ -97,7 +99,13 @@ export async function createKernelAccountV1<
97
99
  TSource extends string = string,
98
100
  TAddress extends Address = Address
99
101
  >(
100
- client: Client<TTransport, TChain, undefined>,
102
+ client: Client<
103
+ TTransport,
104
+ TChain,
105
+ undefined,
106
+ PublicRpcSchema,
107
+ PublicActions<TTransport, TChain>
108
+ >,
101
109
  {
102
110
  signer,
103
111
  entryPoint: entryPointAddress,
@@ -8,7 +8,7 @@ import { SignTransactionNotSupportedBySmartAccount } from "permissionless/accoun
8
8
  import type {
9
9
  ENTRYPOINT_ADDRESS_V06_TYPE,
10
10
  EntryPoint
11
- } from "permissionless/types/entrypoint.js"
11
+ } from "permissionless/types"
12
12
  import {
13
13
  type Address,
14
14
  type Chain,
@@ -16,6 +16,8 @@ import {
16
16
  type EncodeDeployDataParameters,
17
17
  type Hash,
18
18
  type Hex,
19
+ type PublicActions,
20
+ type PublicRpcSchema,
19
21
  type Transport,
20
22
  type TypedDataDefinition,
21
23
  concatHex,
@@ -141,7 +143,13 @@ export async function createKernelAccountV0_2<
141
143
  TTransport extends Transport = Transport,
142
144
  TChain extends Chain | undefined = Chain | undefined
143
145
  >(
144
- client: Client<TTransport, TChain, undefined>,
146
+ client: Client<
147
+ TTransport,
148
+ TChain,
149
+ undefined,
150
+ PublicRpcSchema,
151
+ PublicActions<TTransport, TChain>
152
+ >,
145
153
  {
146
154
  plugins,
147
155
  entryPoint: entryPointAddress,
@@ -59,7 +59,8 @@ export async function toKernelPluginManager<
59
59
  validAfter = 0,
60
60
  validUntil = 0,
61
61
  entryPoint: entryPointAddress,
62
- kernelVersion
62
+ kernelVersion,
63
+ chainId
63
64
  }: KernelPluginManagerParams<entryPoint>
64
65
  ): Promise<KernelPluginManager<entryPoint>> {
65
66
  if (
@@ -70,8 +71,8 @@ export async function toKernelPluginManager<
70
71
  "Either sudo or/and regular validator version mismatch. Update to latest plugin package and use the proper plugin version"
71
72
  )
72
73
  }
74
+ let pluginEnabled: boolean
73
75
  const entryPointVersion = getEntryPointVersion(entryPointAddress)
74
- let chainId: number
75
76
  const activeValidator = regular || sudo
76
77
  if (!activeValidator) {
77
78
  throw new Error("One of `sudo` or `regular` validator must be set")
@@ -106,6 +107,9 @@ export async function toKernelPluginManager<
106
107
  }
107
108
  if (entryPointVersion === "v0.6") {
108
109
  if (regular) {
110
+ if (pluginEnabled) {
111
+ return ValidatorMode.plugin
112
+ }
109
113
  if (await isPluginEnabled(accountAddress, selector)) {
110
114
  return ValidatorMode.plugin
111
115
  }
@@ -132,6 +136,9 @@ export async function toKernelPluginManager<
132
136
  }
133
137
  }
134
138
  if (regular) {
139
+ if (pluginEnabled) {
140
+ return userOpSignature
141
+ }
135
142
  if (await isPluginEnabled(accountAddress, action.selector)) {
136
143
  return userOpSignature
137
144
  }
@@ -159,10 +166,13 @@ export async function toKernelPluginManager<
159
166
  if (entryPointVersion === "v0.6") {
160
167
  return regular.isEnabled(accountAddress, selector)
161
168
  }
162
- return (
169
+ const isEnabled =
163
170
  (await regular.isEnabled(accountAddress, action.selector)) ||
164
171
  (await isPluginInitialized(client, accountAddress, regular.address))
165
- )
172
+ if (isEnabled) {
173
+ pluginEnabled = true
174
+ }
175
+ return isEnabled
166
176
  }
167
177
 
168
178
  const getPluginEnableSignature = async (accountAddress: Address) => {
@@ -182,7 +192,7 @@ export async function toKernelPluginManager<
182
192
  kernelVersion
183
193
  )
184
194
  if (!chainId) {
185
- chainId = await getChainId(client)
195
+ chainId = client.chain?.id ?? (await getChainId(client))
186
196
  }
187
197
  let ownerSig: Hex
188
198
  if (entryPointVersion === "v0.6") {
@@ -241,7 +251,7 @@ export async function toKernelPluginManager<
241
251
  const validatorNonce = await getKernelV3Nonce(client, accountAddress)
242
252
 
243
253
  if (!chainId) {
244
- chainId = await getChainId(client)
254
+ chainId = client.chain?.id ?? (await getChainId(client))
245
255
  }
246
256
  const typedData = await getPluginsEnableTypedDataV2({
247
257
  accountAddress,
@@ -12,14 +12,18 @@ import { KernelV3AccountAbi } from "../../accounts/kernel/abi/kernel_v_3_0_0/Ker
12
12
 
13
13
  export type GetKernelV3ModuleCurrentNonceParameters<
14
14
  entryPoint extends EntryPoint,
15
+ TTransport extends Transport = Transport,
15
16
  TChain extends Chain | undefined = Chain | undefined,
16
- TAccount extends KernelSmartAccount<entryPoint> | undefined =
17
- | KernelSmartAccount<entryPoint>
17
+ TAccount extends
18
+ | KernelSmartAccount<entryPoint, TTransport, TChain>
19
+ | undefined =
20
+ | KernelSmartAccount<entryPoint, TTransport, TChain>
18
21
  | undefined,
19
22
  TChainOverride extends Chain | undefined = Chain | undefined
20
23
  > = Prettify<
21
24
  SendTransactionWithPaymasterParameters<
22
25
  entryPoint,
26
+ TTransport,
23
27
  TChain,
24
28
  TAccount,
25
29
  TChainOverride
@@ -30,8 +34,10 @@ export async function getKernelV3ModuleCurrentNonce<
30
34
  entryPoint extends EntryPoint,
31
35
  TTransport extends Transport = Transport,
32
36
  TChain extends Chain | undefined = Chain | undefined,
33
- TAccount extends KernelSmartAccount<entryPoint> | undefined =
34
- | KernelSmartAccount<entryPoint>
37
+ TAccount extends
38
+ | KernelSmartAccount<entryPoint, TTransport, TChain>
39
+ | undefined =
40
+ | KernelSmartAccount<entryPoint, TTransport, TChain>
35
41
  | undefined,
36
42
  TChainOverride extends Chain | undefined = Chain | undefined
37
43
  >(
@@ -39,6 +45,7 @@ export async function getKernelV3ModuleCurrentNonce<
39
45
  args: Prettify<
40
46
  GetKernelV3ModuleCurrentNonceParameters<
41
47
  entryPoint,
48
+ TTransport,
42
49
  TChain,
43
50
  TAccount,
44
51
  TChainOverride
@@ -14,14 +14,18 @@ import { KernelV3AccountAbi } from "../../accounts/kernel/abi/kernel_v_3_0_0/Ker
14
14
 
15
15
  export type InvalidateNonceParameters<
16
16
  entryPoint extends EntryPoint,
17
+ TTransport extends Transport = Transport,
17
18
  TChain extends Chain | undefined = Chain | undefined,
18
- TAccount extends KernelSmartAccount<entryPoint> | undefined =
19
- | KernelSmartAccount<entryPoint>
19
+ TAccount extends
20
+ | KernelSmartAccount<entryPoint, TTransport, TChain>
21
+ | undefined =
22
+ | KernelSmartAccount<entryPoint, TTransport, TChain>
20
23
  | undefined,
21
24
  TChainOverride extends Chain | undefined = Chain | undefined
22
25
  > = Prettify<
23
26
  SendTransactionWithPaymasterParameters<
24
27
  entryPoint,
28
+ TTransport,
25
29
  TChain,
26
30
  TAccount,
27
31
  TChainOverride
@@ -34,14 +38,22 @@ export async function invalidateNonce<
34
38
  entryPoint extends EntryPoint,
35
39
  TTransport extends Transport = Transport,
36
40
  TChain extends Chain | undefined = Chain | undefined,
37
- TAccount extends KernelSmartAccount<entryPoint> | undefined =
38
- | KernelSmartAccount<entryPoint>
41
+ TAccount extends
42
+ | KernelSmartAccount<entryPoint, TTransport, TChain>
43
+ | undefined =
44
+ | KernelSmartAccount<entryPoint, TTransport, TChain>
39
45
  | undefined,
40
46
  TChainOverride extends Chain | undefined = Chain | undefined
41
47
  >(
42
48
  client: Client<TTransport, TChain, TAccount>,
43
49
  args: Prettify<
44
- InvalidateNonceParameters<entryPoint, TChain, TAccount, TChainOverride>
50
+ InvalidateNonceParameters<
51
+ entryPoint,
52
+ TTransport,
53
+ TChain,
54
+ TAccount,
55
+ TChainOverride
56
+ >
45
57
  >
46
58
  ): Promise<Hash> {
47
59
  const { account: account_ = client.account, middleware, nonceToSet } = args
@@ -51,7 +63,13 @@ export async function invalidateNonce<
51
63
 
52
64
  return await getAction(
53
65
  client,
54
- sendTransaction<TChain, TAccount, entryPoint, TChainOverride>,
66
+ sendTransaction<
67
+ TTransport,
68
+ TChain,
69
+ TAccount,
70
+ entryPoint,
71
+ TChainOverride
72
+ >,
55
73
  "sendTransaction"
56
74
  )({
57
75
  ...args,
@@ -1,9 +1,9 @@
1
- import type { SmartAccount } from "permissionless/accounts/types"
1
+ import type { SmartAccount } from "permissionless/accounts"
2
2
  import { prepareUserOperationRequest } from "permissionless/actions/smartAccount"
3
3
  import type {
4
4
  PrepareUserOperationRequestParameters,
5
5
  PrepareUserOperationRequestReturnType
6
- } from "permissionless/actions/smartAccount/prepareUserOperationRequest"
6
+ } from "permissionless/actions/smartAccount"
7
7
  import type {
8
8
  EntryPoint,
9
9
  GetEntryPointVersion,
@@ -19,10 +19,19 @@ import { getAction } from "viem/utils"
19
19
 
20
20
  export type SignUserOperationParameters<
21
21
  entryPoint extends EntryPoint,
22
- TAccount extends SmartAccount<entryPoint> | undefined =
23
- | SmartAccount<entryPoint>
22
+ TTransport extends Transport = Transport,
23
+ TChain extends Chain | undefined = Chain | undefined,
24
+ TAccount extends
25
+ | SmartAccount<entryPoint, string, TTransport, TChain>
26
+ | undefined =
27
+ | SmartAccount<entryPoint, string, TTransport, TChain>
24
28
  | undefined
25
- > = PrepareUserOperationRequestParameters<entryPoint, TAccount>
29
+ > = PrepareUserOperationRequestParameters<
30
+ entryPoint,
31
+ TTransport,
32
+ TChain,
33
+ TAccount
34
+ >
26
35
 
27
36
  export type SignUserOperationReturnType<entryPoint extends EntryPoint> =
28
37
  PrepareUserOperationRequestReturnType<entryPoint>
@@ -31,23 +40,37 @@ export async function signUserOperation<
31
40
  entryPoint extends EntryPoint,
32
41
  TTransport extends Transport = Transport,
33
42
  TChain extends Chain | undefined = Chain | undefined,
34
- TAccount extends SmartAccount<entryPoint> | undefined =
35
- | SmartAccount<entryPoint>
43
+ TAccount extends
44
+ | SmartAccount<entryPoint, string, TTransport, TChain>
45
+ | undefined =
46
+ | SmartAccount<entryPoint, string, TTransport, TChain>
36
47
  | undefined
37
48
  >(
38
49
  client: Client<TTransport, TChain, TAccount>,
39
- args: Prettify<SignUserOperationParameters<entryPoint, TAccount>>
50
+ args: Prettify<
51
+ SignUserOperationParameters<entryPoint, TTransport, TChain, TAccount>
52
+ >
40
53
  ): Promise<SignUserOperationReturnType<entryPoint>> {
41
54
  const { account: account_ = client.account } = args
42
55
  if (!account_) throw new AccountOrClientNotFoundError()
43
56
 
44
- const account = parseAccount(account_) as SmartAccount<entryPoint>
57
+ const account = parseAccount(account_) as SmartAccount<
58
+ entryPoint,
59
+ string,
60
+ TTransport,
61
+ TChain
62
+ >
45
63
 
46
64
  const userOperation = await getAction(
47
65
  client,
48
66
  prepareUserOperationRequest<entryPoint, TTransport, TChain, TAccount>,
49
67
  "prepareUserOperationRequest"
50
- )(args)
68
+ )({ ...args, account } as PrepareUserOperationRequestParameters<
69
+ entryPoint,
70
+ TTransport,
71
+ TChain,
72
+ TAccount
73
+ >)
51
74
 
52
75
  userOperation.signature = await account.signUserOperation(
53
76
  userOperation as UserOperation<GetEntryPointVersion<entryPoint>>
@@ -19,14 +19,18 @@ import type {
19
19
 
20
20
  export type UninstallPluginParameters<
21
21
  entryPoint extends EntryPoint,
22
+ TTransport extends Transport = Transport,
22
23
  TChain extends Chain | undefined = Chain | undefined,
23
- TAccount extends KernelSmartAccount<entryPoint> | undefined =
24
- | KernelSmartAccount<entryPoint>
24
+ TAccount extends
25
+ | KernelSmartAccount<entryPoint, TTransport, TChain>
26
+ | undefined =
27
+ | KernelSmartAccount<entryPoint, TTransport, TChain>
25
28
  | undefined,
26
29
  TChainOverride extends Chain | undefined = Chain | undefined
27
30
  > = Prettify<
28
31
  SendTransactionWithPaymasterParameters<
29
32
  entryPoint,
33
+ TTransport,
30
34
  TChain,
31
35
  TAccount,
32
36
  TChainOverride
@@ -40,14 +44,22 @@ export async function uninstallPlugin<
40
44
  entryPoint extends EntryPoint,
41
45
  TTransport extends Transport = Transport,
42
46
  TChain extends Chain | undefined = Chain | undefined,
43
- TAccount extends KernelSmartAccount<entryPoint> | undefined =
44
- | KernelSmartAccount<entryPoint>
47
+ TAccount extends
48
+ | KernelSmartAccount<entryPoint, TTransport, TChain>
49
+ | undefined =
50
+ | KernelSmartAccount<entryPoint, TTransport, TChain>
45
51
  | undefined,
46
52
  TChainOverride extends Chain | undefined = Chain | undefined
47
53
  >(
48
54
  client: Client<TTransport, TChain, TAccount>,
49
55
  args: Prettify<
50
- UninstallPluginParameters<entryPoint, TChain, TAccount, TChainOverride>
56
+ UninstallPluginParameters<
57
+ entryPoint,
58
+ TTransport,
59
+ TChain,
60
+ TAccount,
61
+ TChainOverride
62
+ >
51
63
  >
52
64
  ): Promise<Hash> {
53
65
  const {
@@ -82,7 +94,13 @@ export async function uninstallPlugin<
82
94
  const hookData = (await hook?.getEnableData(account.address)) ?? "0x"
83
95
  return await getAction(
84
96
  client,
85
- sendTransaction<TChain, TAccount, entryPoint, TChainOverride>,
97
+ sendTransaction<
98
+ TTransport,
99
+ TChain,
100
+ TAccount,
101
+ entryPoint,
102
+ TChainOverride
103
+ >,
86
104
  "sendTransaction"
87
105
  )({
88
106
  ...args,