@tokamak-network/thanos-contracts
Version:
1 lines • 237 kB
JSON
{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"StdChains provides information about EVM compatible chains that can be used in scripts/tests. For each chain, the chain's name, chain ID, and a default RPC URL are provided. Chains are identified by their alias, which is the same as the alias in the `[rpc_endpoints]` section of the `foundry.toml` file. For best UX, ensure the alias in the `foundry.toml` file match the alias used in this contract, which can be found as the first argument to the `setChainWithDefaultRpcUrl` call in the `initializeStdChains` function. There are two main ways to use this contract: 1. Set a chain with `setChain(string memory chainAlias, ChainData memory chain)` or `setChain(string memory chainAlias, Chain memory chain)` 2. Get a chain with `getChain(string memory chainAlias)` or `getChain(uint256 chainId)`. The first time either of those are used, chains are initialized with the default set of RPC URLs. This is done in `initializeStdChains`, which uses `setChainWithDefaultRpcUrl`. Defaults are recorded in `defaultRpcUrls`. The `setChain` function is straightforward, and it simply saves off the given chain data. The `getChain` methods use `getChainWithUpdatedRpcUrl` to return a chain. For example, let's say we want to retrieve the RPC URL for `mainnet`: - If you have specified data with `setChain`, it will return that. - If you have configured a mainnet RPC URL in `foundry.toml`, it will return the URL, provided it is valid (e.g. a URL is specified, or an environment variable is given and exists). - If neither of the above conditions is met, the default data is returned. Summarizing the above, the prioritization hierarchy is `setChain` -> `foundry.toml` -> environment variable -> defaults.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/StdChains.sol\":\"StdChains\"},\"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/StdChains.sol\":{\"keccak256\":\"0x2ba8ee7e4a68efd4cd75331b229874f4d4dc0a1010599afad88fc2cae5cb5d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77ce1968d402b0414fec0a344b59c275d0706d4df5ac6293d605dd2202016345\",\"dweb:/ipfs/QmSVy4N4F15NzEuSpmvwRj1nTfAwaJpng7CywUBWLnWC4w\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x29fa9fa4f21f0762bcb245732bdf18218b0e017640fe4f9809d2157c56d9741e\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://cf18f5b10bfcc5c70c8f950a52907b18e6da38825cdd04261c435601410f0dea\",\"dweb:/ipfs/QmPkhDtp4AXw7iaJe84PEUPNK748pxsLUp8r5QB3hewWRy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"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":{"lib/forge-std/src/StdChains.sol":"StdChains"},"evmVersion":"cancun","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"lib/forge-std/src/StdChains.sol":{"keccak256":"0x2ba8ee7e4a68efd4cd75331b229874f4d4dc0a1010599afad88fc2cae5cb5d4a","urls":["bzz-raw://77ce1968d402b0414fec0a344b59c275d0706d4df5ac6293d605dd2202016345","dweb:/ipfs/QmSVy4N4F15NzEuSpmvwRj1nTfAwaJpng7CywUBWLnWC4w"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0x29fa9fa4f21f0762bcb245732bdf18218b0e017640fe4f9809d2157c56d9741e","urls":["bzz-raw://cf18f5b10bfcc5c70c8f950a52907b18e6da38825cdd04261c435601410f0dea","dweb:/ipfs/QmPkhDtp4AXw7iaJe84PEUPNK748pxsLUp8r5QB3hewWRy"],"license":"MIT OR Apache-2.0"}},"version":1},"storageLayout":{"storage":[{"astId":2758,"contract":"lib/forge-std/src/StdChains.sol:StdChains","label":"stdChainsInitialized","offset":0,"slot":"0","type":"t_bool"},{"astId":2779,"contract":"lib/forge-std/src/StdChains.sol:StdChains","label":"chains","offset":0,"slot":"1","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)2774_storage)"},{"astId":2783,"contract":"lib/forge-std/src/StdChains.sol:StdChains","label":"defaultRpcUrls","offset":0,"slot":"2","type":"t_mapping(t_string_memory_ptr,t_string_storage)"},{"astId":2787,"contract":"lib/forge-std/src/StdChains.sol:StdChains","label":"idToAlias","offset":0,"slot":"3","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":2790,"contract":"lib/forge-std/src/StdChains.sol:StdChains","label":"fallbackToDefaultRpcUrls","offset":0,"slot":"4","type":"t_bool"}],"types":{"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_string_memory_ptr,t_string_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => string)","numberOfBytes":"32","value":"t_string_storage"},"t_mapping(t_string_memory_ptr,t_struct(Chain)2774_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)2774_storage"},"t_mapping(t_uint256,t_string_storage)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_memory_ptr":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Chain)2774_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":2767,"contract":"lib/forge-std/src/StdChains.sol:StdChains","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":2769,"contract":"lib/forge-std/src/StdChains.sol:StdChains","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":2771,"contract":"lib/forge-std/src/StdChains.sol:StdChains","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":2773,"contract":"lib/forge-std/src/StdChains.sol:StdChains","label":"rpcUrl","offset":0,"slot":"3","type":"t_string_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"userdoc":{"version":1,"kind":"user","notice":"StdChains provides information about EVM compatible chains that can be used in scripts/tests. For each chain, the chain's name, chain ID, and a default RPC URL are provided. Chains are identified by their alias, which is the same as the alias in the `[rpc_endpoints]` section of the `foundry.toml` file. For best UX, ensure the alias in the `foundry.toml` file match the alias used in this contract, which can be found as the first argument to the `setChainWithDefaultRpcUrl` call in the `initializeStdChains` function. There are two main ways to use this contract: 1. Set a chain with `setChain(string memory chainAlias, ChainData memory chain)` or `setChain(string memory chainAlias, Chain memory chain)` 2. Get a chain with `getChain(string memory chainAlias)` or `getChain(uint256 chainId)`. The first time either of those are used, chains are initialized with the default set of RPC URLs. This is done in `initializeStdChains`, which uses `setChainWithDefaultRpcUrl`. Defaults are recorded in `defaultRpcUrls`. The `setChain` function is straightforward, and it simply saves off the given chain data. The `getChain` methods use `getChainWithUpdatedRpcUrl` to return a chain. For example, let's say we want to retrieve the RPC URL for `mainnet`: - If you have specified data with `setChain`, it will return that. - If you have configured a mainnet RPC URL in `foundry.toml`, it will return the URL, provided it is valid (e.g. a URL is specified, or an environment variable is given and exists). - If neither of the above conditions is met, the default data is returned. Summarizing the above, the prioritization hierarchy is `setChain` -> `foundry.toml` -> environment variable -> defaults."},"devdoc":{"version":1,"kind":"dev"},"ast":{"absolutePath":"lib/forge-std/src/StdChains.sol","id":3517,"exportedSymbols":{"StdChains":[3516],"VmSafe":[15270]},"nodeType":"SourceUnit","src":"32:11817:3","nodes":[{"id":2736,"nodeType":"PragmaDirective","src":"32:31:3","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":2738,"nodeType":"ImportDirective","src":"65:32:3","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":3517,"sourceUnit":15858,"symbolAliases":[{"foreign":{"id":2737,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15270,"src":"73:6:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":3516,"nodeType":"ContractDefinition","src":"1899:9949:3","nodes":[{"id":2756,"nodeType":"VariableDeclaration","src":"1933:92:3","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"1957:2:3","scope":3516,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$15270","typeString":"contract VmSafe"},"typeName":{"id":2741,"nodeType":"UserDefinedTypeName","pathNode":{"id":2740,"name":"VmSafe","nameLocations":["1933:6:3"],"nodeType":"IdentifierPath","referencedDeclaration":15270,"src":"1933:6:3"},"referencedDeclaration":15270,"src":"1933:6:3","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$15270","typeString":"contract VmSafe"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":2750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2003:17:3","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":2749,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1993:9:3","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1993:28:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2748,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1985:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2747,"name":"uint256","nodeType":"ElementaryTypeName","src":"1985:7:3","typeDescriptions":{}}},"id":2752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1985:37:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2746,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1977:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":2745,"name":"uint160","nodeType":"ElementaryTypeName","src":"1977:7:3","typeDescriptions":{}}},"id":2753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1977:46:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":2744,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1969:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2743,"name":"address","nodeType":"ElementaryTypeName","src":"1969:7:3","typeDescriptions":{}}},"id":2754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1969:55:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2742,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15270,"src":"1962:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$15270_$","typeString":"type(contract VmSafe)"}},"id":2755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1962:63:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$15270","typeString":"contract VmSafe"}},"visibility":"private"},{"id":2758,"nodeType":"VariableDeclaration","src":"2032:33:3","nodes":[],"constant":false,"mutability":"mutable","name":"stdChainsInitialized","nameLocation":"2045:20:3","scope":3516,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2757,"name":"bool","nodeType":"ElementaryTypeName","src":"2032:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":2765,"nodeType":"StructDefinition","src":"2072:93:3","nodes":[],"canonicalName":"StdChains.ChainData","members":[{"constant":false,"id":2760,"mutability":"mutable","name":"name","nameLocation":"2106:4:3","nodeType":"VariableDeclaration","scope":2765,"src":"2099:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":2759,"name":"string","nodeType":"ElementaryTypeName","src":"2099:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2762,"mutability":"mutable","name":"chainId","nameLocation":"2128:7:3","nodeType":"VariableDeclaration","scope":2765,"src":"2120:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2761,"name":"uint256","nodeType":"ElementaryTypeName","src":"2120:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2764,"mutability":"mutable","name":"rpcUrl","nameLocation":"2152:6:3","nodeType":"VariableDeclaration","scope":2765,"src":"2145:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":2763,"name":"string","nodeType":"ElementaryTypeName","src":"2145:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"ChainData","nameLocation":"2079:9:3","scope":3516,"visibility":"public"},{"id":2774,"nodeType":"StructDefinition","src":"2171:598:3","nodes":[],"canonicalName":"StdChains.Chain","members":[{"constant":false,"id":2767,"mutability":"mutable","name":"name","nameLocation":"2228:4:3","nodeType":"VariableDeclaration","scope":2774,"src":"2221:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":2766,"name":"string","nodeType":"ElementaryTypeName","src":"2221:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2769,"mutability":"mutable","name":"chainId","nameLocation":"2283:7:3","nodeType":"VariableDeclaration","scope":2774,"src":"2275:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2768,"name":"uint256","nodeType":"ElementaryTypeName","src":"2275:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2771,"mutability":"mutable","name":"chainAlias","nameLocation":"2383:10:3","nodeType":"VariableDeclaration","scope":2774,"src":"2376:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":2770,"name":"string","nodeType":"ElementaryTypeName","src":"2376:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2773,"mutability":"mutable","name":"rpcUrl","nameLocation":"2756:6:3","nodeType":"VariableDeclaration","scope":2774,"src":"2749:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":2772,"name":"string","nodeType":"ElementaryTypeName","src":"2749:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"Chain","nameLocation":"2178:5:3","scope":3516,"visibility":"public"},{"id":2779,"nodeType":"VariableDeclaration","src":"2873:39:3","nodes":[],"constant":false,"mutability":"mutable","name":"chains","nameLocation":"2906:6:3","scope":3516,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$2774_storage_$","typeString":"mapping(string => struct StdChains.Chain)"},"typeName":{"id":2778,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2775,"name":"string","nodeType":"ElementaryTypeName","src":"2881:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"nodeType":"Mapping","src":"2873:24:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$2774_storage_$","typeString":"mapping(string => struct StdChains.Chain)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2777,"nodeType":"UserDefinedTypeName","pathNode":{"id":2776,"name":"Chain","nameLocations":["2891:5:3"],"nodeType":"IdentifierPath","referencedDeclaration":2774,"src":"2891:5:3"},"referencedDeclaration":2774,"src":"2891:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2774_storage_ptr","typeString":"struct StdChains.Chain"}}},"visibility":"private"},{"id":2783,"nodeType":"VariableDeclaration","src":"2978:48:3","nodes":[],"constant":false,"mutability":"mutable","name":"defaultRpcUrls","nameLocation":"3012:14:3","scope":3516,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_string_storage_$","typeString":"mapping(string => string)"},"typeName":{"id":2782,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2780,"name":"string","nodeType":"ElementaryTypeName","src":"2986:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"nodeType":"Mapping","src":"2978:25:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_string_storage_$","typeString":"mapping(string => string)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2781,"name":"string","nodeType":"ElementaryTypeName","src":"2996:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"visibility":"private"},{"id":2787,"nodeType":"VariableDeclaration","src":"3075:44:3","nodes":[],"constant":false,"mutability":"mutable","name":"idToAlias","nameLocation":"3110:9:3","scope":3516,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string)"},"typeName":{"id":2786,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2784,"name":"uint256","nodeType":"ElementaryTypeName","src":"3083:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"3075:26:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2785,"name":"string","nodeType":"ElementaryTypeName","src":"3094:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"visibility":"private"},{"id":2790,"nodeType":"VariableDeclaration","src":"3126:44:3","nodes":[],"constant":false,"mutability":"mutable","name":"fallbackToDefaultRpcUrls","nameLocation":"3139:24:3","scope":3516,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2788,"name":"bool","nodeType":"ElementaryTypeName","src":"3126:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":{"hexValue":"74727565","id":2789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3166:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"visibility":"private"},{"id":2842,"nodeType":"FunctionDefinition","src":"3255:524:3","nodes":[],"body":{"id":2841,"nodeType":"Block","src":"3345:434:3","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":2801,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2792,"src":"3369:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2800,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3363:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":2799,"name":"bytes","nodeType":"ElementaryTypeName","src":"3363:5:3","typeDescriptions":{}}},"id":2802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3363:17:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":2803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3381:6:3","memberName":"length","nodeType":"MemberAccess","src":"3363:24:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3391:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3363:29:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436861696e7320676574436861696e28737472696e67293a20436861696e20616c6961732063616e6e6f742062652074686520656d70747920737472696e672e","id":2806,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3394:69:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_3d920aad82cc068f1a73b0fb2c703d0169baa46c8c67097012e1aca0cc8c8b70","typeString":"literal_string \"StdChains getChain(string): Chain alias cannot be the empty string.\""},"value":"StdChains getChain(string): Chain alias cannot be the empty string."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3d920aad82cc068f1a73b0fb2c703d0169baa46c8c67097012e1aca0cc8c8b70","typeString":"literal_string \"StdChains getChain(string): Chain alias cannot be the empty string.\""}],"id":2798,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3355:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3355:109:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2808,"nodeType":"ExpressionStatement","src":"3355:109:3"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":2809,"name":"initializeStdChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3478,"src":"3475:19:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":2810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3475:21:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2811,"nodeType":"ExpressionStatement","src":"3475:21:3"},{"expression":{"id":2816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2812,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2796,"src":"3506:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2774_memory_ptr","typeString":"struct StdChains.Chain memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":2813,"name":"chains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2779,"src":"3514:6:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$2774_storage_$","typeString":"mapping(string memory => struct StdChains.Chain storage ref)"}},"id":2815,"indexExpression":{"id":2814,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2792,"src":"3521:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3514:18:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2774_storage","typeString":"struct StdChains.Chain storage ref"}},"src":"3506:26:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2774_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":2817,"nodeType":"ExpressionStatement","src":"3506:26:3"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":2819,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2796,"src":"3563:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2774_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":2820,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3569:7:3","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":2769,"src":"3563:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3580:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3563:18:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"arguments":[{"hexValue":"537464436861696e7320676574436861696e28737472696e67293a20436861696e207769746820616c6961732022","id":2827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3619:49:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_be183459e9329da9bfc4a2fec17224f102b8a68c1139772e954a2d6fd9877e00","typeString":"literal_string \"StdChains getChain(string): Chain with alias \"\""},"value":"StdChains getChain(string): Chain with alias \""},{"id":2828,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2792,"src":"3670:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"22206e6f7420666f756e642e","id":2829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3682:15:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_be956cec6682d51b49f30c9beff2857436402411b7eee4082594e44819bcd397","typeString":"literal_string \"\" not found.\""},"value":"\" not found."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_be183459e9329da9bfc4a2fec17224f102b8a68c1139772e954a2d6fd9877e00","typeString":"literal_string \"StdChains getChain(string): Chain with alias \"\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_be956cec6682d51b49f30c9beff2857436402411b7eee4082594e44819bcd397","typeString":"literal_string \"\" not found.\""}],"expression":{"id":2825,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3602:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2826,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3606:12:3","memberName":"encodePacked","nodeType":"MemberAccess","src":"3602:16:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3602:96:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2824,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3595:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":2823,"name":"string","nodeType":"ElementaryTypeName","src":"3595:6:3","typeDescriptions":{}}},"id":2831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3595:104:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2818,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3542:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3542:167:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2833,"nodeType":"ExpressionStatement","src":"3542:167:3"},{"expression":{"id":2839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2834,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2796,"src":"3720:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2774_memory_ptr","typeString":"struct StdChains.Chain memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":2836,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2792,"src":"3754:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":2837,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2796,"src":"3766:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2774_memory_ptr","typeString":"struct StdChains.Chain memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Chain_$2774_memory_ptr","typeString":"struct StdChains.Chain memory"}],"id":2835,"name":"getChainWithUpdatedRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3250,"src":"3728:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_struct$_Chain_$2774_memory_ptr_$returns$_t_struct$_Chain_$2774_memory_ptr_$","typeString":"function (string memory,struct StdChains.Chain memory) view returns (struct StdChains.Chain memory)"}},"id":2838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3728:44:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2774_memory_ptr","typeString":"struct StdChains.Chain memory"}},"src":"3720:52:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2774_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":2840,"nodeType":"ExpressionStatement","src":"3720:52:3"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getChain","nameLocation":"3264:8:3","parameters":{"id":2793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2792,"mutability":"mutable","name":"chainAlias","nameLocation":"3287:10:3","nodeType":"VariableDeclaration","scope":2842,"src":"3273:24:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2791,"name":"string","nodeType":"ElementaryTypeName","src":"3273:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3272:26:3"},"returnParameters":{"id":2797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2796,"mutability":"mutable","name":"chain","nameLocation":"3338:5:3","nodeType":"VariableDeclaration","scope":2842,"src":"3325:18:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2774_memory_ptr","typeString":"struct StdChains.Chain"},"typeName":{"id":2795,"nodeType":"UserDefinedTypeName","pathNode":{"id":2794,"name":"Chain","nameLocations":["3325:5:3"],"nodeType":"IdentifierPath","referencedDeclaration":2774,"src":"3325:5:3"},"referencedDeclaration":2774,"src":"3325:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2774_storage_ptr","typeString":"struct StdChains.Chain"}},"visibility":"internal"}],"src":"3324:20:3"},"scope":3516,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2899,"nodeType":"FunctionDefinition","src":"3785:541:3","nodes":[],"body":{"id":2898,"nodeType":"Block","src":"3866:460:3","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2851,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2844,"src":"3884:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3895:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3884:12:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436861696e7320676574436861696e2875696e74323536293a20436861696e2049442063616e6e6f7420626520302e","id":2854,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3898:52:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_64f1cd082b277ed92a70b6890cc1e3b6ebd77bc6c9299e7ce82305de04926a4a","typeString":"literal_string \"StdChains getChain(uint256): Chain ID cannot be 0.\""},"value":"StdChains getChain(uint256): Chain ID cannot be 0."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_64f1cd082b277ed92a70b6890cc1e3b6ebd77bc6c9299e7ce82305de04926a4a","typeString":"literal_string \"StdChains getChain(uint256): Chain ID cannot be 0.\""}],"id":2850,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3876:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3876:75:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2856,"nodeType":"ExpressionStatement","src":"3876:75:3"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":2857,"name":"initializeStdChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3478,"src":"3961:19:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":2858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3961:21:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2859,"nodeType":"ExpressionStatement","src":"3961:21:3"},{"assignments":[2861],"declarations":[{"constant":false,"id":2861,"mutability":"mutable","name":"chainAlias","nameLocation":"4006:10:3","nodeType":"VariableDeclaration","scope":2898,"src":"3992:24:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2860,"name":"string","nodeType":"ElementaryTypeName","src":"3992:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":2865,"initialValue":{"baseExpression":{"id":2862,"name":"idToAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2787,"src":"4019:9:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":2864,"indexExpression":{"id":2863,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2844,"src":"4029:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4019:18:3","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"VariableDeclarationStatement","src":"3992:45:3"},{"expression":{"id":2870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2866,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2848,"src":"4048:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2774_memory_ptr","typeString":"struct StdChains.Chain memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":2867,"name":"chains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2779,"src":"4056:6:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$2774_storage_$","typeString":"mapping(string memory => struct StdChains.Chain storage ref)"}},"id":2869,"indexExpression":{"id":2868,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2861,"src":"4063:10:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4056:18:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2774_storage","typeString":"struct StdChains.Chain storage ref"}},"src":"4048:26:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2774_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":2871,"nodeType":"ExpressionStatement","src":"4048:26:3"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":2873,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2848,"src":"4106:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2774_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":2874,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4112:7:3","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":2769,"src":"4106:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4123:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4106:18:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"arguments":[{"hexValue":"537464436861696e7320676574436861696e2875696e74323536293a20436861696e207769746820494420","id":2881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4162:45:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_ce7b2cad45f1a6d0b9b7bb125e9a8742fce8fed7d742c83265d4a2da4caf457d","typeString":"literal_string \"StdChains getChain(uint256): Chain with ID \""},"value":"StdChains getChain(uint256): Chain with ID "},{"arguments":[{"id":2884,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2844,"src":"4221:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2882,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2756,"src":"4209:2:3","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$15270","typeString":"contract VmSafe"}},"id":2883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4212:8:3","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":13613,"src":"4209:11:3","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":2885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4209:20:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"206e6f7420666f756e642e","id":2886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4231:13:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_f310d2efb88747fac959fa7567a0a1a161dd43a77ba9af074f6191cf5bcf4f8b","typeString":"literal_string \" not found.\""},"value":" not found."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ce7b2cad45f1a6d0b9b7bb125e9a8742fce8fed7d742c83265d4a2da4caf457d","typeString":"literal_string \"StdChains getChain(uint256): Chain with ID \""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_f310d2efb88747fac959fa7567a0a1a161dd43a77ba9af074f6191cf5bcf4f8b","typeString":"literal_string \" not found.\""}],"expression":{"id":2879,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4145:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2880,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4149:12:3","memberName":"encodePacked","nodeType":"MemberAccess","src":"4145:16:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4145:100:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2878,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4138:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":2877,"name":"string","nodeType":"ElementaryTypeName","src":"4138:6:3","typeDescriptions":{}}},"id":2888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4138:108:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typ