@zerodev/permissions 5.5.8 → 5.5.10
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/index.js +3 -1
- package/_cjs/index.js.map +1 -1
- package/_cjs/toInitConfig.js +45 -0
- package/_cjs/toInitConfig.js.map +1 -0
- package/_esm/index.js +1 -0
- package/_esm/index.js.map +1 -1
- package/_esm/toInitConfig.js +41 -0
- package/_esm/toInitConfig.js.map +1 -0
- package/_types/index.d.ts +1 -0
- package/_types/index.d.ts.map +1 -1
- package/_types/toInitConfig.d.ts +4 -0
- package/_types/toInitConfig.d.ts.map +1 -0
- package/index.ts +1 -0
- package/package.json +1 -1
- package/toInitConfig.ts +66 -0
package/_cjs/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.decodeParamsFromInitCode = exports.deserializePermissionAccount = exports.serializeMultiChainPermissionAccounts = exports.serializePermissionAccount = exports.toPermissionValidator = void 0;
|
|
3
|
+
exports.toInitConfig = exports.decodeParamsFromInitCode = exports.deserializePermissionAccount = exports.serializeMultiChainPermissionAccounts = exports.serializePermissionAccount = exports.toPermissionValidator = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
var toPermissionValidator_js_1 = require("./toPermissionValidator.js");
|
|
6
6
|
Object.defineProperty(exports, "toPermissionValidator", { enumerable: true, get: function () { return toPermissionValidator_js_1.toPermissionValidator; } });
|
|
@@ -12,4 +12,6 @@ var deserializePermissionAccount_js_1 = require("./deserializePermissionAccount.
|
|
|
12
12
|
Object.defineProperty(exports, "deserializePermissionAccount", { enumerable: true, get: function () { return deserializePermissionAccount_js_1.deserializePermissionAccount; } });
|
|
13
13
|
Object.defineProperty(exports, "decodeParamsFromInitCode", { enumerable: true, get: function () { return deserializePermissionAccount_js_1.decodeParamsFromInitCode; } });
|
|
14
14
|
tslib_1.__exportStar(require("./constants.js"), exports);
|
|
15
|
+
var toInitConfig_js_1 = require("./toInitConfig.js");
|
|
16
|
+
Object.defineProperty(exports, "toInitConfig", { enumerable: true, get: function () { return toInitConfig_js_1.toInitConfig; } });
|
|
15
17
|
//# sourceMappingURL=index.js.map
|
package/_cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;AACA,uEAAkE;AAAzD,iIAAA,qBAAqB,OAAA;AAC9B,iFAA4E;AAAnE,2IAAA,0BAA0B,OAAA;AACnC,uGAGmD;AAD/C,iKAAA,qCAAqC,OAAA;AAEzC,qFAG0C;AAFtC,+IAAA,4BAA4B,OAAA;AAC5B,2IAAA,wBAAwB,OAAA;AAE5B,yDAA8B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;AACA,uEAAkE;AAAzD,iIAAA,qBAAqB,OAAA;AAC9B,iFAA4E;AAAnE,2IAAA,0BAA0B,OAAA;AACnC,uGAGmD;AAD/C,iKAAA,qCAAqC,OAAA;AAEzC,qFAG0C;AAFtC,+IAAA,4BAA4B,OAAA;AAC5B,2IAAA,wBAAwB,OAAA;AAE5B,yDAA8B;AAC9B,qDAAgD;AAAvC,+GAAA,YAAY,OAAA"}
|
|
@@ -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"}
|
package/_esm/index.js
CHANGED
|
@@ -3,4 +3,5 @@ export { serializePermissionAccount } from "./serializePermissionAccount.js";
|
|
|
3
3
|
export { serializeMultiChainPermissionAccounts } from "./serializeMultiChainPermissionAccounts.js";
|
|
4
4
|
export { deserializePermissionAccount, decodeParamsFromInitCode } from "./deserializePermissionAccount.js";
|
|
5
5
|
export * from "./constants.js";
|
|
6
|
+
export { toInitConfig } from "./toInitConfig.js";
|
|
6
7
|
//# sourceMappingURL=index.js.map
|
package/_esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,EAEH,qCAAqC,EACxC,MAAM,4CAA4C,CAAA;AACnD,OAAO,EACH,4BAA4B,EAC5B,wBAAwB,EAC3B,MAAM,mCAAmC,CAAA;AAC1C,cAAc,gBAAgB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,EAEH,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"}
|
|
@@ -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"}
|
package/_types/index.d.ts
CHANGED
|
@@ -4,4 +4,5 @@ export { serializePermissionAccount } from "./serializePermissionAccount.js";
|
|
|
4
4
|
export { type MultiChainPermissionAccountsParams, serializeMultiChainPermissionAccounts } from "./serializeMultiChainPermissionAccounts.js";
|
|
5
5
|
export { deserializePermissionAccount, decodeParamsFromInitCode } from "./deserializePermissionAccount.js";
|
|
6
6
|
export * from "./constants.js";
|
|
7
|
+
export { toInitConfig } from "./toInitConfig.js";
|
|
7
8
|
//# 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"}
|
|
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"}
|
|
@@ -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/index.ts
CHANGED
package/package.json
CHANGED
package/toInitConfig.ts
ADDED
|
@@ -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
|
+
}
|