@zerodev/permissions 5.6.1 → 5.6.3
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/constants.js +2 -1
- package/_cjs/constants.js.map +1 -1
- package/_cjs/index.js +5 -1
- package/_cjs/index.js.map +1 -1
- package/_cjs/migration/isPermissionMigrated.js +22 -0
- package/_cjs/migration/isPermissionMigrated.js.map +1 -0
- package/_cjs/migration/migrationSessionKeyAccount.js +91 -0
- package/_cjs/migration/migrationSessionKeyAccount.js.map +1 -0
- package/_cjs/policies/callPolicyUtils.js +27 -0
- package/_cjs/policies/callPolicyUtils.js.map +1 -1
- package/_cjs/policies/toCallPolicy.js +18 -16
- package/_cjs/policies/toCallPolicy.js.map +1 -1
- package/_cjs/policies/types.js +1 -0
- package/_cjs/policies/types.js.map +1 -1
- package/_cjs/serializeMultiChainPermissionAccounts.js +31 -13
- package/_cjs/serializeMultiChainPermissionAccounts.js.map +1 -1
- package/_cjs/serializePermissionAccount.js +5 -4
- package/_cjs/serializePermissionAccount.js.map +1 -1
- package/_esm/constants.js +5 -0
- package/_esm/constants.js.map +1 -1
- package/_esm/index.js +2 -0
- package/_esm/index.js.map +1 -1
- package/_esm/migration/isPermissionMigrated.js +18 -0
- package/_esm/migration/isPermissionMigrated.js.map +1 -0
- package/_esm/migration/migrationSessionKeyAccount.js +87 -0
- package/_esm/migration/migrationSessionKeyAccount.js.map +1 -0
- package/_esm/policies/callPolicyUtils.js +29 -1
- package/_esm/policies/callPolicyUtils.js.map +1 -1
- package/_esm/policies/toCallPolicy.js +21 -19
- package/_esm/policies/toCallPolicy.js.map +1 -1
- package/_esm/policies/types.js +1 -0
- package/_esm/policies/types.js.map +1 -1
- package/_esm/serializeMultiChainPermissionAccounts.js +33 -14
- package/_esm/serializeMultiChainPermissionAccounts.js.map +1 -1
- package/_esm/serializePermissionAccount.js +6 -4
- package/_esm/serializePermissionAccount.js.map +1 -1
- package/_types/constants.d.ts +5 -0
- package/_types/constants.d.ts.map +1 -1
- package/_types/index.d.ts +2 -0
- package/_types/index.d.ts.map +1 -1
- package/_types/migration/isPermissionMigrated.d.ts +6 -0
- package/_types/migration/isPermissionMigrated.d.ts.map +1 -0
- package/_types/migration/migrationSessionKeyAccount.d.ts +7 -0
- package/_types/migration/migrationSessionKeyAccount.d.ts.map +1 -0
- package/_types/policies/callPolicyUtils.d.ts.map +1 -1
- package/_types/policies/toCallPolicy.d.ts +7 -6
- package/_types/policies/toCallPolicy.d.ts.map +1 -1
- package/_types/policies/types.d.ts +21 -2
- package/_types/policies/types.d.ts.map +1 -1
- package/_types/serializeMultiChainPermissionAccounts.d.ts +3 -0
- package/_types/serializeMultiChainPermissionAccounts.d.ts.map +1 -1
- package/_types/serializePermissionAccount.d.ts +1 -1
- package/_types/serializePermissionAccount.d.ts.map +1 -1
- package/_types/types.d.ts +2 -2
- package/_types/types.d.ts.map +1 -1
- package/constants.ts +7 -0
- package/index.ts +2 -0
- package/migration/isPermissionMigrated.ts +40 -0
- package/migration/migrationSessionKeyAccount.ts +120 -0
- package/package.json +1 -1
- package/policies/callPolicyUtils.ts +39 -0
- package/policies/toCallPolicy.ts +22 -17
- package/policies/types.ts +51 -2
- package/serializeMultiChainPermissionAccounts.ts +42 -21
- package/serializePermissionAccount.ts +9 -4
- package/types.ts +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrationSessionKeyAccount.js","sourceRoot":"","sources":["../../migration/migrationSessionKeyAccount.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { encodeAbiParameters, isHex, pad, toFunctionSelector, toHex } from "viem";
|
|
1
|
+
import { encodeAbiParameters, isHex, keccak256, pad, size, toFunctionSelector, toHex } from "viem";
|
|
2
2
|
import { CALL_POLICY_CONTRACT_V0_0_1 } from "../constants.js";
|
|
3
3
|
import { ParamCondition } from "./types.js";
|
|
4
4
|
export function getPermissionFromABI({ abi, args, functionName, policyAddress, selector }) {
|
|
@@ -79,6 +79,34 @@ export function getPermissionFromABI({ abi, args, functionName, policyAddress, s
|
|
|
79
79
|
? value
|
|
80
80
|
: toHex(value), { size: 32 }));
|
|
81
81
|
}
|
|
82
|
+
else if (arg.condition === ParamCondition.SLICE_EQUAL) {
|
|
83
|
+
if (!("start" in arg) || !("length" in arg)) {
|
|
84
|
+
throw new Error("start and length are required for SLICE_EQUAL condition");
|
|
85
|
+
}
|
|
86
|
+
const functionArgsType = targetFunction.inputs[i].type;
|
|
87
|
+
const { start, length, value } = arg;
|
|
88
|
+
let hexValue;
|
|
89
|
+
// functionArgsType can be "string" or "bytes"
|
|
90
|
+
if (functionArgsType === "string") {
|
|
91
|
+
hexValue = toHex(value);
|
|
92
|
+
}
|
|
93
|
+
else if (functionArgsType === "bytes") {
|
|
94
|
+
hexValue = isHex(value, { strict: true })
|
|
95
|
+
? value
|
|
96
|
+
: toHex(value);
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
throw new Error(`Unsupported function argument type: ${functionArgsType} could be "string" or "bytes"`);
|
|
100
|
+
}
|
|
101
|
+
if (size(hexValue) !== length) {
|
|
102
|
+
throw new Error("Value length is not equal to the given length");
|
|
103
|
+
}
|
|
104
|
+
params = [
|
|
105
|
+
toHex(start, { size: 32 }),
|
|
106
|
+
toHex(length, { size: 32 }),
|
|
107
|
+
keccak256(hexValue)
|
|
108
|
+
];
|
|
109
|
+
}
|
|
82
110
|
else {
|
|
83
111
|
params = [
|
|
84
112
|
pad(isHex(arg.value)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callPolicyUtils.js","sourceRoot":"","sources":["../../policies/callPolicyUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,mBAAmB,EACnB,KAAK,EACL,GAAG,EACH,kBAAkB,EAClB,KAAK,EACR,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAC7D,OAAO,EAGH,cAAc,EAGjB,MAAM,YAAY,CAAA;AAEnB,MAAM,UAAU,oBAAoB,CAGlC,EACE,GAAG,EACH,IAAI,EACJ,YAAY,EACZ,aAAa,EACb,QAAQ,EACyD;IAIjE,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACxB,OAAO;YACH,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,SAAS;SACnB,CAAA;IACL,CAAC;IAED,+BAA+B;IAC/B,MAAM,iBAAiB,GAAI,GAAW,CAAC,MAAM,CACzC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAClD,CAAA;IAElB,IAAI,cAA2B,CAAA;IAE/B,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,IAAI,QAAQ,EAAE,CAAC;YACX,4EAA4E;YAC5E,MAAM,kBAAkB,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAA;YAEjD,+DAA+D;YAC/D,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;gBAChD,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAA;gBAC/C,OAAO,gBAAgB,KAAK,kBAAkB,CAAA;YAClD,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,aAAa,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CACX,oCAAoC,QAAQ,mBAAmB,YAAY,IAAI,CAClF,CAAA;YACL,CAAC;YAED,cAAc,GAAG,aAAa,CAAA;QAClC,CAAC;aAAM,CAAC;YACJ,gDAAgD;YAChD,MAAM,kBAAkB,GAAG,iBAAiB;iBACvC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;gBACf,MAAM,MAAM,GACR,EAAE,CAAC,MAAM;oBACL,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACZ,KAAK,CAAC,IAAI;oBACN,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE;oBAC/B,CAAC,CAAC,KAAK,CAAC,IAAI,CACnB;qBACA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;gBACzB,OAAO,KAAK,KAAK,GAAG,CAAC,KAAK,YAAY,IAAI,MAAM,GAAG,CAAA;YACvD,CAAC,CAAC;iBACD,IAAI,CAAC,IAAI,CAAC,CAAA;YAEf,MAAM,IAAI,KAAK,CACX,0CAA0C,YAAY,YAAY,iBAAiB,CAAC,MAAM;;;kBAGxF,kBAAkB;;iLAE6I,CACpK,CAAA;QACL,CAAC;IACL,CAAC;SAAM,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,yCAAyC;QACzC,cAAc,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;IACzC,CAAC;SAAM,CAAC;QACJ,yCAAyC;QACzC,MAAM,IAAI,KAAK,CAAC,aAAa,YAAY,oBAAoB,CAAC,CAAA;IAClE,CAAC;IAED,+CAA+C;IAC/C,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAA;IAC3D,IAAI,UAAU,GAAgB,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"callPolicyUtils.js","sourceRoot":"","sources":["../../policies/callPolicyUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { concatHex, pad } from "viem";
|
|
2
|
-
import { CALL_POLICY_CONTRACT_V0_0_1, CALL_POLICY_CONTRACT_V0_0_2, CALL_POLICY_CONTRACT_V0_0_3, CALL_POLICY_CONTRACT_V0_0_4, PolicyFlags } from "../constants.js";
|
|
2
|
+
import { CALL_POLICY_CONTRACT_V0_0_1, CALL_POLICY_CONTRACT_V0_0_2, CALL_POLICY_CONTRACT_V0_0_3, CALL_POLICY_CONTRACT_V0_0_4, CALL_POLICY_CONTRACT_V0_0_5, PolicyFlags } from "../constants.js";
|
|
3
3
|
import { encodePermissionData, getPermissionFromABI } from "./callPolicyUtils.js";
|
|
4
4
|
import { CallType } from "./types.js";
|
|
5
5
|
export var CallPolicyVersion;
|
|
@@ -8,6 +8,7 @@ export var CallPolicyVersion;
|
|
|
8
8
|
CallPolicyVersion["V0_0_2"] = "0.0.2";
|
|
9
9
|
CallPolicyVersion["V0_0_3"] = "0.0.3";
|
|
10
10
|
CallPolicyVersion["V0_0_4"] = "0.0.4";
|
|
11
|
+
CallPolicyVersion["V0_0_5"] = "0.0.5";
|
|
11
12
|
})(CallPolicyVersion || (CallPolicyVersion = {}));
|
|
12
13
|
export const getCallPolicyAddress = (policyVersion, policyAddress) => {
|
|
13
14
|
if (policyAddress)
|
|
@@ -21,11 +22,13 @@ export const getCallPolicyAddress = (policyVersion, policyAddress) => {
|
|
|
21
22
|
return CALL_POLICY_CONTRACT_V0_0_3;
|
|
22
23
|
case CallPolicyVersion.V0_0_4:
|
|
23
24
|
return CALL_POLICY_CONTRACT_V0_0_4;
|
|
25
|
+
case CallPolicyVersion.V0_0_5:
|
|
26
|
+
return CALL_POLICY_CONTRACT_V0_0_5;
|
|
24
27
|
}
|
|
25
28
|
};
|
|
26
|
-
export function toCallPolicy({ policyAddress, policyFlag = PolicyFlags.FOR_ALL_VALIDATION, policyVersion, permissions
|
|
29
|
+
export function toCallPolicy({ policyAddress, policyFlag = PolicyFlags.FOR_ALL_VALIDATION, policyVersion, permissions: inputPermissions }) {
|
|
27
30
|
const callPolicyAddress = getCallPolicyAddress(policyVersion, policyAddress);
|
|
28
|
-
const generatedPermissionParams =
|
|
31
|
+
const generatedPermissionParams = inputPermissions?.map((perm) => {
|
|
29
32
|
// Natural discrimination: if abi and functionName are present, do ABI-based validation
|
|
30
33
|
if (perm.abi && perm.functionName) {
|
|
31
34
|
return getPermissionFromABI({
|
|
@@ -42,21 +45,20 @@ export function toCallPolicy({ policyAddress, policyFlag = PolicyFlags.FOR_ALL_V
|
|
|
42
45
|
rules: undefined
|
|
43
46
|
};
|
|
44
47
|
});
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
const encodedPermissionData = encodePermissionData(permissions, callPolicyAddress);
|
|
48
|
+
const processedPermissions = inputPermissions?.map((perm, index) => ({
|
|
49
|
+
...perm,
|
|
50
|
+
callType: perm.callType ?? CallType.CALL,
|
|
51
|
+
selector:
|
|
52
|
+
// Normalize selector to lowercase if it exists (hex values should be lowercase)
|
|
53
|
+
(perm.selector
|
|
54
|
+
? perm.selector.toLowerCase()
|
|
55
|
+
: perm.selector) ??
|
|
56
|
+
generatedPermissionParams?.[index]?.selector ??
|
|
57
|
+
pad("0x", { size: 4 }),
|
|
58
|
+
valueLimit: perm.valueLimit ?? 0n,
|
|
59
|
+
rules: perm.rules ?? generatedPermissionParams?.[index]?.rules ?? []
|
|
60
|
+
})) ?? [];
|
|
61
|
+
const encodedPermissionData = encodePermissionData(processedPermissions, callPolicyAddress);
|
|
60
62
|
return {
|
|
61
63
|
getPolicyData: () => {
|
|
62
64
|
return encodedPermissionData;
|
|
@@ -69,7 +71,7 @@ export function toCallPolicy({ policyAddress, policyFlag = PolicyFlags.FOR_ALL_V
|
|
|
69
71
|
policyVersion,
|
|
70
72
|
policyAddress,
|
|
71
73
|
policyFlag,
|
|
72
|
-
permissions
|
|
74
|
+
permissions: processedPermissions
|
|
73
75
|
}
|
|
74
76
|
};
|
|
75
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toCallPolicy.js","sourceRoot":"","sources":["../../policies/toCallPolicy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AACrC,OAAO,EACH,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,EAC3B,WAAW,EACd,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACH,oBAAoB,EACpB,oBAAoB,EACvB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"toCallPolicy.js","sourceRoot":"","sources":["../../policies/toCallPolicy.ts"],"names":[],"mappings":"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"}
|
package/_esm/policies/types.js
CHANGED
|
@@ -13,5 +13,6 @@ export var ParamCondition;
|
|
|
13
13
|
ParamCondition[ParamCondition["LESS_THAN_OR_EQUAL"] = 4] = "LESS_THAN_OR_EQUAL";
|
|
14
14
|
ParamCondition[ParamCondition["NOT_EQUAL"] = 5] = "NOT_EQUAL";
|
|
15
15
|
ParamCondition[ParamCondition["ONE_OF"] = 6] = "ONE_OF";
|
|
16
|
+
ParamCondition[ParamCondition["SLICE_EQUAL"] = 7] = "SLICE_EQUAL";
|
|
16
17
|
})(ParamCondition || (ParamCondition = {}));
|
|
17
18
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../policies/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../policies/types.ts"],"names":[],"mappings":"AAeA,MAAM,CAAN,IAAY,QAIX;AAJD,WAAY,QAAQ;IAChB,yBAAa,CAAA;IACb,+BAAmB,CAAA;IACnB,kCAAsB,CAAA;AAC1B,CAAC,EAJW,QAAQ,KAAR,QAAQ,QAInB;AAED,MAAM,CAAN,IAAY,cASX;AATD,WAAY,cAAc;IACtB,qDAAS,CAAA;IACT,mEAAgB,CAAA;IAChB,6DAAa,CAAA;IACb,qFAAyB,CAAA;IACzB,+EAAsB,CAAA;IACtB,6DAAa,CAAA;IACb,uDAAU,CAAA;IACV,iEAAe,CAAA;AACnB,CAAC,EATW,cAAc,KAAd,cAAc,QASzB"}
|
|
@@ -4,29 +4,45 @@ import { isPermissionValidatorPlugin, serializePermissionAccountParams } from ".
|
|
|
4
4
|
export const serializeMultiChainPermissionAccounts = async (params) => {
|
|
5
5
|
if (params.length === 0)
|
|
6
6
|
return [];
|
|
7
|
+
let isPreInstalled = false;
|
|
7
8
|
const permissionParamsPerAccounts = params.map((param) => {
|
|
8
|
-
if (
|
|
9
|
+
if (isPermissionValidatorPlugin(param.account.kernelPluginManager) &&
|
|
10
|
+
!param.isExternalPermissionPlugin) {
|
|
11
|
+
return param.account.kernelPluginManager.getPluginSerializationParams();
|
|
12
|
+
}
|
|
13
|
+
else if (param.permissionPlugin) {
|
|
14
|
+
isPreInstalled = !param.isExternalPermissionPlugin;
|
|
15
|
+
return param.permissionPlugin.getPluginSerializationParams();
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
9
18
|
throw new Error("Account plugin is not a permission validator");
|
|
10
19
|
}
|
|
11
|
-
return param.account.kernelPluginManager.getPluginSerializationParams();
|
|
12
20
|
});
|
|
13
21
|
const actions = params.map((param) => param.account.kernelPluginManager.getAction());
|
|
14
22
|
const validityDataPerAccounts = params.map((param) => param.account.kernelPluginManager.getValidityData());
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
let leaves = [];
|
|
24
|
+
let merkleTree = new MerkleTree(leaves);
|
|
25
|
+
if (!isPreInstalled) {
|
|
26
|
+
const pluginEnableTypedDatas = await Promise.all(params.map(async (param) => {
|
|
27
|
+
return param.account.kernelPluginManager.getPluginsEnableTypedData(param.account.address, param.isExternalPermissionPlugin
|
|
28
|
+
? param.permissionPlugin
|
|
29
|
+
: undefined // override permission plugin if externalPlugin
|
|
30
|
+
);
|
|
31
|
+
}));
|
|
32
|
+
// build merkle tree for enable signatures
|
|
33
|
+
leaves = pluginEnableTypedDatas.map((typedData) => {
|
|
34
|
+
return hashTypedData(typedData);
|
|
35
|
+
});
|
|
36
|
+
merkleTree = new MerkleTree(leaves, keccak256, {
|
|
37
|
+
sortPairs: true
|
|
38
|
+
});
|
|
39
|
+
}
|
|
25
40
|
const merkleRoot = merkleTree.getHexRoot();
|
|
26
41
|
const toEthSignedMessageHash = hashMessage({ raw: merkleRoot });
|
|
27
42
|
let signature = "0x";
|
|
28
43
|
if (params[0].account.kernelPluginManager.sudoValidator?.source ===
|
|
29
|
-
"MultiChainECDSAValidator"
|
|
44
|
+
"MultiChainECDSAValidator" &&
|
|
45
|
+
!isPreInstalled) {
|
|
30
46
|
signature =
|
|
31
47
|
await params[0].account.kernelPluginManager.sudoValidator?.signMessage({
|
|
32
48
|
message: {
|
|
@@ -35,7 +51,8 @@ export const serializeMultiChainPermissionAccounts = async (params) => {
|
|
|
35
51
|
});
|
|
36
52
|
}
|
|
37
53
|
if (params[0].account.kernelPluginManager.sudoValidator?.source ===
|
|
38
|
-
"MultiChainWebAuthnValidator"
|
|
54
|
+
"MultiChainWebAuthnValidator" &&
|
|
55
|
+
!isPreInstalled) {
|
|
39
56
|
const encodedSignature = await params[0].account.kernelPluginManager.sudoValidator?.signMessage({
|
|
40
57
|
message: {
|
|
41
58
|
raw: toEthSignedMessageHash
|
|
@@ -45,6 +62,8 @@ export const serializeMultiChainPermissionAccounts = async (params) => {
|
|
|
45
62
|
}
|
|
46
63
|
// get enable signatures for multi-chain validator
|
|
47
64
|
const enableSignatures = await Promise.all(params.map(async (param, index) => {
|
|
65
|
+
if (isPreInstalled)
|
|
66
|
+
return undefined;
|
|
48
67
|
if (!param.account.kernelPluginManager.sudoValidator) {
|
|
49
68
|
throw new Error("No sudo validator found, check if sudo validator is multi-chain validator");
|
|
50
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializeMultiChainPermissionAccounts.js","sourceRoot":"","sources":["../serializeMultiChainPermissionAccounts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAEH,SAAS,EACT,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,SAAS,EACZ,MAAM,MAAM,CAAA;AAGb,OAAO,EACH,2BAA2B,EAC3B,gCAAgC,EACnC,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"serializeMultiChainPermissionAccounts.js","sourceRoot":"","sources":["../serializeMultiChainPermissionAccounts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { isPermissionValidatorPlugin, serializePermissionAccountParams } from "./utils.js";
|
|
2
|
-
export const serializePermissionAccount = async (account, privateKey, enableSignature, eip7702Auth, permissionPlugin) => {
|
|
2
|
+
export const serializePermissionAccount = async (account, privateKey, enableSignature, eip7702Auth, permissionPlugin, isExternalPermissionPlugin) => {
|
|
3
3
|
let permissionParams;
|
|
4
4
|
let isPreInstalled = false;
|
|
5
5
|
const action = account.kernelPluginManager.getAction();
|
|
6
6
|
const validityData = account.kernelPluginManager.getValidityData();
|
|
7
7
|
// Check if permission plugin is in kernelPluginManager
|
|
8
|
-
if (isPermissionValidatorPlugin(account.kernelPluginManager)
|
|
8
|
+
if (isPermissionValidatorPlugin(account.kernelPluginManager) &&
|
|
9
|
+
!isExternalPermissionPlugin) {
|
|
9
10
|
permissionParams =
|
|
10
11
|
account.kernelPluginManager.getPluginSerializationParams();
|
|
11
12
|
}
|
|
12
13
|
else if (permissionPlugin) {
|
|
13
14
|
// Permission plugin provided externally (initConfig case)
|
|
14
15
|
permissionParams = permissionPlugin.getPluginSerializationParams();
|
|
15
|
-
isPreInstalled =
|
|
16
|
+
isPreInstalled = !isExternalPermissionPlugin;
|
|
16
17
|
}
|
|
17
18
|
else {
|
|
18
19
|
throw new Error("No permission validator found in account or provided");
|
|
@@ -20,7 +21,8 @@ export const serializePermissionAccount = async (account, privateKey, enableSign
|
|
|
20
21
|
const _enableSignature = isPreInstalled
|
|
21
22
|
? undefined
|
|
22
23
|
: (enableSignature ??
|
|
23
|
-
(await account.kernelPluginManager.getPluginEnableSignature(account.address
|
|
24
|
+
(await account.kernelPluginManager.getPluginEnableSignature(account.address, isExternalPermissionPlugin ? permissionPlugin : undefined // override permission plugin if externalPlugin
|
|
25
|
+
)));
|
|
24
26
|
const _eip7702Auth = account.authorization
|
|
25
27
|
? (eip7702Auth ?? (await account?.eip7702Authorization?.()))
|
|
26
28
|
: undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializePermissionAccount.js","sourceRoot":"","sources":["../serializePermissionAccount.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,2BAA2B,EAC3B,gCAAgC,EACnC,MAAM,YAAY,CAAA;AAEnB,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,EAC3C,OAAuD,EACvD,UAAgB,EAChB,eAAqB,EACrB,WAAyC,EACzC,gBAAmC,
|
|
1
|
+
{"version":3,"file":"serializePermissionAccount.js","sourceRoot":"","sources":["../serializePermissionAccount.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,2BAA2B,EAC3B,gCAAgC,EACnC,MAAM,YAAY,CAAA;AAEnB,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,EAC3C,OAAuD,EACvD,UAAgB,EAChB,eAAqB,EACrB,WAAyC,EACzC,gBAAmC,EACnC,0BAAoC,EACrB,EAAE;IACjB,IAAI,gBAAgC,CAAA;IACpC,IAAI,cAAc,GAAG,KAAK,CAAA;IAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAA;IACtD,MAAM,YAAY,GAAG,OAAO,CAAC,mBAAmB,CAAC,eAAe,EAAE,CAAA;IAElE,uDAAuD;IACvD,IACI,2BAA2B,CAAC,OAAO,CAAC,mBAAmB,CAAC;QACxD,CAAC,0BAA0B,EAC7B,CAAC;QACC,gBAAgB;YACZ,OAAO,CAAC,mBAAmB,CAAC,4BAA4B,EAAE,CAAA;IAClE,CAAC;SAAM,IAAI,gBAAgB,EAAE,CAAC;QAC1B,0DAA0D;QAC1D,gBAAgB,GAAG,gBAAgB,CAAC,4BAA4B,EAAE,CAAA;QAClE,cAAc,GAAG,CAAC,0BAA0B,CAAA;IAChD,CAAC;SAAM,CAAC;QACJ,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;IAC3E,CAAC;IAED,MAAM,gBAAgB,GAAG,cAAc;QACnC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,CAAC,eAAe;YAChB,CAAC,MAAM,OAAO,CAAC,mBAAmB,CAAC,wBAAwB,CACvD,OAAO,CAAC,OAAO,EACf,0BAA0B,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,+CAA+C;aAC5G,CAAC,CAAC,CAAA;IACT,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;QACzB,cAAc;KACjB,CAAA;IAED,OAAO,gCAAgC,CAAC,oBAAoB,CAAC,CAAA;AACjE,CAAC,CAAA"}
|
package/_types/constants.d.ts
CHANGED
|
@@ -33,6 +33,11 @@ export declare const CALL_POLICY_CONTRACT_V0_0_3 = "0xB3CB5f502250360335614df142
|
|
|
33
33
|
* - Fixed erc4337 storage violation with custom storage slot (Works with Alchemy now)
|
|
34
34
|
*/
|
|
35
35
|
export declare const CALL_POLICY_CONTRACT_V0_0_4 = "0x9a52283276A0ec8740DF50bF01B28A80D880eaf2";
|
|
36
|
+
/**
|
|
37
|
+
* @dev CALL_POLICY_CONTRACT_V0_0_5 updates
|
|
38
|
+
* - Added SLICE_EQUAL condition
|
|
39
|
+
*/
|
|
40
|
+
export declare const CALL_POLICY_CONTRACT_V0_0_5 = "0x85770b902D1e503D5f5141d9eaC16d0d08eEaDd2";
|
|
36
41
|
export declare const GAS_POLICY_CONTRACT = "0xaeFC5AbC67FfD258abD0A3E54f65E70326F84b23";
|
|
37
42
|
export declare const RATE_LIMIT_POLICY_CONTRACT = "0xf63d4139B25c836334edD76641356c6b74C86873";
|
|
38
43
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,+CACc,CAAA;AAChD,eAAO,MAAM,+BAA+B,+CACI,CAAA;AAChD;;;GAGG;AACH,eAAO,MAAM,+BAA+B,+CACI,CAAA;AAEhD;;;GAGG;AACH,eAAO,MAAM,+BAA+B,+CACI,CAAA;AAEhD;;;GAGG;AACH,eAAO,MAAM,+BAA+B,+CACI,CAAA;AAEhD,eAAO,MAAM,2BAA2B,+CACQ,CAAA;AAChD;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,+CACQ,CAAA;AAEhD;;;GAGG;AACH,eAAO,MAAM,2BAA2B,+CACQ,CAAA;AAEhD;;;GAGG;AACH,eAAO,MAAM,2BAA2B,+CACQ,CAAA;AAEhD,eAAO,MAAM,mBAAmB,+CAA+C,CAAA;AAC/E,eAAO,MAAM,0BAA0B,+CACS,CAAA;AAEhD;;;GAGG;AACH,eAAO,MAAM,qCAAqC,+CACF,CAAA;AAEhD,eAAO,MAAM,yBAAyB,+CACU,CAAA;AAChD,eAAO,MAAM,oBAAoB,+CAA+C,CAAA;AAChF,eAAO,MAAM,yBAAyB,+CACU,CAAA;AAEhD,oBAAY,WAAW;IACnB,kBAAkB,WAAW;IAC7B,uBAAuB,WAAW;IAClC,oBAAoB,WAAW;CAClC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,+CACc,CAAA;AAChD,eAAO,MAAM,+BAA+B,+CACI,CAAA;AAChD;;;GAGG;AACH,eAAO,MAAM,+BAA+B,+CACI,CAAA;AAEhD;;;GAGG;AACH,eAAO,MAAM,+BAA+B,+CACI,CAAA;AAEhD;;;GAGG;AACH,eAAO,MAAM,+BAA+B,+CACI,CAAA;AAEhD,eAAO,MAAM,2BAA2B,+CACQ,CAAA;AAChD;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,+CACQ,CAAA;AAEhD;;;GAGG;AACH,eAAO,MAAM,2BAA2B,+CACQ,CAAA;AAEhD;;;GAGG;AACH,eAAO,MAAM,2BAA2B,+CACQ,CAAA;AAEhD;;;GAGG;AACH,eAAO,MAAM,2BAA2B,+CACQ,CAAA;AAEhD,eAAO,MAAM,mBAAmB,+CAA+C,CAAA;AAC/E,eAAO,MAAM,0BAA0B,+CACS,CAAA;AAEhD;;;GAGG;AACH,eAAO,MAAM,qCAAqC,+CACF,CAAA;AAEhD,eAAO,MAAM,yBAAyB,+CACU,CAAA;AAChD,eAAO,MAAM,oBAAoB,+CAA+C,CAAA;AAChF,eAAO,MAAM,yBAAyB,+CACU,CAAA;AAEhD,oBAAY,WAAW;IACnB,kBAAkB,WAAW;IAC7B,uBAAuB,WAAW;IAClC,oBAAoB,WAAW;CAClC"}
|
package/_types/index.d.ts
CHANGED
|
@@ -5,4 +5,6 @@ export { type MultiChainPermissionAccountsParams, serializeMultiChainPermissionA
|
|
|
5
5
|
export { deserializePermissionAccount, decodeParamsFromInitCode } from "./deserializePermissionAccount.js";
|
|
6
6
|
export * from "./constants.js";
|
|
7
7
|
export { toInitConfig } from "./toInitConfig.js";
|
|
8
|
+
export { migrationSessionKeyAccount } from "./migration/migrationSessionKeyAccount.js";
|
|
9
|
+
export { isPermissionMigrated } from "./migration/isPermissionMigrated.js";
|
|
8
10
|
//# sourceMappingURL=index.d.ts.map
|
package/_types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,mBAAmB,YAAY,CAAA;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,EACH,KAAK,kCAAkC,EACvC,qCAAqC,EACxC,MAAM,4CAA4C,CAAA;AACnD,OAAO,EACH,4BAA4B,EAC5B,wBAAwB,EAC3B,MAAM,mCAAmC,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,mBAAmB,YAAY,CAAA;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,EACH,KAAK,kCAAkC,EACvC,qCAAqC,EACxC,MAAM,4CAA4C,CAAA;AACnD,OAAO,EACH,4BAA4B,EAC5B,wBAAwB,EAC3B,MAAM,mCAAmC,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAA;AACtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Address, Chain, Client, Hex, JsonRpcAccount, LocalAccount, Transport } from "viem";
|
|
2
|
+
export declare const isPermissionMigrated: (client: Client<Transport, Chain | undefined, JsonRpcAccount | LocalAccount | undefined>, params: {
|
|
3
|
+
account: Address;
|
|
4
|
+
permissionId: Hex;
|
|
5
|
+
}) => Promise<boolean>;
|
|
6
|
+
//# sourceMappingURL=isPermissionMigrated.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isPermissionMigrated.d.ts","sourceRoot":"","sources":["../../migration/isPermissionMigrated.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACR,OAAO,EACP,KAAK,EACL,MAAM,EACN,GAAG,EACH,cAAc,EACd,YAAY,EACZ,SAAS,EACZ,MAAM,MAAM,CAAA;AAIb,eAAO,MAAM,oBAAoB,WACrB,OACJ,SAAS,EACT,KAAK,GAAG,SAAS,EACjB,cAAc,GAAG,YAAY,GAAG,SAAS,CAC5C,UACO;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,GAAG,CAAA;CAAE,KAChD,QAAQ,OAAO,CAgBjB,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type CreateKernelAccountReturnType } from "@zerodev/sdk/accounts";
|
|
2
|
+
import { type Hex } from "viem";
|
|
3
|
+
export declare const migrationSessionKeyAccount: (params: {
|
|
4
|
+
account: CreateKernelAccountReturnType<"0.7">;
|
|
5
|
+
permissionId: Hex;
|
|
6
|
+
}) => Promise<CreateKernelAccountReturnType<"0.7">>;
|
|
7
|
+
//# sourceMappingURL=migrationSessionKeyAccount.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrationSessionKeyAccount.d.ts","sourceRoot":"","sources":["../../migration/migrationSessionKeyAccount.ts"],"names":[],"mappings":"AACA,OAAO,EACH,KAAK,6BAA6B,EAGrC,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAEH,KAAK,GAAG,EASX,MAAM,MAAM,CAAA;AAGb,eAAO,MAAM,0BAA0B,WAAkB;IACrD,OAAO,EAAE,8BAA8B,KAAK,CAAC,CAAA;IAC7C,YAAY,EAAE,GAAG,CAAA;CACpB,KAAG,QAAQ,8BAA8B,KAAK,CAAC,CA+F/C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callPolicyUtils.d.ts","sourceRoot":"","sources":["../../policies/callPolicyUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,GAAG,EAER,KAAK,OAAO,EACZ,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"callPolicyUtils.d.ts","sourceRoot":"","sources":["../../policies/callPolicyUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,GAAG,EAER,KAAK,OAAO,EACZ,KAAK,GAAG,EAQX,MAAM,MAAM,CAAA;AAEb,OAAO,EAEH,KAAK,6CAA6C,EAGlD,KAAK,cAAc,EACtB,MAAM,YAAY,CAAA;AAEnB,wBAAgB,oBAAoB,CAChC,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,EACrC,aAAa,SAAS,MAAM,GAAG,SAAS,GAAG,MAAM,EACnD,EACE,GAAG,EACH,IAAI,EACJ,YAAY,EACZ,aAAa,EACb,QAAQ,EACX,EAAE,6CAA6C,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,IAAI,CACxE,cAAc,EACd,UAAU,GAAG,OAAO,CACvB,CAmKA;AAED,eAAO,MAAM,oBAAoB,eACjB,cAAc,GAAG,cAAc,EAAE,iBAC9B,OAAO,KACvB,GAkDF,CAAA"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import type { Abi, Address } from "viem";
|
|
1
|
+
import type { Abi, Address, Narrow } from "viem";
|
|
2
2
|
import type { Policy, PolicyParams } from "../types.js";
|
|
3
|
-
import { type Permission } from "./types.js";
|
|
3
|
+
import { type InferPermissions, type Permission } from "./types.js";
|
|
4
4
|
export declare enum CallPolicyVersion {
|
|
5
5
|
V0_0_1 = "0.0.1",
|
|
6
6
|
V0_0_2 = "0.0.2",
|
|
7
7
|
V0_0_3 = "0.0.3",
|
|
8
|
-
V0_0_4 = "0.0.4"
|
|
8
|
+
V0_0_4 = "0.0.4",
|
|
9
|
+
V0_0_5 = "0.0.5"
|
|
9
10
|
}
|
|
10
11
|
export declare const getCallPolicyAddress: (policyVersion: CallPolicyVersion, policyAddress?: Address) => Address;
|
|
11
|
-
export type CallPolicyParams<
|
|
12
|
+
export type CallPolicyParams<permissions extends readonly Permission<Abi, string>[] = readonly Permission<Abi, string>[]> = PolicyParams & {
|
|
12
13
|
policyVersion: CallPolicyVersion;
|
|
13
|
-
permissions?:
|
|
14
|
+
permissions?: InferPermissions<Narrow<permissions>>;
|
|
14
15
|
};
|
|
15
|
-
export declare function toCallPolicy<
|
|
16
|
+
export declare function toCallPolicy<const permissions extends readonly Permission<Abi, string>[]>({ policyAddress, policyFlag, policyVersion, permissions: inputPermissions }: CallPolicyParams<permissions>): Policy;
|
|
16
17
|
//# sourceMappingURL=toCallPolicy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toCallPolicy.d.ts","sourceRoot":"","sources":["../../policies/toCallPolicy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAO,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"toCallPolicy.d.ts","sourceRoot":"","sources":["../../policies/toCallPolicy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,OAAO,EAAO,MAAM,EAAE,MAAM,MAAM,CAAA;AAUrD,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAKvD,OAAO,EAAY,KAAK,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAA;AAE7E,oBAAY,iBAAiB;IACzB,MAAM,UAAU;IAChB,MAAM,UAAU;IAChB,MAAM,UAAU;IAChB,MAAM,UAAU;IAChB,MAAM,UAAU;CACnB;AAED,eAAO,MAAM,oBAAoB,kBACd,iBAAiB,kBAChB,OAAO,KACxB,OAcF,CAAA;AAED,MAAM,MAAM,gBAAgB,CACxB,WAAW,SAAS,SAAS,UAAU,CACnC,GAAG,EACH,MAAM,CACT,EAAE,GAAG,SAAS,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,IACxC,YAAY,GAAG;IACf,aAAa,EAAE,iBAAiB,CAAA;IAChC,WAAW,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA;CACtD,CAAA;AAED,wBAAgB,YAAY,CACxB,KAAK,CAAC,WAAW,SAAS,SAAS,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAC9D,EACE,aAAa,EACb,UAA2C,EAC3C,aAAa,EACb,WAAW,EAAE,gBAAgB,EAChC,EAAE,gBAAgB,CAAC,WAAW,CAAC,GAAG,MAAM,CA2DxC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ExtractAbiFunction, ExtractAbiFunctionNames } from "abitype";
|
|
2
|
-
import type { Abi, AbiFunction, AbiParameter, AbiParameterKind, AbiParameterToPrimitiveType, AbiStateMutability, Address, Hex, Narrow } from "viem";
|
|
2
|
+
import type { Abi, AbiFunction, AbiParameter, AbiParameterKind, AbiParameterToPrimitiveType, AbiStateMutability, Address, ContractFunctionName, Hex, Narrow, Prettify } from "viem";
|
|
3
3
|
export declare enum CallType {
|
|
4
4
|
CALL = "0x00",
|
|
5
5
|
BATCH_CALL = "0x01",
|
|
@@ -12,7 +12,8 @@ export declare enum ParamCondition {
|
|
|
12
12
|
GREATER_THAN_OR_EQUAL = 3,
|
|
13
13
|
LESS_THAN_OR_EQUAL = 4,
|
|
14
14
|
NOT_EQUAL = 5,
|
|
15
|
-
ONE_OF = 6
|
|
15
|
+
ONE_OF = 6,
|
|
16
|
+
SLICE_EQUAL = 7
|
|
16
17
|
}
|
|
17
18
|
export interface ParamRule {
|
|
18
19
|
condition: ParamCondition;
|
|
@@ -49,6 +50,11 @@ export type Permission<TAbi extends Abi | readonly unknown[], TFunctionName exte
|
|
|
49
50
|
type ConditionValue<TAbiParameter extends AbiParameter, TAbiParameterKind extends AbiParameterKind> = {
|
|
50
51
|
condition: ParamCondition.ONE_OF;
|
|
51
52
|
value: AbiParameterToPrimitiveType<TAbiParameter, TAbiParameterKind>[];
|
|
53
|
+
} | {
|
|
54
|
+
condition: ParamCondition.SLICE_EQUAL;
|
|
55
|
+
value: AbiParameterToPrimitiveType<TAbiParameter, TAbiParameterKind>;
|
|
56
|
+
start: number;
|
|
57
|
+
length: number;
|
|
52
58
|
} | {
|
|
53
59
|
condition: Exclude<ParamCondition, ParamCondition.ONE_OF>;
|
|
54
60
|
value: AbiParameterToPrimitiveType<TAbiParameter, TAbiParameterKind>;
|
|
@@ -67,5 +73,18 @@ export type GeneratePermissionFromArgsParameters<TAbi extends Abi | readonly unk
|
|
|
67
73
|
} & GetFunctionArgs<TAbi, TFunctionName> : _FunctionName extends string ? {
|
|
68
74
|
abi: [Narrow<TAbi[number]>];
|
|
69
75
|
} & GetFunctionArgs<TAbi, _FunctionName> : never);
|
|
76
|
+
export type GetPermissionParameters<permission> = permission extends {
|
|
77
|
+
abi: infer abi extends Abi;
|
|
78
|
+
} ? permission extends {
|
|
79
|
+
functionName: infer functionName extends ContractFunctionName<abi>;
|
|
80
|
+
} ? PermissionWithABI<abi, functionName> : Abi extends abi ? PermissionWithABI<abi, string> : PermissionWithABI<abi, string> : permission extends {
|
|
81
|
+
target: Address;
|
|
82
|
+
} ? PermissionManual : never;
|
|
83
|
+
export type InferPermissions<permissions extends readonly unknown[], result extends readonly unknown[] = []> = permissions extends readonly [] ? readonly [] : permissions extends readonly [infer permission] ? readonly [...result, Prettify<GetPermissionParameters<permission>>] : permissions extends readonly [infer permission, ...infer rest] ? InferPermissions<[
|
|
84
|
+
...rest
|
|
85
|
+
], [
|
|
86
|
+
...result,
|
|
87
|
+
Prettify<GetPermissionParameters<permission>>
|
|
88
|
+
]> : readonly unknown[] extends permissions ? permissions : permissions extends readonly (infer permission)[] ? readonly Prettify<GetPermissionParameters<permission>>[] : readonly Permission<Abi, string>[];
|
|
70
89
|
export {};
|
|
71
90
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../policies/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAC1E,OAAO,KAAK,EACR,GAAG,EACH,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,2BAA2B,EAC3B,kBAAkB,EAClB,OAAO,EACP,GAAG,EACH,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../policies/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,12 @@
|
|
|
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 { PermissionPlugin } from "./types.js";
|
|
4
5
|
export type MultiChainPermissionAccountsParams = {
|
|
5
6
|
account: SmartAccount<KernelSmartAccountImplementation>;
|
|
6
7
|
privateKey?: Hex;
|
|
8
|
+
permissionPlugin?: PermissionPlugin;
|
|
9
|
+
isExternalPermissionPlugin?: boolean;
|
|
7
10
|
};
|
|
8
11
|
export declare const serializeMultiChainPermissionAccounts: (params: MultiChainPermissionAccountsParams[]) => Promise<string[]>;
|
|
9
12
|
export declare function decodeSignature(signature: Hex): `0x${string}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializeMultiChainPermissionAccounts.d.ts","sourceRoot":"","sources":["../serializeMultiChainPermissionAccounts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,cAAc,CAAA;AAEpE,OAAO,EACH,KAAK,GAAG,EAOX,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"serializeMultiChainPermissionAccounts.d.ts","sourceRoot":"","sources":["../serializeMultiChainPermissionAccounts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,cAAc,CAAA;AAEpE,OAAO,EACH,KAAK,GAAG,EAOX,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAMlD,MAAM,MAAM,kCAAkC,GAAG;IAC7C,OAAO,EAAE,YAAY,CAAC,gCAAgC,CAAC,CAAA;IACvD,UAAU,CAAC,EAAE,GAAG,CAAA;IAChB,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,0BAA0B,CAAC,EAAE,OAAO,CAAA;CACvC,CAAA;AAED,eAAO,MAAM,qCAAqC,WACtC,kCAAkC,EAAE,KAC7C,QAAQ,MAAM,EAAE,CAwJlB,CAAA;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,GAAG,iBAe7C"}
|
|
@@ -3,5 +3,5 @@ import type { Hex } from "viem";
|
|
|
3
3
|
import type { SmartAccount } from "viem/account-abstraction";
|
|
4
4
|
import type { SignAuthorizationReturnType } from "viem/accounts";
|
|
5
5
|
import type { PermissionPlugin } from "./types.js";
|
|
6
|
-
export declare const serializePermissionAccount: (account: SmartAccount<KernelSmartAccountImplementation>, privateKey?: Hex, enableSignature?: Hex, eip7702Auth?: SignAuthorizationReturnType, permissionPlugin?: PermissionPlugin) => Promise<string>;
|
|
6
|
+
export declare const serializePermissionAccount: (account: SmartAccount<KernelSmartAccountImplementation>, privateKey?: Hex, enableSignature?: Hex, eip7702Auth?: SignAuthorizationReturnType, permissionPlugin?: PermissionPlugin, isExternalPermissionPlugin?: boolean) => Promise<string>;
|
|
7
7
|
//# 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;AAC5D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAA;AAChE,OAAO,KAAK,EAAkB,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAMlE,eAAO,MAAM,0BAA0B,YAC1B,aAAa,gCAAgC,CAAC,eAC1C,GAAG,oBACE,GAAG,gBACP,2BAA2B,qBACtB,gBAAgB,
|
|
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;AAChE,OAAO,KAAK,EAAkB,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAMlE,eAAO,MAAM,0BAA0B,YAC1B,aAAa,gCAAgC,CAAC,eAC1C,GAAG,oBACE,GAAG,gBACP,2BAA2B,qBACtB,gBAAgB,+BACN,OAAO,KACrC,QAAQ,MAAM,CAgDhB,CAAA"}
|
package/_types/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { KernelValidator } from "@zerodev/sdk";
|
|
2
2
|
import type { Action, EntryPointType, GetKernelVersion, PluginValidityData } from "@zerodev/sdk/types";
|
|
3
|
-
import type {
|
|
3
|
+
import type { Address, Hex, LocalAccount } from "viem";
|
|
4
4
|
import type { EntryPointVersion } from "viem/account-abstraction";
|
|
5
5
|
import type { SignAuthorizationReturnType } from "viem/accounts";
|
|
6
6
|
import type { PolicyFlags } from "./constants.js";
|
|
@@ -24,7 +24,7 @@ export type ModularSigner = {
|
|
|
24
24
|
export type Policy = {
|
|
25
25
|
getPolicyData: () => Hex;
|
|
26
26
|
getPolicyInfoInBytes: () => Hex;
|
|
27
|
-
policyParams: (CallPolicyParams
|
|
27
|
+
policyParams: (CallPolicyParams & {
|
|
28
28
|
type: "call";
|
|
29
29
|
}) | (GasPolicyParams & {
|
|
30
30
|
type: "gas";
|
package/_types/types.d.ts.map
CHANGED
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"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"}
|
package/constants.ts
CHANGED
|
@@ -48,6 +48,13 @@ export const CALL_POLICY_CONTRACT_V0_0_3 =
|
|
|
48
48
|
export const CALL_POLICY_CONTRACT_V0_0_4 =
|
|
49
49
|
"0x9a52283276A0ec8740DF50bF01B28A80D880eaf2"
|
|
50
50
|
|
|
51
|
+
/**
|
|
52
|
+
* @dev CALL_POLICY_CONTRACT_V0_0_5 updates
|
|
53
|
+
* - Added SLICE_EQUAL condition
|
|
54
|
+
*/
|
|
55
|
+
export const CALL_POLICY_CONTRACT_V0_0_5 =
|
|
56
|
+
"0x85770b902D1e503D5f5141d9eaC16d0d08eEaDd2"
|
|
57
|
+
|
|
51
58
|
export const GAS_POLICY_CONTRACT = "0xaeFC5AbC67FfD258abD0A3E54f65E70326F84b23"
|
|
52
59
|
export const RATE_LIMIT_POLICY_CONTRACT =
|
|
53
60
|
"0xf63d4139B25c836334edD76641356c6b74C86873"
|
package/index.ts
CHANGED
|
@@ -11,3 +11,5 @@ export {
|
|
|
11
11
|
} from "./deserializePermissionAccount.js"
|
|
12
12
|
export * from "./constants.js"
|
|
13
13
|
export { toInitConfig } from "./toInitConfig.js"
|
|
14
|
+
export { migrationSessionKeyAccount } from "./migration/migrationSessionKeyAccount.js"
|
|
15
|
+
export { isPermissionMigrated } from "./migration/isPermissionMigrated.js"
|