UNPKG

@tokamak-network/thanos-contracts

Version:
1 lines 294 kB
{"abi":[{"type":"function","name":"get","inputs":[{"name":"_name","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Deployment","components":[{"name":"name","type":"string","internalType":"string"},{"name":"addr","type":"address","internalType":"address payable"}]}],"stateMutability":"view"},{"type":"function","name":"getAddress","inputs":[{"name":"_name","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"has","inputs":[{"name":"_name","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"loadInitializedSlot","inputs":[{"name":"_contractName","type":"string","internalType":"string"}],"outputs":[{"name":"initialized_","type":"uint8","internalType":"uint8"}],"stateMutability":"nonpayable"},{"type":"function","name":"mustGetAddress","inputs":[{"name":"_name","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"function","name":"newDeployments","inputs":[],"outputs":[{"name":"","type":"tuple[]","internalType":"struct Deployment[]","components":[{"name":"name","type":"string","internalType":"string"},{"name":"addr","type":"address","internalType":"address payable"}]}],"stateMutability":"view"},{"type":"function","name":"prankDeployment","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_addr","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"save","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_deployed","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"DeploymentDoesNotExist","inputs":[{"name":"","type":"string","internalType":"string"}]},{"type":"error","name":"FfiFailed","inputs":[{"name":"","type":"string","internalType":"string"}]},{"type":"error","name":"InvalidDeployment","inputs":[{"name":"","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"get(string)":"693ec85e","getAddress(string)":"bf40fac1","has(string)":"a8e52294","loadInitializedSlot(string)":"c7834271","mustGetAddress(string)":"3fb90271","newDeployments()":"e8727781","prankDeployment(string,address)":"6f9e93dd","save(string,address)":"4b64367e","setUp()":"0a9254e4"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"DeploymentDoesNotExist\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"FfiFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"InvalidDeployment\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"get\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address payable\",\"name\":\"addr\",\"type\":\"address\"}],\"internalType\":\"struct Deployment\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"getAddress\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"has\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_contractName\",\"type\":\"string\"}],\"name\":\"loadInitializedSlot\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"initialized_\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"mustGetAddress\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"newDeployments\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address payable\",\"name\":\"addr\",\"type\":\"address\"}],\"internalType\":\"struct Deployment[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_addr\",\"type\":\"address\"}],\"name\":\"prankDeployment\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_deployed\",\"type\":\"address\"}],\"name\":\"save\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"get(string)\":{\"params\":{\"_name\":\"The name of the deployment.\"},\"returns\":{\"_0\":\"The deployment.\"}},\"getAddress(string)\":{\"params\":{\"_name\":\"The name of the deployment.\"},\"returns\":{\"_0\":\"The address of the deployment. May be `address(0)` if the deployment does not         exist.\"}},\"has(string)\":{\"params\":{\"_name\":\"The name of the deployment.\"},\"returns\":{\"_0\":\"Whether the deployment exists or not.\"}},\"mustGetAddress(string)\":{\"returns\":{\"_0\":\"The address of the deployment.\"}},\"prankDeployment(string,address)\":{\"params\":{\"_addr\":\"The mock address of the deployment.\",\"_name\":\"The name of the deployment.\"}},\"save(string,address)\":{\"params\":{\"_deployed\":\"The address of the deployment.\",\"_name\":\"The name of the deployment.\"}}},\"title\":\"Artifacts\",\"version\":1},\"userdoc\":{\"errors\":{\"DeploymentDoesNotExist(string)\":[{\"notice\":\"Error for when attempting to fetch a deployment and it does not exist\"}],\"FfiFailed(string)\":[{\"notice\":\"Error for when an ffi command fails.\"}],\"InvalidDeployment(string)\":[{\"notice\":\"Error for when trying to save an invalid deployment\"}]},\"kind\":\"user\",\"methods\":{\"get(string)\":{\"notice\":\"Returns a deployment that is suitable to be used to interact with contracts.\"},\"getAddress(string)\":{\"notice\":\"Returns the address of a deployment. Also handles the predeploys.\"},\"has(string)\":{\"notice\":\"Returns whether or not a particular deployment exists.\"},\"loadInitializedSlot(string)\":{\"notice\":\"Returns the value of the internal `_initialized` storage slot for a given contract.\"},\"mustGetAddress(string)\":{\"notice\":\"Returns the address of a deployment and reverts if the deployment         does not exist.\"},\"newDeployments()\":{\"notice\":\"Returns all of the deployments done in the current context.\"},\"prankDeployment(string,address)\":{\"notice\":\"Stubs a deployment retrieved through `get`.\"},\"save(string,address)\":{\"notice\":\"Appends a deployment to disk as a JSON deploy artifact.\"},\"setUp()\":{\"notice\":\"Setup function. The arguments here\"}},\"notice\":\"Useful for accessing deployment artifacts from within scripts.         When a contract is deployed, call the `save` function to write its name and         contract address to disk. Inspired by `forge-deploy`.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"scripts/Artifacts.s.sol\":\"Artifacts\"},\"evmVersion\":\"london\",\"libraries\":{\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker\":\"0x4200000000000000000000000000000000000776\"},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":automate/=lib/automate/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":gelato/=lib/automate/contracts/\",\":hardhat/=lib/automate/node_modules/hardhat/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/\",\":prb-test/=lib/automate/lib/prb-test/src/\",\":prb/-est/=lib/automate/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54\",\"dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x29fa9fa4f21f0762bcb245732bdf18218b0e017640fe4f9809d2157c56d9741e\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://cf18f5b10bfcc5c70c8f950a52907b18e6da38825cdd04261c435601410f0dea\",\"dweb:/ipfs/QmPkhDtp4AXw7iaJe84PEUPNK748pxsLUp8r5QB3hewWRy\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/solady/src/utils/LibString.sol\":{\"keccak256\":\"0x74ec81acbea6db4afe149ab51e26961bcb801af42f7af98242be71b866066200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://16bb49824fcfa9667aeed0eb515fdefda1016225085cf78ed852078c67168229\",\"dweb:/ipfs/QmZ59xrx5QLSx5N5CiTLrfwsPKR7kpK4RRpiEWSMEpvDzQ\"]},\"scripts/Artifacts.s.sol\":{\"keccak256\":\"0xf22eabc7ede49a6b02d02abfd3f2af092e2316f7e17371b236ded6981483340d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cde726a7044d8b34c3dfd66b319bc78c98591d895639ac6ac44096f8d796329f\",\"dweb:/ipfs/QmNhuLxsv4GMjLHPYvevW2SGaxDhwcvX11edKQL15p5MEY\"]},\"scripts/Config.sol\":{\"keccak256\":\"0x8ca0f72a6f788d56aa88d5854badab58eeb3a06d8324565e2fb532ec3fe213d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b60e6cd83217ff105667720366cd5562db5c88bf2e6b74e985ff34dea6e26b92\",\"dweb:/ipfs/QmZLZYwAtRUCZiizvQ9jsdt7HfBwAa6xmThJnqdNd89smP\"]},\"scripts/Executables.sol\":{\"keccak256\":\"0x111dbe563e6013c1264f27b962e2c2bd9c39bb0967f8532d2443588930d74ba1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a04f796d9a7bcf97902c9dcd48c8c106f9cc7d8443b5699027bd7c1238cfc23d\",\"dweb:/ipfs/Qma8AwPLD1MG9FwGbSwJgY3CwrwwtJ8ym89QCGG22VkFT1\"]},\"scripts/ForgeArtifacts.sol\":{\"keccak256\":\"0xb08a4120bffbfdd21ed439c04325230c9314ea31f2e9283cf86d2f4f82680901\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18a233ba20fc54af2649ae6761246f3b6ed405d97097b62bd5ff4dc58bcd7600\",\"dweb:/ipfs/Qmb2Xa5cfuHNnvcng1SybUa6UK3hyQbwxyhbFyt1amK7kh\"]},\"scripts/interfaces/IAddressManager.sol\":{\"keccak256\":\"0x8535ed4854cada3ed9eca1a04a6fd2567862f7bd7dc4a8a1be36095ec437da53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afd8602362aee418eac66093e59bab8da103122a3c08c8f79f44effdfe4fd6ce\",\"dweb:/ipfs/QmUBeiKWmEpx2yK4237QMz12nrPhmbWe56xd6QFH9vfrPt\"]},\"scripts/libraries/Process.sol\":{\"keccak256\":\"0xf2ad1d9d948fb8914adc25b691f2ec18c396930069c492f5d3d3b67b0a5e0920\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://912b145d1a5dd62c18e22c0058e345c55ebf8157e704f2e6dbd90fb8cff9fa1c\",\"dweb:/ipfs/QmNweSeEiuML5bYbHGDw98Rkup1e1URWWdQJqUBbQPQGPP\"]},\"src/libraries/Predeploys.sol\":{\"keccak256\":\"0xbc21e07126b325cf053f1c5a26968f02fb0a0da503634044a8e84c9d642acb8f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7af279cd7b3b12189894ae43f33d19ba84931670ba10b78c108b9d31b767c6b3\",\"dweb:/ipfs/QmWA4qha4WjQToAYhQbqVPe8WrniBAoktVNSSxCCqBraH3\"]},\"test/mocks/EIP1967Helper.sol\":{\"keccak256\":\"0xd9d733dc223cd612def7a4b19310c05816a8b3aa23b67be7149bb66bde9fd967\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f18f09dd627c175a39b83f9849a7e2288846160852facfbc7b312a941d450e4\",\"dweb:/ipfs/QmYmj5hMmKmReU6Zc6BYgA3H8piAgSpt93shNMfx2rm3K8\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.15+commit.e14f2714"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string"}],"type":"error","name":"DeploymentDoesNotExist"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"type":"error","name":"FfiFailed"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"type":"error","name":"InvalidDeployment"},{"inputs":[{"internalType":"string","name":"_name","type":"string"}],"stateMutability":"view","type":"function","name":"get","outputs":[{"internalType":"struct Deployment","name":"","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"address payable","name":"addr","type":"address"}]}]},{"inputs":[{"internalType":"string","name":"_name","type":"string"}],"stateMutability":"view","type":"function","name":"getAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"_name","type":"string"}],"stateMutability":"view","type":"function","name":"has","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"string","name":"_contractName","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"loadInitializedSlot","outputs":[{"internalType":"uint8","name":"initialized_","type":"uint8"}]},{"inputs":[{"internalType":"string","name":"_name","type":"string"}],"stateMutability":"view","type":"function","name":"mustGetAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"newDeployments","outputs":[{"internalType":"struct Deployment[]","name":"","type":"tuple[]","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"address payable","name":"addr","type":"address"}]}]},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"address","name":"_addr","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"prankDeployment"},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"address","name":"_deployed","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"save"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setUp"}],"devdoc":{"kind":"dev","methods":{"get(string)":{"params":{"_name":"The name of the deployment."},"returns":{"_0":"The deployment."}},"getAddress(string)":{"params":{"_name":"The name of the deployment."},"returns":{"_0":"The address of the deployment. May be `address(0)` if the deployment does not         exist."}},"has(string)":{"params":{"_name":"The name of the deployment."},"returns":{"_0":"Whether the deployment exists or not."}},"mustGetAddress(string)":{"returns":{"_0":"The address of the deployment."}},"prankDeployment(string,address)":{"params":{"_addr":"The mock address of the deployment.","_name":"The name of the deployment."}},"save(string,address)":{"params":{"_deployed":"The address of the deployment.","_name":"The name of the deployment."}}},"version":1},"userdoc":{"kind":"user","methods":{"get(string)":{"notice":"Returns a deployment that is suitable to be used to interact with contracts."},"getAddress(string)":{"notice":"Returns the address of a deployment. Also handles the predeploys."},"has(string)":{"notice":"Returns whether or not a particular deployment exists."},"loadInitializedSlot(string)":{"notice":"Returns the value of the internal `_initialized` storage slot for a given contract."},"mustGetAddress(string)":{"notice":"Returns the address of a deployment and reverts if the deployment         does not exist."},"newDeployments()":{"notice":"Returns all of the deployments done in the current context."},"prankDeployment(string,address)":{"notice":"Stubs a deployment retrieved through `get`."},"save(string,address)":{"notice":"Appends a deployment to disk as a JSON deploy artifact."},"setUp()":{"notice":"Setup function. The arguments here"}},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","automate/=lib/automate/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","gelato/=lib/automate/contracts/","hardhat/=lib/automate/node_modules/hardhat/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/","prb-test/=lib/automate/lib/prb-test/src/","prb/-est/=lib/automate/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"scripts/Artifacts.s.sol":"Artifacts"},"evmVersion":"london","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"lib/forge-std/src/StdJson.sol":{"keccak256":"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d","urls":["bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54","dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x29fa9fa4f21f0762bcb245732bdf18218b0e017640fe4f9809d2157c56d9741e","urls":["bzz-raw://cf18f5b10bfcc5c70c8f950a52907b18e6da38825cdd04261c435601410f0dea","dweb:/ipfs/QmPkhDtp4AXw7iaJe84PEUPNK748pxsLUp8r5QB3hewWRy"],"license":"MIT OR Apache-2.0"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/solady/src/utils/LibString.sol":{"keccak256":"0x74ec81acbea6db4afe149ab51e26961bcb801af42f7af98242be71b866066200","urls":["bzz-raw://16bb49824fcfa9667aeed0eb515fdefda1016225085cf78ed852078c67168229","dweb:/ipfs/QmZ59xrx5QLSx5N5CiTLrfwsPKR7kpK4RRpiEWSMEpvDzQ"],"license":"MIT"},"scripts/Artifacts.s.sol":{"keccak256":"0xf22eabc7ede49a6b02d02abfd3f2af092e2316f7e17371b236ded6981483340d","urls":["bzz-raw://cde726a7044d8b34c3dfd66b319bc78c98591d895639ac6ac44096f8d796329f","dweb:/ipfs/QmNhuLxsv4GMjLHPYvevW2SGaxDhwcvX11edKQL15p5MEY"],"license":"MIT"},"scripts/Config.sol":{"keccak256":"0x8ca0f72a6f788d56aa88d5854badab58eeb3a06d8324565e2fb532ec3fe213d3","urls":["bzz-raw://b60e6cd83217ff105667720366cd5562db5c88bf2e6b74e985ff34dea6e26b92","dweb:/ipfs/QmZLZYwAtRUCZiizvQ9jsdt7HfBwAa6xmThJnqdNd89smP"],"license":"MIT"},"scripts/Executables.sol":{"keccak256":"0x111dbe563e6013c1264f27b962e2c2bd9c39bb0967f8532d2443588930d74ba1","urls":["bzz-raw://a04f796d9a7bcf97902c9dcd48c8c106f9cc7d8443b5699027bd7c1238cfc23d","dweb:/ipfs/Qma8AwPLD1MG9FwGbSwJgY3CwrwwtJ8ym89QCGG22VkFT1"],"license":"MIT"},"scripts/ForgeArtifacts.sol":{"keccak256":"0xb08a4120bffbfdd21ed439c04325230c9314ea31f2e9283cf86d2f4f82680901","urls":["bzz-raw://18a233ba20fc54af2649ae6761246f3b6ed405d97097b62bd5ff4dc58bcd7600","dweb:/ipfs/Qmb2Xa5cfuHNnvcng1SybUa6UK3hyQbwxyhbFyt1amK7kh"],"license":"MIT"},"scripts/interfaces/IAddressManager.sol":{"keccak256":"0x8535ed4854cada3ed9eca1a04a6fd2567862f7bd7dc4a8a1be36095ec437da53","urls":["bzz-raw://afd8602362aee418eac66093e59bab8da103122a3c08c8f79f44effdfe4fd6ce","dweb:/ipfs/QmUBeiKWmEpx2yK4237QMz12nrPhmbWe56xd6QFH9vfrPt"],"license":"MIT"},"scripts/libraries/Process.sol":{"keccak256":"0xf2ad1d9d948fb8914adc25b691f2ec18c396930069c492f5d3d3b67b0a5e0920","urls":["bzz-raw://912b145d1a5dd62c18e22c0058e345c55ebf8157e704f2e6dbd90fb8cff9fa1c","dweb:/ipfs/QmNweSeEiuML5bYbHGDw98Rkup1e1URWWdQJqUBbQPQGPP"],"license":"MIT"},"src/libraries/Predeploys.sol":{"keccak256":"0xbc21e07126b325cf053f1c5a26968f02fb0a0da503634044a8e84c9d642acb8f","urls":["bzz-raw://7af279cd7b3b12189894ae43f33d19ba84931670ba10b78c108b9d31b767c6b3","dweb:/ipfs/QmWA4qha4WjQToAYhQbqVPe8WrniBAoktVNSSxCCqBraH3"],"license":"MIT"},"test/mocks/EIP1967Helper.sol":{"keccak256":"0xd9d733dc223cd612def7a4b19310c05816a8b3aa23b67be7149bb66bde9fd967","urls":["bzz-raw://6f18f09dd627c175a39b83f9849a7e2288846160852facfbc7b312a941d450e4","dweb:/ipfs/QmYmj5hMmKmReU6Zc6BYgA3H8piAgSpt93shNMfx2rm3K8"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":66437,"contract":"scripts/Artifacts.s.sol:Artifacts","label":"_namedDeployments","offset":0,"slot":"0","type":"t_mapping(t_string_memory_ptr,t_struct(Deployment)66402_storage)"},{"astId":66442,"contract":"scripts/Artifacts.s.sol:Artifacts","label":"_newDeployments","offset":0,"slot":"1","type":"t_array(t_struct(Deployment)66402_storage)dyn_storage"},{"astId":66445,"contract":"scripts/Artifacts.s.sol:Artifacts","label":"deploymentsDir","offset":0,"slot":"2","type":"t_string_storage"},{"astId":66448,"contract":"scripts/Artifacts.s.sol:Artifacts","label":"deploymentOutfile","offset":0,"slot":"3","type":"t_string_storage"},{"astId":66451,"contract":"scripts/Artifacts.s.sol:Artifacts","label":"deploymentContext","offset":0,"slot":"4","type":"t_string_storage"}],"types":{"t_address_payable":{"encoding":"inplace","label":"address payable","numberOfBytes":"20"},"t_array(t_struct(Deployment)66402_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct Deployment[]","numberOfBytes":"32","base":"t_struct(Deployment)66402_storage"},"t_mapping(t_string_memory_ptr,t_struct(Deployment)66402_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct Deployment)","numberOfBytes":"32","value":"t_struct(Deployment)66402_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Deployment)66402_storage":{"encoding":"inplace","label":"struct Deployment","numberOfBytes":"64","members":[{"astId":66399,"contract":"scripts/Artifacts.s.sol:Artifacts","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":66401,"contract":"scripts/Artifacts.s.sol:Artifacts","label":"addr","offset":0,"slot":"1","type":"t_address_payable"}]}}},"userdoc":{"version":1,"kind":"user","methods":{"get(string)":{"notice":"Returns a deployment that is suitable to be used to interact with contracts."},"getAddress(string)":{"notice":"Returns the address of a deployment. Also handles the predeploys."},"has(string)":{"notice":"Returns whether or not a particular deployment exists."},"loadInitializedSlot(string)":{"notice":"Returns the value of the internal `_initialized` storage slot for a given contract."},"mustGetAddress(string)":{"notice":"Returns the address of a deployment and reverts if the deployment         does not exist."},"newDeployments()":{"notice":"Returns all of the deployments done in the current context."},"prankDeployment(string,address)":{"notice":"Stubs a deployment retrieved through `get`."},"save(string,address)":{"notice":"Appends a deployment to disk as a JSON deploy artifact."},"setUp()":{"notice":"Setup function. The arguments here"}},"errors":{"DeploymentDoesNotExist(string)":[{"notice":"Error for when attempting to fetch a deployment and it does not exist"}],"FfiFailed(string)":[{"notice":"Error for when an ffi command fails."}],"InvalidDeployment(string)":[{"notice":"Error for when trying to save an invalid deployment"}]},"notice":"Useful for accessing deployment artifacts from within scripts.         When a contract is deployed, call the `save` function to write its name and         contract address to disk. Inspired by `forge-deploy`."},"devdoc":{"version":1,"kind":"dev","methods":{"get(string)":{"params":{"_name":"The name of the deployment."},"returns":{"_0":"The deployment."}},"getAddress(string)":{"params":{"_name":"The name of the deployment."},"returns":{"_0":"The address of the deployment. May be `address(0)` if the deployment does not         exist."}},"has(string)":{"params":{"_name":"The name of the deployment."},"returns":{"_0":"Whether the deployment exists or not."}},"mustGetAddress(string)":{"returns":{"_0":"The address of the deployment."}},"prankDeployment(string,address)":{"params":{"_addr":"The mock address of the deployment.","_name":"The name of the deployment."}},"save(string,address)":{"params":{"_deployed":"The address of the deployment.","_name":"The name of the deployment."}}},"title":"Artifacts"},"ast":{"absolutePath":"scripts/Artifacts.s.sol","id":67478,"exportedSymbols":{"Artifacts":[67477],"Config":[70322],"Deployment":[66402],"EIP1967Helper":[227188],"Executables":[78533],"ForgeArtifacts":[80006],"IAddressManager":[83509],"LibString":[64643],"Predeploys":[114341],"Process":[84150],"StorageSlot":[79050],"Vm":[16311],"console":[32500],"stdJson":[7754]},"nodeType":"SourceUnit","src":"32:12342:114","nodes":[{"id":66373,"nodeType":"PragmaDirective","src":"32:23:114","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":66375,"nodeType":"ImportDirective","src":"57:61:114","nodes":[],"absolutePath":"lib/forge-std/src/console2.sol","file":"forge-std/console2.sol","nameLocation":"-1:-1:-1","scope":67478,"sourceUnit":32501,"symbolAliases":[{"foreign":{"id":66374,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32500,"src":"66:8:114","typeDescriptions":{}},"local":"console","nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66377,"nodeType":"ImportDirective","src":"119:48:114","nodes":[],"absolutePath":"lib/forge-std/src/StdJson.sol","file":"forge-std/StdJson.sol","nameLocation":"-1:-1:-1","scope":67478,"sourceUnit":7755,"symbolAliases":[{"foreign":{"id":66376,"name":"stdJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7754,"src":"128:7:114","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66379,"nodeType":"ImportDirective","src":"168:38:114","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"forge-std/Vm.sol","nameLocation":"-1:-1:-1","scope":67478,"sourceUnit":16312,"symbolAliases":[{"foreign":{"id":66378,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16311,"src":"177:2:114","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66381,"nodeType":"ImportDirective","src":"207:54:114","nodes":[],"absolutePath":"scripts/Executables.sol","file":"scripts/Executables.sol","nameLocation":"-1:-1:-1","scope":67478,"sourceUnit":78534,"symbolAliases":[{"foreign":{"id":66380,"name":"Executables","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78533,"src":"216:11:114","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66383,"nodeType":"ImportDirective","src":"262:58:114","nodes":[],"absolutePath":"src/libraries/Predeploys.sol","file":"src/libraries/Predeploys.sol","nameLocation":"-1:-1:-1","scope":67478,"sourceUnit":114342,"symbolAliases":[{"foreign":{"id":66382,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114341,"src":"271:10:114","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66385,"nodeType":"ImportDirective","src":"321:44:114","nodes":[],"absolutePath":"scripts/Config.sol","file":"scripts/Config.sol","nameLocation":"-1:-1:-1","scope":67478,"sourceUnit":70323,"symbolAliases":[{"foreign":{"id":66384,"name":"Config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70322,"src":"330:6:114","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66387,"nodeType":"ImportDirective","src":"366:57:114","nodes":[],"absolutePath":"scripts/ForgeArtifacts.sol","file":"scripts/ForgeArtifacts.sol","nameLocation":"-1:-1:-1","scope":67478,"sourceUnit":80007,"symbolAliases":[{"foreign":{"id":66386,"name":"StorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79050,"src":"375:11:114","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66389,"nodeType":"ImportDirective","src":"424:61:114","nodes":[],"absolutePath":"test/mocks/EIP1967Helper.sol","file":"test/mocks/EIP1967Helper.sol","nameLocation":"-1:-1:-1","scope":67478,"sourceUnit":227189,"symbolAliases":[{"foreign":{"id":66388,"name":"EIP1967Helper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":227188,"src":"433:13:114","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66391,"nodeType":"ImportDirective","src":"486:56:114","nodes":[],"absolutePath":"lib/solady/src/utils/LibString.sol","file":"@solady/utils/LibString.sol","nameLocation":"-1:-1:-1","scope":67478,"sourceUnit":64644,"symbolAliases":[{"foreign":{"id":66390,"name":"LibString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64643,"src":"495:9:114","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66393,"nodeType":"ImportDirective","src":"543:60:114","nodes":[],"absolutePath":"scripts/ForgeArtifacts.sol","file":"scripts/ForgeArtifacts.sol","nameLocation":"-1:-1:-1","scope":67478,"sourceUnit":80007,"symbolAliases":[{"foreign":{"id":66392,"name":"ForgeArtifacts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80006,"src":"552:14:114","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66395,"nodeType":"ImportDirective","src":"604:73:114","nodes":[],"absolutePath":"scripts/interfaces/IAddressManager.sol","file":"scripts/interfaces/IAddressManager.sol","nameLocation":"-1:-1:-1","scope":67478,"sourceUnit":83510,"symbolAliases":[{"foreign":{"id":66394,"name":"IAddressManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83509,"src":"613:15:114","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66397,"nodeType":"ImportDirective","src":"678:56:114","nodes":[],"absolutePath":"scripts/libraries/Process.sol","file":"scripts/libraries/Process.sol","nameLocation":"-1:-1:-1","scope":67478,"sourceUnit":84151,"symbolAliases":[{"foreign":{"id":66396,"name":"Process","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84150,"src":"687:7:114","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":66402,"nodeType":"StructDefinition","src":"865:64:114","nodes":[],"canonicalName":"Deployment","members":[{"constant":false,"id":66399,"mutability":"mutable","name":"name","nameLocation":"896:4:114","nodeType":"VariableDeclaration","scope":66402,"src":"889:11:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":66398,"name":"string","nodeType":"ElementaryTypeName","src":"889:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":66401,"mutability":"mutable","name":"addr","nameLocation":"922:4:114","nodeType":"VariableDeclaration","scope":66402,"src":"906:20:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":66400,"name":"address","nodeType":"ElementaryTypeName","src":"906:15:114","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"name":"Deployment","nameLocation":"872:10:114","scope":67478,"visibility":"public"},{"id":67477,"nodeType":"ContractDefinition","src":"1181:11192:114","nodes":[{"id":66421,"nodeType":"VariableDeclaration","src":"1253:84:114","nodes":[],"constant":true,"documentation":{"id":66404,"nodeType":"StructuredDocumentation","src":"1215:33:114","text":"@notice Foundry cheatcode VM."},"mutability":"constant","name":"vm","nameLocation":"1273:2:114","scope":67477,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"},"typeName":{"id":66406,"nodeType":"UserDefinedTypeName","pathNode":{"id":66405,"name":"Vm","nodeType":"IdentifierPath","referencedDeclaration":16311,"src":"1253:2:114"},"referencedDeclaration":16311,"src":"1253:2:114","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":66415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1315:17:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":66414,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1305:9:114","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1305:28:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":66413,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1297:7:114","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":66412,"name":"uint256","nodeType":"ElementaryTypeName","src":"1297:7:114","typeDescriptions":{}}},"id":66417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1297:37:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":66411,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1289:7:114","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":66410,"name":"uint160","nodeType":"ElementaryTypeName","src":"1289:7:114","typeDescriptions":{}}},"id":66418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1289:46:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":66409,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1281:7:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66408,"name":"address","nodeType":"ElementaryTypeName","src":"1281:7:114","typeDescriptions":{}}},"id":66419,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1281:55:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66407,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":16311,"src":"1278:2:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$16311_$","typeString":"type(contract Vm)"}},"id":66420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1278:59:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"visibility":"private"},{"id":66426,"nodeType":"ErrorDefinition","src":"1430:37:114","nodes":[],"documentation":{"id":66422,"nodeType":"StructuredDocumentation","src":"1343:82:114","text":"@notice Error for when attempting to fetch a deployment and it does not exist"},"errorSelector":"b2f5b290","name":"DeploymentDoesNotExist","nameLocation":"1436:22:114","parameters":{"id":66425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66424,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66426,"src":"1459:6:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":66423,"name":"string","nodeType":"ElementaryTypeName","src":"1459:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1458:8:114"}},{"id":66431,"nodeType":"ErrorDefinition","src":"1540:32:114","nodes":[],"documentation":{"id":66427,"nodeType":"StructuredDocumentation","src":"1472:63:114","text":"@notice Error for when trying to save an invalid deployment"},"errorSelector":"dfc8467d","name":"InvalidDeployment","nameLocation":"1546:17:114","parameters":{"id":66430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66429,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66431,"src":"1564:6:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":66428,"name":"string","nodeType":"ElementaryTypeName","src":"1564:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1563:8:114"}},{"id":66437,"nodeType":"VariableDeclaration","src":"1655:56:114","nodes":[],"constant":false,"documentation":{"id":66432,"nodeType":"StructuredDocumentation","src":"1577:73:114","text":"@notice The set of deployments that have been done during execution."},"mutability":"mutable","name":"_namedDeployments","nameLocation":"1694:17:114","scope":67477,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Deployment_$66402_storage_$","typeString":"mapping(string => struct Deployment)"},"typeName":{"id":66436,"keyType":{"id":66433,"name":"string","nodeType":"ElementaryTypeName","src":"1663:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"nodeType":"Mapping","src":"1655:29:114","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Deployment_$66402_storage_$","typeString":"mapping(string => struct Deployment)"},"valueType":{"id":66435,"nodeType":"UserDefinedTypeName","pathNode":{"id":66434,"name":"Deployment","nodeType":"IdentifierPath","referencedDeclaration":66402,"src":"1673:10:114"},"referencedDeclaration":66402,"src":"1673:10:114","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_storage_ptr","typeString":"struct Deployment"}}},"visibility":"internal"},{"id":66442,"nodeType":"VariableDeclaration","src":"1782:37:114","nodes":[],"constant":false,"documentation":{"id":66438,"nodeType":"StructuredDocumentation","src":"1717:60:114","text":"@notice The same as `_namedDeployments` but as an array."},"mutability":"mutable","name":"_newDeployments","nameLocation":"1804:15:114","scope":67477,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Deployment_$66402_storage_$dyn_storage","typeString":"struct Deployment[]"},"typeName":{"baseType":{"id":66440,"nodeType":"UserDefinedTypeName","pathNode":{"id":66439,"name":"Deployment","nodeType":"IdentifierPath","referencedDeclaration":66402,"src":"1782:10:114"},"referencedDeclaration":66402,"src":"1782:10:114","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_storage_ptr","typeString":"struct Deployment"}},"id":66441,"nodeType":"ArrayTypeName","src":"1782:12:114","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Deployment_$66402_storage_$dyn_storage_ptr","typeString":"struct Deployment[]"}},"visibility":"internal"},{"id":66445,"nodeType":"VariableDeclaration","src":"1904:30:114","nodes":[],"constant":false,"documentation":{"id":66443,"nodeType":"StructuredDocumentation","src":"1825:74:114","text":"@notice Path to the directory containing the hh deploy style artifacts"},"mutability":"mutable","name":"deploymentsDir","nameLocation":"1920:14:114","scope":67477,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":66444,"name":"string","nodeType":"ElementaryTypeName","src":"1904:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":66448,"nodeType":"VariableDeclaration","src":"2018:33:114","nodes":[],"constant":false,"documentation":{"id":66446,"nodeType":"StructuredDocumentation","src":"1940:73:114","text":"@notice The path to the deployment artifact that is being written to."},"mutability":"mutable","name":"deploymentOutfile","nameLocation":"2034:17:114","scope":67477,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":66447,"name":"string","nodeType":"ElementaryTypeName","src":"2018:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":66451,"nodeType":"VariableDeclaration","src":"2155:33:114","nodes":[],"constant":false,"documentation":{"id":66449,"nodeType":"StructuredDocumentation","src":"2057:93:114","text":"@notice The namespace for the deployment. Can be set with the env var DEPLOYMENT_CONTEXT."},"mutability":"mutable","name":"deploymentContext","nameLocation":"2171:17:114","scope":67477,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":66450,"name":"string","nodeType":"ElementaryTypeName","src":"2155:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":66514,"nodeType":"FunctionDefinition","src":"2246:724:114","nodes":[],"body":{"id":66513,"nodeType":"Block","src":"2278:692:114","nodes":[],"statements":[{"expression":{"id":66459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":66455,"name":"deploymentOutfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66448,"src":"2288:17:114","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66456,"name":"Config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70322,"src":"2308:6:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Config_$70322_$","typeString":"type(library Config)"}},"id":66457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"deploymentOutfile","nodeType":"MemberAccess","referencedDeclaration":69962,"src":"2308:24:114","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":66458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2308:26:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2288:46:114","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":66460,"nodeType":"ExpressionStatement","src":"2288:46:114"},{"expression":{"arguments":[{"hexValue":"57726974696e6720617274696661637420746f202573","id":66464,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2356:24:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_4800a45a0f1ae327887a91cd0c6372a17d223ccd978cdac74bb49c517430f18f","typeString":"literal_string \"Writing artifact to %s\""},"value":"Writing artifact to %s"},{"id":66465,"name":"deploymentOutfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66448,"src":"2382:17:114","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4800a45a0f1ae327887a91cd0c6372a17d223ccd978cdac74bb49c517430f18f","typeString":"literal_string \"Writing artifact to %s\""},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":66461,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32500,"src":"2344:7:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$32500_$","typeString":"type(library console2)"}},"id":66463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25161,"src":"2344:11:114","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) pure"}},"id":66466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2344:56:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66467,"nodeType":"ExpressionStatement","src":"2344:56:114"},{"expression":{"arguments":[{"id":66471,"name":"deploymentOutfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66448,"src":"2436:17:114","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":66468,"name":"ForgeArtifacts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80006,"src":"2410:14:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ForgeArtifacts_$80006_$","typeString":"type(library ForgeArtifacts)"}},"id":66470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"ensurePath","nodeType":"MemberAccess","referencedDeclaration":80005,"src":"2410:25:114","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":66472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2410:44:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66473,"nodeType":"ExpressionStatement","src":"2410:44:114"},{"assignments":[66475],"declarations":[{"constant":false,"id":66475,"mutability":"mutable","name":"chainId","nameLocation":"2473:7:114","nodeType":"VariableDeclaration","scope":66513,"src":"2465:15:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66474,"name":"uint256","nodeType":"ElementaryTypeName","src":"2465:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66479,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66476,"name":"Config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70322,"src":"2483:6:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Config_$70322_$","typeString":"type(library Config)"}},"id":66477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"chainID","nodeType":"MemberAccess","referencedDeclaration":70027,"src":"2483:14:114","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":66478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2483:16:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2465:34:114"},{"expression":{"arguments":[{"hexValue":"436f6e6e656374656420746f206e6574776f726b207769746820636861696e6964202573","id":66483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2521:38:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_0be44a41f43b42e811c4812cbf0245b059598332a30d5b724e68f93ec24b4a24","typeString":"literal_string \"Connected to network with chainid %s\""},"value":"Connected to network with chainid %s"},{"id":66484,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66475,"src":"2561:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0be44a41f43b42e811c4812cbf0245b059598332a30d5b724e68f93ec24b4a24","typeString":"literal_string \"Connected to network with chainid %s\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":66480,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32500,"src":"2509:7:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$32500_$","typeString":"type(library console2)"}},"id":66482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25127,"src":"2509:11:114","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":66485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2509:60:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66486,"nodeType":"ExpressionStatement","src":"2509:60:114"},{"assignments":[66488],"declarations":[{"constant":false,"id":66488,"mutability":"mutable","name":"addresses","nameLocation":"2764:9:114","nodeType":"VariableDeclaration","scope":66513,"src":"2750:23:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":66487,"name":"string","nodeType":"ElementaryTypeName","src":"2750:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":66492,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":66489,"name":"Config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70322,"src":"2776:6:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Config_$70322_$","typeString":"type(library Config)"}},"id":66490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"contractAddressesPath","nodeType":"MemberAccess","referencedDeclaration":70045,"src":"2776:28:114","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":66491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2776:30:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"2750:56:114"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":66495,"name":"addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66488,"src":"2826:9:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":66494,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2820:5:114","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":66493,"name":"bytes","nodeType":"ElementaryTypeName","src":"2820:5:114","typeDescriptions":{}}},"id":66496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2820:16:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":66497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2820:23:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":66498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2846:1:114","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2820:27:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66512,"nodeType":"IfStatement","src":"2816:148:114","trueBody":{"id":66511,"nodeType":"Block","src":"2849:115:114","statements":[{"expression":{"arguments":[{"hexValue":"4c6f6164696e67206164647265737365732066726f6d202573","id":66503,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2875:27:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_52cc2084d30cc8285c29ef50da4f688e5c9c4e47dde3578ae5806bd81666c69c","typeString":"literal_string \"Loading addresses from %s\""},"value":"Loading addresses from %s"},{"id":66504,"name":"addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66488,"src":"2904:9:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_52cc2084d30cc8285c29ef50da4f688e5c9c4e47dde3578ae5806bd81666c69c","typeString":"literal_string \"Loading addresses from %s\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":66500,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32500,"src":"2863:7:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$32500_$","typeString":"type(library console2)"}},"id":66502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25161,"src":"2863:11:114","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) pure"}},"id":66505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2863:51:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66506,"nodeType":"ExpressionStatement","src":"2863:51:114"},{"expression":{"arguments":[{"id":66508,"name":"addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66488,"src":"2943:9:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":66507,"name":"_loadAddresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66612,"src":"2928:14:114","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":66509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2928:25:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66510,"nodeType":"ExpressionStatement","src":"2928:25:114"}]}}]},"documentation":{"id":66452,"nodeType":"StructuredDocumentation","src":"2195:46:114","text":"@notice Setup function. The arguments here"},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"2255:5:114","parameters":{"id":66453,"nodeType":"ParameterList","parameters":[],"src":"2260:2:114"},"returnParameters":{"id":66454,"nodeType":"ParameterList","parameters":[],"src":"2278:0:114"},"scope":67477,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":66612,"nodeType":"FunctionDefinition","src":"3333:555:114","nodes":[],"body":{"id":66611,"nodeType":"Block","src":"3387:501:114","nodes":[],"statements":[{"assignments":[66524],"declarations":[{"constant":false,"id":66524,"mutability":"mutable","name":"commands","nameLocation":"3413:8:114","nodeType":"VariableDeclaration","scope":66611,"src":"3397:24:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":66522,"name":"string","nodeType":"ElementaryTypeName","src":"3397:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":66523,"nodeType":"ArrayTypeName","src":"3397:8:114","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"id":66530,"initialValue":{"arguments":[{"hexValue":"33","id":66528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3437:1:114","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":66527,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3424:12:114","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (string memory[] memory)"},"typeName":{"baseType":{"id":66525,"name":"string","nodeType":"ElementaryTypeName","src":"3428:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":66526,"nodeType":"ArrayTypeName","src":"3428:8:114","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}}},"id":66529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3424:15:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3397:42:114"},{"expression":{"id":66535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":66531,"name":"commands","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66524,"src":"3449:8:114","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":66533,"indexExpression":{"hexValue":"30","id":66532,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3458:1:114","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3449:11:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"62617368","id":66534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3463:6:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_3a20a0a136f9116b8130e31d0d8f14d3b1802506e7c4b809f577c201eb7bf34c","typeString":"literal_string \"bash\""},"value":"bash"},"src":"3449:20:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":66536,"nodeType":"ExpressionStatement","src":"3449:20:114"},{"expression":{"id":66541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":66537,"name":"commands","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66524,"src":"3479:8:114","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":66539,"indexExpression":{"hexValue":"31","id":66538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3488:1:114","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3479:11:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d63","id":66540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3493:4:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_db7d58baf49317c91030cfef6ad60af45b39dbc6be58ff6e95c9a0a3f4fce22c","typeString":"literal_string \"-c\""},"value":"-c"},"src":"3479:18:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":66542,"nodeType":"ExpressionStatement","src":"3479:18:114"},{"expression":{"id":66552,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":66543,"name":"commands","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66524,"src":"3507:8:114","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":66545,"indexExpression":{"hexValue":"32","id":66544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3516:1:114","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3507:11:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"6a71202d6372203c20","id":66549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3535:11:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_364c5a56f3d7e7563509ff6b8963cb064d4cdc31bfa3d5e4dd92e568bded1d85","typeString":"literal_string \"jq -cr < \""},"value":"jq -cr < "},{"id":66550,"name":"_path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66517,"src":"3548:5:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_364c5a56f3d7e7563509ff6b8963cb064d4cdc31bfa3d5e4dd92e568bded1d85","typeString":"literal_string \"jq -cr < \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":66547,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3521:6:114","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":66546,"name":"string","nodeType":"ElementaryTypeName","src":"3521:6:114","typeDescriptions":{}}},"id":66548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"concat","nodeType":"MemberAccess","src":"3521:13:114","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":66551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3521:33:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"3507:47:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":66553,"nodeType":"ExpressionStatement","src":"3507:47:114"},{"assignments":[66555],"declarations":[{"constant":false,"id":66555,"mutability":"mutable","name":"json","nameLocation":"3578:4:114","nodeType":"VariableDeclaration","scope":66611,"src":"3564:18:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":66554,"name":"string","nodeType":"ElementaryTypeName","src":"3564:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":66563,"initialValue":{"arguments":[{"arguments":[{"id":66560,"name":"commands","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66524,"src":"3604:8:114","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}],"expression":{"id":66558,"name":"Process","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84150,"src":"3592:7:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Process_$84150_$","typeString":"type(library Process)"}},"id":66559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"run","nodeType":"MemberAccess","referencedDeclaration":84048,"src":"3592:11:114","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory[] memory) returns (bytes memory)"}},"id":66561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3592:21:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66557,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3585:6:114","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":66556,"name":"string","nodeType":"ElementaryTypeName","src":"3585:6:114","typeDescriptions":{}}},"id":66562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3585:29:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"3564:50:114"},{"assignments":[66568],"declarations":[{"constant":false,"id":66568,"mutability":"mutable","name":"keys","nameLocation":"3640:4:114","nodeType":"VariableDeclaration","scope":66611,"src":"3624:20:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":66566,"name":"string","nodeType":"ElementaryTypeName","src":"3624:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":66567,"nodeType":"ArrayTypeName","src":"3624:8:114","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"id":66574,"initialValue":{"arguments":[{"id":66571,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66555,"src":"3664:4:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"","id":66572,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3670:2:114","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 \"\""}],"expression":{"id":66569,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66421,"src":"3647:2:114","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":66570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseJsonKeys","nodeType":"MemberAccess","referencedDeclaration":13627,"src":"3647:16:114","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure external returns (string memory[] memory)"}},"id":66573,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3647:26:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3624:49:114"},{"body":{"id":66609,"nodeType":"Block","src":"3721:161:114","statements":[{"assignments":[66586],"declarations":[{"constant":false,"id":66586,"mutability":"mutable","name":"key","nameLocation":"3749:3:114","nodeType":"VariableDeclaration","scope":66609,"src":"3735:17:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":66585,"name":"string","nodeType":"ElementaryTypeName","src":"3735:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":66590,"initialValue":{"baseExpression":{"id":66587,"name":"keys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66568,"src":"3755:4:114","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":66589,"indexExpression":{"id":66588,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66576,"src":"3760:1:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3755:7:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"3735:27:114"},{"assignments":[66592],"declarations":[{"constant":false,"id":66592,"mutability":"mutable","name":"addr","nameLocation":"3784:4:114","nodeType":"VariableDeclaration","scope":66609,"src":"3776:12:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":66591,"name":"address","nodeType":"ElementaryTypeName","src":"3776:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":66603,"initialValue":{"arguments":[{"id":66595,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66555,"src":"3811:4:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[{"hexValue":"242e","id":66599,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3831:4:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_6faa725772d3ec9bc3e2c0e6f38053768a5b2e39ca8e06e292c9dccfac6d9d81","typeString":"literal_string \"$.\""},"value":"$."},{"id":66600,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66586,"src":"3837:3:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6faa725772d3ec9bc3e2c0e6f38053768a5b2e39ca8e06e292c9dccfac6d9d81","typeString":"literal_string \"$.\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":66597,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3817:6:114","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":66596,"name":"string","nodeType":"ElementaryTypeName","src":"3817:6:114","typeDescriptions":{}}},"id":66598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"concat","nodeType":"MemberAccess","src":"3817:13:114","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":66601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3817:24:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":66593,"name":"stdJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7754,"src":"3791:7:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdJson_$7754_$","typeString":"type(library stdJson)"}},"id":66594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"readAddress","nodeType":"MemberAccess","referencedDeclaration":7348,"src":"3791:19:114","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,string memory) pure returns (address)"}},"id":66602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3791:51:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3776:66:114"},{"expression":{"arguments":[{"id":66605,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66586,"src":"3861:3:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":66606,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66592,"src":"3866:4:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"id":66604,"name":"save","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67167,"src":"3856:4:114","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address)"}},"id":66607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3856:15:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":66608,"nodeType":"ExpressionStatement","src":"3856:15:114"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66578,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66576,"src":"3699:1:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":66579,"name":"keys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66568,"src":"3703:4:114","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":66580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"3703:11:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3699:15:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66610,"initializationExpression":{"assignments":[66576],"declarations":[{"constant":false,"id":66576,"mutability":"mutable","name":"i","nameLocation":"3696:1:114","nodeType":"VariableDeclaration","scope":66610,"src":"3688:9:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":66575,"name":"uint256","nodeType":"ElementaryTypeName","src":"3688:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":66577,"nodeType":"VariableDeclarationStatement","src":"3688:9:114"},"loopExpression":{"expression":{"id":66583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3716:3:114","subExpression":{"id":66582,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66576,"src":"3716:1:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":66584,"nodeType":"ExpressionStatement","src":"3716:3:114"},"nodeType":"ForStatement","src":"3683:199:114"}]},"documentation":{"id":66515,"nodeType":"StructuredDocumentation","src":"2976:352:114","text":"@notice Populates the addresses to be used in a script based on a JSON file.\n         The format of the JSON file is the same that it output by this script\n         as well as the JSON files that contain addresses in the `superchain-registry`\n         repo. The JSON key is the name of the contract and the value is an address."},"implemented":true,"kind":"function","modifiers":[],"name":"_loadAddresses","nameLocation":"3342:14:114","parameters":{"id":66518,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66517,"mutability":"mutable","name":"_path","nameLocation":"3371:5:114","nodeType":"VariableDeclaration","scope":66612,"src":"3357:19:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":66516,"name":"string","nodeType":"ElementaryTypeName","src":"3357:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3356:21:114"},"returnParameters":{"id":66519,"nodeType":"ParameterList","parameters":[],"src":"3387:0:114"},"scope":67477,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":66623,"nodeType":"FunctionDefinition","src":"3970:109:114","nodes":[],"body":{"id":66622,"nodeType":"Block","src":"4040:39:114","nodes":[],"statements":[{"expression":{"id":66620,"name":"_newDeployments","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66442,"src":"4057:15:114","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Deployment_$66402_storage_$dyn_storage","typeString":"struct Deployment storage ref[] storage ref"}},"functionReturnParameters":66619,"id":66621,"nodeType":"Return","src":"4050:22:114"}]},"documentation":{"id":66613,"nodeType":"StructuredDocumentation","src":"3894:71:114","text":"@notice Returns all of the deployments done in the current context."},"functionSelector":"e8727781","implemented":true,"kind":"function","modifiers":[],"name":"newDeployments","nameLocation":"3979:14:114","parameters":{"id":66614,"nodeType":"ParameterList","parameters":[],"src":"3993:2:114"},"returnParameters":{"id":66619,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66618,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66623,"src":"4019:19:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Deployment_$66402_memory_ptr_$dyn_memory_ptr","typeString":"struct Deployment[]"},"typeName":{"baseType":{"id":66616,"nodeType":"UserDefinedTypeName","pathNode":{"id":66615,"name":"Deployment","nodeType":"IdentifierPath","referencedDeclaration":66402,"src":"4019:10:114"},"referencedDeclaration":66402,"src":"4019:10:114","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_storage_ptr","typeString":"struct Deployment"}},"id":66617,"nodeType":"ArrayTypeName","src":"4019:12:114","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Deployment_$66402_storage_$dyn_storage_ptr","typeString":"struct Deployment[]"}},"visibility":"internal"}],"src":"4018:21:114"},"scope":67477,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":66648,"nodeType":"FunctionDefinition","src":"4259:179:114","nodes":[],"body":{"id":66647,"nodeType":"Block","src":"4320:118:114","nodes":[],"statements":[{"assignments":[66633],"declarations":[{"constant":false,"id":66633,"mutability":"mutable","name":"existing","nameLocation":"4348:8:114","nodeType":"VariableDeclaration","scope":66647,"src":"4330:26:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_memory_ptr","typeString":"struct Deployment"},"typeName":{"id":66632,"nodeType":"UserDefinedTypeName","pathNode":{"id":66631,"name":"Deployment","nodeType":"IdentifierPath","referencedDeclaration":66402,"src":"4330:10:114"},"referencedDeclaration":66402,"src":"4330:10:114","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_storage_ptr","typeString":"struct Deployment"}},"visibility":"internal"}],"id":66637,"initialValue":{"baseExpression":{"id":66634,"name":"_namedDeployments","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66437,"src":"4359:17:114","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Deployment_$66402_storage_$","typeString":"mapping(string memory => struct Deployment storage ref)"}},"id":66636,"indexExpression":{"id":66635,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66626,"src":"4377:5:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4359:24:114","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_storage","typeString":"struct Deployment storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4330:53:114"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"id":66640,"name":"existing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66633,"src":"4406:8:114","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_memory_ptr","typeString":"struct Deployment memory"}},"id":66641,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"name","nodeType":"MemberAccess","referencedDeclaration":66399,"src":"4406:13:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":66639,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4400:5:114","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":66638,"name":"bytes","nodeType":"ElementaryTypeName","src":"4400:5:114","typeDescriptions":{}}},"id":66642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4400:20:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":66643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"4400:27:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":66644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4430:1:114","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4400:31:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":66630,"id":66646,"nodeType":"Return","src":"4393:38:114"}]},"documentation":{"id":66624,"nodeType":"StructuredDocumentation","src":"4085:169:114","text":"@notice Returns whether or not a particular deployment exists.\n @param _name The name of the deployment.\n @return Whether the deployment exists or not."},"functionSelector":"a8e52294","implemented":true,"kind":"function","modifiers":[],"name":"has","nameLocation":"4268:3:114","parameters":{"id":66627,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66626,"mutability":"mutable","name":"_name","nameLocation":"4286:5:114","nodeType":"VariableDeclaration","scope":66648,"src":"4272:19:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":66625,"name":"string","nodeType":"ElementaryTypeName","src":"4272:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4271:21:114"},"returnParameters":{"id":66630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66629,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":66648,"src":"4314:4:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":66628,"name":"bool","nodeType":"ElementaryTypeName","src":"4314:4:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4313:6:114"},"scope":67477,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":67047,"nodeType":"FunctionDefinition","src":"4692:3102:114","nodes":[],"body":{"id":67046,"nodeType":"Block","src":"4771:3023:114","nodes":[],"statements":[{"assignments":[66658],"declarations":[{"constant":false,"id":66658,"mutability":"mutable","name":"existing","nameLocation":"4799:8:114","nodeType":"VariableDeclaration","scope":67046,"src":"4781:26:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_memory_ptr","typeString":"struct Deployment"},"typeName":{"id":66657,"nodeType":"UserDefinedTypeName","pathNode":{"id":66656,"name":"Deployment","nodeType":"IdentifierPath","referencedDeclaration":66402,"src":"4781:10:114"},"referencedDeclaration":66402,"src":"4781:10:114","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_storage_ptr","typeString":"struct Deployment"}},"visibility":"internal"}],"id":66662,"initialValue":{"baseExpression":{"id":66659,"name":"_namedDeployments","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66437,"src":"4810:17:114","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Deployment_$66402_storage_$","typeString":"mapping(string memory => struct Deployment storage ref)"}},"id":66661,"indexExpression":{"id":66660,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66651,"src":"4828:5:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4810:24:114","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_storage","typeString":"struct Deployment storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4781:53:114"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":66669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":66663,"name":"existing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66658,"src":"4848:8:114","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_memory_ptr","typeString":"struct Deployment memory"}},"id":66664,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":66401,"src":"4848:13:114","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":66667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4873:1:114","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66666,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4865:7:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66665,"name":"address","nodeType":"ElementaryTypeName","src":"4865:7:114","typeDescriptions":{}}},"id":66668,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4865:10:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4848:27:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66692,"nodeType":"IfStatement","src":"4844:188:114","trueBody":{"id":66691,"nodeType":"Block","src":"4877:155:114","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":66677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"id":66672,"name":"existing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66658,"src":"4901:8:114","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_memory_ptr","typeString":"struct Deployment memory"}},"id":66673,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"name","nodeType":"MemberAccess","referencedDeclaration":66399,"src":"4901:13:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":66671,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4895:5:114","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":66670,"name":"bytes","nodeType":"ElementaryTypeName","src":"4895:5:114","typeDescriptions":{}}},"id":66674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4895:20:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":66675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"4895:27:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":66676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4926:1:114","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4895:32:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":66687,"nodeType":"IfStatement","src":"4891:97:114","trueBody":{"id":66686,"nodeType":"Block","src":"4929:59:114","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":66682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4970:1:114","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":66681,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4962:7:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":66680,"name":"address","nodeType":"ElementaryTypeName","src":"4962:7:114","typeDescriptions":{}}},"id":66683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4962:10:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66679,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4954:8:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":66678,"name":"address","nodeType":"ElementaryTypeName","src":"4954:8:114","stateMutability":"payable","typeDescriptions":{}}},"id":66684,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4954:19:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":66655,"id":66685,"nodeType":"Return","src":"4947:26:114"}]}},{"expression":{"expression":{"id":66688,"name":"existing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66658,"src":"5008:8:114","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_memory_ptr","typeString":"struct Deployment memory"}},"id":66689,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":66401,"src":"5008:13:114","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":66655,"id":66690,"nodeType":"Return","src":"5001:20:114"}]}},{"assignments":[66694],"declarations":[{"constant":false,"id":66694,"mutability":"mutable","name":"digest","nameLocation":"5050:6:114","nodeType":"VariableDeclaration","scope":67046,"src":"5042:14:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":66693,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5042:7:114","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":66701,"initialValue":{"arguments":[{"arguments":[{"id":66698,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66651,"src":"5075:5:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":66697,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5069:5:114","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":66696,"name":"bytes","nodeType":"ElementaryTypeName","src":"5069:5:114","typeDescriptions":{}}},"id":66699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5069:12:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66695,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5059:9:114","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5059:23:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"5042:40:114"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":66709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66702,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66694,"src":"5096:6:114","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"4c3243726f7373446f6d61696e4d657373656e676572","id":66706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5122:24:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_044f1f84b9ad3faebfe186678e8b3367a49762855c18465b167279ddb536e857","typeString":"literal_string \"L2CrossDomainMessenger\""},"value":"L2CrossDomainMessenger"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_044f1f84b9ad3faebfe186678e8b3367a49762855c18465b167279ddb536e857","typeString":"literal_string \"L2CrossDomainMessenger\""}],"id":66705,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5116:5:114","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":66704,"name":"bytes","nodeType":"ElementaryTypeName","src":"5116:5:114","typeDescriptions":{}}},"id":66707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5116:31:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66703,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5106:9:114","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66708,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5106:42:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5096:52:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":66724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66717,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66694,"src":"5237:6:114","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"4c32546f4c314d657373616765506173736572","id":66721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5263:21:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_9c9c707aaf395001a4d08ba738218cd91a2329dcd7f94ebebc388bce8c024c51","typeString":"literal_string \"L2ToL1MessagePasser\""},"value":"L2ToL1MessagePasser"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9c9c707aaf395001a4d08ba738218cd91a2329dcd7f94ebebc388bce8c024c51","typeString":"literal_string \"L2ToL1MessagePasser\""}],"id":66720,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5257:5:114","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":66719,"name":"bytes","nodeType":"ElementaryTypeName","src":"5257:5:114","typeDescriptions":{}}},"id":66722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5257:28:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66718,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5247:9:114","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5247:39:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5237:49:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":66739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66732,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66694,"src":"5373:6:114","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"4c325374616e64617264427269646765","id":66736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5399:18:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_1596b9b25e14adc7d2b9852532a60aa14f667891f99c97daab457337758d1e07","typeString":"literal_string \"L2StandardBridge\""},"value":"L2StandardBridge"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1596b9b25e14adc7d2b9852532a60aa14f667891f99c97daab457337758d1e07","typeString":"literal_string \"L2StandardBridge\""}],"id":66735,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5393:5:114","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":66734,"name":"bytes","nodeType":"ElementaryTypeName","src":"5393:5:114","typeDescriptions":{}}},"id":66737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5393:25:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66733,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5383:9:114","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5383:36:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5373:46:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":66754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66747,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66694,"src":"5501:6:114","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"4c32455243373231427269646765","id":66751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5527:16:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_604f4608fc4c6fa957be604eadbce841777175cfdc6db7a28bec2d09241a22a0","typeString":"literal_string \"L2ERC721Bridge\""},"value":"L2ERC721Bridge"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_604f4608fc4c6fa957be604eadbce841777175cfdc6db7a28bec2d09241a22a0","typeString":"literal_string \"L2ERC721Bridge\""}],"id":66750,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5521:5:114","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":66749,"name":"bytes","nodeType":"ElementaryTypeName","src":"5521:5:114","typeDescriptions":{}}},"id":66752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5521:23:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66748,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5511:9:114","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5511:34:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5501:44:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":66769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66762,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66694,"src":"5625:6:114","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"53657175656e63657246656557616c6c6574","id":66766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5651:20:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_f6c20f8df4f933b2602067d407d8874fb2ecfc8c6a3db6f52da26deca0305b84","typeString":"literal_string \"SequencerFeeWallet\""},"value":"SequencerFeeWallet"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f6c20f8df4f933b2602067d407d8874fb2ecfc8c6a3db6f52da26deca0305b84","typeString":"literal_string \"SequencerFeeWallet\""}],"id":66765,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5645:5:114","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":66764,"name":"bytes","nodeType":"ElementaryTypeName","src":"5645:5:114","typeDescriptions":{}}},"id":66767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5645:27:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66763,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5635:9:114","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5635:38:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5625:48:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":66784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66777,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66694,"src":"5757:6:114","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"4f7074696d69736d4d696e7461626c654552433230466163746f7279","id":66781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5783:30:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ceb1cf5cdb3c5a95c46c8f1a434c9dffeaadc90588c2e7126bb6da8971ea1c9","typeString":"literal_string \"OptimismMintableERC20Factory\""},"value":"OptimismMintableERC20Factory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ceb1cf5cdb3c5a95c46c8f1a434c9dffeaadc90588c2e7126bb6da8971ea1c9","typeString":"literal_string \"OptimismMintableERC20Factory\""}],"id":66780,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5777:5:114","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":66779,"name":"bytes","nodeType":"ElementaryTypeName","src":"5777:5:114","typeDescriptions":{}}},"id":66782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5777:37:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66778,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5767:9:114","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5767:48:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5757:58:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":66799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66792,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66694,"src":"5910:6:114","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"4f7074696d69736d4d696e7461626c65455243373231466163746f7279","id":66796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5936:31:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_dd76fb248849526c75c27beeb42f9f735f7ebb53b07297685881d4072ef882cd","typeString":"literal_string \"OptimismMintableERC721Factory\""},"value":"OptimismMintableERC721Factory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dd76fb248849526c75c27beeb42f9f735f7ebb53b07297685881d4072ef882cd","typeString":"literal_string \"OptimismMintableERC721Factory\""}],"id":66795,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5930:5:114","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":66794,"name":"bytes","nodeType":"ElementaryTypeName","src":"5930:5:114","typeDescriptions":{}}},"id":66797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5930:38:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66793,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5920:9:114","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5920:49:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5910:59:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":66814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66807,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66694,"src":"6065:6:114","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"4c31426c6f636b","id":66811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6091:9:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_46a8a118206040df341efc9cc45d18c907f01ed1a4d3ae55594d9a802a9b1ac7","typeString":"literal_string \"L1Block\""},"value":"L1Block"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46a8a118206040df341efc9cc45d18c907f01ed1a4d3ae55594d9a802a9b1ac7","typeString":"literal_string \"L1Block\""}],"id":66810,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6085:5:114","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":66809,"name":"bytes","nodeType":"ElementaryTypeName","src":"6085:5:114","typeDescriptions":{}}},"id":66812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6085:16:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66808,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6075:9:114","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6075:27:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6065:37:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":66829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66822,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66694,"src":"6185:6:114","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"47617350726963654f7261636c65","id":66826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6211:16:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_b805b4628c7eb76eb0fee0af85c84f1192e9325a3357e06de8523daaa6734de1","typeString":"literal_string \"GasPriceOracle\""},"value":"GasPriceOracle"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b805b4628c7eb76eb0fee0af85c84f1192e9325a3357e06de8523daaa6734de1","typeString":"literal_string \"GasPriceOracle\""}],"id":66825,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6205:5:114","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":66824,"name":"bytes","nodeType":"ElementaryTypeName","src":"6205:5:114","typeDescriptions":{}}},"id":66827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6205:23:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66823,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6195:9:114","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6195:34:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6185:44:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":66844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66837,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66694,"src":"6309:6:114","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"4c314d65737361676553656e646572","id":66841,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6335:17:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb957a0ff867ec36fa63f3a0e2919872612f601409c4d0c2091d8d7480c7db4b","typeString":"literal_string \"L1MessageSender\""},"value":"L1MessageSender"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cb957a0ff867ec36fa63f3a0e2919872612f601409c4d0c2091d8d7480c7db4b","typeString":"literal_string \"L1MessageSender\""}],"id":66840,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6329:5:114","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":66839,"name":"bytes","nodeType":"ElementaryTypeName","src":"6329:5:114","typeDescriptions":{}}},"id":66842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6329:24:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66838,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6319:9:114","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6319:35:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6309:45:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":66859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66852,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66694,"src":"6435:6:114","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"4465706c6f79657257686974656c697374","id":66856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6461:19:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_d13756a751a721bd456049847e1de8670b9133a09518d02197bc582c4e74640e","typeString":"literal_string \"DeployerWhitelist\""},"value":"DeployerWhitelist"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d13756a751a721bd456049847e1de8670b9133a09518d02197bc582c4e74640e","typeString":"literal_string \"DeployerWhitelist\""}],"id":66855,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6455:5:114","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":66854,"name":"bytes","nodeType":"ElementaryTypeName","src":"6455:5:114","typeDescriptions":{}}},"id":66857,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6455:26:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66853,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6445:9:114","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6445:37:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6435:47:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":66874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66867,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66694,"src":"6564:6:114","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"57455448","id":66871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6590:6:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_0f8a193ff464434486c0daf7db2a895884365d2bc84ba47a68fcf89c1b14b5b8","typeString":"literal_string \"WETH\""},"value":"WETH"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0f8a193ff464434486c0daf7db2a895884365d2bc84ba47a68fcf89c1b14b5b8","typeString":"literal_string \"WETH\""}],"id":66870,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6584:5:114","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":66869,"name":"bytes","nodeType":"ElementaryTypeName","src":"6584:5:114","typeDescriptions":{}}},"id":66872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6584:13:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66868,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6574:9:114","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66873,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6574:24:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6564:34:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":66889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66882,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66694,"src":"6666:6:114","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"4c656761637945524332304e6174697665546f6b656e","id":66886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6692:24:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_77636bab800613f121fad9723ac5ee77b86bfafe21ad68d4da49f921cb0dcacd","typeString":"literal_string \"LegacyERC20NativeToken\""},"value":"LegacyERC20NativeToken"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_77636bab800613f121fad9723ac5ee77b86bfafe21ad68d4da49f921cb0dcacd","typeString":"literal_string \"LegacyERC20NativeToken\""}],"id":66885,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6686:5:114","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":66884,"name":"bytes","nodeType":"ElementaryTypeName","src":"6686:5:114","typeDescriptions":{}}},"id":66887,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6686:31:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66883,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6676:9:114","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66888,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6676:42:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6666:52:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":66904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66897,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66694,"src":"6807:6:114","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"4c31426c6f636b4e756d626572","id":66901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6833:15:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_d05bc9ca43cb4060a50b2dfd9384477ad9239b4750a80eb2bde4a78311c25114","typeString":"literal_string \"L1BlockNumber\""},"value":"L1BlockNumber"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d05bc9ca43cb4060a50b2dfd9384477ad9239b4750a80eb2bde4a78311c25114","typeString":"literal_string \"L1BlockNumber\""}],"id":66900,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6827:5:114","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":66899,"name":"bytes","nodeType":"ElementaryTypeName","src":"6827:5:114","typeDescriptions":{}}},"id":66902,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6827:22:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66898,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6817:9:114","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6817:33:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6807:43:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":66919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66912,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66694,"src":"6929:6:114","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"4c65676163794d657373616765506173736572","id":66916,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6955:21:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_c75090a188be5b2c3869d9a0f2f44bed0dfa7769539674cf1a5b9850c48b87ea","typeString":"literal_string \"LegacyMessagePasser\""},"value":"LegacyMessagePasser"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c75090a188be5b2c3869d9a0f2f44bed0dfa7769539674cf1a5b9850c48b87ea","typeString":"literal_string \"LegacyMessagePasser\""}],"id":66915,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6949:5:114","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":66914,"name":"bytes","nodeType":"ElementaryTypeName","src":"6949:5:114","typeDescriptions":{}}},"id":66917,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6949:28:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66913,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6939:9:114","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66918,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6939:39:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6929:49:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":66934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66927,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66694,"src":"7063:6:114","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"50726f787941646d696e","id":66931,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7089:12:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_96ed0203eb7e975a4cbcaa23951943fa35c5d8288117d50c12b3d48b0fab48d1","typeString":"literal_string \"ProxyAdmin\""},"value":"ProxyAdmin"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_96ed0203eb7e975a4cbcaa23951943fa35c5d8288117d50c12b3d48b0fab48d1","typeString":"literal_string \"ProxyAdmin\""}],"id":66930,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7083:5:114","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":66929,"name":"bytes","nodeType":"ElementaryTypeName","src":"7083:5:114","typeDescriptions":{}}},"id":66932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7083:19:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66928,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7073:9:114","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7073:30:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7063:40:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":66949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66942,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66694,"src":"7178:6:114","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"426173654665655661756c74","id":66946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7204:14:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_e534452f1a60837f18e967af6b97be1c02ddce2f8c025e24121a71bfaf8ceab0","typeString":"literal_string \"BaseFeeVault\""},"value":"BaseFeeVault"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e534452f1a60837f18e967af6b97be1c02ddce2f8c025e24121a71bfaf8ceab0","typeString":"literal_string \"BaseFeeVault\""}],"id":66945,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7198:5:114","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":66944,"name":"bytes","nodeType":"ElementaryTypeName","src":"7198:5:114","typeDescriptions":{}}},"id":66947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7198:21:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66943,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7188:9:114","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7188:32:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7178:42:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":66964,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66957,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66694,"src":"7298:6:114","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"4c314665655661756c74","id":66961,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7324:12:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_fb4fdf66833997757d2cce058428732cd340ec5e82554b09f490fc3edcaa0b12","typeString":"literal_string \"L1FeeVault\""},"value":"L1FeeVault"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fb4fdf66833997757d2cce058428732cd340ec5e82554b09f490fc3edcaa0b12","typeString":"literal_string \"L1FeeVault\""}],"id":66960,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7318:5:114","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":66959,"name":"bytes","nodeType":"ElementaryTypeName","src":"7318:5:114","typeDescriptions":{}}},"id":66962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7318:19:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66958,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7308:9:114","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7308:30:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7298:40:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":66979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66972,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66694,"src":"7414:6:114","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"476f7665726e616e6365546f6b656e","id":66976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7440:17:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_52cc2123c5b8e3f056be8fd12b06d49cf9c7228fdef9974c01d8865a59efc4f4","typeString":"literal_string \"GovernanceToken\""},"value":"GovernanceToken"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_52cc2123c5b8e3f056be8fd12b06d49cf9c7228fdef9974c01d8865a59efc4f4","typeString":"literal_string \"GovernanceToken\""}],"id":66975,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7434:5:114","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":66974,"name":"bytes","nodeType":"ElementaryTypeName","src":"7434:5:114","typeDescriptions":{}}},"id":66977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7434:24:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66973,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7424:9:114","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7424:35:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7414:45:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":66994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":66987,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66694,"src":"7539:6:114","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"536368656d615265676973747279","id":66991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7565:16:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_549a70201b9f4fb989a7a5ac6ab6f81f25db6ae189691c84a7c16a28abf1b7c4","typeString":"literal_string \"SchemaRegistry\""},"value":"SchemaRegistry"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_549a70201b9f4fb989a7a5ac6ab6f81f25db6ae189691c84a7c16a28abf1b7c4","typeString":"literal_string \"SchemaRegistry\""}],"id":66990,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7559:5:114","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":66989,"name":"bytes","nodeType":"ElementaryTypeName","src":"7559:5:114","typeDescriptions":{}}},"id":66992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7559:23:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":66988,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7549:9:114","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":66993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7549:34:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7539:44:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":67009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67002,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66694,"src":"7662:6:114","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"454153","id":67006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7688:5:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_9fed719e0073f95229e6f4f6b6f28f260c524ab08aa40b11f9c28cb710d7c72a","typeString":"literal_string \"EAS\""},"value":"EAS"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9fed719e0073f95229e6f4f6b6f28f260c524ab08aa40b11f9c28cb710d7c72a","typeString":"literal_string \"EAS\""}],"id":67005,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7682:5:114","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":67004,"name":"bytes","nodeType":"ElementaryTypeName","src":"7682:5:114","typeDescriptions":{}}},"id":67007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7682:12:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":67003,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7672:9:114","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":67008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7672:23:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7662:33:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67017,"nodeType":"IfStatement","src":"7658:94:114","trueBody":{"id":67016,"nodeType":"Block","src":"7697:55:114","statements":[{"expression":{"arguments":[{"expression":{"id":67012,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114341,"src":"7726:10:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$114341_$","typeString":"type(library Predeploys)"}},"id":67013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"EAS","nodeType":"MemberAccess","referencedDeclaration":113926,"src":"7726:14:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67011,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7718:8:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":67010,"name":"address","nodeType":"ElementaryTypeName","src":"7718:8:114","stateMutability":"payable","typeDescriptions":{}}},"id":67014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7718:23:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":66655,"id":67015,"nodeType":"Return","src":"7711:30:114"}]}},"id":67018,"nodeType":"IfStatement","src":"7535:217:114","trueBody":{"id":67001,"nodeType":"Block","src":"7585:67:114","statements":[{"expression":{"arguments":[{"expression":{"id":66997,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114341,"src":"7614:10:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$114341_$","typeString":"type(library Predeploys)"}},"id":66998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"SCHEMA_REGISTRY","nodeType":"MemberAccess","referencedDeclaration":113922,"src":"7614:26:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66996,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7606:8:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":66995,"name":"address","nodeType":"ElementaryTypeName","src":"7606:8:114","stateMutability":"payable","typeDescriptions":{}}},"id":66999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7606:35:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":66655,"id":67000,"nodeType":"Return","src":"7599:42:114"}]}},"id":67019,"nodeType":"IfStatement","src":"7410:342:114","trueBody":{"id":66986,"nodeType":"Block","src":"7461:68:114","statements":[{"expression":{"arguments":[{"expression":{"id":66982,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114341,"src":"7490:10:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$114341_$","typeString":"type(library Predeploys)"}},"id":66983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"GOVERNANCE_TOKEN","nodeType":"MemberAccess","referencedDeclaration":113990,"src":"7490:27:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66981,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7482:8:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":66980,"name":"address","nodeType":"ElementaryTypeName","src":"7482:8:114","stateMutability":"payable","typeDescriptions":{}}},"id":66984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7482:36:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":66655,"id":66985,"nodeType":"Return","src":"7475:43:114"}]}},"id":67020,"nodeType":"IfStatement","src":"7294:458:114","trueBody":{"id":66971,"nodeType":"Block","src":"7340:64:114","statements":[{"expression":{"arguments":[{"expression":{"id":66967,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114341,"src":"7369:10:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$114341_$","typeString":"type(library Predeploys)"}},"id":66968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"L1_FEE_VAULT","nodeType":"MemberAccess","referencedDeclaration":113918,"src":"7369:23:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66966,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7361:8:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":66965,"name":"address","nodeType":"ElementaryTypeName","src":"7361:8:114","stateMutability":"payable","typeDescriptions":{}}},"id":66969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7361:32:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":66655,"id":66970,"nodeType":"Return","src":"7354:39:114"}]}},"id":67021,"nodeType":"IfStatement","src":"7174:578:114","trueBody":{"id":66956,"nodeType":"Block","src":"7222:66:114","statements":[{"expression":{"arguments":[{"expression":{"id":66952,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114341,"src":"7251:10:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$114341_$","typeString":"type(library Predeploys)"}},"id":66953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"BASE_FEE_VAULT","nodeType":"MemberAccess","referencedDeclaration":113914,"src":"7251:25:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66951,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7243:8:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":66950,"name":"address","nodeType":"ElementaryTypeName","src":"7243:8:114","stateMutability":"payable","typeDescriptions":{}}},"id":66954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7243:34:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":66655,"id":66955,"nodeType":"Return","src":"7236:41:114"}]}},"id":67022,"nodeType":"IfStatement","src":"7059:693:114","trueBody":{"id":66941,"nodeType":"Block","src":"7105:63:114","statements":[{"expression":{"arguments":[{"expression":{"id":66937,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114341,"src":"7134:10:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$114341_$","typeString":"type(library Predeploys)"}},"id":66938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"PROXY_ADMIN","nodeType":"MemberAccess","referencedDeclaration":113910,"src":"7134:22:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66936,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7126:8:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":66935,"name":"address","nodeType":"ElementaryTypeName","src":"7126:8:114","stateMutability":"payable","typeDescriptions":{}}},"id":66939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7126:31:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":66655,"id":66940,"nodeType":"Return","src":"7119:38:114"}]}},"id":67023,"nodeType":"IfStatement","src":"6925:827:114","trueBody":{"id":66926,"nodeType":"Block","src":"6980:73:114","statements":[{"expression":{"arguments":[{"expression":{"id":66922,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114341,"src":"7009:10:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$114341_$","typeString":"type(library Predeploys)"}},"id":66923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"LEGACY_MESSAGE_PASSER","nodeType":"MemberAccess","referencedDeclaration":113855,"src":"7009:32:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66921,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7001:8:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":66920,"name":"address","nodeType":"ElementaryTypeName","src":"7001:8:114","stateMutability":"payable","typeDescriptions":{}}},"id":66924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7001:41:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":66655,"id":66925,"nodeType":"Return","src":"6994:48:114"}]}},"id":67024,"nodeType":"IfStatement","src":"6803:949:114","trueBody":{"id":66911,"nodeType":"Block","src":"6852:67:114","statements":[{"expression":{"arguments":[{"expression":{"id":66907,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114341,"src":"6881:10:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$114341_$","typeString":"type(library Predeploys)"}},"id":66908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"L1_BLOCK_NUMBER","nodeType":"MemberAccess","referencedDeclaration":113890,"src":"6881:26:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66906,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6873:8:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":66905,"name":"address","nodeType":"ElementaryTypeName","src":"6873:8:114","stateMutability":"payable","typeDescriptions":{}}},"id":66909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6873:35:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":66655,"id":66910,"nodeType":"Return","src":"6866:42:114"}]}},"id":67025,"nodeType":"IfStatement","src":"6662:1090:114","trueBody":{"id":66896,"nodeType":"Block","src":"6720:77:114","statements":[{"expression":{"arguments":[{"expression":{"id":66892,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114341,"src":"6749:10:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$114341_$","typeString":"type(library Predeploys)"}},"id":66893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"LEGACY_ERC20_NATIVE_TOKEN","nodeType":"MemberAccess","referencedDeclaration":113994,"src":"6749:36:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66891,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6741:8:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":66890,"name":"address","nodeType":"ElementaryTypeName","src":"6741:8:114","stateMutability":"payable","typeDescriptions":{}}},"id":66894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6741:45:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":66655,"id":66895,"nodeType":"Return","src":"6734:52:114"}]}},"id":67026,"nodeType":"IfStatement","src":"6560:1192:114","trueBody":{"id":66881,"nodeType":"Block","src":"6600:56:114","statements":[{"expression":{"arguments":[{"expression":{"id":66877,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114341,"src":"6629:10:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$114341_$","typeString":"type(library Predeploys)"}},"id":66878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"WETH","nodeType":"MemberAccess","referencedDeclaration":113867,"src":"6629:15:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66876,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6621:8:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":66875,"name":"address","nodeType":"ElementaryTypeName","src":"6621:8:114","stateMutability":"payable","typeDescriptions":{}}},"id":66879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6621:24:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":66655,"id":66880,"nodeType":"Return","src":"6614:31:114"}]}},"id":67027,"nodeType":"IfStatement","src":"6431:1321:114","trueBody":{"id":66866,"nodeType":"Block","src":"6484:70:114","statements":[{"expression":{"arguments":[{"expression":{"id":66862,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114341,"src":"6513:10:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$114341_$","typeString":"type(library Predeploys)"}},"id":66863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"DEPLOYER_WHITELIST","nodeType":"MemberAccess","referencedDeclaration":113863,"src":"6513:29:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66861,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6505:8:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":66860,"name":"address","nodeType":"ElementaryTypeName","src":"6505:8:114","stateMutability":"payable","typeDescriptions":{}}},"id":66864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6505:38:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":66655,"id":66865,"nodeType":"Return","src":"6498:45:114"}]}},"id":67028,"nodeType":"IfStatement","src":"6305:1447:114","trueBody":{"id":66851,"nodeType":"Block","src":"6356:69:114","statements":[{"expression":{"arguments":[{"expression":{"id":66847,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114341,"src":"6385:10:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$114341_$","typeString":"type(library Predeploys)"}},"id":66848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"L1_MESSAGE_SENDER","nodeType":"MemberAccess","referencedDeclaration":113859,"src":"6385:28:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66846,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6377:8:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":66845,"name":"address","nodeType":"ElementaryTypeName","src":"6377:8:114","stateMutability":"payable","typeDescriptions":{}}},"id":66849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6377:37:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":66655,"id":66850,"nodeType":"Return","src":"6370:44:114"}]}},"id":67029,"nodeType":"IfStatement","src":"6181:1571:114","trueBody":{"id":66836,"nodeType":"Block","src":"6231:68:114","statements":[{"expression":{"arguments":[{"expression":{"id":66832,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114341,"src":"6260:10:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$114341_$","typeString":"type(library Predeploys)"}},"id":66833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"GAS_PRICE_ORACLE","nodeType":"MemberAccess","referencedDeclaration":113875,"src":"6260:27:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66831,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6252:8:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":66830,"name":"address","nodeType":"ElementaryTypeName","src":"6252:8:114","stateMutability":"payable","typeDescriptions":{}}},"id":66834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6252:36:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":66655,"id":66835,"nodeType":"Return","src":"6245:43:114"}]}},"id":67030,"nodeType":"IfStatement","src":"6061:1691:114","trueBody":{"id":66821,"nodeType":"Block","src":"6104:71:114","statements":[{"expression":{"arguments":[{"expression":{"id":66817,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114341,"src":"6133:10:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$114341_$","typeString":"type(library Predeploys)"}},"id":66818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"L1_BLOCK_ATTRIBUTES","nodeType":"MemberAccess","referencedDeclaration":113898,"src":"6133:30:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66816,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6125:8:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":66815,"name":"address","nodeType":"ElementaryTypeName","src":"6125:8:114","stateMutability":"payable","typeDescriptions":{}}},"id":66819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6125:39:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":66655,"id":66820,"nodeType":"Return","src":"6118:46:114"}]}},"id":67031,"nodeType":"IfStatement","src":"5906:1846:114","trueBody":{"id":66806,"nodeType":"Block","src":"5971:84:114","statements":[{"expression":{"arguments":[{"expression":{"id":66802,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114341,"src":"6000:10:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$114341_$","typeString":"type(library Predeploys)"}},"id":66803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"OPTIMISM_MINTABLE_ERC721_FACTORY","nodeType":"MemberAccess","referencedDeclaration":113906,"src":"6000:43:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66801,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5992:8:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":66800,"name":"address","nodeType":"ElementaryTypeName","src":"5992:8:114","stateMutability":"payable","typeDescriptions":{}}},"id":66804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5992:52:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":66655,"id":66805,"nodeType":"Return","src":"5985:59:114"}]}},"id":67032,"nodeType":"IfStatement","src":"5753:1999:114","trueBody":{"id":66791,"nodeType":"Block","src":"5817:83:114","statements":[{"expression":{"arguments":[{"expression":{"id":66787,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114341,"src":"5846:10:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$114341_$","typeString":"type(library Predeploys)"}},"id":66788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"OPTIMISM_MINTABLE_ERC20_FACTORY","nodeType":"MemberAccess","referencedDeclaration":113886,"src":"5846:42:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66786,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5838:8:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":66785,"name":"address","nodeType":"ElementaryTypeName","src":"5838:8:114","stateMutability":"payable","typeDescriptions":{}}},"id":66789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5838:51:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":66655,"id":66790,"nodeType":"Return","src":"5831:58:114"}]}},"id":67033,"nodeType":"IfStatement","src":"5621:2131:114","trueBody":{"id":66776,"nodeType":"Block","src":"5675:72:114","statements":[{"expression":{"arguments":[{"expression":{"id":66772,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114341,"src":"5704:10:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$114341_$","typeString":"type(library Predeploys)"}},"id":66773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"SEQUENCER_FEE_WALLET","nodeType":"MemberAccess","referencedDeclaration":113882,"src":"5704:31:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66771,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5696:8:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":66770,"name":"address","nodeType":"ElementaryTypeName","src":"5696:8:114","stateMutability":"payable","typeDescriptions":{}}},"id":66774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5696:40:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":66655,"id":66775,"nodeType":"Return","src":"5689:47:114"}]}},"id":67034,"nodeType":"IfStatement","src":"5497:2255:114","trueBody":{"id":66761,"nodeType":"Block","src":"5547:68:114","statements":[{"expression":{"arguments":[{"expression":{"id":66757,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114341,"src":"5576:10:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$114341_$","typeString":"type(library Predeploys)"}},"id":66758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"L2_ERC721_BRIDGE","nodeType":"MemberAccess","referencedDeclaration":113894,"src":"5576:27:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66756,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5568:8:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":66755,"name":"address","nodeType":"ElementaryTypeName","src":"5568:8:114","stateMutability":"payable","typeDescriptions":{}}},"id":66759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5568:36:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":66655,"id":66760,"nodeType":"Return","src":"5561:43:114"}]}},"id":67035,"nodeType":"IfStatement","src":"5369:2383:114","trueBody":{"id":66746,"nodeType":"Block","src":"5421:70:114","statements":[{"expression":{"arguments":[{"expression":{"id":66742,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114341,"src":"5450:10:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$114341_$","typeString":"type(library Predeploys)"}},"id":66743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"L2_STANDARD_BRIDGE","nodeType":"MemberAccess","referencedDeclaration":113879,"src":"5450:29:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66741,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5442:8:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":66740,"name":"address","nodeType":"ElementaryTypeName","src":"5442:8:114","stateMutability":"payable","typeDescriptions":{}}},"id":66744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5442:38:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":66655,"id":66745,"nodeType":"Return","src":"5435:45:114"}]}},"id":67036,"nodeType":"IfStatement","src":"5233:2519:114","trueBody":{"id":66731,"nodeType":"Block","src":"5288:75:114","statements":[{"expression":{"arguments":[{"expression":{"id":66727,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114341,"src":"5317:10:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$114341_$","typeString":"type(library Predeploys)"}},"id":66728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"L2_TO_L1_MESSAGE_PASSER","nodeType":"MemberAccess","referencedDeclaration":113902,"src":"5317:34:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66726,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5309:8:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":66725,"name":"address","nodeType":"ElementaryTypeName","src":"5309:8:114","stateMutability":"payable","typeDescriptions":{}}},"id":66729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5309:43:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":66655,"id":66730,"nodeType":"Return","src":"5302:50:114"}]}},"id":67037,"nodeType":"IfStatement","src":"5092:2660:114","trueBody":{"id":66716,"nodeType":"Block","src":"5150:77:114","statements":[{"expression":{"arguments":[{"expression":{"id":66712,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114341,"src":"5179:10:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$114341_$","typeString":"type(library Predeploys)"}},"id":66713,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"L2_CROSS_DOMAIN_MESSENGER","nodeType":"MemberAccess","referencedDeclaration":113871,"src":"5179:36:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":66711,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5171:8:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":66710,"name":"address","nodeType":"ElementaryTypeName","src":"5171:8:114","stateMutability":"payable","typeDescriptions":{}}},"id":66714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5171:45:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":66655,"id":66715,"nodeType":"Return","src":"5164:52:114"}]}},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":67042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7784:1:114","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":67041,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7776:7:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67040,"name":"address","nodeType":"ElementaryTypeName","src":"7776:7:114","typeDescriptions":{}}},"id":67043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7776:10:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67039,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7768:8:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":67038,"name":"address","nodeType":"ElementaryTypeName","src":"7768:8:114","stateMutability":"payable","typeDescriptions":{}}},"id":67044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7768:19:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":66655,"id":67045,"nodeType":"Return","src":"7761:26:114"}]},"documentation":{"id":66649,"nodeType":"StructuredDocumentation","src":"4444:243:114","text":"@notice Returns the address of a deployment. Also handles the predeploys.\n @param _name The name of the deployment.\n @return The address of the deployment. May be `address(0)` if the deployment does not\n         exist."},"functionSelector":"bf40fac1","implemented":true,"kind":"function","modifiers":[],"name":"getAddress","nameLocation":"4701:10:114","parameters":{"id":66652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66651,"mutability":"mutable","name":"_name","nameLocation":"4726:5:114","nodeType":"VariableDeclaration","scope":67047,"src":"4712:19:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":66650,"name":"string","nodeType":"ElementaryTypeName","src":"4712:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4711:21:114"},"returnParameters":{"id":66655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":66654,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67047,"src":"4754:15:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":66653,"name":"address","nodeType":"ElementaryTypeName","src":"4754:15:114","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"4753:17:114"},"scope":67477,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":67079,"nodeType":"FunctionDefinition","src":"7961:256:114","nodes":[],"body":{"id":67078,"nodeType":"Block","src":"8044:173:114","nodes":[],"statements":[{"assignments":[67056],"declarations":[{"constant":false,"id":67056,"mutability":"mutable","name":"addr","nameLocation":"8062:4:114","nodeType":"VariableDeclaration","scope":67078,"src":"8054:12:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67055,"name":"address","nodeType":"ElementaryTypeName","src":"8054:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":67060,"initialValue":{"arguments":[{"id":67058,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67050,"src":"8080:5:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":67057,"name":"getAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67047,"src":"8069:10:114","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_address_payable_$","typeString":"function (string memory) view returns (address payable)"}},"id":67059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8069:17:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"VariableDeclarationStatement","src":"8054:32:114"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67061,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67056,"src":"8100:4:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":67064,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8116:1:114","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":67063,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8108:7:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67062,"name":"address","nodeType":"ElementaryTypeName","src":"8108:7:114","typeDescriptions":{}}},"id":67065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8108:10:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8100:18:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67072,"nodeType":"IfStatement","src":"8096:85:114","trueBody":{"id":67071,"nodeType":"Block","src":"8120:61:114","statements":[{"errorCall":{"arguments":[{"id":67068,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67050,"src":"8164:5:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":67067,"name":"DeploymentDoesNotExist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66426,"src":"8141:22:114","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":67069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8141:29:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67070,"nodeType":"RevertStatement","src":"8134:36:114"}]}},{"expression":{"arguments":[{"id":67075,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67056,"src":"8205:4:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8197:8:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":67073,"name":"address","nodeType":"ElementaryTypeName","src":"8197:8:114","stateMutability":"payable","typeDescriptions":{}}},"id":67076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8197:13:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":67054,"id":67077,"nodeType":"Return","src":"8190:20:114"}]},"documentation":{"id":67048,"nodeType":"StructuredDocumentation","src":"7800:156:114","text":"@notice Returns the address of a deployment and reverts if the deployment\n         does not exist.\n @return The address of the deployment."},"functionSelector":"3fb90271","implemented":true,"kind":"function","modifiers":[],"name":"mustGetAddress","nameLocation":"7970:14:114","parameters":{"id":67051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67050,"mutability":"mutable","name":"_name","nameLocation":"7999:5:114","nodeType":"VariableDeclaration","scope":67079,"src":"7985:19:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":67049,"name":"string","nodeType":"ElementaryTypeName","src":"7985:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7984:21:114"},"returnParameters":{"id":67054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67053,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67079,"src":"8027:15:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":67052,"name":"address","nodeType":"ElementaryTypeName","src":"8027:15:114","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"8026:17:114"},"scope":67477,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":67093,"nodeType":"FunctionDefinition","src":"8397:122:114","nodes":[],"body":{"id":67092,"nodeType":"Block","src":"8471:48:114","nodes":[],"statements":[{"expression":{"baseExpression":{"id":67088,"name":"_namedDeployments","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66437,"src":"8488:17:114","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Deployment_$66402_storage_$","typeString":"mapping(string memory => struct Deployment storage ref)"}},"id":67090,"indexExpression":{"id":67089,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67082,"src":"8506:5:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8488:24:114","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_storage","typeString":"struct Deployment storage ref"}},"functionReturnParameters":67087,"id":67091,"nodeType":"Return","src":"8481:31:114"}]},"documentation":{"id":67080,"nodeType":"StructuredDocumentation","src":"8223:169:114","text":"@notice Returns a deployment that is suitable to be used to interact with contracts.\n @param _name The name of the deployment.\n @return The deployment."},"functionSelector":"693ec85e","implemented":true,"kind":"function","modifiers":[],"name":"get","nameLocation":"8406:3:114","parameters":{"id":67083,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67082,"mutability":"mutable","name":"_name","nameLocation":"8424:5:114","nodeType":"VariableDeclaration","scope":67093,"src":"8410:19:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":67081,"name":"string","nodeType":"ElementaryTypeName","src":"8410:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8409:21:114"},"returnParameters":{"id":67087,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67086,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67093,"src":"8452:17:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_memory_ptr","typeString":"struct Deployment"},"typeName":{"id":67085,"nodeType":"UserDefinedTypeName","pathNode":{"id":67084,"name":"Deployment","nodeType":"IdentifierPath","referencedDeclaration":66402,"src":"8452:10:114"},"referencedDeclaration":66402,"src":"8452:10:114","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_storage_ptr","typeString":"struct Deployment"}},"visibility":"internal"}],"src":"8451:19:114"},"scope":67477,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":67167,"nodeType":"FunctionDefinition","src":"8702:582:114","nodes":[],"body":{"id":67166,"nodeType":"Block","src":"8763:521:114","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":67103,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67096,"src":"8783:5:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":67102,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8777:5:114","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":67101,"name":"bytes","nodeType":"ElementaryTypeName","src":"8777:5:114","typeDescriptions":{}}},"id":67104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8777:12:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":67105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"8777:19:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8800:1:114","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8777:24:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67113,"nodeType":"IfStatement","src":"8773:92:114","trueBody":{"id":67112,"nodeType":"Block","src":"8803:62:114","statements":[{"errorCall":{"arguments":[{"hexValue":"456d7074794e616d65","id":67109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8842:11:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_1623dd54f2986ffe5e5f12913541e66792453265edb3d12266a7fc486ceeea39","typeString":"literal_string \"EmptyName\""},"value":"EmptyName"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1623dd54f2986ffe5e5f12913541e66792453265edb3d12266a7fc486ceeea39","typeString":"literal_string \"EmptyName\""}],"id":67108,"name":"InvalidDeployment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66431,"src":"8824:17:114","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":67110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8824:30:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67111,"nodeType":"RevertStatement","src":"8817:37:114"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"baseExpression":{"id":67116,"name":"_namedDeployments","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66437,"src":"8884:17:114","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Deployment_$66402_storage_$","typeString":"mapping(string memory => struct Deployment storage ref)"}},"id":67118,"indexExpression":{"id":67117,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67096,"src":"8902:5:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8884:24:114","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_storage","typeString":"struct Deployment storage ref"}},"id":67119,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"name","nodeType":"MemberAccess","referencedDeclaration":66399,"src":"8884:29:114","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"id":67115,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8878:5:114","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":67114,"name":"bytes","nodeType":"ElementaryTypeName","src":"8878:5:114","typeDescriptions":{}}},"id":67120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8878:36:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}},"id":67121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"8878:43:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":67122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8924:1:114","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8878:47:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67129,"nodeType":"IfStatement","src":"8874:119:114","trueBody":{"id":67128,"nodeType":"Block","src":"8927:66:114","statements":[{"errorCall":{"arguments":[{"hexValue":"416c7265616479457869737473","id":67125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8966:15:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_25c70936ac913d786adf0d6e0b28237b3d070344ed419c9401ec8d2fe2ea940a","typeString":"literal_string \"AlreadyExists\""},"value":"AlreadyExists"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_25c70936ac913d786adf0d6e0b28237b3d070344ed419c9401ec8d2fe2ea940a","typeString":"literal_string \"AlreadyExists\""}],"id":67124,"name":"InvalidDeployment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66431,"src":"8948:17:114","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":67126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8948:34:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67127,"nodeType":"RevertStatement","src":"8941:41:114"}]}},{"expression":{"arguments":[{"hexValue":"536176696e672025733a202573","id":67133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9015:15:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_a356550763136a797d9faf642dfb52368ecc968fe9395c73f7fe88f8591669d3","typeString":"literal_string \"Saving %s: %s\""},"value":"Saving %s: %s"},{"id":67134,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67096,"src":"9032:5:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":67135,"name":"_deployed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67098,"src":"9039:9:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a356550763136a797d9faf642dfb52368ecc968fe9395c73f7fe88f8591669d3","typeString":"literal_string \"Saving %s: %s\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67130,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32500,"src":"9003:7:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$32500_$","typeString":"type(library console2)"}},"id":67132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25811,"src":"9003:11:114","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,string memory,address) pure"}},"id":67136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9003:46:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67137,"nodeType":"ExpressionStatement","src":"9003:46:114"},{"assignments":[67140],"declarations":[{"constant":false,"id":67140,"mutability":"mutable","name":"deployment","nameLocation":"9077:10:114","nodeType":"VariableDeclaration","scope":67166,"src":"9059:28:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_memory_ptr","typeString":"struct Deployment"},"typeName":{"id":67139,"nodeType":"UserDefinedTypeName","pathNode":{"id":67138,"name":"Deployment","nodeType":"IdentifierPath","referencedDeclaration":66402,"src":"9059:10:114"},"referencedDeclaration":66402,"src":"9059:10:114","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_storage_ptr","typeString":"struct Deployment"}},"visibility":"internal"}],"id":67148,"initialValue":{"arguments":[{"id":67142,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67096,"src":"9109:5:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[{"id":67145,"name":"_deployed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67098,"src":"9130:9:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67144,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9122:8:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":67143,"name":"address","nodeType":"ElementaryTypeName","src":"9122:8:114","stateMutability":"payable","typeDescriptions":{}}},"id":67146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9122:18:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":67141,"name":"Deployment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66402,"src":"9090:10:114","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Deployment_$66402_storage_ptr_$","typeString":"type(struct Deployment storage pointer)"}},"id":67147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["name","addr"],"nodeType":"FunctionCall","src":"9090:53:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_memory_ptr","typeString":"struct Deployment memory"}},"nodeType":"VariableDeclarationStatement","src":"9059:84:114"},{"expression":{"id":67153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67149,"name":"_namedDeployments","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66437,"src":"9153:17:114","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Deployment_$66402_storage_$","typeString":"mapping(string memory => struct Deployment storage ref)"}},"id":67151,"indexExpression":{"id":67150,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67096,"src":"9171:5:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9153:24:114","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_storage","typeString":"struct Deployment storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67152,"name":"deployment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67140,"src":"9180:10:114","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_memory_ptr","typeString":"struct Deployment memory"}},"src":"9153:37:114","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_storage","typeString":"struct Deployment storage ref"}},"id":67154,"nodeType":"ExpressionStatement","src":"9153:37:114"},{"expression":{"arguments":[{"id":67158,"name":"deployment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67140,"src":"9221:10:114","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_memory_ptr","typeString":"struct Deployment memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Deployment_$66402_memory_ptr","typeString":"struct Deployment memory"}],"expression":{"id":67155,"name":"_newDeployments","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66442,"src":"9200:15:114","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Deployment_$66402_storage_$dyn_storage","typeString":"struct Deployment storage ref[] storage ref"}},"id":67157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"push","nodeType":"MemberAccess","src":"9200:20:114","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Deployment_$66402_storage_$dyn_storage_ptr_$_t_struct$_Deployment_$66402_storage_$returns$__$bound_to$_t_array$_t_struct$_Deployment_$66402_storage_$dyn_storage_ptr_$","typeString":"function (struct Deployment storage ref[] storage pointer,struct Deployment storage ref)"}},"id":67159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9200:32:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67160,"nodeType":"ExpressionStatement","src":"9200:32:114"},{"expression":{"arguments":[{"id":67162,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67096,"src":"9260:5:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":67163,"name":"_deployed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67098,"src":"9267:9:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"id":67161,"name":"_appendDeployment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67321,"src":"9242:17:114","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address)"}},"id":67164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9242:35:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67165,"nodeType":"ExpressionStatement","src":"9242:35:114"}]},"documentation":{"id":67094,"nodeType":"StructuredDocumentation","src":"8525:172:114","text":"@notice Appends a deployment to disk as a JSON deploy artifact.\n @param _name The name of the deployment.\n @param _deployed The address of the deployment."},"functionSelector":"4b64367e","implemented":true,"kind":"function","modifiers":[],"name":"save","nameLocation":"8711:4:114","parameters":{"id":67099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67096,"mutability":"mutable","name":"_name","nameLocation":"8730:5:114","nodeType":"VariableDeclaration","scope":67167,"src":"8716:19:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":67095,"name":"string","nodeType":"ElementaryTypeName","src":"8716:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":67098,"mutability":"mutable","name":"_deployed","nameLocation":"8745:9:114","nodeType":"VariableDeclaration","scope":67167,"src":"8737:17:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67097,"name":"address","nodeType":"ElementaryTypeName","src":"8737:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8715:40:114"},"returnParameters":{"id":67100,"nodeType":"ParameterList","parameters":[],"src":"8763:0:114"},"scope":67477,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":67300,"nodeType":"FunctionDefinition","src":"9445:822:114","nodes":[],"body":{"id":67299,"nodeType":"Block","src":"9511:756:114","nodes":[],"statements":[{"assignments":[67176],"declarations":[{"constant":false,"id":67176,"mutability":"mutable","name":"json","nameLocation":"9535:4:114","nodeType":"VariableDeclaration","scope":67299,"src":"9521:18:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":67175,"name":"string","nodeType":"ElementaryTypeName","src":"9521:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":67181,"initialValue":{"arguments":[{"id":67179,"name":"deploymentOutfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66448,"src":"9554:17:114","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":67177,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66421,"src":"9542:2:114","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":67178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":13413,"src":"9542:11:114","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":67180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9542:30:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"9521:51:114"},{"assignments":[67186],"declarations":[{"constant":false,"id":67186,"mutability":"mutable","name":"cmd","nameLocation":"9598:3:114","nodeType":"VariableDeclaration","scope":67299,"src":"9582:19:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":67184,"name":"string","nodeType":"ElementaryTypeName","src":"9582:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":67185,"nodeType":"ArrayTypeName","src":"9582:8:114","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"id":67192,"initialValue":{"arguments":[{"hexValue":"33","id":67190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9617:1:114","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"}],"id":67189,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9604:12:114","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (string memory[] memory)"},"typeName":{"baseType":{"id":67187,"name":"string","nodeType":"ElementaryTypeName","src":"9608:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":67188,"nodeType":"ArrayTypeName","src":"9608:8:114","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}}},"id":67191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9604:15:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9582:37:114"},{"expression":{"id":67198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67193,"name":"cmd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67186,"src":"9629:3:114","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":67195,"indexExpression":{"hexValue":"30","id":67194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9633:1:114","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9629:6:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":67196,"name":"Executables","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78533,"src":"9638:11:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Executables_$78533_$","typeString":"type(library Executables)"}},"id":67197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"bash","nodeType":"MemberAccess","referencedDeclaration":78464,"src":"9638:16:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"9629:25:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":67199,"nodeType":"ExpressionStatement","src":"9629:25:114"},{"expression":{"id":67204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67200,"name":"cmd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67186,"src":"9664:3:114","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":67202,"indexExpression":{"hexValue":"31","id":67201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9668:1:114","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9664:6:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d63","id":67203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9673:4:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_db7d58baf49317c91030cfef6ad60af45b39dbc6be58ff6e95c9a0a3f4fce22c","typeString":"literal_string \"-c\""},"value":"-c"},"src":"9664:13:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":67205,"nodeType":"ExpressionStatement","src":"9664:13:114"},{"expression":{"id":67218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67206,"name":"cmd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67186,"src":"9687:3:114","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":67208,"indexExpression":{"hexValue":"32","id":67207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9691:1:114","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9687:6:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":67212,"name":"Executables","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78533,"src":"9710:11:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Executables_$78533_$","typeString":"type(library Executables)"}},"id":67213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"jq","nodeType":"MemberAccess","referencedDeclaration":78467,"src":"9710:14:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"20276b65797327203c3c3c2027","id":67214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9726:15:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_a3a48ee531b9c41bf90f893b09e63637f82352d4b6f78be713ad91d6d1fbf480","typeString":"literal_string \" 'keys' <<< '\""},"value":" 'keys' <<< '"},{"id":67215,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67176,"src":"9743:4:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"27","id":67216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9749:3:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_a111f47c4392438c7a3abac74d0f6f440316c2730020cd5facd8390846edb14f","typeString":"literal_string \"'\""},"value":"'"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_a3a48ee531b9c41bf90f893b09e63637f82352d4b6f78be713ad91d6d1fbf480","typeString":"literal_string \" 'keys' <<< '\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_a111f47c4392438c7a3abac74d0f6f440316c2730020cd5facd8390846edb14f","typeString":"literal_string \"'\""}],"expression":{"id":67210,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9696:6:114","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":67209,"name":"string","nodeType":"ElementaryTypeName","src":"9696:6:114","typeDescriptions":{}}},"id":67211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"concat","nodeType":"MemberAccess","src":"9696:13:114","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":67217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9696:57:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"9687:66:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":67219,"nodeType":"ExpressionStatement","src":"9687:66:114"},{"assignments":[67221],"declarations":[{"constant":false,"id":67221,"mutability":"mutable","name":"res","nameLocation":"9776:3:114","nodeType":"VariableDeclaration","scope":67299,"src":"9763:16:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":67220,"name":"bytes","nodeType":"ElementaryTypeName","src":"9763:5:114","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":67226,"initialValue":{"arguments":[{"id":67224,"name":"cmd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67186,"src":"9794:3:114","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}],"expression":{"id":67222,"name":"Process","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84150,"src":"9782:7:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Process_$84150_$","typeString":"type(library Process)"}},"id":67223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"run","nodeType":"MemberAccess","referencedDeclaration":84048,"src":"9782:11:114","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory[] memory) returns (bytes memory)"}},"id":67225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9782:16:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"9763:35:114"},{"assignments":[67231],"declarations":[{"constant":false,"id":67231,"mutability":"mutable","name":"names","nameLocation":"9824:5:114","nodeType":"VariableDeclaration","scope":67299,"src":"9808:21:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":67229,"name":"string","nodeType":"ElementaryTypeName","src":"9808:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":67230,"nodeType":"ArrayTypeName","src":"9808:8:114","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"id":67240,"initialValue":{"arguments":[{"arguments":[{"id":67236,"name":"res","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67221,"src":"9863:3:114","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":67235,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9856:6:114","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":67234,"name":"string","nodeType":"ElementaryTypeName","src":"9856:6:114","typeDescriptions":{}}},"id":67237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9856:11:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"","id":67238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9869:2:114","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 \"\""}],"expression":{"id":67232,"name":"stdJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7754,"src":"9832:7:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdJson_$7754_$","typeString":"type(library stdJson)"}},"id":67233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"readStringArray","nodeType":"MemberAccess","referencedDeclaration":7332,"src":"9832:23:114","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_array$_t_string_memory_ptr_$dyn_memory_ptr_$","typeString":"function (string memory,string memory) pure returns (string memory[] memory)"}},"id":67239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9832:40:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9808:64:114"},{"assignments":[67245],"declarations":[{"constant":false,"id":67245,"mutability":"mutable","name":"deployments","nameLocation":"9903:11:114","nodeType":"VariableDeclaration","scope":67299,"src":"9883:31:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Deployment_$66402_memory_ptr_$dyn_memory_ptr","typeString":"struct Deployment[]"},"typeName":{"baseType":{"id":67243,"nodeType":"UserDefinedTypeName","pathNode":{"id":67242,"name":"Deployment","nodeType":"IdentifierPath","referencedDeclaration":66402,"src":"9883:10:114"},"referencedDeclaration":66402,"src":"9883:10:114","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_storage_ptr","typeString":"struct Deployment"}},"id":67244,"nodeType":"ArrayTypeName","src":"9883:12:114","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Deployment_$66402_storage_$dyn_storage_ptr","typeString":"struct Deployment[]"}},"visibility":"internal"}],"id":67253,"initialValue":{"arguments":[{"expression":{"id":67250,"name":"names","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67231,"src":"9934:5:114","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":67251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"9934:12:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67249,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9917:16:114","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Deployment_$66402_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Deployment memory[] memory)"},"typeName":{"baseType":{"id":67247,"nodeType":"UserDefinedTypeName","pathNode":{"id":67246,"name":"Deployment","nodeType":"IdentifierPath","referencedDeclaration":66402,"src":"9921:10:114"},"referencedDeclaration":66402,"src":"9921:10:114","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_storage_ptr","typeString":"struct Deployment"}},"id":67248,"nodeType":"ArrayTypeName","src":"9921:12:114","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Deployment_$66402_storage_$dyn_storage_ptr","typeString":"struct Deployment[]"}}},"id":67252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9917:30:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Deployment_$66402_memory_ptr_$dyn_memory_ptr","typeString":"struct Deployment memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9883:64:114"},{"body":{"id":67295,"nodeType":"Block","src":"9996:237:114","statements":[{"assignments":[67265],"declarations":[{"constant":false,"id":67265,"mutability":"mutable","name":"contractName","nameLocation":"10024:12:114","nodeType":"VariableDeclaration","scope":67295,"src":"10010:26:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":67264,"name":"string","nodeType":"ElementaryTypeName","src":"10010:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":67269,"initialValue":{"baseExpression":{"id":67266,"name":"names","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67231,"src":"10039:5:114","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":67268,"indexExpression":{"id":67267,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67255,"src":"10045:1:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10039:8:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"10010:37:114"},{"assignments":[67271],"declarations":[{"constant":false,"id":67271,"mutability":"mutable","name":"addr","nameLocation":"10069:4:114","nodeType":"VariableDeclaration","scope":67295,"src":"10061:12:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67270,"name":"address","nodeType":"ElementaryTypeName","src":"10061:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":67282,"initialValue":{"arguments":[{"id":67274,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67176,"src":"10096:4:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[{"hexValue":"242e","id":67278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10116:4:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_6faa725772d3ec9bc3e2c0e6f38053768a5b2e39ca8e06e292c9dccfac6d9d81","typeString":"literal_string \"$.\""},"value":"$."},{"id":67279,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67265,"src":"10122:12:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6faa725772d3ec9bc3e2c0e6f38053768a5b2e39ca8e06e292c9dccfac6d9d81","typeString":"literal_string \"$.\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":67276,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10102:6:114","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":67275,"name":"string","nodeType":"ElementaryTypeName","src":"10102:6:114","typeDescriptions":{}}},"id":67277,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"concat","nodeType":"MemberAccess","src":"10102:13:114","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":67280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10102:33:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":67272,"name":"stdJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7754,"src":"10076:7:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdJson_$7754_$","typeString":"type(library stdJson)"}},"id":67273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"readAddress","nodeType":"MemberAccess","referencedDeclaration":7348,"src":"10076:19:114","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,string memory) pure returns (address)"}},"id":67281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10076:60:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"10061:75:114"},{"expression":{"id":67293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67283,"name":"deployments","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67245,"src":"10150:11:114","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Deployment_$66402_memory_ptr_$dyn_memory_ptr","typeString":"struct Deployment memory[] memory"}},"id":67285,"indexExpression":{"id":67284,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67255,"src":"10162:1:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10150:14:114","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_memory_ptr","typeString":"struct Deployment memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":67287,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67265,"src":"10186:12:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[{"id":67290,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67271,"src":"10214:4:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67289,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10206:8:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":67288,"name":"address","nodeType":"ElementaryTypeName","src":"10206:8:114","stateMutability":"payable","typeDescriptions":{}}},"id":67291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10206:13:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":67286,"name":"Deployment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66402,"src":"10167:10:114","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Deployment_$66402_storage_ptr_$","typeString":"type(struct Deployment storage pointer)"}},"id":67292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["name","addr"],"nodeType":"FunctionCall","src":"10167:55:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_memory_ptr","typeString":"struct Deployment memory"}},"src":"10150:72:114","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_memory_ptr","typeString":"struct Deployment memory"}},"id":67294,"nodeType":"ExpressionStatement","src":"10150:72:114"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67257,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67255,"src":"9973:1:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":67258,"name":"names","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67231,"src":"9977:5:114","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":67259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"9977:12:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9973:16:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67296,"initializationExpression":{"assignments":[67255],"declarations":[{"constant":false,"id":67255,"mutability":"mutable","name":"i","nameLocation":"9970:1:114","nodeType":"VariableDeclaration","scope":67296,"src":"9962:9:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":67254,"name":"uint256","nodeType":"ElementaryTypeName","src":"9962:7:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":67256,"nodeType":"VariableDeclarationStatement","src":"9962:9:114"},"loopExpression":{"expression":{"id":67262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"9991:3:114","subExpression":{"id":67261,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67255,"src":"9991:1:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":67263,"nodeType":"ExpressionStatement","src":"9991:3:114"},"nodeType":"ForStatement","src":"9957:276:114"},{"expression":{"id":67297,"name":"deployments","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67245,"src":"10249:11:114","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Deployment_$66402_memory_ptr_$dyn_memory_ptr","typeString":"struct Deployment memory[] memory"}},"functionReturnParameters":67174,"id":67298,"nodeType":"Return","src":"10242:18:114"}]},"documentation":{"id":67168,"nodeType":"StructuredDocumentation","src":"9290:150:114","text":"@notice Reads the deployment artifact from disk that were generated\n         by the deploy script.\n @return An array of deployments."},"implemented":true,"kind":"function","modifiers":[],"name":"_getDeployments","nameLocation":"9454:15:114","parameters":{"id":67169,"nodeType":"ParameterList","parameters":[],"src":"9469:2:114"},"returnParameters":{"id":67174,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67173,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":67300,"src":"9490:19:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Deployment_$66402_memory_ptr_$dyn_memory_ptr","typeString":"struct Deployment[]"},"typeName":{"baseType":{"id":67171,"nodeType":"UserDefinedTypeName","pathNode":{"id":67170,"name":"Deployment","nodeType":"IdentifierPath","referencedDeclaration":66402,"src":"9490:10:114"},"referencedDeclaration":66402,"src":"9490:10:114","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_storage_ptr","typeString":"struct Deployment"}},"id":67172,"nodeType":"ArrayTypeName","src":"9490:12:114","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Deployment_$66402_storage_$dyn_storage_ptr","typeString":"struct Deployment[]"}},"visibility":"internal"}],"src":"9489:21:114"},"scope":67477,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67321,"nodeType":"FunctionDefinition","src":"10336:181:114","nodes":[],"body":{"id":67320,"nodeType":"Block","src":"10412:105:114","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"","id":67313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10461:2:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"id":67314,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67303,"src":"10465:5:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":67315,"name":"_deployed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67305,"src":"10472:9:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":67311,"name":"stdJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7754,"src":"10443:7:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdJson_$7754_$","typeString":"type(library stdJson)"}},"id":67312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"serialize","nodeType":"MemberAccess","referencedDeclaration":7583,"src":"10443:17:114","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,string memory,address) returns (string memory)"}},"id":67316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10443:39:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":67317,"name":"deploymentOutfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66448,"src":"10490:17:114","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":67308,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66421,"src":"10422:2:114","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":67310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"writeJson","nodeType":"MemberAccess","referencedDeclaration":13892,"src":"10422:12:114","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) external"}},"id":67318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":["json","path"],"nodeType":"FunctionCall","src":"10422:88:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67319,"nodeType":"ExpressionStatement","src":"10422:88:114"}]},"documentation":{"id":67301,"nodeType":"StructuredDocumentation","src":"10273:58:114","text":"@notice Adds a deployment to the temp deployments file"},"implemented":true,"kind":"function","modifiers":[],"name":"_appendDeployment","nameLocation":"10345:17:114","parameters":{"id":67306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67303,"mutability":"mutable","name":"_name","nameLocation":"10377:5:114","nodeType":"VariableDeclaration","scope":67321,"src":"10363:19:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":67302,"name":"string","nodeType":"ElementaryTypeName","src":"10363:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":67305,"mutability":"mutable","name":"_deployed","nameLocation":"10392:9:114","nodeType":"VariableDeclaration","scope":67321,"src":"10384:17:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67304,"name":"address","nodeType":"ElementaryTypeName","src":"10384:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10362:40:114"},"returnParameters":{"id":67307,"nodeType":"ParameterList","parameters":[],"src":"10412:0:114"},"scope":67477,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":67360,"nodeType":"FunctionDefinition","src":"10689:314:114","nodes":[],"body":{"id":67359,"nodeType":"Block","src":"10757:246:114","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":67331,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67324,"src":"10777:5:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":67330,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10771:5:114","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":67329,"name":"bytes","nodeType":"ElementaryTypeName","src":"10771:5:114","typeDescriptions":{}}},"id":67332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10771:12:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":67333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"10771:19:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":67334,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10794:1:114","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10771:24:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67341,"nodeType":"IfStatement","src":"10767:92:114","trueBody":{"id":67340,"nodeType":"Block","src":"10797:62:114","statements":[{"errorCall":{"arguments":[{"hexValue":"456d7074794e616d65","id":67337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10836:11:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_1623dd54f2986ffe5e5f12913541e66792453265edb3d12266a7fc486ceeea39","typeString":"literal_string \"EmptyName\""},"value":"EmptyName"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1623dd54f2986ffe5e5f12913541e66792453265edb3d12266a7fc486ceeea39","typeString":"literal_string \"EmptyName\""}],"id":67336,"name":"InvalidDeployment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66431,"src":"10818:17:114","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":67338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10818:30:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":67339,"nodeType":"RevertStatement","src":"10811:37:114"}]}},{"assignments":[67344],"declarations":[{"constant":false,"id":67344,"mutability":"mutable","name":"deployment","nameLocation":"10887:10:114","nodeType":"VariableDeclaration","scope":67359,"src":"10869:28:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_memory_ptr","typeString":"struct Deployment"},"typeName":{"id":67343,"nodeType":"UserDefinedTypeName","pathNode":{"id":67342,"name":"Deployment","nodeType":"IdentifierPath","referencedDeclaration":66402,"src":"10869:10:114"},"referencedDeclaration":66402,"src":"10869:10:114","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_storage_ptr","typeString":"struct Deployment"}},"visibility":"internal"}],"id":67352,"initialValue":{"arguments":[{"id":67346,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67324,"src":"10919:5:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[{"id":67349,"name":"_addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67326,"src":"10940:5:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":67348,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10932:8:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":67347,"name":"address","nodeType":"ElementaryTypeName","src":"10932:8:114","stateMutability":"payable","typeDescriptions":{}}},"id":67350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10932:14:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":67345,"name":"Deployment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66402,"src":"10900:10:114","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Deployment_$66402_storage_ptr_$","typeString":"type(struct Deployment storage pointer)"}},"id":67351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["name","addr"],"nodeType":"FunctionCall","src":"10900:49:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_memory_ptr","typeString":"struct Deployment memory"}},"nodeType":"VariableDeclarationStatement","src":"10869:80:114"},{"expression":{"id":67357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":67353,"name":"_namedDeployments","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66437,"src":"10959:17:114","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Deployment_$66402_storage_$","typeString":"mapping(string memory => struct Deployment storage ref)"}},"id":67355,"indexExpression":{"id":67354,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67324,"src":"10977:5:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10959:24:114","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_storage","typeString":"struct Deployment storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":67356,"name":"deployment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67344,"src":"10986:10:114","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_memory_ptr","typeString":"struct Deployment memory"}},"src":"10959:37:114","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$66402_storage","typeString":"struct Deployment storage ref"}},"id":67358,"nodeType":"ExpressionStatement","src":"10959:37:114"}]},"documentation":{"id":67322,"nodeType":"StructuredDocumentation","src":"10523:161:114","text":"@notice Stubs a deployment retrieved through `get`.\n @param _name The name of the deployment.\n @param _addr The mock address of the deployment."},"functionSelector":"6f9e93dd","implemented":true,"kind":"function","modifiers":[],"name":"prankDeployment","nameLocation":"10698:15:114","parameters":{"id":67327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67324,"mutability":"mutable","name":"_name","nameLocation":"10728:5:114","nodeType":"VariableDeclaration","scope":67360,"src":"10714:19:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":67323,"name":"string","nodeType":"ElementaryTypeName","src":"10714:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":67326,"mutability":"mutable","name":"_addr","nameLocation":"10743:5:114","nodeType":"VariableDeclaration","scope":67360,"src":"10735:13:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67325,"name":"address","nodeType":"ElementaryTypeName","src":"10735:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10713:36:114"},"returnParameters":{"id":67328,"nodeType":"ParameterList","parameters":[],"src":"10757:0:114"},"scope":67477,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":67476,"nodeType":"FunctionDefinition","src":"11109:1262:114","nodes":[],"body":{"id":67475,"nodeType":"Block","src":"11203:1168:114","nodes":[],"statements":[{"assignments":[67369],"declarations":[{"constant":false,"id":67369,"mutability":"mutable","name":"contractAddress","nameLocation":"11221:15:114","nodeType":"VariableDeclaration","scope":67475,"src":"11213:23:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":67368,"name":"address","nodeType":"ElementaryTypeName","src":"11213:7:114","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":67370,"nodeType":"VariableDeclarationStatement","src":"11213:23:114"},{"condition":{"arguments":[{"id":67373,"name":"_contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67363,"src":"11368:13:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"50726f7879","id":67374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11383:7:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_ebdf32417f689cfe5ae380e1f84f625060568edc6030415ec41c6b84b72d8ce8","typeString":"literal_string \"Proxy\""},"value":"Proxy"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_ebdf32417f689cfe5ae380e1f84f625060568edc6030415ec41c6b84b72d8ce8","typeString":"literal_string \"Proxy\""}],"expression":{"id":67371,"name":"LibString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64643,"src":"11349:9:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibString_$64643_$","typeString":"type(library LibString)"}},"id":67372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"endsWith","nodeType":"MemberAccess","referencedDeclaration":64354,"src":"11349:18:114","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_bool_$","typeString":"function (string memory,string memory) pure returns (bool)"}},"id":67375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11349:42:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":67431,"nodeType":"Block","src":"12045:72:114","statements":[{"expression":{"id":67429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67425,"name":"contractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67369,"src":"12059:15:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":67427,"name":"_contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67363,"src":"12092:13:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":67426,"name":"mustGetAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67079,"src":"12077:14:114","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_address_payable_$","typeString":"function (string memory) view returns (address payable)"}},"id":67428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12077:29:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"12059:47:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67430,"nodeType":"ExpressionStatement","src":"12059:47:114"}]},"id":67432,"nodeType":"IfStatement","src":"11345:772:114","trueBody":{"id":67424,"nodeType":"Block","src":"11393:646:114","statements":[{"expression":{"id":67383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67376,"name":"contractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67369,"src":"11407:15:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":67380,"name":"_contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67363,"src":"11468:13:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":67379,"name":"getAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67047,"src":"11457:10:114","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_address_payable_$","typeString":"function (string memory) view returns (address payable)"}},"id":67381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11457:25:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":67377,"name":"EIP1967Helper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":227188,"src":"11425:13:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EIP1967Helper_$227188_$","typeString":"type(library EIP1967Helper)"}},"id":67378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getImplementation","nodeType":"MemberAccess","referencedDeclaration":227162,"src":"11425:31:114","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":67382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11425:58:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11407:76:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67384,"nodeType":"ExpressionStatement","src":"11407:76:114"},{"expression":{"id":67398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67385,"name":"_contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67363,"src":"11497:13:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":67388,"name":"_contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67363,"src":"11529:13:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"30","id":67389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11544:1:114","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":67392,"name":"_contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67363,"src":"11553:13:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":67391,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11547:5:114","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":67390,"name":"bytes","nodeType":"ElementaryTypeName","src":"11547:5:114","typeDescriptions":{}}},"id":67393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11547:20:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":67394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"11547:27:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"35","id":67395,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11577:1:114","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"11547:31:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":67386,"name":"LibString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64643,"src":"11513:9:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibString_$64643_$","typeString":"type(library LibString)"}},"id":67387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"slice","nodeType":"MemberAccess","referencedDeclaration":64380,"src":"11513:15:114","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,uint256,uint256) pure returns (string memory)"}},"id":67397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11513:66:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"11497:82:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":67399,"nodeType":"ExpressionStatement","src":"11497:82:114"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":67405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":67400,"name":"contractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67369,"src":"11829:15:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":67403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11856:1:114","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":67402,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11848:7:114","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":67401,"name":"address","nodeType":"ElementaryTypeName","src":"11848:7:114","typeDescriptions":{}}},"id":67404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11848:10:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11829:29:114","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":67423,"nodeType":"IfStatement","src":"11825:204:114","trueBody":{"id":67422,"nodeType":"Block","src":"11860:169:114","statements":[{"expression":{"id":67420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67406,"name":"contractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67369,"src":"11878:15:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"4f564d5f","id":67416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11991:6:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_f1085e05a202c56d4f653bc915d04848b7f5a7b5a4a6f41bf69d51523fb97868","typeString":"literal_string \"OVM_\""},"value":"OVM_"},{"id":67417,"name":"_contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67363,"src":"11999:13:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f1085e05a202c56d4f653bc915d04848b7f5a7b5a4a6f41bf69d51523fb97868","typeString":"literal_string \"OVM_\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":67414,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11977:6:114","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":67413,"name":"string","nodeType":"ElementaryTypeName","src":"11977:6:114","typeDescriptions":{}}},"id":67415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"concat","nodeType":"MemberAccess","src":"11977:13:114","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":67418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11977:36:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"arguments":[{"arguments":[{"hexValue":"416464726573734d616e61676572","id":67409,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11947:16:114","typeDescriptions":{"typeIdentifier":"t_stringliteral_8654e3d155a3c7a3bb4ea984a0c31119fd7ce4ce0f798cda7628f1cd243bda7c","typeString":"literal_string \"AddressManager\""},"value":"AddressManager"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8654e3d155a3c7a3bb4ea984a0c31119fd7ce4ce0f798cda7628f1cd243bda7c","typeString":"literal_string \"AddressManager\""}],"id":67408,"name":"mustGetAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67079,"src":"11932:14:114","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_address_payable_$","typeString":"function (string memory) view returns (address payable)"}},"id":67410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11932:32:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":67407,"name":"IAddressManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83509,"src":"11916:15:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IAddressManager_$83509_$","typeString":"type(contract IAddressManager)"}},"id":67411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11916:49:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAddressManager_$83509","typeString":"contract IAddressManager"}},"id":67412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getAddress","nodeType":"MemberAccess","referencedDeclaration":83508,"src":"11916:60:114","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) view external returns (address)"}},"id":67419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11916:98:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11878:136:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":67421,"nodeType":"ExpressionStatement","src":"11878:136:114"}]}}]}},{"assignments":[67435],"declarations":[{"constant":false,"id":67435,"mutability":"mutable","name":"slot","nameLocation":"12145:4:114","nodeType":"VariableDeclaration","scope":67475,"src":"12126:23:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_StorageSlot_$79050_memory_ptr","typeString":"struct StorageSlot"},"typeName":{"id":67434,"nodeType":"UserDefinedTypeName","pathNode":{"id":67433,"name":"StorageSlot","nodeType":"IdentifierPath","referencedDeclaration":79050,"src":"12126:11:114"},"referencedDeclaration":79050,"src":"12126:11:114","typeDescriptions":{"typeIdentifier":"t_struct$_StorageSlot_$79050_storage_ptr","typeString":"struct StorageSlot"}},"visibility":"internal"}],"id":67440,"initialValue":{"arguments":[{"id":67438,"name":"_contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67363,"src":"12186:13:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":67436,"name":"ForgeArtifacts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80006,"src":"12152:14:114","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ForgeArtifacts_$80006_$","typeString":"type(library ForgeArtifacts)"}},"id":67437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getInitializedSlot","nodeType":"MemberAccess","referencedDeclaration":79649,"src":"12152:33:114","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_struct$_StorageSlot_$79050_memory_ptr_$","typeString":"function (string memory) returns (struct StorageSlot memory)"}},"id":67439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12152:48:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StorageSlot_$79050_memory_ptr","typeString":"struct StorageSlot memory"}},"nodeType":"VariableDeclarationStatement","src":"12126:74:114"},{"assignments":[67442],"declarations":[{"constant":false,"id":67442,"mutability":"mutable","name":"slotVal","nameLocation":"12218:7:114","nodeType":"VariableDeclaration","scope":67475,"src":"12210:15:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67441,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12210:7:114","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":67455,"initialValue":{"arguments":[{"id":67445,"name":"contractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67369,"src":"12236:15:114","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[{"expression":{"id":67450,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67435,"src":"12274:4:114","typeDescriptions":{"typeIdentifier":"t_struct$_StorageSlot_$79050_memory_ptr","typeString":"struct StorageSlot memory"}},"id":67451,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":79047,"src":"12274:9:114","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":67448,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66421,"src":"12261:2:114","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":67449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"parseUint","nodeType":"MemberAccess","referencedDeclaration":13996,"src":"12261:12:114","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) pure external returns (uint256)"}},"id":67452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12261:23:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67447,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12253:7:114","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":67446,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12253:7:114","typeDescriptions":{}}},"id":67453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12253:32:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":67443,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":66421,"src":"12228:2:114","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$16311","typeString":"contract Vm"}},"id":67444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"load","nodeType":"MemberAccess","referencedDeclaration":13151,"src":"12228:7:114","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":67454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12228:58:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"12210:76:114"},{"expression":{"id":67473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":67456,"name":"initialized_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67366,"src":"12296:12:114","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67471,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":67461,"name":"slotVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67442,"src":"12326:7:114","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":67460,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12318:7:114","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":67459,"name":"uint256","nodeType":"ElementaryTypeName","src":"12318:7:114","typeDescriptions":{}}},"id":67462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12318:16:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":67466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":67463,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67435,"src":"12339:4:114","typeDescriptions":{"typeIdentifier":"t_struct$_StorageSlot_$79050_memory_ptr","typeString":"struct StorageSlot memory"}},"id":67464,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"offset","nodeType":"MemberAccess","referencedDeclaration":79045,"src":"12339:11:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"38","id":67465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12353:1:114","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"12339:15:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67467,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12338:17:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12318:37:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":67469,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12317:39:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30784646","id":67470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12359:4:114","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xFF"},"src":"12317:46:114","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":67458,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12311:5:114","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":67457,"name":"uint8","nodeType":"ElementaryTypeName","src":"12311:5:114","typeDescriptions":{}}},"id":67472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12311:53:114","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"12296:68:114","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":67474,"nodeType":"ExpressionStatement","src":"12296:68:114"}]},"documentation":{"id":67361,"nodeType":"StructuredDocumentation","src":"11009:95:114","text":"@notice Returns the value of the internal `_initialized` storage slot for a given contract."},"functionSelector":"c7834271","implemented":true,"kind":"function","modifiers":[],"name":"loadInitializedSlot","nameLocation":"11118:19:114","parameters":{"id":67364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67363,"mutability":"mutable","name":"_contractName","nameLocation":"11152:13:114","nodeType":"VariableDeclaration","scope":67476,"src":"11138:27:114","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":67362,"name":"string","nodeType":"ElementaryTypeName","src":"11138:6:114","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11137:29:114"},"returnParameters":{"id":67367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":67366,"mutability":"mutable","name":"initialized_","nameLocation":"11189:12:114","nodeType":"VariableDeclaration","scope":67476,"src":"11183:18:114","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":67365,"name":"uint8","nodeType":"ElementaryTypeName","src":"11183:5:114","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"11182:20:114"},"scope":67477,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":true,"baseContracts":[],"canonicalName":"Artifacts","contractDependencies":[],"contractKind":"contract","documentation":{"id":66403,"nodeType":"StructuredDocumentation","src":"931:250:114","text":"@title Artifacts\n @notice Useful for accessing deployment artifacts from within scripts.\n         When a contract is deployed, call the `save` function to write its name and\n         contract address to disk. Inspired by `forge-deploy`."},"fullyImplemented":true,"linearizedBaseContracts":[67477],"name":"Artifacts","nameLocation":"1199:9:114","scope":67478,"usedErrors":[66426,66431,84013]}],"license":"MIT"},"id":114}