@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.
- package/_cjs/accounts/index.js +5 -5
- package/_cjs/accounts/index.js.map +1 -1
- package/_cjs/accounts/kernel/createKernelAccount.js +32 -21
- package/_cjs/accounts/kernel/createKernelAccount.js.map +1 -1
- package/_cjs/accounts/kernel/utils/common/accountMetadata.js +2 -3
- package/_cjs/accounts/kernel/utils/common/accountMetadata.js.map +1 -1
- package/_cjs/accounts/kernel/v1/{createKernelV1Account.js → createKernelAccountV1.js} +4 -4
- package/_cjs/accounts/kernel/v1/{createKernelV1Account.js.map → createKernelAccountV1.js.map} +1 -1
- package/_cjs/accounts/kernel/v2/{createKernelV2Account.js → createKernelAccountV0_2.js} +5 -5
- package/_cjs/accounts/kernel/v2/createKernelAccountV0_2.js.map +1 -0
- package/_cjs/accounts/utils/toKernelPluginManager.js +7 -3
- package/_cjs/accounts/utils/toKernelPluginManager.js.map +1 -1
- package/_cjs/constants.js +37 -1
- package/_cjs/constants.js.map +1 -1
- package/_cjs/index.js +3 -3
- package/_cjs/index.js.map +1 -1
- package/_cjs/types/index.js.map +1 -1
- package/_cjs/types/kernel.js.map +1 -1
- package/_cjs/utils.js +17 -4
- package/_cjs/utils.js.map +1 -1
- package/_esm/accounts/index.js +2 -2
- package/_esm/accounts/index.js.map +1 -1
- package/_esm/accounts/kernel/createKernelAccount.js +34 -23
- package/_esm/accounts/kernel/createKernelAccount.js.map +1 -1
- package/_esm/accounts/kernel/utils/common/accountMetadata.js +2 -3
- package/_esm/accounts/kernel/utils/common/accountMetadata.js.map +1 -1
- package/_esm/accounts/kernel/v1/{createKernelV1Account.js → createKernelAccountV1.js} +2 -2
- package/_esm/accounts/kernel/v1/{createKernelV1Account.js.map → createKernelAccountV1.js.map} +1 -1
- package/_esm/accounts/kernel/v2/{createKernelV2Account.js → createKernelAccountV0_2.js} +3 -3
- package/_esm/accounts/kernel/v2/createKernelAccountV0_2.js.map +1 -0
- package/_esm/accounts/utils/toKernelPluginManager.js +7 -3
- package/_esm/accounts/utils/toKernelPluginManager.js.map +1 -1
- package/_esm/constants.js +36 -0
- package/_esm/constants.js.map +1 -1
- package/_esm/index.js +1 -1
- package/_esm/index.js.map +1 -1
- package/_esm/types/index.js.map +1 -1
- package/_esm/types/kernel.js.map +1 -1
- package/_esm/utils.js +13 -2
- package/_esm/utils.js.map +1 -1
- package/_types/accounts/index.d.ts +2 -2
- package/_types/accounts/index.d.ts.map +1 -1
- package/_types/accounts/kernel/createKernelAccount.d.ts +7 -6
- package/_types/accounts/kernel/createKernelAccount.d.ts.map +1 -1
- package/_types/accounts/kernel/utils/common/accountMetadata.d.ts +2 -2
- package/_types/accounts/kernel/utils/common/accountMetadata.d.ts.map +1 -1
- package/_types/accounts/kernel/v1/{createKernelV1Account.d.ts → createKernelAccountV1.d.ts} +4 -4
- package/_types/accounts/kernel/v1/{createKernelV1Account.d.ts.map → createKernelAccountV1.d.ts.map} +1 -1
- package/_types/accounts/kernel/v2/{createKernelV2Account.d.ts → createKernelAccountV0_2.d.ts} +3 -3
- package/_types/accounts/kernel/v2/createKernelAccountV0_2.d.ts.map +1 -0
- package/_types/accounts/utils/toKernelPluginManager.d.ts.map +1 -1
- package/_types/clients/kernelAccountClient.d.ts +1 -1
- package/_types/clients/paymasterClient.d.ts +1 -1
- package/_types/constants.d.ts +12 -1
- package/_types/constants.d.ts.map +1 -1
- package/_types/index.d.ts +1 -1
- package/_types/index.d.ts.map +1 -1
- package/_types/types/index.d.ts +1 -1
- package/_types/types/index.d.ts.map +1 -1
- package/_types/types/kernel.d.ts +6 -1
- package/_types/types/kernel.d.ts.map +1 -1
- package/_types/utils.d.ts +4 -0
- package/_types/utils.d.ts.map +1 -1
- package/accounts/index.ts +5 -2
- package/accounts/kernel/createKernelAccount.ts +68 -32
- package/accounts/kernel/utils/common/accountMetadata.ts +3 -4
- package/accounts/kernel/v1/{createKernelV1Account.ts → createKernelAccountV1.ts} +3 -3
- package/accounts/kernel/v2/{createKernelV2Account.ts → createKernelAccountV0_2.ts} +6 -3
- package/accounts/utils/toKernelPluginManager.ts +19 -15
- package/constants.ts +59 -1
- package/index.ts +3 -2
- package/package.json +1 -1
- package/types/index.ts +5 -1
- package/types/kernel.ts +15 -1
- package/utils.ts +29 -2
- package/_cjs/accounts/kernel/v2/createKernelV2Account.js.map +0 -1
- package/_esm/accounts/kernel/v2/createKernelV2Account.js.map +0 -1
- 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,
|
|
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,
|
|
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
|
|
6
|
-
export declare function
|
|
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<
|
|
11
|
-
//# sourceMappingURL=
|
|
10
|
+
}): Promise<KernelSmartAccountV1<entryPoint, TTransport, TChain>>;
|
|
11
|
+
//# sourceMappingURL=createKernelAccountV1.d.ts.map
|
package/_types/accounts/kernel/v1/{createKernelV1Account.d.ts.map → createKernelAccountV1.d.ts.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
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"}
|
package/_types/accounts/kernel/v2/{createKernelV2Account.d.ts → createKernelAccountV0_2.d.ts}
RENAMED
|
@@ -19,11 +19,11 @@ export declare const KERNEL_ADDRESSES: {
|
|
|
19
19
|
* @param ecdsaValidatorAddress
|
|
20
20
|
* @param deployedAccountAddress
|
|
21
21
|
*/
|
|
22
|
-
export declare function
|
|
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=
|
|
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;
|
|
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;
|
package/_types/constants.d.ts
CHANGED
|
@@ -1,9 +1,20 @@
|
|
|
1
1
|
import type { EntryPointVersion } from "permissionless/types/entrypoint";
|
|
2
|
-
import type
|
|
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,
|
|
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,
|
|
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";
|
package/_types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,mBAAmB,EACnB,
|
|
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"}
|
package/_types/types/index.d.ts
CHANGED
|
@@ -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,
|
|
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"}
|
package/_types/types/kernel.d.ts
CHANGED
|
@@ -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
|
|
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":"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;CAClB,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,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,YAAY,GAAG,OAAO,CAAA;AAE3D,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"}
|
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
|
package/_types/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../utils.ts"],"names":[],"mappings":"
|
|
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 {
|
|
7
|
-
|
|
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<
|
|
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
|
-
|
|
74
|
-
|
|
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
|
|
178
|
+
* @param accountImplementationAddress
|
|
172
179
|
* @param ecdsaValidatorAddress
|
|
173
180
|
*/
|
|
174
181
|
const getAccountInitCode = async <entryPoint extends EntryPoint>({
|
|
175
182
|
index,
|
|
176
183
|
factoryAddress,
|
|
177
|
-
|
|
178
|
-
|
|
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
|
-
|
|
186
|
-
|
|
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: [
|
|
213
|
+
args: [accountImplementationAddress, initialisationData, index]
|
|
207
214
|
}) as Hex
|
|
208
215
|
])
|
|
209
216
|
}
|
|
210
217
|
|
|
211
218
|
return concatHex([
|
|
212
|
-
|
|
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
|
|
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
|
-
|
|
287
|
-
|
|
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
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
:
|
|
297
|
-
|
|
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 (!
|
|
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
|
-
|
|
332
|
-
|
|
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
|
-
:
|
|
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
|
-
|
|
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
|
-
|
|
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 {
|
|
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
|
-
|
|
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:
|
|
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
|
|
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
|
|
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<
|
|
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
|
|
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
|
-
|
|
|
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"
|
|
175
|
+
kernelVersion: "0.0.2",
|
|
173
176
|
entryPoint: entryPointAddress
|
|
174
177
|
})
|
|
175
178
|
// Helper to generate the init code for the smart account
|