@owlprotocol/contracts-account-abstraction
Version:
ERC4337 Account Abstraction support for deploying relevant smart contracts and interacting with UserOps.
69 lines (67 loc) • 3.19 kB
text/typescript
import { SolcMetadata } from "@owlprotocol/viem-utils";
export const IERC1822Proxiable: SolcMetadata = {
compiler: {
version: "0.8.23+commit.f704f362",
},
language: "Solidity",
output: {
abi: [
{
inputs: [],
name: "proxiableUUID",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
stateMutability: "view",
type: "function",
},
],
devdoc: {
details:
"ERC1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified proxy whose upgrades are fully controlled by the current implementation.",
kind: "dev",
methods: {
"proxiableUUID()": {
details:
"Returns the storage slot that the proxiable contract assumes is being used to store the implementation address. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy.",
},
},
version: 1,
},
userdoc: {
kind: "user",
methods: {},
version: 1,
},
},
settings: {
compilationTarget: {
"@openzeppelin/contracts/interfaces/draft-IERC1822.sol": "IERC1822Proxiable",
},
evmVersion: "paris",
libraries: {},
metadata: {
bytecodeHash: "ipfs",
useLiteralContent: true,
},
optimizer: {
enabled: true,
runs: 1000000,
},
remappings: [],
viaIR: true,
},
sources: {
"@openzeppelin/contracts/interfaces/draft-IERC1822.sol": {
content:
"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/draft-IERC1822.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev ERC1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified\n * proxy whose upgrades are fully controlled by the current implementation.\n */\ninterface IERC1822Proxiable {\n /**\n * @dev Returns the storage slot that the proxiable contract assumes is being used to store the implementation\n * address.\n *\n * IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks\n * bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this\n * function revert if invoked through a proxy.\n */\n function proxiableUUID() external view returns (bytes32);\n}\n",
keccak256: "0x2a1f9944df2015c081d89cd41ba22ffaf10aa6285969f0dc612b235cc448999c",
license: "MIT",
},
},
version: 1,
};