polytone-evm 0.3.0

Core interfaces for Polytone Interchain accounts and queries.
Documentation
1
{"abi":[],"bytecode":{"object":"0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea2646970667358221220f3ffca9b4fabce950098b6254f494562980554a3ba208edb8cf9e38a9d2cf0e764736f6c63430008180033","sourceMap":"314:7975:46:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x600080fdfea2646970667358221220f3ffca9b4fabce950098b6254f494562980554a3ba208edb8cf9e38a9d2cf0e764736f6c63430008180033","sourceMap":"314:7975:46:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for interacting with OpenZeppelin Defender from Forge scripts or tests.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":\"Defender\"},\"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/forge-std/src/Vm.sol\":{\"keccak256\":\"0xfd9e719ff0673fdd8ff83bbe72ee8cae0273d61937d27fde5d9159d9849233f4\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://b14aaef0d76f2e5257e4e3ab33895d5260d4c7707ff4d37fea1f31d25c8684a8\",\"dweb:/ipfs/QmRd6BMh4FNDPW8Niy4TU2XrtKqAc6GRTfw8xjSwpQ42Gy\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194\",\"dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn\"]},\"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]},\"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol\":{\"keccak256\":\"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223\",\"urls\":[\"bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669\",\"dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar\"]},\"lib/openzeppelin-foundry-upgrades/src/Defender.sol\":{\"keccak256\":\"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23\",\"dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL\"]},\"lib/openzeppelin-foundry-upgrades/src/Options.sol\":{\"keccak256\":\"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9\",\"dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol\":{\"keccak256\":\"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c\",\"dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol\":{\"keccak256\":\"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e\",\"dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol\":{\"keccak256\":\"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540\",\"dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol\":{\"keccak256\":\"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd\",\"dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol\":{\"keccak256\":\"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91\",\"dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y\"]},\"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol\":{\"keccak256\":\"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f\",\"dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv\"]},\"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":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"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/Defender.sol":"Defender"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib/forge-std/src/Vm.sol":{"keccak256":"0xfd9e719ff0673fdd8ff83bbe72ee8cae0273d61937d27fde5d9159d9849233f4","urls":["bzz-raw://b14aaef0d76f2e5257e4e3ab33895d5260d4c7707ff4d37fea1f31d25c8684a8","dweb:/ipfs/QmRd6BMh4FNDPW8Niy4TU2XrtKqAc6GRTfw8xjSwpQ42Gy"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console.sol":{"keccak256":"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a","urls":["bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194","dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792","urls":["bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453","dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d","urls":["bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875","dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72","urls":["bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc","dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/src/strings.sol":{"keccak256":"0x42cad11a7033f2fe05dd68611d2304407a620ac985b91edf29d5868cfe196223","urls":["bzz-raw://3cbc2333234e1f00eab5e57c4bcaf5115661e5e066a17c70af587a0a96f24669","dweb:/ipfs/QmPHvStqcvZL46LW5N2ExTwAaqNhRCcmAX66aR6oE1WDar"],"license":null},"lib/openzeppelin-foundry-upgrades/src/Defender.sol":{"keccak256":"0x2114e4d70d53b36e8cec54ba11ff78d9f38a466ec3504c76c7f26101a7cff37f","urls":["bzz-raw://58f4d9bc58646e7631b263cdb8ef260e6818e9f716036d81d1c18218c9557a23","dweb:/ipfs/QmS18L4R4gPtay9eQBcR28DnwmBkGSWsiCFwm2tXc3BkHL"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/Options.sol":{"keccak256":"0xa5414683d6b219b28e75ecaab3d00a305dfaf4d970389a88992275c8072ce8ac","urls":["bzz-raw://b1dbfd566ba318f2b740159c28e4511c84c9d76fcc293ae17c9b1a87b3ea16c9","dweb:/ipfs/QmcyxPoeBdzA9iHEgd76xKhaQ8HKfpV4owdSv6127MmveT"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol":{"keccak256":"0x37073df20d2b5fbb0a873e6b2dd76c23e23455d1c2d2ba57d2f0998201a4251d","urls":["bzz-raw://79d507647ea48d93371341684cf4199d55ed799db9d3489bc016f53990d2ff7c","dweb:/ipfs/QmQWgXiYcPcwNcrkTHb72WtHd4xPcXfRUMfBrhkDHgr2ut"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol":{"keccak256":"0x868ffdaf5d185fee103fc4581385392b47c209a5cfd2aec01f0307dbc0101d73","urls":["bzz-raw://76e51bf69a4d0b5d1d9cfa7efa442bdcf9d713966563432ef8fdd00ec959a25e","dweb:/ipfs/QmTHkdvMnqmEvus7zbmHhPkWk3fM9SW2Jq8gnyBLwVJtxG"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Utils.sol":{"keccak256":"0x4de002af810f6a5fe26a6381e0ead3331735bd0059434a22df75e17c177b5f87","urls":["bzz-raw://af32ff07f606e530a53030db141a75af144cfe065a6543939d412018c6159540","dweb:/ipfs/QmbfTB92Zd8VQHW61g9dx1CvGgSL5SCoZDLrvJfnR7Ctio"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/Versions.sol":{"keccak256":"0xf1a1441c18a296853509e9b1d18be794ed3de836caea49d6948b5e9ac566e8c6","urls":["bzz-raw://6f3463514235bd875ecacf45f95cac64aa650dd38d05c15fe1f4203b6b5733bd","dweb:/ipfs/Qmcbhmw9NPkG8MqiVsQ4qUupeQFCRgyBDKuoUwohwa8EP3"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IProxyAdmin.sol":{"keccak256":"0xf5e514595089f8959da130507086e7388602a71ce60575d141e7d892dfbddbfc","urls":["bzz-raw://9b41366e2823ccc8cb42304496d761b3df80946d17384634a61afd7139495c91","dweb:/ipfs/QmZE2nRMxax1NPj63ifemKdScGJzKNWi7BCGudjFLsUz1y"],"license":"MIT"},"lib/openzeppelin-foundry-upgrades/src/internal/interfaces/IUpgradeableBeacon.sol":{"keccak256":"0xa8d7bffdd26eb763e459650c83f247b54af79800c2df52ad05878f238fc1c2f8","urls":["bzz-raw://8ed47f1e53e5eb7d48fed60a414755641fca8fa0e713fd503b2597227da78a2f","dweb:/ipfs/QmQr8A5wddHdhQNauFShXxRkPcuVVpVsYpq846WhmFC8Tv"],"license":"MIT"},"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/Defender.sol","id":41142,"exportedSymbols":{"ApprovalProcessResponse":[41141],"Core":[42908],"Defender":[41129],"DefenderDeploy":[44387],"DefenderOptions":[41179],"Options":[41160],"ProposeUpgradeResponse":[41134]},"nodeType":"SourceUnit","src":"32:8435:46","nodes":[{"id":40973,"nodeType":"PragmaDirective","src":"32:23:46","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":40976,"nodeType":"ImportDirective","src":"57:55:46","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/Options.sol","file":"./Options.sol","nameLocation":"-1:-1:-1","scope":41142,"sourceUnit":41190,"symbolAliases":[{"foreign":{"id":40974,"name":"Options","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41160,"src":"65:7:46","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":40975,"name":"DefenderOptions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41179,"src":"74:15:46","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":40978,"nodeType":"ImportDirective","src":"113:41:46","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/internal/Core.sol","file":"./internal/Core.sol","nameLocation":"-1:-1:-1","scope":41142,"sourceUnit":42909,"symbolAliases":[{"foreign":{"id":40977,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42908,"src":"121:4:46","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":40980,"nodeType":"ImportDirective","src":"155:61:46","nodes":[],"absolutePath":"lib/openzeppelin-foundry-upgrades/src/internal/DefenderDeploy.sol","file":"./internal/DefenderDeploy.sol","nameLocation":"-1:-1:-1","scope":41142,"sourceUnit":44388,"symbolAliases":[{"foreign":{"id":40979,"name":"DefenderDeploy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44387,"src":"163:14:46","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41129,"nodeType":"ContractDefinition","src":"314:7975:46","nodes":[{"id":40995,"nodeType":"FunctionDefinition","src":"1094:135:46","nodes":[],"body":{"id":40994,"nodeType":"Block","src":"1173:56:46","nodes":[],"statements":[{"expression":{"arguments":[{"id":40990,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40984,"src":"1205:12:46","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"","id":40991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1219:2:46","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":40989,"name":"deployContract","nodeType":"Identifier","overloadedDeclarations":[40995,41013,41034,41055],"referencedDeclaration":41034,"src":"1190:14:46","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,bytes memory) returns (address)"}},"id":40992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1190:32:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":40988,"id":40993,"nodeType":"Return","src":"1183:39:46"}]},"documentation":{"id":40982,"nodeType":"StructuredDocumentation","src":"337:752:46","text":" @dev Deploys a contract to the current network using OpenZeppelin Defender.\n WARNING: Do not use this function directly if you are deploying an upgradeable contract. This function does not validate whether the contract is upgrade safe.\n NOTE: If using an EOA or Safe to deploy, go to https://defender.openzeppelin.com/v2/#/deploy[Defender deploy] to submit the pending deployment while the script is running.\n The script waits for the deployment to complete before it continues.\n @param contractName Name of the contract to deploy, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @return Address of the deployed contract"},"implemented":true,"kind":"function","modifiers":[],"name":"deployContract","nameLocation":"1103:14:46","parameters":{"id":40985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40984,"mutability":"mutable","name":"contractName","nameLocation":"1132:12:46","nodeType":"VariableDeclaration","scope":40995,"src":"1118:26:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":40983,"name":"string","nodeType":"ElementaryTypeName","src":"1118:6:46","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1117:28:46"},"returnParameters":{"id":40988,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40987,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":40995,"src":"1164:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":40986,"name":"address","nodeType":"ElementaryTypeName","src":"1164:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1163:9:46"},"scope":41129,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":41013,"nodeType":"FunctionDefinition","src":"2149:208:46","nodes":[],"body":{"id":41012,"nodeType":"Block","src":"2287:70:46","nodes":[],"statements":[{"expression":{"arguments":[{"id":41007,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40998,"src":"2319:12:46","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"","id":41008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2333:2:46","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"id":41009,"name":"defenderOpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41001,"src":"2337:12:46","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$41179_memory_ptr","typeString":"struct DefenderOptions memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_struct$_DefenderOptions_$41179_memory_ptr","typeString":"struct DefenderOptions memory"}],"id":41006,"name":"deployContract","nodeType":"Identifier","overloadedDeclarations":[40995,41013,41034,41055],"referencedDeclaration":41055,"src":"2304:14:46","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_struct$_DefenderOptions_$41179_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,bytes memory,struct DefenderOptions memory) returns (address)"}},"id":41010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2304:46:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":41005,"id":41011,"nodeType":"Return","src":"2297:53:46"}]},"documentation":{"id":40996,"nodeType":"StructuredDocumentation","src":"1235:909:46","text":" @dev Deploys a contract to the current network using OpenZeppelin Defender.\n WARNING: Do not use this function directly if you are deploying an upgradeable contract. This function does not validate whether the contract is upgrade safe.\n NOTE: If using an EOA or Safe to deploy, go to https://defender.openzeppelin.com/v2/#/deploy[Defender deploy] to submit the pending deployment while the script is running.\n The script waits for the deployment to complete before it continues.\n @param contractName Name of the contract to deploy, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param defenderOpts Defender deployment options. Note that the `useDefenderDeploy` option is always treated as `true` when called from this function.\n @return Address of the deployed contract"},"implemented":true,"kind":"function","modifiers":[],"name":"deployContract","nameLocation":"2158:14:46","parameters":{"id":41002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":40998,"mutability":"mutable","name":"contractName","nameLocation":"2196:12:46","nodeType":"VariableDeclaration","scope":41013,"src":"2182:26:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":40997,"name":"string","nodeType":"ElementaryTypeName","src":"2182:6:46","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41001,"mutability":"mutable","name":"defenderOpts","nameLocation":"2241:12:46","nodeType":"VariableDeclaration","scope":41013,"src":"2218:35:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$41179_memory_ptr","typeString":"struct DefenderOptions"},"typeName":{"id":41000,"nodeType":"UserDefinedTypeName","pathNode":{"id":40999,"name":"DefenderOptions","nameLocations":["2218:15:46"],"nodeType":"IdentifierPath","referencedDeclaration":41179,"src":"2218:15:46"},"referencedDeclaration":41179,"src":"2218:15:46","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$41179_storage_ptr","typeString":"struct DefenderOptions"}},"visibility":"internal"}],"src":"2172:87:46"},"returnParameters":{"id":41005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41004,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41013,"src":"2278:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41003,"name":"address","nodeType":"ElementaryTypeName","src":"2278:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2277:9:46"},"scope":41129,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":41034,"nodeType":"FunctionDefinition","src":"3207:237:46","nodes":[],"body":{"id":41033,"nodeType":"Block","src":"3316:128:46","nodes":[],"statements":[{"assignments":[41025],"declarations":[{"constant":false,"id":41025,"mutability":"mutable","name":"defenderOpts","nameLocation":"3349:12:46","nodeType":"VariableDeclaration","scope":41033,"src":"3326:35:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$41179_memory_ptr","typeString":"struct DefenderOptions"},"typeName":{"id":41024,"nodeType":"UserDefinedTypeName","pathNode":{"id":41023,"name":"DefenderOptions","nameLocations":["3326:15:46"],"nodeType":"IdentifierPath","referencedDeclaration":41179,"src":"3326:15:46"},"referencedDeclaration":41179,"src":"3326:15:46","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$41179_storage_ptr","typeString":"struct DefenderOptions"}},"visibility":"internal"}],"id":41026,"nodeType":"VariableDeclarationStatement","src":"3326:35:46"},{"expression":{"arguments":[{"id":41028,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41016,"src":"3393:12:46","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":41029,"name":"constructorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41018,"src":"3407:15:46","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":41030,"name":"defenderOpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41025,"src":"3424:12:46","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$41179_memory_ptr","typeString":"struct DefenderOptions memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_struct$_DefenderOptions_$41179_memory_ptr","typeString":"struct DefenderOptions memory"}],"id":41027,"name":"deployContract","nodeType":"Identifier","overloadedDeclarations":[40995,41013,41034,41055],"referencedDeclaration":41055,"src":"3378:14:46","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_struct$_DefenderOptions_$41179_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,bytes memory,struct DefenderOptions memory) returns (address)"}},"id":41031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3378:59:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":41022,"id":41032,"nodeType":"Return","src":"3371:66:46"}]},"documentation":{"id":41014,"nodeType":"StructuredDocumentation","src":"2363:839:46","text":" @dev Deploys a contract with constructor arguments to the current network using OpenZeppelin Defender.\n WARNING: Do not use this function directly if you are deploying an upgradeable contract. This function does not validate whether the contract is upgrade safe.\n NOTE: If using an EOA or Safe to deploy, go to https://defender.openzeppelin.com/v2/#/deploy[Defender deploy] to submit the pending deployment while the script is running.\n The script waits for the deployment to complete before it continues.\n @param contractName Name of the contract to deploy, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param constructorData Encoded constructor arguments\n @return Address of the deployed contract"},"implemented":true,"kind":"function","modifiers":[],"name":"deployContract","nameLocation":"3216:14:46","parameters":{"id":41019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41016,"mutability":"mutable","name":"contractName","nameLocation":"3245:12:46","nodeType":"VariableDeclaration","scope":41034,"src":"3231:26:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":41015,"name":"string","nodeType":"ElementaryTypeName","src":"3231:6:46","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41018,"mutability":"mutable","name":"constructorData","nameLocation":"3272:15:46","nodeType":"VariableDeclaration","scope":41034,"src":"3259:28:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":41017,"name":"bytes","nodeType":"ElementaryTypeName","src":"3259:5:46","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3230:58:46"},"returnParameters":{"id":41022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41021,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41034,"src":"3307:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41020,"name":"address","nodeType":"ElementaryTypeName","src":"3307:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3306:9:46"},"scope":41129,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":41055,"nodeType":"FunctionDefinition","src":"4451:266:46","nodes":[],"body":{"id":41054,"nodeType":"Block","src":"4627:90:46","nodes":[],"statements":[{"expression":{"arguments":[{"id":41049,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41037,"src":"4666:12:46","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":41050,"name":"constructorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41039,"src":"4680:15:46","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":41051,"name":"defenderOpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41042,"src":"4697:12:46","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$41179_memory_ptr","typeString":"struct DefenderOptions memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_struct$_DefenderOptions_$41179_memory_ptr","typeString":"struct DefenderOptions memory"}],"expression":{"id":41047,"name":"DefenderDeploy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44387,"src":"4644:14:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_DefenderDeploy_$44387_$","typeString":"type(library DefenderDeploy)"}},"id":41048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4659:6:46","memberName":"deploy","nodeType":"MemberAccess","referencedDeclaration":43040,"src":"4644:21:46","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$_t_struct$_DefenderOptions_$41179_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,bytes memory,struct DefenderOptions memory) returns (address)"}},"id":41052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4644:66:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":41046,"id":41053,"nodeType":"Return","src":"4637:73:46"}]},"documentation":{"id":41035,"nodeType":"StructuredDocumentation","src":"3450:996:46","text":" @dev Deploys a contract with constructor arguments to the current network using OpenZeppelin Defender.\n WARNING: Do not use this function directly if you are deploying an upgradeable contract. This function does not validate whether the contract is upgrade safe.\n NOTE: If using an EOA or Safe to deploy, go to https://defender.openzeppelin.com/v2/#/deploy[Defender deploy] to submit the pending deployment while the script is running.\n The script waits for the deployment to complete before it continues.\n @param contractName Name of the contract to deploy, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param constructorData Encoded constructor arguments\n @param defenderOpts Defender deployment options. Note that the `useDefenderDeploy` option is always treated as `true` when called from this function.\n @return Address of the deployed contract"},"implemented":true,"kind":"function","modifiers":[],"name":"deployContract","nameLocation":"4460:14:46","parameters":{"id":41043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41037,"mutability":"mutable","name":"contractName","nameLocation":"4498:12:46","nodeType":"VariableDeclaration","scope":41055,"src":"4484:26:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":41036,"name":"string","nodeType":"ElementaryTypeName","src":"4484:6:46","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41039,"mutability":"mutable","name":"constructorData","nameLocation":"4533:15:46","nodeType":"VariableDeclaration","scope":41055,"src":"4520:28:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":41038,"name":"bytes","nodeType":"ElementaryTypeName","src":"4520:5:46","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":41042,"mutability":"mutable","name":"defenderOpts","nameLocation":"4581:12:46","nodeType":"VariableDeclaration","scope":41055,"src":"4558:35:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$41179_memory_ptr","typeString":"struct DefenderOptions"},"typeName":{"id":41041,"nodeType":"UserDefinedTypeName","pathNode":{"id":41040,"name":"DefenderOptions","nameLocations":["4558:15:46"],"nodeType":"IdentifierPath","referencedDeclaration":41179,"src":"4558:15:46"},"referencedDeclaration":41179,"src":"4558:15:46","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$41179_storage_ptr","typeString":"struct DefenderOptions"}},"visibility":"internal"}],"src":"4474:125:46"},"returnParameters":{"id":41046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41045,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41055,"src":"4618:7:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41044,"name":"address","nodeType":"ElementaryTypeName","src":"4618:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4617:9:46"},"scope":41129,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":41102,"nodeType":"FunctionDefinition","src":"6533:667:46","nodes":[],"body":{"id":41101,"nodeType":"Block","src":"6724:476:46","nodes":[],"statements":[{"expression":{"id":41075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":41069,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41063,"src":"6734:4:46","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$41160_memory_ptr","typeString":"struct Options memory"}},"id":41072,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6739:8:46","memberName":"defender","nodeType":"MemberAccess","referencedDeclaration":41159,"src":"6734:13:46","typeDescriptions":{"typeIdentifier":"t_struct$_DefenderOptions_$41179_memory_ptr","typeString":"struct DefenderOptions memory"}},"id":41073,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"6748:17:46","memberName":"useDefenderDeploy","nodeType":"MemberAccess","referencedDeclaration":41163,"src":"6734:31:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":41074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6768:4:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"6734:38:46","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":41076,"nodeType":"ExpressionStatement","src":"6734:38:46"},{"assignments":[41078],"declarations":[{"constant":false,"id":41078,"mutability":"mutable","name":"proxyAdminAddress","nameLocation":"6790:17:46","nodeType":"VariableDeclaration","scope":41101,"src":"6782:25:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41077,"name":"address","nodeType":"ElementaryTypeName","src":"6782:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":41083,"initialValue":{"arguments":[{"id":41081,"name":"proxyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41058,"src":"6831:12:46","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":41079,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42908,"src":"6810:4:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Core_$42908_$","typeString":"type(library Core)"}},"id":41080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6815:15:46","memberName":"getAdminAddress","nodeType":"MemberAccess","referencedDeclaration":42344,"src":"6810:20:46","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":41082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6810:34:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6782:62:46"},{"assignments":[41085],"declarations":[{"constant":false,"id":41085,"mutability":"mutable","name":"newImplementationAddress","nameLocation":"6862:24:46","nodeType":"VariableDeclaration","scope":41101,"src":"6854:32:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41084,"name":"address","nodeType":"ElementaryTypeName","src":"6854:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":41091,"initialValue":{"arguments":[{"id":41088,"name":"newImplementationContractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41060,"src":"6909:29:46","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":41089,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41063,"src":"6940:4:46","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$41160_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Options_$41160_memory_ptr","typeString":"struct Options memory"}],"expression":{"id":41086,"name":"Core","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42908,"src":"6889:4:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Core_$42908_$","typeString":"type(library Core)"}},"id":41087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6894:14:46","memberName":"prepareUpgrade","nodeType":"MemberAccess","referencedDeclaration":42308,"src":"6889:19:46","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_Options_$41160_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,struct Options memory) returns (address)"}},"id":41090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6889:56:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6854:91:46"},{"expression":{"arguments":[{"id":41094,"name":"proxyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41058,"src":"7021:12:46","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41095,"name":"proxyAdminAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41078,"src":"7051:17:46","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41096,"name":"newImplementationAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41085,"src":"7086:24:46","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":41097,"name":"newImplementationContractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41060,"src":"7128:29:46","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":41098,"name":"opts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41063,"src":"7175:4:46","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$41160_memory_ptr","typeString":"struct Options memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Options_$41160_memory_ptr","typeString":"struct Options memory"}],"expression":{"id":41092,"name":"DefenderDeploy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44387,"src":"6974:14:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_DefenderDeploy_$44387_$","typeString":"type(library DefenderDeploy)"}},"id":41093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6989:14:46","memberName":"proposeUpgrade","nodeType":"MemberAccess","referencedDeclaration":43808,"src":"6974:29:46","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_string_memory_ptr_$_t_struct$_Options_$41160_memory_ptr_$returns$_t_struct$_ProposeUpgradeResponse_$41134_memory_ptr_$","typeString":"function (address,address,address,string memory,struct Options memory) returns (struct ProposeUpgradeResponse memory)"}},"id":41099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6974:219:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ProposeUpgradeResponse_$41134_memory_ptr","typeString":"struct ProposeUpgradeResponse memory"}},"functionReturnParameters":41068,"id":41100,"nodeType":"Return","src":"6955:238:46"}]},"documentation":{"id":41056,"nodeType":"StructuredDocumentation","src":"4723:1805:46","text":" @dev Proposes an upgrade to an upgradeable proxy using OpenZeppelin Defender.\n This function validates a new implementation contract in comparison with a reference contract, deploys the new implementation contract using Defender,\n and proposes an upgrade to the new implementation contract using an upgrade approval process on Defender.\n Supported for UUPS or Transparent proxies. Not currently supported for beacon proxies or beacons.\n For beacons, use `Upgrades.prepareUpgrade` along with a transaction proposal on Defender to upgrade the beacon to the deployed implementation.\n Requires that either the `referenceContract` option is set, or the contract has a `@custom:oz-upgrades-from <reference>` annotation.\n WARNING: Ensure that the reference contract is the same as the current implementation contract that the proxy is pointing to.\n This function does not validate that the reference contract is the current implementation.\n NOTE: If using an EOA or Safe to deploy, go to https://defender.openzeppelin.com/v2/#/deploy[Defender deploy] to submit the pending deployment of the new implementation contract while the script is running.\n The script waits for the deployment to complete before it continues.\n @param proxyAddress The proxy address\n @param newImplementationContractName Name of the new implementation contract to upgrade to, e.g. \"MyContract.sol\" or \"MyContract.sol:MyContract\" or artifact path relative to the project root directory\n @param opts Common options. Note that the `defender.useDefenderDeploy` option is always treated as `true` when called from this function.\n @return Struct containing the proposal ID and URL for the upgrade proposal"},"implemented":true,"kind":"function","modifiers":[],"name":"proposeUpgrade","nameLocation":"6542:14:46","parameters":{"id":41064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41058,"mutability":"mutable","name":"proxyAddress","nameLocation":"6574:12:46","nodeType":"VariableDeclaration","scope":41102,"src":"6566:20:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41057,"name":"address","nodeType":"ElementaryTypeName","src":"6566:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41060,"mutability":"mutable","name":"newImplementationContractName","nameLocation":"6610:29:46","nodeType":"VariableDeclaration","scope":41102,"src":"6596:43:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":41059,"name":"string","nodeType":"ElementaryTypeName","src":"6596:6:46","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41063,"mutability":"mutable","name":"opts","nameLocation":"6664:4:46","nodeType":"VariableDeclaration","scope":41102,"src":"6649:19:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$41160_memory_ptr","typeString":"struct Options"},"typeName":{"id":41062,"nodeType":"UserDefinedTypeName","pathNode":{"id":41061,"name":"Options","nameLocations":["6649:7:46"],"nodeType":"IdentifierPath","referencedDeclaration":41160,"src":"6649:7:46"},"referencedDeclaration":41160,"src":"6649:7:46","typeDescriptions":{"typeIdentifier":"t_struct$_Options_$41160_storage_ptr","typeString":"struct Options"}},"visibility":"internal"}],"src":"6556:118:46"},"returnParameters":{"id":41068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41067,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41102,"src":"6693:29:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ProposeUpgradeResponse_$41134_memory_ptr","typeString":"struct ProposeUpgradeResponse"},"typeName":{"id":41066,"nodeType":"UserDefinedTypeName","pathNode":{"id":41065,"name":"ProposeUpgradeResponse","nameLocations":["6693:22:46"],"nodeType":"IdentifierPath","referencedDeclaration":41134,"src":"6693:22:46"},"referencedDeclaration":41134,"src":"6693:22:46","typeDescriptions":{"typeIdentifier":"t_struct$_ProposeUpgradeResponse_$41134_storage_ptr","typeString":"struct ProposeUpgradeResponse"}},"visibility":"internal"}],"src":"6692:31:46"},"scope":41129,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":41115,"nodeType":"FunctionDefinition","src":"7497:171:46","nodes":[],"body":{"id":41114,"nodeType":"Block","src":"7583:85:46","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"6765744465706c6f79417070726f76616c50726f63657373","id":41111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7634:26:46","typeDescriptions":{"typeIdentifier":"t_stringliteral_91822dcfbccd70857ea12c11e81f053ad02f3260a0e761f9bc86f992a041634f","typeString":"literal_string \"getDeployApprovalProcess\""},"value":"getDeployApprovalProcess"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91822dcfbccd70857ea12c11e81f053ad02f3260a0e761f9bc86f992a041634f","typeString":"literal_string \"getDeployApprovalProcess\""}],"expression":{"id":41109,"name":"DefenderDeploy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44387,"src":"7600:14:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_DefenderDeploy_$44387_$","typeString":"type(library DefenderDeploy)"}},"id":41110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7615:18:46","memberName":"getApprovalProcess","nodeType":"MemberAccess","referencedDeclaration":44213,"src":"7600:33:46","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_struct$_ApprovalProcessResponse_$41141_memory_ptr_$","typeString":"function (string memory) returns (struct ApprovalProcessResponse memory)"}},"id":41112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7600:61:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ApprovalProcessResponse_$41141_memory_ptr","typeString":"struct ApprovalProcessResponse memory"}},"functionReturnParameters":41108,"id":41113,"nodeType":"Return","src":"7593:68:46"}]},"documentation":{"id":41103,"nodeType":"StructuredDocumentation","src":"7206:286:46","text":" @dev Gets the default deploy approval process configured for your deployment environment on OpenZeppelin Defender.\n @return Struct with the default deploy approval process ID and the associated address, such as a Relayer, EOA, or multisig wallet address."},"implemented":true,"kind":"function","modifiers":[],"name":"getDeployApprovalProcess","nameLocation":"7506:24:46","parameters":{"id":41104,"nodeType":"ParameterList","parameters":[],"src":"7530:2:46"},"returnParameters":{"id":41108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41107,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41115,"src":"7551:30:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ApprovalProcessResponse_$41141_memory_ptr","typeString":"struct ApprovalProcessResponse"},"typeName":{"id":41106,"nodeType":"UserDefinedTypeName","pathNode":{"id":41105,"name":"ApprovalProcessResponse","nameLocations":["7551:23:46"],"nodeType":"IdentifierPath","referencedDeclaration":41141,"src":"7551:23:46"},"referencedDeclaration":41141,"src":"7551:23:46","typeDescriptions":{"typeIdentifier":"t_struct$_ApprovalProcessResponse_$41141_storage_ptr","typeString":"struct ApprovalProcessResponse"}},"visibility":"internal"}],"src":"7550:32:46"},"scope":41129,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":41128,"nodeType":"FunctionDefinition","src":"8114:173:46","nodes":[],"body":{"id":41127,"nodeType":"Block","src":"8201:86:46","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"67657455706772616465417070726f76616c50726f63657373","id":41124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8252:27:46","typeDescriptions":{"typeIdentifier":"t_stringliteral_a06dd4918a5b2473fd3aaf97341ad849da5bb038c60b7582eb371267a2265635","typeString":"literal_string \"getUpgradeApprovalProcess\""},"value":"getUpgradeApprovalProcess"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a06dd4918a5b2473fd3aaf97341ad849da5bb038c60b7582eb371267a2265635","typeString":"literal_string \"getUpgradeApprovalProcess\""}],"expression":{"id":41122,"name":"DefenderDeploy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44387,"src":"8218:14:46","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_DefenderDeploy_$44387_$","typeString":"type(library DefenderDeploy)"}},"id":41123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8233:18:46","memberName":"getApprovalProcess","nodeType":"MemberAccess","referencedDeclaration":44213,"src":"8218:33:46","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_struct$_ApprovalProcessResponse_$41141_memory_ptr_$","typeString":"function (string memory) returns (struct ApprovalProcessResponse memory)"}},"id":41125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8218:62:46","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ApprovalProcessResponse_$41141_memory_ptr","typeString":"struct ApprovalProcessResponse memory"}},"functionReturnParameters":41121,"id":41126,"nodeType":"Return","src":"8211:69:46"}]},"documentation":{"id":41116,"nodeType":"StructuredDocumentation","src":"7674:435:46","text":" @dev Gets the default upgrade approval process configured for your deployment environment on OpenZeppelin Defender.\n For example, this is useful for determining the default multisig wallet that you can use in your scripts to assign as the owner of your proxy.\n @return Struct with the default upgrade approval process ID and the associated address, such as a multisig or governor contract address."},"implemented":true,"kind":"function","modifiers":[],"name":"getUpgradeApprovalProcess","nameLocation":"8123:25:46","parameters":{"id":41117,"nodeType":"ParameterList","parameters":[],"src":"8148:2:46"},"returnParameters":{"id":41121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41120,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":41128,"src":"8169:30:46","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ApprovalProcessResponse_$41141_memory_ptr","typeString":"struct ApprovalProcessResponse"},"typeName":{"id":41119,"nodeType":"UserDefinedTypeName","pathNode":{"id":41118,"name":"ApprovalProcessResponse","nameLocations":["8169:23:46"],"nodeType":"IdentifierPath","referencedDeclaration":41141,"src":"8169:23:46"},"referencedDeclaration":41141,"src":"8169:23:46","typeDescriptions":{"typeIdentifier":"t_struct$_ApprovalProcessResponse_$41141_storage_ptr","typeString":"struct ApprovalProcessResponse"}},"visibility":"internal"}],"src":"8168:32:46"},"scope":41129,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"Defender","contractDependencies":[],"contractKind":"library","documentation":{"id":40981,"nodeType":"StructuredDocumentation","src":"218:95:46","text":" @dev Library for interacting with OpenZeppelin Defender from Forge scripts or tests."},"fullyImplemented":true,"linearizedBaseContracts":[41129],"name":"Defender","nameLocation":"322:8:46","scope":41142,"usedErrors":[],"usedEvents":[]},{"id":41134,"nodeType":"StructDefinition","src":"8291:72:46","nodes":[],"canonicalName":"ProposeUpgradeResponse","members":[{"constant":false,"id":41131,"mutability":"mutable","name":"proposalId","nameLocation":"8334:10:46","nodeType":"VariableDeclaration","scope":41134,"src":"8327:17:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":41130,"name":"string","nodeType":"ElementaryTypeName","src":"8327:6:46","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41133,"mutability":"mutable","name":"url","nameLocation":"8357:3:46","nodeType":"VariableDeclaration","scope":41134,"src":"8350:10:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":41132,"name":"string","nodeType":"ElementaryTypeName","src":"8350:6:46","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"ProposeUpgradeResponse","nameLocation":"8298:22:46","scope":41142,"visibility":"public"},{"id":41141,"nodeType":"StructDefinition","src":"8365:101:46","nodes":[],"canonicalName":"ApprovalProcessResponse","members":[{"constant":false,"id":41136,"mutability":"mutable","name":"approvalProcessId","nameLocation":"8409:17:46","nodeType":"VariableDeclaration","scope":41141,"src":"8402:24:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":41135,"name":"string","nodeType":"ElementaryTypeName","src":"8402:6:46","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41138,"mutability":"mutable","name":"via","nameLocation":"8440:3:46","nodeType":"VariableDeclaration","scope":41141,"src":"8432:11:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41137,"name":"address","nodeType":"ElementaryTypeName","src":"8432:7:46","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41140,"mutability":"mutable","name":"viaType","nameLocation":"8456:7:46","nodeType":"VariableDeclaration","scope":41141,"src":"8449:14:46","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":41139,"name":"string","nodeType":"ElementaryTypeName","src":"8449:6:46","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"ApprovalProcessResponse","nameLocation":"8372:23:46","scope":41142,"visibility":"public"}],"license":"MIT"},"id":46}