@zerodev/sdk 5.2.0-alpha-4 → 5.2.1-alpha-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_cjs/accounts/kernel/createKernelAccount.js +5 -10
- package/_cjs/accounts/kernel/createKernelAccount.js.map +1 -1
- package/_cjs/accounts/kernel/utils/account/ep0_7/getKernelV3Nonce.js +22 -0
- package/_cjs/accounts/kernel/utils/account/ep0_7/getKernelV3Nonce.js.map +1 -0
- package/_cjs/accounts/kernel/utils/common/getActionSelector.js +19 -0
- package/_cjs/accounts/kernel/utils/common/getActionSelector.js.map +1 -0
- package/_cjs/accounts/kernel/utils/plugins/ep0_6/getEncodedPluginsData.js +22 -0
- package/_cjs/accounts/kernel/utils/plugins/ep0_6/getEncodedPluginsData.js.map +1 -0
- package/_cjs/accounts/kernel/utils/plugins/ep0_6/getPluginsEnableTypedData.js +39 -0
- package/_cjs/accounts/kernel/utils/plugins/ep0_6/getPluginsEnableTypedData.js.map +1 -0
- package/_cjs/accounts/kernel/utils/plugins/ep0_7/getEncodedPluginsData.js +19 -0
- package/_cjs/accounts/kernel/utils/plugins/ep0_7/getEncodedPluginsData.js.map +1 -0
- package/_cjs/accounts/kernel/utils/plugins/ep0_7/getPluginsEnableTypedData.js +44 -0
- package/_cjs/accounts/kernel/utils/plugins/ep0_7/getPluginsEnableTypedData.js.map +1 -0
- package/_cjs/accounts/kernel/utils/plugins/ep0_7/isPluginInitialized.js +20 -0
- package/_cjs/accounts/kernel/utils/plugins/ep0_7/isPluginInitialized.js.map +1 -0
- package/_cjs/accounts/kernel/v2/createKernelV2Account.js +2 -1
- package/_cjs/accounts/kernel/v2/createKernelV2Account.js.map +1 -1
- package/_cjs/accounts/utils/toKernelPluginManager.js +88 -177
- package/_cjs/accounts/utils/toKernelPluginManager.js.map +1 -1
- package/_cjs/types/kernel.js.map +1 -1
- package/_esm/accounts/kernel/createKernelAccount.js +5 -10
- package/_esm/accounts/kernel/createKernelAccount.js.map +1 -1
- package/_esm/accounts/kernel/utils/account/ep0_7/getKernelV3Nonce.js +18 -0
- package/_esm/accounts/kernel/utils/account/ep0_7/getKernelV3Nonce.js.map +1 -0
- package/_esm/accounts/kernel/utils/common/getActionSelector.js +15 -0
- package/_esm/accounts/kernel/utils/common/getActionSelector.js.map +1 -0
- package/_esm/accounts/kernel/utils/plugins/ep0_6/getEncodedPluginsData.js +18 -0
- package/_esm/accounts/kernel/utils/plugins/ep0_6/getEncodedPluginsData.js.map +1 -0
- package/_esm/accounts/kernel/utils/plugins/ep0_6/getPluginsEnableTypedData.js +35 -0
- package/_esm/accounts/kernel/utils/plugins/ep0_6/getPluginsEnableTypedData.js.map +1 -0
- package/_esm/accounts/kernel/utils/plugins/ep0_7/getEncodedPluginsData.js +15 -0
- package/_esm/accounts/kernel/utils/plugins/ep0_7/getEncodedPluginsData.js.map +1 -0
- package/_esm/accounts/kernel/utils/plugins/ep0_7/getPluginsEnableTypedData.js +40 -0
- package/_esm/accounts/kernel/utils/plugins/ep0_7/getPluginsEnableTypedData.js.map +1 -0
- package/_esm/accounts/kernel/utils/plugins/ep0_7/isPluginInitialized.js +16 -0
- package/_esm/accounts/kernel/utils/plugins/ep0_7/isPluginInitialized.js.map +1 -0
- package/_esm/accounts/kernel/v2/createKernelV2Account.js +2 -1
- package/_esm/accounts/kernel/v2/createKernelV2Account.js.map +1 -1
- package/_esm/accounts/utils/toKernelPluginManager.js +92 -181
- package/_esm/accounts/utils/toKernelPluginManager.js.map +1 -1
- package/_esm/types/kernel.js.map +1 -1
- package/_types/accounts/kernel/createKernelAccount.d.ts.map +1 -1
- package/_types/accounts/kernel/utils/account/ep0_7/getKernelV3Nonce.d.ts +3 -0
- package/_types/accounts/kernel/utils/account/ep0_7/getKernelV3Nonce.d.ts.map +1 -0
- package/_types/accounts/kernel/utils/common/getActionSelector.d.ts +4 -0
- package/_types/accounts/kernel/utils/common/getActionSelector.d.ts.map +1 -0
- package/_types/accounts/kernel/utils/plugins/ep0_6/getEncodedPluginsData.d.ts +9 -0
- package/_types/accounts/kernel/utils/plugins/ep0_6/getEncodedPluginsData.d.ts.map +1 -0
- package/_types/accounts/kernel/utils/plugins/ep0_6/getPluginsEnableTypedData.d.ts +13 -0
- package/_types/accounts/kernel/utils/plugins/ep0_6/getPluginsEnableTypedData.d.ts.map +1 -0
- package/_types/accounts/kernel/utils/plugins/ep0_7/getEncodedPluginsData.d.ts +9 -0
- package/_types/accounts/kernel/utils/plugins/ep0_7/getEncodedPluginsData.d.ts.map +1 -0
- package/_types/accounts/kernel/utils/plugins/ep0_7/getPluginsEnableTypedData.d.ts +10 -0
- package/_types/accounts/kernel/utils/plugins/ep0_7/getPluginsEnableTypedData.d.ts.map +1 -0
- package/_types/accounts/kernel/utils/plugins/ep0_7/isPluginInitialized.d.ts +3 -0
- package/_types/accounts/kernel/utils/plugins/ep0_7/isPluginInitialized.d.ts.map +1 -0
- package/_types/accounts/kernel/v2/createKernelV2Account.d.ts +1 -0
- package/_types/accounts/kernel/v2/createKernelV2Account.d.ts.map +1 -1
- package/_types/accounts/utils/toKernelPluginManager.d.ts +1 -1
- package/_types/accounts/utils/toKernelPluginManager.d.ts.map +1 -1
- package/_types/types/index.d.ts +1 -1
- package/_types/types/index.d.ts.map +1 -1
- package/_types/types/kernel.d.ts +10 -16
- package/_types/types/kernel.d.ts.map +1 -1
- package/accounts/kernel/createKernelAccount.ts +5 -10
- package/accounts/kernel/utils/account/ep0_7/getKernelV3Nonce.ts +24 -0
- package/accounts/kernel/utils/common/getActionSelector.ts +20 -0
- package/accounts/kernel/utils/plugins/ep0_6/getEncodedPluginsData.ts +39 -0
- package/accounts/kernel/utils/plugins/ep0_6/getPluginsEnableTypedData.ts +76 -0
- package/accounts/kernel/utils/plugins/ep0_7/getEncodedPluginsData.ts +44 -0
- package/accounts/kernel/utils/plugins/ep0_7/getPluginsEnableTypedData.ts +61 -0
- package/accounts/kernel/utils/plugins/ep0_7/isPluginInitialized.ts +23 -0
- package/accounts/kernel/v2/createKernelV2Account.ts +3 -1
- package/accounts/utils/toKernelPluginManager.ts +99 -213
- package/package.json +4 -4
- package/types/index.ts +1 -1
- package/types/kernel.ts +26 -38
|
@@ -6,17 +6,21 @@ const viem_1 = require("viem");
|
|
|
6
6
|
const actions_1 = require("viem/actions");
|
|
7
7
|
const constants_js_1 = require("../../constants.js");
|
|
8
8
|
const kernel_js_1 = require("../../types/kernel.js");
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
9
|
+
const getKernelV3Nonce_js_1 = require("../kernel/utils/account/ep0_7/getKernelV3Nonce.js");
|
|
10
|
+
const accountMetadata_js_1 = require("../kernel/utils/common/accountMetadata.js");
|
|
11
|
+
const getActionSelector_js_1 = require("../kernel/utils/common/getActionSelector.js");
|
|
12
|
+
const getEncodedPluginsData_js_1 = require("../kernel/utils/plugins/ep0_6/getEncodedPluginsData.js");
|
|
13
|
+
const getPluginsEnableTypedData_js_1 = require("../kernel/utils/plugins/ep0_6/getPluginsEnableTypedData.js");
|
|
14
|
+
const getEncodedPluginsData_js_2 = require("../kernel/utils/plugins/ep0_7/getEncodedPluginsData.js");
|
|
15
|
+
const getPluginsEnableTypedData_js_2 = require("../kernel/utils/plugins/ep0_7/getPluginsEnableTypedData.js");
|
|
16
|
+
const isPluginInitialized_js_1 = require("../kernel/utils/plugins/ep0_7/isPluginInitialized.js");
|
|
13
17
|
function isKernelPluginManager(plugin) {
|
|
14
18
|
return plugin.getPluginEnableSignature !== undefined;
|
|
15
19
|
}
|
|
16
20
|
exports.isKernelPluginManager = isKernelPluginManager;
|
|
17
|
-
async function toKernelPluginManager(client, { sudo, regular, pluginEnableSignature, validatorInitData,
|
|
18
|
-
|
|
19
|
-
|
|
21
|
+
async function toKernelPluginManager(client, { sudo, regular, pluginEnableSignature, validatorInitData, action = {
|
|
22
|
+
selector: (0, getActionSelector_js_1.getActionSelector)("v0.6"),
|
|
23
|
+
address: viem_1.zeroAddress
|
|
20
24
|
}, validAfter = 0, validUntil = 0, entryPoint: entryPointAddress, kernelVersion }) {
|
|
21
25
|
const entryPointVersion = (0, permissionless_1.getEntryPointVersion)(entryPointAddress);
|
|
22
26
|
const chainId = await (0, actions_1.getChainId)(client);
|
|
@@ -24,29 +28,31 @@ async function toKernelPluginManager(client, { sudo, regular, pluginEnableSignat
|
|
|
24
28
|
if (!activeValidator) {
|
|
25
29
|
throw new Error("One of `sudo` or `regular` validator must be set");
|
|
26
30
|
}
|
|
27
|
-
|
|
31
|
+
action = {
|
|
32
|
+
selector: action?.selector ?? (0, getActionSelector_js_1.getActionSelector)(entryPointVersion),
|
|
33
|
+
address: action?.address ?? viem_1.zeroAddress
|
|
34
|
+
};
|
|
35
|
+
if (!action) {
|
|
36
|
+
throw new Error("Executor data must be set");
|
|
37
|
+
}
|
|
38
|
+
const getSignatureData = async (accountAddress, selector, userOpSignature = "0x") => {
|
|
28
39
|
if (entryPointVersion === "v0.6") {
|
|
29
40
|
if (regular) {
|
|
30
|
-
if (await
|
|
41
|
+
if (await isPluginEnabled(accountAddress, selector)) {
|
|
31
42
|
return kernel_js_1.ValidatorMode.plugin;
|
|
32
43
|
}
|
|
33
44
|
const enableSignature = await getPluginEnableSignature(accountAddress);
|
|
34
|
-
const enableData = await regular.getEnableData(accountAddress);
|
|
35
|
-
const enableDataLength = enableData.length / 2 - 1;
|
|
36
45
|
if (!enableSignature) {
|
|
37
46
|
throw new Error("Enable signature not set");
|
|
38
47
|
}
|
|
39
|
-
return (0,
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
(0, viem_1.pad)((0, viem_1.toHex)(enableSignature.length / 2 - 1), { size: 32 }),
|
|
48
|
-
enableSignature
|
|
49
|
-
]);
|
|
48
|
+
return (0, getEncodedPluginsData_js_1.getEncodedPluginsData)({
|
|
49
|
+
accountAddress,
|
|
50
|
+
enableSignature,
|
|
51
|
+
action,
|
|
52
|
+
validator: regular,
|
|
53
|
+
validUntil,
|
|
54
|
+
validAfter
|
|
55
|
+
});
|
|
50
56
|
}
|
|
51
57
|
else if (sudo) {
|
|
52
58
|
return kernel_js_1.ValidatorMode.sudo;
|
|
@@ -56,46 +62,33 @@ async function toKernelPluginManager(client, { sudo, regular, pluginEnableSignat
|
|
|
56
62
|
}
|
|
57
63
|
}
|
|
58
64
|
if (regular) {
|
|
59
|
-
if (
|
|
60
|
-
|
|
61
|
-
return sig ?? "0x";
|
|
65
|
+
if (await isPluginEnabled(accountAddress, action.selector)) {
|
|
66
|
+
return userOpSignature;
|
|
62
67
|
}
|
|
63
|
-
const enableData = await regular.getEnableData(accountAddress);
|
|
64
68
|
const enableSignature = await getPluginEnableSignature(accountAddress);
|
|
65
|
-
return (0,
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
executorData.executor,
|
|
73
|
-
viem_1.zeroAddress,
|
|
74
|
-
"0x"
|
|
75
|
-
]),
|
|
76
|
-
enableSignature,
|
|
77
|
-
sig ?? "0x"
|
|
78
|
-
])
|
|
79
|
-
]);
|
|
69
|
+
return (0, getEncodedPluginsData_js_2.getEncodedPluginsData)({
|
|
70
|
+
accountAddress,
|
|
71
|
+
action,
|
|
72
|
+
enableSignature,
|
|
73
|
+
userOpSignature,
|
|
74
|
+
validator: regular
|
|
75
|
+
});
|
|
80
76
|
}
|
|
81
77
|
else if (sudo) {
|
|
82
|
-
return
|
|
78
|
+
return userOpSignature;
|
|
83
79
|
}
|
|
84
80
|
else {
|
|
85
81
|
throw new Error("One of `sudo` or `regular` validator must be set");
|
|
86
82
|
}
|
|
87
83
|
};
|
|
88
|
-
const
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
functionName: "isInitialized",
|
|
94
|
-
args: [accountAddress]
|
|
95
|
-
});
|
|
84
|
+
const isPluginEnabled = async (accountAddress, selector) => {
|
|
85
|
+
if (!regular)
|
|
86
|
+
throw new Error("regular validator not set");
|
|
87
|
+
if (entryPointVersion === "v0.6") {
|
|
88
|
+
return regular.isEnabled(accountAddress, selector);
|
|
96
89
|
}
|
|
97
|
-
|
|
98
|
-
|
|
90
|
+
return ((await regular.isEnabled(accountAddress, action.selector)) ||
|
|
91
|
+
(await (0, isPluginInitialized_js_1.isPluginInitialized)(client, accountAddress, regular.address)));
|
|
99
92
|
};
|
|
100
93
|
const getPluginEnableSignature = async (accountAddress) => {
|
|
101
94
|
if (pluginEnableSignature)
|
|
@@ -104,131 +97,55 @@ async function toKernelPluginManager(client, { sudo, regular, pluginEnableSignat
|
|
|
104
97
|
throw new Error("sudo validator not set -- need it to enable the validator");
|
|
105
98
|
if (!regular)
|
|
106
99
|
throw new Error("regular validator not set");
|
|
107
|
-
const
|
|
108
|
-
const _kernelVersion = kernelVersion ?? (0, utils_js_1.getKernelVersion)(entryPointAddress, kernelImplAddr);
|
|
100
|
+
const { version } = await (0, accountMetadata_js_1.accountMetadata)(client, accountAddress, entryPointAddress);
|
|
109
101
|
let ownerSig;
|
|
110
102
|
if (entryPointVersion === "v0.6") {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
ValidatorApproved: [
|
|
120
|
-
{ name: "sig", type: "bytes4" },
|
|
121
|
-
{ name: "validatorData", type: "uint256" },
|
|
122
|
-
{ name: "executor", type: "address" },
|
|
123
|
-
{ name: "enableData", type: "bytes" }
|
|
124
|
-
]
|
|
125
|
-
},
|
|
126
|
-
message: {
|
|
127
|
-
sig: executorData.selector,
|
|
128
|
-
validatorData: (0, viem_1.hexToBigInt)((0, viem_1.concatHex)([
|
|
129
|
-
(0, viem_1.pad)((0, viem_1.toHex)(validUntil ?? 0), {
|
|
130
|
-
size: 6
|
|
131
|
-
}),
|
|
132
|
-
(0, viem_1.pad)((0, viem_1.toHex)(validAfter ?? 0), {
|
|
133
|
-
size: 6
|
|
134
|
-
}),
|
|
135
|
-
regular.address
|
|
136
|
-
]), { size: 32 }),
|
|
137
|
-
executor: executorData.executor,
|
|
138
|
-
enableData: await regular.getEnableData(accountAddress)
|
|
139
|
-
},
|
|
140
|
-
primaryType: "ValidatorApproved"
|
|
103
|
+
const typeData = await (0, getPluginsEnableTypedData_js_1.getPluginsEnableTypedData)({
|
|
104
|
+
accountAddress,
|
|
105
|
+
chainId,
|
|
106
|
+
kernelVersion: version ?? kernelVersion,
|
|
107
|
+
action,
|
|
108
|
+
validator: regular,
|
|
109
|
+
validUntil,
|
|
110
|
+
validAfter
|
|
141
111
|
});
|
|
112
|
+
ownerSig = await sudo.signTypedData(typeData);
|
|
142
113
|
pluginEnableSignature = ownerSig;
|
|
143
114
|
return ownerSig;
|
|
144
115
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
Enable: [
|
|
154
|
-
{ name: "validationId", type: "bytes21" },
|
|
155
|
-
{ name: "nonce", type: "uint32" },
|
|
156
|
-
{ name: "hook", type: "address" },
|
|
157
|
-
{ name: "validatorData", type: "bytes" },
|
|
158
|
-
{ name: "hookData", type: "bytes" },
|
|
159
|
-
{ name: "selectorData", type: "bytes" }
|
|
160
|
-
]
|
|
161
|
-
},
|
|
162
|
-
message: {
|
|
163
|
-
validationId: (0, viem_1.concat)([
|
|
164
|
-
activeValidator.isPermissionValidator
|
|
165
|
-
? constants_js_1.VALIDATOR_TYPE.PERMISSION
|
|
166
|
-
: constants_js_1.VALIDATOR_TYPE.SECONDARY,
|
|
167
|
-
activeValidator?.isPermissionValidator
|
|
168
|
-
?
|
|
169
|
-
(0, viem_1.pad)(regular.getPermissionId(), {
|
|
170
|
-
size: 20,
|
|
171
|
-
dir: "right"
|
|
172
|
-
})
|
|
173
|
-
: activeValidator.address
|
|
174
|
-
]),
|
|
175
|
-
nonce: await getKernelV3Nonce(accountAddress),
|
|
176
|
-
hook: viem_1.zeroAddress,
|
|
177
|
-
validatorData: await regular.getEnableData(accountAddress),
|
|
178
|
-
hookData: "0x",
|
|
179
|
-
selectorData: (0, viem_1.concat)([
|
|
180
|
-
executorData.selector,
|
|
181
|
-
executorData.executor,
|
|
182
|
-
viem_1.zeroAddress,
|
|
183
|
-
"0x"
|
|
184
|
-
])
|
|
185
|
-
},
|
|
186
|
-
primaryType: "Enable"
|
|
116
|
+
const validatorNonce = await (0, getKernelV3Nonce_js_1.getKernelV3Nonce)(client, accountAddress);
|
|
117
|
+
const typedData = await (0, getPluginsEnableTypedData_js_2.getPluginsEnableTypedData)({
|
|
118
|
+
accountAddress,
|
|
119
|
+
chainId,
|
|
120
|
+
kernelVersion: version,
|
|
121
|
+
action,
|
|
122
|
+
validator: regular,
|
|
123
|
+
validatorNonce
|
|
187
124
|
});
|
|
125
|
+
ownerSig = await sudo.signTypedData(typedData);
|
|
188
126
|
return ownerSig;
|
|
189
127
|
};
|
|
190
|
-
const
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
args: []
|
|
197
|
-
});
|
|
198
|
-
return nonce;
|
|
199
|
-
}
|
|
200
|
-
catch (error) {
|
|
201
|
-
return 2;
|
|
202
|
-
}
|
|
128
|
+
const getIdentifier = (isSudo = false) => {
|
|
129
|
+
const validator = (isSudo ? sudo : regular) ?? activeValidator;
|
|
130
|
+
return (0, viem_1.concat)([
|
|
131
|
+
constants_js_1.VALIDATOR_TYPE[validator.validatorType],
|
|
132
|
+
validator.getIdentifier()
|
|
133
|
+
]);
|
|
203
134
|
};
|
|
204
135
|
return {
|
|
205
136
|
...activeValidator,
|
|
206
|
-
|
|
207
|
-
const validator = (isSudo ? sudo : regular) ?? activeValidator;
|
|
208
|
-
return (0, viem_1.concat)([
|
|
209
|
-
validator.isPermissionValidator
|
|
210
|
-
? constants_js_1.VALIDATOR_TYPE.PERMISSION
|
|
211
|
-
: constants_js_1.VALIDATOR_TYPE.SECONDARY,
|
|
212
|
-
validator?.isPermissionValidator
|
|
213
|
-
?
|
|
214
|
-
(0, viem_1.pad)(validator.getPermissionId(), {
|
|
215
|
-
size: 20,
|
|
216
|
-
dir: "right"
|
|
217
|
-
})
|
|
218
|
-
: validator.address
|
|
219
|
-
]);
|
|
220
|
-
},
|
|
137
|
+
getIdentifier,
|
|
221
138
|
signUserOperation: async (userOperation) => {
|
|
222
139
|
const userOpSig = await activeValidator.signUserOperation(userOperation);
|
|
223
140
|
if (entryPointVersion === "v0.6") {
|
|
224
141
|
return (0, viem_1.concatHex)([
|
|
225
|
-
await
|
|
142
|
+
await getSignatureData(userOperation.sender, userOperation.callData.toString().slice(0, 10)),
|
|
226
143
|
userOpSig
|
|
227
144
|
]);
|
|
228
145
|
}
|
|
229
|
-
return await
|
|
146
|
+
return await getSignatureData(userOperation.sender, userOperation.callData.toString().slice(0, 10), userOpSig);
|
|
230
147
|
},
|
|
231
|
-
|
|
148
|
+
getAction: () => action,
|
|
232
149
|
getValidityData: () => ({
|
|
233
150
|
validAfter,
|
|
234
151
|
validUntil
|
|
@@ -237,33 +154,26 @@ async function toKernelPluginManager(client, { sudo, regular, pluginEnableSignat
|
|
|
237
154
|
const userOpSig = await activeValidator.getDummySignature(userOperation);
|
|
238
155
|
if (entryPointVersion === "v0.6") {
|
|
239
156
|
return (0, viem_1.concatHex)([
|
|
240
|
-
await
|
|
157
|
+
await getSignatureData(userOperation.sender, userOperation.callData.toString().slice(0, 10)),
|
|
241
158
|
userOpSig
|
|
242
159
|
]);
|
|
243
160
|
}
|
|
244
|
-
return await
|
|
161
|
+
return await getSignatureData(userOperation.sender, userOperation.callData.toString().slice(0, 10), userOpSig);
|
|
245
162
|
},
|
|
246
163
|
getNonceKey: async (accountAddress = viem_1.zeroAddress) => {
|
|
247
164
|
if (entryPointVersion === "v0.6")
|
|
248
165
|
return await activeValidator.getNonceKey();
|
|
166
|
+
const validatorMode = !regular ||
|
|
167
|
+
(await isPluginEnabled(accountAddress, action.selector))
|
|
168
|
+
? constants_js_1.VALIDATOR_MODE.DEFAULT
|
|
169
|
+
: constants_js_1.VALIDATOR_MODE.ENABLE;
|
|
170
|
+
const validatorType = regular
|
|
171
|
+
? constants_js_1.VALIDATOR_TYPE[regular.validatorType]
|
|
172
|
+
: constants_js_1.VALIDATOR_TYPE.SUDO;
|
|
249
173
|
return BigInt((0, viem_1.pad)((0, viem_1.concatHex)([
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
? constants_js_1.VALIDATOR_MODE.DEFAULT
|
|
254
|
-
: constants_js_1.VALIDATOR_MODE.ENABLE,
|
|
255
|
-
regular
|
|
256
|
-
? regular.isPermissionValidator
|
|
257
|
-
? constants_js_1.VALIDATOR_TYPE.PERMISSION
|
|
258
|
-
: constants_js_1.VALIDATOR_TYPE.SECONDARY
|
|
259
|
-
: constants_js_1.VALIDATOR_TYPE.SUDO,
|
|
260
|
-
regular?.isPermissionValidator
|
|
261
|
-
?
|
|
262
|
-
(0, viem_1.pad)(regular.getPermissionId(), {
|
|
263
|
-
size: 20,
|
|
264
|
-
dir: "right"
|
|
265
|
-
})
|
|
266
|
-
: activeValidator.address,
|
|
174
|
+
validatorMode,
|
|
175
|
+
validatorType,
|
|
176
|
+
activeValidator.getIdentifier(),
|
|
267
177
|
(0, viem_1.pad)((0, viem_1.toHex)(await activeValidator.getNonceKey()), {
|
|
268
178
|
size: 2
|
|
269
179
|
})
|
|
@@ -276,7 +186,8 @@ async function toKernelPluginManager(client, { sudo, regular, pluginEnableSignat
|
|
|
276
186
|
return {
|
|
277
187
|
validatorAddress: sudo?.address ?? activeValidator.address,
|
|
278
188
|
enableData: (await sudo?.getEnableData()) ??
|
|
279
|
-
(await activeValidator.getEnableData())
|
|
189
|
+
(await activeValidator.getEnableData()),
|
|
190
|
+
identifier: getIdentifier(true)
|
|
280
191
|
};
|
|
281
192
|
}
|
|
282
193
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toKernelPluginManager.js","sourceRoot":"","sources":["../../../accounts/utils/toKernelPluginManager.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"toKernelPluginManager.js","sourceRoot":"","sources":["../../../accounts/utils/toKernelPluginManager.ts"],"names":[],"mappings":";;;AAAA,mDAAqD;AAErD,+BAWa;AACb,0CAAyC;AACzC,qDAAmE;AACnE,qDAI8B;AAC9B,2FAAoF;AACpF,kFAA2E;AAC3E,sFAA+E;AAC/E,qGAAyH;AACzH,6GAAqI;AACrI,qGAAyH;AACzH,6GAAqI;AACrI,iGAA0F;AAE1F,SAAgB,qBAAqB,CAEjC,MAAW;IAEX,OAAO,MAAM,CAAC,wBAAwB,KAAK,SAAS,CAAA;AACxD,CAAC;AALD,sDAKC;AAEM,KAAK,UAAU,qBAAqB,CAKvC,MAA6C,EAC7C,EACI,IAAI,EACJ,OAAO,EACP,qBAAqB,EACrB,iBAAiB,EACjB,MAAM,GAAG;IACL,QAAQ,EAAE,IAAA,wCAAiB,EAAC,MAAM,CAAC;IACnC,OAAO,EAAE,kBAAW;CACvB,EACD,UAAU,GAAG,CAAC,EACd,UAAU,GAAG,CAAC,EACd,UAAU,EAAE,iBAAiB,EAC7B,aAAa,EACuB;IAExC,MAAM,iBAAiB,GAAG,IAAA,qCAAoB,EAAC,iBAAiB,CAAC,CAAA;IACjE,MAAM,OAAO,GAAG,MAAM,IAAA,oBAAU,EAAC,MAAM,CAAC,CAAA;IACxC,MAAM,eAAe,GAAG,OAAO,IAAI,IAAI,CAAA;IACvC,IAAI,CAAC,eAAe,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;IACvE,CAAC;IACD,MAAM,GAAG;QACL,QAAQ,EAAE,MAAM,EAAE,QAAQ,IAAI,IAAA,wCAAiB,EAAC,iBAAiB,CAAC;QAClE,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,kBAAW;KAC1C,CAAA;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,gBAAgB,GAAG,KAAK,EAC1B,cAAuB,EACvB,QAAa,EACb,kBAAuB,IAAI,EACf,EAAE;QACd,IAAI,iBAAiB,KAAK,MAAM,EAAE,CAAC;YAC/B,IAAI,OAAO,EAAE,CAAC;gBACV,IAAI,MAAM,eAAe,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,CAAC;oBAClD,OAAO,yBAAa,CAAC,MAAM,CAAA;gBAC/B,CAAC;gBAED,MAAM,eAAe,GACjB,MAAM,wBAAwB,CAAC,cAAc,CAAC,CAAA;gBAClD,IAAI,CAAC,eAAe,EAAE,CAAC;oBACnB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;gBAC/C,CAAC;gBACD,OAAO,IAAA,gDAAuB,EAAC;oBAC3B,cAAc;oBACd,eAAe;oBACf,MAAM;oBACN,SAAS,EAAE,OAAO;oBAClB,UAAU;oBACV,UAAU;iBACb,CAAC,CAAA;YACN,CAAC;iBAAM,IAAI,IAAI,EAAE,CAAC;gBACd,OAAO,yBAAa,CAAC,IAAI,CAAA;YAC7B,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,KAAK,CACX,kDAAkD,CACrD,CAAA;YACL,CAAC;QACL,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,MAAM,eAAe,CAAC,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzD,OAAO,eAAe,CAAA;YAC1B,CAAC;YACD,MAAM,eAAe,GACjB,MAAM,wBAAwB,CAAC,cAAc,CAAC,CAAA;YAClD,OAAO,IAAA,gDAAuB,EAAC;gBAC3B,cAAc;gBACd,MAAM;gBACN,eAAe;gBACf,eAAe;gBACf,SAAS,EAAE,OAAO;aACrB,CAAC,CAAA;QACN,CAAC;aAAM,IAAI,IAAI,EAAE,CAAC;YACd,OAAO,eAAe,CAAA;QAC1B,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;QACvE,CAAC;IACL,CAAC,CAAA;IAED,MAAM,eAAe,GAAG,KAAK,EAAE,cAAuB,EAAE,QAAa,EAAE,EAAE;QACrE,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAC1D,IAAI,iBAAiB,KAAK,MAAM,EAAE,CAAC;YAC/B,OAAO,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAA;QACtD,CAAC;QACD,OAAO,CACH,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1D,CAAC,MAAM,IAAA,4CAAmB,EAAC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CACvE,CAAA;IACL,CAAC,CAAA;IAED,MAAM,wBAAwB,GAAG,KAAK,EAAE,cAAuB,EAAE,EAAE;QAC/D,IAAI,qBAAqB;YAAE,OAAO,qBAAqB,CAAA;QACvD,IAAI,CAAC,IAAI;YACL,MAAM,IAAI,KAAK,CACX,2DAA2D,CAC9D,CAAA;QACL,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAE1D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,oCAAe,EACrC,MAAM,EACN,cAAc,EACd,iBAAiB,CACpB,CAAA;QACD,IAAI,QAAa,CAAA;QACjB,IAAI,iBAAiB,KAAK,MAAM,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,MAAM,IAAA,wDAA2B,EAAC;gBAC/C,cAAc;gBACd,OAAO;gBACP,aAAa,EAAE,OAAO,IAAI,aAAa;gBACvC,MAAM;gBACN,SAAS,EAAE,OAAO;gBAClB,UAAU;gBACV,UAAU;aACb,CAAC,CAAA;YACF,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;YAC7C,qBAAqB,GAAG,QAAQ,CAAA;YAChC,OAAO,QAAQ,CAAA;QACnB,CAAC;QACD,MAAM,cAAc,GAAG,MAAM,IAAA,sCAAgB,EAAC,MAAM,EAAE,cAAc,CAAC,CAAA;QACrE,MAAM,SAAS,GAAG,MAAM,IAAA,wDAA2B,EAAC;YAChD,cAAc;YACd,OAAO;YACP,aAAa,EAAE,OAAO;YACtB,MAAM;YACN,SAAS,EAAE,OAAO;YAClB,cAAc;SACjB,CAAC,CAAA;QACF,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;QAE9C,OAAO,QAAQ,CAAA;IACnB,CAAC,CAAA;IACD,MAAM,aAAa,GAAG,CAAC,MAAM,GAAG,KAAK,EAAE,EAAE;QACrC,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,eAAe,CAAA;QAC9D,OAAO,IAAA,aAAM,EAAC;YACV,6BAAc,CAAC,SAAS,CAAC,aAAa,CAAC;YACvC,SAAS,CAAC,aAAa,EAAE;SAC5B,CAAC,CAAA;IACN,CAAC,CAAA;IAED,OAAO;QACH,GAAG,eAAe;QAClB,aAAa;QACb,iBAAiB,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;YACvC,MAAM,SAAS,GACX,MAAM,eAAe,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAA;YAC1D,IAAI,iBAAiB,KAAK,MAAM,EAAE,CAAC;gBAC/B,OAAO,IAAA,gBAAS,EAAC;oBACb,MAAM,gBAAgB,CAClB,aAAa,CAAC,MAAM,EACpB,aAAa,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ,CACxD;oBACD,SAAS;iBACZ,CAAC,CAAA;YACN,CAAC;YACD,OAAO,MAAM,gBAAgB,CACzB,aAAa,CAAC,MAAM,EACpB,aAAa,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ,EACrD,SAAS,CACZ,CAAA;QACL,CAAC;QACD,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM;QACvB,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;YACpB,UAAU;YACV,UAAU;SACb,CAAC;QACF,iBAAiB,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;YACvC,MAAM,SAAS,GACX,MAAM,eAAe,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAA;YAC1D,IAAI,iBAAiB,KAAK,MAAM,EAAE,CAAC;gBAC/B,OAAO,IAAA,gBAAS,EAAC;oBACb,MAAM,gBAAgB,CAClB,aAAa,CAAC,MAAM,EACpB,aAAa,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ,CACxD;oBACD,SAAS;iBACZ,CAAC,CAAA;YACN,CAAC;YACD,OAAO,MAAM,gBAAgB,CACzB,aAAa,CAAC,MAAM,EACpB,aAAa,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ,EACrD,SAAS,CACZ,CAAA;QACL,CAAC;QACD,WAAW,EAAE,KAAK,EAAE,cAAc,GAAG,kBAAW,EAAE,EAAE;YAChD,IAAI,iBAAiB,KAAK,MAAM;gBAC5B,OAAO,MAAM,eAAe,CAAC,WAAW,EAAE,CAAA;YAE9C,MAAM,aAAa,GACf,CAAC,OAAO;gBACR,CAAC,MAAM,eAAe,CAAC,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACpD,CAAC,CAAC,6BAAc,CAAC,OAAO;gBACxB,CAAC,CAAC,6BAAc,CAAC,MAAM,CAAA;YAC/B,MAAM,aAAa,GAAG,OAAO;gBACzB,CAAC,CAAC,6BAAc,CAAC,OAAO,CAAC,aAAa,CAAC;gBACvC,CAAC,CAAC,6BAAc,CAAC,IAAI,CAAA;YACzB,OAAO,MAAM,CACT,IAAA,UAAG,EACC,IAAA,gBAAS,EAAC;gBACN,aAAa;gBACb,aAAa;gBACb,eAAe,CAAC,aAAa,EAAE;gBAC/B,IAAA,UAAG,EAAC,IAAA,YAAK,EAAC,MAAM,eAAe,CAAC,WAAW,EAAE,CAAC,EAAE;oBAC5C,IAAI,EAAE,CAAC;iBACV,CAAC;aACL,CAAC,EACF,EAAE,IAAI,EAAE,EAAE,EAAE,CACf,CACJ,CAAA;QACL,CAAC;QACD,wBAAwB;QACxB,oBAAoB,EAAE,KAAK,IAAI,EAAE;YAC7B,IAAI,iBAAiB;gBAAE,OAAO,iBAAiB,CAAA;YAC/C,OAAO;gBACH,gBAAgB,EAAE,IAAI,EAAE,OAAO,IAAI,eAAe,CAAC,OAAO;gBAE1D,UAAU,EACN,CAAC,MAAM,IAAI,EAAE,aAAa,EAAE,CAAC;oBAC7B,CAAC,MAAM,eAAe,CAAC,aAAa,EAAE,CAAC;gBAE3C,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC;aAClC,CAAA;QACL,CAAC;KACJ,CAAA;AACL,CAAC;AAvOD,sDAuOC"}
|
package/_cjs/types/kernel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../types/kernel.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../types/kernel.ts"],"names":[],"mappings":";;;AAqJA,IAAY,aAIX;AAJD,WAAY,aAAa;IACrB,oCAAmB,CAAA;IACnB,sCAAqB,CAAA;IACrB,sCAAqB,CAAA;AACzB,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB"}
|
|
@@ -57,7 +57,7 @@ export const KERNEL_ADDRESSES = {
|
|
|
57
57
|
};
|
|
58
58
|
const getKernelInitData = async ({ entryPoint: entryPointAddress, kernelPluginManager }) => {
|
|
59
59
|
const entryPointVersion = getEntryPointVersion(entryPointAddress);
|
|
60
|
-
const { enableData, validatorAddress } = await kernelPluginManager.getValidatorInitData();
|
|
60
|
+
const { enableData, identifier, validatorAddress } = await kernelPluginManager.getValidatorInitData();
|
|
61
61
|
if (entryPointVersion === "v0.6") {
|
|
62
62
|
return encodeFunctionData({
|
|
63
63
|
abi: KernelInitAbi,
|
|
@@ -68,12 +68,7 @@ const getKernelInitData = async ({ entryPoint: entryPointAddress, kernelPluginMa
|
|
|
68
68
|
return encodeFunctionData({
|
|
69
69
|
abi: KernelV3InitAbi,
|
|
70
70
|
functionName: "initialize",
|
|
71
|
-
args: [
|
|
72
|
-
kernelPluginManager.getValidationId(true),
|
|
73
|
-
zeroAddress,
|
|
74
|
-
enableData,
|
|
75
|
-
"0x"
|
|
76
|
-
]
|
|
71
|
+
args: [identifier, zeroAddress, enableData, "0x"]
|
|
77
72
|
});
|
|
78
73
|
};
|
|
79
74
|
/**
|
|
@@ -144,7 +139,7 @@ export async function createKernelAccount(client, { plugins, entryPoint: entryPo
|
|
|
144
139
|
: await toKernelPluginManager(client, {
|
|
145
140
|
sudo: plugins.sudo,
|
|
146
141
|
regular: plugins.regular,
|
|
147
|
-
|
|
142
|
+
action: plugins.action,
|
|
148
143
|
pluginEnableSignature: plugins.pluginEnableSignature,
|
|
149
144
|
entryPoint: entryPointAddress
|
|
150
145
|
});
|
|
@@ -228,7 +223,7 @@ export async function createKernelAccount(client, { plugins, entryPoint: entryPo
|
|
|
228
223
|
return signature;
|
|
229
224
|
}
|
|
230
225
|
return concatHex([
|
|
231
|
-
kernelPluginManager.
|
|
226
|
+
kernelPluginManager.getIdentifier(),
|
|
232
227
|
signature
|
|
233
228
|
]);
|
|
234
229
|
},
|
|
@@ -265,7 +260,7 @@ export async function createKernelAccount(client, { plugins, entryPoint: entryPo
|
|
|
265
260
|
return signature;
|
|
266
261
|
}
|
|
267
262
|
return concatHex([
|
|
268
|
-
kernelPluginManager.
|
|
263
|
+
kernelPluginManager.getIdentifier(),
|
|
269
264
|
signature
|
|
270
265
|
]);
|
|
271
266
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createKernelAccount.js","sourceRoot":"","sources":["../../../accounts/kernel/createKernelAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACzB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACH,yCAAyC,EAEzC,cAAc,EACjB,MAAM,yBAAyB,CAAA;AAMhC,OAAO,EAOH,SAAS,EACT,kBAAkB,EAClB,uBAAuB,EACvB,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,WAAW,EACd,MAAM,MAAM,CAAA;AAMb,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAE,iDAAiD,EAAE,MAAM,mBAAmB,CAAA;AACrF,OAAO,EACH,qBAAqB,EACrB,qBAAqB,EACxB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAA;AAC1E,OAAO,EAAE,cAAc,IAAI,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAC/F,OAAO,EAAE,oBAAoB,IAAI,uBAAuB,EAAE,MAAM,+CAA+C,CAAA;AAC/G,OAAO,EAAE,cAAc,IAAI,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAC/F,OAAO,EAAE,oBAAoB,IAAI,uBAAuB,EAAE,MAAM,+CAA+C,CAAA;AAC/G,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AAuBjE;;GAEG;AACH,MAAM,gBAAgB,GAAG;IACrB;QACI,MAAM,EAAE;YACJ;gBACI,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;aAClB;YACD;gBACI,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;aAChB;YACD;gBACI,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAClB;SACJ;QACD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE;YACL;gBACI,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAClB;SACJ;QACD,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KACnB;CACK,CAAA;AAEV;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAKzB;IACA,kBAAkB,EAAE,4CAA4C;IAChE,kBAAkB,EAAE,4CAA4C;IAChE,eAAe,EAAE,4CAA4C;IAC7D,eAAe,EAAE,4CAA4C;CAChE,CAAA;AAED,MAAM,iBAAiB,GAAG,KAAK,EAAiC,EAC5D,UAAU,EAAE,iBAAiB,EAC7B,mBAAmB,EAItB,EAAE,EAAE;IACD,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAA;IACjE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"createKernelAccount.js","sourceRoot":"","sources":["../../../accounts/kernel/createKernelAccount.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { getAction } from "permissionless";
|
|
2
|
+
import { readContract } from "viem/actions";
|
|
3
|
+
import { KernelV3AccountAbi } from "../../../abi/kernel_v_3_0_0/KernelAccountAbi.js";
|
|
4
|
+
export const getKernelV3Nonce = async (client, accountAddress) => {
|
|
5
|
+
try {
|
|
6
|
+
const nonce = await getAction(client, readContract)({
|
|
7
|
+
abi: KernelV3AccountAbi,
|
|
8
|
+
address: accountAddress,
|
|
9
|
+
functionName: "currentNonce",
|
|
10
|
+
args: []
|
|
11
|
+
});
|
|
12
|
+
return nonce;
|
|
13
|
+
}
|
|
14
|
+
catch (error) {
|
|
15
|
+
return 2;
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=getKernelV3Nonce.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getKernelV3Nonce.js","sourceRoot":"","sources":["../../../../../../accounts/kernel/utils/account/ep0_7/getKernelV3Nonce.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAA;AAEpF,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACjC,MAAc,EACd,cAAuB,EACR,EAAE;IACjB,IAAI,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,SAAS,CACzB,MAAM,EACN,YAAY,CACf,CAAC;YACE,GAAG,EAAE,kBAAkB;YACvB,OAAO,EAAE,cAAc;YACvB,YAAY,EAAE,cAAc;YAC5B,IAAI,EAAE,EAAE;SACX,CAAC,CAAA;QACF,OAAO,KAAK,CAAA;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,CAAA;IACZ,CAAC;AACL,CAAC,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { getAbiItem, toFunctionSelector } from "viem";
|
|
2
|
+
import { KernelAccountAbi } from "../../abi/KernelAccountAbi.js";
|
|
3
|
+
import { KernelV3AccountAbi } from "../../abi/kernel_v_3_0_0/KernelAccountAbi.js";
|
|
4
|
+
export const getActionSelector = (entryPointVersion) => {
|
|
5
|
+
if (entryPointVersion === "v0.6") {
|
|
6
|
+
return toFunctionSelector(getAbiItem({ abi: KernelAccountAbi, name: "execute" }));
|
|
7
|
+
}
|
|
8
|
+
else if (entryPointVersion === "v0.7") {
|
|
9
|
+
return toFunctionSelector(getAbiItem({ abi: KernelV3AccountAbi, name: "execute" }));
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
throw new Error("Unsupported entry point version");
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=getActionSelector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getActionSelector.js","sourceRoot":"","sources":["../../../../../accounts/kernel/utils/common/getActionSelector.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,UAAU,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAA;AAEjF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC7B,iBAAoC,EACjC,EAAE;IACL,IAAI,iBAAiB,KAAK,MAAM,EAAE,CAAC;QAC/B,OAAO,kBAAkB,CACrB,UAAU,CAAC,EAAE,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CACzD,CAAA;IACL,CAAC;SAAM,IAAI,iBAAiB,KAAK,MAAM,EAAE,CAAC;QACtC,OAAO,kBAAkB,CACrB,UAAU,CAAC,EAAE,GAAG,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAC3D,CAAA;IACL,CAAC;SAAM,CAAC;QACJ,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACtD,CAAC;AACL,CAAC,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { concat, pad, toHex } from "viem";
|
|
2
|
+
import { ValidatorMode } from "../../../../../types/index.js";
|
|
3
|
+
export const getEncodedPluginsData = async ({ accountAddress, enableSignature, action, validator, validUntil, validAfter }) => {
|
|
4
|
+
const enableData = await validator.getEnableData(accountAddress);
|
|
5
|
+
const enableDataLength = enableData.length / 2 - 1;
|
|
6
|
+
return concat([
|
|
7
|
+
ValidatorMode.enable,
|
|
8
|
+
pad(toHex(validUntil, { size: 6 }), { size: 6 }), // 6 bytes 4 - 10
|
|
9
|
+
pad(toHex(validAfter), { size: 6 }), // 6 bytes 10 - 16
|
|
10
|
+
pad(validator.address, { size: 20 }), // 20 bytes 16 - 36
|
|
11
|
+
pad(action.address, { size: 20 }), // 20 bytes 36 - 56
|
|
12
|
+
pad(toHex(enableDataLength), { size: 32 }), // 32 bytes 56 - 88
|
|
13
|
+
enableData, // 88 - 88 + enableData.length
|
|
14
|
+
pad(toHex(enableSignature.length / 2 - 1), { size: 32 }), // 32 bytes 88 + enableData.length - 120 + enableData.length
|
|
15
|
+
enableSignature // 120 + enableData.length - 120 + enableData.length + enableSignature.length
|
|
16
|
+
]);
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=getEncodedPluginsData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getEncodedPluginsData.js","sourceRoot":"","sources":["../../../../../../accounts/kernel/utils/plugins/ep0_6/getEncodedPluginsData.ts"],"names":[],"mappings":"AAIA,OAAO,EAA0B,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,MAAM,CAAA;AACjE,OAAO,EAEH,aAAa,EAChB,MAAM,+BAA+B,CAAA;AAGtC,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAExC,EACE,cAAc,EACd,eAAe,EACf,MAAM,EACN,SAAS,EACT,UAAU,EACV,UAAU,EAKQ,EAAE,EAAE;IACtB,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;IAChE,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAA;IAClD,OAAO,MAAM,CAAC;QACV,aAAa,CAAC,MAAM;QACpB,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,iBAAiB;QACnE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,kBAAkB;QACvD,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,mBAAmB;QACzD,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,mBAAmB;QACtD,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,mBAAmB;QAC/D,UAAU,EAAE,8BAA8B;QAC1C,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,4DAA4D;QACtH,eAAe,CAAC,6EAA6E;KAChG,CAAC,CAAA;AACN,CAAC,CAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { concatHex, hexToBigInt, pad, toHex } from "viem";
|
|
2
|
+
export const getPluginsEnableTypedData = async ({ accountAddress, chainId, kernelVersion, action, validator, validUntil, validAfter }) => {
|
|
3
|
+
return {
|
|
4
|
+
domain: {
|
|
5
|
+
name: "Kernel",
|
|
6
|
+
version: kernelVersion,
|
|
7
|
+
chainId,
|
|
8
|
+
verifyingContract: accountAddress
|
|
9
|
+
},
|
|
10
|
+
types: {
|
|
11
|
+
ValidatorApproved: [
|
|
12
|
+
{ name: "sig", type: "bytes4" },
|
|
13
|
+
{ name: "validatorData", type: "uint256" },
|
|
14
|
+
{ name: "executor", type: "address" },
|
|
15
|
+
{ name: "enableData", type: "bytes" }
|
|
16
|
+
]
|
|
17
|
+
},
|
|
18
|
+
message: {
|
|
19
|
+
sig: action.selector,
|
|
20
|
+
validatorData: hexToBigInt(concatHex([
|
|
21
|
+
pad(toHex(validUntil ?? 0), {
|
|
22
|
+
size: 6
|
|
23
|
+
}),
|
|
24
|
+
pad(toHex(validAfter ?? 0), {
|
|
25
|
+
size: 6
|
|
26
|
+
}),
|
|
27
|
+
validator.address
|
|
28
|
+
]), { size: 32 }),
|
|
29
|
+
executor: action.address,
|
|
30
|
+
enableData: await validator.getEnableData(accountAddress)
|
|
31
|
+
},
|
|
32
|
+
primaryType: "ValidatorApproved"
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=getPluginsEnableTypedData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPluginsEnableTypedData.js","sourceRoot":"","sources":["../../../../../../accounts/kernel/utils/plugins/ep0_6/getPluginsEnableTypedData.ts"],"names":[],"mappings":"AAIA,OAAO,EAGH,SAAS,EACT,WAAW,EACX,GAAG,EACH,KAAK,EACR,MAAM,MAAM,CAAA;AAWb,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,EAE5C,EACE,cAAc,EACd,OAAO,EACP,aAAa,EACb,MAAM,EACN,SAAS,EACT,UAAU,EACV,UAAU,EAOQ,EAEpB,EAAE;IACA,OAAO;QACH,MAAM,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,aAAa;YACtB,OAAO;YACP,iBAAiB,EAAE,cAAc;SACpC;QACD,KAAK,EAAE;YACH,iBAAiB,EAAE;gBACf,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1C,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;gBACrC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;aACxC;SACJ;QACD,OAAO,EAAE;YACL,GAAG,EAAE,MAAM,CAAC,QAAQ;YACpB,aAAa,EAAE,WAAW,CACtB,SAAS,CAAC;gBACN,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,EAAE;oBACxB,IAAI,EAAE,CAAC;iBACV,CAAC;gBACF,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,EAAE;oBACxB,IAAI,EAAE,CAAC;iBACV,CAAC;gBACF,SAAS,CAAC,OAAO;aACpB,CAAC,EACF,EAAE,IAAI,EAAE,EAAE,EAAE,CACf;YACD,QAAQ,EAAE,MAAM,CAAC,OAAkB;YACnC,UAAU,EAAE,MAAM,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC;SAC5D;QACD,WAAW,EAAE,mBAAmB;KACnC,CAAA;AACL,CAAC,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { concat, encodeAbiParameters, parseAbiParameters, zeroAddress } from "viem";
|
|
2
|
+
export const getEncodedPluginsData = async ({ accountAddress, enableSignature, userOpSignature, action, validator }) => {
|
|
3
|
+
const enableData = await validator.getEnableData(accountAddress);
|
|
4
|
+
return concat([
|
|
5
|
+
zeroAddress, // hook address 20 bytes
|
|
6
|
+
encodeAbiParameters(parseAbiParameters("bytes validatorData, bytes hookData, bytes selectorData, bytes enableSig, bytes userOpSig"), [
|
|
7
|
+
enableData,
|
|
8
|
+
"0x",
|
|
9
|
+
concat([action.selector, action.address, zeroAddress, "0x"]),
|
|
10
|
+
enableSignature,
|
|
11
|
+
userOpSignature
|
|
12
|
+
])
|
|
13
|
+
]);
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=getEncodedPluginsData.js.map
|