@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.
- package/_cjs/accounts/kernel/createKernelAccount.js +7 -6
- package/_cjs/accounts/kernel/createKernelAccount.js.map +1 -1
- package/_cjs/accounts/kernel/utils/common/accountMetadata.js +5 -4
- package/_cjs/accounts/kernel/utils/common/accountMetadata.js.map +1 -1
- package/_cjs/accounts/kernel/v1/createKernelAccountV1.js.map +1 -1
- package/_cjs/accounts/kernel/v2/createKernelAccountV0_2.js.map +1 -1
- package/_cjs/accounts/utils/toKernelPluginManager.js +16 -6
- package/_cjs/accounts/utils/toKernelPluginManager.js.map +1 -1
- package/_cjs/actions/account-client/getKernelV3ModuleCurrentNonce.js.map +1 -1
- package/_cjs/actions/account-client/invalidateNonce.js.map +1 -1
- package/_cjs/actions/account-client/signUserOperation.js +1 -1
- package/_cjs/actions/account-client/signUserOperation.js.map +1 -1
- package/_cjs/actions/account-client/uninstallPlugin.js.map +1 -1
- package/_cjs/clients/decorators/kernel.js.map +1 -1
- package/_cjs/clients/fallbackKernelAccountClient.js.map +1 -1
- package/_cjs/clients/index.js.map +1 -1
- package/_cjs/clients/kernelAccountClient.js.map +1 -1
- package/_cjs/types/kernel.js.map +1 -1
- package/_esm/accounts/kernel/createKernelAccount.js +7 -6
- package/_esm/accounts/kernel/createKernelAccount.js.map +1 -1
- package/_esm/accounts/kernel/utils/common/accountMetadata.js +5 -4
- package/_esm/accounts/kernel/utils/common/accountMetadata.js.map +1 -1
- package/_esm/accounts/kernel/v1/createKernelAccountV1.js.map +1 -1
- package/_esm/accounts/kernel/v2/createKernelAccountV0_2.js.map +1 -1
- package/_esm/accounts/utils/toKernelPluginManager.js +16 -6
- package/_esm/accounts/utils/toKernelPluginManager.js.map +1 -1
- package/_esm/actions/account-client/getKernelV3ModuleCurrentNonce.js.map +1 -1
- package/_esm/actions/account-client/invalidateNonce.js.map +1 -1
- package/_esm/actions/account-client/signUserOperation.js +1 -1
- package/_esm/actions/account-client/signUserOperation.js.map +1 -1
- package/_esm/actions/account-client/uninstallPlugin.js.map +1 -1
- package/_esm/clients/decorators/kernel.js.map +1 -1
- package/_esm/clients/fallbackKernelAccountClient.js.map +1 -1
- package/_esm/clients/index.js.map +1 -1
- package/_esm/clients/kernelAccountClient.js.map +1 -1
- package/_esm/types/kernel.js.map +1 -1
- package/_types/accounts/kernel/createKernelAccount.d.ts +3 -2
- package/_types/accounts/kernel/createKernelAccount.d.ts.map +1 -1
- package/_types/accounts/kernel/utils/account/ep0_6/encodeCallData.d.ts +1 -1
- package/_types/accounts/kernel/utils/account/ep0_6/encodeCallData.d.ts.map +1 -1
- package/_types/accounts/kernel/utils/common/accountMetadata.d.ts +2 -3
- package/_types/accounts/kernel/utils/common/accountMetadata.d.ts.map +1 -1
- package/_types/accounts/kernel/v1/createKernelAccountV1.d.ts +3 -3
- package/_types/accounts/kernel/v1/createKernelAccountV1.d.ts.map +1 -1
- package/_types/accounts/kernel/v2/createKernelAccountV0_2.d.ts +3 -3
- package/_types/accounts/kernel/v2/createKernelAccountV0_2.d.ts.map +1 -1
- package/_types/accounts/utils/toKernelPluginManager.d.ts +1 -1
- package/_types/accounts/utils/toKernelPluginManager.d.ts.map +1 -1
- package/_types/actions/account-client/getKernelV3ModuleCurrentNonce.d.ts +2 -2
- package/_types/actions/account-client/getKernelV3ModuleCurrentNonce.d.ts.map +1 -1
- package/_types/actions/account-client/invalidateNonce.d.ts +2 -2
- package/_types/actions/account-client/invalidateNonce.d.ts.map +1 -1
- package/_types/actions/account-client/signUserOperation.d.ts +4 -4
- package/_types/actions/account-client/signUserOperation.d.ts.map +1 -1
- package/_types/actions/account-client/uninstallPlugin.d.ts +2 -2
- package/_types/actions/account-client/uninstallPlugin.d.ts.map +1 -1
- package/_types/clients/decorators/kernel.d.ts +5 -5
- package/_types/clients/decorators/kernel.d.ts.map +1 -1
- package/_types/clients/fallbackKernelAccountClient.d.ts +1 -1
- package/_types/clients/fallbackKernelAccountClient.d.ts.map +1 -1
- package/_types/clients/index.d.ts +1 -1
- package/_types/clients/index.d.ts.map +1 -1
- package/_types/clients/kernelAccountClient.d.ts +4 -4
- package/_types/clients/kernelAccountClient.d.ts.map +1 -1
- package/_types/types/kernel.d.ts +1 -0
- package/_types/types/kernel.d.ts.map +1 -1
- package/accounts/kernel/createKernelAccount.ts +32 -11
- package/accounts/kernel/utils/account/ep0_6/encodeCallData.ts +1 -1
- package/accounts/kernel/utils/common/accountMetadata.ts +9 -5
- package/accounts/kernel/v1/createKernelAccountV1.ts +10 -2
- package/accounts/kernel/v2/createKernelAccountV0_2.ts +10 -2
- package/accounts/utils/toKernelPluginManager.ts +16 -6
- package/actions/account-client/getKernelV3ModuleCurrentNonce.ts +11 -4
- package/actions/account-client/invalidateNonce.ts +24 -6
- package/actions/account-client/signUserOperation.ts +33 -10
- package/actions/account-client/uninstallPlugin.ts +24 -6
- package/clients/decorators/kernel.ts +33 -8
- package/clients/fallbackKernelAccountClient.ts +3 -1
- package/clients/index.ts +2 -1
- package/clients/kernelAccountClient.ts +18 -14
- package/package.json +3 -3
- 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,
|
|
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
|
|
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: <
|
|
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
|
|
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"}
|
package/_types/types/kernel.d.ts
CHANGED
|
@@ -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":"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
|
|
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
|
|
369
|
-
TChain extends Chain | undefined
|
|
371
|
+
TTransport extends Transport,
|
|
372
|
+
TChain extends Chain | undefined
|
|
370
373
|
>(
|
|
371
|
-
client: Client<
|
|
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 {
|
|
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(
|
|
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 {
|
|
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(
|
|
605
|
+
chainId: Number(metadataChainId),
|
|
585
606
|
version,
|
|
586
607
|
verifyingContract: accountAddress
|
|
587
608
|
})
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { EntryPoint } from "permissionless/types
|
|
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:
|
|
58
|
-
|
|
59
|
-
|
|
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
|
|
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<
|
|
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
|
|
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<
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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<
|
|
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<
|
|
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
|
|
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
|
|
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
|
-
|
|
23
|
-
|
|
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<
|
|
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
|
|
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<
|
|
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<
|
|
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
|
|
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
|
|
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<
|
|
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<
|
|
97
|
+
sendTransaction<
|
|
98
|
+
TTransport,
|
|
99
|
+
TChain,
|
|
100
|
+
TAccount,
|
|
101
|
+
entryPoint,
|
|
102
|
+
TChainOverride
|
|
103
|
+
>,
|
|
86
104
|
"sendTransaction"
|
|
87
105
|
)({
|
|
88
106
|
...args,
|