{"abi":[{"type":"function","name":"upgradeTo","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"upgradeTo(address)\":{\"notice\":\"Upgrades the proxy to a new implementation without calling a function on the new implementation.\"},\"upgradeToAndCall(address,bytes)\":{\"notice\":\"Upgrades the proxy to a new implementation and calls a function on the new implementation. If UPGRADE_INTERFACE_VERSION is \\\"5.0.0\\\", bytes can be empty if no function should be called on the new implementation.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":\"IUpgradeableProxy\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol\":{\"keccak256\":\"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03\",\"dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"upgradeTo(address)":{"notice":"Upgrades the proxy to a new implementation without calling a function on the new implementation."},"upgradeToAndCall(address,bytes)":{"notice":"Upgrades the proxy to a new implementation and calls a function on the new implementation. If UPGRADE_INTERFACE_VERSION is \"5.0.0\", bytes can be empty if no function should be called on the new implementation."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":"IUpgradeableProxy"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol":{"keccak256":"0x781b564b90bba0c0e8e12fb66b1c910f42d369db469f2e88592b4cff29de99a5","urls":["bzz-raw://45fcab02a43fde934445b88e905aba3f58a70b75dd6ee6eb86a3d593424aeb03","dweb:/ipfs/QmXmhAgrctaYUDLoTRgUjwD4deoXu1E2QT1kftVGcVa56j"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableProxy.sol","id":45207,"exportedSymbols":{"IUpgradeableProxy":[45206]},"nodeType":"SourceUnit","src":"32:531:55","nodes":[{"id":45191,"nodeType":"PragmaDirective","src":"32:23:55","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":45206,"nodeType":"ContractDefinition","src":"57:505:55","nodes":[{"id":45197,"nodeType":"FunctionDefinition","src":"211:37:55","nodes":[],"documentation":{"id":45192,"nodeType":"StructuredDocumentation","src":"91:115:55","text":" Upgrades the proxy to a new implementation without calling a function on the new implementation."},"functionSelector":"3659cfe6","implemented":false,"kind":"function","modifiers":[],"name":"upgradeTo","nameLocation":"220:9:55","parameters":{"id":45195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45194,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45197,"src":"230:7:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45193,"name":"address","nodeType":"ElementaryTypeName","src":"230:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"229:9:55"},"returnParameters":{"id":45196,"nodeType":"ParameterList","parameters":[],"src":"247:0:55"},"scope":45206,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":45205,"nodeType":"FunctionDefinition","src":"494:66:55","nodes":[],"documentation":{"id":45198,"nodeType":"StructuredDocumentation","src":"254:235:55","text":" Upgrades the proxy to a new implementation and calls a function on the new implementation.\n If UPGRADE_INTERFACE_VERSION is \"5.0.0\", bytes can be empty if no function should be called on the new implementation."},"functionSelector":"4f1ef286","implemented":false,"kind":"function","modifiers":[],"name":"upgradeToAndCall","nameLocation":"503:16:55","parameters":{"id":45203,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45200,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45205,"src":"520:7:55","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45199,"name":"address","nodeType":"ElementaryTypeName","src":"520:7:55","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45202,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":45205,"src":"529:12:55","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":45201,"name":"bytes","nodeType":"ElementaryTypeName","src":"529:5:55","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"519:23:55"},"returnParameters":{"id":45204,"nodeType":"ParameterList","parameters":[],"src":"559:0:55"},"scope":45206,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IUpgradeableProxy","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[45206],"name":"IUpgradeableProxy","nameLocation":"67:17:55","scope":45207,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":55}