@zerodev/permissions 5.5.7 → 5.5.9

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.
@@ -46,7 +46,8 @@ const deserializePermissionAccount = async (client, entryPoint, kernelVersion, m
46
46
  plugins: kernelPluginManager,
47
47
  index,
48
48
  address: params.accountParams.accountAddress,
49
- useMetaFactory
49
+ useMetaFactory,
50
+ eip7702Auth: params.eip7702Auth
50
51
  });
51
52
  };
52
53
  exports.deserializePermissionAccount = deserializePermissionAccount;
@@ -74,6 +75,13 @@ const decodeParamsFromInitCode = (initCode, kernelVersion) => {
74
75
  let validatorInitData;
75
76
  let deployWithFactoryFunctionData;
76
77
  let useMetaFactory = true;
78
+ if (initCode === "0x") {
79
+ return {
80
+ index: undefined,
81
+ validatorInitData: undefined,
82
+ useMetaFactory: true
83
+ };
84
+ }
77
85
  try {
78
86
  deployWithFactoryFunctionData = (0, viem_1.decodeFunctionData)({
79
87
  abi: sdk_1.KernelFactoryStakerAbi,
@@ -1 +1 @@
1
- {"version":3,"file":"deserializePermissionAccount.js","sourceRoot":"","sources":["../deserializePermissionAccount.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deserializePermissionAccount.js","sourceRoot":"","sources":["../deserializePermissionAccount.ts"],"names":[],"mappings":";;;AAAA,sCAMqB;AACrB,oDAG8B;AAQ9B,+BAAyC;AAEzC,4CAAmD;AAEnD,kDAO4B;AAC5B,iEAA0D;AAC1D,yEAAkE;AAGlE,yCAA+D;AAC/D,yCAAiD;AAE1C,MAAM,4BAA4B,GAAG,KAAK,EAG7C,MAAkD,EAClD,UAA6C,EAC7C,aAAkD,EAClD,8BAAsC,EACtC,aAA6B,EAC/B,EAAE;IACA,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACvD,CAAC;IACD,MAAM,MAAM,GAAG,IAAA,6CAAkC,EAC7C,8BAA8B,CACjC,CAAA;IACD,IAAI,MAAqB,CAAA;IACzB,IAAI,MAAM,CAAC,UAAU;QACjB,MAAM,GAAG,MAAM,IAAA,gCAAa,EAAC;YACzB,MAAM,EAAE,IAAA,8BAAmB,EAAC,MAAM,CAAC,UAAU,CAAC;SACjD,CAAC,CAAA;SACD,IAAI,aAAa;QAAE,MAAM,GAAG,aAAa,CAAA;;QACzC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;IAEnE,MAAM,uBAAuB,GAAG,MAAM,IAAA,gDAAqB,EAAC,MAAM,EAAE;QAChE,MAAM;QACN,QAAQ,EAAE,MAAM,OAAO,CAAC,GAAG,CACvB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC7C,IAAA,8BAAsB,EAAC,MAAM,CAAC,CACjC,IAAI,EAAE,CACV;QACD,UAAU;QACV,aAAa;KAChB,CAAC,CAAA;IAEF,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAC9C,IAAA,gCAAwB,EAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAA;IAE1E,MAAM,mBAAmB,GAAG,MAAM,IAAA,gCAAqB,EAAC,MAAM,EAAE;QAC5D,OAAO,EAAE,uBAAuB;QAChC,qBAAqB,EAAE,MAAM,CAAC,eAAe;QAC7C,iBAAiB;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,UAAU;QACV,aAAa;QACb,GAAG,MAAM,CAAC,YAAY;KACzB,CAAC,CAAA;IAEF,OAAO,IAAA,yBAAmB,EAAC,MAAM,EAAE;QAC/B,UAAU;QACV,aAAa;QACb,OAAO,EAAE,mBAAmB;QAC5B,KAAK;QACL,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,cAAc;QAC5C,cAAc;QACd,WAAW,EAAE,MAAM,CAAC,WAAW;KAClC,CAAC,CAAA;AACN,CAAC,CAAA;AAxDY,QAAA,4BAA4B,gCAwDxC;AAEM,MAAM,sBAAsB,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;IAC3D,QAAQ,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAC/B,KAAK,MAAM;YACP,OAAO,MAAM,IAAA,uBAAY,EAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QAClD,KAAK,KAAK;YACN,OAAO,MAAM,IAAA,sBAAW,EAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QACjD,KAAK,YAAY;YACb,OAAO,MAAM,IAAA,4BAAiB,EAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QACvD,KAAK,kBAAkB;YACnB,OAAO,MAAM,IAAA,kCAAuB,EAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QAC7D,KAAK,MAAM;YACP,OAAO,MAAM,IAAA,uBAAY,EAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QAClD,KAAK,WAAW;YACZ,OAAO,MAAM,IAAA,4BAAiB,EAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QACvD;YACI,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAClD,CAAC;AACL,CAAC,CAAA;AAjBY,QAAA,sBAAsB,0BAiBlC;AAEM,MAAM,wBAAwB,GAAG,CACpC,QAAa,EACb,aAAkC,EACpC,EAAE;IACA,IAAI,KAAyB,CAAA;IAC7B,IAAI,iBAAgD,CAAA;IACpD,IAAI,6BAEyD,CAAA;IAC7D,IAAI,cAAc,GAAG,IAAI,CAAA;IACzB,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO;YACH,KAAK,EAAE,SAAS;YAChB,iBAAiB,EAAE,SAAS;YAC5B,cAAc,EAAE,IAAI;SACvB,CAAA;IACL,CAAC;IACD,IAAI,CAAC;QACD,6BAA6B,GAAG,IAAA,yBAAkB,EAAC;YAC/C,GAAG,EAAE,4BAAsB;YAC3B,IAAI,EAAE,QAAQ;SACjB,CAAC,CAAA;IACN,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,6BAA6B,GAAG,IAAA,yBAAkB,EAAC;YAC/C,GAAG,EAAE,wBAAkB;YACvB,IAAI,EAAE,QAAQ;SACjB,CAAC,CAAA;QACF,cAAc,GAAG,KAAK,CAAA;IAC1B,CAAC;IACD,IAAI,CAAC,6BAA6B;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;IACvE,IAAI,6BAA6B,CAAC,YAAY,KAAK,mBAAmB,EAAE,CAAC;QACrE,KAAK,GAAG,MAAM,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACrD,IAAI,sBAE2D,CAAA;QAC/D,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;YAC5B,sBAAsB,GAAG,IAAA,yBAAkB,EAAC;gBACxC,GAAG,EAAE,wBAAkB;gBACvB,IAAI,EAAE,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC;aAC9C,CAAC,CAAA;QACN,CAAC;aAAM,CAAC;YACJ,sBAAsB,GAAG,IAAA,yBAAkB,EAAC;gBACxC,GAAG,EAAE,0BAAoB;gBACzB,IAAI,EAAE,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC;aAC9C,CAAC,CAAA;QACN,CAAC;QACD,IAAI,CAAC,sBAAsB;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;QAChE,IAAI,sBAAsB,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;YACvD,iBAAiB,GAAG;gBAChB,gBAAgB,EAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChD,UAAU,EAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC1C,UAAU,EAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC1C,UAAU,EACN,IAAA,+BAAoB,EAAC,aAAa,EAAE,OAAO,CAAC;oBAC5C,KAAK,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACzC,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACrC,CAAC,CAAC,SAAS;aACtB,CAAA;QACL,CAAC;IACL,CAAC;SAAM,IAAI,6BAA6B,CAAC,YAAY,KAAK,eAAe,EAAE,CAAC;QACxE,KAAK,GAAG,MAAM,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACrD,IAAI,sBAE2D,CAAA;QAC/D,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;YAC5B,sBAAsB,GAAG,IAAA,yBAAkB,EAAC;gBACxC,GAAG,EAAE,wBAAkB;gBACvB,IAAI,EAAE,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC;aAC9C,CAAC,CAAA;QACN,CAAC;aAAM,CAAC;YACJ,sBAAsB,GAAG,IAAA,yBAAkB,EAAC;gBACxC,GAAG,EAAE,0BAAoB;gBACzB,IAAI,EAAE,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC;aAC9C,CAAC,CAAA;QACN,CAAC;QACD,IAAI,CAAC,sBAAsB;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;QAChE,IAAI,sBAAsB,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;YACvD,iBAAiB,GAAG;gBAChB,gBAAgB,EAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChD,UAAU,EAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC1C,UAAU,EAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC1C,UAAU,EACN,IAAA,+BAAoB,EAAC,aAAa,EAAE,OAAO,CAAC;oBAC5C,KAAK,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACzC,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACrC,CAAC,CAAC,SAAS;aACtB,CAAA;QACL,CAAC;IACL,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,IAAI,iBAAiB,KAAK,SAAS;QACtD,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;IACvC,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAA;AACvD,CAAC,CAAA;AA5FY,QAAA,wBAAwB,4BA4FpC"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.serializePermissionAccount = void 0;
4
4
  const utils_js_1 = require("./utils.js");
5
- const serializePermissionAccount = async (account, privateKey, enableSignature) => {
5
+ const serializePermissionAccount = async (account, privateKey, enableSignature, eip7702Auth) => {
6
6
  if (!(0, utils_js_1.isPermissionValidatorPlugin)(account.kernelPluginManager))
7
7
  throw new Error("Account plugin is not a permission validator");
8
8
  const permissionParams = account.kernelPluginManager.getPluginSerializationParams();
@@ -10,6 +10,9 @@ const serializePermissionAccount = async (account, privateKey, enableSignature)
10
10
  const validityData = account.kernelPluginManager.getValidityData();
11
11
  const _enableSignature = enableSignature ??
12
12
  (await account.kernelPluginManager.getPluginEnableSignature(account.address));
13
+ const _eip7702Auth = account.authorization
14
+ ? (eip7702Auth ?? (await account?.eip7702Authorization?.()))
15
+ : undefined;
13
16
  const accountParams = {
14
17
  initCode: await account.generateInitCode(),
15
18
  accountAddress: account.address
@@ -20,7 +23,8 @@ const serializePermissionAccount = async (account, privateKey, enableSignature)
20
23
  validityData,
21
24
  accountParams,
22
25
  enableSignature: _enableSignature,
23
- privateKey
26
+ privateKey,
27
+ eip7702Auth: _eip7702Auth
24
28
  };
25
29
  return (0, utils_js_1.serializePermissionAccountParams)(paramsToBeSerialized);
26
30
  };
@@ -1 +1 @@
1
- {"version":3,"file":"serializePermissionAccount.js","sourceRoot":"","sources":["../serializePermissionAccount.ts"],"names":[],"mappings":";;;AAGA,yCAGmB;AAEZ,MAAM,0BAA0B,GAAG,KAAK,EAC3C,OAAuD,EACvD,UAAgB,EAChB,eAAqB,EACN,EAAE;IACjB,IAAI,CAAC,IAAA,sCAA2B,EAAC,OAAO,CAAC,mBAAmB,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IACnE,MAAM,gBAAgB,GAClB,OAAO,CAAC,mBAAmB,CAAC,4BAA4B,EAAE,CAAA;IAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAA;IACtD,MAAM,YAAY,GAAG,OAAO,CAAC,mBAAmB,CAAC,eAAe,EAAE,CAAA;IAClE,MAAM,gBAAgB,GAClB,eAAe;QACf,CAAC,MAAM,OAAO,CAAC,mBAAmB,CAAC,wBAAwB,CACvD,OAAO,CAAC,OAAO,CAClB,CAAC,CAAA;IACN,MAAM,aAAa,GAAG;QAClB,QAAQ,EAAE,MAAM,OAAO,CAAC,gBAAgB,EAAE;QAC1C,cAAc,EAAE,OAAO,CAAC,OAAO;KAClC,CAAA;IAED,MAAM,oBAAoB,GAAG;QACzB,gBAAgB;QAChB,MAAM;QACN,YAAY;QACZ,aAAa;QACb,eAAe,EAAE,gBAAgB;QACjC,UAAU;KACb,CAAA;IAED,OAAO,IAAA,2CAAgC,EAAC,oBAAoB,CAAC,CAAA;AACjE,CAAC,CAAA;AA/BY,QAAA,0BAA0B,8BA+BtC"}
1
+ {"version":3,"file":"serializePermissionAccount.js","sourceRoot":"","sources":["../serializePermissionAccount.ts"],"names":[],"mappings":";;;AAIA,yCAGmB;AAEZ,MAAM,0BAA0B,GAAG,KAAK,EAC3C,OAAuD,EACvD,UAAgB,EAChB,eAAqB,EACrB,WAAyC,EAC1B,EAAE;IACjB,IAAI,CAAC,IAAA,sCAA2B,EAAC,OAAO,CAAC,mBAAmB,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IACnE,MAAM,gBAAgB,GAClB,OAAO,CAAC,mBAAmB,CAAC,4BAA4B,EAAE,CAAA;IAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAA;IACtD,MAAM,YAAY,GAAG,OAAO,CAAC,mBAAmB,CAAC,eAAe,EAAE,CAAA;IAClE,MAAM,gBAAgB,GAClB,eAAe;QACf,CAAC,MAAM,OAAO,CAAC,mBAAmB,CAAC,wBAAwB,CACvD,OAAO,CAAC,OAAO,CAClB,CAAC,CAAA;IACN,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa;QACtC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,MAAM,OAAO,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC,SAAS,CAAA;IACf,MAAM,aAAa,GAAG;QAClB,QAAQ,EAAE,MAAM,OAAO,CAAC,gBAAgB,EAAE;QAC1C,cAAc,EAAE,OAAO,CAAC,OAAO;KAClC,CAAA;IAED,MAAM,oBAAoB,GAAG;QACzB,gBAAgB;QAChB,MAAM;QACN,YAAY;QACZ,aAAa;QACb,eAAe,EAAE,gBAAgB;QACjC,UAAU;QACV,WAAW,EAAE,YAAY;KAC5B,CAAA;IAED,OAAO,IAAA,2CAAgC,EAAC,oBAAoB,CAAC,CAAA;AACjE,CAAC,CAAA;AApCY,QAAA,0BAA0B,8BAoCtC"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toInitConfig = void 0;
4
+ const sdk_1 = require("@zerodev/sdk");
5
+ const constants_1 = require("@zerodev/sdk/constants");
6
+ const viem_1 = require("viem");
7
+ async function toInitConfig(permissionPlugin) {
8
+ const permissionInstallFunctionData = (0, viem_1.encodeFunctionData)({
9
+ abi: sdk_1.KernelV3_3AccountAbi,
10
+ functionName: "installValidations",
11
+ args: [
12
+ [
13
+ (0, viem_1.pad)((0, viem_1.concat)([
14
+ constants_1.VALIDATOR_TYPE.PERMISSION,
15
+ permissionPlugin.getIdentifier()
16
+ ]), { size: 21, dir: "right" })
17
+ ],
18
+ [{ nonce: 1, hook: viem_1.zeroAddress }],
19
+ [await permissionPlugin.getEnableData()],
20
+ ["0x"]
21
+ ]
22
+ });
23
+ const grantAccessFunctionData = (0, viem_1.encodeFunctionData)({
24
+ abi: sdk_1.KernelV3_3AccountAbi,
25
+ functionName: "grantAccess",
26
+ args: [
27
+ (0, viem_1.pad)((0, viem_1.concat)([
28
+ constants_1.VALIDATOR_TYPE.PERMISSION,
29
+ permissionPlugin.getIdentifier()
30
+ ]), { size: 21, dir: "right" }),
31
+ (0, viem_1.toFunctionSelector)((0, viem_1.getAbiItem)({ abi: sdk_1.KernelV3_3AccountAbi, name: "execute" })),
32
+ true
33
+ ]
34
+ });
35
+ const delegateCall = await (0, sdk_1.encodeCallDataEpV07)([
36
+ {
37
+ to: constants_1.KernelVersionToAddressesMap["0.3.3"]
38
+ .accountImplementationAddress,
39
+ data: grantAccessFunctionData
40
+ }
41
+ ], "delegatecall");
42
+ return [permissionInstallFunctionData, delegateCall];
43
+ }
44
+ exports.toInitConfig = toInitConfig;
45
+ //# sourceMappingURL=toInitConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toInitConfig.js","sourceRoot":"","sources":["../toInitConfig.ts"],"names":[],"mappings":";;;AAAA,sCAAwE;AACxE,sDAG+B;AAC/B,+BAQa;AAGN,KAAK,UAAU,YAAY,CAC9B,gBAAkC;IAElC,MAAM,6BAA6B,GAAG,IAAA,yBAAkB,EAAC;QACrD,GAAG,EAAE,0BAAoB;QACzB,YAAY,EAAE,oBAAoB;QAClC,IAAI,EAAE;YACF;gBACI,IAAA,UAAG,EACC,IAAA,aAAM,EAAC;oBACH,0BAAc,CAAC,UAAU;oBACzB,gBAAgB,CAAC,aAAa,EAAE;iBACnC,CAAC,EACF,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAC7B;aACJ;YACD,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAW,EAAE,CAAC;YACjC,CAAC,MAAM,gBAAgB,CAAC,aAAa,EAAE,CAAC;YACxC,CAAC,IAAI,CAAC;SACT;KACJ,CAAC,CAAA;IACF,MAAM,uBAAuB,GAAG,IAAA,yBAAkB,EAAC;QAC/C,GAAG,EAAE,0BAAoB;QACzB,YAAY,EAAE,aAAa;QAC3B,IAAI,EAAE;YACF,IAAA,UAAG,EACC,IAAA,aAAM,EAAC;gBACH,0BAAc,CAAC,UAAU;gBACzB,gBAAgB,CAAC,aAAa,EAAE;aACnC,CAAC,EACF,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAC7B;YACD,IAAA,yBAAkB,EACd,IAAA,iBAAU,EAAC,EAAE,GAAG,EAAE,0BAAoB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAC7D;YACD,IAAI;SACP;KACJ,CAAC,CAAA;IACF,MAAM,YAAY,GAAG,MAAM,IAAA,yBAAmB,EAC1C;QACI;YACI,EAAE,EAAE,uCAA2B,CAAC,OAAO,CAAC;iBACnC,4BAA4B;YACjC,IAAI,EAAE,uBAAuB;SAChC;KACJ,EACD,cAAc,CACjB,CAAA;IACD,OAAO,CAAC,6BAA6B,EAAE,YAAY,CAAC,CAAA;AACxD,CAAC;AAjDD,oCAiDC"}
@@ -43,7 +43,8 @@ export const deserializePermissionAccount = async (client, entryPoint, kernelVer
43
43
  plugins: kernelPluginManager,
44
44
  index,
45
45
  address: params.accountParams.accountAddress,
46
- useMetaFactory
46
+ useMetaFactory,
47
+ eip7702Auth: params.eip7702Auth
47
48
  });
48
49
  };
49
50
  export const createPolicyFromParams = async (policy) => {
@@ -69,6 +70,13 @@ export const decodeParamsFromInitCode = (initCode, kernelVersion) => {
69
70
  let validatorInitData;
70
71
  let deployWithFactoryFunctionData;
71
72
  let useMetaFactory = true;
73
+ if (initCode === "0x") {
74
+ return {
75
+ index: undefined,
76
+ validatorInitData: undefined,
77
+ useMetaFactory: true
78
+ };
79
+ }
72
80
  try {
73
81
  deployWithFactoryFunctionData = decodeFunctionData({
74
82
  abi: KernelFactoryStakerAbi,
@@ -1 +1 @@
1
- {"version":3,"file":"deserializePermissionAccount.js","sourceRoot":"","sources":["../deserializePermissionAccount.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deserializePermissionAccount.js","sourceRoot":"","sources":["../deserializePermissionAccount.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { isPermissionValidatorPlugin, serializePermissionAccountParams } from "./utils.js";
2
- export const serializePermissionAccount = async (account, privateKey, enableSignature) => {
2
+ export const serializePermissionAccount = async (account, privateKey, enableSignature, eip7702Auth) => {
3
3
  if (!isPermissionValidatorPlugin(account.kernelPluginManager))
4
4
  throw new Error("Account plugin is not a permission validator");
5
5
  const permissionParams = account.kernelPluginManager.getPluginSerializationParams();
@@ -7,6 +7,9 @@ export const serializePermissionAccount = async (account, privateKey, enableSign
7
7
  const validityData = account.kernelPluginManager.getValidityData();
8
8
  const _enableSignature = enableSignature ??
9
9
  (await account.kernelPluginManager.getPluginEnableSignature(account.address));
10
+ const _eip7702Auth = account.authorization
11
+ ? (eip7702Auth ?? (await account?.eip7702Authorization?.()))
12
+ : undefined;
10
13
  const accountParams = {
11
14
  initCode: await account.generateInitCode(),
12
15
  accountAddress: account.address
@@ -17,7 +20,8 @@ export const serializePermissionAccount = async (account, privateKey, enableSign
17
20
  validityData,
18
21
  accountParams,
19
22
  enableSignature: _enableSignature,
20
- privateKey
23
+ privateKey,
24
+ eip7702Auth: _eip7702Auth
21
25
  };
22
26
  return serializePermissionAccountParams(paramsToBeSerialized);
23
27
  };
@@ -1 +1 @@
1
- {"version":3,"file":"serializePermissionAccount.js","sourceRoot":"","sources":["../serializePermissionAccount.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,2BAA2B,EAC3B,gCAAgC,EACnC,MAAM,YAAY,CAAA;AAEnB,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,EAC3C,OAAuD,EACvD,UAAgB,EAChB,eAAqB,EACN,EAAE;IACjB,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,mBAAmB,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IACnE,MAAM,gBAAgB,GAClB,OAAO,CAAC,mBAAmB,CAAC,4BAA4B,EAAE,CAAA;IAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAA;IACtD,MAAM,YAAY,GAAG,OAAO,CAAC,mBAAmB,CAAC,eAAe,EAAE,CAAA;IAClE,MAAM,gBAAgB,GAClB,eAAe;QACf,CAAC,MAAM,OAAO,CAAC,mBAAmB,CAAC,wBAAwB,CACvD,OAAO,CAAC,OAAO,CAClB,CAAC,CAAA;IACN,MAAM,aAAa,GAAG;QAClB,QAAQ,EAAE,MAAM,OAAO,CAAC,gBAAgB,EAAE;QAC1C,cAAc,EAAE,OAAO,CAAC,OAAO;KAClC,CAAA;IAED,MAAM,oBAAoB,GAAG;QACzB,gBAAgB;QAChB,MAAM;QACN,YAAY;QACZ,aAAa;QACb,eAAe,EAAE,gBAAgB;QACjC,UAAU;KACb,CAAA;IAED,OAAO,gCAAgC,CAAC,oBAAoB,CAAC,CAAA;AACjE,CAAC,CAAA"}
1
+ {"version":3,"file":"serializePermissionAccount.js","sourceRoot":"","sources":["../serializePermissionAccount.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,2BAA2B,EAC3B,gCAAgC,EACnC,MAAM,YAAY,CAAA;AAEnB,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,EAC3C,OAAuD,EACvD,UAAgB,EAChB,eAAqB,EACrB,WAAyC,EAC1B,EAAE;IACjB,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,mBAAmB,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IACnE,MAAM,gBAAgB,GAClB,OAAO,CAAC,mBAAmB,CAAC,4BAA4B,EAAE,CAAA;IAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAA;IACtD,MAAM,YAAY,GAAG,OAAO,CAAC,mBAAmB,CAAC,eAAe,EAAE,CAAA;IAClE,MAAM,gBAAgB,GAClB,eAAe;QACf,CAAC,MAAM,OAAO,CAAC,mBAAmB,CAAC,wBAAwB,CACvD,OAAO,CAAC,OAAO,CAClB,CAAC,CAAA;IACN,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa;QACtC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,MAAM,OAAO,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC,SAAS,CAAA;IACf,MAAM,aAAa,GAAG;QAClB,QAAQ,EAAE,MAAM,OAAO,CAAC,gBAAgB,EAAE;QAC1C,cAAc,EAAE,OAAO,CAAC,OAAO;KAClC,CAAA;IAED,MAAM,oBAAoB,GAAG;QACzB,gBAAgB;QAChB,MAAM;QACN,YAAY;QACZ,aAAa;QACb,eAAe,EAAE,gBAAgB;QACjC,UAAU;QACV,WAAW,EAAE,YAAY;KAC5B,CAAA;IAED,OAAO,gCAAgC,CAAC,oBAAoB,CAAC,CAAA;AACjE,CAAC,CAAA"}
@@ -0,0 +1,41 @@
1
+ import { KernelV3_3AccountAbi, encodeCallDataEpV07 } from "@zerodev/sdk";
2
+ import { KernelVersionToAddressesMap, VALIDATOR_TYPE } from "@zerodev/sdk/constants";
3
+ import { concat, encodeFunctionData, getAbiItem, pad, toFunctionSelector, zeroAddress } from "viem";
4
+ export async function toInitConfig(permissionPlugin) {
5
+ const permissionInstallFunctionData = encodeFunctionData({
6
+ abi: KernelV3_3AccountAbi,
7
+ functionName: "installValidations",
8
+ args: [
9
+ [
10
+ pad(concat([
11
+ VALIDATOR_TYPE.PERMISSION,
12
+ permissionPlugin.getIdentifier()
13
+ ]), { size: 21, dir: "right" })
14
+ ],
15
+ [{ nonce: 1, hook: zeroAddress }],
16
+ [await permissionPlugin.getEnableData()],
17
+ ["0x"]
18
+ ]
19
+ });
20
+ const grantAccessFunctionData = encodeFunctionData({
21
+ abi: KernelV3_3AccountAbi,
22
+ functionName: "grantAccess",
23
+ args: [
24
+ pad(concat([
25
+ VALIDATOR_TYPE.PERMISSION,
26
+ permissionPlugin.getIdentifier()
27
+ ]), { size: 21, dir: "right" }),
28
+ toFunctionSelector(getAbiItem({ abi: KernelV3_3AccountAbi, name: "execute" })),
29
+ true
30
+ ]
31
+ });
32
+ const delegateCall = await encodeCallDataEpV07([
33
+ {
34
+ to: KernelVersionToAddressesMap["0.3.3"]
35
+ .accountImplementationAddress,
36
+ data: grantAccessFunctionData
37
+ }
38
+ ], "delegatecall");
39
+ return [permissionInstallFunctionData, delegateCall];
40
+ }
41
+ //# sourceMappingURL=toInitConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toInitConfig.js","sourceRoot":"","sources":["../toInitConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACxE,OAAO,EACH,2BAA2B,EAC3B,cAAc,EACjB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAEH,MAAM,EACN,kBAAkB,EAClB,UAAU,EACV,GAAG,EACH,kBAAkB,EAClB,WAAW,EACd,MAAM,MAAM,CAAA;AAGb,MAAM,CAAC,KAAK,UAAU,YAAY,CAC9B,gBAAkC;IAElC,MAAM,6BAA6B,GAAG,kBAAkB,CAAC;QACrD,GAAG,EAAE,oBAAoB;QACzB,YAAY,EAAE,oBAAoB;QAClC,IAAI,EAAE;YACF;gBACI,GAAG,CACC,MAAM,CAAC;oBACH,cAAc,CAAC,UAAU;oBACzB,gBAAgB,CAAC,aAAa,EAAE;iBACnC,CAAC,EACF,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAC7B;aACJ;YACD,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;YACjC,CAAC,MAAM,gBAAgB,CAAC,aAAa,EAAE,CAAC;YACxC,CAAC,IAAI,CAAC;SACT;KACJ,CAAC,CAAA;IACF,MAAM,uBAAuB,GAAG,kBAAkB,CAAC;QAC/C,GAAG,EAAE,oBAAoB;QACzB,YAAY,EAAE,aAAa;QAC3B,IAAI,EAAE;YACF,GAAG,CACC,MAAM,CAAC;gBACH,cAAc,CAAC,UAAU;gBACzB,gBAAgB,CAAC,aAAa,EAAE;aACnC,CAAC,EACF,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAC7B;YACD,kBAAkB,CACd,UAAU,CAAC,EAAE,GAAG,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAC7D;YACD,IAAI;SACP;KACJ,CAAC,CAAA;IACF,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAC1C;QACI;YACI,EAAE,EAAE,2BAA2B,CAAC,OAAO,CAAC;iBACnC,4BAA4B;YACjC,IAAI,EAAE,uBAAuB;SAChC;KACJ,EACD,cAAc,CACjB,CAAA;IACD,OAAO,CAAC,6BAA6B,EAAE,YAAY,CAAC,CAAA;AACxD,CAAC"}
@@ -7,6 +7,10 @@ import type { ModularSigner } from "./types.js";
7
7
  export declare const deserializePermissionAccount: <entryPointVersion extends EntryPointVersion>(client: KernelSmartAccountImplementation["client"], entryPoint: EntryPointType<entryPointVersion>, kernelVersion: GetKernelVersion<entryPointVersion>, modularPermissionAccountParams: string, modularSigner?: ModularSigner) => Promise<import("@zerodev/sdk").CreateKernelAccountReturnType<entryPointVersion>>;
8
8
  export declare const createPolicyFromParams: (policy: Policy) => Promise<Policy>;
9
9
  export declare const decodeParamsFromInitCode: (initCode: Hex, kernelVersion: KERNEL_VERSION_TYPE) => {
10
+ index: undefined;
11
+ validatorInitData: undefined;
12
+ useMetaFactory: boolean;
13
+ } | {
10
14
  index: bigint;
11
15
  validatorInitData: ValidatorInitData;
12
16
  useMetaFactory: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"deserializePermissionAccount.d.ts","sourceRoot":"","sources":["../deserializePermissionAccount.ts"],"names":[],"mappings":"AAOA,OAAO,EACH,KAAK,gCAAgC,EAExC,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EACR,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACpB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAE/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAajE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAI/C,eAAO,MAAM,4BAA4B,wDAG7B,gCAAgC,CAAC,QAAQ,CAAC,qIAGlB,MAAM,kBACtB,aAAa,qFAgDhC,CAAA;AAED,eAAO,MAAM,sBAAsB,WAAkB,MAAM,oBAiB1D,CAAA;AAED,eAAO,MAAM,wBAAwB,aACvB,GAAG,iBACE,mBAAmB;;;;CAmFrC,CAAA"}
1
+ {"version":3,"file":"deserializePermissionAccount.d.ts","sourceRoot":"","sources":["../deserializePermissionAccount.ts"],"names":[],"mappings":"AAOA,OAAO,EACH,KAAK,gCAAgC,EAExC,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EACR,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACpB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAE/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAajE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAI/C,eAAO,MAAM,4BAA4B,wDAG7B,gCAAgC,CAAC,QAAQ,CAAC,qIAGlB,MAAM,kBACtB,aAAa,qFAiDhC,CAAA;AAED,eAAO,MAAM,sBAAsB,WAAkB,MAAM,oBAiB1D,CAAA;AAED,eAAO,MAAM,wBAAwB,aACvB,GAAG,iBACE,mBAAmB;;;;;;;;CA0FrC,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import type { KernelSmartAccountImplementation } from "@zerodev/sdk";
2
2
  import type { Hex } from "viem";
3
3
  import type { SmartAccount } from "viem/account-abstraction";
4
- export declare const serializePermissionAccount: (account: SmartAccount<KernelSmartAccountImplementation>, privateKey?: Hex, enableSignature?: Hex) => Promise<string>;
4
+ import type { SignAuthorizationReturnType } from "viem/accounts";
5
+ export declare const serializePermissionAccount: (account: SmartAccount<KernelSmartAccountImplementation>, privateKey?: Hex, enableSignature?: Hex, eip7702Auth?: SignAuthorizationReturnType) => Promise<string>;
5
6
  //# sourceMappingURL=serializePermissionAccount.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serializePermissionAccount.d.ts","sourceRoot":"","sources":["../serializePermissionAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,cAAc,CAAA;AACpE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAM5D,eAAO,MAAM,0BAA0B,YAC1B,aAAa,gCAAgC,CAAC,eAC1C,GAAG,oBACE,GAAG,KACtB,QAAQ,MAAM,CA2BhB,CAAA"}
1
+ {"version":3,"file":"serializePermissionAccount.d.ts","sourceRoot":"","sources":["../serializePermissionAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,cAAc,CAAA;AACpE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAA;AAMhE,eAAO,MAAM,0BAA0B,YAC1B,aAAa,gCAAgC,CAAC,eAC1C,GAAG,oBACE,GAAG,gBACP,2BAA2B,KAC1C,QAAQ,MAAM,CA+BhB,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { type Hex } from "viem";
2
+ import type { PermissionPlugin } from "./types.js";
3
+ export declare function toInitConfig(permissionPlugin: PermissionPlugin): Promise<Hex[]>;
4
+ //# sourceMappingURL=toInitConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toInitConfig.d.ts","sourceRoot":"","sources":["../toInitConfig.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,KAAK,GAAG,EAOX,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD,wBAAsB,YAAY,CAC9B,gBAAgB,EAAE,gBAAgB,GACnC,OAAO,CAAC,GAAG,EAAE,CAAC,CA+ChB"}
package/_types/types.d.ts CHANGED
@@ -2,6 +2,7 @@ import type { KernelValidator } from "@zerodev/sdk";
2
2
  import type { Action, EntryPointType, GetKernelVersion, PluginValidityData } from "@zerodev/sdk/types";
3
3
  import type { Abi, Address, Hex, LocalAccount } from "viem";
4
4
  import type { EntryPointVersion } from "viem/account-abstraction";
5
+ import type { SignAuthorizationReturnType } from "viem/accounts";
5
6
  import type { PolicyFlags } from "./constants.js";
6
7
  import type { CallPolicyParams, GasPolicyParams, RateLimitPolicyParams, SignatureCallerPolicyParams, SudoPolicyParams, TimestampPolicyParams } from "./policies/index.js";
7
8
  export type PermissionPlugin = KernelValidator<"PermissionValidator"> & {
@@ -58,5 +59,6 @@ export type PermissionAccountParams = {
58
59
  accountParams: ExportPermissionAccountParams;
59
60
  enableSignature?: Hex;
60
61
  privateKey?: Hex;
62
+ eip7702Auth?: SignAuthorizationReturnType;
61
63
  };
62
64
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,KAAK,EACR,MAAM,EACN,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EACrB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,KAAK,EACR,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,2BAA2B,EAC3B,gBAAgB,EAChB,qBAAqB,EACxB,MAAM,qBAAqB,CAAA;AAE5B,MAAM,MAAM,gBAAgB,GAAG,eAAe,CAAC,qBAAqB,CAAC,GAAG;IACpE,4BAA4B,EAAE,MAAM,cAAc,CAAA;CACrD,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAClC,CAAA;AACD,MAAM,MAAM,YAAY,GAAG;IACvB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,UAAU,CAAC,EAAE,WAAW,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IACxB,OAAO,EAAE,YAAY,CAAA;IACrB,qBAAqB,EAAE,OAAO,CAAA;IAC9B,aAAa,EAAE,MAAM,GAAG,CAAA;IACxB,iBAAiB,EAAE,MAAM,GAAG,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACjB,aAAa,EAAE,MAAM,GAAG,CAAA;IACxB,oBAAoB,EAAE,MAAM,GAAG,CAAA;IAE/B,YAAY,EACN,CAAC,gBAAgB,CAAC,GAAG,GAAG,SAAS,OAAO,EAAE,EAAE,MAAM,CAAC,GAAG;QAClD,IAAI,EAAE,MAAM,CAAA;KACf,CAAC,GACF,CAAC,eAAe,GAAG;QAAE,IAAI,EAAE,KAAK,CAAA;KAAE,CAAC,GACnC,CAAC,qBAAqB,GAAG;QAAE,IAAI,EAAE,YAAY,CAAA;KAAE,CAAC,GAChD,CAAC,2BAA2B,GAAG;QAAE,IAAI,EAAE,kBAAkB,CAAA;KAAE,CAAC,GAC5D,CAAC,gBAAgB,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,GACrC,CAAC,qBAAqB,GAAG;QAAE,IAAI,EAAE,WAAW,CAAA;KAAE,CAAC,CAAA;CACxD,CAAA;AAED,MAAM,MAAM,sBAAsB,CAC9B,iBAAiB,SAAS,iBAAiB,IAC3C;IACA,MAAM,EAAE,aAAa,CAAA;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,UAAU,EAAE,cAAc,CAAC,iBAAiB,CAAC,CAAA;IAC7C,aAAa,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,CAAA;IAClD,IAAI,CAAC,EAAE,WAAW,CAAA;CACrB,CAAA;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB;AAED,MAAM,MAAM,6BAA6B,GAAG;IACxC,QAAQ,EAAE,GAAG,CAAA;IACb,cAAc,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IAClC,gBAAgB,EAAE,cAAc,CAAA;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,kBAAkB,CAAA;IAChC,aAAa,EAAE,6BAA6B,CAAA;IAC5C,eAAe,CAAC,EAAE,GAAG,CAAA;IACrB,UAAU,CAAC,EAAE,GAAG,CAAA;CACnB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"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"}
@@ -88,7 +88,8 @@ export const deserializePermissionAccount = async <
88
88
  plugins: kernelPluginManager,
89
89
  index,
90
90
  address: params.accountParams.accountAddress,
91
- useMetaFactory
91
+ useMetaFactory,
92
+ eip7702Auth: params.eip7702Auth
92
93
  })
93
94
  }
94
95
 
@@ -121,6 +122,13 @@ export const decodeParamsFromInitCode = (
121
122
  | DecodeFunctionDataReturnType<typeof KernelFactoryStakerAbi>
122
123
  | DecodeFunctionDataReturnType<typeof KernelV3FactoryAbi>
123
124
  let useMetaFactory = true
125
+ if (initCode === "0x") {
126
+ return {
127
+ index: undefined,
128
+ validatorInitData: undefined,
129
+ useMetaFactory: true
130
+ }
131
+ }
124
132
  try {
125
133
  deployWithFactoryFunctionData = decodeFunctionData({
126
134
  abi: KernelFactoryStakerAbi,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zerodev/permissions",
3
- "version": "5.5.7",
3
+ "version": "5.5.9",
4
4
  "author": "ZeroDev",
5
5
  "main": "./_cjs/index.js",
6
6
  "module": "./_esm/index.js",
@@ -1,6 +1,7 @@
1
1
  import type { KernelSmartAccountImplementation } from "@zerodev/sdk"
2
2
  import type { Hex } from "viem"
3
3
  import type { SmartAccount } from "viem/account-abstraction"
4
+ import type { SignAuthorizationReturnType } from "viem/accounts"
4
5
  import {
5
6
  isPermissionValidatorPlugin,
6
7
  serializePermissionAccountParams
@@ -9,7 +10,8 @@ import {
9
10
  export const serializePermissionAccount = async (
10
11
  account: SmartAccount<KernelSmartAccountImplementation>,
11
12
  privateKey?: Hex,
12
- enableSignature?: Hex
13
+ enableSignature?: Hex,
14
+ eip7702Auth?: SignAuthorizationReturnType
13
15
  ): Promise<string> => {
14
16
  if (!isPermissionValidatorPlugin(account.kernelPluginManager))
15
17
  throw new Error("Account plugin is not a permission validator")
@@ -22,6 +24,9 @@ export const serializePermissionAccount = async (
22
24
  (await account.kernelPluginManager.getPluginEnableSignature(
23
25
  account.address
24
26
  ))
27
+ const _eip7702Auth = account.authorization
28
+ ? (eip7702Auth ?? (await account?.eip7702Authorization?.()))
29
+ : undefined
25
30
  const accountParams = {
26
31
  initCode: await account.generateInitCode(),
27
32
  accountAddress: account.address
@@ -33,7 +38,8 @@ export const serializePermissionAccount = async (
33
38
  validityData,
34
39
  accountParams,
35
40
  enableSignature: _enableSignature,
36
- privateKey
41
+ privateKey,
42
+ eip7702Auth: _eip7702Auth
37
43
  }
38
44
 
39
45
  return serializePermissionAccountParams(paramsToBeSerialized)
@@ -0,0 +1,66 @@
1
+ import { KernelV3_3AccountAbi, encodeCallDataEpV07 } from "@zerodev/sdk"
2
+ import {
3
+ KernelVersionToAddressesMap,
4
+ VALIDATOR_TYPE
5
+ } from "@zerodev/sdk/constants"
6
+ import {
7
+ type Hex,
8
+ concat,
9
+ encodeFunctionData,
10
+ getAbiItem,
11
+ pad,
12
+ toFunctionSelector,
13
+ zeroAddress
14
+ } from "viem"
15
+ import type { PermissionPlugin } from "./types.js"
16
+
17
+ export async function toInitConfig(
18
+ permissionPlugin: PermissionPlugin
19
+ ): Promise<Hex[]> {
20
+ const permissionInstallFunctionData = encodeFunctionData({
21
+ abi: KernelV3_3AccountAbi,
22
+ functionName: "installValidations",
23
+ args: [
24
+ [
25
+ pad(
26
+ concat([
27
+ VALIDATOR_TYPE.PERMISSION,
28
+ permissionPlugin.getIdentifier()
29
+ ]),
30
+ { size: 21, dir: "right" }
31
+ )
32
+ ],
33
+ [{ nonce: 1, hook: zeroAddress }],
34
+ [await permissionPlugin.getEnableData()],
35
+ ["0x"]
36
+ ]
37
+ })
38
+ const grantAccessFunctionData = encodeFunctionData({
39
+ abi: KernelV3_3AccountAbi,
40
+ functionName: "grantAccess",
41
+ args: [
42
+ pad(
43
+ concat([
44
+ VALIDATOR_TYPE.PERMISSION,
45
+ permissionPlugin.getIdentifier()
46
+ ]),
47
+ { size: 21, dir: "right" }
48
+ ),
49
+ toFunctionSelector(
50
+ getAbiItem({ abi: KernelV3_3AccountAbi, name: "execute" })
51
+ ),
52
+ true
53
+ ]
54
+ })
55
+ const delegateCall = await encodeCallDataEpV07(
56
+ [
57
+ {
58
+ to: KernelVersionToAddressesMap["0.3.3"]
59
+ .accountImplementationAddress,
60
+ data: grantAccessFunctionData
61
+ }
62
+ ],
63
+ "delegatecall"
64
+ )
65
+ return [permissionInstallFunctionData, delegateCall]
66
+ }
package/types.ts CHANGED
@@ -7,6 +7,7 @@ import type {
7
7
  } from "@zerodev/sdk/types"
8
8
  import type { Abi, Address, Hex, LocalAccount } from "viem"
9
9
  import type { EntryPointVersion } from "viem/account-abstraction"
10
+ import type { SignAuthorizationReturnType } from "viem/accounts"
10
11
  import type { PolicyFlags } from "./constants.js"
11
12
  import type {
12
13
  CallPolicyParams,
@@ -77,4 +78,5 @@ export type PermissionAccountParams = {
77
78
  accountParams: ExportPermissionAccountParams
78
79
  enableSignature?: Hex
79
80
  privateKey?: Hex
81
+ eip7702Auth?: SignAuthorizationReturnType
80
82
  }