@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.25+commit.b61c2a91\"},\"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.25+commit.b61c2a91"},"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":2719,"contract":"lib/forge-std/src/StdChains.sol:StdChains","label":"stdChainsInitialized","offset":0,"slot":"0","type":"t_bool"},{"astId":2740,"contract":"lib/forge-std/src/StdChains.sol:StdChains","label":"chains","offset":0,"slot":"1","type":"t_mapping(t_string_memory_ptr,t_struct(Chain)2735_storage)"},{"astId":2744,"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":2748,"contract":"lib/forge-std/src/StdChains.sol:StdChains","label":"idToAlias","offset":0,"slot":"3","type":"t_mapping(t_uint256,t_string_storage)"},{"astId":2751,"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)2735_storage)":{"encoding":"mapping","key":"t_string_memory_ptr","label":"mapping(string => struct StdChains.Chain)","numberOfBytes":"32","value":"t_struct(Chain)2735_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)2735_storage":{"encoding":"inplace","label":"struct StdChains.Chain","numberOfBytes":"128","members":[{"astId":2728,"contract":"lib/forge-std/src/StdChains.sol:StdChains","label":"name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":2730,"contract":"lib/forge-std/src/StdChains.sol:StdChains","label":"chainId","offset":0,"slot":"1","type":"t_uint256"},{"astId":2732,"contract":"lib/forge-std/src/StdChains.sol:StdChains","label":"chainAlias","offset":0,"slot":"2","type":"t_string_storage"},{"astId":2734,"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":3478,"exportedSymbols":{"StdChains":[3477],"VmSafe":[15231]},"nodeType":"SourceUnit","src":"32:11817:2","nodes":[{"id":2697,"nodeType":"PragmaDirective","src":"32:31:2","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":2699,"nodeType":"ImportDirective","src":"65:32:2","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":3478,"sourceUnit":15819,"symbolAliases":[{"foreign":{"id":2698,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15231,"src":"73:6:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":3477,"nodeType":"ContractDefinition","src":"1899:9949:2","nodes":[{"id":2717,"nodeType":"VariableDeclaration","src":"1933:92:2","nodes":[],"constant":true,"mutability":"constant","name":"vm","nameLocation":"1957:2:2","scope":3477,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$15231","typeString":"contract VmSafe"},"typeName":{"id":2702,"nodeType":"UserDefinedTypeName","pathNode":{"id":2701,"name":"VmSafe","nameLocations":["1933:6:2"],"nodeType":"IdentifierPath","referencedDeclaration":15231,"src":"1933:6:2"},"referencedDeclaration":15231,"src":"1933:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$15231","typeString":"contract VmSafe"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":2711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2003:17:2","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":2710,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1993:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":2712,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1993:28:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2709,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1985:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2708,"name":"uint256","nodeType":"ElementaryTypeName","src":"1985:7:2","typeDescriptions":{}}},"id":2713,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1985:37:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2707,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1977:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":2706,"name":"uint160","nodeType":"ElementaryTypeName","src":"1977:7:2","typeDescriptions":{}}},"id":2714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1977:46:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":2705,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1969:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2704,"name":"address","nodeType":"ElementaryTypeName","src":"1969:7:2","typeDescriptions":{}}},"id":2715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1969:55:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2703,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15231,"src":"1962:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VmSafe_$15231_$","typeString":"type(contract VmSafe)"}},"id":2716,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1962:63:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$15231","typeString":"contract VmSafe"}},"visibility":"private"},{"id":2719,"nodeType":"VariableDeclaration","src":"2032:33:2","nodes":[],"constant":false,"mutability":"mutable","name":"stdChainsInitialized","nameLocation":"2045:20:2","scope":3477,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2718,"name":"bool","nodeType":"ElementaryTypeName","src":"2032:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":2726,"nodeType":"StructDefinition","src":"2072:93:2","nodes":[],"canonicalName":"StdChains.ChainData","members":[{"constant":false,"id":2721,"mutability":"mutable","name":"name","nameLocation":"2106:4:2","nodeType":"VariableDeclaration","scope":2726,"src":"2099:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":2720,"name":"string","nodeType":"ElementaryTypeName","src":"2099:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2723,"mutability":"mutable","name":"chainId","nameLocation":"2128:7:2","nodeType":"VariableDeclaration","scope":2726,"src":"2120:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2722,"name":"uint256","nodeType":"ElementaryTypeName","src":"2120:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2725,"mutability":"mutable","name":"rpcUrl","nameLocation":"2152:6:2","nodeType":"VariableDeclaration","scope":2726,"src":"2145:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":2724,"name":"string","nodeType":"ElementaryTypeName","src":"2145:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"ChainData","nameLocation":"2079:9:2","scope":3477,"visibility":"public"},{"id":2735,"nodeType":"StructDefinition","src":"2171:598:2","nodes":[],"canonicalName":"StdChains.Chain","members":[{"constant":false,"id":2728,"mutability":"mutable","name":"name","nameLocation":"2228:4:2","nodeType":"VariableDeclaration","scope":2735,"src":"2221:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":2727,"name":"string","nodeType":"ElementaryTypeName","src":"2221:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2730,"mutability":"mutable","name":"chainId","nameLocation":"2283:7:2","nodeType":"VariableDeclaration","scope":2735,"src":"2275:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2729,"name":"uint256","nodeType":"ElementaryTypeName","src":"2275:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2732,"mutability":"mutable","name":"chainAlias","nameLocation":"2383:10:2","nodeType":"VariableDeclaration","scope":2735,"src":"2376:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":2731,"name":"string","nodeType":"ElementaryTypeName","src":"2376:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":2734,"mutability":"mutable","name":"rpcUrl","nameLocation":"2756:6:2","nodeType":"VariableDeclaration","scope":2735,"src":"2749:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":2733,"name":"string","nodeType":"ElementaryTypeName","src":"2749:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"Chain","nameLocation":"2178:5:2","scope":3477,"visibility":"public"},{"id":2740,"nodeType":"VariableDeclaration","src":"2873:39:2","nodes":[],"constant":false,"mutability":"mutable","name":"chains","nameLocation":"2906:6:2","scope":3477,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$2735_storage_$","typeString":"mapping(string => struct StdChains.Chain)"},"typeName":{"id":2739,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2736,"name":"string","nodeType":"ElementaryTypeName","src":"2881:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"nodeType":"Mapping","src":"2873:24:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$2735_storage_$","typeString":"mapping(string => struct StdChains.Chain)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2738,"nodeType":"UserDefinedTypeName","pathNode":{"id":2737,"name":"Chain","nameLocations":["2891:5:2"],"nodeType":"IdentifierPath","referencedDeclaration":2735,"src":"2891:5:2"},"referencedDeclaration":2735,"src":"2891:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2735_storage_ptr","typeString":"struct StdChains.Chain"}}},"visibility":"private"},{"id":2744,"nodeType":"VariableDeclaration","src":"2978:48:2","nodes":[],"constant":false,"mutability":"mutable","name":"defaultRpcUrls","nameLocation":"3012:14:2","scope":3477,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_string_storage_$","typeString":"mapping(string => string)"},"typeName":{"id":2743,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2741,"name":"string","nodeType":"ElementaryTypeName","src":"2986:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"nodeType":"Mapping","src":"2978:25:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_string_storage_$","typeString":"mapping(string => string)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2742,"name":"string","nodeType":"ElementaryTypeName","src":"2996:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"visibility":"private"},{"id":2748,"nodeType":"VariableDeclaration","src":"3075:44:2","nodes":[],"constant":false,"mutability":"mutable","name":"idToAlias","nameLocation":"3110:9:2","scope":3477,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string)"},"typeName":{"id":2747,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2745,"name":"uint256","nodeType":"ElementaryTypeName","src":"3083:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"3075:26:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2746,"name":"string","nodeType":"ElementaryTypeName","src":"3094:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"visibility":"private"},{"id":2751,"nodeType":"VariableDeclaration","src":"3126:44:2","nodes":[],"constant":false,"mutability":"mutable","name":"fallbackToDefaultRpcUrls","nameLocation":"3139:24:2","scope":3477,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2749,"name":"bool","nodeType":"ElementaryTypeName","src":"3126:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":{"hexValue":"74727565","id":2750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3166:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"visibility":"private"},{"id":2803,"nodeType":"FunctionDefinition","src":"3255:524:2","nodes":[],"body":{"id":2802,"nodeType":"Block","src":"3345:434:2","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":2762,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2753,"src":"3369:10:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2761,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3363:5:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":2760,"name":"bytes","nodeType":"ElementaryTypeName","src":"3363:5:2","typeDescriptions":{}}},"id":2763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3363:17:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":2764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3381:6:2","memberName":"length","nodeType":"MemberAccess","src":"3363:24:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3391:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3363:29:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436861696e7320676574436861696e28737472696e67293a20436861696e20616c6961732063616e6e6f742062652074686520656d70747920737472696e672e","id":2767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3394:69:2","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":2759,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3355:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3355:109:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2769,"nodeType":"ExpressionStatement","src":"3355:109:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":2770,"name":"initializeStdChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3439,"src":"3475:19:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":2771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3475:21:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2772,"nodeType":"ExpressionStatement","src":"3475:21:2"},{"expression":{"id":2777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2773,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"3506:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2735_memory_ptr","typeString":"struct StdChains.Chain memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":2774,"name":"chains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2740,"src":"3514:6:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$2735_storage_$","typeString":"mapping(string memory => struct StdChains.Chain storage ref)"}},"id":2776,"indexExpression":{"id":2775,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2753,"src":"3521:10:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3514:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2735_storage","typeString":"struct StdChains.Chain storage ref"}},"src":"3506:26:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2735_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":2778,"nodeType":"ExpressionStatement","src":"3506:26:2"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":2780,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"3563:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2735_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":2781,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3569:7:2","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":2730,"src":"3563:13:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3580:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3563:18:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"arguments":[{"hexValue":"537464436861696e7320676574436861696e28737472696e67293a20436861696e207769746820616c6961732022","id":2788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3619:49:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_be183459e9329da9bfc4a2fec17224f102b8a68c1139772e954a2d6fd9877e00","typeString":"literal_string \"StdChains getChain(string): Chain with alias \"\""},"value":"StdChains getChain(string): Chain with alias \""},{"id":2789,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2753,"src":"3670:10:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"22206e6f7420666f756e642e","id":2790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3682:15:2","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":2786,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3602:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2787,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3606:12:2","memberName":"encodePacked","nodeType":"MemberAccess","src":"3602:16:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3602:96:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2785,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3595:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":2784,"name":"string","nodeType":"ElementaryTypeName","src":"3595:6:2","typeDescriptions":{}}},"id":2792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3595:104:2","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":2779,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3542:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3542:167:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2794,"nodeType":"ExpressionStatement","src":"3542:167:2"},{"expression":{"id":2800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2795,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"3720:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2735_memory_ptr","typeString":"struct StdChains.Chain memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":2797,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2753,"src":"3754:10:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":2798,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2757,"src":"3766:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2735_memory_ptr","typeString":"struct StdChains.Chain memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_Chain_$2735_memory_ptr","typeString":"struct StdChains.Chain memory"}],"id":2796,"name":"getChainWithUpdatedRpcUrl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3211,"src":"3728:25:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_struct$_Chain_$2735_memory_ptr_$returns$_t_struct$_Chain_$2735_memory_ptr_$","typeString":"function (string memory,struct StdChains.Chain memory) view returns (struct StdChains.Chain memory)"}},"id":2799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3728:44:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2735_memory_ptr","typeString":"struct StdChains.Chain memory"}},"src":"3720:52:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2735_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":2801,"nodeType":"ExpressionStatement","src":"3720:52:2"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getChain","nameLocation":"3264:8:2","parameters":{"id":2754,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2753,"mutability":"mutable","name":"chainAlias","nameLocation":"3287:10:2","nodeType":"VariableDeclaration","scope":2803,"src":"3273:24:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2752,"name":"string","nodeType":"ElementaryTypeName","src":"3273:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3272:26:2"},"returnParameters":{"id":2758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2757,"mutability":"mutable","name":"chain","nameLocation":"3338:5:2","nodeType":"VariableDeclaration","scope":2803,"src":"3325:18:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2735_memory_ptr","typeString":"struct StdChains.Chain"},"typeName":{"id":2756,"nodeType":"UserDefinedTypeName","pathNode":{"id":2755,"name":"Chain","nameLocations":["3325:5:2"],"nodeType":"IdentifierPath","referencedDeclaration":2735,"src":"3325:5:2"},"referencedDeclaration":2735,"src":"3325:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2735_storage_ptr","typeString":"struct StdChains.Chain"}},"visibility":"internal"}],"src":"3324:20:2"},"scope":3477,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":2860,"nodeType":"FunctionDefinition","src":"3785:541:2","nodes":[],"body":{"id":2859,"nodeType":"Block","src":"3866:460:2","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2812,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2805,"src":"3884:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3895:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3884:12:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537464436861696e7320676574436861696e2875696e74323536293a20436861696e2049442063616e6e6f7420626520302e","id":2815,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3898:52:2","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":2811,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3876:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":2816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3876:75:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2817,"nodeType":"ExpressionStatement","src":"3876:75:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":2818,"name":"initializeStdChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3439,"src":"3961:19:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":2819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3961:21:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2820,"nodeType":"ExpressionStatement","src":"3961:21:2"},{"assignments":[2822],"declarations":[{"constant":false,"id":2822,"mutability":"mutable","name":"chainAlias","nameLocation":"4006:10:2","nodeType":"VariableDeclaration","scope":2859,"src":"3992:24:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":2821,"name":"string","nodeType":"ElementaryTypeName","src":"3992:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":2826,"initialValue":{"baseExpression":{"id":2823,"name":"idToAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2748,"src":"4019:9:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":2825,"indexExpression":{"id":2824,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2805,"src":"4029:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4019:18:2","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"VariableDeclarationStatement","src":"3992:45:2"},{"expression":{"id":2831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2827,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2809,"src":"4048:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2735_memory_ptr","typeString":"struct StdChains.Chain memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":2828,"name":"chains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2740,"src":"4056:6:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$2735_storage_$","typeString":"mapping(string memory => struct StdChains.Chain storage ref)"}},"id":2830,"indexExpression":{"id":2829,"name":"chainAlias","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2822,"src":"4063:10:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4056:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2735_storage","typeString":"struct StdChains.Chain storage ref"}},"src":"4048:26:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2735_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":2832,"nodeType":"ExpressionStatement","src":"4048:26:2"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":2834,"name":"chain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2809,"src":"4106:5:2","typeDescriptions":{"typeIdentifier":"t_struct$_Chain_$2735_memory_ptr","typeString":"struct StdChains.Chain memory"}},"id":2835,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4112:7:2","memberName":"chainId","nodeType":"MemberAccess","referencedDeclaration":2730,"src":"4106:13:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2836,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4123:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4106:18:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"arguments":[{"hexValue":"537464436861696e7320676574436861696e2875696e74323536293a20436861696e207769746820494420","id":2842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4162:45:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_ce7b2cad45f1a6d0b9b7bb125e9a8742fce8fed7d742c83265d4a2da4caf457d","typeString":"literal_string \"StdChains getChain(uint256): Chain with ID \""},"value":"StdChains getChain(uint256): Chain with ID "},{"arguments":[{"id":2845,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2805,"src":"4221:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2843,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2717,"src":"4209:2:2","typeDescriptions":{"typeIdentifier":"t_contract$_VmSafe_$15231","typeString":"contract VmSafe"}},"id":2844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4212:8:2","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":13574,"src":"4209:11:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure external returns (string memory)"}},"id":2846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4209:20:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"206e6f7420666f756e642e","id":2847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4231:13:2","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":2840,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4145:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2841,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4149:12:2","memberName":"encodePacked","nodeType":"MemberAccess","src":"4145:16:2","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":2848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4145:100:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":2839,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4138:6:2","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":2838,"name":"string","nodeType":"ElementaryTypeName","src":"4138:6:2","typeDescriptions":{}}},"id":2849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4138:108:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bo