{"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.26+commit.8a97fa7a\"},\"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\":\"cancun\",\"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.26+commit.8a97fa7a"},"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":"cancun","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":49324,"contract":"scripts/Artifacts.s.sol:Artifacts","label":"_namedDeployments","offset":0,"slot":"0","type":"t_mapping(t_string_memory_ptr,t_struct(Deployment)49289_storage)"},{"astId":49329,"contract":"scripts/Artifacts.s.sol:Artifacts","label":"_newDeployments","offset":0,"slot":"1","type":"t_array(t_struct(Deployment)49289_storage)dyn_storage"},{"astId":49332,"contract":"scripts/Artifacts.s.sol:Artifacts","label":"deploymentsDir","offset":0,"slot":"2","type":"t_string_storage"},{"astId":49335,"contract":"scripts/Artifacts.s.sol:Artifacts","label":"deploymentOutfile","offset":0,"slot":"3","type":"t_string_storage"},{"astId":49338,"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)49289_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct Deployment[]","numberOfBytes":"32","base":"t_struct(Deployment)49289_storage"},"t_mapping(t_string_memory_ptr,t_struct(Deployment)49289_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct Deployment)","numberOfBytes":"32","value":"t_struct(Deployment)49289_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Deployment)49289_storage":{"encoding":"inplace","label":"struct Deployment","numberOfBytes":"64","members":[{"astId":49286,"contract":"scripts/Artifacts.s.sol:Artifacts","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":49288,"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":50365,"exportedSymbols":{"Artifacts":[50364],"Config":[50917],"Deployment":[49289],"EIP1967Helper":[61756],"Executables":[51014],"ForgeArtifacts":[51994],"IAddressManager":[52056],"LibString":[47666],"Predeploys":[56375],"Process":[52596],"StorageSlot":[51038],"Vm":[15857],"console":[32046],"stdJson":[7286]},"nodeType":"SourceUnit","src":"32:12342:32","nodes":[{"id":49259,"nodeType":"PragmaDirective","src":"32:23:32","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":49261,"nodeType":"ImportDirective","src":"57:61:32","nodes":[],"absolutePath":"lib/forge-std/src/console2.sol","file":"forge-std/console2.sol","nameLocation":"-1:-1:-1","scope":50365,"sourceUnit":32047,"symbolAliases":[{"foreign":{"id":49260,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32046,"src":"66:8:32","typeDescriptions":{}},"local":"console","nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49263,"nodeType":"ImportDirective","src":"119:48:32","nodes":[],"absolutePath":"lib/forge-std/src/StdJson.sol","file":"forge-std/StdJson.sol","nameLocation":"-1:-1:-1","scope":50365,"sourceUnit":7287,"symbolAliases":[{"foreign":{"id":49262,"name":"stdJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"128:7:32","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49265,"nodeType":"ImportDirective","src":"168:38:32","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"forge-std/Vm.sol","nameLocation":"-1:-1:-1","scope":50365,"sourceUnit":15858,"symbolAliases":[{"foreign":{"id":49264,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15857,"src":"177:2:32","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49267,"nodeType":"ImportDirective","src":"207:54:32","nodes":[],"absolutePath":"scripts/Executables.sol","file":"scripts/Executables.sol","nameLocation":"-1:-1:-1","scope":50365,"sourceUnit":51015,"symbolAliases":[{"foreign":{"id":49266,"name":"Executables","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51014,"src":"216:11:32","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49269,"nodeType":"ImportDirective","src":"262:58:32","nodes":[],"absolutePath":"src/libraries/Predeploys.sol","file":"src/libraries/Predeploys.sol","nameLocation":"-1:-1:-1","scope":50365,"sourceUnit":56376,"symbolAliases":[{"foreign":{"id":49268,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56375,"src":"271:10:32","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49271,"nodeType":"ImportDirective","src":"321:44:32","nodes":[],"absolutePath":"scripts/Config.sol","file":"scripts/Config.sol","nameLocation":"-1:-1:-1","scope":50365,"sourceUnit":50918,"symbolAliases":[{"foreign":{"id":49270,"name":"Config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50917,"src":"330:6:32","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49273,"nodeType":"ImportDirective","src":"366:57:32","nodes":[],"absolutePath":"scripts/ForgeArtifacts.sol","file":"scripts/ForgeArtifacts.sol","nameLocation":"-1:-1:-1","scope":50365,"sourceUnit":51995,"symbolAliases":[{"foreign":{"id":49272,"name":"StorageSlot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51038,"src":"375:11:32","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49275,"nodeType":"ImportDirective","src":"424:61:32","nodes":[],"absolutePath":"test/mocks/EIP1967Helper.sol","file":"test/mocks/EIP1967Helper.sol","nameLocation":"-1:-1:-1","scope":50365,"sourceUnit":61757,"symbolAliases":[{"foreign":{"id":49274,"name":"EIP1967Helper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61756,"src":"433:13:32","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49277,"nodeType":"ImportDirective","src":"486:56:32","nodes":[],"absolutePath":"lib/solady/src/utils/LibString.sol","file":"@solady/utils/LibString.sol","nameLocation":"-1:-1:-1","scope":50365,"sourceUnit":47667,"symbolAliases":[{"foreign":{"id":49276,"name":"LibString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47666,"src":"495:9:32","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49279,"nodeType":"ImportDirective","src":"543:60:32","nodes":[],"absolutePath":"scripts/ForgeArtifacts.sol","file":"scripts/ForgeArtifacts.sol","nameLocation":"-1:-1:-1","scope":50365,"sourceUnit":51995,"symbolAliases":[{"foreign":{"id":49278,"name":"ForgeArtifacts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51994,"src":"552:14:32","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49281,"nodeType":"ImportDirective","src":"604:73:32","nodes":[],"absolutePath":"scripts/interfaces/IAddressManager.sol","file":"scripts/interfaces/IAddressManager.sol","nameLocation":"-1:-1:-1","scope":50365,"sourceUnit":52057,"symbolAliases":[{"foreign":{"id":49280,"name":"IAddressManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52056,"src":"613:15:32","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49283,"nodeType":"ImportDirective","src":"678:56:32","nodes":[],"absolutePath":"scripts/libraries/Process.sol","file":"scripts/libraries/Process.sol","nameLocation":"-1:-1:-1","scope":50365,"sourceUnit":52597,"symbolAliases":[{"foreign":{"id":49282,"name":"Process","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52596,"src":"687:7:32","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49289,"nodeType":"StructDefinition","src":"865:64:32","nodes":[],"canonicalName":"Deployment","documentation":{"id":49284,"nodeType":"StructuredDocumentation","src":"736:129:32","text":"@notice Represents a deployment. Is serialized to JSON as a key/value\n         pair. Can be accessed from within scripts."},"members":[{"constant":false,"id":49286,"mutability":"mutable","name":"name","nameLocation":"896:4:32","nodeType":"VariableDeclaration","scope":49289,"src":"889:11:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":49285,"name":"string","nodeType":"ElementaryTypeName","src":"889:6:32","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":49288,"mutability":"mutable","name":"addr","nameLocation":"922:4:32","nodeType":"VariableDeclaration","scope":49289,"src":"906:20:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":49287,"name":"address","nodeType":"ElementaryTypeName","src":"906:15:32","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"name":"Deployment","nameLocation":"872:10:32","scope":50365,"visibility":"public"},{"id":50364,"nodeType":"ContractDefinition","src":"1181:11192:32","nodes":[{"id":49308,"nodeType":"VariableDeclaration","src":"1253:84:32","nodes":[],"constant":true,"documentation":{"id":49291,"nodeType":"StructuredDocumentation","src":"1215:33:32","text":"@notice Foundry cheatcode VM."},"mutability":"constant","name":"vm","nameLocation":"1273:2:32","scope":50364,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"},"typeName":{"id":49293,"nodeType":"UserDefinedTypeName","pathNode":{"id":49292,"name":"Vm","nameLocations":["1253:2:32"],"nodeType":"IdentifierPath","referencedDeclaration":15857,"src":"1253:2:32"},"referencedDeclaration":15857,"src":"1253:2:32","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":49302,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1315:17:32","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":49301,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1305:9:32","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":49303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1305:28:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":49300,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1297:7:32","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":49299,"name":"uint256","nodeType":"ElementaryTypeName","src":"1297:7:32","typeDescriptions":{}}},"id":49304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1297:37:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":49298,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1289:7:32","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":49297,"name":"uint160","nodeType":"ElementaryTypeName","src":"1289:7:32","typeDescriptions":{}}},"id":49305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1289:46:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":49296,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1281:7:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":49295,"name":"address","nodeType":"ElementaryTypeName","src":"1281:7:32","typeDescriptions":{}}},"id":49306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1281:55:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49294,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15857,"src":"1278:2:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Vm_$15857_$","typeString":"type(contract Vm)"}},"id":49307,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1278:59:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"visibility":"private"},{"id":49313,"nodeType":"ErrorDefinition","src":"1430:37:32","nodes":[],"documentation":{"id":49309,"nodeType":"StructuredDocumentation","src":"1343:82:32","text":"@notice Error for when attempting to fetch a deployment and it does not exist"},"errorSelector":"b2f5b290","name":"DeploymentDoesNotExist","nameLocation":"1436:22:32","parameters":{"id":49312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49311,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49313,"src":"1459:6:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49310,"name":"string","nodeType":"ElementaryTypeName","src":"1459:6:32","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1458:8:32"}},{"id":49318,"nodeType":"ErrorDefinition","src":"1540:32:32","nodes":[],"documentation":{"id":49314,"nodeType":"StructuredDocumentation","src":"1472:63:32","text":"@notice Error for when trying to save an invalid deployment"},"errorSelector":"dfc8467d","name":"InvalidDeployment","nameLocation":"1546:17:32","parameters":{"id":49317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49316,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49318,"src":"1564:6:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49315,"name":"string","nodeType":"ElementaryTypeName","src":"1564:6:32","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1563:8:32"}},{"id":49324,"nodeType":"VariableDeclaration","src":"1655:56:32","nodes":[],"constant":false,"documentation":{"id":49319,"nodeType":"StructuredDocumentation","src":"1577:73:32","text":"@notice The set of deployments that have been done during execution."},"mutability":"mutable","name":"_namedDeployments","nameLocation":"1694:17:32","scope":50364,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Deployment_$49289_storage_$","typeString":"mapping(string => struct Deployment)"},"typeName":{"id":49323,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":49320,"name":"string","nodeType":"ElementaryTypeName","src":"1663:6:32","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"nodeType":"Mapping","src":"1655:29:32","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Deployment_$49289_storage_$","typeString":"mapping(string => struct Deployment)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":49322,"nodeType":"UserDefinedTypeName","pathNode":{"id":49321,"name":"Deployment","nameLocations":["1673:10:32"],"nodeType":"IdentifierPath","referencedDeclaration":49289,"src":"1673:10:32"},"referencedDeclaration":49289,"src":"1673:10:32","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_storage_ptr","typeString":"struct Deployment"}}},"visibility":"internal"},{"id":49329,"nodeType":"VariableDeclaration","src":"1782:37:32","nodes":[],"constant":false,"documentation":{"id":49325,"nodeType":"StructuredDocumentation","src":"1717:60:32","text":"@notice The same as `_namedDeployments` but as an array."},"mutability":"mutable","name":"_newDeployments","nameLocation":"1804:15:32","scope":50364,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Deployment_$49289_storage_$dyn_storage","typeString":"struct Deployment[]"},"typeName":{"baseType":{"id":49327,"nodeType":"UserDefinedTypeName","pathNode":{"id":49326,"name":"Deployment","nameLocations":["1782:10:32"],"nodeType":"IdentifierPath","referencedDeclaration":49289,"src":"1782:10:32"},"referencedDeclaration":49289,"src":"1782:10:32","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_storage_ptr","typeString":"struct Deployment"}},"id":49328,"nodeType":"ArrayTypeName","src":"1782:12:32","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Deployment_$49289_storage_$dyn_storage_ptr","typeString":"struct Deployment[]"}},"visibility":"internal"},{"id":49332,"nodeType":"VariableDeclaration","src":"1904:30:32","nodes":[],"constant":false,"documentation":{"id":49330,"nodeType":"StructuredDocumentation","src":"1825:74:32","text":"@notice Path to the directory containing the hh deploy style artifacts"},"mutability":"mutable","name":"deploymentsDir","nameLocation":"1920:14:32","scope":50364,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":49331,"name":"string","nodeType":"ElementaryTypeName","src":"1904:6:32","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":49335,"nodeType":"VariableDeclaration","src":"2018:33:32","nodes":[],"constant":false,"documentation":{"id":49333,"nodeType":"StructuredDocumentation","src":"1940:73:32","text":"@notice The path to the deployment artifact that is being written to."},"mutability":"mutable","name":"deploymentOutfile","nameLocation":"2034:17:32","scope":50364,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":49334,"name":"string","nodeType":"ElementaryTypeName","src":"2018:6:32","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":49338,"nodeType":"VariableDeclaration","src":"2155:33:32","nodes":[],"constant":false,"documentation":{"id":49336,"nodeType":"StructuredDocumentation","src":"2057:93:32","text":"@notice The namespace for the deployment. Can be set with the env var DEPLOYMENT_CONTEXT."},"mutability":"mutable","name":"deploymentContext","nameLocation":"2171:17:32","scope":50364,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":49337,"name":"string","nodeType":"ElementaryTypeName","src":"2155:6:32","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":49401,"nodeType":"FunctionDefinition","src":"2246:724:32","nodes":[],"body":{"id":49400,"nodeType":"Block","src":"2278:692:32","nodes":[],"statements":[{"expression":{"id":49346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":49342,"name":"deploymentOutfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49335,"src":"2288:17:32","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":49343,"name":"Config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50917,"src":"2308:6:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Config_$50917_$","typeString":"type(library Config)"}},"id":49344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2315:17:32","memberName":"deploymentOutfile","nodeType":"MemberAccess","referencedDeclaration":50557,"src":"2308:24:32","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":49345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2308:26:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2288:46:32","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":49347,"nodeType":"ExpressionStatement","src":"2288:46:32"},{"expression":{"arguments":[{"hexValue":"57726974696e6720617274696661637420746f202573","id":49351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2356:24:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_4800a45a0f1ae327887a91cd0c6372a17d223ccd978cdac74bb49c517430f18f","typeString":"literal_string \"Writing artifact to %s\""},"value":"Writing artifact to %s"},{"id":49352,"name":"deploymentOutfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49335,"src":"2382:17:32","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":49348,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32046,"src":"2344:7:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$32046_$","typeString":"type(library console2)"}},"id":49350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2352:3:32","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24707,"src":"2344:11:32","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) pure"}},"id":49353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2344:56:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49354,"nodeType":"ExpressionStatement","src":"2344:56:32"},{"expression":{"arguments":[{"id":49358,"name":"deploymentOutfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49335,"src":"2436:17:32","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":49355,"name":"ForgeArtifacts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51994,"src":"2410:14:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ForgeArtifacts_$51994_$","typeString":"type(library ForgeArtifacts)"}},"id":49357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2425:10:32","memberName":"ensurePath","nodeType":"MemberAccess","referencedDeclaration":51993,"src":"2410:25:32","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":49359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2410:44:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49360,"nodeType":"ExpressionStatement","src":"2410:44:32"},{"assignments":[49362],"declarations":[{"constant":false,"id":49362,"mutability":"mutable","name":"chainId","nameLocation":"2473:7:32","nodeType":"VariableDeclaration","scope":49400,"src":"2465:15:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49361,"name":"uint256","nodeType":"ElementaryTypeName","src":"2465:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":49366,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":49363,"name":"Config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50917,"src":"2483:6:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Config_$50917_$","typeString":"type(library Config)"}},"id":49364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2490:7:32","memberName":"chainID","nodeType":"MemberAccess","referencedDeclaration":50622,"src":"2483:14:32","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":49365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2483:16:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2465:34:32"},{"expression":{"arguments":[{"hexValue":"436f6e6e656374656420746f206e6574776f726b207769746820636861696e6964202573","id":49370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2521:38:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_0be44a41f43b42e811c4812cbf0245b059598332a30d5b724e68f93ec24b4a24","typeString":"literal_string \"Connected to network with chainid %s\""},"value":"Connected to network with chainid %s"},{"id":49371,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49362,"src":"2561:7:32","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":49367,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32046,"src":"2509:7:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$32046_$","typeString":"type(library console2)"}},"id":49369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2517:3:32","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24673,"src":"2509:11:32","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256) pure"}},"id":49372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2509:60:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49373,"nodeType":"ExpressionStatement","src":"2509:60:32"},{"assignments":[49375],"declarations":[{"constant":false,"id":49375,"mutability":"mutable","name":"addresses","nameLocation":"2764:9:32","nodeType":"VariableDeclaration","scope":49400,"src":"2750:23:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49374,"name":"string","nodeType":"ElementaryTypeName","src":"2750:6:32","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":49379,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":49376,"name":"Config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50917,"src":"2776:6:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Config_$50917_$","typeString":"type(library Config)"}},"id":49377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2783:21:32","memberName":"contractAddressesPath","nodeType":"MemberAccess","referencedDeclaration":50640,"src":"2776:28:32","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":49378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2776:30:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"2750:56:32"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":49382,"name":"addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49375,"src":"2826:9:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":49381,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2820:5:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":49380,"name":"bytes","nodeType":"ElementaryTypeName","src":"2820:5:32","typeDescriptions":{}}},"id":49383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2820:16:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":49384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2837:6:32","memberName":"length","nodeType":"MemberAccess","src":"2820:23:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":49385,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2846:1:32","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2820:27:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49399,"nodeType":"IfStatement","src":"2816:148:32","trueBody":{"id":49398,"nodeType":"Block","src":"2849:115:32","statements":[{"expression":{"arguments":[{"hexValue":"4c6f6164696e67206164647265737365732066726f6d202573","id":49390,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2875:27:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_52cc2084d30cc8285c29ef50da4f688e5c9c4e47dde3578ae5806bd81666c69c","typeString":"literal_string \"Loading addresses from %s\""},"value":"Loading addresses from %s"},{"id":49391,"name":"addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49375,"src":"2904:9:32","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":49387,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32046,"src":"2863:7:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$32046_$","typeString":"type(library console2)"}},"id":49389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2871:3:32","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":24707,"src":"2863:11:32","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) pure"}},"id":49392,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2863:51:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49393,"nodeType":"ExpressionStatement","src":"2863:51:32"},{"expression":{"arguments":[{"id":49395,"name":"addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49375,"src":"2943:9:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":49394,"name":"_loadAddresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49499,"src":"2928:14:32","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":49396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2928:25:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49397,"nodeType":"ExpressionStatement","src":"2928:25:32"}]}}]},"documentation":{"id":49339,"nodeType":"StructuredDocumentation","src":"2195:46:32","text":"@notice Setup function. The arguments here"},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"2255:5:32","parameters":{"id":49340,"nodeType":"ParameterList","parameters":[],"src":"2260:2:32"},"returnParameters":{"id":49341,"nodeType":"ParameterList","parameters":[],"src":"2278:0:32"},"scope":50364,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":49499,"nodeType":"FunctionDefinition","src":"3333:555:32","nodes":[],"body":{"id":49498,"nodeType":"Block","src":"3387:501:32","nodes":[],"statements":[{"assignments":[49411],"declarations":[{"constant":false,"id":49411,"mutability":"mutable","name":"commands","nameLocation":"3413:8:32","nodeType":"VariableDeclaration","scope":49498,"src":"3397:24:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":49409,"name":"string","nodeType":"ElementaryTypeName","src":"3397:6:32","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":49410,"nodeType":"ArrayTypeName","src":"3397:8:32","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"id":49417,"initialValue":{"arguments":[{"hexValue":"33","id":49415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3437:1:32","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":49414,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3424:12:32","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":49412,"name":"string","nodeType":"ElementaryTypeName","src":"3428:6:32","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":49413,"nodeType":"ArrayTypeName","src":"3428:8:32","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}}},"id":49416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3424:15:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3397:42:32"},{"expression":{"id":49422,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":49418,"name":"commands","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49411,"src":"3449:8:32","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":49420,"indexExpression":{"hexValue":"30","id":49419,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3458:1:32","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:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"62617368","id":49421,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3463:6:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_3a20a0a136f9116b8130e31d0d8f14d3b1802506e7c4b809f577c201eb7bf34c","typeString":"literal_string \"bash\""},"value":"bash"},"src":"3449:20:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":49423,"nodeType":"ExpressionStatement","src":"3449:20:32"},{"expression":{"id":49428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":49424,"name":"commands","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49411,"src":"3479:8:32","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":49426,"indexExpression":{"hexValue":"31","id":49425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3488:1:32","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:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d63","id":49427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3493:4:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_db7d58baf49317c91030cfef6ad60af45b39dbc6be58ff6e95c9a0a3f4fce22c","typeString":"literal_string \"-c\""},"value":"-c"},"src":"3479:18:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":49429,"nodeType":"ExpressionStatement","src":"3479:18:32"},{"expression":{"id":49439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":49430,"name":"commands","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49411,"src":"3507:8:32","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":49432,"indexExpression":{"hexValue":"32","id":49431,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3516:1:32","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:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"6a71202d6372203c20","id":49436,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3535:11:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_364c5a56f3d7e7563509ff6b8963cb064d4cdc31bfa3d5e4dd92e568bded1d85","typeString":"literal_string \"jq -cr < \""},"value":"jq -cr < "},{"id":49437,"name":"_path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49404,"src":"3548:5:32","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":49434,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3521:6:32","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":49433,"name":"string","nodeType":"ElementaryTypeName","src":"3521:6:32","typeDescriptions":{}}},"id":49435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3528:6:32","memberName":"concat","nodeType":"MemberAccess","src":"3521:13:32","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":49438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3521:33:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"3507:47:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":49440,"nodeType":"ExpressionStatement","src":"3507:47:32"},{"assignments":[49442],"declarations":[{"constant":false,"id":49442,"mutability":"mutable","name":"json","nameLocation":"3578:4:32","nodeType":"VariableDeclaration","scope":49498,"src":"3564:18:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49441,"name":"string","nodeType":"ElementaryTypeName","src":"3564:6:32","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":49450,"initialValue":{"arguments":[{"arguments":[{"id":49447,"name":"commands","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49411,"src":"3604:8:32","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":49445,"name":"Process","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52596,"src":"3592:7:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Process_$52596_$","typeString":"type(library Process)"}},"id":49446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3600:3:32","memberName":"run","nodeType":"MemberAccess","referencedDeclaration":52494,"src":"3592:11:32","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":49448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3592:21:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49444,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3585:6:32","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":49443,"name":"string","nodeType":"ElementaryTypeName","src":"3585:6:32","typeDescriptions":{}}},"id":49449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3585:29:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"3564:50:32"},{"assignments":[49455],"declarations":[{"constant":false,"id":49455,"mutability":"mutable","name":"keys","nameLocation":"3640:4:32","nodeType":"VariableDeclaration","scope":49498,"src":"3624:20:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":49453,"name":"string","nodeType":"ElementaryTypeName","src":"3624:6:32","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":49454,"nodeType":"ArrayTypeName","src":"3624:8:32","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"id":49461,"initialValue":{"arguments":[{"id":49458,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49442,"src":"3664:4:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"","id":49459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3670:2:32","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":49456,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49308,"src":"3647:2:32","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":49457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3650:13:32","memberName":"parseJsonKeys","nodeType":"MemberAccess","referencedDeclaration":13173,"src":"3647:16:32","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":49460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3647:26:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3624:49:32"},{"body":{"id":49496,"nodeType":"Block","src":"3721:161:32","statements":[{"assignments":[49473],"declarations":[{"constant":false,"id":49473,"mutability":"mutable","name":"key","nameLocation":"3749:3:32","nodeType":"VariableDeclaration","scope":49496,"src":"3735:17:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49472,"name":"string","nodeType":"ElementaryTypeName","src":"3735:6:32","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":49477,"initialValue":{"baseExpression":{"id":49474,"name":"keys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49455,"src":"3755:4:32","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":49476,"indexExpression":{"id":49475,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49463,"src":"3760:1:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3755:7:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"3735:27:32"},{"assignments":[49479],"declarations":[{"constant":false,"id":49479,"mutability":"mutable","name":"addr","nameLocation":"3784:4:32","nodeType":"VariableDeclaration","scope":49496,"src":"3776:12:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49478,"name":"address","nodeType":"ElementaryTypeName","src":"3776:7:32","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":49490,"initialValue":{"arguments":[{"id":49482,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49442,"src":"3811:4:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[{"hexValue":"242e","id":49486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3831:4:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_6faa725772d3ec9bc3e2c0e6f38053768a5b2e39ca8e06e292c9dccfac6d9d81","typeString":"literal_string \"$.\""},"value":"$."},{"id":49487,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49473,"src":"3837:3:32","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":49484,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3817:6:32","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":49483,"name":"string","nodeType":"ElementaryTypeName","src":"3817:6:32","typeDescriptions":{}}},"id":49485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3824:6:32","memberName":"concat","nodeType":"MemberAccess","src":"3817:13:32","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":49488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3817:24:32","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":49480,"name":"stdJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"3791:7:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdJson_$7286_$","typeString":"type(library stdJson)"}},"id":49481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3799:11:32","memberName":"readAddress","nodeType":"MemberAccess","referencedDeclaration":6880,"src":"3791:19:32","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":49489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3791:51:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3776:66:32"},{"expression":{"arguments":[{"id":49492,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49473,"src":"3861:3:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":49493,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49479,"src":"3866:4:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"id":49491,"name":"save","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50054,"src":"3856:4:32","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address)"}},"id":49494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3856:15:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49495,"nodeType":"ExpressionStatement","src":"3856:15:32"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49465,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49463,"src":"3699:1:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":49466,"name":"keys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49455,"src":"3703:4:32","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":49467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3708:6:32","memberName":"length","nodeType":"MemberAccess","src":"3703:11:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3699:15:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49497,"initializationExpression":{"assignments":[49463],"declarations":[{"constant":false,"id":49463,"mutability":"mutable","name":"i","nameLocation":"3696:1:32","nodeType":"VariableDeclaration","scope":49497,"src":"3688:9:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49462,"name":"uint256","nodeType":"ElementaryTypeName","src":"3688:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":49464,"nodeType":"VariableDeclarationStatement","src":"3688:9:32"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":49470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3716:3:32","subExpression":{"id":49469,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49463,"src":"3716:1:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":49471,"nodeType":"ExpressionStatement","src":"3716:3:32"},"nodeType":"ForStatement","src":"3683:199:32"}]},"documentation":{"id":49402,"nodeType":"StructuredDocumentation","src":"2976:352:32","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:32","parameters":{"id":49405,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49404,"mutability":"mutable","name":"_path","nameLocation":"3371:5:32","nodeType":"VariableDeclaration","scope":49499,"src":"3357:19:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49403,"name":"string","nodeType":"ElementaryTypeName","src":"3357:6:32","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3356:21:32"},"returnParameters":{"id":49406,"nodeType":"ParameterList","parameters":[],"src":"3387:0:32"},"scope":50364,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":49510,"nodeType":"FunctionDefinition","src":"3970:109:32","nodes":[],"body":{"id":49509,"nodeType":"Block","src":"4040:39:32","nodes":[],"statements":[{"expression":{"id":49507,"name":"_newDeployments","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49329,"src":"4057:15:32","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Deployment_$49289_storage_$dyn_storage","typeString":"struct Deployment storage ref[] storage ref"}},"functionReturnParameters":49506,"id":49508,"nodeType":"Return","src":"4050:22:32"}]},"documentation":{"id":49500,"nodeType":"StructuredDocumentation","src":"3894:71:32","text":"@notice Returns all of the deployments done in the current context."},"functionSelector":"e8727781","implemented":true,"kind":"function","modifiers":[],"name":"newDeployments","nameLocation":"3979:14:32","parameters":{"id":49501,"nodeType":"ParameterList","parameters":[],"src":"3993:2:32"},"returnParameters":{"id":49506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49505,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49510,"src":"4019:19:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Deployment_$49289_memory_ptr_$dyn_memory_ptr","typeString":"struct Deployment[]"},"typeName":{"baseType":{"id":49503,"nodeType":"UserDefinedTypeName","pathNode":{"id":49502,"name":"Deployment","nameLocations":["4019:10:32"],"nodeType":"IdentifierPath","referencedDeclaration":49289,"src":"4019:10:32"},"referencedDeclaration":49289,"src":"4019:10:32","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_storage_ptr","typeString":"struct Deployment"}},"id":49504,"nodeType":"ArrayTypeName","src":"4019:12:32","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Deployment_$49289_storage_$dyn_storage_ptr","typeString":"struct Deployment[]"}},"visibility":"internal"}],"src":"4018:21:32"},"scope":50364,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":49535,"nodeType":"FunctionDefinition","src":"4259:179:32","nodes":[],"body":{"id":49534,"nodeType":"Block","src":"4320:118:32","nodes":[],"statements":[{"assignments":[49520],"declarations":[{"constant":false,"id":49520,"mutability":"mutable","name":"existing","nameLocation":"4348:8:32","nodeType":"VariableDeclaration","scope":49534,"src":"4330:26:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_memory_ptr","typeString":"struct Deployment"},"typeName":{"id":49519,"nodeType":"UserDefinedTypeName","pathNode":{"id":49518,"name":"Deployment","nameLocations":["4330:10:32"],"nodeType":"IdentifierPath","referencedDeclaration":49289,"src":"4330:10:32"},"referencedDeclaration":49289,"src":"4330:10:32","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_storage_ptr","typeString":"struct Deployment"}},"visibility":"internal"}],"id":49524,"initialValue":{"baseExpression":{"id":49521,"name":"_namedDeployments","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49324,"src":"4359:17:32","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Deployment_$49289_storage_$","typeString":"mapping(string memory => struct Deployment storage ref)"}},"id":49523,"indexExpression":{"id":49522,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49513,"src":"4377:5:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4359:24:32","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_storage","typeString":"struct Deployment storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4330:53:32"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"id":49527,"name":"existing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49520,"src":"4406:8:32","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_memory_ptr","typeString":"struct Deployment memory"}},"id":49528,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4415:4:32","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":49286,"src":"4406:13:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":49526,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4400:5:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":49525,"name":"bytes","nodeType":"ElementaryTypeName","src":"4400:5:32","typeDescriptions":{}}},"id":49529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4400:20:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":49530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4421:6:32","memberName":"length","nodeType":"MemberAccess","src":"4400:27:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":49531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4430:1:32","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4400:31:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":49517,"id":49533,"nodeType":"Return","src":"4393:38:32"}]},"documentation":{"id":49511,"nodeType":"StructuredDocumentation","src":"4085:169:32","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:32","parameters":{"id":49514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49513,"mutability":"mutable","name":"_name","nameLocation":"4286:5:32","nodeType":"VariableDeclaration","scope":49535,"src":"4272:19:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49512,"name":"string","nodeType":"ElementaryTypeName","src":"4272:6:32","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4271:21:32"},"returnParameters":{"id":49517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49516,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49535,"src":"4314:4:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49515,"name":"bool","nodeType":"ElementaryTypeName","src":"4314:4:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4313:6:32"},"scope":50364,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":49934,"nodeType":"FunctionDefinition","src":"4692:3102:32","nodes":[],"body":{"id":49933,"nodeType":"Block","src":"4771:3023:32","nodes":[],"statements":[{"assignments":[49545],"declarations":[{"constant":false,"id":49545,"mutability":"mutable","name":"existing","nameLocation":"4799:8:32","nodeType":"VariableDeclaration","scope":49933,"src":"4781:26:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_memory_ptr","typeString":"struct Deployment"},"typeName":{"id":49544,"nodeType":"UserDefinedTypeName","pathNode":{"id":49543,"name":"Deployment","nameLocations":["4781:10:32"],"nodeType":"IdentifierPath","referencedDeclaration":49289,"src":"4781:10:32"},"referencedDeclaration":49289,"src":"4781:10:32","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_storage_ptr","typeString":"struct Deployment"}},"visibility":"internal"}],"id":49549,"initialValue":{"baseExpression":{"id":49546,"name":"_namedDeployments","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49324,"src":"4810:17:32","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Deployment_$49289_storage_$","typeString":"mapping(string memory => struct Deployment storage ref)"}},"id":49548,"indexExpression":{"id":49547,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49538,"src":"4828:5:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4810:24:32","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_storage","typeString":"struct Deployment storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4781:53:32"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":49556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":49550,"name":"existing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49545,"src":"4848:8:32","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_memory_ptr","typeString":"struct Deployment memory"}},"id":49551,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4857:4:32","memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":49288,"src":"4848:13:32","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":49554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4873:1:32","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":49553,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4865:7:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":49552,"name":"address","nodeType":"ElementaryTypeName","src":"4865:7:32","typeDescriptions":{}}},"id":49555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4865:10:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4848:27:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49579,"nodeType":"IfStatement","src":"4844:188:32","trueBody":{"id":49578,"nodeType":"Block","src":"4877:155:32","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"id":49559,"name":"existing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49545,"src":"4901:8:32","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_memory_ptr","typeString":"struct Deployment memory"}},"id":49560,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4910:4:32","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":49286,"src":"4901:13:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":49558,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4895:5:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":49557,"name":"bytes","nodeType":"ElementaryTypeName","src":"4895:5:32","typeDescriptions":{}}},"id":49561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4895:20:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":49562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4916:6:32","memberName":"length","nodeType":"MemberAccess","src":"4895:27:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":49563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4926:1:32","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4895:32:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49574,"nodeType":"IfStatement","src":"4891:97:32","trueBody":{"id":49573,"nodeType":"Block","src":"4929:59:32","statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":49569,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4970:1:32","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":49568,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4962:7:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":49567,"name":"address","nodeType":"ElementaryTypeName","src":"4962:7:32","typeDescriptions":{}}},"id":49570,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4962:10:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49566,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4954:8:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":49565,"name":"address","nodeType":"ElementaryTypeName","src":"4954:8:32","stateMutability":"payable","typeDescriptions":{}}},"id":49571,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4954:19:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":49542,"id":49572,"nodeType":"Return","src":"4947:26:32"}]}},{"expression":{"expression":{"id":49575,"name":"existing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49545,"src":"5008:8:32","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_memory_ptr","typeString":"struct Deployment memory"}},"id":49576,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5017:4:32","memberName":"addr","nodeType":"MemberAccess","referencedDeclaration":49288,"src":"5008:13:32","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":49542,"id":49577,"nodeType":"Return","src":"5001:20:32"}]}},{"assignments":[49581],"declarations":[{"constant":false,"id":49581,"mutability":"mutable","name":"digest","nameLocation":"5050:6:32","nodeType":"VariableDeclaration","scope":49933,"src":"5042:14:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":49580,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5042:7:32","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":49588,"initialValue":{"arguments":[{"arguments":[{"id":49585,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49538,"src":"5075:5:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":49584,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5069:5:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":49583,"name":"bytes","nodeType":"ElementaryTypeName","src":"5069:5:32","typeDescriptions":{}}},"id":49586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5069:12:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49582,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5059:9:32","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":49587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5059:23:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"5042:40:32"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":49596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49589,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49581,"src":"5096:6:32","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"4c3243726f7373446f6d61696e4d657373656e676572","id":49593,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5122:24:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_044f1f84b9ad3faebfe186678e8b3367a49762855c18465b167279ddb536e857","typeString":"literal_string \"L2CrossDomainMessenger\""},"value":"L2CrossDomainMessenger"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_044f1f84b9ad3faebfe186678e8b3367a49762855c18465b167279ddb536e857","typeString":"literal_string \"L2CrossDomainMessenger\""}],"id":49592,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5116:5:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":49591,"name":"bytes","nodeType":"ElementaryTypeName","src":"5116:5:32","typeDescriptions":{}}},"id":49594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5116:31:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49590,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5106:9:32","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":49595,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5106:42:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5096:52:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":49611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49604,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49581,"src":"5237:6:32","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"4c32546f4c314d657373616765506173736572","id":49608,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5263:21:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_9c9c707aaf395001a4d08ba738218cd91a2329dcd7f94ebebc388bce8c024c51","typeString":"literal_string \"L2ToL1MessagePasser\""},"value":"L2ToL1MessagePasser"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9c9c707aaf395001a4d08ba738218cd91a2329dcd7f94ebebc388bce8c024c51","typeString":"literal_string \"L2ToL1MessagePasser\""}],"id":49607,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5257:5:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":49606,"name":"bytes","nodeType":"ElementaryTypeName","src":"5257:5:32","typeDescriptions":{}}},"id":49609,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5257:28:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49605,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5247:9:32","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":49610,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5247:39:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5237:49:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":49626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49619,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49581,"src":"5373:6:32","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"4c325374616e64617264427269646765","id":49623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5399:18:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_1596b9b25e14adc7d2b9852532a60aa14f667891f99c97daab457337758d1e07","typeString":"literal_string \"L2StandardBridge\""},"value":"L2StandardBridge"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1596b9b25e14adc7d2b9852532a60aa14f667891f99c97daab457337758d1e07","typeString":"literal_string \"L2StandardBridge\""}],"id":49622,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5393:5:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":49621,"name":"bytes","nodeType":"ElementaryTypeName","src":"5393:5:32","typeDescriptions":{}}},"id":49624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5393:25:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49620,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5383:9:32","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":49625,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5383:36:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5373:46:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":49641,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49634,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49581,"src":"5501:6:32","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"4c32455243373231427269646765","id":49638,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5527:16:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_604f4608fc4c6fa957be604eadbce841777175cfdc6db7a28bec2d09241a22a0","typeString":"literal_string \"L2ERC721Bridge\""},"value":"L2ERC721Bridge"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_604f4608fc4c6fa957be604eadbce841777175cfdc6db7a28bec2d09241a22a0","typeString":"literal_string \"L2ERC721Bridge\""}],"id":49637,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5521:5:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":49636,"name":"bytes","nodeType":"ElementaryTypeName","src":"5521:5:32","typeDescriptions":{}}},"id":49639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5521:23:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49635,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5511:9:32","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":49640,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5511:34:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5501:44:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":49656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49649,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49581,"src":"5625:6:32","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"53657175656e63657246656557616c6c6574","id":49653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5651:20:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_f6c20f8df4f933b2602067d407d8874fb2ecfc8c6a3db6f52da26deca0305b84","typeString":"literal_string \"SequencerFeeWallet\""},"value":"SequencerFeeWallet"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f6c20f8df4f933b2602067d407d8874fb2ecfc8c6a3db6f52da26deca0305b84","typeString":"literal_string \"SequencerFeeWallet\""}],"id":49652,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5645:5:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":49651,"name":"bytes","nodeType":"ElementaryTypeName","src":"5645:5:32","typeDescriptions":{}}},"id":49654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5645:27:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49650,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5635:9:32","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":49655,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5635:38:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5625:48:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":49671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49664,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49581,"src":"5757:6:32","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"4f7074696d69736d4d696e7461626c654552433230466163746f7279","id":49668,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5783:30:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ceb1cf5cdb3c5a95c46c8f1a434c9dffeaadc90588c2e7126bb6da8971ea1c9","typeString":"literal_string \"OptimismMintableERC20Factory\""},"value":"OptimismMintableERC20Factory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ceb1cf5cdb3c5a95c46c8f1a434c9dffeaadc90588c2e7126bb6da8971ea1c9","typeString":"literal_string \"OptimismMintableERC20Factory\""}],"id":49667,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5777:5:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":49666,"name":"bytes","nodeType":"ElementaryTypeName","src":"5777:5:32","typeDescriptions":{}}},"id":49669,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5777:37:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49665,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5767:9:32","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":49670,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5767:48:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5757:58:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":49686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49679,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49581,"src":"5910:6:32","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"4f7074696d69736d4d696e7461626c65455243373231466163746f7279","id":49683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5936:31:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_dd76fb248849526c75c27beeb42f9f735f7ebb53b07297685881d4072ef882cd","typeString":"literal_string \"OptimismMintableERC721Factory\""},"value":"OptimismMintableERC721Factory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dd76fb248849526c75c27beeb42f9f735f7ebb53b07297685881d4072ef882cd","typeString":"literal_string \"OptimismMintableERC721Factory\""}],"id":49682,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5930:5:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":49681,"name":"bytes","nodeType":"ElementaryTypeName","src":"5930:5:32","typeDescriptions":{}}},"id":49684,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5930:38:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49680,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5920:9:32","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":49685,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5920:49:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"5910:59:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":49701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49694,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49581,"src":"6065:6:32","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"4c31426c6f636b","id":49698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6091:9:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_46a8a118206040df341efc9cc45d18c907f01ed1a4d3ae55594d9a802a9b1ac7","typeString":"literal_string \"L1Block\""},"value":"L1Block"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46a8a118206040df341efc9cc45d18c907f01ed1a4d3ae55594d9a802a9b1ac7","typeString":"literal_string \"L1Block\""}],"id":49697,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6085:5:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":49696,"name":"bytes","nodeType":"ElementaryTypeName","src":"6085:5:32","typeDescriptions":{}}},"id":49699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6085:16:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49695,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6075:9:32","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":49700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6075:27:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6065:37:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":49716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49709,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49581,"src":"6185:6:32","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"47617350726963654f7261636c65","id":49713,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6211:16:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_b805b4628c7eb76eb0fee0af85c84f1192e9325a3357e06de8523daaa6734de1","typeString":"literal_string \"GasPriceOracle\""},"value":"GasPriceOracle"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b805b4628c7eb76eb0fee0af85c84f1192e9325a3357e06de8523daaa6734de1","typeString":"literal_string \"GasPriceOracle\""}],"id":49712,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6205:5:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":49711,"name":"bytes","nodeType":"ElementaryTypeName","src":"6205:5:32","typeDescriptions":{}}},"id":49714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6205:23:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49710,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6195:9:32","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":49715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6195:34:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6185:44:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":49731,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49724,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49581,"src":"6309:6:32","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"4c314d65737361676553656e646572","id":49728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6335:17:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb957a0ff867ec36fa63f3a0e2919872612f601409c4d0c2091d8d7480c7db4b","typeString":"literal_string \"L1MessageSender\""},"value":"L1MessageSender"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cb957a0ff867ec36fa63f3a0e2919872612f601409c4d0c2091d8d7480c7db4b","typeString":"literal_string \"L1MessageSender\""}],"id":49727,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6329:5:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":49726,"name":"bytes","nodeType":"ElementaryTypeName","src":"6329:5:32","typeDescriptions":{}}},"id":49729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6329:24:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49725,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6319:9:32","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":49730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6319:35:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6309:45:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":49746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49739,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49581,"src":"6435:6:32","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"4465706c6f79657257686974656c697374","id":49743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6461:19:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_d13756a751a721bd456049847e1de8670b9133a09518d02197bc582c4e74640e","typeString":"literal_string \"DeployerWhitelist\""},"value":"DeployerWhitelist"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d13756a751a721bd456049847e1de8670b9133a09518d02197bc582c4e74640e","typeString":"literal_string \"DeployerWhitelist\""}],"id":49742,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6455:5:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":49741,"name":"bytes","nodeType":"ElementaryTypeName","src":"6455:5:32","typeDescriptions":{}}},"id":49744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6455:26:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49740,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6445:9:32","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":49745,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6445:37:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6435:47:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":49761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49754,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49581,"src":"6564:6:32","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"57455448","id":49758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6590:6:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_0f8a193ff464434486c0daf7db2a895884365d2bc84ba47a68fcf89c1b14b5b8","typeString":"literal_string \"WETH\""},"value":"WETH"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0f8a193ff464434486c0daf7db2a895884365d2bc84ba47a68fcf89c1b14b5b8","typeString":"literal_string \"WETH\""}],"id":49757,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6584:5:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":49756,"name":"bytes","nodeType":"ElementaryTypeName","src":"6584:5:32","typeDescriptions":{}}},"id":49759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6584:13:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49755,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6574:9:32","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":49760,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6574:24:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6564:34:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":49776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49769,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49581,"src":"6666:6:32","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"4c656761637945524332304e6174697665546f6b656e","id":49773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6692:24:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_77636bab800613f121fad9723ac5ee77b86bfafe21ad68d4da49f921cb0dcacd","typeString":"literal_string \"LegacyERC20NativeToken\""},"value":"LegacyERC20NativeToken"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_77636bab800613f121fad9723ac5ee77b86bfafe21ad68d4da49f921cb0dcacd","typeString":"literal_string \"LegacyERC20NativeToken\""}],"id":49772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6686:5:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":49771,"name":"bytes","nodeType":"ElementaryTypeName","src":"6686:5:32","typeDescriptions":{}}},"id":49774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6686:31:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49770,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6676:9:32","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":49775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6676:42:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6666:52:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":49791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49784,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49581,"src":"6807:6:32","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"4c31426c6f636b4e756d626572","id":49788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6833:15:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_d05bc9ca43cb4060a50b2dfd9384477ad9239b4750a80eb2bde4a78311c25114","typeString":"literal_string \"L1BlockNumber\""},"value":"L1BlockNumber"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d05bc9ca43cb4060a50b2dfd9384477ad9239b4750a80eb2bde4a78311c25114","typeString":"literal_string \"L1BlockNumber\""}],"id":49787,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6827:5:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":49786,"name":"bytes","nodeType":"ElementaryTypeName","src":"6827:5:32","typeDescriptions":{}}},"id":49789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6827:22:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49785,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6817:9:32","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":49790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6817:33:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6807:43:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":49806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49799,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49581,"src":"6929:6:32","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"4c65676163794d657373616765506173736572","id":49803,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6955:21:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_c75090a188be5b2c3869d9a0f2f44bed0dfa7769539674cf1a5b9850c48b87ea","typeString":"literal_string \"LegacyMessagePasser\""},"value":"LegacyMessagePasser"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c75090a188be5b2c3869d9a0f2f44bed0dfa7769539674cf1a5b9850c48b87ea","typeString":"literal_string \"LegacyMessagePasser\""}],"id":49802,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6949:5:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":49801,"name":"bytes","nodeType":"ElementaryTypeName","src":"6949:5:32","typeDescriptions":{}}},"id":49804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6949:28:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49800,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6939:9:32","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":49805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6939:39:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"6929:49:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":49821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49814,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49581,"src":"7063:6:32","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"50726f787941646d696e","id":49818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7089:12:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_96ed0203eb7e975a4cbcaa23951943fa35c5d8288117d50c12b3d48b0fab48d1","typeString":"literal_string \"ProxyAdmin\""},"value":"ProxyAdmin"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_96ed0203eb7e975a4cbcaa23951943fa35c5d8288117d50c12b3d48b0fab48d1","typeString":"literal_string \"ProxyAdmin\""}],"id":49817,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7083:5:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":49816,"name":"bytes","nodeType":"ElementaryTypeName","src":"7083:5:32","typeDescriptions":{}}},"id":49819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7083:19:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49815,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7073:9:32","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":49820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7073:30:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7063:40:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":49836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49829,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49581,"src":"7178:6:32","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"426173654665655661756c74","id":49833,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7204:14:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_e534452f1a60837f18e967af6b97be1c02ddce2f8c025e24121a71bfaf8ceab0","typeString":"literal_string \"BaseFeeVault\""},"value":"BaseFeeVault"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e534452f1a60837f18e967af6b97be1c02ddce2f8c025e24121a71bfaf8ceab0","typeString":"literal_string \"BaseFeeVault\""}],"id":49832,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7198:5:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":49831,"name":"bytes","nodeType":"ElementaryTypeName","src":"7198:5:32","typeDescriptions":{}}},"id":49834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7198:21:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49830,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7188:9:32","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":49835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7188:32:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7178:42:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":49851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49844,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49581,"src":"7298:6:32","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"4c314665655661756c74","id":49848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7324:12:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_fb4fdf66833997757d2cce058428732cd340ec5e82554b09f490fc3edcaa0b12","typeString":"literal_string \"L1FeeVault\""},"value":"L1FeeVault"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fb4fdf66833997757d2cce058428732cd340ec5e82554b09f490fc3edcaa0b12","typeString":"literal_string \"L1FeeVault\""}],"id":49847,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7318:5:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":49846,"name":"bytes","nodeType":"ElementaryTypeName","src":"7318:5:32","typeDescriptions":{}}},"id":49849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7318:19:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49845,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7308:9:32","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":49850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7308:30:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7298:40:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":49866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49859,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49581,"src":"7414:6:32","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"476f7665726e616e6365546f6b656e","id":49863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7440:17:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_52cc2123c5b8e3f056be8fd12b06d49cf9c7228fdef9974c01d8865a59efc4f4","typeString":"literal_string \"GovernanceToken\""},"value":"GovernanceToken"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_52cc2123c5b8e3f056be8fd12b06d49cf9c7228fdef9974c01d8865a59efc4f4","typeString":"literal_string \"GovernanceToken\""}],"id":49862,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7434:5:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":49861,"name":"bytes","nodeType":"ElementaryTypeName","src":"7434:5:32","typeDescriptions":{}}},"id":49864,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7434:24:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49860,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7424:9:32","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":49865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7424:35:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7414:45:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":49881,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49874,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49581,"src":"7539:6:32","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"536368656d615265676973747279","id":49878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7565:16:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_549a70201b9f4fb989a7a5ac6ab6f81f25db6ae189691c84a7c16a28abf1b7c4","typeString":"literal_string \"SchemaRegistry\""},"value":"SchemaRegistry"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_549a70201b9f4fb989a7a5ac6ab6f81f25db6ae189691c84a7c16a28abf1b7c4","typeString":"literal_string \"SchemaRegistry\""}],"id":49877,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7559:5:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":49876,"name":"bytes","nodeType":"ElementaryTypeName","src":"7559:5:32","typeDescriptions":{}}},"id":49879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7559:23:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49875,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7549:9:32","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":49880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7549:34:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7539:44:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":49896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49889,"name":"digest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49581,"src":"7662:6:32","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"454153","id":49893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7688:5:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_9fed719e0073f95229e6f4f6b6f28f260c524ab08aa40b11f9c28cb710d7c72a","typeString":"literal_string \"EAS\""},"value":"EAS"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9fed719e0073f95229e6f4f6b6f28f260c524ab08aa40b11f9c28cb710d7c72a","typeString":"literal_string \"EAS\""}],"id":49892,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7682:5:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":49891,"name":"bytes","nodeType":"ElementaryTypeName","src":"7682:5:32","typeDescriptions":{}}},"id":49894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7682:12:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49890,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7672:9:32","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":49895,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7672:23:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7662:33:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49904,"nodeType":"IfStatement","src":"7658:94:32","trueBody":{"id":49903,"nodeType":"Block","src":"7697:55:32","statements":[{"expression":{"arguments":[{"expression":{"id":49899,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56375,"src":"7726:10:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$56375_$","typeString":"type(library Predeploys)"}},"id":49900,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7737:3:32","memberName":"EAS","nodeType":"MemberAccess","referencedDeclaration":55960,"src":"7726:14:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49898,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7718:8:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":49897,"name":"address","nodeType":"ElementaryTypeName","src":"7718:8:32","stateMutability":"payable","typeDescriptions":{}}},"id":49901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7718:23:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":49542,"id":49902,"nodeType":"Return","src":"7711:30:32"}]}},"id":49905,"nodeType":"IfStatement","src":"7535:217:32","trueBody":{"id":49888,"nodeType":"Block","src":"7585:67:32","statements":[{"expression":{"arguments":[{"expression":{"id":49884,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56375,"src":"7614:10:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$56375_$","typeString":"type(library Predeploys)"}},"id":49885,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7625:15:32","memberName":"SCHEMA_REGISTRY","nodeType":"MemberAccess","referencedDeclaration":55956,"src":"7614:26:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49883,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7606:8:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":49882,"name":"address","nodeType":"ElementaryTypeName","src":"7606:8:32","stateMutability":"payable","typeDescriptions":{}}},"id":49886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7606:35:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":49542,"id":49887,"nodeType":"Return","src":"7599:42:32"}]}},"id":49906,"nodeType":"IfStatement","src":"7410:342:32","trueBody":{"id":49873,"nodeType":"Block","src":"7461:68:32","statements":[{"expression":{"arguments":[{"expression":{"id":49869,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56375,"src":"7490:10:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$56375_$","typeString":"type(library Predeploys)"}},"id":49870,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7501:16:32","memberName":"GOVERNANCE_TOKEN","nodeType":"MemberAccess","referencedDeclaration":56024,"src":"7490:27:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49868,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7482:8:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":49867,"name":"address","nodeType":"ElementaryTypeName","src":"7482:8:32","stateMutability":"payable","typeDescriptions":{}}},"id":49871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7482:36:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":49542,"id":49872,"nodeType":"Return","src":"7475:43:32"}]}},"id":49907,"nodeType":"IfStatement","src":"7294:458:32","trueBody":{"id":49858,"nodeType":"Block","src":"7340:64:32","statements":[{"expression":{"arguments":[{"expression":{"id":49854,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56375,"src":"7369:10:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$56375_$","typeString":"type(library Predeploys)"}},"id":49855,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7380:12:32","memberName":"L1_FEE_VAULT","nodeType":"MemberAccess","referencedDeclaration":55952,"src":"7369:23:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49853,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7361:8:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":49852,"name":"address","nodeType":"ElementaryTypeName","src":"7361:8:32","stateMutability":"payable","typeDescriptions":{}}},"id":49856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7361:32:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":49542,"id":49857,"nodeType":"Return","src":"7354:39:32"}]}},"id":49908,"nodeType":"IfStatement","src":"7174:578:32","trueBody":{"id":49843,"nodeType":"Block","src":"7222:66:32","statements":[{"expression":{"arguments":[{"expression":{"id":49839,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56375,"src":"7251:10:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$56375_$","typeString":"type(library Predeploys)"}},"id":49840,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7262:14:32","memberName":"BASE_FEE_VAULT","nodeType":"MemberAccess","referencedDeclaration":55948,"src":"7251:25:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49838,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7243:8:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":49837,"name":"address","nodeType":"ElementaryTypeName","src":"7243:8:32","stateMutability":"payable","typeDescriptions":{}}},"id":49841,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7243:34:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":49542,"id":49842,"nodeType":"Return","src":"7236:41:32"}]}},"id":49909,"nodeType":"IfStatement","src":"7059:693:32","trueBody":{"id":49828,"nodeType":"Block","src":"7105:63:32","statements":[{"expression":{"arguments":[{"expression":{"id":49824,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56375,"src":"7134:10:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$56375_$","typeString":"type(library Predeploys)"}},"id":49825,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7145:11:32","memberName":"PROXY_ADMIN","nodeType":"MemberAccess","referencedDeclaration":55944,"src":"7134:22:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49823,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7126:8:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":49822,"name":"address","nodeType":"ElementaryTypeName","src":"7126:8:32","stateMutability":"payable","typeDescriptions":{}}},"id":49826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7126:31:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":49542,"id":49827,"nodeType":"Return","src":"7119:38:32"}]}},"id":49910,"nodeType":"IfStatement","src":"6925:827:32","trueBody":{"id":49813,"nodeType":"Block","src":"6980:73:32","statements":[{"expression":{"arguments":[{"expression":{"id":49809,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56375,"src":"7009:10:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$56375_$","typeString":"type(library Predeploys)"}},"id":49810,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7020:21:32","memberName":"LEGACY_MESSAGE_PASSER","nodeType":"MemberAccess","referencedDeclaration":55889,"src":"7009:32:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49808,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7001:8:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":49807,"name":"address","nodeType":"ElementaryTypeName","src":"7001:8:32","stateMutability":"payable","typeDescriptions":{}}},"id":49811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7001:41:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":49542,"id":49812,"nodeType":"Return","src":"6994:48:32"}]}},"id":49911,"nodeType":"IfStatement","src":"6803:949:32","trueBody":{"id":49798,"nodeType":"Block","src":"6852:67:32","statements":[{"expression":{"arguments":[{"expression":{"id":49794,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56375,"src":"6881:10:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$56375_$","typeString":"type(library Predeploys)"}},"id":49795,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6892:15:32","memberName":"L1_BLOCK_NUMBER","nodeType":"MemberAccess","referencedDeclaration":55924,"src":"6881:26:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49793,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6873:8:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":49792,"name":"address","nodeType":"ElementaryTypeName","src":"6873:8:32","stateMutability":"payable","typeDescriptions":{}}},"id":49796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6873:35:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":49542,"id":49797,"nodeType":"Return","src":"6866:42:32"}]}},"id":49912,"nodeType":"IfStatement","src":"6662:1090:32","trueBody":{"id":49783,"nodeType":"Block","src":"6720:77:32","statements":[{"expression":{"arguments":[{"expression":{"id":49779,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56375,"src":"6749:10:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$56375_$","typeString":"type(library Predeploys)"}},"id":49780,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6760:25:32","memberName":"LEGACY_ERC20_NATIVE_TOKEN","nodeType":"MemberAccess","referencedDeclaration":56028,"src":"6749:36:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49778,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6741:8:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":49777,"name":"address","nodeType":"ElementaryTypeName","src":"6741:8:32","stateMutability":"payable","typeDescriptions":{}}},"id":49781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6741:45:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":49542,"id":49782,"nodeType":"Return","src":"6734:52:32"}]}},"id":49913,"nodeType":"IfStatement","src":"6560:1192:32","trueBody":{"id":49768,"nodeType":"Block","src":"6600:56:32","statements":[{"expression":{"arguments":[{"expression":{"id":49764,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56375,"src":"6629:10:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$56375_$","typeString":"type(library Predeploys)"}},"id":49765,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6640:4:32","memberName":"WETH","nodeType":"MemberAccess","referencedDeclaration":55901,"src":"6629:15:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49763,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6621:8:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":49762,"name":"address","nodeType":"ElementaryTypeName","src":"6621:8:32","stateMutability":"payable","typeDescriptions":{}}},"id":49766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6621:24:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":49542,"id":49767,"nodeType":"Return","src":"6614:31:32"}]}},"id":49914,"nodeType":"IfStatement","src":"6431:1321:32","trueBody":{"id":49753,"nodeType":"Block","src":"6484:70:32","statements":[{"expression":{"arguments":[{"expression":{"id":49749,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56375,"src":"6513:10:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$56375_$","typeString":"type(library Predeploys)"}},"id":49750,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6524:18:32","memberName":"DEPLOYER_WHITELIST","nodeType":"MemberAccess","referencedDeclaration":55897,"src":"6513:29:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49748,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6505:8:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":49747,"name":"address","nodeType":"ElementaryTypeName","src":"6505:8:32","stateMutability":"payable","typeDescriptions":{}}},"id":49751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6505:38:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":49542,"id":49752,"nodeType":"Return","src":"6498:45:32"}]}},"id":49915,"nodeType":"IfStatement","src":"6305:1447:32","trueBody":{"id":49738,"nodeType":"Block","src":"6356:69:32","statements":[{"expression":{"arguments":[{"expression":{"id":49734,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56375,"src":"6385:10:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$56375_$","typeString":"type(library Predeploys)"}},"id":49735,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6396:17:32","memberName":"L1_MESSAGE_SENDER","nodeType":"MemberAccess","referencedDeclaration":55893,"src":"6385:28:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49733,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6377:8:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":49732,"name":"address","nodeType":"ElementaryTypeName","src":"6377:8:32","stateMutability":"payable","typeDescriptions":{}}},"id":49736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6377:37:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":49542,"id":49737,"nodeType":"Return","src":"6370:44:32"}]}},"id":49916,"nodeType":"IfStatement","src":"6181:1571:32","trueBody":{"id":49723,"nodeType":"Block","src":"6231:68:32","statements":[{"expression":{"arguments":[{"expression":{"id":49719,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56375,"src":"6260:10:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$56375_$","typeString":"type(library Predeploys)"}},"id":49720,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6271:16:32","memberName":"GAS_PRICE_ORACLE","nodeType":"MemberAccess","referencedDeclaration":55909,"src":"6260:27:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49718,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6252:8:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":49717,"name":"address","nodeType":"ElementaryTypeName","src":"6252:8:32","stateMutability":"payable","typeDescriptions":{}}},"id":49721,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6252:36:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":49542,"id":49722,"nodeType":"Return","src":"6245:43:32"}]}},"id":49917,"nodeType":"IfStatement","src":"6061:1691:32","trueBody":{"id":49708,"nodeType":"Block","src":"6104:71:32","statements":[{"expression":{"arguments":[{"expression":{"id":49704,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56375,"src":"6133:10:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$56375_$","typeString":"type(library Predeploys)"}},"id":49705,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6144:19:32","memberName":"L1_BLOCK_ATTRIBUTES","nodeType":"MemberAccess","referencedDeclaration":55932,"src":"6133:30:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49703,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6125:8:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":49702,"name":"address","nodeType":"ElementaryTypeName","src":"6125:8:32","stateMutability":"payable","typeDescriptions":{}}},"id":49706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6125:39:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":49542,"id":49707,"nodeType":"Return","src":"6118:46:32"}]}},"id":49918,"nodeType":"IfStatement","src":"5906:1846:32","trueBody":{"id":49693,"nodeType":"Block","src":"5971:84:32","statements":[{"expression":{"arguments":[{"expression":{"id":49689,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56375,"src":"6000:10:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$56375_$","typeString":"type(library Predeploys)"}},"id":49690,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6011:32:32","memberName":"OPTIMISM_MINTABLE_ERC721_FACTORY","nodeType":"MemberAccess","referencedDeclaration":55940,"src":"6000:43:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49688,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5992:8:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":49687,"name":"address","nodeType":"ElementaryTypeName","src":"5992:8:32","stateMutability":"payable","typeDescriptions":{}}},"id":49691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5992:52:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":49542,"id":49692,"nodeType":"Return","src":"5985:59:32"}]}},"id":49919,"nodeType":"IfStatement","src":"5753:1999:32","trueBody":{"id":49678,"nodeType":"Block","src":"5817:83:32","statements":[{"expression":{"arguments":[{"expression":{"id":49674,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56375,"src":"5846:10:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$56375_$","typeString":"type(library Predeploys)"}},"id":49675,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5857:31:32","memberName":"OPTIMISM_MINTABLE_ERC20_FACTORY","nodeType":"MemberAccess","referencedDeclaration":55920,"src":"5846:42:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49673,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5838:8:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":49672,"name":"address","nodeType":"ElementaryTypeName","src":"5838:8:32","stateMutability":"payable","typeDescriptions":{}}},"id":49676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5838:51:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":49542,"id":49677,"nodeType":"Return","src":"5831:58:32"}]}},"id":49920,"nodeType":"IfStatement","src":"5621:2131:32","trueBody":{"id":49663,"nodeType":"Block","src":"5675:72:32","statements":[{"expression":{"arguments":[{"expression":{"id":49659,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56375,"src":"5704:10:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$56375_$","typeString":"type(library Predeploys)"}},"id":49660,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5715:20:32","memberName":"SEQUENCER_FEE_WALLET","nodeType":"MemberAccess","referencedDeclaration":55916,"src":"5704:31:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49658,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5696:8:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":49657,"name":"address","nodeType":"ElementaryTypeName","src":"5696:8:32","stateMutability":"payable","typeDescriptions":{}}},"id":49661,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5696:40:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":49542,"id":49662,"nodeType":"Return","src":"5689:47:32"}]}},"id":49921,"nodeType":"IfStatement","src":"5497:2255:32","trueBody":{"id":49648,"nodeType":"Block","src":"5547:68:32","statements":[{"expression":{"arguments":[{"expression":{"id":49644,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56375,"src":"5576:10:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$56375_$","typeString":"type(library Predeploys)"}},"id":49645,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5587:16:32","memberName":"L2_ERC721_BRIDGE","nodeType":"MemberAccess","referencedDeclaration":55928,"src":"5576:27:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49643,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5568:8:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":49642,"name":"address","nodeType":"ElementaryTypeName","src":"5568:8:32","stateMutability":"payable","typeDescriptions":{}}},"id":49646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5568:36:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":49542,"id":49647,"nodeType":"Return","src":"5561:43:32"}]}},"id":49922,"nodeType":"IfStatement","src":"5369:2383:32","trueBody":{"id":49633,"nodeType":"Block","src":"5421:70:32","statements":[{"expression":{"arguments":[{"expression":{"id":49629,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56375,"src":"5450:10:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$56375_$","typeString":"type(library Predeploys)"}},"id":49630,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5461:18:32","memberName":"L2_STANDARD_BRIDGE","nodeType":"MemberAccess","referencedDeclaration":55913,"src":"5450:29:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49628,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5442:8:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":49627,"name":"address","nodeType":"ElementaryTypeName","src":"5442:8:32","stateMutability":"payable","typeDescriptions":{}}},"id":49631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5442:38:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":49542,"id":49632,"nodeType":"Return","src":"5435:45:32"}]}},"id":49923,"nodeType":"IfStatement","src":"5233:2519:32","trueBody":{"id":49618,"nodeType":"Block","src":"5288:75:32","statements":[{"expression":{"arguments":[{"expression":{"id":49614,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56375,"src":"5317:10:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$56375_$","typeString":"type(library Predeploys)"}},"id":49615,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5328:23:32","memberName":"L2_TO_L1_MESSAGE_PASSER","nodeType":"MemberAccess","referencedDeclaration":55936,"src":"5317:34:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49613,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5309:8:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":49612,"name":"address","nodeType":"ElementaryTypeName","src":"5309:8:32","stateMutability":"payable","typeDescriptions":{}}},"id":49616,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5309:43:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":49542,"id":49617,"nodeType":"Return","src":"5302:50:32"}]}},"id":49924,"nodeType":"IfStatement","src":"5092:2660:32","trueBody":{"id":49603,"nodeType":"Block","src":"5150:77:32","statements":[{"expression":{"arguments":[{"expression":{"id":49599,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56375,"src":"5179:10:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$56375_$","typeString":"type(library Predeploys)"}},"id":49600,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5190:25:32","memberName":"L2_CROSS_DOMAIN_MESSENGER","nodeType":"MemberAccess","referencedDeclaration":55905,"src":"5179:36:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49598,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5171:8:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":49597,"name":"address","nodeType":"ElementaryTypeName","src":"5171:8:32","stateMutability":"payable","typeDescriptions":{}}},"id":49601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5171:45:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":49542,"id":49602,"nodeType":"Return","src":"5164:52:32"}]}},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":49929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7784:1:32","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":49928,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7776:7:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":49927,"name":"address","nodeType":"ElementaryTypeName","src":"7776:7:32","typeDescriptions":{}}},"id":49930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7776:10:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49926,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7768:8:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":49925,"name":"address","nodeType":"ElementaryTypeName","src":"7768:8:32","stateMutability":"payable","typeDescriptions":{}}},"id":49931,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7768:19:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":49542,"id":49932,"nodeType":"Return","src":"7761:26:32"}]},"documentation":{"id":49536,"nodeType":"StructuredDocumentation","src":"4444:243:32","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:32","parameters":{"id":49539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49538,"mutability":"mutable","name":"_name","nameLocation":"4726:5:32","nodeType":"VariableDeclaration","scope":49934,"src":"4712:19:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49537,"name":"string","nodeType":"ElementaryTypeName","src":"4712:6:32","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4711:21:32"},"returnParameters":{"id":49542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49541,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49934,"src":"4754:15:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":49540,"name":"address","nodeType":"ElementaryTypeName","src":"4754:15:32","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"4753:17:32"},"scope":50364,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":49966,"nodeType":"FunctionDefinition","src":"7961:256:32","nodes":[],"body":{"id":49965,"nodeType":"Block","src":"8044:173:32","nodes":[],"statements":[{"assignments":[49943],"declarations":[{"constant":false,"id":49943,"mutability":"mutable","name":"addr","nameLocation":"8062:4:32","nodeType":"VariableDeclaration","scope":49965,"src":"8054:12:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49942,"name":"address","nodeType":"ElementaryTypeName","src":"8054:7:32","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":49947,"initialValue":{"arguments":[{"id":49945,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49937,"src":"8080:5:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":49944,"name":"getAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49934,"src":"8069:10:32","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_address_payable_$","typeString":"function (string memory) view returns (address payable)"}},"id":49946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8069:17:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"VariableDeclarationStatement","src":"8054:32:32"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":49953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49948,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49943,"src":"8100:4:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":49951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8116:1:32","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":49950,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8108:7:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":49949,"name":"address","nodeType":"ElementaryTypeName","src":"8108:7:32","typeDescriptions":{}}},"id":49952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8108:10:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8100:18:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":49959,"nodeType":"IfStatement","src":"8096:85:32","trueBody":{"id":49958,"nodeType":"Block","src":"8120:61:32","statements":[{"errorCall":{"arguments":[{"id":49955,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49937,"src":"8164:5:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":49954,"name":"DeploymentDoesNotExist","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49313,"src":"8141:22:32","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$_t_error_$","typeString":"function (string memory) pure returns (error)"}},"id":49956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8141:29:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49957,"nodeType":"RevertStatement","src":"8134:36:32"}]}},{"expression":{"arguments":[{"id":49962,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49943,"src":"8205:4:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49961,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8197:8:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":49960,"name":"address","nodeType":"ElementaryTypeName","src":"8197:8:32","stateMutability":"payable","typeDescriptions":{}}},"id":49963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8197:13:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"functionReturnParameters":49941,"id":49964,"nodeType":"Return","src":"8190:20:32"}]},"documentation":{"id":49935,"nodeType":"StructuredDocumentation","src":"7800:156:32","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:32","parameters":{"id":49938,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49937,"mutability":"mutable","name":"_name","nameLocation":"7999:5:32","nodeType":"VariableDeclaration","scope":49966,"src":"7985:19:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49936,"name":"string","nodeType":"ElementaryTypeName","src":"7985:6:32","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7984:21:32"},"returnParameters":{"id":49941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49940,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49966,"src":"8027:15:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":49939,"name":"address","nodeType":"ElementaryTypeName","src":"8027:15:32","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"8026:17:32"},"scope":50364,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":49980,"nodeType":"FunctionDefinition","src":"8397:122:32","nodes":[],"body":{"id":49979,"nodeType":"Block","src":"8471:48:32","nodes":[],"statements":[{"expression":{"baseExpression":{"id":49975,"name":"_namedDeployments","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49324,"src":"8488:17:32","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Deployment_$49289_storage_$","typeString":"mapping(string memory => struct Deployment storage ref)"}},"id":49977,"indexExpression":{"id":49976,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49969,"src":"8506:5:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8488:24:32","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_storage","typeString":"struct Deployment storage ref"}},"functionReturnParameters":49974,"id":49978,"nodeType":"Return","src":"8481:31:32"}]},"documentation":{"id":49967,"nodeType":"StructuredDocumentation","src":"8223:169:32","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:32","parameters":{"id":49970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49969,"mutability":"mutable","name":"_name","nameLocation":"8424:5:32","nodeType":"VariableDeclaration","scope":49980,"src":"8410:19:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49968,"name":"string","nodeType":"ElementaryTypeName","src":"8410:6:32","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8409:21:32"},"returnParameters":{"id":49974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49973,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":49980,"src":"8452:17:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_memory_ptr","typeString":"struct Deployment"},"typeName":{"id":49972,"nodeType":"UserDefinedTypeName","pathNode":{"id":49971,"name":"Deployment","nameLocations":["8452:10:32"],"nodeType":"IdentifierPath","referencedDeclaration":49289,"src":"8452:10:32"},"referencedDeclaration":49289,"src":"8452:10:32","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_storage_ptr","typeString":"struct Deployment"}},"visibility":"internal"}],"src":"8451:19:32"},"scope":50364,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":50054,"nodeType":"FunctionDefinition","src":"8702:582:32","nodes":[],"body":{"id":50053,"nodeType":"Block","src":"8763:521:32","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":49994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":49990,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49983,"src":"8783:5:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":49989,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8777:5:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":49988,"name":"bytes","nodeType":"ElementaryTypeName","src":"8777:5:32","typeDescriptions":{}}},"id":49991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8777:12:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":49992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8790:6:32","memberName":"length","nodeType":"MemberAccess","src":"8777:19:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":49993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8800:1:32","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8777:24:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50000,"nodeType":"IfStatement","src":"8773:92:32","trueBody":{"id":49999,"nodeType":"Block","src":"8803:62:32","statements":[{"errorCall":{"arguments":[{"hexValue":"456d7074794e616d65","id":49996,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8842:11:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_1623dd54f2986ffe5e5f12913541e66792453265edb3d12266a7fc486ceeea39","typeString":"literal_string \"EmptyName\""},"value":"EmptyName"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1623dd54f2986ffe5e5f12913541e66792453265edb3d12266a7fc486ceeea39","typeString":"literal_string \"EmptyName\""}],"id":49995,"name":"InvalidDeployment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49318,"src":"8824:17:32","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$_t_error_$","typeString":"function (string memory) pure returns (error)"}},"id":49997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8824:30:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":49998,"nodeType":"RevertStatement","src":"8817:37:32"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"baseExpression":{"id":50003,"name":"_namedDeployments","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49324,"src":"8884:17:32","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Deployment_$49289_storage_$","typeString":"mapping(string memory => struct Deployment storage ref)"}},"id":50005,"indexExpression":{"id":50004,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49983,"src":"8902:5:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8884:24:32","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_storage","typeString":"struct Deployment storage ref"}},"id":50006,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8909:4:32","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":49286,"src":"8884:29:32","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"id":50002,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8878:5:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":50001,"name":"bytes","nodeType":"ElementaryTypeName","src":"8878:5:32","typeDescriptions":{}}},"id":50007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8878:36:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes storage pointer"}},"id":50008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8915:6:32","memberName":"length","nodeType":"MemberAccess","src":"8878:43:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":50009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8924:1:32","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8878:47:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50016,"nodeType":"IfStatement","src":"8874:119:32","trueBody":{"id":50015,"nodeType":"Block","src":"8927:66:32","statements":[{"errorCall":{"arguments":[{"hexValue":"416c7265616479457869737473","id":50012,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8966:15:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_25c70936ac913d786adf0d6e0b28237b3d070344ed419c9401ec8d2fe2ea940a","typeString":"literal_string \"AlreadyExists\""},"value":"AlreadyExists"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_25c70936ac913d786adf0d6e0b28237b3d070344ed419c9401ec8d2fe2ea940a","typeString":"literal_string \"AlreadyExists\""}],"id":50011,"name":"InvalidDeployment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49318,"src":"8948:17:32","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$_t_error_$","typeString":"function (string memory) pure returns (error)"}},"id":50013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8948:34:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":50014,"nodeType":"RevertStatement","src":"8941:41:32"}]}},{"expression":{"arguments":[{"hexValue":"536176696e672025733a202573","id":50020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9015:15:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_a356550763136a797d9faf642dfb52368ecc968fe9395c73f7fe88f8591669d3","typeString":"literal_string \"Saving %s: %s\""},"value":"Saving %s: %s"},{"id":50021,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49983,"src":"9032:5:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":50022,"name":"_deployed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49985,"src":"9039:9:32","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":50017,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32046,"src":"9003:7:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console2_$32046_$","typeString":"type(library console2)"}},"id":50019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9011:3:32","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":25357,"src":"9003:11:32","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":50023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9003:46:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50024,"nodeType":"ExpressionStatement","src":"9003:46:32"},{"assignments":[50027],"declarations":[{"constant":false,"id":50027,"mutability":"mutable","name":"deployment","nameLocation":"9077:10:32","nodeType":"VariableDeclaration","scope":50053,"src":"9059:28:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_memory_ptr","typeString":"struct Deployment"},"typeName":{"id":50026,"nodeType":"UserDefinedTypeName","pathNode":{"id":50025,"name":"Deployment","nameLocations":["9059:10:32"],"nodeType":"IdentifierPath","referencedDeclaration":49289,"src":"9059:10:32"},"referencedDeclaration":49289,"src":"9059:10:32","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_storage_ptr","typeString":"struct Deployment"}},"visibility":"internal"}],"id":50035,"initialValue":{"arguments":[{"id":50029,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49983,"src":"9109:5:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[{"id":50032,"name":"_deployed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49985,"src":"9130:9:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":50031,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9122:8:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":50030,"name":"address","nodeType":"ElementaryTypeName","src":"9122:8:32","stateMutability":"payable","typeDescriptions":{}}},"id":50033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9122:18:32","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":50028,"name":"Deployment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49289,"src":"9090:10:32","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Deployment_$49289_storage_ptr_$","typeString":"type(struct Deployment storage pointer)"}},"id":50034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["9103:4:32","9116:4:32"],"names":["name","addr"],"nodeType":"FunctionCall","src":"9090:53:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_memory_ptr","typeString":"struct Deployment memory"}},"nodeType":"VariableDeclarationStatement","src":"9059:84:32"},{"expression":{"id":50040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":50036,"name":"_namedDeployments","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49324,"src":"9153:17:32","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Deployment_$49289_storage_$","typeString":"mapping(string memory => struct Deployment storage ref)"}},"id":50038,"indexExpression":{"id":50037,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49983,"src":"9171:5:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9153:24:32","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_storage","typeString":"struct Deployment storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":50039,"name":"deployment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50027,"src":"9180:10:32","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_memory_ptr","typeString":"struct Deployment memory"}},"src":"9153:37:32","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_storage","typeString":"struct Deployment storage ref"}},"id":50041,"nodeType":"ExpressionStatement","src":"9153:37:32"},{"expression":{"arguments":[{"id":50045,"name":"deployment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50027,"src":"9221:10:32","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_memory_ptr","typeString":"struct Deployment memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Deployment_$49289_memory_ptr","typeString":"struct Deployment memory"}],"expression":{"id":50042,"name":"_newDeployments","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49329,"src":"9200:15:32","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Deployment_$49289_storage_$dyn_storage","typeString":"struct Deployment storage ref[] storage ref"}},"id":50044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9216:4:32","memberName":"push","nodeType":"MemberAccess","src":"9200:20:32","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Deployment_$49289_storage_$dyn_storage_ptr_$_t_struct$_Deployment_$49289_storage_$returns$__$attached_to$_t_array$_t_struct$_Deployment_$49289_storage_$dyn_storage_ptr_$","typeString":"function (struct Deployment storage ref[] storage pointer,struct Deployment storage ref)"}},"id":50046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9200:32:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50047,"nodeType":"ExpressionStatement","src":"9200:32:32"},{"expression":{"arguments":[{"id":50049,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49983,"src":"9260:5:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":50050,"name":"_deployed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49985,"src":"9267:9:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"id":50048,"name":"_appendDeployment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50208,"src":"9242:17:32","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address)"}},"id":50051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9242:35:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50052,"nodeType":"ExpressionStatement","src":"9242:35:32"}]},"documentation":{"id":49981,"nodeType":"StructuredDocumentation","src":"8525:172:32","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:32","parameters":{"id":49986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49983,"mutability":"mutable","name":"_name","nameLocation":"8730:5:32","nodeType":"VariableDeclaration","scope":50054,"src":"8716:19:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49982,"name":"string","nodeType":"ElementaryTypeName","src":"8716:6:32","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":49985,"mutability":"mutable","name":"_deployed","nameLocation":"8745:9:32","nodeType":"VariableDeclaration","scope":50054,"src":"8737:17:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49984,"name":"address","nodeType":"ElementaryTypeName","src":"8737:7:32","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8715:40:32"},"returnParameters":{"id":49987,"nodeType":"ParameterList","parameters":[],"src":"8763:0:32"},"scope":50364,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":50187,"nodeType":"FunctionDefinition","src":"9445:822:32","nodes":[],"body":{"id":50186,"nodeType":"Block","src":"9511:756:32","nodes":[],"statements":[{"assignments":[50063],"declarations":[{"constant":false,"id":50063,"mutability":"mutable","name":"json","nameLocation":"9535:4:32","nodeType":"VariableDeclaration","scope":50186,"src":"9521:18:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50062,"name":"string","nodeType":"ElementaryTypeName","src":"9521:6:32","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":50068,"initialValue":{"arguments":[{"id":50066,"name":"deploymentOutfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49335,"src":"9554:17:32","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"id":50064,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49308,"src":"9542:2:32","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":50065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9545:8:32","memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":12959,"src":"9542:11:32","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":50067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9542:30:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"9521:51:32"},{"assignments":[50073],"declarations":[{"constant":false,"id":50073,"mutability":"mutable","name":"cmd","nameLocation":"9598:3:32","nodeType":"VariableDeclaration","scope":50186,"src":"9582:19:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":50071,"name":"string","nodeType":"ElementaryTypeName","src":"9582:6:32","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":50072,"nodeType":"ArrayTypeName","src":"9582:8:32","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"id":50079,"initialValue":{"arguments":[{"hexValue":"33","id":50077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9617:1:32","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":50076,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9604:12:32","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":50074,"name":"string","nodeType":"ElementaryTypeName","src":"9608:6:32","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":50075,"nodeType":"ArrayTypeName","src":"9608:8:32","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}}},"id":50078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9604:15:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9582:37:32"},{"expression":{"id":50085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":50080,"name":"cmd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50073,"src":"9629:3:32","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":50082,"indexExpression":{"hexValue":"30","id":50081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9633:1:32","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:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":50083,"name":"Executables","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51014,"src":"9638:11:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Executables_$51014_$","typeString":"type(library Executables)"}},"id":50084,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9650:4:32","memberName":"bash","nodeType":"MemberAccess","referencedDeclaration":50945,"src":"9638:16:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"9629:25:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":50086,"nodeType":"ExpressionStatement","src":"9629:25:32"},{"expression":{"id":50091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":50087,"name":"cmd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50073,"src":"9664:3:32","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":50089,"indexExpression":{"hexValue":"31","id":50088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9668:1:32","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:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"2d63","id":50090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9673:4:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_db7d58baf49317c91030cfef6ad60af45b39dbc6be58ff6e95c9a0a3f4fce22c","typeString":"literal_string \"-c\""},"value":"-c"},"src":"9664:13:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":50092,"nodeType":"ExpressionStatement","src":"9664:13:32"},{"expression":{"id":50105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":50093,"name":"cmd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50073,"src":"9687:3:32","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":50095,"indexExpression":{"hexValue":"32","id":50094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9691:1:32","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:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":50099,"name":"Executables","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51014,"src":"9710:11:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Executables_$51014_$","typeString":"type(library Executables)"}},"id":50100,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9722:2:32","memberName":"jq","nodeType":"MemberAccess","referencedDeclaration":50948,"src":"9710:14:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"20276b65797327203c3c3c2027","id":50101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9726:15:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_a3a48ee531b9c41bf90f893b09e63637f82352d4b6f78be713ad91d6d1fbf480","typeString":"literal_string \" 'keys' <<< '\""},"value":" 'keys' <<< '"},{"id":50102,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50063,"src":"9743:4:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"27","id":50103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9749:3:32","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":50097,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9696:6:32","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":50096,"name":"string","nodeType":"ElementaryTypeName","src":"9696:6:32","typeDescriptions":{}}},"id":50098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9703:6:32","memberName":"concat","nodeType":"MemberAccess","src":"9696:13:32","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":50104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9696:57:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"9687:66:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":50106,"nodeType":"ExpressionStatement","src":"9687:66:32"},{"assignments":[50108],"declarations":[{"constant":false,"id":50108,"mutability":"mutable","name":"res","nameLocation":"9776:3:32","nodeType":"VariableDeclaration","scope":50186,"src":"9763:16:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":50107,"name":"bytes","nodeType":"ElementaryTypeName","src":"9763:5:32","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":50113,"initialValue":{"arguments":[{"id":50111,"name":"cmd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50073,"src":"9794:3:32","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":50109,"name":"Process","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52596,"src":"9782:7:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Process_$52596_$","typeString":"type(library Process)"}},"id":50110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9790:3:32","memberName":"run","nodeType":"MemberAccess","referencedDeclaration":52494,"src":"9782:11:32","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":50112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9782:16:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"9763:35:32"},{"assignments":[50118],"declarations":[{"constant":false,"id":50118,"mutability":"mutable","name":"names","nameLocation":"9824:5:32","nodeType":"VariableDeclaration","scope":50186,"src":"9808:21:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":50116,"name":"string","nodeType":"ElementaryTypeName","src":"9808:6:32","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":50117,"nodeType":"ArrayTypeName","src":"9808:8:32","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"id":50127,"initialValue":{"arguments":[{"arguments":[{"id":50123,"name":"res","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50108,"src":"9863:3:32","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9856:6:32","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":50121,"name":"string","nodeType":"ElementaryTypeName","src":"9856:6:32","typeDescriptions":{}}},"id":50124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9856:11:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"","id":50125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9869:2:32","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":50119,"name":"stdJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"9832:7:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdJson_$7286_$","typeString":"type(library stdJson)"}},"id":50120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9840:15:32","memberName":"readStringArray","nodeType":"MemberAccess","referencedDeclaration":6864,"src":"9832:23:32","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":50126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9832:40:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9808:64:32"},{"assignments":[50132],"declarations":[{"constant":false,"id":50132,"mutability":"mutable","name":"deployments","nameLocation":"9903:11:32","nodeType":"VariableDeclaration","scope":50186,"src":"9883:31:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Deployment_$49289_memory_ptr_$dyn_memory_ptr","typeString":"struct Deployment[]"},"typeName":{"baseType":{"id":50130,"nodeType":"UserDefinedTypeName","pathNode":{"id":50129,"name":"Deployment","nameLocations":["9883:10:32"],"nodeType":"IdentifierPath","referencedDeclaration":49289,"src":"9883:10:32"},"referencedDeclaration":49289,"src":"9883:10:32","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_storage_ptr","typeString":"struct Deployment"}},"id":50131,"nodeType":"ArrayTypeName","src":"9883:12:32","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Deployment_$49289_storage_$dyn_storage_ptr","typeString":"struct Deployment[]"}},"visibility":"internal"}],"id":50140,"initialValue":{"arguments":[{"expression":{"id":50137,"name":"names","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50118,"src":"9934:5:32","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":50138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9940:6:32","memberName":"length","nodeType":"MemberAccess","src":"9934:12:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50136,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"9917:16:32","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_Deployment_$49289_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct Deployment memory[] memory)"},"typeName":{"baseType":{"id":50134,"nodeType":"UserDefinedTypeName","pathNode":{"id":50133,"name":"Deployment","nameLocations":["9921:10:32"],"nodeType":"IdentifierPath","referencedDeclaration":49289,"src":"9921:10:32"},"referencedDeclaration":49289,"src":"9921:10:32","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_storage_ptr","typeString":"struct Deployment"}},"id":50135,"nodeType":"ArrayTypeName","src":"9921:12:32","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Deployment_$49289_storage_$dyn_storage_ptr","typeString":"struct Deployment[]"}}},"id":50139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9917:30:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Deployment_$49289_memory_ptr_$dyn_memory_ptr","typeString":"struct Deployment memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"9883:64:32"},{"body":{"id":50182,"nodeType":"Block","src":"9996:237:32","statements":[{"assignments":[50152],"declarations":[{"constant":false,"id":50152,"mutability":"mutable","name":"contractName","nameLocation":"10024:12:32","nodeType":"VariableDeclaration","scope":50182,"src":"10010:26:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50151,"name":"string","nodeType":"ElementaryTypeName","src":"10010:6:32","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":50156,"initialValue":{"baseExpression":{"id":50153,"name":"names","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50118,"src":"10039:5:32","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":50155,"indexExpression":{"id":50154,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50142,"src":"10045:1:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10039:8:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"10010:37:32"},{"assignments":[50158],"declarations":[{"constant":false,"id":50158,"mutability":"mutable","name":"addr","nameLocation":"10069:4:32","nodeType":"VariableDeclaration","scope":50182,"src":"10061:12:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50157,"name":"address","nodeType":"ElementaryTypeName","src":"10061:7:32","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":50169,"initialValue":{"arguments":[{"id":50161,"name":"json","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50063,"src":"10096:4:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[{"hexValue":"242e","id":50165,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10116:4:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_6faa725772d3ec9bc3e2c0e6f38053768a5b2e39ca8e06e292c9dccfac6d9d81","typeString":"literal_string \"$.\""},"value":"$."},{"id":50166,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50152,"src":"10122:12:32","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":50163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10102:6:32","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":50162,"name":"string","nodeType":"ElementaryTypeName","src":"10102:6:32","typeDescriptions":{}}},"id":50164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10109:6:32","memberName":"concat","nodeType":"MemberAccess","src":"10102:13:32","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":50167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10102:33:32","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":50159,"name":"stdJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"10076:7:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdJson_$7286_$","typeString":"type(library stdJson)"}},"id":50160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10084:11:32","memberName":"readAddress","nodeType":"MemberAccess","referencedDeclaration":6880,"src":"10076:19:32","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":50168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10076:60:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"10061:75:32"},{"expression":{"id":50180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":50170,"name":"deployments","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50132,"src":"10150:11:32","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Deployment_$49289_memory_ptr_$dyn_memory_ptr","typeString":"struct Deployment memory[] memory"}},"id":50172,"indexExpression":{"id":50171,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50142,"src":"10162:1:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10150:14:32","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_memory_ptr","typeString":"struct Deployment memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":50174,"name":"contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50152,"src":"10186:12:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[{"id":50177,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50158,"src":"10214:4:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":50176,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10206:8:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":50175,"name":"address","nodeType":"ElementaryTypeName","src":"10206:8:32","stateMutability":"payable","typeDescriptions":{}}},"id":50178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10206:13:32","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":50173,"name":"Deployment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49289,"src":"10167:10:32","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Deployment_$49289_storage_ptr_$","typeString":"type(struct Deployment storage pointer)"}},"id":50179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["10180:4:32","10200:4:32"],"names":["name","addr"],"nodeType":"FunctionCall","src":"10167:55:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_memory_ptr","typeString":"struct Deployment memory"}},"src":"10150:72:32","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_memory_ptr","typeString":"struct Deployment memory"}},"id":50181,"nodeType":"ExpressionStatement","src":"10150:72:32"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50144,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50142,"src":"9973:1:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":50145,"name":"names","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50118,"src":"9977:5:32","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string memory[] memory"}},"id":50146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9983:6:32","memberName":"length","nodeType":"MemberAccess","src":"9977:12:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9973:16:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50183,"initializationExpression":{"assignments":[50142],"declarations":[{"constant":false,"id":50142,"mutability":"mutable","name":"i","nameLocation":"9970:1:32","nodeType":"VariableDeclaration","scope":50183,"src":"9962:9:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50141,"name":"uint256","nodeType":"ElementaryTypeName","src":"9962:7:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":50143,"nodeType":"VariableDeclarationStatement","src":"9962:9:32"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":50149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"9991:3:32","subExpression":{"id":50148,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50142,"src":"9991:1:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":50150,"nodeType":"ExpressionStatement","src":"9991:3:32"},"nodeType":"ForStatement","src":"9957:276:32"},{"expression":{"id":50184,"name":"deployments","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50132,"src":"10249:11:32","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Deployment_$49289_memory_ptr_$dyn_memory_ptr","typeString":"struct Deployment memory[] memory"}},"functionReturnParameters":50061,"id":50185,"nodeType":"Return","src":"10242:18:32"}]},"documentation":{"id":50055,"nodeType":"StructuredDocumentation","src":"9290:150:32","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:32","parameters":{"id":50056,"nodeType":"ParameterList","parameters":[],"src":"9469:2:32"},"returnParameters":{"id":50061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50060,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":50187,"src":"9490:19:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Deployment_$49289_memory_ptr_$dyn_memory_ptr","typeString":"struct Deployment[]"},"typeName":{"baseType":{"id":50058,"nodeType":"UserDefinedTypeName","pathNode":{"id":50057,"name":"Deployment","nameLocations":["9490:10:32"],"nodeType":"IdentifierPath","referencedDeclaration":49289,"src":"9490:10:32"},"referencedDeclaration":49289,"src":"9490:10:32","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_storage_ptr","typeString":"struct Deployment"}},"id":50059,"nodeType":"ArrayTypeName","src":"9490:12:32","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Deployment_$49289_storage_$dyn_storage_ptr","typeString":"struct Deployment[]"}},"visibility":"internal"}],"src":"9489:21:32"},"scope":50364,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":50208,"nodeType":"FunctionDefinition","src":"10336:181:32","nodes":[],"body":{"id":50207,"nodeType":"Block","src":"10412:105:32","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"","id":50200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10461:2:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},{"id":50201,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50190,"src":"10465:5:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":50202,"name":"_deployed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50192,"src":"10472:9:32","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":50198,"name":"stdJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7286,"src":"10443:7:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdJson_$7286_$","typeString":"type(library stdJson)"}},"id":50199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10451:9:32","memberName":"serialize","nodeType":"MemberAccess","referencedDeclaration":7115,"src":"10443:17:32","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":50203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10443:39:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":50204,"name":"deploymentOutfile","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49335,"src":"10490:17:32","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":50195,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49308,"src":"10422:2:32","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":50197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10425:9:32","memberName":"writeJson","nodeType":"MemberAccess","referencedDeclaration":13438,"src":"10422:12:32","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory) external"}},"id":50205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":["10437:4:32","10484:4:32"],"names":["json","path"],"nodeType":"FunctionCall","src":"10422:88:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50206,"nodeType":"ExpressionStatement","src":"10422:88:32"}]},"documentation":{"id":50188,"nodeType":"StructuredDocumentation","src":"10273:58:32","text":"@notice Adds a deployment to the temp deployments file"},"implemented":true,"kind":"function","modifiers":[],"name":"_appendDeployment","nameLocation":"10345:17:32","parameters":{"id":50193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50190,"mutability":"mutable","name":"_name","nameLocation":"10377:5:32","nodeType":"VariableDeclaration","scope":50208,"src":"10363:19:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50189,"name":"string","nodeType":"ElementaryTypeName","src":"10363:6:32","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":50192,"mutability":"mutable","name":"_deployed","nameLocation":"10392:9:32","nodeType":"VariableDeclaration","scope":50208,"src":"10384:17:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50191,"name":"address","nodeType":"ElementaryTypeName","src":"10384:7:32","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10362:40:32"},"returnParameters":{"id":50194,"nodeType":"ParameterList","parameters":[],"src":"10412:0:32"},"scope":50364,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":50247,"nodeType":"FunctionDefinition","src":"10689:314:32","nodes":[],"body":{"id":50246,"nodeType":"Block","src":"10757:246:32","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":50218,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50211,"src":"10777:5:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":50217,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10771:5:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":50216,"name":"bytes","nodeType":"ElementaryTypeName","src":"10771:5:32","typeDescriptions":{}}},"id":50219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10771:12:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":50220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10784:6:32","memberName":"length","nodeType":"MemberAccess","src":"10771:19:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":50221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10794:1:32","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10771:24:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50228,"nodeType":"IfStatement","src":"10767:92:32","trueBody":{"id":50227,"nodeType":"Block","src":"10797:62:32","statements":[{"errorCall":{"arguments":[{"hexValue":"456d7074794e616d65","id":50224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10836:11:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_1623dd54f2986ffe5e5f12913541e66792453265edb3d12266a7fc486ceeea39","typeString":"literal_string \"EmptyName\""},"value":"EmptyName"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1623dd54f2986ffe5e5f12913541e66792453265edb3d12266a7fc486ceeea39","typeString":"literal_string \"EmptyName\""}],"id":50223,"name":"InvalidDeployment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49318,"src":"10818:17:32","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$_t_error_$","typeString":"function (string memory) pure returns (error)"}},"id":50225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10818:30:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":50226,"nodeType":"RevertStatement","src":"10811:37:32"}]}},{"assignments":[50231],"declarations":[{"constant":false,"id":50231,"mutability":"mutable","name":"deployment","nameLocation":"10887:10:32","nodeType":"VariableDeclaration","scope":50246,"src":"10869:28:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_memory_ptr","typeString":"struct Deployment"},"typeName":{"id":50230,"nodeType":"UserDefinedTypeName","pathNode":{"id":50229,"name":"Deployment","nameLocations":["10869:10:32"],"nodeType":"IdentifierPath","referencedDeclaration":49289,"src":"10869:10:32"},"referencedDeclaration":49289,"src":"10869:10:32","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_storage_ptr","typeString":"struct Deployment"}},"visibility":"internal"}],"id":50239,"initialValue":{"arguments":[{"id":50233,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50211,"src":"10919:5:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[{"id":50236,"name":"_addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50213,"src":"10940:5:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":50235,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10932:8:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":50234,"name":"address","nodeType":"ElementaryTypeName","src":"10932:8:32","stateMutability":"payable","typeDescriptions":{}}},"id":50237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10932:14:32","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":50232,"name":"Deployment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49289,"src":"10900:10:32","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Deployment_$49289_storage_ptr_$","typeString":"type(struct Deployment storage pointer)"}},"id":50238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["10913:4:32","10926:4:32"],"names":["name","addr"],"nodeType":"FunctionCall","src":"10900:49:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_memory_ptr","typeString":"struct Deployment memory"}},"nodeType":"VariableDeclarationStatement","src":"10869:80:32"},{"expression":{"id":50244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":50240,"name":"_namedDeployments","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49324,"src":"10959:17:32","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Deployment_$49289_storage_$","typeString":"mapping(string memory => struct Deployment storage ref)"}},"id":50242,"indexExpression":{"id":50241,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50211,"src":"10977:5:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10959:24:32","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_storage","typeString":"struct Deployment storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":50243,"name":"deployment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50231,"src":"10986:10:32","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_memory_ptr","typeString":"struct Deployment memory"}},"src":"10959:37:32","typeDescriptions":{"typeIdentifier":"t_struct$_Deployment_$49289_storage","typeString":"struct Deployment storage ref"}},"id":50245,"nodeType":"ExpressionStatement","src":"10959:37:32"}]},"documentation":{"id":50209,"nodeType":"StructuredDocumentation","src":"10523:161:32","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:32","parameters":{"id":50214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50211,"mutability":"mutable","name":"_name","nameLocation":"10728:5:32","nodeType":"VariableDeclaration","scope":50247,"src":"10714:19:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50210,"name":"string","nodeType":"ElementaryTypeName","src":"10714:6:32","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":50213,"mutability":"mutable","name":"_addr","nameLocation":"10743:5:32","nodeType":"VariableDeclaration","scope":50247,"src":"10735:13:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50212,"name":"address","nodeType":"ElementaryTypeName","src":"10735:7:32","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10713:36:32"},"returnParameters":{"id":50215,"nodeType":"ParameterList","parameters":[],"src":"10757:0:32"},"scope":50364,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":50363,"nodeType":"FunctionDefinition","src":"11109:1262:32","nodes":[],"body":{"id":50362,"nodeType":"Block","src":"11203:1168:32","nodes":[],"statements":[{"assignments":[50256],"declarations":[{"constant":false,"id":50256,"mutability":"mutable","name":"contractAddress","nameLocation":"11221:15:32","nodeType":"VariableDeclaration","scope":50362,"src":"11213:23:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50255,"name":"address","nodeType":"ElementaryTypeName","src":"11213:7:32","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":50257,"nodeType":"VariableDeclarationStatement","src":"11213:23:32"},{"condition":{"arguments":[{"id":50260,"name":"_contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50250,"src":"11368:13:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"50726f7879","id":50261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11383:7:32","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":50258,"name":"LibString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47666,"src":"11349:9:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibString_$47666_$","typeString":"type(library LibString)"}},"id":50259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11359:8:32","memberName":"endsWith","nodeType":"MemberAccess","referencedDeclaration":47377,"src":"11349:18:32","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":50262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11349:42:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":50318,"nodeType":"Block","src":"12045:72:32","statements":[{"expression":{"id":50316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":50312,"name":"contractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50256,"src":"12059:15:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":50314,"name":"_contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50250,"src":"12092:13:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":50313,"name":"mustGetAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49966,"src":"12077:14:32","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_address_payable_$","typeString":"function (string memory) view returns (address payable)"}},"id":50315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12077:29:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"12059:47:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":50317,"nodeType":"ExpressionStatement","src":"12059:47:32"}]},"id":50319,"nodeType":"IfStatement","src":"11345:772:32","trueBody":{"id":50311,"nodeType":"Block","src":"11393:646:32","statements":[{"expression":{"id":50270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":50263,"name":"contractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50256,"src":"11407:15:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":50267,"name":"_contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50250,"src":"11468:13:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":50266,"name":"getAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49934,"src":"11457:10:32","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_address_payable_$","typeString":"function (string memory) view returns (address payable)"}},"id":50268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11457:25:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":50264,"name":"EIP1967Helper","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61756,"src":"11425:13:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EIP1967Helper_$61756_$","typeString":"type(library EIP1967Helper)"}},"id":50265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11439:17:32","memberName":"getImplementation","nodeType":"MemberAccess","referencedDeclaration":61730,"src":"11425:31:32","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":50269,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11425:58:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11407:76:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":50271,"nodeType":"ExpressionStatement","src":"11407:76:32"},{"expression":{"id":50285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":50272,"name":"_contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50250,"src":"11497:13:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":50275,"name":"_contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50250,"src":"11529:13:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"30","id":50276,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11544:1:32","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":50279,"name":"_contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50250,"src":"11553:13:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":50278,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11547:5:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":50277,"name":"bytes","nodeType":"ElementaryTypeName","src":"11547:5:32","typeDescriptions":{}}},"id":50280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11547:20:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":50281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11568:6:32","memberName":"length","nodeType":"MemberAccess","src":"11547:27:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"35","id":50282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11577:1:32","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"11547:31:32","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":50273,"name":"LibString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47666,"src":"11513:9:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibString_$47666_$","typeString":"type(library LibString)"}},"id":50274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11523:5:32","memberName":"slice","nodeType":"MemberAccess","referencedDeclaration":47403,"src":"11513:15:32","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":50284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11513:66:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"11497:82:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":50286,"nodeType":"ExpressionStatement","src":"11497:82:32"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":50292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":50287,"name":"contractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50256,"src":"11829:15:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":50290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11856:1:32","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":50289,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11848:7:32","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":50288,"name":"address","nodeType":"ElementaryTypeName","src":"11848:7:32","typeDescriptions":{}}},"id":50291,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11848:10:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11829:29:32","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":50310,"nodeType":"IfStatement","src":"11825:204:32","trueBody":{"id":50309,"nodeType":"Block","src":"11860:169:32","statements":[{"expression":{"id":50307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":50293,"name":"contractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50256,"src":"11878:15:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"4f564d5f","id":50303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11991:6:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_f1085e05a202c56d4f653bc915d04848b7f5a7b5a4a6f41bf69d51523fb97868","typeString":"literal_string \"OVM_\""},"value":"OVM_"},{"id":50304,"name":"_contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50250,"src":"11999:13:32","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":50301,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11977:6:32","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":50300,"name":"string","nodeType":"ElementaryTypeName","src":"11977:6:32","typeDescriptions":{}}},"id":50302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11984:6:32","memberName":"concat","nodeType":"MemberAccess","src":"11977:13:32","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":50305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11977:36:32","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":50296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11947:16:32","typeDescriptions":{"typeIdentifier":"t_stringliteral_8654e3d155a3c7a3bb4ea984a0c31119fd7ce4ce0f798cda7628f1cd243bda7c","typeString":"literal_string \"AddressManager\""},"value":"AddressManager"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8654e3d155a3c7a3bb4ea984a0c31119fd7ce4ce0f798cda7628f1cd243bda7c","typeString":"literal_string \"AddressManager\""}],"id":50295,"name":"mustGetAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49966,"src":"11932:14:32","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_address_payable_$","typeString":"function (string memory) view returns (address payable)"}},"id":50297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11932:32:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":50294,"name":"IAddressManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52056,"src":"11916:15:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IAddressManager_$52056_$","typeString":"type(contract IAddressManager)"}},"id":50298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11916:49:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAddressManager_$52056","typeString":"contract IAddressManager"}},"id":50299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11966:10:32","memberName":"getAddress","nodeType":"MemberAccess","referencedDeclaration":52055,"src":"11916:60:32","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) view external returns (address)"}},"id":50306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11916:98:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11878:136:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":50308,"nodeType":"ExpressionStatement","src":"11878:136:32"}]}}]}},{"assignments":[50322],"declarations":[{"constant":false,"id":50322,"mutability":"mutable","name":"slot","nameLocation":"12145:4:32","nodeType":"VariableDeclaration","scope":50362,"src":"12126:23:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_StorageSlot_$51038_memory_ptr","typeString":"struct StorageSlot"},"typeName":{"id":50321,"nodeType":"UserDefinedTypeName","pathNode":{"id":50320,"name":"StorageSlot","nameLocations":["12126:11:32"],"nodeType":"IdentifierPath","referencedDeclaration":51038,"src":"12126:11:32"},"referencedDeclaration":51038,"src":"12126:11:32","typeDescriptions":{"typeIdentifier":"t_struct$_StorageSlot_$51038_storage_ptr","typeString":"struct StorageSlot"}},"visibility":"internal"}],"id":50327,"initialValue":{"arguments":[{"id":50325,"name":"_contractName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50250,"src":"12186:13:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":50323,"name":"ForgeArtifacts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51994,"src":"12152:14:32","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ForgeArtifacts_$51994_$","typeString":"type(library ForgeArtifacts)"}},"id":50324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12167:18:32","memberName":"getInitializedSlot","nodeType":"MemberAccess","referencedDeclaration":51637,"src":"12152:33:32","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$_t_struct$_StorageSlot_$51038_memory_ptr_$","typeString":"function (string memory) returns (struct StorageSlot memory)"}},"id":50326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12152:48:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_StorageSlot_$51038_memory_ptr","typeString":"struct StorageSlot memory"}},"nodeType":"VariableDeclarationStatement","src":"12126:74:32"},{"assignments":[50329],"declarations":[{"constant":false,"id":50329,"mutability":"mutable","name":"slotVal","nameLocation":"12218:7:32","nodeType":"VariableDeclaration","scope":50362,"src":"12210:15:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":50328,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12210:7:32","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":50342,"initialValue":{"arguments":[{"id":50332,"name":"contractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50256,"src":"12236:15:32","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[{"expression":{"id":50337,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50322,"src":"12274:4:32","typeDescriptions":{"typeIdentifier":"t_struct$_StorageSlot_$51038_memory_ptr","typeString":"struct StorageSlot memory"}},"id":50338,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12279:4:32","memberName":"slot","nodeType":"MemberAccess","referencedDeclaration":51035,"src":"12274:9:32","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":50335,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49308,"src":"12261:2:32","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":50336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12264:9:32","memberName":"parseUint","nodeType":"MemberAccess","referencedDeclaration":13542,"src":"12261:12:32","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) pure external returns (uint256)"}},"id":50339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12261:23:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50334,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12253:7:32","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":50333,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12253:7:32","typeDescriptions":{}}},"id":50340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12253:32:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":50330,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49308,"src":"12228:2:32","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$15857","typeString":"contract Vm"}},"id":50331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12231:4:32","memberName":"load","nodeType":"MemberAccess","referencedDeclaration":12697,"src":"12228:7:32","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (address,bytes32) view external returns (bytes32)"}},"id":50341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12228:58:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"12210:76:32"},{"expression":{"id":50360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":50343,"name":"initialized_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50253,"src":"12296:12:32","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":50348,"name":"slotVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50329,"src":"12326:7:32","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":50347,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12318:7:32","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":50346,"name":"uint256","nodeType":"ElementaryTypeName","src":"12318:7:32","typeDescriptions":{}}},"id":50349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12318:16:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":50353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":50350,"name":"slot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50322,"src":"12339:4:32","typeDescriptions":{"typeIdentifier":"t_struct$_StorageSlot_$51038_memory_ptr","typeString":"struct StorageSlot memory"}},"id":50351,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12344:6:32","memberName":"offset","nodeType":"MemberAccess","referencedDeclaration":51033,"src":"12339:11:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"38","id":50352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12353:1:32","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"12339:15:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":50354,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12338:17:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12318:37:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":50356,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12317:39:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30784646","id":50357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12359:4:32","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xFF"},"src":"12317:46:32","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":50345,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12311:5:32","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":50344,"name":"uint8","nodeType":"ElementaryTypeName","src":"12311:5:32","typeDescriptions":{}}},"id":50359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12311:53:32","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"12296:68:32","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":50361,"nodeType":"ExpressionStatement","src":"12296:68:32"}]},"documentation":{"id":50248,"nodeType":"StructuredDocumentation","src":"11009:95:32","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:32","parameters":{"id":50251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50250,"mutability":"mutable","name":"_contractName","nameLocation":"11152:13:32","nodeType":"VariableDeclaration","scope":50363,"src":"11138:27:32","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50249,"name":"string","nodeType":"ElementaryTypeName","src":"11138:6:32","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11137:29:32"},"returnParameters":{"id":50254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50253,"mutability":"mutable","name":"initialized_","nameLocation":"11189:12:32","nodeType":"VariableDeclaration","scope":50363,"src":"11183:18:32","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":50252,"name":"uint8","nodeType":"ElementaryTypeName","src":"11183:5:32","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"11182:20:32"},"scope":50364,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":true,"baseContracts":[],"canonicalName":"Artifacts","contractDependencies":[],"contractKind":"contract","documentation":{"id":49290,"nodeType":"StructuredDocumentation","src":"931:250:32","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,"internalFunctionIDs":{"23975":1},"linearizedBaseContracts":[50364],"name":"Artifacts","nameLocation":"1199:9:32","scope":50365,"usedErrors":[49313,49318,52459],"usedEvents":[]}],"license":"MIT"},"id":32}