IPluginAbi

1const IPluginAbi: readonly [{
2 inputs: readonly [{
3 internalType: "bytes";
4 name: "data";
5 type: "bytes";
6 }];
7 name: "onInstall";
8 outputs: readonly [];
9 stateMutability: "nonpayable";
10 type: "function";
11}, {
12 inputs: readonly [{
13 internalType: "bytes";
14 name: "data";
15 type: "bytes";
16 }];
17 name: "onUninstall";
18 outputs: readonly [];
19 stateMutability: "nonpayable";
20 type: "function";
21}, {
22 inputs: readonly [];
23 name: "pluginManifest";
24 outputs: readonly [{
25 components: readonly [{
26 internalType: "bytes4[]";
27 name: "interfaceIds";
28 type: "bytes4[]";
29 }, {
30 internalType: "bytes4[]";
31 name: "dependencyInterfaceIds";
32 type: "bytes4[]";
33 }, {
34 internalType: "bytes4[]";
35 name: "executionFunctions";
36 type: "bytes4[]";
37 }, {
38 internalType: "bytes4[]";
39 name: "permittedExecutionSelectors";
40 type: "bytes4[]";
41 }, {
42 internalType: "bool";
43 name: "permitAnyExternalAddress";
44 type: "bool";
45 }, {
46 internalType: "bool";
47 name: "canSpendNativeToken";
48 type: "bool";
49 }, {
50 components: readonly [..., ..., ...];
51 internalType: "struct ManifestExternalCallPermission[]";
52 name: "permittedExternalCalls";
53 type: "tuple[]";
54 }, {
55 components: readonly [..., ...];
56 internalType: "struct ManifestAssociatedFunction[]";
57 name: "userOpValidationFunctions";
58 type: "tuple[]";
59 }, {
60 components: readonly [..., ...];
61 internalType: "struct ManifestAssociatedFunction[]";
62 name: "runtimeValidationFunctions";
63 type: "tuple[]";
64 }, {
65 components: readonly [..., ...];
66 internalType: "struct ManifestAssociatedFunction[]";
67 name: "preUserOpValidationHooks";
68 type: "tuple[]";
69 }, {
70 components: readonly [..., ...];
71 internalType: "struct ManifestAssociatedFunction[]";
72 name: "preRuntimeValidationHooks";
73 type: "tuple[]";
74 }, {
75 components: readonly [..., ..., ...];
76 internalType: "struct ManifestExecutionHook[]";
77 name: "executionHooks";
78 type: "tuple[]";
79 }];
80 internalType: "struct PluginManifest";
81 name: "";
82 type: "tuple";
83 }];
84 stateMutability: "pure";
85 type: "function";
86}, {
87 inputs: readonly [];
88 name: "pluginMetadata";
89 outputs: readonly [{
90 components: readonly [{
91 internalType: "string";
92 name: "name";
93 type: "string";
94 }, {
95 internalType: "string";
96 name: "version";
97 type: "string";
98 }, {
99 internalType: "string";
100 name: "author";
101 type: "string";
102 }, {
103 components: readonly [..., ...];
104 internalType: "struct SelectorPermission[]";
105 name: "permissionDescriptors";
106 type: "tuple[]";
107 }];
108 internalType: "struct PluginMetadata";
109 name: "";
110 type: "tuple";
111 }];
112 stateMutability: "pure";
113 type: "function";
114}, {
115 inputs: readonly [{
116 internalType: "uint8";
117 name: "functionId";
118 type: "uint8";
119 }, {
120 internalType: "bytes";
121 name: "preExecHookData";
122 type: "bytes";
123 }];
124 name: "postExecutionHook";
125 outputs: readonly [];
126 stateMutability: "nonpayable";
127 type: "function";
128}, {
129 inputs: readonly [{
130 internalType: "uint8";
131 name: "functionId";
132 type: "uint8";
133 }, {
134 internalType: "address";
135 name: "sender";
136 type: "address";
137 }, {
138 internalType: "uint256";
139 name: "value";
140 type: "uint256";
141 }, {
142 internalType: "bytes";
143 name: "data";
144 type: "bytes";
145 }];
146 name: "preExecutionHook";
147 outputs: readonly [{
148 internalType: "bytes";
149 name: "";
150 type: "bytes";
151 }];
152 stateMutability: "nonpayable";
153 type: "function";
154}, {
155 inputs: readonly [{
156 internalType: "uint8";
157 name: "functionId";
158 type: "uint8";
159 }, {
160 internalType: "address";
161 name: "sender";
162 type: "address";
163 }, {
164 internalType: "uint256";
165 name: "value";
166 type: "uint256";
167 }, {
168 internalType: "bytes";
169 name: "data";
170 type: "bytes";
171 }];
172 name: "preRuntimeValidationHook";
173 outputs: readonly [];
174 stateMutability: "nonpayable";
175 type: "function";
176}, {
177 inputs: readonly [{
178 internalType: "uint8";
179 name: "functionId";
180 type: "uint8";
181 }, {
182 components: readonly [{
183 internalType: "address";
184 name: "sender";
185 type: "address";
186 }, {
187 internalType: "uint256";
188 name: "nonce";
189 type: "uint256";
190 }, {
191 internalType: "bytes";
192 name: "initCode";
193 type: "bytes";
194 }, {
195 internalType: "bytes";
196 name: "callData";
197 type: "bytes";
198 }, {
199 internalType: "uint256";
200 name: "callGasLimit";
201 type: "uint256";
202 }, {
203 internalType: "uint256";
204 name: "verificationGasLimit";
205 type: "uint256";
206 }, {
207 internalType: "uint256";
208 name: "preVerificationGas";
209 type: "uint256";
210 }, {
211 internalType: "uint256";
212 name: "maxFeePerGas";
213 type: "uint256";
214 }, {
215 internalType: "uint256";
216 name: "maxPriorityFeePerGas";
217 type: "uint256";
218 }, {
219 internalType: "bytes";
220 name: "paymasterAndData";
221 type: "bytes";
222 }, {
223 internalType: "bytes";
224 name: "signature";
225 type: "bytes";
226 }];
227 internalType: "struct UserOperation";
228 name: "userOp";
229 type: "tuple";
230 }, {
231 internalType: "bytes32";
232 name: "userOpHash";
233 type: "bytes32";
234 }];
235 name: "preUserOpValidationHook";
236 outputs: readonly [{
237 internalType: "uint256";
238 name: "";
239 type: "uint256";
240 }];
241 stateMutability: "nonpayable";
242 type: "function";
243}, {
244 inputs: readonly [{
245 internalType: "uint8";
246 name: "functionId";
247 type: "uint8";
248 }, {
249 internalType: "address";
250 name: "sender";
251 type: "address";
252 }, {
253 internalType: "uint256";
254 name: "value";
255 type: "uint256";
256 }, {
257 internalType: "bytes";
258 name: "data";
259 type: "bytes";
260 }];
261 name: "runtimeValidationFunction";
262 outputs: readonly [];
263 stateMutability: "nonpayable";
264 type: "function";
265}, {
266 inputs: readonly [{
267 internalType: "uint8";
268 name: "functionId";
269 type: "uint8";
270 }, {
271 components: readonly [{
272 internalType: "address";
273 name: "sender";
274 type: "address";
275 }, {
276 internalType: "uint256";
277 name: "nonce";
278 type: "uint256";
279 }, {
280 internalType: "bytes";
281 name: "initCode";
282 type: "bytes";
283 }, {
284 internalType: "bytes";
285 name: "callData";
286 type: "bytes";
287 }, {
288 internalType: "uint256";
289 name: "callGasLimit";
290 type: "uint256";
291 }, {
292 internalType: "uint256";
293 name: "verificationGasLimit";
294 type: "uint256";
295 }, {
296 internalType: "uint256";
297 name: "preVerificationGas";
298 type: "uint256";
299 }, {
300 internalType: "uint256";
301 name: "maxFeePerGas";
302 type: "uint256";
303 }, {
304 internalType: "uint256";
305 name: "maxPriorityFeePerGas";
306 type: "uint256";
307 }, {
308 internalType: "bytes";
309 name: "paymasterAndData";
310 type: "bytes";
311 }, {
312 internalType: "bytes";
313 name: "signature";
314 type: "bytes";
315 }];
316 internalType: "struct UserOperation";
317 name: "userOp";
318 type: "tuple";
319 }, {
320 internalType: "bytes32";
321 name: "userOpHash";
322 type: "bytes32";
323 }];
324 name: "userOpValidationFunction";
325 outputs: readonly [{
326 internalType: "uint256";
327 name: "";
328 type: "uint256";
329 }];
330 stateMutability: "nonpayable";
331 type: "function";
332}];

Defined in: account-kit/smart-contracts/dist/types/src/msca/abis/IPlugin.d.ts:1