@zerodev/permissions 5.6.2 → 5.6.4
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/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/_cjs/toInitConfig.js +3 -3
- package/_cjs/toInitConfig.js.map +1 -1
- package/_esm/constants.js +5 -0
- package/_esm/constants.js.map +1 -1
- 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/_esm/toInitConfig.js +3 -3
- package/_esm/toInitConfig.js.map +1 -1
- package/_types/constants.d.ts +5 -0
- package/_types/constants.d.ts.map +1 -1
- 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/toInitConfig.d.ts +1 -1
- package/_types/toInitConfig.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/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/toInitConfig.ts +5 -3
- package/types.ts +2 -2
package/_cjs/constants.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PolicyFlags = exports.TIMESTAMP_POLICY_CONTRACT = exports.SUDO_POLICY_CONTRACT = exports.SIGNATURE_POLICY_CONTRACT = exports.RATE_LIMIT_POLICY_WITH_RESET_CONTRACT = exports.RATE_LIMIT_POLICY_CONTRACT = exports.GAS_POLICY_CONTRACT = exports.CALL_POLICY_CONTRACT_V0_0_4 = exports.CALL_POLICY_CONTRACT_V0_0_3 = exports.CALL_POLICY_CONTRACT_V0_0_2 = exports.CALL_POLICY_CONTRACT_V0_0_1 = exports.WEBAUTHN_SIGNER_CONTRACT_V0_0_4 = exports.WEBAUTHN_SIGNER_CONTRACT_V0_0_3 = exports.WEBAUTHN_SIGNER_CONTRACT_V0_0_2 = exports.WEBAUTHN_SIGNER_CONTRACT_V0_0_1 = exports.ECDSA_SIGNER_CONTRACT = void 0;
|
|
3
|
+
exports.PolicyFlags = exports.TIMESTAMP_POLICY_CONTRACT = exports.SUDO_POLICY_CONTRACT = exports.SIGNATURE_POLICY_CONTRACT = exports.RATE_LIMIT_POLICY_WITH_RESET_CONTRACT = exports.RATE_LIMIT_POLICY_CONTRACT = exports.GAS_POLICY_CONTRACT = exports.CALL_POLICY_CONTRACT_V0_0_5 = exports.CALL_POLICY_CONTRACT_V0_0_4 = exports.CALL_POLICY_CONTRACT_V0_0_3 = exports.CALL_POLICY_CONTRACT_V0_0_2 = exports.CALL_POLICY_CONTRACT_V0_0_1 = exports.WEBAUTHN_SIGNER_CONTRACT_V0_0_4 = exports.WEBAUTHN_SIGNER_CONTRACT_V0_0_3 = exports.WEBAUTHN_SIGNER_CONTRACT_V0_0_2 = exports.WEBAUTHN_SIGNER_CONTRACT_V0_0_1 = exports.ECDSA_SIGNER_CONTRACT = void 0;
|
|
4
4
|
exports.ECDSA_SIGNER_CONTRACT = "0x6A6F069E2a08c2468e7724Ab3250CdBFBA14D4FF";
|
|
5
5
|
exports.WEBAUTHN_SIGNER_CONTRACT_V0_0_1 = "0x8AA55d4BfAE101609078681A69B5bc3181516612";
|
|
6
6
|
exports.WEBAUTHN_SIGNER_CONTRACT_V0_0_2 = "0x58625164e306242c7613223bDeb68fbe11300606";
|
|
@@ -10,6 +10,7 @@ exports.CALL_POLICY_CONTRACT_V0_0_1 = "0xe4Fec84B7B002273ecC86baa65a831ddB92d30a
|
|
|
10
10
|
exports.CALL_POLICY_CONTRACT_V0_0_2 = "0x67Fa43ca2D689beA4d10b9F2C96828828A2Ab275";
|
|
11
11
|
exports.CALL_POLICY_CONTRACT_V0_0_3 = "0xB3CB5f502250360335614df1421f2AAbE98CE503";
|
|
12
12
|
exports.CALL_POLICY_CONTRACT_V0_0_4 = "0x9a52283276A0ec8740DF50bF01B28A80D880eaf2";
|
|
13
|
+
exports.CALL_POLICY_CONTRACT_V0_0_5 = "0x85770b902D1e503D5f5141d9eaC16d0d08eEaDd2";
|
|
13
14
|
exports.GAS_POLICY_CONTRACT = "0xaeFC5AbC67FfD258abD0A3E54f65E70326F84b23";
|
|
14
15
|
exports.RATE_LIMIT_POLICY_CONTRACT = "0xf63d4139B25c836334edD76641356c6b74C86873";
|
|
15
16
|
exports.RATE_LIMIT_POLICY_WITH_RESET_CONTRACT = "0x6a06358e6b283921deceabe7e8a3741d506cca9b";
|
package/_cjs/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAC9B,4CAA4C,CAAA;AACnC,QAAA,+BAA+B,GACxC,4CAA4C,CAAA;AAKnC,QAAA,+BAA+B,GACxC,4CAA4C,CAAA;AAMnC,QAAA,+BAA+B,GACxC,4CAA4C,CAAA;AAMnC,QAAA,+BAA+B,GACxC,4CAA4C,CAAA;AAEnC,QAAA,2BAA2B,GACpC,4CAA4C,CAAA;AAOnC,QAAA,2BAA2B,GACpC,4CAA4C,CAAA;AAMnC,QAAA,2BAA2B,GACpC,4CAA4C,CAAA;AAMnC,QAAA,2BAA2B,GACpC,4CAA4C,CAAA;AAEnC,QAAA,mBAAmB,GAAG,4CAA4C,CAAA;AAClE,QAAA,0BAA0B,GACnC,4CAA4C,CAAA;AAMnC,QAAA,qCAAqC,GAC9C,4CAA4C,CAAA;AAEnC,QAAA,yBAAyB,GAClC,4CAA4C,CAAA;AACnC,QAAA,oBAAoB,GAAG,4CAA4C,CAAA;AACnE,QAAA,yBAAyB,GAClC,4CAA4C,CAAA;AAEhD,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,4CAA6B,CAAA;IAC7B,iDAAkC,CAAA;IAClC,8CAA+B,CAAA;AACnC,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAC9B,4CAA4C,CAAA;AACnC,QAAA,+BAA+B,GACxC,4CAA4C,CAAA;AAKnC,QAAA,+BAA+B,GACxC,4CAA4C,CAAA;AAMnC,QAAA,+BAA+B,GACxC,4CAA4C,CAAA;AAMnC,QAAA,+BAA+B,GACxC,4CAA4C,CAAA;AAEnC,QAAA,2BAA2B,GACpC,4CAA4C,CAAA;AAOnC,QAAA,2BAA2B,GACpC,4CAA4C,CAAA;AAMnC,QAAA,2BAA2B,GACpC,4CAA4C,CAAA;AAMnC,QAAA,2BAA2B,GACpC,4CAA4C,CAAA;AAMnC,QAAA,2BAA2B,GACpC,4CAA4C,CAAA;AAEnC,QAAA,mBAAmB,GAAG,4CAA4C,CAAA;AAClE,QAAA,0BAA0B,GACnC,4CAA4C,CAAA;AAMnC,QAAA,qCAAqC,GAC9C,4CAA4C,CAAA;AAEnC,QAAA,yBAAyB,GAClC,4CAA4C,CAAA;AACnC,QAAA,oBAAoB,GAAG,4CAA4C,CAAA;AACnE,QAAA,yBAAyB,GAClC,4CAA4C,CAAA;AAEhD,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,4CAA6B,CAAA;IAC7B,iDAAkC,CAAA;IAClC,8CAA+B,CAAA;AACnC,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB"}
|
|
@@ -75,6 +75,33 @@ function getPermissionFromABI({ abi, args, functionName, policyAddress, selector
|
|
|
75
75
|
? value
|
|
76
76
|
: (0, viem_1.toHex)(value), { size: 32 }));
|
|
77
77
|
}
|
|
78
|
+
else if (arg.condition === types_js_1.ParamCondition.SLICE_EQUAL) {
|
|
79
|
+
if (!("start" in arg) || !("length" in arg)) {
|
|
80
|
+
throw new Error("start and length are required for SLICE_EQUAL condition");
|
|
81
|
+
}
|
|
82
|
+
const functionArgsType = targetFunction.inputs[i].type;
|
|
83
|
+
const { start, length, value } = arg;
|
|
84
|
+
let hexValue;
|
|
85
|
+
if (functionArgsType === "string") {
|
|
86
|
+
hexValue = (0, viem_1.toHex)(value);
|
|
87
|
+
}
|
|
88
|
+
else if (functionArgsType === "bytes") {
|
|
89
|
+
hexValue = (0, viem_1.isHex)(value, { strict: true })
|
|
90
|
+
? value
|
|
91
|
+
: (0, viem_1.toHex)(value);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
throw new Error(`Unsupported function argument type: ${functionArgsType} could be "string" or "bytes"`);
|
|
95
|
+
}
|
|
96
|
+
if ((0, viem_1.size)(hexValue) !== length) {
|
|
97
|
+
throw new Error("Value length is not equal to the given length");
|
|
98
|
+
}
|
|
99
|
+
params = [
|
|
100
|
+
(0, viem_1.toHex)(start, { size: 32 }),
|
|
101
|
+
(0, viem_1.toHex)(length, { size: 32 }),
|
|
102
|
+
(0, viem_1.keccak256)(hexValue)
|
|
103
|
+
];
|
|
104
|
+
}
|
|
78
105
|
else {
|
|
79
106
|
params = [
|
|
80
107
|
(0, viem_1.pad)((0, viem_1.isHex)(arg.value)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callPolicyUtils.js","sourceRoot":"","sources":["../../policies/callPolicyUtils.ts"],"names":[],"mappings":";;;AAAA,+
|
|
1
|
+
{"version":3,"file":"callPolicyUtils.js","sourceRoot":"","sources":["../../policies/callPolicyUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ var CallPolicyVersion;
|
|
|
11
11
|
CallPolicyVersion["V0_0_2"] = "0.0.2";
|
|
12
12
|
CallPolicyVersion["V0_0_3"] = "0.0.3";
|
|
13
13
|
CallPolicyVersion["V0_0_4"] = "0.0.4";
|
|
14
|
+
CallPolicyVersion["V0_0_5"] = "0.0.5";
|
|
14
15
|
})(CallPolicyVersion || (exports.CallPolicyVersion = CallPolicyVersion = {}));
|
|
15
16
|
const getCallPolicyAddress = (policyVersion, policyAddress) => {
|
|
16
17
|
if (policyAddress)
|
|
@@ -24,12 +25,14 @@ const getCallPolicyAddress = (policyVersion, policyAddress) => {
|
|
|
24
25
|
return constants_js_1.CALL_POLICY_CONTRACT_V0_0_3;
|
|
25
26
|
case CallPolicyVersion.V0_0_4:
|
|
26
27
|
return constants_js_1.CALL_POLICY_CONTRACT_V0_0_4;
|
|
28
|
+
case CallPolicyVersion.V0_0_5:
|
|
29
|
+
return constants_js_1.CALL_POLICY_CONTRACT_V0_0_5;
|
|
27
30
|
}
|
|
28
31
|
};
|
|
29
32
|
exports.getCallPolicyAddress = getCallPolicyAddress;
|
|
30
|
-
function toCallPolicy({ policyAddress, policyFlag = constants_js_1.PolicyFlags.FOR_ALL_VALIDATION, policyVersion, permissions
|
|
33
|
+
function toCallPolicy({ policyAddress, policyFlag = constants_js_1.PolicyFlags.FOR_ALL_VALIDATION, policyVersion, permissions: inputPermissions }) {
|
|
31
34
|
const callPolicyAddress = (0, exports.getCallPolicyAddress)(policyVersion, policyAddress);
|
|
32
|
-
const generatedPermissionParams =
|
|
35
|
+
const generatedPermissionParams = inputPermissions?.map((perm) => {
|
|
33
36
|
if (perm.abi && perm.functionName) {
|
|
34
37
|
return (0, callPolicyUtils_js_1.getPermissionFromABI)({
|
|
35
38
|
abi: perm.abi,
|
|
@@ -44,19 +47,18 @@ function toCallPolicy({ policyAddress, policyFlag = constants_js_1.PolicyFlags.F
|
|
|
44
47
|
rules: undefined
|
|
45
48
|
};
|
|
46
49
|
});
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
const encodedPermissionData = (0, callPolicyUtils_js_1.encodePermissionData)(permissions, callPolicyAddress);
|
|
50
|
+
const processedPermissions = inputPermissions?.map((perm, index) => ({
|
|
51
|
+
...perm,
|
|
52
|
+
callType: perm.callType ?? types_js_1.CallType.CALL,
|
|
53
|
+
selector: (perm.selector
|
|
54
|
+
? perm.selector.toLowerCase()
|
|
55
|
+
: perm.selector) ??
|
|
56
|
+
generatedPermissionParams?.[index]?.selector ??
|
|
57
|
+
(0, viem_1.pad)("0x", { size: 4 }),
|
|
58
|
+
valueLimit: perm.valueLimit ?? 0n,
|
|
59
|
+
rules: perm.rules ?? generatedPermissionParams?.[index]?.rules ?? []
|
|
60
|
+
})) ?? [];
|
|
61
|
+
const encodedPermissionData = (0, callPolicyUtils_js_1.encodePermissionData)(processedPermissions, callPolicyAddress);
|
|
60
62
|
return {
|
|
61
63
|
getPolicyData: () => {
|
|
62
64
|
return encodedPermissionData;
|
|
@@ -69,7 +71,7 @@ function toCallPolicy({ policyAddress, policyFlag = constants_js_1.PolicyFlags.F
|
|
|
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,+BAAqC;AACrC,
|
|
1
|
+
{"version":3,"file":"toCallPolicy.js","sourceRoot":"","sources":["../../policies/toCallPolicy.ts"],"names":[],"mappings":"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"}
|
package/_cjs/policies/types.js
CHANGED
|
@@ -16,5 +16,6 @@ var ParamCondition;
|
|
|
16
16
|
ParamCondition[ParamCondition["LESS_THAN_OR_EQUAL"] = 4] = "LESS_THAN_OR_EQUAL";
|
|
17
17
|
ParamCondition[ParamCondition["NOT_EQUAL"] = 5] = "NOT_EQUAL";
|
|
18
18
|
ParamCondition[ParamCondition["ONE_OF"] = 6] = "ONE_OF";
|
|
19
|
+
ParamCondition[ParamCondition["SLICE_EQUAL"] = 7] = "SLICE_EQUAL";
|
|
19
20
|
})(ParamCondition || (exports.ParamCondition = ParamCondition = {}));
|
|
20
21
|
//# 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,IAAY,QAIX;AAJD,WAAY,QAAQ;IAChB,yBAAa,CAAA;IACb,+BAAmB,CAAA;IACnB,kCAAsB,CAAA;AAC1B,CAAC,EAJW,QAAQ,wBAAR,QAAQ,QAInB;AAED,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,8BAAd,cAAc,QASzB"}
|
|
@@ -7,28 +7,43 @@ const utils_js_1 = require("./utils.js");
|
|
|
7
7
|
const serializeMultiChainPermissionAccounts = async (params) => {
|
|
8
8
|
if (params.length === 0)
|
|
9
9
|
return [];
|
|
10
|
+
let isPreInstalled = false;
|
|
10
11
|
const permissionParamsPerAccounts = params.map((param) => {
|
|
11
|
-
if (
|
|
12
|
+
if ((0, utils_js_1.isPermissionValidatorPlugin)(param.account.kernelPluginManager) &&
|
|
13
|
+
!param.isExternalPermissionPlugin) {
|
|
14
|
+
return param.account.kernelPluginManager.getPluginSerializationParams();
|
|
15
|
+
}
|
|
16
|
+
else if (param.permissionPlugin) {
|
|
17
|
+
isPreInstalled = !param.isExternalPermissionPlugin;
|
|
18
|
+
return param.permissionPlugin.getPluginSerializationParams();
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
12
21
|
throw new Error("Account plugin is not a permission validator");
|
|
13
22
|
}
|
|
14
|
-
return param.account.kernelPluginManager.getPluginSerializationParams();
|
|
15
23
|
});
|
|
16
24
|
const actions = params.map((param) => param.account.kernelPluginManager.getAction());
|
|
17
25
|
const validityDataPerAccounts = params.map((param) => param.account.kernelPluginManager.getValidityData());
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
26
|
+
let leaves = [];
|
|
27
|
+
let merkleTree = new merkletreejs_1.MerkleTree(leaves);
|
|
28
|
+
if (!isPreInstalled) {
|
|
29
|
+
const pluginEnableTypedDatas = await Promise.all(params.map(async (param) => {
|
|
30
|
+
return param.account.kernelPluginManager.getPluginsEnableTypedData(param.account.address, param.isExternalPermissionPlugin
|
|
31
|
+
? param.permissionPlugin
|
|
32
|
+
: undefined);
|
|
33
|
+
}));
|
|
34
|
+
leaves = pluginEnableTypedDatas.map((typedData) => {
|
|
35
|
+
return (0, viem_1.hashTypedData)(typedData);
|
|
36
|
+
});
|
|
37
|
+
merkleTree = new merkletreejs_1.MerkleTree(leaves, viem_1.keccak256, {
|
|
38
|
+
sortPairs: true
|
|
39
|
+
});
|
|
40
|
+
}
|
|
27
41
|
const merkleRoot = merkleTree.getHexRoot();
|
|
28
42
|
const toEthSignedMessageHash = (0, viem_1.hashMessage)({ raw: merkleRoot });
|
|
29
43
|
let signature = "0x";
|
|
30
44
|
if (params[0].account.kernelPluginManager.sudoValidator?.source ===
|
|
31
|
-
"MultiChainECDSAValidator"
|
|
45
|
+
"MultiChainECDSAValidator" &&
|
|
46
|
+
!isPreInstalled) {
|
|
32
47
|
signature =
|
|
33
48
|
await params[0].account.kernelPluginManager.sudoValidator?.signMessage({
|
|
34
49
|
message: {
|
|
@@ -37,7 +52,8 @@ const serializeMultiChainPermissionAccounts = async (params) => {
|
|
|
37
52
|
});
|
|
38
53
|
}
|
|
39
54
|
if (params[0].account.kernelPluginManager.sudoValidator?.source ===
|
|
40
|
-
"MultiChainWebAuthnValidator"
|
|
55
|
+
"MultiChainWebAuthnValidator" &&
|
|
56
|
+
!isPreInstalled) {
|
|
41
57
|
const encodedSignature = await params[0].account.kernelPluginManager.sudoValidator?.signMessage({
|
|
42
58
|
message: {
|
|
43
59
|
raw: toEthSignedMessageHash
|
|
@@ -46,6 +62,8 @@ const serializeMultiChainPermissionAccounts = async (params) => {
|
|
|
46
62
|
signature = decodeSignature(encodedSignature);
|
|
47
63
|
}
|
|
48
64
|
const enableSignatures = await Promise.all(params.map(async (param, index) => {
|
|
65
|
+
if (isPreInstalled)
|
|
66
|
+
return undefined;
|
|
49
67
|
if (!param.account.kernelPluginManager.sudoValidator) {
|
|
50
68
|
throw new Error("No sudo validator found, check if sudo validator is multi-chain validator");
|
|
51
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializeMultiChainPermissionAccounts.js","sourceRoot":"","sources":["../serializeMultiChainPermissionAccounts.ts"],"names":[],"mappings":";;;AACA,+CAAyC;AACzC,+BAQa;AAGb,yCAGmB;
|
|
1
|
+
{"version":3,"file":"serializeMultiChainPermissionAccounts.js","sourceRoot":"","sources":["../serializeMultiChainPermissionAccounts.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,18 +2,19 @@
|
|
|
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, eip7702Auth, permissionPlugin) => {
|
|
5
|
+
const serializePermissionAccount = async (account, privateKey, enableSignature, eip7702Auth, permissionPlugin, isExternalPermissionPlugin) => {
|
|
6
6
|
let permissionParams;
|
|
7
7
|
let isPreInstalled = false;
|
|
8
8
|
const action = account.kernelPluginManager.getAction();
|
|
9
9
|
const validityData = account.kernelPluginManager.getValidityData();
|
|
10
|
-
if ((0, utils_js_1.isPermissionValidatorPlugin)(account.kernelPluginManager)
|
|
10
|
+
if ((0, utils_js_1.isPermissionValidatorPlugin)(account.kernelPluginManager) &&
|
|
11
|
+
!isExternalPermissionPlugin) {
|
|
11
12
|
permissionParams =
|
|
12
13
|
account.kernelPluginManager.getPluginSerializationParams();
|
|
13
14
|
}
|
|
14
15
|
else if (permissionPlugin) {
|
|
15
16
|
permissionParams = permissionPlugin.getPluginSerializationParams();
|
|
16
|
-
isPreInstalled =
|
|
17
|
+
isPreInstalled = !isExternalPermissionPlugin;
|
|
17
18
|
}
|
|
18
19
|
else {
|
|
19
20
|
throw new Error("No permission validator found in account or provided");
|
|
@@ -21,7 +22,7 @@ const serializePermissionAccount = async (account, privateKey, enableSignature,
|
|
|
21
22
|
const _enableSignature = isPreInstalled
|
|
22
23
|
? undefined
|
|
23
24
|
: (enableSignature ??
|
|
24
|
-
(await account.kernelPluginManager.getPluginEnableSignature(account.address)));
|
|
25
|
+
(await account.kernelPluginManager.getPluginEnableSignature(account.address, isExternalPermissionPlugin ? permissionPlugin : undefined)));
|
|
25
26
|
const _eip7702Auth = account.authorization
|
|
26
27
|
? (eip7702Auth ?? (await account?.eip7702Authorization?.()))
|
|
27
28
|
: undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializePermissionAccount.js","sourceRoot":"","sources":["../serializePermissionAccount.ts"],"names":[],"mappings":";;;AAKA,yCAGmB;AAEZ,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,yCAGmB;AAEZ,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;IAGlE,IACI,IAAA,sCAA2B,EAAC,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;QAE1B,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,CAC5D,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,IAAA,2CAAgC,EAAC,oBAAoB,CAAC,CAAA;AACjE,CAAC,CAAA;AAvDY,QAAA,0BAA0B,8BAuDtC"}
|
package/_cjs/toInitConfig.js
CHANGED
|
@@ -4,7 +4,7 @@ exports.toInitConfig = void 0;
|
|
|
4
4
|
const sdk_1 = require("@zerodev/sdk");
|
|
5
5
|
const constants_1 = require("@zerodev/sdk/constants");
|
|
6
6
|
const viem_1 = require("viem");
|
|
7
|
-
async function toInitConfig(permissionPlugin) {
|
|
7
|
+
async function toInitConfig(permissionPlugin, hook = viem_1.zeroAddress, hookData = "0x") {
|
|
8
8
|
const permissionInstallFunctionData = (0, viem_1.encodeFunctionData)({
|
|
9
9
|
abi: sdk_1.KernelV3_3AccountAbi,
|
|
10
10
|
functionName: "installValidations",
|
|
@@ -15,9 +15,9 @@ async function toInitConfig(permissionPlugin) {
|
|
|
15
15
|
permissionPlugin.getIdentifier()
|
|
16
16
|
]), { size: 21, dir: "right" })
|
|
17
17
|
],
|
|
18
|
-
[{ nonce: 1, hook
|
|
18
|
+
[{ nonce: 1, hook }],
|
|
19
19
|
[await permissionPlugin.getEnableData()],
|
|
20
|
-
[
|
|
20
|
+
[hookData]
|
|
21
21
|
]
|
|
22
22
|
});
|
|
23
23
|
const grantAccessFunctionData = (0, viem_1.encodeFunctionData)({
|
package/_cjs/toInitConfig.js.map
CHANGED
|
@@ -1 +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;
|
|
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,EAClC,OAAY,kBAAW,EACvB,WAAgB,IAAI;IAEpB,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,CAAC;YACpB,CAAC,MAAM,gBAAgB,CAAC,aAAa,EAAE,CAAC;YACxC,CAAC,QAAQ,CAAC;SACb;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;AAnDD,oCAmDC"}
|
package/_esm/constants.js
CHANGED
|
@@ -33,6 +33,11 @@ export const CALL_POLICY_CONTRACT_V0_0_3 = "0xB3CB5f502250360335614df1421f2AAbE9
|
|
|
33
33
|
* - Fixed erc4337 storage violation with custom storage slot (Works with Alchemy now)
|
|
34
34
|
*/
|
|
35
35
|
export 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 const CALL_POLICY_CONTRACT_V0_0_5 = "0x85770b902D1e503D5f5141d9eaC16d0d08eEaDd2";
|
|
36
41
|
export const GAS_POLICY_CONTRACT = "0xaeFC5AbC67FfD258abD0A3E54f65E70326F84b23";
|
|
37
42
|
export const RATE_LIMIT_POLICY_CONTRACT = "0xf63d4139B25c836334edD76641356c6b74C86873";
|
|
38
43
|
/**
|
package/_esm/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAC9B,4CAA4C,CAAA;AAChD,MAAM,CAAC,MAAM,+BAA+B,GACxC,4CAA4C,CAAA;AAChD;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GACxC,4CAA4C,CAAA;AAEhD;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GACxC,4CAA4C,CAAA;AAEhD;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GACxC,4CAA4C,CAAA;AAEhD,MAAM,CAAC,MAAM,2BAA2B,GACpC,4CAA4C,CAAA;AAChD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,2BAA2B,GACpC,4CAA4C,CAAA;AAEhD;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GACpC,4CAA4C,CAAA;AAEhD;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GACpC,4CAA4C,CAAA;AAEhD,MAAM,CAAC,MAAM,mBAAmB,GAAG,4CAA4C,CAAA;AAC/E,MAAM,CAAC,MAAM,0BAA0B,GACnC,4CAA4C,CAAA;AAEhD;;;GAGG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAC9C,4CAA4C,CAAA;AAEhD,MAAM,CAAC,MAAM,yBAAyB,GAClC,4CAA4C,CAAA;AAChD,MAAM,CAAC,MAAM,oBAAoB,GAAG,4CAA4C,CAAA;AAChF,MAAM,CAAC,MAAM,yBAAyB,GAClC,4CAA4C,CAAA;AAEhD,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,4CAA6B,CAAA;IAC7B,iDAAkC,CAAA;IAClC,8CAA+B,CAAA;AACnC,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAC9B,4CAA4C,CAAA;AAChD,MAAM,CAAC,MAAM,+BAA+B,GACxC,4CAA4C,CAAA;AAChD;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GACxC,4CAA4C,CAAA;AAEhD;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GACxC,4CAA4C,CAAA;AAEhD;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GACxC,4CAA4C,CAAA;AAEhD,MAAM,CAAC,MAAM,2BAA2B,GACpC,4CAA4C,CAAA;AAChD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,2BAA2B,GACpC,4CAA4C,CAAA;AAEhD;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GACpC,4CAA4C,CAAA;AAEhD;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GACpC,4CAA4C,CAAA;AAEhD;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GACpC,4CAA4C,CAAA;AAEhD,MAAM,CAAC,MAAM,mBAAmB,GAAG,4CAA4C,CAAA;AAC/E,MAAM,CAAC,MAAM,0BAA0B,GACnC,4CAA4C,CAAA;AAEhD;;;GAGG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAC9C,4CAA4C,CAAA;AAEhD,MAAM,CAAC,MAAM,yBAAyB,GAClC,4CAA4C,CAAA;AAChD,MAAM,CAAC,MAAM,oBAAoB,GAAG,4CAA4C,CAAA;AAChF,MAAM,CAAC,MAAM,yBAAyB,GAClC,4CAA4C,CAAA;AAEhD,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,4CAA6B,CAAA;IAC7B,iDAAkC,CAAA;IAClC,8CAA+B,CAAA;AACnC,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB"}
|
|
@@ -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"}
|