IPluginAbi
1 const 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