@zerodev/sdk 5.2.18 → 5.3.0-alpha-0

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 (78) hide show
  1. package/_cjs/accounts/index.js +5 -5
  2. package/_cjs/accounts/index.js.map +1 -1
  3. package/_cjs/accounts/kernel/createKernelAccount.js +32 -21
  4. package/_cjs/accounts/kernel/createKernelAccount.js.map +1 -1
  5. package/_cjs/accounts/kernel/utils/common/accountMetadata.js +2 -3
  6. package/_cjs/accounts/kernel/utils/common/accountMetadata.js.map +1 -1
  7. package/_cjs/accounts/kernel/v1/{createKernelV1Account.js → createKernelAccountV1.js} +4 -4
  8. package/_cjs/accounts/kernel/v1/{createKernelV1Account.js.map → createKernelAccountV1.js.map} +1 -1
  9. package/_cjs/accounts/kernel/v2/{createKernelV2Account.js → createKernelAccountV0_2.js} +5 -5
  10. package/_cjs/accounts/kernel/v2/createKernelAccountV0_2.js.map +1 -0
  11. package/_cjs/accounts/utils/toKernelPluginManager.js +7 -3
  12. package/_cjs/accounts/utils/toKernelPluginManager.js.map +1 -1
  13. package/_cjs/constants.js +37 -1
  14. package/_cjs/constants.js.map +1 -1
  15. package/_cjs/index.js +3 -3
  16. package/_cjs/index.js.map +1 -1
  17. package/_cjs/types/index.js.map +1 -1
  18. package/_cjs/types/kernel.js.map +1 -1
  19. package/_cjs/utils.js +17 -4
  20. package/_cjs/utils.js.map +1 -1
  21. package/_esm/accounts/index.js +2 -2
  22. package/_esm/accounts/index.js.map +1 -1
  23. package/_esm/accounts/kernel/createKernelAccount.js +34 -23
  24. package/_esm/accounts/kernel/createKernelAccount.js.map +1 -1
  25. package/_esm/accounts/kernel/utils/common/accountMetadata.js +2 -3
  26. package/_esm/accounts/kernel/utils/common/accountMetadata.js.map +1 -1
  27. package/_esm/accounts/kernel/v1/{createKernelV1Account.js → createKernelAccountV1.js} +2 -2
  28. package/_esm/accounts/kernel/v1/{createKernelV1Account.js.map → createKernelAccountV1.js.map} +1 -1
  29. package/_esm/accounts/kernel/v2/{createKernelV2Account.js → createKernelAccountV0_2.js} +3 -3
  30. package/_esm/accounts/kernel/v2/createKernelAccountV0_2.js.map +1 -0
  31. package/_esm/accounts/utils/toKernelPluginManager.js +7 -3
  32. package/_esm/accounts/utils/toKernelPluginManager.js.map +1 -1
  33. package/_esm/constants.js +36 -0
  34. package/_esm/constants.js.map +1 -1
  35. package/_esm/index.js +1 -1
  36. package/_esm/index.js.map +1 -1
  37. package/_esm/types/index.js.map +1 -1
  38. package/_esm/types/kernel.js.map +1 -1
  39. package/_esm/utils.js +13 -2
  40. package/_esm/utils.js.map +1 -1
  41. package/_types/accounts/index.d.ts +2 -2
  42. package/_types/accounts/index.d.ts.map +1 -1
  43. package/_types/accounts/kernel/createKernelAccount.d.ts +7 -6
  44. package/_types/accounts/kernel/createKernelAccount.d.ts.map +1 -1
  45. package/_types/accounts/kernel/utils/common/accountMetadata.d.ts +2 -2
  46. package/_types/accounts/kernel/utils/common/accountMetadata.d.ts.map +1 -1
  47. package/_types/accounts/kernel/v1/{createKernelV1Account.d.ts → createKernelAccountV1.d.ts} +4 -4
  48. package/_types/accounts/kernel/v1/{createKernelV1Account.d.ts.map → createKernelAccountV1.d.ts.map} +1 -1
  49. package/_types/accounts/kernel/v2/{createKernelV2Account.d.ts → createKernelAccountV0_2.d.ts} +3 -3
  50. package/_types/accounts/kernel/v2/createKernelAccountV0_2.d.ts.map +1 -0
  51. package/_types/accounts/utils/toKernelPluginManager.d.ts.map +1 -1
  52. package/_types/clients/kernelAccountClient.d.ts +1 -1
  53. package/_types/clients/paymasterClient.d.ts +1 -1
  54. package/_types/constants.d.ts +12 -1
  55. package/_types/constants.d.ts.map +1 -1
  56. package/_types/index.d.ts +1 -1
  57. package/_types/index.d.ts.map +1 -1
  58. package/_types/types/index.d.ts +1 -1
  59. package/_types/types/index.d.ts.map +1 -1
  60. package/_types/types/kernel.d.ts +6 -1
  61. package/_types/types/kernel.d.ts.map +1 -1
  62. package/_types/utils.d.ts +4 -0
  63. package/_types/utils.d.ts.map +1 -1
  64. package/accounts/index.ts +5 -2
  65. package/accounts/kernel/createKernelAccount.ts +68 -32
  66. package/accounts/kernel/utils/common/accountMetadata.ts +3 -4
  67. package/accounts/kernel/v1/{createKernelV1Account.ts → createKernelAccountV1.ts} +3 -3
  68. package/accounts/kernel/v2/{createKernelV2Account.ts → createKernelAccountV0_2.ts} +6 -3
  69. package/accounts/utils/toKernelPluginManager.ts +19 -15
  70. package/constants.ts +59 -1
  71. package/index.ts +3 -2
  72. package/package.json +1 -1
  73. package/types/index.ts +5 -1
  74. package/types/kernel.ts +15 -1
  75. package/utils.ts +29 -2
  76. package/_cjs/accounts/kernel/v2/createKernelV2Account.js.map +0 -1
  77. package/_esm/accounts/kernel/v2/createKernelV2Account.js.map +0 -1
  78. package/_types/accounts/kernel/v2/createKernelV2Account.d.ts.map +0 -1
@@ -1,10 +1,10 @@
1
- import type { EntryPoint } from "permissionless/types/entrypoint.js";
2
1
  import { type Address, type Chain, type Client, type Transport } from "viem";
2
+ import type { KERNEL_VERSION_TYPE } from "../../../../types/kernel.js";
3
3
  type AccountMetadata = {
4
4
  name: string;
5
5
  version: string;
6
6
  chainId: bigint;
7
7
  };
8
- export declare const accountMetadata: <TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined>(client: Client<TTransport, TChain, undefined>, accountAddress: Address, entryPointAddress: EntryPoint) => Promise<AccountMetadata>;
8
+ export declare const accountMetadata: <TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined>(client: Client<TTransport, TChain, undefined>, accountAddress: Address, kernelVersion: KERNEL_VERSION_TYPE) => Promise<AccountMetadata>;
9
9
  export {};
10
10
  //# sourceMappingURL=accountMetadata.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"accountMetadata.d.ts","sourceRoot":"","sources":["../../../../../accounts/kernel/utils/common/accountMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAA;AACpE,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,SAAS,EAIjB,MAAM,MAAM,CAAA;AAKb,KAAK,eAAe,GAAG;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CAClB,CAAA;AACD,eAAO,MAAM,eAAe,kKAKR,OAAO,qBACJ,UAAU,KAC9B,QAAQ,eAAe,CAmCzB,CAAA"}
1
+ {"version":3,"file":"accountMetadata.d.ts","sourceRoot":"","sources":["../../../../../accounts/kernel/utils/common/accountMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,SAAS,EAIjB,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAGtE,KAAK,eAAe,GAAG;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CAClB,CAAA;AACD,eAAO,MAAM,eAAe,kKAKR,OAAO,iBACR,mBAAmB,KACnC,QAAQ,eAAe,CAmCzB,CAAA"}
@@ -2,10 +2,10 @@ import { type SmartAccountSigner } from "permissionless/accounts";
2
2
  import type { EntryPoint } from "permissionless/types/entrypoint.js";
3
3
  import { type Address, type Chain, type Client, type Transport } from "viem";
4
4
  import type { KernelSmartAccount } from "../createKernelAccount.js";
5
- export type KernelV1SmartAccount<entryPoint extends EntryPoint, transport extends Transport = Transport, chain extends Chain | undefined = Chain | undefined> = Omit<KernelSmartAccount<entryPoint, transport, chain>, "kernelPluginManager">;
6
- export declare function createKernelV1Account<entryPoint extends EntryPoint, TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TSource extends string = string, TAddress extends Address = Address>(client: Client<TTransport, TChain, undefined>, { signer, entrypoint: entryPointAddress, index }: {
5
+ export type KernelSmartAccountV1<entryPoint extends EntryPoint, transport extends Transport = Transport, chain extends Chain | undefined = Chain | undefined> = Omit<KernelSmartAccount<entryPoint, transport, chain>, "kernelPluginManager">;
6
+ export declare function createKernelAccountV1<entryPoint extends EntryPoint, TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TSource extends string = string, TAddress extends Address = Address>(client: Client<TTransport, TChain, undefined>, { signer, entrypoint: entryPointAddress, index }: {
7
7
  signer: SmartAccountSigner<TSource, TAddress>;
8
8
  entrypoint: entryPoint;
9
9
  index?: bigint;
10
- }): Promise<KernelV1SmartAccount<entryPoint, TTransport, TChain>>;
11
- //# sourceMappingURL=createKernelV1Account.d.ts.map
10
+ }): Promise<KernelSmartAccountV1<entryPoint, TTransport, TChain>>;
11
+ //# sourceMappingURL=createKernelAccountV1.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createKernelV1Account.d.ts","sourceRoot":"","sources":["../../../../accounts/kernel/v1/createKernelV1Account.ts"],"names":[],"mappings":"AAQA,OAAO,EAEH,KAAK,kBAAkB,EAC1B,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAER,UAAU,EACb,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,MAAM,EAIX,KAAK,SAAS,EAKjB,MAAM,MAAM,CAAA;AAWb,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAEnE,MAAM,MAAM,oBAAoB,CAC5B,UAAU,SAAS,UAAU,EAC7B,SAAS,SAAS,SAAS,GAAG,SAAS,EACvC,KAAK,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IACnD,IAAI,CACJ,kBAAkB,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,EAChD,qBAAqB,CACxB,CAAA;AA4CD,wBAAsB,qBAAqB,CACvC,UAAU,SAAS,UAAU,EAC7B,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,OAAO,SAAS,MAAM,GAAG,MAAM,EAC/B,QAAQ,SAAS,OAAO,GAAG,OAAO,EAElC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAC7C,EACI,MAAM,EACN,UAAU,EAAE,iBAAiB,EAC7B,KAAU,EACb,EAAE;IACC,MAAM,EAAE,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC7C,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB,GACF,OAAO,CAAC,oBAAoB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CA4N/D"}
1
+ {"version":3,"file":"createKernelAccountV1.d.ts","sourceRoot":"","sources":["../../../../accounts/kernel/v1/createKernelAccountV1.ts"],"names":[],"mappings":"AAQA,OAAO,EAEH,KAAK,kBAAkB,EAC1B,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAER,UAAU,EACb,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,MAAM,EAIX,KAAK,SAAS,EAKjB,MAAM,MAAM,CAAA;AAWb,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAEnE,MAAM,MAAM,oBAAoB,CAC5B,UAAU,SAAS,UAAU,EAC7B,SAAS,SAAS,SAAS,GAAG,SAAS,EACvC,KAAK,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IACnD,IAAI,CACJ,kBAAkB,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,EAChD,qBAAqB,CACxB,CAAA;AA4CD,wBAAsB,qBAAqB,CACvC,UAAU,SAAS,UAAU,EAC7B,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,OAAO,SAAS,MAAM,GAAG,MAAM,EAC/B,QAAQ,SAAS,OAAO,GAAG,OAAO,EAElC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAC7C,EACI,MAAM,EACN,UAAU,EAAE,iBAAiB,EAC7B,KAAU,EACb,EAAE;IACC,MAAM,EAAE,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC7C,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB,GACF,OAAO,CAAC,oBAAoB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CA4N/D"}
@@ -19,11 +19,11 @@ export declare const KERNEL_ADDRESSES: {
19
19
  * @param ecdsaValidatorAddress
20
20
  * @param deployedAccountAddress
21
21
  */
22
- export declare function createKernelV2Account<entryPoint extends EntryPoint, TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined>(client: Client<TTransport, TChain, undefined>, { plugins, entryPoint: entryPointAddress, index, factoryAddress, deployedAccountAddress }: {
23
- plugins: KernelPluginManagerParams<entryPoint> | KernelPluginManager<entryPoint>;
22
+ export declare function createKernelAccountV0_2<entryPoint extends EntryPoint, TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined>(client: Client<TTransport, TChain, undefined>, { plugins, entryPoint: entryPointAddress, index, factoryAddress, deployedAccountAddress }: {
23
+ plugins: Omit<KernelPluginManagerParams<entryPoint>, "entryPoint" | "kernelVersion"> | KernelPluginManager<entryPoint>;
24
24
  entryPoint: entryPoint;
25
25
  index?: bigint;
26
26
  factoryAddress?: Address;
27
27
  deployedAccountAddress?: Address;
28
28
  }): Promise<KernelSmartAccount<entryPoint, TTransport, TChain>>;
29
- //# sourceMappingURL=createKernelV2Account.d.ts.map
29
+ //# sourceMappingURL=createKernelAccountV0_2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createKernelAccountV0_2.d.ts","sourceRoot":"","sources":["../../../../accounts/kernel/v2/createKernelAccountV0_2.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAER,UAAU,EACb,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,MAAM,EAIX,KAAK,SAAS,EAUjB,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,EAER,mBAAmB,EACnB,yBAAyB,EAC5B,MAAM,0BAA0B,CAAA;AAYjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAanE;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE;IAC3B,eAAe,EAAE,OAAO,CAAA;IACxB,eAAe,EAAE,OAAO,CAAA;CAI3B,CAAA;AA2DD;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CACzC,UAAU,SAAS,UAAU,EAC7B,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EAEpD,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAC7C,EACI,OAAO,EACP,UAAU,EAAE,iBAAiB,EAC7B,KAAU,EACV,cAAiD,EACjD,sBAAsB,EACzB,EAAE;IACC,OAAO,EACD,IAAI,CACA,yBAAyB,CAAC,UAAU,CAAC,EACrC,YAAY,GAAG,eAAe,CACjC,GACD,mBAAmB,CAAC,UAAU,CAAC,CAAA;IACrC,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACnC,GACF,OAAO,CAAC,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CA6P7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"toKernelPluginManager.d.ts","sourceRoot":"","sources":["../../../accounts/utils/toKernelPluginManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAEH,KAAK,KAAK,EACV,KAAK,MAAM,EAEX,KAAK,SAAS,EAQjB,MAAM,MAAM,CAAA;AAQb,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAEjC,MAAM,uBAAuB,CAAA;AAU9B,wBAAgB,qBAAqB,CAAC,UAAU,SAAS,UAAU,EAE/D,MAAM,EAAE,GAAG,GACZ,MAAM,IAAI,mBAAmB,CAAC,UAAU,CAAC,CAE3C;AAED,wBAAsB,qBAAqB,CACvC,UAAU,SAAS,UAAU,EAC7B,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EAEpD,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAC7C,EACI,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,qBAAqB,EACrB,iBAAiB,EACjB,MAAM,EACN,UAAc,EACd,UAAc,EACd,UAAU,EAAE,iBAAiB,EAC7B,aAAa,EAChB,EAAE,yBAAyB,CAAC,UAAU,CAAC,GACzC,OAAO,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAwU1C"}
1
+ {"version":3,"file":"toKernelPluginManager.d.ts","sourceRoot":"","sources":["../../../accounts/utils/toKernelPluginManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAEjE,OAAO,EAEH,KAAK,KAAK,EACV,KAAK,MAAM,EAEX,KAAK,SAAS,EAQjB,MAAM,MAAM,CAAA;AAQb,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAEjC,MAAM,uBAAuB,CAAA;AAU9B,wBAAgB,qBAAqB,CAAC,UAAU,SAAS,UAAU,EAE/D,MAAM,EAAE,GAAG,GACZ,MAAM,IAAI,mBAAmB,CAAC,UAAU,CAAC,CAE3C;AAED,wBAAsB,qBAAqB,CACvC,UAAU,SAAS,UAAU,EAC7B,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EAEpD,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAC7C,EACI,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,qBAAqB,EACrB,iBAAiB,EACjB,MAAM,EACN,UAAc,EACd,UAAc,EACd,UAAU,EAAE,iBAAiB,EAC7B,aAAa,EAChB,EAAE,yBAAyB,CAAC,UAAU,CAAC,GACzC,OAAO,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CA2U1C"}
@@ -13,10 +13,10 @@ export type SmartAccountClientConfig<entryPoint extends EntryPoint, transport ex
13
13
  entryPoint: entryPoint;
14
14
  }>;
15
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: {
16
+ name?: string | undefined;
16
17
  cacheTime?: number | undefined;
17
18
  chain?: Chain | TChain | undefined;
18
19
  key?: string | undefined;
19
- name?: string | undefined;
20
20
  pollingInterval?: number | undefined;
21
21
  account?: TSmartAccount | undefined;
22
22
  bundlerTransport: Transport;
@@ -21,6 +21,7 @@ export type ZeroDevPaymasterClient<entryPoint extends EntryPoint> = Client<Trans
21
21
  * })
22
22
  */
23
23
  export declare const createZeroDevPaymasterClient: <entryPoint extends EntryPoint, transport extends Transport, chain extends Chain | undefined = undefined>(parameters: {
24
+ name?: string | undefined;
24
25
  batch?: {
25
26
  multicall?: boolean | {
26
27
  batchSize?: number | undefined;
@@ -33,7 +34,6 @@ export declare const createZeroDevPaymasterClient: <entryPoint extends EntryPoin
33
34
  } | undefined;
34
35
  chain?: Chain | chain | undefined;
35
36
  key?: string | undefined;
36
- name?: string | undefined;
37
37
  pollingInterval?: number | undefined;
38
38
  transport: transport;
39
39
  rpcSchema?: undefined;
@@ -1,9 +1,20 @@
1
1
  import type { EntryPointVersion } from "permissionless/types/entrypoint";
2
- import type { Address, Hex } from "viem";
2
+ import { type Address, type Hex } from "viem";
3
+ import type { KERNEL_V3_VERSION_TYPE, KERNEL_VERSION_TYPE } from "./types/kernel.js";
3
4
  export declare const DUMMY_ECDSA_SIG = "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c";
4
5
  export declare const KernelImplToVersionMap: {
5
6
  [key: Address]: string;
6
7
  };
8
+ export declare const FACTORY_ADDRESS_V0_6 = "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3";
9
+ export declare const FACTORY_ADDRESS_V0_6_INIT_CODE_HASH = "0xee9d8350bd899dd261db689aafd87eb8a30f085adbaff48152399438ff4eed73";
10
+ export declare const KernelVersionToAddressesMap: {
11
+ [key in KERNEL_VERSION_TYPE]: {
12
+ accountImplementationAddress: Address;
13
+ factoryAddress: Address;
14
+ metaFactoryAddress?: key extends KERNEL_V3_VERSION_TYPE ? Address : never;
15
+ initCodeHash?: Hex;
16
+ };
17
+ };
7
18
  export declare const TOKEN_ACTION = "0x2087C7FfD0d0DAE80a00EE74325aBF3449e0eaf1";
8
19
  export declare const ONLY_ENTRYPOINT_HOOK_ADDRESS = "0xb230f0A1C7C95fa11001647383c8C7a8F316b900";
9
20
  export declare const KERNEL_NAME = "Kernel";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACxE,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAExC,eAAO,MAAM,eAAe,yIAC8G,CAAA;AAE1I,eAAO,MAAM,sBAAsB,EAAE;IAAE,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAA;CAO5D,CAAA;AACD,eAAO,MAAM,YAAY,+CAA+C,CAAA;AACxE,eAAO,MAAM,4BAA4B,+CACO,CAAA;AAChD,eAAO,MAAM,WAAW,WAAW,CAAA;AACnC,eAAO,MAAM,qBAAqB,EAAE;KAAG,GAAG,IAAI,iBAAiB,GAAG,MAAM;CAGvE,CAAA;AACD,eAAO,MAAM,cAAc;;;;CAIjB,CAAA;AACV,oBAAY,cAAc;IACtB,OAAO,SAAS;IAChB,MAAM,SAAS;CAClB;AACD,oBAAY,SAAS;IACjB,MAAM,SAAS;IACf,KAAK,SAAS;IACd,aAAa,SAAS;CACzB;AACD,oBAAY,SAAS;IACjB,OAAO,SAAS;IAChB,QAAQ,SAAS;CACpB;AAID,eAAO,MAAM,qBAAqB,+CACc,CAAA;AAChD,eAAO,MAAM,8BAA8B,EAAE;IAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,CAAA;CAKjE,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACxE,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAe,MAAM,MAAM,CAAA;AAC1D,OAAO,KAAK,EACR,sBAAsB,EACtB,mBAAmB,EACtB,MAAM,mBAAmB,CAAA;AAE1B,eAAO,MAAM,eAAe,yIAC8G,CAAA;AAE1I,eAAO,MAAM,sBAAsB,EAAE;IAAE,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAA;CAO5D,CAAA;AAED,eAAO,MAAM,oBAAoB,+CAA+C,CAAA;AAChF,eAAO,MAAM,mCAAmC,uEACwB,CAAA;AAExE,eAAO,MAAM,2BAA2B,EAAE;KACrC,GAAG,IAAI,mBAAmB,GAAG;QAC1B,4BAA4B,EAAE,OAAO,CAAA;QACrC,cAAc,EAAE,OAAO,CAAA;QACvB,kBAAkB,CAAC,EAAE,GAAG,SAAS,sBAAsB,GACjD,OAAO,GACP,KAAK,CAAA;QACX,YAAY,CAAC,EAAE,GAAG,CAAA;KACrB;CAwCJ,CAAA;AACD,eAAO,MAAM,YAAY,+CAA+C,CAAA;AACxE,eAAO,MAAM,4BAA4B,+CACO,CAAA;AAChD,eAAO,MAAM,WAAW,WAAW,CAAA;AACnC,eAAO,MAAM,qBAAqB,EAAE;KAAG,GAAG,IAAI,iBAAiB,GAAG,MAAM;CAGvE,CAAA;AACD,eAAO,MAAM,cAAc;;;;CAIjB,CAAA;AACV,oBAAY,cAAc;IACtB,OAAO,SAAS;IAChB,MAAM,SAAS;CAClB;AACD,oBAAY,SAAS;IACjB,MAAM,SAAS;IACf,KAAK,SAAS;IACd,aAAa,SAAS;CACzB;AACD,oBAAY,SAAS;IACjB,OAAO,SAAS;IAChB,QAAQ,SAAS;CACpB;AAID,eAAO,MAAM,qBAAqB,+CACc,CAAA;AAChD,eAAO,MAAM,8BAA8B,EAAE;IAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,CAAA;CAKjE,CAAA"}
package/_types/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { createKernelAccount, createKernelV1Account, createKernelV2Account, type KernelSmartAccount, KERNEL_ADDRESSES, addressToEmptyAccount, EIP1271Abi } from "./accounts/index.js";
1
+ export { createKernelAccount, createKernelAccountV0_2, createKernelAccountV1, type KernelSmartAccountV1, type KernelSmartAccount, KERNEL_ADDRESSES, addressToEmptyAccount, EIP1271Abi } from "./accounts/index.js";
2
2
  export { sponsorUserOperation, type SponsorUserOperationParameters, type SponsorUserOperationReturnType } from "./actions/paymaster/sponsorUserOperation.js";
3
3
  export { type SmartAccountClientConfig } from "./clients/kernelAccountClient.js";
4
4
  export { zerodevPaymasterActions, type ZeroDevPaymasterClientActions, kernelAccountClientActions, type KernelAccountClientActions } from "./clients/decorators/kernel.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,KAAK,kBAAkB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,EACb,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACH,oBAAoB,EACpB,KAAK,8BAA8B,EACnC,KAAK,8BAA8B,EACtC,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,kCAAkC,CAAA;AAChF,OAAO,EACH,uBAAuB,EACvB,KAAK,6BAA6B,EAClC,0BAA0B,EAC1B,KAAK,0BAA0B,EAClC,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACH,4BAA4B,EAC5B,KAAK,sBAAsB,EAC9B,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACH,yBAAyB,EACzB,KAAK,mBAAmB,EAC3B,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,iCAAiC,EAAE,MAAM,0CAA0C,CAAA;AAC5F,OAAO,EACH,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,MAAM,EACd,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EACH,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EAClB,MAAM,0DAA0D,CAAA;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAA;AAC7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,gEAAgE,CAAA;AACvG,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAA;AAC1E,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAChF,OAAO,EACH,sBAAsB,EACtB,2BAA2B,EAC9B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gEAAgE,CAAA;AACtG,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sDAAsD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,EACb,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACH,oBAAoB,EACpB,KAAK,8BAA8B,EACnC,KAAK,8BAA8B,EACtC,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,kCAAkC,CAAA;AAChF,OAAO,EACH,uBAAuB,EACvB,KAAK,6BAA6B,EAClC,0BAA0B,EAC1B,KAAK,0BAA0B,EAClC,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACH,4BAA4B,EAC5B,KAAK,sBAAsB,EAC9B,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACH,yBAAyB,EACzB,KAAK,mBAAmB,EAC3B,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,iCAAiC,EAAE,MAAM,0CAA0C,CAAA;AAC5F,OAAO,EACH,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,MAAM,EACd,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAC5E,OAAO,EACH,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EAClB,MAAM,0DAA0D,CAAA;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAA;AAC7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,gEAAgE,CAAA;AACvG,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAA;AAC1E,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAChF,OAAO,EACH,sBAAsB,EACtB,2BAA2B,EAC9B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gEAAgE,CAAA;AACtG,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sDAAsD,CAAA"}
@@ -1,4 +1,4 @@
1
- export type { KernelValidator, ZeroDevPaymasterRpcSchema, Action, KernelPluginManager, ValidatorInitData, CallType, KernelEncodeCallDataArgs, PluginValidityData, ZeroDevAccountClientRpcSchema, ZeroDevUserOperationGasPriceWithBigIntAsHex } from "./kernel.js";
1
+ export type { KernelValidator, ZeroDevPaymasterRpcSchema, Action, KernelPluginManager, ValidatorInitData, CallType, KernelEncodeCallDataArgs, PluginValidityData, ZeroDevAccountClientRpcSchema, ZeroDevUserOperationGasPriceWithBigIntAsHex, KERNEL_V2_VERSION_TYPE, KERNEL_V3_VERSION_TYPE, KERNEL_VERSION_TYPE, GetKernelVersion } from "./kernel.js";
2
2
  export { ValidatorMode } from "./kernel.js";
3
3
  export type WithRequired<T, K extends keyof T> = Required<Pick<T, K>>;
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACR,eAAe,EACf,yBAAyB,EACzB,MAAM,EACN,mBAAmB,EACnB,iBAAiB,EACjB,QAAQ,EACR,wBAAwB,EACxB,kBAAkB,EAClB,6BAA6B,EAC7B,2CAA2C,EAC9C,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACR,eAAe,EACf,yBAAyB,EACzB,MAAM,EACN,mBAAmB,EACnB,iBAAiB,EACjB,QAAQ,EACR,wBAAwB,EACxB,kBAAkB,EAClB,6BAA6B,EAC7B,2CAA2C,EAC3C,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EACnB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA"}
@@ -94,6 +94,7 @@ export type ZeroDevAccountClientRpcSchema = [
94
94
  export type ValidatorType = Extract<keyof typeof VALIDATOR_TYPE, "PERMISSION" | "SECONDARY">;
95
95
  export type KernelValidator<entryPoint extends EntryPoint, Name extends string = string> = LocalAccount<Name> & {
96
96
  validatorType: ValidatorType;
97
+ supportedKernelVersions: string;
97
98
  getNonceKey: (accountAddress?: Address, customNonceKey?: bigint) => Promise<bigint>;
98
99
  getDummySignature(userOperation: UserOperation<GetEntryPointVersion<entryPoint>>, pluginEnableSignature?: Hex): Promise<Hex>;
99
100
  signUserOperation: (userOperation: UserOperation<GetEntryPointVersion<entryPoint>>, pluginEnableSignature?: Hex) => Promise<Hex>;
@@ -138,7 +139,7 @@ export type KernelPluginManagerParams<entryPoint extends EntryPoint> = {
138
139
  validatorInitData?: ValidatorInitData;
139
140
  action?: Action;
140
141
  entryPoint: entryPoint;
141
- kernelVersion?: string;
142
+ kernelVersion: KERNEL_VERSION_TYPE;
142
143
  } & Partial<PluginValidityData>;
143
144
  export type Hook = {
144
145
  address: Address;
@@ -174,4 +175,8 @@ export type Execution = {
174
175
  value: bigint;
175
176
  callData: Hex;
176
177
  };
178
+ export type KERNEL_V2_VERSION_TYPE = "0.0.2" | "0.2.2" | "0.2.3" | "0.2.4";
179
+ export type KERNEL_V3_VERSION_TYPE = "0.3.0-beta" | "0.3.1";
180
+ export type KERNEL_VERSION_TYPE = KERNEL_V2_VERSION_TYPE | KERNEL_V3_VERSION_TYPE;
181
+ export type GetKernelVersion<entryPoint extends EntryPoint> = entryPoint extends ENTRYPOINT_ADDRESS_V06_TYPE ? KERNEL_V2_VERSION_TYPE : KERNEL_V3_VERSION_TYPE;
177
182
  //# sourceMappingURL=kernel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../../types/kernel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../../types/kernel.ts"],"names":[],"mappings":"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"}
package/_types/utils.d.ts CHANGED
@@ -2,12 +2,14 @@ import type { EntryPoint } from "permissionless/types/entrypoint";
2
2
  import { type Address, type Hex } from "viem";
3
3
  import type { ZeroDevPaymasterClient } from "./clients/paymasterClient.js";
4
4
  import { type CALL_TYPE, type EXEC_TYPE } from "./constants.js";
5
+ import type { GetKernelVersion } from "./types/kernel.js";
5
6
  export declare const getKernelVersion: <entryPoint extends EntryPoint>(entryPointAddress: entryPoint, kernelImpl?: Address) => string;
6
7
  export declare enum KERNEL_FEATURES {
7
8
  ERC1271_SIG_WRAPPER = "ERC1271_SIG_WRAPPER",
8
9
  ERC1271_WITH_VALIDATOR = "ERC1271_WITH_VALIDATOR",
9
10
  ERC1271_SIG_WRAPPER_WITH_WRAPPED_HASH = "ERC1271_SIG_WRAPPER_WITH_WRAPPED_HASH"
10
11
  }
12
+ export declare const KERNEL_FEATURES_BY_VERSION: Record<KERNEL_FEATURES, string>;
11
13
  export declare const hasKernelFeature: (feature: KERNEL_FEATURES, version: string) => boolean;
12
14
  export declare const getERC20PaymasterApproveCall: <entryPoint extends EntryPoint>(client: ZeroDevPaymasterClient<entryPoint>, { gasToken, approveAmount }: {
13
15
  gasToken: Address;
@@ -22,4 +24,6 @@ export declare const getExecMode: ({ callType, execType }: {
22
24
  callType: CALL_TYPE;
23
25
  execType: EXEC_TYPE;
24
26
  }) => Hex;
27
+ export declare const validateKernelVersionWithEntryPoint: <entryPoint extends EntryPoint>(entryPointAddress: entryPoint, kernelVersion: GetKernelVersion<entryPoint>) => void;
28
+ export declare const satisfiesRange: (version: string, range: string) => boolean;
25
29
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAEjE,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,GAAG,EASX,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AAC1E,OAAO,EACH,KAAK,SAAS,EACd,KAAK,SAAS,EAGjB,MAAM,gBAAgB,CAAA;AAEvB,eAAO,MAAM,gBAAgB,8EAEZ,OAAO,KACrB,MAQF,CAAA;AAED,oBAAY,eAAe;IACvB,mBAAmB,wBAAwB;IAC3C,sBAAsB,2BAA2B;IACjD,qCAAqC,0CAA0C;CAClF;AAQD,eAAO,MAAM,gBAAgB,YAChB,eAAe,WACf,MAAM,KAChB,OAMF,CAAA;AAED,eAAO,MAAM,4BAA4B;cAQvB,OAAO;mBACF,MAAM;MAE1B,QAAQ;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAE,CAmBnD,CAAA;AAED,eAAO,MAAM,aAAa,QAAS,GAAG,KAAG,GAcxC,CAAA;AAED,eAAO,MAAM,WAAW;cAIV,SAAS;cACT,SAAS;MACnB,GAQH,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../utils.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAEjE,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,GAAG,EASX,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AAC1E,OAAO,EACH,KAAK,SAAS,EACd,KAAK,SAAS,EAGjB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEzD,eAAO,MAAM,gBAAgB,8EAEZ,OAAO,KACrB,MAQF,CAAA;AAED,oBAAY,eAAe;IACvB,mBAAmB,wBAAwB;IAC3C,sBAAsB,2BAA2B;IACjD,qCAAqC,0CAA0C;CAClF;AAED,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAItE,CAAA;AAED,eAAO,MAAM,gBAAgB,YAChB,eAAe,WACf,MAAM,KAChB,OAMF,CAAA;AAED,eAAO,MAAM,4BAA4B;cAQvB,OAAO;mBACF,MAAM;MAE1B,QAAQ;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAE,CAmBnD,CAAA;AAED,eAAO,MAAM,aAAa,QAAS,GAAG,KAAG,GAcxC,CAAA;AAED,eAAO,MAAM,WAAW;cAIV,SAAS;cACT,SAAS;MACnB,GAQH,CAAA;AAED,eAAO,MAAM,mCAAmC,qHAgB/C,CAAA;AAED,eAAO,MAAM,cAAc,YAAa,MAAM,SAAS,MAAM,KAAG,OAE/D,CAAA"}
package/accounts/index.ts CHANGED
@@ -3,8 +3,11 @@ export {
3
3
  type KernelSmartAccount,
4
4
  KERNEL_ADDRESSES
5
5
  } from "./kernel/createKernelAccount.js"
6
- export { createKernelV1Account } from "./kernel/v1/createKernelV1Account.js"
7
- export { createKernelV2Account } from "./kernel/v2/createKernelV2Account.js"
6
+ export {
7
+ createKernelAccountV1,
8
+ type KernelSmartAccountV1
9
+ } from "./kernel/v1/createKernelAccountV1.js"
10
+ export { createKernelAccountV0_2 } from "./kernel/v2/createKernelAccountV0_2.js"
8
11
  export { KernelAccountV2Abi } from "./kernel/v2/abi/KernelAccountV2Abi.js"
9
12
  export { KernelFactoryV2Abi } from "./kernel/v2/abi/KernelFactoryV2Abi.js"
10
13
  export { EIP1271Abi } from "./kernel/abi/EIP1271Abi.js"
@@ -30,12 +30,15 @@ import {
30
30
  validateTypedData,
31
31
  zeroAddress
32
32
  } from "viem"
33
+ import { KernelVersionToAddressesMap } from "../../constants.js"
33
34
  import type {
35
+ GetKernelVersion,
34
36
  KernelEncodeCallDataArgs,
35
37
  KernelPluginManager,
36
38
  KernelPluginManagerParams
37
39
  } from "../../types/kernel.js"
38
40
  import { KERNEL_FEATURES, hasKernelFeature } from "../../utils.js"
41
+ import { validateKernelVersionWithEntryPoint } from "../../utils.js"
39
42
  import { parseFactoryAddressAndCallDataFromAccountInitCode } from "../utils/index.js"
40
43
  import {
41
44
  isKernelPluginManager,
@@ -65,14 +68,18 @@ export type KernelSmartAccount<
65
68
 
66
69
  export type CreateKernelAccountParameters<entryPoint extends EntryPoint> = {
67
70
  plugins:
68
- | Omit<KernelPluginManagerParams<entryPoint>, "entryPoint">
71
+ | Omit<
72
+ KernelPluginManagerParams<entryPoint>,
73
+ "entryPoint" | "kernelVersion"
74
+ >
69
75
  | KernelPluginManager<entryPoint>
70
76
  entryPoint: entryPoint
71
77
  index?: bigint
72
78
  factoryAddress?: Address
73
- accountLogicAddress?: Address
74
- factoryStakerAddress?: Address
79
+ accountImplementationAddress?: Address
80
+ metaFactoryAddress?: Address
75
81
  deployedAccountAddress?: Address
82
+ kernelVersion: GetKernelVersion<entryPoint>
76
83
  }
77
84
 
78
85
  /**
@@ -168,22 +175,22 @@ const getKernelInitData = async <entryPoint extends EntryPoint>({
168
175
  * Get the account initialization code for a kernel smart account
169
176
  * @param index
170
177
  * @param factoryAddress
171
- * @param accountLogicAddress
178
+ * @param accountImplementationAddress
172
179
  * @param ecdsaValidatorAddress
173
180
  */
174
181
  const getAccountInitCode = async <entryPoint extends EntryPoint>({
175
182
  index,
176
183
  factoryAddress,
177
- accountLogicAddress,
178
- factoryStakerAddress,
184
+ accountImplementationAddress,
185
+ metaFactoryAddress,
179
186
  entryPoint: entryPointAddress,
180
187
  kernelPluginManager,
181
188
  initHook
182
189
  }: {
183
190
  index: bigint
184
191
  factoryAddress: Address
185
- accountLogicAddress: Address
186
- factoryStakerAddress: Address
192
+ accountImplementationAddress: Address
193
+ metaFactoryAddress?: Address
187
194
  entryPoint: entryPoint
188
195
  kernelPluginManager: KernelPluginManager<entryPoint>
189
196
  initHook: boolean
@@ -203,13 +210,13 @@ const getAccountInitCode = async <entryPoint extends EntryPoint>({
203
210
  encodeFunctionData({
204
211
  abi: createAccountAbi,
205
212
  functionName: "createAccount",
206
- args: [accountLogicAddress, initialisationData, index]
213
+ args: [accountImplementationAddress, initialisationData, index]
207
214
  }) as Hex
208
215
  ])
209
216
  }
210
217
 
211
218
  return concatHex([
212
- factoryStakerAddress,
219
+ metaFactoryAddress ?? zeroAddress,
213
220
  encodeFunctionData({
214
221
  abi: KernelFactoryStakerAbi,
215
222
  functionName: "deployWithFactory",
@@ -261,6 +268,37 @@ const getAccountAddress = async <
261
268
  })
262
269
  }
263
270
 
271
+ const getDefaultAddresses = <entryPoint extends EntryPoint>(
272
+ entryPointAddress: entryPoint,
273
+ kernelVersion: GetKernelVersion<entryPoint>,
274
+ {
275
+ accountImplementationAddress,
276
+ factoryAddress,
277
+ metaFactoryAddress
278
+ }: {
279
+ accountImplementationAddress?: Address
280
+ factoryAddress?: Address
281
+ metaFactoryAddress?: Address
282
+ }
283
+ ) => {
284
+ validateKernelVersionWithEntryPoint(entryPointAddress, kernelVersion)
285
+
286
+ const addresses = KernelVersionToAddressesMap[kernelVersion]
287
+ if (!addresses) {
288
+ throw new Error(
289
+ `No addresses found for kernel version ${kernelVersion}`
290
+ )
291
+ }
292
+
293
+ return {
294
+ accountImplementationAddress:
295
+ accountImplementationAddress ??
296
+ addresses.accountImplementationAddress,
297
+ factoryAddress: factoryAddress ?? addresses.factoryAddress,
298
+ metaFactoryAddress: metaFactoryAddress ?? addresses.metaFactoryAddress
299
+ }
300
+ }
301
+
264
302
  /**
265
303
  * Build a kernel smart account from a private key, that use the ECDSA signer behind the scene
266
304
  * @param client
@@ -268,7 +306,7 @@ const getAccountAddress = async <
268
306
  * @param entryPoint
269
307
  * @param index
270
308
  * @param factoryAddress
271
- * @param accountLogicAddress
309
+ * @param accountImplementationAddress
272
310
  * @param ecdsaValidatorAddress
273
311
  * @param deployedAccountAddress
274
312
  */
@@ -282,23 +320,20 @@ export async function createKernelAccount<
282
320
  plugins,
283
321
  entryPoint: entryPointAddress,
284
322
  index = 0n,
285
- factoryAddress,
286
- accountLogicAddress,
287
- factoryStakerAddress = KERNEL_ADDRESSES.FACTORY_STAKER,
288
- deployedAccountAddress
323
+ factoryAddress: _factoryAddress,
324
+ accountImplementationAddress: _accountImplementationAddress,
325
+ metaFactoryAddress: _metaFactoryAddress,
326
+ deployedAccountAddress,
327
+ kernelVersion
289
328
  }: CreateKernelAccountParameters<entryPoint>
290
329
  ): Promise<KernelSmartAccount<entryPoint, TTransport, TChain>> {
291
330
  const entryPointVersion = getEntryPointVersion(entryPointAddress)
292
- accountLogicAddress =
293
- accountLogicAddress ??
294
- (entryPointVersion === "v0.6"
295
- ? KERNEL_ADDRESSES.ACCOUNT_LOGIC_V0_6
296
- : KERNEL_ADDRESSES.ACCOUNT_LOGIC_V0_7)
297
- factoryAddress =
298
- factoryAddress ??
299
- (entryPointVersion === "v0.6"
300
- ? KERNEL_ADDRESSES.FACTORY_ADDRESS_V0_6
301
- : KERNEL_ADDRESSES.FACTORY_ADDRESS_V0_7)
331
+ const { accountImplementationAddress, factoryAddress, metaFactoryAddress } =
332
+ getDefaultAddresses(entryPointAddress, kernelVersion, {
333
+ accountImplementationAddress: _accountImplementationAddress,
334
+ factoryAddress: _factoryAddress,
335
+ metaFactoryAddress: _metaFactoryAddress
336
+ })
302
337
 
303
338
  const kernelPluginManager = isKernelPluginManager<entryPoint>(plugins)
304
339
  ? plugins
@@ -308,7 +343,8 @@ export async function createKernelAccount<
308
343
  hook: plugins.hook,
309
344
  action: plugins.action,
310
345
  pluginEnableSignature: plugins.pluginEnableSignature,
311
- entryPoint: entryPointAddress
346
+ entryPoint: entryPointAddress,
347
+ kernelVersion
312
348
  })
313
349
 
314
350
  // initHook flag is activated only if both the hook and sudo validator are given
@@ -323,13 +359,13 @@ export async function createKernelAccount<
323
359
 
324
360
  // Helper to generate the init code for the smart account
325
361
  const generateInitCode = async () => {
326
- if (!accountLogicAddress || !factoryAddress)
362
+ if (!accountImplementationAddress || !factoryAddress)
327
363
  throw new Error("Missing account logic address or factory address")
328
364
  return getAccountInitCode<entryPoint>({
329
365
  index,
330
366
  factoryAddress,
331
- accountLogicAddress,
332
- factoryStakerAddress,
367
+ accountImplementationAddress,
368
+ metaFactoryAddress,
333
369
  entryPoint: entryPointAddress,
334
370
  kernelPluginManager,
335
371
  initHook
@@ -405,7 +441,7 @@ export async function createKernelAccount<
405
441
  getEntryPointVersion(entryPointAddress)
406
442
  return entryPointVersion === "v0.6"
407
443
  ? factoryAddress
408
- : factoryStakerAddress
444
+ : metaFactoryAddress
409
445
  },
410
446
 
411
447
  async getFactoryData() {
@@ -427,7 +463,7 @@ export async function createKernelAccount<
427
463
  const { name, chainId, version } = await accountMetadata(
428
464
  client,
429
465
  accountAddress,
430
- entryPointAddress
466
+ kernelVersion
431
467
  )
432
468
  const wrappedMessageHash = await eip712WrapHash(messageHash, {
433
469
  name,
@@ -478,7 +514,7 @@ export async function createKernelAccount<
478
514
  const { name, chainId, version } = await accountMetadata(
479
515
  client,
480
516
  accountAddress,
481
- entryPointAddress
517
+ kernelVersion
482
518
  )
483
519
  const wrappedMessageHash = await eip712WrapHash(typedHash, {
484
520
  name,
@@ -1,4 +1,3 @@
1
- import type { EntryPoint } from "permissionless/types/entrypoint.js"
2
1
  import {
3
2
  type Address,
4
3
  type Chain,
@@ -9,7 +8,7 @@ import {
9
8
  publicActions
10
9
  } from "viem"
11
10
  import { KERNEL_NAME } from "../../../../constants.js"
12
- import { getKernelVersion } from "../../../../utils.js"
11
+ import type { KERNEL_VERSION_TYPE } from "../../../../types/kernel.js"
13
12
  import { EIP1271Abi } from "../../abi/EIP1271Abi.js"
14
13
 
15
14
  type AccountMetadata = {
@@ -23,7 +22,7 @@ export const accountMetadata = async <
23
22
  >(
24
23
  client: Client<TTransport, TChain, undefined>,
25
24
  accountAddress: Address,
26
- entryPointAddress: EntryPoint
25
+ kernelVersion: KERNEL_VERSION_TYPE
27
26
  ): Promise<AccountMetadata> => {
28
27
  try {
29
28
  const domain = await client.request({
@@ -54,7 +53,7 @@ export const accountMetadata = async <
54
53
  } catch (error) {}
55
54
  return {
56
55
  name: KERNEL_NAME,
57
- version: getKernelVersion(entryPointAddress),
56
+ version: kernelVersion,
58
57
  chainId: client.chain
59
58
  ? BigInt(client.chain.id)
60
59
  : BigInt(await client.extend(publicActions).getChainId())
@@ -39,7 +39,7 @@ import {
39
39
  } from "../../utils/multisend.js"
40
40
  import type { KernelSmartAccount } from "../createKernelAccount.js"
41
41
 
42
- export type KernelV1SmartAccount<
42
+ export type KernelSmartAccountV1<
43
43
  entryPoint extends EntryPoint,
44
44
  transport extends Transport = Transport,
45
45
  chain extends Chain | undefined = Chain | undefined
@@ -90,7 +90,7 @@ const KERNEL_V1_ADDRESSES: {
90
90
  ENTRYPOINT_V0_6: "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789"
91
91
  }
92
92
 
93
- export async function createKernelV1Account<
93
+ export async function createKernelAccountV1<
94
94
  entryPoint extends EntryPoint,
95
95
  TTransport extends Transport = Transport,
96
96
  TChain extends Chain | undefined = Chain | undefined,
@@ -107,7 +107,7 @@ export async function createKernelV1Account<
107
107
  entrypoint: entryPoint
108
108
  index?: bigint
109
109
  }
110
- ): Promise<KernelV1SmartAccount<entryPoint, TTransport, TChain>> {
110
+ ): Promise<KernelSmartAccountV1<entryPoint, TTransport, TChain>> {
111
111
  const entryPointVersion = getEntryPointVersion(entryPointAddress)
112
112
 
113
113
  if (
@@ -135,7 +135,7 @@ const getAccountAddress = async <
135
135
  * @param ecdsaValidatorAddress
136
136
  * @param deployedAccountAddress
137
137
  */
138
- export async function createKernelV2Account<
138
+ export async function createKernelAccountV0_2<
139
139
  entryPoint extends EntryPoint,
140
140
  TTransport extends Transport = Transport,
141
141
  TChain extends Chain | undefined = Chain | undefined
@@ -149,7 +149,10 @@ export async function createKernelV2Account<
149
149
  deployedAccountAddress
150
150
  }: {
151
151
  plugins:
152
- | KernelPluginManagerParams<entryPoint>
152
+ | Omit<
153
+ KernelPluginManagerParams<entryPoint>,
154
+ "entryPoint" | "kernelVersion"
155
+ >
153
156
  | KernelPluginManager<entryPoint>
154
157
  entryPoint: entryPoint
155
158
  index?: bigint
@@ -169,7 +172,7 @@ export async function createKernelV2Account<
169
172
  regular: plugins.regular,
170
173
  action: plugins.action,
171
174
  pluginEnableSignature: plugins.pluginEnableSignature,
172
- kernelVersion: "0.0.2" ?? plugins.kernelVersion,
175
+ kernelVersion: "0.0.2",
173
176
  entryPoint: entryPointAddress
174
177
  })
175
178
  // Helper to generate the init code for the smart account