@zerodev/sdk 4.2.3 → 4.3.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/dist/cjs/kernel-zerodev/abis/SessionKeyValidatorAbi.d.ts +58 -4
- package/dist/cjs/kernel-zerodev/abis/SessionKeyValidatorAbi.js +75 -4
- package/dist/cjs/kernel-zerodev/abis/SessionKeyValidatorAbi.js.map +1 -1
- package/dist/cjs/kernel-zerodev/constants.d.ts +1 -1
- package/dist/cjs/kernel-zerodev/constants.js +1 -1
- package/dist/cjs/kernel-zerodev/constants.js.map +1 -1
- package/dist/cjs/kernel-zerodev/validator/base.d.ts +1 -1
- package/dist/cjs/kernel-zerodev/validator/base.js +3 -3
- package/dist/cjs/kernel-zerodev/validator/base.js.map +1 -1
- package/dist/cjs/kernel-zerodev/validator/session-key-validator.d.ts +18 -7
- package/dist/cjs/kernel-zerodev/validator/session-key-validator.js +117 -63
- package/dist/cjs/kernel-zerodev/validator/session-key-validator.js.map +1 -1
- package/dist/cjs/kernel-zerodev/validator/types.d.ts +1 -1
- package/dist/cjs/kernel-zerodev/validator/types.js.map +1 -1
- package/dist/cjs/kernel-zerodev/validator-provider/base.js +9 -0
- package/dist/cjs/kernel-zerodev/validator-provider/base.js.map +1 -1
- package/dist/esm/kernel-zerodev/abis/SessionKeyValidatorAbi.d.ts +58 -4
- package/dist/esm/kernel-zerodev/abis/SessionKeyValidatorAbi.js +75 -4
- package/dist/esm/kernel-zerodev/abis/SessionKeyValidatorAbi.js.map +1 -1
- package/dist/esm/kernel-zerodev/constants.d.ts +1 -1
- package/dist/esm/kernel-zerodev/constants.js +1 -1
- package/dist/esm/kernel-zerodev/constants.js.map +1 -1
- package/dist/esm/kernel-zerodev/validator/base.d.ts +1 -1
- package/dist/esm/kernel-zerodev/validator/base.js +3 -3
- package/dist/esm/kernel-zerodev/validator/base.js.map +1 -1
- package/dist/esm/kernel-zerodev/validator/session-key-validator.d.ts +18 -7
- package/dist/esm/kernel-zerodev/validator/session-key-validator.js +118 -64
- package/dist/esm/kernel-zerodev/validator/session-key-validator.js.map +1 -1
- package/dist/esm/kernel-zerodev/validator/types.d.ts +1 -1
- package/dist/esm/kernel-zerodev/validator/types.js.map +1 -1
- package/dist/esm/kernel-zerodev/validator-provider/base.js +9 -0
- package/dist/esm/kernel-zerodev/validator-provider/base.js.map +1 -1
- package/dist/types/kernel-zerodev/abis/SessionKeyValidatorAbi.d.ts +58 -4
- package/dist/types/kernel-zerodev/abis/SessionKeyValidatorAbi.d.ts.map +1 -1
- package/dist/types/kernel-zerodev/constants.d.ts +1 -1
- package/dist/types/kernel-zerodev/validator/base.d.ts +1 -1
- package/dist/types/kernel-zerodev/validator/base.d.ts.map +1 -1
- package/dist/types/kernel-zerodev/validator/session-key-validator.d.ts +18 -7
- package/dist/types/kernel-zerodev/validator/session-key-validator.d.ts.map +1 -1
- package/dist/types/kernel-zerodev/validator/types.d.ts +1 -1
- package/dist/types/kernel-zerodev/validator/types.d.ts.map +1 -1
- package/dist/types/kernel-zerodev/validator-provider/base.d.ts.map +1 -1
- package/package.json +5 -4
- package/src/kernel-zerodev/__tests__/config/index.ts +18 -0
- package/src/kernel-zerodev/abis/SessionKeyValidatorAbi.ts +75 -4
- package/src/kernel-zerodev/constants.ts +1 -1
- package/src/kernel-zerodev/validator/base.ts +4 -4
- package/src/kernel-zerodev/validator/session-key-validator.ts +159 -88
- package/src/kernel-zerodev/validator/types.ts +1 -1
- package/src/kernel-zerodev/validator-provider/base.ts +13 -0
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
export declare const SessionKeyValidatorAbi: readonly [{
|
|
2
|
+
readonly inputs: readonly [];
|
|
3
|
+
readonly name: "NotImplemented";
|
|
4
|
+
readonly type: "error";
|
|
5
|
+
}, {
|
|
2
6
|
readonly inputs: readonly [{
|
|
3
7
|
readonly internalType: "bytes";
|
|
4
8
|
readonly name: "_data";
|
|
@@ -18,6 +22,56 @@ export declare const SessionKeyValidatorAbi: readonly [{
|
|
|
18
22
|
readonly outputs: readonly [];
|
|
19
23
|
readonly stateMutability: "payable";
|
|
20
24
|
readonly type: "function";
|
|
25
|
+
}, {
|
|
26
|
+
readonly inputs: readonly [{
|
|
27
|
+
readonly internalType: "bytes32";
|
|
28
|
+
readonly name: "permissionKey";
|
|
29
|
+
readonly type: "bytes32";
|
|
30
|
+
}, {
|
|
31
|
+
readonly internalType: "address";
|
|
32
|
+
readonly name: "kernel";
|
|
33
|
+
readonly type: "address";
|
|
34
|
+
}];
|
|
35
|
+
readonly name: "executionStatus";
|
|
36
|
+
readonly outputs: readonly [{
|
|
37
|
+
readonly internalType: "ValidAfter";
|
|
38
|
+
readonly name: "validAfter";
|
|
39
|
+
readonly type: "uint48";
|
|
40
|
+
}, {
|
|
41
|
+
readonly internalType: "uint48";
|
|
42
|
+
readonly name: "runs";
|
|
43
|
+
readonly type: "uint48";
|
|
44
|
+
}];
|
|
45
|
+
readonly stateMutability: "view";
|
|
46
|
+
readonly type: "function";
|
|
47
|
+
}, {
|
|
48
|
+
readonly inputs: readonly [{
|
|
49
|
+
readonly internalType: "uint128";
|
|
50
|
+
readonly name: "nonce";
|
|
51
|
+
readonly type: "uint128";
|
|
52
|
+
}];
|
|
53
|
+
readonly name: "invalidateNonce";
|
|
54
|
+
readonly outputs: readonly [];
|
|
55
|
+
readonly stateMutability: "nonpayable";
|
|
56
|
+
readonly type: "function";
|
|
57
|
+
}, {
|
|
58
|
+
readonly inputs: readonly [{
|
|
59
|
+
readonly internalType: "address";
|
|
60
|
+
readonly name: "kernel";
|
|
61
|
+
readonly type: "address";
|
|
62
|
+
}];
|
|
63
|
+
readonly name: "nonces";
|
|
64
|
+
readonly outputs: readonly [{
|
|
65
|
+
readonly internalType: "uint128";
|
|
66
|
+
readonly name: "lastNonce";
|
|
67
|
+
readonly type: "uint128";
|
|
68
|
+
}, {
|
|
69
|
+
readonly internalType: "uint128";
|
|
70
|
+
readonly name: "invalidNonce";
|
|
71
|
+
readonly type: "uint128";
|
|
72
|
+
}];
|
|
73
|
+
readonly stateMutability: "view";
|
|
74
|
+
readonly type: "function";
|
|
21
75
|
}, {
|
|
22
76
|
readonly inputs: readonly [{
|
|
23
77
|
readonly internalType: "address";
|
|
@@ -46,9 +100,9 @@ export declare const SessionKeyValidatorAbi: readonly [{
|
|
|
46
100
|
readonly name: "paymaster";
|
|
47
101
|
readonly type: "address";
|
|
48
102
|
}, {
|
|
49
|
-
readonly internalType: "
|
|
50
|
-
readonly name: "
|
|
51
|
-
readonly type: "
|
|
103
|
+
readonly internalType: "uint256";
|
|
104
|
+
readonly name: "nonce";
|
|
105
|
+
readonly type: "uint256";
|
|
52
106
|
}];
|
|
53
107
|
readonly stateMutability: "view";
|
|
54
108
|
readonly type: "function";
|
|
@@ -140,7 +194,7 @@ export declare const SessionKeyValidatorAbi: readonly [{
|
|
|
140
194
|
readonly type: "tuple";
|
|
141
195
|
}, {
|
|
142
196
|
readonly internalType: "bytes32";
|
|
143
|
-
readonly name: "
|
|
197
|
+
readonly name: "";
|
|
144
198
|
readonly type: "bytes32";
|
|
145
199
|
}, {
|
|
146
200
|
readonly internalType: "uint256";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionKeyValidatorAbi.d.ts","sourceRoot":"","sources":["../../../../src/kernel-zerodev/abis/SessionKeyValidatorAbi.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB
|
|
1
|
+
{"version":3,"file":"SessionKeyValidatorAbi.d.ts","sourceRoot":"","sources":["../../../../src/kernel-zerodev/abis/SessionKeyValidatorAbi.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoRzB,CAAC"}
|
|
@@ -16,7 +16,7 @@ export declare const KILL_SWITCH_ACTION = "0x3f38e479304c7F18F988269a1bDa7d646bd
|
|
|
16
16
|
export declare const DUMMY_ECDSA_SIG = "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c";
|
|
17
17
|
export declare const ERC165_SESSION_KEY_VALIDATOR_ADDRESS = "0xe149290800De29D4b0BF9dB82c508255D81902E6";
|
|
18
18
|
export declare const TOKEN_ACTION = "0x2087C7FfD0d0DAE80a00EE74325aBF3449e0eaf1";
|
|
19
|
-
export declare const SESSION_KEY_VALIDATOR_ADDRESS = "
|
|
19
|
+
export declare const SESSION_KEY_VALIDATOR_ADDRESS = "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123";
|
|
20
20
|
export declare const RECOVERY_VALIDATOR_ADDRESS = "0x4fd47D861c349bD49DC61341a922cb72F9dF7E8d";
|
|
21
21
|
export declare const RECOVERY_ACTION = "0x2f65dB8039fe5CAEE0a8680D2879deB800F31Ae1";
|
|
22
22
|
export declare const oneAddress = "0x0000000000000000000000000000000000000001";
|
|
@@ -35,7 +35,7 @@ export declare abstract class KernelBaseValidator {
|
|
|
35
35
|
constructor(params: KernelBaseValidatorParams);
|
|
36
36
|
abstract encodeEnable(enableData: Hex): Hex;
|
|
37
37
|
abstract encodeDisable(enableData: Hex): Hex;
|
|
38
|
-
abstract getEnableData(): Promise<Hex>;
|
|
38
|
+
abstract getEnableData(kernelAccountAddress?: Address): Promise<Hex>;
|
|
39
39
|
abstract signMessage(message: Uint8Array | string | Hex): Promise<Hex>;
|
|
40
40
|
abstract signTypedData(params: SignTypedDataParams): Promise<Hex>;
|
|
41
41
|
abstract signUserOp(userOp: UserOperationRequest): Promise<Hex>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator/base.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,KAAK,KAAK,EACV,KAAK,GAAG,EAGR,KAAK,OAAO,EAGZ,KAAK,YAAY,EACjB,KAAK,SAAS,EAIf,MAAM,MAAM,CAAC;AAWd,oBAAY,aAAa;IACvB,IAAI,eAAe;IACnB,MAAM,eAAe;IACrB,MAAM,eAAe;CACtB;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,GAAG,CAAC;IACvB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CACxC,IAAI,CACF,yBAAyB,EACzB,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY,CACtD,CACF,CAAC;AAIF,8BAAsB,mBAAmB;IACvC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAC;IAC/B,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACxB,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACrC,SAAS,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC;IAChC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC;IACzB,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAElC,MAAM,EAAE,yBAAyB;IAkB7C,QAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,GAAG,GAAG;IAE3C,QAAQ,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,GAAG,GAAG;IAE5C,QAAQ,CAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,6 @@ import { type Address, type Hex, type SmartAccountSigner, type UserOperationRequ
|
|
|
2
2
|
import { KernelBaseValidator, type KernelBaseValidatorParams, type ValidatorPluginData } from "./base.js";
|
|
3
3
|
import { type GetAbiItemParameters } from "viem";
|
|
4
4
|
import { MerkleTree } from "merkletreejs";
|
|
5
|
-
import { Operation } from "../provider.js";
|
|
6
5
|
import type { GetAbiItemReturnType } from "viem/dist/types/utils/abi/getAbiItem.js";
|
|
7
6
|
import type { GeneratePermissionFromArgsParameters } from "./types.js";
|
|
8
7
|
export interface SessionKeyValidatorParams extends KernelBaseValidatorParams {
|
|
@@ -22,6 +21,15 @@ export declare enum ParamOperator {
|
|
|
22
21
|
LESS_THAN_OR_EQUAL = 4,
|
|
23
22
|
NOT_EQUAL = 5
|
|
24
23
|
}
|
|
24
|
+
export type SessionNonces = {
|
|
25
|
+
lastNonce: bigint;
|
|
26
|
+
invalidNonce: bigint;
|
|
27
|
+
};
|
|
28
|
+
export type ExecutionRule = {
|
|
29
|
+
validAfter: number;
|
|
30
|
+
interval: number;
|
|
31
|
+
runs: number;
|
|
32
|
+
};
|
|
25
33
|
export interface ParamRules {
|
|
26
34
|
offset: number;
|
|
27
35
|
condition: ParamOperator;
|
|
@@ -29,10 +37,11 @@ export interface ParamRules {
|
|
|
29
37
|
}
|
|
30
38
|
export type Permission = {
|
|
31
39
|
target: Address;
|
|
40
|
+
index?: number;
|
|
32
41
|
rules?: ParamRules[];
|
|
33
42
|
sig?: Hex;
|
|
34
43
|
valueLimit?: bigint;
|
|
35
|
-
|
|
44
|
+
executionRule?: ExecutionRule;
|
|
36
45
|
};
|
|
37
46
|
export interface SessionKeyData {
|
|
38
47
|
validUntil: number;
|
|
@@ -41,7 +50,7 @@ export interface SessionKeyData {
|
|
|
41
50
|
permissions?: Permission[];
|
|
42
51
|
}
|
|
43
52
|
export declare function getAbiItem<TAbi extends Abi | readonly unknown[], TItemName extends string>({ abi, args, name, }: GetAbiItemParameters<TAbi, TItemName>): GetAbiItemReturnType<TAbi, TItemName>;
|
|
44
|
-
export declare function getPermissionFromABI<TAbi extends Abi | readonly unknown[], TFunctionName extends string | undefined = string>({ abi, target, args, functionName,
|
|
53
|
+
export declare function getPermissionFromABI<TAbi extends Abi | readonly unknown[], TFunctionName extends string | undefined = string>({ abi, target, args, functionName, valueLimit, }: GeneratePermissionFromArgsParameters<TAbi, TFunctionName>): Permission;
|
|
45
54
|
export declare class SessionKeyValidator extends KernelBaseValidator {
|
|
46
55
|
protected sessionKey: SmartAccountSigner;
|
|
47
56
|
sessionKeyData: SessionKeyData;
|
|
@@ -49,19 +58,21 @@ export declare class SessionKeyValidator extends KernelBaseValidator {
|
|
|
49
58
|
constructor(params: SessionKeyValidatorParams);
|
|
50
59
|
static init(params: SessionKeyValidatorParams): Promise<SessionKeyValidator>;
|
|
51
60
|
shouldDelegateViaFallback(): boolean;
|
|
52
|
-
|
|
53
|
-
private
|
|
61
|
+
findMatchingPermissions(callData: Hex): Permission | Permission[] | undefined;
|
|
62
|
+
private filterPermissions;
|
|
54
63
|
private filterBySignature;
|
|
55
64
|
private findPermissionByRule;
|
|
56
65
|
private getFormattedHex;
|
|
57
66
|
private evaluateRuleCondition;
|
|
58
67
|
getMerkleTree(): MerkleTree;
|
|
59
|
-
encodePermissionData(permission: Permission, merkleProof?: string[]): Hex;
|
|
68
|
+
encodePermissionData(permission: Permission | Permission[], merkleProof?: string[] | string[][]): Hex;
|
|
60
69
|
getSessionData(): SessionKeyParams;
|
|
61
70
|
signer(): Promise<SmartAccountSigner>;
|
|
62
|
-
|
|
71
|
+
getSessionNonces(kernelAccountAddress: Address): Promise<SessionNonces>;
|
|
72
|
+
getEnableData(kernelAccountAddress?: Address, enabledLastNonce?: bigint): Promise<Hex>;
|
|
63
73
|
isPluginEnabled(kernelAccountAddress: Address, selector: Hex): Promise<boolean>;
|
|
64
74
|
getDummyUserOpSignature(callData: Hex): Promise<Hex>;
|
|
75
|
+
private getEncodedPermissionProofData;
|
|
65
76
|
encodeEnable(sessionKeyEnableData: Hex): Hex;
|
|
66
77
|
encodeDisable(sessionKey: Hex): Hex;
|
|
67
78
|
signMessage(message: string | Uint8Array): Promise<Hex>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-key-validator.d.ts","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator/session-key-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,GAAG,EACR,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAEzB,KAAK,mBAAmB,EACxB,KAAK,GAAG,EACT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,mBAAmB,EAEnB,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACzB,MAAM,WAAW,CAAC;AACnB,OAAO,
|
|
1
|
+
{"version":3,"file":"session-key-validator.d.ts","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator/session-key-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,GAAG,EACR,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAEzB,KAAK,mBAAmB,EACxB,KAAK,GAAG,EACT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,mBAAmB,EAEnB,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACzB,MAAM,WAAW,CAAC;AACnB,OAAO,EAYL,KAAK,oBAAoB,EAE1B,MAAM,MAAM,CAAC;AAKd,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAEpF,OAAO,KAAK,EAEV,oCAAoC,EACrC,MAAM,YAAY,CAAC;AASpB,MAAM,WAAW,yBAA0B,SAAQ,yBAAyB;IAC1E,UAAU,EAAE,kBAAkB,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,yBAAyB,EACzB,gBAAgB,GAAG,iBAAiB,CACrC,GACC,mBAAmB,GAAG;IACpB,iBAAiB,CAAC,EAAE,GAAG,CAAC;IACxB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEJ,oBAAY,aAAa;IACvB,KAAK,IAAI;IACT,YAAY,IAAI;IAChB,SAAS,IAAI;IACb,qBAAqB,IAAI;IACzB,kBAAkB,IAAI;IACtB,SAAS,IAAI;CACd;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AACF,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,aAAa,CAAC;IACzB,KAAK,EAAE,GAAG,CAAC;CACZ;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;CAC5B;AAED,wBAAgB,UAAU,CACxB,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,EACrC,SAAS,SAAS,MAAM,EACxB,EACA,GAAG,EACH,IAAS,EACT,IAAI,GACL,EAAE,oBAAoB,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,oBAAoB,CAC7D,IAAI,EACJ,SAAS,CACV,CAyBA;AAED,wBAAgB,oBAAoB,CAClC,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,EACrC,aAAa,SAAS,MAAM,GAAG,SAAS,GAAG,MAAM,EACjD,EACA,GAAG,EACH,MAAM,EACN,IAAI,EACJ,YAAY,EACZ,UAAU,GACX,EAAE,oCAAoC,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,UAAU,CAkCxE;AAED,qBAAa,mBAAoB,SAAQ,mBAAmB;IAC1D,SAAS,CAAC,UAAU,EAAE,kBAAkB,CAAC;IACzC,cAAc,EAAE,cAAc,CAAC;IAC/B,UAAU,EAAE,UAAU,CAAC;gBAEX,MAAM,EAAE,yBAAyB;WA+BzB,IAAI,CACtB,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,mBAAmB,CAAC;IAU/B,yBAAyB,IAAI,OAAO;IAIpC,uBAAuB,CACrB,QAAQ,EAAE,GAAG,GACZ,UAAU,GAAG,UAAU,EAAE,GAAG,SAAS;IA8BxC,OAAO,CAAC,iBAAiB;IA4DzB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,qBAAqB;IAuB7B,aAAa,IAAI,UAAU;IAsB3B,oBAAoB,CAClB,UAAU,EAAE,UAAU,GAAG,UAAU,EAAE,EACrC,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,GAClC,GAAG;IA+EN,cAAc,IAAI,gBAAgB;IAc5B,MAAM,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAIrC,gBAAgB,CACpB,oBAAoB,EAAE,OAAO,GAC5B,OAAO,CAAC,aAAa,CAAC;IAanB,aAAa,CACjB,oBAAoB,CAAC,EAAE,OAAO,EAC9B,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,GAAG,CAAC;IAoBT,eAAe,CACnB,oBAAoB,EAAE,OAAO,EAC7B,QAAQ,EAAE,GAAG,GACZ,OAAO,CAAC,OAAO,CAAC;IAkCb,uBAAuB,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAQ1D,OAAO,CAAC,6BAA6B;IAiCrC,YAAY,CAAC,oBAAoB,EAAE,GAAG,GAAG,GAAG;IAQ5C,aAAa,CAAC,UAAU,EAAE,GAAG,GAAG,GAAG;IAQ7B,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;IAIvD,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC;IAIxD,UAAU,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC;CAqB7D"}
|
|
@@ -47,7 +47,7 @@ export type GetFunctionArgs<TAbi extends Abi | readonly unknown[], TFunctionName
|
|
|
47
47
|
} : {
|
|
48
48
|
args?: TArgs;
|
|
49
49
|
};
|
|
50
|
-
export type GeneratePermissionFromArgsParameters<TAbi extends Abi | readonly unknown[], TFunctionName extends string | undefined = string, _FunctionName = TAbi extends Abi ? InferFunctionName<TAbi, TFunctionName> : never> = Pick<Permission, "
|
|
50
|
+
export type GeneratePermissionFromArgsParameters<TAbi extends Abi | readonly unknown[], TFunctionName extends string | undefined = string, _FunctionName = TAbi extends Abi ? InferFunctionName<TAbi, TFunctionName> : never> = Pick<Permission, "target" | "valueLimit"> & {
|
|
51
51
|
functionName?: _FunctionName;
|
|
52
52
|
} & (TFunctionName extends string ? {
|
|
53
53
|
abi: Narrow<TAbi>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator-provider/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,4BAA4B,EAC5B,eAAe,EACf,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,KAAK,wBAAwB,EAE9B,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,MAAM,2BAA2B,CAAC,CAAC,SAAS,yBAAyB,IAAI;IAC7E,eAAe,CAAC,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IACnD,cAAc,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAChD,aAAa,CAAC,EAAE,IAAI,CAClB,wBAAwB,EACxB,MAAM,+BAA+B,CAAC,CAAC,CAAC,CACzC,CAAC;IACF,eAAe,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,+BAA+B,CAAC,CAAC,CAAC,CAAC,CAAC;CACrE,CAAC;AAEF,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,yBAAyB;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,4BAA4B,CAAC;IAC/C,IAAI,CAAC,EAAE,2BAA2B,CAAC,CAAC,CAAC,CAAC;IACtC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,iBAAiB,CACjC,mBAAmB,EACnB,yBAAyB,CAC1B,CAAC;CACH;AAED,MAAM,MAAM,+BAA+B,CACzC,CAAC,SAAS,yBAAyB,IACjC,uBAAuB,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;AAIlD,8BAAsB,iBAAiB,CACrC,CAAC,SAAS,mBAAmB,EAC7B,CAAC,SAAS,yBAAyB,CACnC,SAAQ,eAAe;IACvB,SAAS,CAAC,eAAe,CAAC,EAAE,iBAAiB,CAC3C,mBAAmB,EACnB,yBAAyB,CAC1B,CAAC;gBAEA,MAAM,EAAE,+BAA+B,CAAC,CAAC,CAAC,EAC1C,SAAS,EAAE,mBAAmB;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/kernel-zerodev/validator-provider/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,4BAA4B,EAC5B,eAAe,EACf,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,KAAK,wBAAwB,EAE9B,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,MAAM,2BAA2B,CAAC,CAAC,SAAS,yBAAyB,IAAI;IAC7E,eAAe,CAAC,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IACnD,cAAc,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAChD,aAAa,CAAC,EAAE,IAAI,CAClB,wBAAwB,EACxB,MAAM,+BAA+B,CAAC,CAAC,CAAC,CACzC,CAAC;IACF,eAAe,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,+BAA+B,CAAC,CAAC,CAAC,CAAC,CAAC;CACrE,CAAC;AAEF,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS,yBAAyB;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,4BAA4B,CAAC;IAC/C,IAAI,CAAC,EAAE,2BAA2B,CAAC,CAAC,CAAC,CAAC;IACtC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,iBAAiB,CACjC,mBAAmB,EACnB,yBAAyB,CAC1B,CAAC;CACH;AAED,MAAM,MAAM,+BAA+B,CACzC,CAAC,SAAS,yBAAyB,IACjC,uBAAuB,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;AAIlD,8BAAsB,iBAAiB,CACrC,CAAC,SAAS,mBAAmB,EAC7B,CAAC,SAAS,yBAAyB,CACnC,SAAQ,eAAe;IACvB,SAAS,CAAC,eAAe,CAAC,EAAE,iBAAiB,CAC3C,mBAAmB,EACnB,yBAAyB,CAC1B,CAAC;gBAEA,MAAM,EAAE,+BAA+B,CAAC,CAAC,CAAC,EAC1C,SAAS,EAAE,mBAAmB;IA0DhC,YAAY,QAAO,CAAC,CAOlB;IAEF,oBAAoB,eAAsB,GAAG,KAAG,QAAQ,GAAG,CAAC,CAO1D;IAEF,qBAAqB,iBAAuB,GAAG,KAAU,QAAQ,GAAG,CAAC,CAOnE;IAEF,uBAAuB,eACT,GAAG,KACd,QAAQ,uBAAuB,CAAC,CAYjC;IAEF,wBAAwB,iBACT,GAAG,KACf,QAAQ,uBAAuB,CAAC,CAejC;CACH"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zerodev/sdk",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.3.0",
|
|
4
4
|
"description": "A collection of ERC-4337 compliant smart contract account interfaces",
|
|
5
5
|
"author": "ZeroDev",
|
|
6
6
|
"license": "MIT",
|
|
@@ -65,10 +65,11 @@
|
|
|
65
65
|
"homepage": "https://github.com/zerodevapp/sdk/blob/main/README.md#readme",
|
|
66
66
|
"gitHead": "19ba05a77e4f7a0e04f44f34eaecf675fe2c12f2",
|
|
67
67
|
"dependencies": {
|
|
68
|
+
"@alchemy/aa-core": "0.1.0-alpha.23",
|
|
69
|
+
"@alchemy/aa-ethers": "0.1.0-alpha.23",
|
|
70
|
+
"@openzeppelin/merkle-tree": "^1.0.5",
|
|
68
71
|
"axios": "^1.4.0",
|
|
69
72
|
"merkletreejs": "^0.3.10",
|
|
70
|
-
"viem": "^1.5.3"
|
|
71
|
-
"@alchemy/aa-core": "0.1.0-alpha.23",
|
|
72
|
-
"@alchemy/aa-ethers": "0.1.0-alpha.23"
|
|
73
|
+
"viem": "^1.5.3"
|
|
73
74
|
}
|
|
74
75
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { polygonMumbai } from "viem/chains";
|
|
2
|
+
import { generatePrivateKey } from "viem/accounts";
|
|
3
|
+
import { type Hex } from "viem";
|
|
4
|
+
|
|
5
|
+
export const config = {
|
|
6
|
+
privateKey: (process.env.PRIVATE_KEY as Hex) ?? generatePrivateKey(),
|
|
7
|
+
ownerWallet: process.env.OWNER_WALLET,
|
|
8
|
+
mockWallet: "0x48D4d3536cDe7A257087206870c6B6E76e3D4ff4",
|
|
9
|
+
chain: polygonMumbai,
|
|
10
|
+
rpcProvider: "https://mumbai-bundler.etherspot.io/",
|
|
11
|
+
validatorAddress: "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" as Hex,
|
|
12
|
+
accountFactoryAddress: "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3" as Hex,
|
|
13
|
+
entryPointAddress: "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" as Hex,
|
|
14
|
+
// Turn off all policies related to gas sponsorship for this projectId
|
|
15
|
+
// To make all the testcases pass
|
|
16
|
+
projectId: "8db3f9f0-f8d0-4c69-9bc6-5c522ee25844",
|
|
17
|
+
projectIdWithGasSponsorship: "c73037ef-8c0b-48be-a581-1f3d161151d3",
|
|
18
|
+
};
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
export const SessionKeyValidatorAbi = [
|
|
2
|
+
{
|
|
3
|
+
inputs: [],
|
|
4
|
+
name: "NotImplemented",
|
|
5
|
+
type: "error",
|
|
6
|
+
},
|
|
2
7
|
{
|
|
3
8
|
inputs: [
|
|
4
9
|
{
|
|
@@ -25,6 +30,72 @@ export const SessionKeyValidatorAbi = [
|
|
|
25
30
|
stateMutability: "payable",
|
|
26
31
|
type: "function",
|
|
27
32
|
},
|
|
33
|
+
{
|
|
34
|
+
inputs: [
|
|
35
|
+
{
|
|
36
|
+
internalType: "bytes32",
|
|
37
|
+
name: "permissionKey",
|
|
38
|
+
type: "bytes32",
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
internalType: "address",
|
|
42
|
+
name: "kernel",
|
|
43
|
+
type: "address",
|
|
44
|
+
},
|
|
45
|
+
],
|
|
46
|
+
name: "executionStatus",
|
|
47
|
+
outputs: [
|
|
48
|
+
{
|
|
49
|
+
internalType: "ValidAfter",
|
|
50
|
+
name: "validAfter",
|
|
51
|
+
type: "uint48",
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
internalType: "uint48",
|
|
55
|
+
name: "runs",
|
|
56
|
+
type: "uint48",
|
|
57
|
+
},
|
|
58
|
+
],
|
|
59
|
+
stateMutability: "view",
|
|
60
|
+
type: "function",
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
inputs: [
|
|
64
|
+
{
|
|
65
|
+
internalType: "uint128",
|
|
66
|
+
name: "nonce",
|
|
67
|
+
type: "uint128",
|
|
68
|
+
},
|
|
69
|
+
],
|
|
70
|
+
name: "invalidateNonce",
|
|
71
|
+
outputs: [],
|
|
72
|
+
stateMutability: "nonpayable",
|
|
73
|
+
type: "function",
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
inputs: [
|
|
77
|
+
{
|
|
78
|
+
internalType: "address",
|
|
79
|
+
name: "kernel",
|
|
80
|
+
type: "address",
|
|
81
|
+
},
|
|
82
|
+
],
|
|
83
|
+
name: "nonces",
|
|
84
|
+
outputs: [
|
|
85
|
+
{
|
|
86
|
+
internalType: "uint128",
|
|
87
|
+
name: "lastNonce",
|
|
88
|
+
type: "uint128",
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
internalType: "uint128",
|
|
92
|
+
name: "invalidNonce",
|
|
93
|
+
type: "uint128",
|
|
94
|
+
},
|
|
95
|
+
],
|
|
96
|
+
stateMutability: "view",
|
|
97
|
+
type: "function",
|
|
98
|
+
},
|
|
28
99
|
{
|
|
29
100
|
inputs: [
|
|
30
101
|
{
|
|
@@ -61,9 +132,9 @@ export const SessionKeyValidatorAbi = [
|
|
|
61
132
|
type: "address",
|
|
62
133
|
},
|
|
63
134
|
{
|
|
64
|
-
internalType: "
|
|
65
|
-
name: "
|
|
66
|
-
type: "
|
|
135
|
+
internalType: "uint256",
|
|
136
|
+
name: "nonce",
|
|
137
|
+
type: "uint256",
|
|
67
138
|
},
|
|
68
139
|
],
|
|
69
140
|
stateMutability: "view",
|
|
@@ -183,7 +254,7 @@ export const SessionKeyValidatorAbi = [
|
|
|
183
254
|
},
|
|
184
255
|
{
|
|
185
256
|
internalType: "bytes32",
|
|
186
|
-
name: "
|
|
257
|
+
name: "",
|
|
187
258
|
type: "bytes32",
|
|
188
259
|
},
|
|
189
260
|
{
|
|
@@ -26,7 +26,7 @@ export const ERC165_SESSION_KEY_VALIDATOR_ADDRESS =
|
|
|
26
26
|
"0xe149290800De29D4b0BF9dB82c508255D81902E6";
|
|
27
27
|
export const TOKEN_ACTION = "0x2087C7FfD0d0DAE80a00EE74325aBF3449e0eaf1";
|
|
28
28
|
export const SESSION_KEY_VALIDATOR_ADDRESS =
|
|
29
|
-
"
|
|
29
|
+
"0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123";
|
|
30
30
|
export const RECOVERY_VALIDATOR_ADDRESS =
|
|
31
31
|
"0x4fd47D861c349bD49DC61341a922cb72F9dF7E8d";
|
|
32
32
|
export const RECOVERY_ACTION = "0x2f65dB8039fe5CAEE0a8680D2879deB800F31Ae1";
|
|
@@ -93,7 +93,7 @@ export abstract class KernelBaseValidator {
|
|
|
93
93
|
|
|
94
94
|
abstract encodeDisable(enableData: Hex): Hex;
|
|
95
95
|
|
|
96
|
-
abstract getEnableData(): Promise<Hex>;
|
|
96
|
+
abstract getEnableData(kernelAccountAddress?: Address): Promise<Hex>;
|
|
97
97
|
|
|
98
98
|
abstract signMessage(message: Uint8Array | string | Hex): Promise<Hex>;
|
|
99
99
|
|
|
@@ -141,7 +141,7 @@ export abstract class KernelBaseValidator {
|
|
|
141
141
|
calldata
|
|
142
142
|
);
|
|
143
143
|
if (validatorMode === ValidatorMode.enable) {
|
|
144
|
-
const enableData = await this.getEnableData();
|
|
144
|
+
const enableData = await this.getEnableData(kernelAccountAddress);
|
|
145
145
|
const enableDataLength = enableData.length / 2 - 1;
|
|
146
146
|
const enableSigLength = 65;
|
|
147
147
|
const staticDummySig = concatHex([
|
|
@@ -241,7 +241,7 @@ export abstract class KernelBaseValidator {
|
|
|
241
241
|
{ size: 32 }
|
|
242
242
|
),
|
|
243
243
|
executor: executor as Address,
|
|
244
|
-
enableData: await validator.getEnableData(),
|
|
244
|
+
enableData: await validator.getEnableData(kernel),
|
|
245
245
|
},
|
|
246
246
|
primaryType: "ValidatorApproved",
|
|
247
247
|
});
|
|
@@ -297,7 +297,7 @@ export abstract class KernelBaseValidator {
|
|
|
297
297
|
if (mode === ValidatorMode.sudo || mode === ValidatorMode.plugin) {
|
|
298
298
|
return concatHex([this.mode, await this.signUserOp(userOp)]);
|
|
299
299
|
} else {
|
|
300
|
-
const enableData = await this.getEnableData();
|
|
300
|
+
const enableData = await this.getEnableData(userOp.sender);
|
|
301
301
|
const enableDataLength = enableData.length / 2 - 1;
|
|
302
302
|
const enableSignature = this.getEnableSignature();
|
|
303
303
|
if (!enableSignature) {
|