Files
contract/deployment/alpha/out/StdChains.sol/StdChains.json
2023-11-16 17:36:43 -04:00

10027 lines
466 KiB
JSON

{
"abi": [],
"bytecode": {
"object": "0x",
"sourceMap": "",
"linkReferences": {}
},
"deployedBytecode": {
"object": "0x",
"sourceMap": "",
"linkReferences": {}
},
"methodIdentifiers": {},
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"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\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"inliner\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"simpleCounterForLoopUncheckedIncrement\":true,\"yul\":true,\"yulDetails\":{\"optimizerSteps\":\"dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu\",\"stackAllocation\":true}},\"runs\":999999999},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib_uniswap/v3-core/\",\":@uniswap/v3-periphery/=lib_uniswap/v3-periphery/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":v3-core/=lib_uniswap/v3-core/\",\":v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/\"]},\"sources\":{\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x51e6eb138fc953fac1ac78012a39b3f16d9289ce06a222ba93bb0621768f96e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://653c577e054cf578594148a07b286571d494f401b6d4a940d3ccabd47b29233d\",\"dweb:/ipfs/QmTWDVvR4m82MGXWYY8BCaVN89TguQJSLqRgzHzrMkFHtx\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]}},\"version\":1}",
"metadata": {
"compiler": {
"version": "0.8.22+commit.4fc1097e"
},
"language": "Solidity",
"output": {
"abi": [],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"remappings": [
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
"@uniswap/v3-core/=lib_uniswap/v3-core/",
"@uniswap/v3-periphery/=lib_uniswap/v3-periphery/",
"ds-test/=lib/forge-std/lib/ds-test/src/",
"forge-std/=lib/forge-std/src/",
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
"v3-core/=lib_uniswap/v3-core/",
"v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/"
],
"optimizer": {
"runs": 999999999,
"details": {
"peephole": true,
"inliner": true,
"jumpdestRemover": true,
"orderLiterals": true,
"deduplicate": true,
"cse": true,
"constantOptimizer": true,
"yul": true,
"yulDetails": {
"stackAllocation": true,
"optimizerSteps": "dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu"
}
}
},
"metadata": {
"bytecodeHash": "ipfs"
},
"compilationTarget": {
"lib/forge-std/src/StdChains.sol": "StdChains"
},
"libraries": {}
},
"sources": {
"lib/forge-std/src/StdChains.sol": {
"keccak256": "0x51e6eb138fc953fac1ac78012a39b3f16d9289ce06a222ba93bb0621768f96e6",
"urls": [
"bzz-raw://653c577e054cf578594148a07b286571d494f401b6d4a940d3ccabd47b29233d",
"dweb:/ipfs/QmTWDVvR4m82MGXWYY8BCaVN89TguQJSLqRgzHzrMkFHtx"
],
"license": "MIT"
},
"lib/forge-std/src/Vm.sol": {
"keccak256": "0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5",
"urls": [
"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c",
"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw"
],
"license": "MIT"
}
},
"version": 1
},
"ast": {
"absolutePath": "lib/forge-std/src/StdChains.sol",
"id": 4517,
"exportedSymbols": {
"StdChains": [
4516
],
"VmSafe": [
12992
]
},
"nodeType": "SourceUnit",
"src": "32:10511:4",
"nodes": [
{
"id": 3825,
"nodeType": "PragmaDirective",
"src": "32:31:4",
"nodes": [],
"literals": [
"solidity",
">=",
"0.6",
".2",
"<",
"0.9",
".0"
]
},
{
"id": 3827,
"nodeType": "ImportDirective",
"src": "65:32:4",
"nodes": [],
"absolutePath": "lib/forge-std/src/Vm.sol",
"file": "./Vm.sol",
"nameLocation": "-1:-1:-1",
"scope": 4517,
"sourceUnit": 13465,
"symbolAliases": [
{
"foreign": {
"id": 3826,
"name": "VmSafe",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 12992,
"src": "73:6:4",
"typeDescriptions": {}
},
"nameLocation": "-1:-1:-1"
}
],
"unitAlias": ""
},
{
"id": 4516,
"nodeType": "ContractDefinition",
"src": "1899:8643:4",
"nodes": [
{
"id": 3845,
"nodeType": "VariableDeclaration",
"src": "1933:92:4",
"nodes": [],
"constant": true,
"mutability": "constant",
"name": "vm",
"nameLocation": "1957:2:4",
"scope": 4516,
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$12992",
"typeString": "contract VmSafe"
},
"typeName": {
"id": 3830,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 3829,
"name": "VmSafe",
"nameLocations": [
"1933:6:4"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 12992,
"src": "1933:6:4"
},
"referencedDeclaration": 12992,
"src": "1933:6:4",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$12992",
"typeString": "contract VmSafe"
}
},
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"arguments": [
{
"arguments": [
{
"hexValue": "6865766d20636865617420636f6465",
"id": 3839,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "2003:17:4",
"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": 3838,
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -8,
"src": "1993:9:4",
"typeDescriptions": {
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
"typeString": "function (bytes memory) pure returns (bytes32)"
}
},
"id": 3840,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1993:28:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"id": 3837,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1985:7:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint256_$",
"typeString": "type(uint256)"
},
"typeName": {
"id": 3836,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1985:7:4",
"typeDescriptions": {}
}
},
"id": 3841,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1985:37:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 3835,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1977:7:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint160_$",
"typeString": "type(uint160)"
},
"typeName": {
"id": 3834,
"name": "uint160",
"nodeType": "ElementaryTypeName",
"src": "1977:7:4",
"typeDescriptions": {}
}
},
"id": 3842,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1977:46:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint160",
"typeString": "uint160"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint160",
"typeString": "uint160"
}
],
"id": 3833,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1969:7:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 3832,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1969:7:4",
"typeDescriptions": {}
}
},
"id": 3843,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1969:55:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 3831,
"name": "VmSafe",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 12992,
"src": "1962:6:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_VmSafe_$12992_$",
"typeString": "type(contract VmSafe)"
}
},
"id": 3844,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1962:63:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$12992",
"typeString": "contract VmSafe"
}
},
"visibility": "private"
},
{
"id": 3847,
"nodeType": "VariableDeclaration",
"src": "2032:33:4",
"nodes": [],
"constant": false,
"mutability": "mutable",
"name": "stdChainsInitialized",
"nameLocation": "2045:20:4",
"scope": 4516,
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 3846,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "2032:4:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "private"
},
{
"id": 3854,
"nodeType": "StructDefinition",
"src": "2072:93:4",
"nodes": [],
"canonicalName": "StdChains.ChainData",
"members": [
{
"constant": false,
"id": 3849,
"mutability": "mutable",
"name": "name",
"nameLocation": "2106:4:4",
"nodeType": "VariableDeclaration",
"scope": 3854,
"src": "2099:11:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 3848,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "2099:6:4",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 3851,
"mutability": "mutable",
"name": "chainId",
"nameLocation": "2128:7:4",
"nodeType": "VariableDeclaration",
"scope": 3854,
"src": "2120:15:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 3850,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2120:7:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 3853,
"mutability": "mutable",
"name": "rpcUrl",
"nameLocation": "2152:6:4",
"nodeType": "VariableDeclaration",
"scope": 3854,
"src": "2145:13:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 3852,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "2145:6:4",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"name": "ChainData",
"nameLocation": "2079:9:4",
"scope": 4516,
"visibility": "public"
},
{
"id": 3863,
"nodeType": "StructDefinition",
"src": "2171:598:4",
"nodes": [],
"canonicalName": "StdChains.Chain",
"members": [
{
"constant": false,
"id": 3856,
"mutability": "mutable",
"name": "name",
"nameLocation": "2228:4:4",
"nodeType": "VariableDeclaration",
"scope": 3863,
"src": "2221:11:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 3855,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "2221:6:4",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 3858,
"mutability": "mutable",
"name": "chainId",
"nameLocation": "2283:7:4",
"nodeType": "VariableDeclaration",
"scope": 3863,
"src": "2275:15:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 3857,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2275:7:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 3860,
"mutability": "mutable",
"name": "chainAlias",
"nameLocation": "2383:10:4",
"nodeType": "VariableDeclaration",
"scope": 3863,
"src": "2376:17:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 3859,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "2376:6:4",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 3862,
"mutability": "mutable",
"name": "rpcUrl",
"nameLocation": "2756:6:4",
"nodeType": "VariableDeclaration",
"scope": 3863,
"src": "2749:13:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
},
"typeName": {
"id": 3861,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "2749:6:4",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"name": "Chain",
"nameLocation": "2178:5:4",
"scope": 4516,
"visibility": "public"
},
{
"id": 3868,
"nodeType": "VariableDeclaration",
"src": "2873:39:4",
"nodes": [],
"constant": false,
"mutability": "mutable",
"name": "chains",
"nameLocation": "2906:6:4",
"scope": 4516,
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3863_storage_$",
"typeString": "mapping(string => struct StdChains.Chain)"
},
"typeName": {
"id": 3867,
"keyName": "",
"keyNameLocation": "-1:-1:-1",
"keyType": {
"id": 3864,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "2881:6:4",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"nodeType": "Mapping",
"src": "2873:24:4",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3863_storage_$",
"typeString": "mapping(string => struct StdChains.Chain)"
},
"valueName": "",
"valueNameLocation": "-1:-1:-1",
"valueType": {
"id": 3866,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 3865,
"name": "Chain",
"nameLocations": [
"2891:5:4"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 3863,
"src": "2891:5:4"
},
"referencedDeclaration": 3863,
"src": "2891:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_storage_ptr",
"typeString": "struct StdChains.Chain"
}
}
},
"visibility": "private"
},
{
"id": 3872,
"nodeType": "VariableDeclaration",
"src": "2978:48:4",
"nodes": [],
"constant": false,
"mutability": "mutable",
"name": "defaultRpcUrls",
"nameLocation": "3012:14:4",
"scope": 4516,
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_string_storage_$",
"typeString": "mapping(string => string)"
},
"typeName": {
"id": 3871,
"keyName": "",
"keyNameLocation": "-1:-1:-1",
"keyType": {
"id": 3869,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "2986:6:4",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"nodeType": "Mapping",
"src": "2978:25:4",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_string_storage_$",
"typeString": "mapping(string => string)"
},
"valueName": "",
"valueNameLocation": "-1:-1:-1",
"valueType": {
"id": 3870,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "2996:6:4",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
}
},
"visibility": "private"
},
{
"id": 3876,
"nodeType": "VariableDeclaration",
"src": "3075:44:4",
"nodes": [],
"constant": false,
"mutability": "mutable",
"name": "idToAlias",
"nameLocation": "3110:9:4",
"scope": 4516,
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$",
"typeString": "mapping(uint256 => string)"
},
"typeName": {
"id": 3875,
"keyName": "",
"keyNameLocation": "-1:-1:-1",
"keyType": {
"id": 3873,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3083:7:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Mapping",
"src": "3075:26:4",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$",
"typeString": "mapping(uint256 => string)"
},
"valueName": "",
"valueNameLocation": "-1:-1:-1",
"valueType": {
"id": 3874,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "3094:6:4",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
}
},
"visibility": "private"
},
{
"id": 3879,
"nodeType": "VariableDeclaration",
"src": "3126:44:4",
"nodes": [],
"constant": false,
"mutability": "mutable",
"name": "fallbackToDefaultRpcUrls",
"nameLocation": "3139:24:4",
"scope": 4516,
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 3877,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "3126:4:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": {
"hexValue": "74727565",
"id": 3878,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
"src": "3166:4:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "true"
},
"visibility": "private"
},
{
"id": 3931,
"nodeType": "FunctionDefinition",
"src": "3255:524:4",
"nodes": [],
"body": {
"id": 3930,
"nodeType": "Block",
"src": "3345:434:4",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 3894,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"expression": {
"arguments": [
{
"id": 3890,
"name": "chainAlias",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3881,
"src": "3369:10:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"id": 3889,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "3363:5:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
"typeString": "type(bytes storage pointer)"
},
"typeName": {
"id": 3888,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "3363:5:4",
"typeDescriptions": {}
}
},
"id": 3891,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "3363:17:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"id": 3892,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "3381:6:4",
"memberName": "length",
"nodeType": "MemberAccess",
"src": "3363:24:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"hexValue": "30",
"id": 3893,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "3391:1:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "3363:29:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "537464436861696e7320676574436861696e28737472696e67293a20436861696e20616c6961732063616e6e6f742062652074686520656d70747920737472696e672e",
"id": 3895,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "3394:69:4",
"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": 3887,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "3355:7:4",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 3896,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "3355:109:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 3897,
"nodeType": "ExpressionStatement",
"src": "3355:109:4"
},
{
"expression": {
"arguments": [],
"expression": {
"argumentTypes": [],
"id": 3898,
"name": "initializeStdChains",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4478,
"src": "3475:19:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
"typeString": "function ()"
}
},
"id": 3899,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "3475:21:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 3900,
"nodeType": "ExpressionStatement",
"src": "3475:21:4"
},
{
"expression": {
"id": 3905,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 3901,
"name": "chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3885,
"src": "3506:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_memory_ptr",
"typeString": "struct StdChains.Chain memory"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"baseExpression": {
"id": 3902,
"name": "chains",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3868,
"src": "3514:6:4",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3863_storage_$",
"typeString": "mapping(string memory => struct StdChains.Chain storage ref)"
}
},
"id": 3904,
"indexExpression": {
"id": 3903,
"name": "chainAlias",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3881,
"src": "3521:10:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "3514:18:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_storage",
"typeString": "struct StdChains.Chain storage ref"
}
},
"src": "3506:26:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_memory_ptr",
"typeString": "struct StdChains.Chain memory"
}
},
"id": 3906,
"nodeType": "ExpressionStatement",
"src": "3506:26:4"
},
{
"expression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 3911,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"expression": {
"id": 3908,
"name": "chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3885,
"src": "3563:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_memory_ptr",
"typeString": "struct StdChains.Chain memory"
}
},
"id": 3909,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberLocation": "3569:7:4",
"memberName": "chainId",
"nodeType": "MemberAccess",
"referencedDeclaration": 3858,
"src": "3563:13:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"hexValue": "30",
"id": 3910,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "3580:1:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "3563:18:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"arguments": [
{
"arguments": [
{
"hexValue": "537464436861696e7320676574436861696e28737472696e67293a20436861696e207769746820616c6961732022",
"id": 3916,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "3619:49:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_be183459e9329da9bfc4a2fec17224f102b8a68c1139772e954a2d6fd9877e00",
"typeString": "literal_string \"StdChains getChain(string): Chain with alias \"\""
},
"value": "StdChains getChain(string): Chain with alias \""
},
{
"id": 3917,
"name": "chainAlias",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3881,
"src": "3670:10:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"hexValue": "22206e6f7420666f756e642e",
"id": 3918,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "3682:15:4",
"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": 3914,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -1,
"src": "3602:3:4",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 3915,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "3606:12:4",
"memberName": "encodePacked",
"nodeType": "MemberAccess",
"src": "3602:16:4",
"typeDescriptions": {
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
"typeString": "function () pure returns (bytes memory)"
}
},
"id": 3919,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "3602:96:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 3913,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "3595:6:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_string_storage_ptr_$",
"typeString": "type(string storage pointer)"
},
"typeName": {
"id": 3912,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "3595:6:4",
"typeDescriptions": {}
}
},
"id": 3920,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "3595:104:4",
"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": 3907,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "3542:7:4",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 3921,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "3542:167:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 3922,
"nodeType": "ExpressionStatement",
"src": "3542:167:4"
},
{
"expression": {
"id": 3928,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 3923,
"name": "chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3885,
"src": "3720:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_memory_ptr",
"typeString": "struct StdChains.Chain memory"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"arguments": [
{
"id": 3925,
"name": "chainAlias",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3881,
"src": "3754:10:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 3926,
"name": "chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3885,
"src": "3766:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_memory_ptr",
"typeString": "struct StdChains.Chain memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_struct$_Chain_$3863_memory_ptr",
"typeString": "struct StdChains.Chain memory"
}
],
"id": 3924,
"name": "getChainWithUpdatedRpcUrl",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4313,
"src": "3728:25:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_Chain_$3863_memory_ptr_$returns$_t_struct$_Chain_$3863_memory_ptr_$",
"typeString": "function (string memory,struct StdChains.Chain memory) returns (struct StdChains.Chain memory)"
}
},
"id": 3927,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "3728:44:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_memory_ptr",
"typeString": "struct StdChains.Chain memory"
}
},
"src": "3720:52:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_memory_ptr",
"typeString": "struct StdChains.Chain memory"
}
},
"id": 3929,
"nodeType": "ExpressionStatement",
"src": "3720:52:4"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "getChain",
"nameLocation": "3264:8:4",
"parameters": {
"id": 3882,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3881,
"mutability": "mutable",
"name": "chainAlias",
"nameLocation": "3287:10:4",
"nodeType": "VariableDeclaration",
"scope": 3931,
"src": "3273:24:4",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 3880,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "3273:6:4",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "3272:26:4"
},
"returnParameters": {
"id": 3886,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3885,
"mutability": "mutable",
"name": "chain",
"nameLocation": "3338:5:4",
"nodeType": "VariableDeclaration",
"scope": 3931,
"src": "3325:18:4",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_memory_ptr",
"typeString": "struct StdChains.Chain"
},
"typeName": {
"id": 3884,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 3883,
"name": "Chain",
"nameLocations": [
"3325:5:4"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 3863,
"src": "3325:5:4"
},
"referencedDeclaration": 3863,
"src": "3325:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_storage_ptr",
"typeString": "struct StdChains.Chain"
}
},
"visibility": "internal"
}
],
"src": "3324:20:4"
},
"scope": 4516,
"stateMutability": "nonpayable",
"virtual": true,
"visibility": "internal"
},
{
"id": 3988,
"nodeType": "FunctionDefinition",
"src": "3785:541:4",
"nodes": [],
"body": {
"id": 3987,
"nodeType": "Block",
"src": "3866:460:4",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 3942,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 3940,
"name": "chainId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3933,
"src": "3884:7:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"hexValue": "30",
"id": 3941,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "3895:1:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "3884:12:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "537464436861696e7320676574436861696e2875696e74323536293a20436861696e2049442063616e6e6f7420626520302e",
"id": 3943,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "3898:52:4",
"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": 3939,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "3876:7:4",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 3944,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "3876:75:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 3945,
"nodeType": "ExpressionStatement",
"src": "3876:75:4"
},
{
"expression": {
"arguments": [],
"expression": {
"argumentTypes": [],
"id": 3946,
"name": "initializeStdChains",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4478,
"src": "3961:19:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
"typeString": "function ()"
}
},
"id": 3947,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "3961:21:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 3948,
"nodeType": "ExpressionStatement",
"src": "3961:21:4"
},
{
"assignments": [
3950
],
"declarations": [
{
"constant": false,
"id": 3950,
"mutability": "mutable",
"name": "chainAlias",
"nameLocation": "4006:10:4",
"nodeType": "VariableDeclaration",
"scope": 3987,
"src": "3992:24:4",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 3949,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "3992:6:4",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"id": 3954,
"initialValue": {
"baseExpression": {
"id": 3951,
"name": "idToAlias",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3876,
"src": "4019:9:4",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$",
"typeString": "mapping(uint256 => string storage ref)"
}
},
"id": 3953,
"indexExpression": {
"id": 3952,
"name": "chainId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3933,
"src": "4029:7:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "4019:18:4",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "3992:45:4"
},
{
"expression": {
"id": 3959,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 3955,
"name": "chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3937,
"src": "4048:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_memory_ptr",
"typeString": "struct StdChains.Chain memory"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"baseExpression": {
"id": 3956,
"name": "chains",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3868,
"src": "4056:6:4",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3863_storage_$",
"typeString": "mapping(string memory => struct StdChains.Chain storage ref)"
}
},
"id": 3958,
"indexExpression": {
"id": 3957,
"name": "chainAlias",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3950,
"src": "4063:10:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "4056:18:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_storage",
"typeString": "struct StdChains.Chain storage ref"
}
},
"src": "4048:26:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_memory_ptr",
"typeString": "struct StdChains.Chain memory"
}
},
"id": 3960,
"nodeType": "ExpressionStatement",
"src": "4048:26:4"
},
{
"expression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 3965,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"expression": {
"id": 3962,
"name": "chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3937,
"src": "4106:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_memory_ptr",
"typeString": "struct StdChains.Chain memory"
}
},
"id": 3963,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberLocation": "4112:7:4",
"memberName": "chainId",
"nodeType": "MemberAccess",
"referencedDeclaration": 3858,
"src": "4106:13:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"hexValue": "30",
"id": 3964,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "4123:1:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "4106:18:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"arguments": [
{
"arguments": [
{
"hexValue": "537464436861696e7320676574436861696e2875696e74323536293a20436861696e207769746820494420",
"id": 3970,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "4162:45:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_ce7b2cad45f1a6d0b9b7bb125e9a8742fce8fed7d742c83265d4a2da4caf457d",
"typeString": "literal_string \"StdChains getChain(uint256): Chain with ID \""
},
"value": "StdChains getChain(uint256): Chain with ID "
},
{
"arguments": [
{
"id": 3973,
"name": "chainId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3933,
"src": "4221:7:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"id": 3971,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3845,
"src": "4209:2:4",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$12992",
"typeString": "contract VmSafe"
}
},
"id": 3972,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "4212:8:4",
"memberName": "toString",
"nodeType": "MemberAccess",
"referencedDeclaration": 12534,
"src": "4209:11:4",
"typeDescriptions": {
"typeIdentifier": "t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$",
"typeString": "function (uint256) pure external returns (string memory)"
}
},
"id": 3974,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "4209:20:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"hexValue": "206e6f7420666f756e642e",
"id": 3975,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "4231:13:4",
"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": 3968,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -1,
"src": "4145:3:4",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 3969,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "4149:12:4",
"memberName": "encodePacked",
"nodeType": "MemberAccess",
"src": "4145:16:4",
"typeDescriptions": {
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
"typeString": "function () pure returns (bytes memory)"
}
},
"id": 3976,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "4145:100:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 3967,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "4138:6:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_string_storage_ptr_$",
"typeString": "type(string storage pointer)"
},
"typeName": {
"id": 3966,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "4138:6:4",
"typeDescriptions": {}
}
},
"id": 3977,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "4138:108:4",
"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": 3961,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "4085:7:4",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 3978,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "4085:171:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 3979,
"nodeType": "ExpressionStatement",
"src": "4085:171:4"
},
{
"expression": {
"id": 3985,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 3980,
"name": "chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3937,
"src": "4267:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_memory_ptr",
"typeString": "struct StdChains.Chain memory"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"arguments": [
{
"id": 3982,
"name": "chainAlias",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3950,
"src": "4301:10:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 3983,
"name": "chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3937,
"src": "4313:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_memory_ptr",
"typeString": "struct StdChains.Chain memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_struct$_Chain_$3863_memory_ptr",
"typeString": "struct StdChains.Chain memory"
}
],
"id": 3981,
"name": "getChainWithUpdatedRpcUrl",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4313,
"src": "4275:25:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_Chain_$3863_memory_ptr_$returns$_t_struct$_Chain_$3863_memory_ptr_$",
"typeString": "function (string memory,struct StdChains.Chain memory) returns (struct StdChains.Chain memory)"
}
},
"id": 3984,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "4275:44:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_memory_ptr",
"typeString": "struct StdChains.Chain memory"
}
},
"src": "4267:52:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_memory_ptr",
"typeString": "struct StdChains.Chain memory"
}
},
"id": 3986,
"nodeType": "ExpressionStatement",
"src": "4267:52:4"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "getChain",
"nameLocation": "3794:8:4",
"parameters": {
"id": 3934,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3933,
"mutability": "mutable",
"name": "chainId",
"nameLocation": "3811:7:4",
"nodeType": "VariableDeclaration",
"scope": 3988,
"src": "3803:15:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 3932,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3803:7:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "3802:17:4"
},
"returnParameters": {
"id": 3938,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3937,
"mutability": "mutable",
"name": "chain",
"nameLocation": "3859:5:4",
"nodeType": "VariableDeclaration",
"scope": 3988,
"src": "3846:18:4",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_memory_ptr",
"typeString": "struct StdChains.Chain"
},
"typeName": {
"id": 3936,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 3935,
"name": "Chain",
"nameLocations": [
"3846:5:4"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 3863,
"src": "3846:5:4"
},
"referencedDeclaration": 3863,
"src": "3846:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_storage_ptr",
"typeString": "struct StdChains.Chain"
}
},
"visibility": "internal"
}
],
"src": "3845:20:4"
},
"scope": 4516,
"stateMutability": "nonpayable",
"virtual": true,
"visibility": "internal"
},
{
"id": 4098,
"nodeType": "FunctionDefinition",
"src": "4397:1173:4",
"nodes": [],
"body": {
"id": 4097,
"nodeType": "Block",
"src": "4482:1088:4",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 4003,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"expression": {
"arguments": [
{
"id": 3999,
"name": "chainAlias",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3990,
"src": "4519:10:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"id": 3998,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "4513:5:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
"typeString": "type(bytes storage pointer)"
},
"typeName": {
"id": 3997,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "4513:5:4",
"typeDescriptions": {}
}
},
"id": 4000,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "4513:17:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"id": 4001,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "4531:6:4",
"memberName": "length",
"nodeType": "MemberAccess",
"src": "4513:24:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"hexValue": "30",
"id": 4002,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "4541:1:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "4513:29:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "537464436861696e7320736574436861696e28737472696e672c436861696e44617461293a20436861696e20616c6961732063616e6e6f742062652074686520656d70747920737472696e672e",
"id": 4004,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "4556:79:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_30b2334ec57cbeeece39c6405e10d3437560135ecd84835d6b9144db1d575354",
"typeString": "literal_string \"StdChains setChain(string,ChainData): Chain alias cannot be the empty string.\""
},
"value": "StdChains setChain(string,ChainData): Chain alias cannot be the empty string."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_30b2334ec57cbeeece39c6405e10d3437560135ecd84835d6b9144db1d575354",
"typeString": "literal_string \"StdChains setChain(string,ChainData): Chain alias cannot be the empty string.\""
}
],
"id": 3996,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "4492:7:4",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 4005,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "4492:153:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 4006,
"nodeType": "ExpressionStatement",
"src": "4492:153:4"
},
{
"expression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 4011,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"expression": {
"id": 4008,
"name": "chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3993,
"src": "4664:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
},
"id": 4009,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberLocation": "4670:7:4",
"memberName": "chainId",
"nodeType": "MemberAccess",
"referencedDeclaration": 3851,
"src": "4664:13:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"hexValue": "30",
"id": 4010,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "4681:1:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "4664:18:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"hexValue": "537464436861696e7320736574436861696e28737472696e672c436861696e44617461293a20436861696e2049442063616e6e6f7420626520302e",
"id": 4012,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "4684:61:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_ab0ba8dace83d80dc1941286e8d0551223497db1b420e58abff2f3db2ad3fbf4",
"typeString": "literal_string \"StdChains setChain(string,ChainData): Chain ID cannot be 0.\""
},
"value": "StdChains setChain(string,ChainData): Chain ID cannot be 0."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_ab0ba8dace83d80dc1941286e8d0551223497db1b420e58abff2f3db2ad3fbf4",
"typeString": "literal_string \"StdChains setChain(string,ChainData): Chain ID cannot be 0.\""
}
],
"id": 4007,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "4656:7:4",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 4013,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "4656:90:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 4014,
"nodeType": "ExpressionStatement",
"src": "4656:90:4"
},
{
"expression": {
"arguments": [],
"expression": {
"argumentTypes": [],
"id": 4015,
"name": "initializeStdChains",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4478,
"src": "4757:19:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
"typeString": "function ()"
}
},
"id": 4016,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "4757:21:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 4017,
"nodeType": "ExpressionStatement",
"src": "4757:21:4"
},
{
"assignments": [
4019
],
"declarations": [
{
"constant": false,
"id": 4019,
"mutability": "mutable",
"name": "foundAlias",
"nameLocation": "4802:10:4",
"nodeType": "VariableDeclaration",
"scope": 4097,
"src": "4788:24:4",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 4018,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "4788:6:4",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"id": 4024,
"initialValue": {
"baseExpression": {
"id": 4020,
"name": "idToAlias",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3876,
"src": "4815:9:4",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$",
"typeString": "mapping(uint256 => string storage ref)"
}
},
"id": 4023,
"indexExpression": {
"expression": {
"id": 4021,
"name": "chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3993,
"src": "4825:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
},
"id": 4022,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberLocation": "4831:7:4",
"memberName": "chainId",
"nodeType": "MemberAccess",
"referencedDeclaration": 3851,
"src": "4825:13:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "4815:24:4",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "4788:51:4"
},
{
"expression": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"id": 4046,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 4032,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"expression": {
"arguments": [
{
"id": 4028,
"name": "foundAlias",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4019,
"src": "4877:10:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"id": 4027,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "4871:5:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
"typeString": "type(bytes storage pointer)"
},
"typeName": {
"id": 4026,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "4871:5:4",
"typeDescriptions": {}
}
},
"id": 4029,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "4871:17:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"id": 4030,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "4889:6:4",
"memberName": "length",
"nodeType": "MemberAccess",
"src": "4871:24:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"hexValue": "30",
"id": 4031,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "4899:1:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "4871:29:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "BinaryOperation",
"operator": "||",
"rightExpression": {
"commonType": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"id": 4045,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"arguments": [
{
"arguments": [
{
"id": 4036,
"name": "foundAlias",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4019,
"src": "4920:10:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"id": 4035,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "4914:5:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
"typeString": "type(bytes storage pointer)"
},
"typeName": {
"id": 4034,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "4914:5:4",
"typeDescriptions": {}
}
},
"id": 4037,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "4914:17:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 4033,
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -8,
"src": "4904:9:4",
"typeDescriptions": {
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
"typeString": "function (bytes memory) pure returns (bytes32)"
}
},
"id": 4038,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "4904:28:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"arguments": [
{
"arguments": [
{
"id": 4042,
"name": "chainAlias",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3990,
"src": "4952:10:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"id": 4041,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "4946:5:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
"typeString": "type(bytes storage pointer)"
},
"typeName": {
"id": 4040,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "4946:5:4",
"typeDescriptions": {}
}
},
"id": 4043,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "4946:17:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 4039,
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -8,
"src": "4936:9:4",
"typeDescriptions": {
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
"typeString": "function (bytes memory) pure returns (bytes32)"
}
},
"id": 4044,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "4936:28:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"src": "4904:60:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"src": "4871:93:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"arguments": [
{
"arguments": [
{
"hexValue": "537464436861696e7320736574436861696e28737472696e672c436861696e44617461293a20436861696e20494420",
"id": 4051,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "5040:49:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_2f5ddfff35cec202bbf760c515d7332e259c9b0c330efa0b2d03073b34906ba0",
"typeString": "literal_string \"StdChains setChain(string,ChainData): Chain ID \""
},
"value": "StdChains setChain(string,ChainData): Chain ID "
},
{
"arguments": [
{
"expression": {
"id": 4054,
"name": "chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3993,
"src": "5123:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
},
"id": 4055,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberLocation": "5129:7:4",
"memberName": "chainId",
"nodeType": "MemberAccess",
"referencedDeclaration": 3851,
"src": "5123:13:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"expression": {
"id": 4052,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3845,
"src": "5111:2:4",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$12992",
"typeString": "contract VmSafe"
}
},
"id": 4053,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "5114:8:4",
"memberName": "toString",
"nodeType": "MemberAccess",
"referencedDeclaration": 12534,
"src": "5111:11:4",
"typeDescriptions": {
"typeIdentifier": "t_function_external_pure$_t_uint256_$returns$_t_string_memory_ptr_$",
"typeString": "function (uint256) pure external returns (string memory)"
}
},
"id": 4056,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "5111:26:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"hexValue": "20616c726561647920757365642062792022",
"id": 4057,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "5159:21:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_03dcc98944d744f10105f4b63a1d5b4f5b14493812e66201e5f21a3da2662077",
"typeString": "literal_string \" already used by \"\""
},
"value": " already used by \""
},
{
"id": 4058,
"name": "foundAlias",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4019,
"src": "5202:10:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"hexValue": "222e",
"id": 4059,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "5234:5:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_cb54fc3dbdac1cb7b87378fdaddeb9e7549db2a108b5270efaa4bcd576270193",
"typeString": "literal_string \"\".\""
},
"value": "\"."
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_2f5ddfff35cec202bbf760c515d7332e259c9b0c330efa0b2d03073b34906ba0",
"typeString": "literal_string \"StdChains setChain(string,ChainData): Chain ID \""
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_stringliteral_03dcc98944d744f10105f4b63a1d5b4f5b14493812e66201e5f21a3da2662077",
"typeString": "literal_string \" already used by \"\""
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_stringliteral_cb54fc3dbdac1cb7b87378fdaddeb9e7549db2a108b5270efaa4bcd576270193",
"typeString": "literal_string \"\".\""
}
],
"expression": {
"id": 4049,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -1,
"src": "5002:3:4",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 4050,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "5006:12:4",
"memberName": "encodePacked",
"nodeType": "MemberAccess",
"src": "5002:16:4",
"typeDescriptions": {
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
"typeString": "function () pure returns (bytes memory)"
}
},
"id": 4060,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "5002:255:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 4048,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "4978:6:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_string_storage_ptr_$",
"typeString": "type(string storage pointer)"
},
"typeName": {
"id": 4047,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "4978:6:4",
"typeDescriptions": {}
}
},
"id": 4061,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "4978:293:4",
"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": 4025,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "4850:7:4",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 4062,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "4850:431:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 4063,
"nodeType": "ExpressionStatement",
"src": "4850:431:4"
},
{
"assignments": [
4065
],
"declarations": [
{
"constant": false,
"id": 4065,
"mutability": "mutable",
"name": "oldChainId",
"nameLocation": "5300:10:4",
"nodeType": "VariableDeclaration",
"scope": 4097,
"src": "5292:18:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4064,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "5292:7:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"id": 4070,
"initialValue": {
"expression": {
"baseExpression": {
"id": 4066,
"name": "chains",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3868,
"src": "5313:6:4",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3863_storage_$",
"typeString": "mapping(string memory => struct StdChains.Chain storage ref)"
}
},
"id": 4068,
"indexExpression": {
"id": 4067,
"name": "chainAlias",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3990,
"src": "5320:10:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "5313:18:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_storage",
"typeString": "struct StdChains.Chain storage ref"
}
},
"id": 4069,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberLocation": "5332:7:4",
"memberName": "chainId",
"nodeType": "MemberAccess",
"referencedDeclaration": 3858,
"src": "5313:26:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "5292:47:4"
},
{
"expression": {
"id": 4074,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "delete",
"prefix": true,
"src": "5349:28:4",
"subExpression": {
"baseExpression": {
"id": 4071,
"name": "idToAlias",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3876,
"src": "5356:9:4",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$",
"typeString": "mapping(uint256 => string storage ref)"
}
},
"id": 4073,
"indexExpression": {
"id": 4072,
"name": "oldChainId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4065,
"src": "5366:10:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "5356:21:4",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 4075,
"nodeType": "ExpressionStatement",
"src": "5349:28:4"
},
{
"expression": {
"id": 4088,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"baseExpression": {
"id": 4076,
"name": "chains",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3868,
"src": "5388:6:4",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Chain_$3863_storage_$",
"typeString": "mapping(string memory => struct StdChains.Chain storage ref)"
}
},
"id": 4078,
"indexExpression": {
"id": 4077,
"name": "chainAlias",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3990,
"src": "5395:10:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "5388:18:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_storage",
"typeString": "struct StdChains.Chain storage ref"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"arguments": [
{
"expression": {
"id": 4080,
"name": "chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3993,
"src": "5434:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
},
"id": 4081,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberLocation": "5440:4:4",
"memberName": "name",
"nodeType": "MemberAccess",
"referencedDeclaration": 3849,
"src": "5434:10:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"expression": {
"id": 4082,
"name": "chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3993,
"src": "5455:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
},
"id": 4083,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberLocation": "5461:7:4",
"memberName": "chainId",
"nodeType": "MemberAccess",
"referencedDeclaration": 3851,
"src": "5455:13:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"id": 4084,
"name": "chainAlias",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3990,
"src": "5482:10:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"expression": {
"id": 4085,
"name": "chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3993,
"src": "5502:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
},
"id": 4086,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberLocation": "5508:6:4",
"memberName": "rpcUrl",
"nodeType": "MemberAccess",
"referencedDeclaration": 3853,
"src": "5502:12:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"id": 4079,
"name": "Chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3863,
"src": "5421:5:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_Chain_$3863_storage_ptr_$",
"typeString": "type(struct StdChains.Chain storage pointer)"
}
},
"id": 4087,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "structConstructorCall",
"lValueRequested": false,
"nameLocations": [
"5428:4:4",
"5446:7:4",
"5470:10:4",
"5494:6:4"
],
"names": [
"name",
"chainId",
"chainAlias",
"rpcUrl"
],
"nodeType": "FunctionCall",
"src": "5421:95:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_memory_ptr",
"typeString": "struct StdChains.Chain memory"
}
},
"src": "5388:128:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_storage",
"typeString": "struct StdChains.Chain storage ref"
}
},
"id": 4089,
"nodeType": "ExpressionStatement",
"src": "5388:128:4"
},
{
"expression": {
"id": 4095,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"baseExpression": {
"id": 4090,
"name": "idToAlias",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3876,
"src": "5526:9:4",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$",
"typeString": "mapping(uint256 => string storage ref)"
}
},
"id": 4093,
"indexExpression": {
"expression": {
"id": 4091,
"name": "chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3993,
"src": "5536:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
},
"id": 4092,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberLocation": "5542:7:4",
"memberName": "chainId",
"nodeType": "MemberAccess",
"referencedDeclaration": 3851,
"src": "5536:13:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "5526:24:4",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 4094,
"name": "chainAlias",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3990,
"src": "5553:10:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "5526:37:4",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"id": 4096,
"nodeType": "ExpressionStatement",
"src": "5526:37:4"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "setChain",
"nameLocation": "4406:8:4",
"parameters": {
"id": 3994,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 3990,
"mutability": "mutable",
"name": "chainAlias",
"nameLocation": "4429:10:4",
"nodeType": "VariableDeclaration",
"scope": 4098,
"src": "4415:24:4",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 3989,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "4415:6:4",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 3993,
"mutability": "mutable",
"name": "chain",
"nameLocation": "4458:5:4",
"nodeType": "VariableDeclaration",
"scope": 4098,
"src": "4441:22:4",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData"
},
"typeName": {
"id": 3992,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 3991,
"name": "ChainData",
"nameLocations": [
"4441:9:4"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 3854,
"src": "4441:9:4"
},
"referencedDeclaration": 3854,
"src": "4441:9:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_ChainData_$3854_storage_ptr",
"typeString": "struct StdChains.ChainData"
}
},
"visibility": "internal"
}
],
"src": "4414:50:4"
},
"returnParameters": {
"id": 3995,
"nodeType": "ParameterList",
"parameters": [],
"src": "4482:0:4"
},
"scope": 4516,
"stateMutability": "nonpayable",
"virtual": true,
"visibility": "internal"
},
{
"id": 4119,
"nodeType": "FunctionDefinition",
"src": "5641:195:4",
"nodes": [],
"body": {
"id": 4118,
"nodeType": "Block",
"src": "5722:114:4",
"nodes": [],
"statements": [
{
"expression": {
"arguments": [
{
"id": 4107,
"name": "chainAlias",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4100,
"src": "5741:10:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"arguments": [
{
"expression": {
"id": 4109,
"name": "chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4103,
"src": "5770:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_memory_ptr",
"typeString": "struct StdChains.Chain memory"
}
},
"id": 4110,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberLocation": "5776:4:4",
"memberName": "name",
"nodeType": "MemberAccess",
"referencedDeclaration": 3856,
"src": "5770:10:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"expression": {
"id": 4111,
"name": "chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4103,
"src": "5791:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_memory_ptr",
"typeString": "struct StdChains.Chain memory"
}
},
"id": 4112,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberLocation": "5797:7:4",
"memberName": "chainId",
"nodeType": "MemberAccess",
"referencedDeclaration": 3858,
"src": "5791:13:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"expression": {
"id": 4113,
"name": "chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4103,
"src": "5814:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_memory_ptr",
"typeString": "struct StdChains.Chain memory"
}
},
"id": 4114,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberLocation": "5820:6:4",
"memberName": "rpcUrl",
"nodeType": "MemberAccess",
"referencedDeclaration": 3862,
"src": "5814:12:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"id": 4108,
"name": "ChainData",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3854,
"src": "5753:9:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_ChainData_$3854_storage_ptr_$",
"typeString": "type(struct StdChains.ChainData storage pointer)"
}
},
"id": 4115,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "structConstructorCall",
"lValueRequested": false,
"nameLocations": [
"5764:4:4",
"5782:7:4",
"5806:6:4"
],
"names": [
"name",
"chainId",
"rpcUrl"
],
"nodeType": "FunctionCall",
"src": "5753:75:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
],
"id": 4106,
"name": "setChain",
"nodeType": "Identifier",
"overloadedDeclarations": [
4098,
4119
],
"referencedDeclaration": 4098,
"src": "5732:8:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3854_memory_ptr_$returns$__$",
"typeString": "function (string memory,struct StdChains.ChainData memory)"
}
},
"id": 4116,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "5732:97:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 4117,
"nodeType": "ExpressionStatement",
"src": "5732:97:4"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "setChain",
"nameLocation": "5650:8:4",
"parameters": {
"id": 4104,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4100,
"mutability": "mutable",
"name": "chainAlias",
"nameLocation": "5673:10:4",
"nodeType": "VariableDeclaration",
"scope": 4119,
"src": "5659:24:4",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 4099,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "5659:6:4",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 4103,
"mutability": "mutable",
"name": "chain",
"nameLocation": "5698:5:4",
"nodeType": "VariableDeclaration",
"scope": 4119,
"src": "5685:18:4",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_memory_ptr",
"typeString": "struct StdChains.Chain"
},
"typeName": {
"id": 4102,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 4101,
"name": "Chain",
"nameLocations": [
"5685:5:4"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 3863,
"src": "5685:5:4"
},
"referencedDeclaration": 3863,
"src": "5685:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_storage_ptr",
"typeString": "struct StdChains.Chain"
}
},
"visibility": "internal"
}
],
"src": "5658:46:4"
},
"returnParameters": {
"id": 4105,
"nodeType": "ParameterList",
"parameters": [],
"src": "5722:0:4"
},
"scope": 4516,
"stateMutability": "nonpayable",
"virtual": true,
"visibility": "internal"
},
{
"id": 4196,
"nodeType": "FunctionDefinition",
"src": "5842:451:4",
"nodes": [],
"body": {
"id": 4195,
"nodeType": "Block",
"src": "5916:377:4",
"nodes": [],
"statements": [
{
"assignments": [
4127
],
"declarations": [
{
"constant": false,
"id": 4127,
"mutability": "mutable",
"name": "strb",
"nameLocation": "5939:4:4",
"nodeType": "VariableDeclaration",
"scope": 4195,
"src": "5926:17:4",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 4126,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "5926:5:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"visibility": "internal"
}
],
"id": 4132,
"initialValue": {
"arguments": [
{
"id": 4130,
"name": "str",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4121,
"src": "5952:3:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"id": 4129,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "5946:5:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
"typeString": "type(bytes storage pointer)"
},
"typeName": {
"id": 4128,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "5946:5:4",
"typeDescriptions": {}
}
},
"id": 4131,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "5946:10:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "5926:30:4"
},
{
"assignments": [
4134
],
"declarations": [
{
"constant": false,
"id": 4134,
"mutability": "mutable",
"name": "copy",
"nameLocation": "5979:4:4",
"nodeType": "VariableDeclaration",
"scope": 4195,
"src": "5966:17:4",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 4133,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "5966:5:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"visibility": "internal"
}
],
"id": 4140,
"initialValue": {
"arguments": [
{
"expression": {
"id": 4137,
"name": "strb",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4127,
"src": "5996:4:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"id": 4138,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "6001:6:4",
"memberName": "length",
"nodeType": "MemberAccess",
"src": "5996:11:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
],
"id": 4136,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "NewExpression",
"src": "5986:9:4",
"typeDescriptions": {
"typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$",
"typeString": "function (uint256) pure returns (bytes memory)"
},
"typeName": {
"id": 4135,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "5990:5:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
}
},
"id": 4139,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "5986:22:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "5966:42:4"
},
{
"body": {
"id": 4188,
"nodeType": "Block",
"src": "6060:198:4",
"statements": [
{
"assignments": [
4153
],
"declarations": [
{
"constant": false,
"id": 4153,
"mutability": "mutable",
"name": "b",
"nameLocation": "6081:1:4",
"nodeType": "VariableDeclaration",
"scope": 4188,
"src": "6074:8:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
},
"typeName": {
"id": 4152,
"name": "bytes1",
"nodeType": "ElementaryTypeName",
"src": "6074:6:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
"visibility": "internal"
}
],
"id": 4157,
"initialValue": {
"baseExpression": {
"id": 4154,
"name": "strb",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4127,
"src": "6085:4:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"id": 4156,
"indexExpression": {
"id": 4155,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4142,
"src": "6090:1:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "6085:7:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "6074:18:4"
},
{
"condition": {
"commonType": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"id": 4164,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"commonType": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
},
"id": 4160,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 4158,
"name": "b",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4153,
"src": "6110:1:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
"nodeType": "BinaryOperation",
"operator": ">=",
"rightExpression": {
"hexValue": "30783631",
"id": 4159,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "6115:4:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_97_by_1",
"typeString": "int_const 97"
},
"value": "0x61"
},
"src": "6110:9:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "BinaryOperation",
"operator": "&&",
"rightExpression": {
"commonType": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
},
"id": 4163,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 4161,
"name": "b",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4153,
"src": "6123:1:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
"nodeType": "BinaryOperation",
"operator": "<=",
"rightExpression": {
"hexValue": "30783741",
"id": 4162,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "6128:4:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_122_by_1",
"typeString": "int_const 122"
},
"value": "0x7A"
},
"src": "6123:9:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"src": "6110:22:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": {
"id": 4186,
"nodeType": "Block",
"src": "6204:44:4",
"statements": [
{
"expression": {
"id": 4184,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"baseExpression": {
"id": 4180,
"name": "copy",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4134,
"src": "6222:4:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"id": 4182,
"indexExpression": {
"id": 4181,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4142,
"src": "6227:1:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "6222:7:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 4183,
"name": "b",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4153,
"src": "6232:1:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
"src": "6222:11:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
"id": 4185,
"nodeType": "ExpressionStatement",
"src": "6222:11:4"
}
]
},
"id": 4187,
"nodeType": "IfStatement",
"src": "6106:142:4",
"trueBody": {
"id": 4179,
"nodeType": "Block",
"src": "6134:64:4",
"statements": [
{
"expression": {
"id": 4177,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"baseExpression": {
"id": 4165,
"name": "copy",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4134,
"src": "6152:4:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"id": 4167,
"indexExpression": {
"id": 4166,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4142,
"src": "6157:1:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "6152:7:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"arguments": [
{
"commonType": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
},
"id": 4175,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"arguments": [
{
"id": 4172,
"name": "b",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4153,
"src": "6175:1:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
],
"id": 4171,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "6169:5:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_uint8_$",
"typeString": "type(uint8)"
},
"typeName": {
"id": 4170,
"name": "uint8",
"nodeType": "ElementaryTypeName",
"src": "6169:5:4",
"typeDescriptions": {}
}
},
"id": 4173,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "6169:8:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
},
"nodeType": "BinaryOperation",
"operator": "-",
"rightExpression": {
"hexValue": "3332",
"id": 4174,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "6180:2:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_32_by_1",
"typeString": "int_const 32"
},
"value": "32"
},
"src": "6169:13:4",
"typeDescriptions": {
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_uint8",
"typeString": "uint8"
}
],
"id": 4169,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "6162:6:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes1_$",
"typeString": "type(bytes1)"
},
"typeName": {
"id": 4168,
"name": "bytes1",
"nodeType": "ElementaryTypeName",
"src": "6162:6:4",
"typeDescriptions": {}
}
},
"id": 4176,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "6162:21:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
"src": "6152:31:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes1",
"typeString": "bytes1"
}
},
"id": 4178,
"nodeType": "ExpressionStatement",
"src": "6152:31:4"
}
]
}
}
]
},
"condition": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 4148,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 4145,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4142,
"src": "6038:1:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"expression": {
"id": 4146,
"name": "strb",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4127,
"src": "6042:4:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"id": 4147,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "6047:6:4",
"memberName": "length",
"nodeType": "MemberAccess",
"src": "6042:11:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "6038:15:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 4189,
"initializationExpression": {
"assignments": [
4142
],
"declarations": [
{
"constant": false,
"id": 4142,
"mutability": "mutable",
"name": "i",
"nameLocation": "6031:1:4",
"nodeType": "VariableDeclaration",
"scope": 4189,
"src": "6023:9:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4141,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "6023:7:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"id": 4144,
"initialValue": {
"hexValue": "30",
"id": 4143,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "6035:1:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"nodeType": "VariableDeclarationStatement",
"src": "6023:13:4"
},
"isSimpleCounterLoop": true,
"loopExpression": {
"expression": {
"id": 4150,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "++",
"prefix": false,
"src": "6055:3:4",
"subExpression": {
"id": 4149,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4142,
"src": "6055:1:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 4151,
"nodeType": "ExpressionStatement",
"src": "6055:3:4"
},
"nodeType": "ForStatement",
"src": "6018:240:4"
},
{
"expression": {
"arguments": [
{
"id": 4192,
"name": "copy",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4134,
"src": "6281:4:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 4191,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "6274:6:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_string_storage_ptr_$",
"typeString": "type(string storage pointer)"
},
"typeName": {
"id": 4190,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "6274:6:4",
"typeDescriptions": {}
}
},
"id": 4193,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "6274:12:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"functionReturnParameters": 4125,
"id": 4194,
"nodeType": "Return",
"src": "6267:19:4"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "_toUpper",
"nameLocation": "5851:8:4",
"parameters": {
"id": 4122,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4121,
"mutability": "mutable",
"name": "str",
"nameLocation": "5874:3:4",
"nodeType": "VariableDeclaration",
"scope": 4196,
"src": "5860:17:4",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 4120,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "5860:6:4",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "5859:19:4"
},
"returnParameters": {
"id": 4125,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4124,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 4196,
"src": "5901:13:4",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 4123,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "5901:6:4",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "5900:15:4"
},
"scope": 4516,
"stateMutability": "pure",
"virtual": false,
"visibility": "private"
},
{
"id": 4313,
"nodeType": "FunctionDefinition",
"src": "6429:1218:4",
"nodes": [],
"body": {
"id": 4312,
"nodeType": "Block",
"src": "6541:1106:4",
"nodes": [],
"statements": [
{
"condition": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 4214,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"expression": {
"arguments": [
{
"expression": {
"id": 4209,
"name": "chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4201,
"src": "6561:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_memory_ptr",
"typeString": "struct StdChains.Chain memory"
}
},
"id": 4210,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberLocation": "6567:6:4",
"memberName": "rpcUrl",
"nodeType": "MemberAccess",
"referencedDeclaration": 3862,
"src": "6561:12:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"id": 4208,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "6555:5:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
"typeString": "type(bytes storage pointer)"
},
"typeName": {
"id": 4207,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "6555:5:4",
"typeDescriptions": {}
}
},
"id": 4211,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "6555:19:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"id": 4212,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "6575:6:4",
"memberName": "length",
"nodeType": "MemberAccess",
"src": "6555:26:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"hexValue": "30",
"id": 4213,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "6585:1:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "6555:31:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 4309,
"nodeType": "IfStatement",
"src": "6551:1068:4",
"trueBody": {
"id": 4308,
"nodeType": "Block",
"src": "6588:1031:4",
"statements": [
{
"clauses": [
{
"block": {
"id": 4228,
"nodeType": "Block",
"src": "6665:60:4",
"statements": [
{
"expression": {
"id": 4226,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"expression": {
"id": 4222,
"name": "chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4201,
"src": "6683:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_memory_ptr",
"typeString": "struct StdChains.Chain memory"
}
},
"id": 4224,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"memberLocation": "6689:6:4",
"memberName": "rpcUrl",
"nodeType": "MemberAccess",
"referencedDeclaration": 3862,
"src": "6683:12:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 4225,
"name": "configRpcUrl",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4220,
"src": "6698:12:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "6683:27:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 4227,
"nodeType": "ExpressionStatement",
"src": "6683:27:4"
}
]
},
"errorName": "",
"id": 4229,
"nodeType": "TryCatchClause",
"parameters": {
"id": 4221,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4220,
"mutability": "mutable",
"name": "configRpcUrl",
"nameLocation": "6651:12:4",
"nodeType": "VariableDeclaration",
"scope": 4229,
"src": "6637:26:4",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 4219,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "6637:6:4",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"src": "6636:28:4"
},
"src": "6628:97:4"
},
{
"block": {
"id": 4305,
"nodeType": "Block",
"src": "6751:858:4",
"statements": [
{
"assignments": [
4234
],
"declarations": [
{
"constant": false,
"id": 4234,
"mutability": "mutable",
"name": "envName",
"nameLocation": "6783:7:4",
"nodeType": "VariableDeclaration",
"scope": 4305,
"src": "6769:21:4",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 4233,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "6769:6:4",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"id": 4245,
"initialValue": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"id": 4240,
"name": "chainAlias",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4198,
"src": "6826:10:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"id": 4239,
"name": "_toUpper",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4196,
"src": "6817:8:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$",
"typeString": "function (string memory) pure returns (string memory)"
}
},
"id": 4241,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "6817:20:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"hexValue": "5f5250435f55524c",
"id": 4242,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "6839:10:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_2186fe596dea1a615b7a1cb43899fd18c5b434aa29c8de36d4b8fcc67e3d6ad9",
"typeString": "literal_string \"_RPC_URL\""
},
"value": "_RPC_URL"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_stringliteral_2186fe596dea1a615b7a1cb43899fd18c5b434aa29c8de36d4b8fcc67e3d6ad9",
"typeString": "literal_string \"_RPC_URL\""
}
],
"expression": {
"id": 4237,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -1,
"src": "6800:3:4",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 4238,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "6804:12:4",
"memberName": "encodePacked",
"nodeType": "MemberAccess",
"src": "6800:16:4",
"typeDescriptions": {
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
"typeString": "function () pure returns (bytes memory)"
}
},
"id": 4243,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "6800:50:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 4236,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "6793:6:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_string_storage_ptr_$",
"typeString": "type(string storage pointer)"
},
"typeName": {
"id": 4235,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "6793:6:4",
"typeDescriptions": {}
}
},
"id": 4244,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "6793:58:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "6769:82:4"
},
{
"condition": {
"id": 4246,
"name": "fallbackToDefaultRpcUrls",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3879,
"src": "6873:24:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": {
"id": 4269,
"nodeType": "Block",
"src": "7006:77:4",
"statements": [
{
"expression": {
"id": 4267,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"expression": {
"id": 4260,
"name": "chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4201,
"src": "7028:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_memory_ptr",
"typeString": "struct StdChains.Chain memory"
}
},
"id": 4262,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"memberLocation": "7034:6:4",
"memberName": "rpcUrl",
"nodeType": "MemberAccess",
"referencedDeclaration": 3862,
"src": "7028:12:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"arguments": [
{
"id": 4265,
"name": "envName",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4234,
"src": "7056:7:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"expression": {
"id": 4263,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3845,
"src": "7043:2:4",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$12992",
"typeString": "contract VmSafe"
}
},
"id": 4264,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "7046:9:4",
"memberName": "envString",
"nodeType": "MemberAccess",
"referencedDeclaration": 12078,
"src": "7043:12:4",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$",
"typeString": "function (string memory) view external returns (string memory)"
}
},
"id": 4266,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "7043:21:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "7028:36:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 4268,
"nodeType": "ExpressionStatement",
"src": "7028:36:4"
}
]
},
"id": 4270,
"nodeType": "IfStatement",
"src": "6869:214:4",
"trueBody": {
"id": 4259,
"nodeType": "Block",
"src": "6899:101:4",
"statements": [
{
"expression": {
"id": 4257,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"expression": {
"id": 4247,
"name": "chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4201,
"src": "6921:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_memory_ptr",
"typeString": "struct StdChains.Chain memory"
}
},
"id": 4249,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"memberLocation": "6927:6:4",
"memberName": "rpcUrl",
"nodeType": "MemberAccess",
"referencedDeclaration": 3862,
"src": "6921:12:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"arguments": [
{
"id": 4252,
"name": "envName",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4234,
"src": "6945:7:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"baseExpression": {
"id": 4253,
"name": "defaultRpcUrls",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3872,
"src": "6954:14:4",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_string_storage_$",
"typeString": "mapping(string memory => string storage ref)"
}
},
"id": 4255,
"indexExpression": {
"id": 4254,
"name": "chainAlias",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4198,
"src": "6969:10:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "6954:26:4",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
],
"expression": {
"id": 4250,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3845,
"src": "6936:2:4",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$12992",
"typeString": "contract VmSafe"
}
},
"id": 4251,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "6939:5:4",
"memberName": "envOr",
"nodeType": "MemberAccess",
"referencedDeclaration": 12209,
"src": "6936:8:4",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$",
"typeString": "function (string memory,string memory) external returns (string memory)"
}
},
"id": 4256,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "6936:45:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "6921:60:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 4258,
"nodeType": "ExpressionStatement",
"src": "6921:60:4"
}
]
}
},
{
"assignments": [
4272
],
"declarations": [
{
"constant": false,
"id": 4272,
"mutability": "mutable",
"name": "notFoundError",
"nameLocation": "7175:13:4",
"nodeType": "VariableDeclaration",
"scope": 4305,
"src": "7162:26:4",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 4271,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "7162:5:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"visibility": "internal"
}
],
"id": 4285,
"initialValue": {
"arguments": [
{
"hexValue": "4368656174436f64654572726f72",
"id": 4275,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "7235:16:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_0bc445031644df03923eb2ab981d332f4354ceab11a95efce72a938e57beaadf",
"typeString": "literal_string \"CheatCodeError\""
},
"value": "CheatCodeError"
},
{
"arguments": [
{
"arguments": [
{
"hexValue": "696e76616c6964207270632075726c20",
"id": 4280,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "7277:18:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_2baf3da7b122675739218e635e969f0d1b560b915d35635239551f70fe123eed",
"typeString": "literal_string \"invalid rpc url \""
},
"value": "invalid rpc url "
},
{
"id": 4281,
"name": "chainAlias",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4198,
"src": "7297:10:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_2baf3da7b122675739218e635e969f0d1b560b915d35635239551f70fe123eed",
"typeString": "literal_string \"invalid rpc url \""
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"expression": {
"id": 4278,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -1,
"src": "7260:3:4",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 4279,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "7264:12:4",
"memberName": "encodePacked",
"nodeType": "MemberAccess",
"src": "7260:16:4",
"typeDescriptions": {
"typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
"typeString": "function () pure returns (bytes memory)"
}
},
"id": 4282,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "7260:48:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 4277,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "7253:6:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_string_storage_ptr_$",
"typeString": "type(string storage pointer)"
},
"typeName": {
"id": 4276,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "7253:6:4",
"typeDescriptions": {}
}
},
"id": 4283,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "7253:56:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_0bc445031644df03923eb2ab981d332f4354ceab11a95efce72a938e57beaadf",
"typeString": "literal_string \"CheatCodeError\""
},
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"expression": {
"id": 4273,
"name": "abi",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -1,
"src": "7211:3:4",
"typeDescriptions": {
"typeIdentifier": "t_magic_abi",
"typeString": "abi"
}
},
"id": 4274,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"memberLocation": "7215:19:4",
"memberName": "encodeWithSignature",
"nodeType": "MemberAccess",
"src": "7211:23:4",
"typeDescriptions": {
"typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$",
"typeString": "function (string memory) pure returns (bytes memory)"
}
},
"id": 4284,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "7211:99:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "7162:148:4"
},
{
"condition": {
"commonType": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"id": 4301,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"commonType": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"id": 4292,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"arguments": [
{
"id": 4287,
"name": "notFoundError",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4272,
"src": "7342:13:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 4286,
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -8,
"src": "7332:9:4",
"typeDescriptions": {
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
"typeString": "function (bytes memory) pure returns (bytes32)"
}
},
"id": 4288,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "7332:24:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"arguments": [
{
"id": 4290,
"name": "err",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4231,
"src": "7370:3:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
],
"id": 4289,
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -8,
"src": "7360:9:4",
"typeDescriptions": {
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
"typeString": "function (bytes memory) pure returns (bytes32)"
}
},
"id": 4291,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "7360:14:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"src": "7332:42:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "BinaryOperation",
"operator": "||",
"rightExpression": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 4300,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"expression": {
"arguments": [
{
"expression": {
"id": 4295,
"name": "chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4201,
"src": "7384:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_memory_ptr",
"typeString": "struct StdChains.Chain memory"
}
},
"id": 4296,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberLocation": "7390:6:4",
"memberName": "rpcUrl",
"nodeType": "MemberAccess",
"referencedDeclaration": 3862,
"src": "7384:12:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"id": 4294,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "7378:5:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
"typeString": "type(bytes storage pointer)"
},
"typeName": {
"id": 4293,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "7378:5:4",
"typeDescriptions": {}
}
},
"id": 4297,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "7378:19:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes memory"
}
},
"id": 4298,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "7398:6:4",
"memberName": "length",
"nodeType": "MemberAccess",
"src": "7378:26:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"hexValue": "30",
"id": 4299,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "7408:1:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "7378:31:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"src": "7332:77:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 4304,
"nodeType": "IfStatement",
"src": "7328:267:4",
"trueBody": {
"id": 4303,
"nodeType": "Block",
"src": "7411:184:4",
"statements": [
{
"AST": {
"nativeSrc": "7497:80:4",
"nodeType": "YulBlock",
"src": "7497:80:4",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"kind": "number",
"nativeSrc": "7534:2:4",
"nodeType": "YulLiteral",
"src": "7534:2:4",
"type": "",
"value": "32"
},
{
"name": "err",
"nativeSrc": "7538:3:4",
"nodeType": "YulIdentifier",
"src": "7538:3:4"
}
],
"functionName": {
"name": "add",
"nativeSrc": "7530:3:4",
"nodeType": "YulIdentifier",
"src": "7530:3:4"
},
"nativeSrc": "7530:12:4",
"nodeType": "YulFunctionCall",
"src": "7530:12:4"
},
{
"arguments": [
{
"name": "err",
"nativeSrc": "7550:3:4",
"nodeType": "YulIdentifier",
"src": "7550:3:4"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "7544:5:4",
"nodeType": "YulIdentifier",
"src": "7544:5:4"
},
"nativeSrc": "7544:10:4",
"nodeType": "YulFunctionCall",
"src": "7544:10:4"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "7523:6:4",
"nodeType": "YulIdentifier",
"src": "7523:6:4"
},
"nativeSrc": "7523:32:4",
"nodeType": "YulFunctionCall",
"src": "7523:32:4"
},
"nativeSrc": "7523:32:4",
"nodeType": "YulExpressionStatement",
"src": "7523:32:4"
}
]
},
"documentation": "@solidity memory-safe-assembly",
"evmVersion": "paris",
"externalReferences": [
{
"declaration": 4231,
"isOffset": false,
"isSlot": false,
"src": "7538:3:4",
"valueSize": 1
},
{
"declaration": 4231,
"isOffset": false,
"isSlot": false,
"src": "7550:3:4",
"valueSize": 1
}
],
"id": 4302,
"nodeType": "InlineAssembly",
"src": "7488:89:4"
}
]
}
}
]
},
"errorName": "",
"id": 4306,
"nodeType": "TryCatchClause",
"parameters": {
"id": 4232,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4231,
"mutability": "mutable",
"name": "err",
"nameLocation": "6746:3:4",
"nodeType": "VariableDeclaration",
"scope": 4306,
"src": "6733:16:4",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 4230,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "6733:5:4",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"visibility": "internal"
}
],
"src": "6732:18:4"
},
"src": "6726:883:4"
}
],
"externalCall": {
"arguments": [
{
"id": 4217,
"name": "chainAlias",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4198,
"src": "6616:10:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
],
"expression": {
"id": 4215,
"name": "vm",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3845,
"src": "6606:2:4",
"typeDescriptions": {
"typeIdentifier": "t_contract$_VmSafe_$12992",
"typeString": "contract VmSafe"
}
},
"id": 4216,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "6609:6:4",
"memberName": "rpcUrl",
"nodeType": "MemberAccess",
"referencedDeclaration": 12953,
"src": "6606:9:4",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$",
"typeString": "function (string memory) view external returns (string memory)"
}
},
"id": 4218,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "6606:21:4",
"tryCall": true,
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 4307,
"nodeType": "TryStatement",
"src": "6602:1007:4"
}
]
}
},
{
"expression": {
"id": 4310,
"name": "chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4201,
"src": "7635:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_memory_ptr",
"typeString": "struct StdChains.Chain memory"
}
},
"functionReturnParameters": 4206,
"id": 4311,
"nodeType": "Return",
"src": "7628:12:4"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "getChainWithUpdatedRpcUrl",
"nameLocation": "6438:25:4",
"parameters": {
"id": 4202,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4198,
"mutability": "mutable",
"name": "chainAlias",
"nameLocation": "6478:10:4",
"nodeType": "VariableDeclaration",
"scope": 4313,
"src": "6464:24:4",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 4197,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "6464:6:4",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 4201,
"mutability": "mutable",
"name": "chain",
"nameLocation": "6503:5:4",
"nodeType": "VariableDeclaration",
"scope": 4313,
"src": "6490:18:4",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_memory_ptr",
"typeString": "struct StdChains.Chain"
},
"typeName": {
"id": 4200,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 4199,
"name": "Chain",
"nameLocations": [
"6490:5:4"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 3863,
"src": "6490:5:4"
},
"referencedDeclaration": 3863,
"src": "6490:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_storage_ptr",
"typeString": "struct StdChains.Chain"
}
},
"visibility": "internal"
}
],
"src": "6463:46:4"
},
"returnParameters": {
"id": 4206,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4205,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 4313,
"src": "6527:12:4",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_memory_ptr",
"typeString": "struct StdChains.Chain"
},
"typeName": {
"id": 4204,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 4203,
"name": "Chain",
"nameLocations": [
"6527:5:4"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 3863,
"src": "6527:5:4"
},
"referencedDeclaration": 3863,
"src": "6527:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Chain_$3863_storage_ptr",
"typeString": "struct StdChains.Chain"
}
},
"visibility": "internal"
}
],
"src": "6526:14:4"
},
"scope": 4516,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "private"
},
{
"id": 4323,
"nodeType": "FunctionDefinition",
"src": "7653:117:4",
"nodes": [],
"body": {
"id": 4322,
"nodeType": "Block",
"src": "7716:54:4",
"nodes": [],
"statements": [
{
"expression": {
"id": 4320,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 4318,
"name": "fallbackToDefaultRpcUrls",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3879,
"src": "7726:24:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 4319,
"name": "useDefault",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4315,
"src": "7753:10:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"src": "7726:37:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 4321,
"nodeType": "ExpressionStatement",
"src": "7726:37:4"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "setFallbackToDefaultRpcUrls",
"nameLocation": "7662:27:4",
"parameters": {
"id": 4316,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4315,
"mutability": "mutable",
"name": "useDefault",
"nameLocation": "7695:10:4",
"nodeType": "VariableDeclaration",
"scope": 4323,
"src": "7690:15:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 4314,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "7690:4:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "7689:17:4"
},
"returnParameters": {
"id": 4317,
"nodeType": "ParameterList",
"parameters": [],
"src": "7716:0:4"
},
"scope": 4516,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "internal"
},
{
"id": 4478,
"nodeType": "FunctionDefinition",
"src": "7776:2377:4",
"nodes": [],
"body": {
"id": 4477,
"nodeType": "Block",
"src": "7815:2338:4",
"nodes": [],
"statements": [
{
"condition": {
"id": 4326,
"name": "stdChainsInitialized",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3847,
"src": "7829:20:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 4328,
"nodeType": "IfStatement",
"src": "7825:33:4",
"trueBody": {
"functionReturnParameters": 4325,
"id": 4327,
"nodeType": "Return",
"src": "7851:7:4"
}
},
{
"expression": {
"id": 4331,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 4329,
"name": "stdChainsInitialized",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3847,
"src": "7868:20:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"hexValue": "74727565",
"id": 4330,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "bool",
"lValueRequested": false,
"nodeType": "Literal",
"src": "7891:4:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"value": "true"
},
"src": "7868:27:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 4332,
"nodeType": "ExpressionStatement",
"src": "7868:27:4"
},
{
"expression": {
"arguments": [
{
"hexValue": "616e76696c",
"id": 4334,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8018:7:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_a3d859b77cebfdf9da3b485434702c5090ff9e91b7b86c670ebb15f8a00eb72b",
"typeString": "literal_string \"anvil\""
},
"value": "anvil"
},
{
"arguments": [
{
"hexValue": "416e76696c",
"id": 4336,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8037:7:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_1ab1bd2f543bf53e1036abfe292a89809c7285bff756db6e274686afe6fb41b4",
"typeString": "literal_string \"Anvil\""
},
"value": "Anvil"
},
{
"hexValue": "3331333337",
"id": 4337,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8046:5:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_31337_by_1",
"typeString": "int_const 31337"
},
"value": "31337"
},
{
"hexValue": "687474703a2f2f3132372e302e302e313a38353435",
"id": 4338,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8053:23:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_308a18cf3d9de3b161a842ef1e873581d7b16a5d4ea08170e123f95d25f33fe0",
"typeString": "literal_string \"http://127.0.0.1:8545\""
},
"value": "http://127.0.0.1:8545"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_1ab1bd2f543bf53e1036abfe292a89809c7285bff756db6e274686afe6fb41b4",
"typeString": "literal_string \"Anvil\""
},
{
"typeIdentifier": "t_rational_31337_by_1",
"typeString": "int_const 31337"
},
{
"typeIdentifier": "t_stringliteral_308a18cf3d9de3b161a842ef1e873581d7b16a5d4ea08170e123f95d25f33fe0",
"typeString": "literal_string \"http://127.0.0.1:8545\""
}
],
"id": 4335,
"name": "ChainData",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3854,
"src": "8027:9:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_ChainData_$3854_storage_ptr_$",
"typeString": "type(struct StdChains.ChainData storage pointer)"
}
},
"id": 4339,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "structConstructorCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "8027:50:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_a3d859b77cebfdf9da3b485434702c5090ff9e91b7b86c670ebb15f8a00eb72b",
"typeString": "literal_string \"anvil\""
},
{
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
],
"id": 4333,
"name": "setChainWithDefaultRpcUrl",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4515,
"src": "7992:25:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3854_memory_ptr_$returns$__$",
"typeString": "function (string memory,struct StdChains.ChainData memory)"
}
},
"id": 4340,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "7992:86:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 4341,
"nodeType": "ExpressionStatement",
"src": "7992:86:4"
},
{
"expression": {
"arguments": [
{
"hexValue": "6d61696e6e6574",
"id": 4343,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8127:9:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_7beafa94c8bfb8f1c1a43104a34f72c524268aafbfe83bff17485539345c66ff",
"typeString": "literal_string \"mainnet\""
},
"value": "mainnet"
},
{
"arguments": [
{
"hexValue": "4d61696e6e6574",
"id": 4345,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8148:9:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_8d646f556e5d9d6f1edcf7a39b77f5ac253776eb34efcfd688aacbee518efc26",
"typeString": "literal_string \"Mainnet\""
},
"value": "Mainnet"
},
{
"hexValue": "31",
"id": 4346,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8159:1:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
},
"value": "1"
},
{
"hexValue": "68747470733a2f2f6d61696e6e65742e696e667572612e696f2f76332f6239373934616431646466383464666238633334643662623564636132303031",
"id": 4347,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8162:63:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_1373fea4c12f646a43ebc6d1ea0e596114d1b5b436526018c86d996c7250aef0",
"typeString": "literal_string \"https://mainnet.infura.io/v3/b9794ad1ddf84dfb8c34d6bb5dca2001\""
},
"value": "https://mainnet.infura.io/v3/b9794ad1ddf84dfb8c34d6bb5dca2001"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_8d646f556e5d9d6f1edcf7a39b77f5ac253776eb34efcfd688aacbee518efc26",
"typeString": "literal_string \"Mainnet\""
},
{
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
},
{
"typeIdentifier": "t_stringliteral_1373fea4c12f646a43ebc6d1ea0e596114d1b5b436526018c86d996c7250aef0",
"typeString": "literal_string \"https://mainnet.infura.io/v3/b9794ad1ddf84dfb8c34d6bb5dca2001\""
}
],
"id": 4344,
"name": "ChainData",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3854,
"src": "8138:9:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_ChainData_$3854_storage_ptr_$",
"typeString": "type(struct StdChains.ChainData storage pointer)"
}
},
"id": 4348,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "structConstructorCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "8138:88:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_7beafa94c8bfb8f1c1a43104a34f72c524268aafbfe83bff17485539345c66ff",
"typeString": "literal_string \"mainnet\""
},
{
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
],
"id": 4342,
"name": "setChainWithDefaultRpcUrl",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4515,
"src": "8088:25:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3854_memory_ptr_$returns$__$",
"typeString": "function (string memory,struct StdChains.ChainData memory)"
}
},
"id": 4349,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "8088:148:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 4350,
"nodeType": "ExpressionStatement",
"src": "8088:148:4"
},
{
"expression": {
"arguments": [
{
"hexValue": "676f65726c69",
"id": 4352,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8285:8:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_e24dd81d18a6354d406364c0fc25f4237534cee10d0c3099c9c2a6aa50d7dd0a",
"typeString": "literal_string \"goerli\""
},
"value": "goerli"
},
{
"arguments": [
{
"hexValue": "476f65726c69",
"id": 4354,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8305:8:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_736fc55653a3415af498a1309898240f13c5e9e33098fa3cf9e5f2a200d14c3e",
"typeString": "literal_string \"Goerli\""
},
"value": "Goerli"
},
{
"hexValue": "35",
"id": 4355,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8315:1:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_5_by_1",
"typeString": "int_const 5"
},
"value": "5"
},
{
"hexValue": "68747470733a2f2f676f65726c692e696e667572612e696f2f76332f6239373934616431646466383464666238633334643662623564636132303031",
"id": 4356,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8318:62:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_eb46d1ff6486ad38c99bfbe75b668c3e422a65114b7e15a3a7eeca36edb48a42",
"typeString": "literal_string \"https://goerli.infura.io/v3/b9794ad1ddf84dfb8c34d6bb5dca2001\""
},
"value": "https://goerli.infura.io/v3/b9794ad1ddf84dfb8c34d6bb5dca2001"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_736fc55653a3415af498a1309898240f13c5e9e33098fa3cf9e5f2a200d14c3e",
"typeString": "literal_string \"Goerli\""
},
{
"typeIdentifier": "t_rational_5_by_1",
"typeString": "int_const 5"
},
{
"typeIdentifier": "t_stringliteral_eb46d1ff6486ad38c99bfbe75b668c3e422a65114b7e15a3a7eeca36edb48a42",
"typeString": "literal_string \"https://goerli.infura.io/v3/b9794ad1ddf84dfb8c34d6bb5dca2001\""
}
],
"id": 4353,
"name": "ChainData",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3854,
"src": "8295:9:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_ChainData_$3854_storage_ptr_$",
"typeString": "type(struct StdChains.ChainData storage pointer)"
}
},
"id": 4357,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "structConstructorCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "8295:86:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_e24dd81d18a6354d406364c0fc25f4237534cee10d0c3099c9c2a6aa50d7dd0a",
"typeString": "literal_string \"goerli\""
},
{
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
],
"id": 4351,
"name": "setChainWithDefaultRpcUrl",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4515,
"src": "8246:25:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3854_memory_ptr_$returns$__$",
"typeString": "function (string memory,struct StdChains.ChainData memory)"
}
},
"id": 4358,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "8246:145:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 4359,
"nodeType": "ExpressionStatement",
"src": "8246:145:4"
},
{
"expression": {
"arguments": [
{
"hexValue": "7365706f6c6961",
"id": 4361,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8440:9:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_e1f58df0b51f34f4835aba989f0aa2f2e66218cab53207bafd3dbf37270bd39a",
"typeString": "literal_string \"sepolia\""
},
"value": "sepolia"
},
{
"arguments": [
{
"hexValue": "5365706f6c6961",
"id": 4363,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8461:9:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_a6b54cd124a84bb64f1808905ed95fb171a09730726f85e60eefcd47a4831b27",
"typeString": "literal_string \"Sepolia\""
},
"value": "Sepolia"
},
{
"hexValue": "3131313535313131",
"id": 4364,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8472:8:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_11155111_by_1",
"typeString": "int_const 11155111"
},
"value": "11155111"
},
{
"hexValue": "68747470733a2f2f7365706f6c69612e696e667572612e696f2f76332f6239373934616431646466383464666238633334643662623564636132303031",
"id": 4365,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8482:63:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_167447379e730a7d89231aec25edd721d4e0b02c818e31467228ef4a7c09810f",
"typeString": "literal_string \"https://sepolia.infura.io/v3/b9794ad1ddf84dfb8c34d6bb5dca2001\""
},
"value": "https://sepolia.infura.io/v3/b9794ad1ddf84dfb8c34d6bb5dca2001"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_a6b54cd124a84bb64f1808905ed95fb171a09730726f85e60eefcd47a4831b27",
"typeString": "literal_string \"Sepolia\""
},
{
"typeIdentifier": "t_rational_11155111_by_1",
"typeString": "int_const 11155111"
},
{
"typeIdentifier": "t_stringliteral_167447379e730a7d89231aec25edd721d4e0b02c818e31467228ef4a7c09810f",
"typeString": "literal_string \"https://sepolia.infura.io/v3/b9794ad1ddf84dfb8c34d6bb5dca2001\""
}
],
"id": 4362,
"name": "ChainData",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3854,
"src": "8451:9:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_ChainData_$3854_storage_ptr_$",
"typeString": "type(struct StdChains.ChainData storage pointer)"
}
},
"id": 4366,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "structConstructorCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "8451:95:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_e1f58df0b51f34f4835aba989f0aa2f2e66218cab53207bafd3dbf37270bd39a",
"typeString": "literal_string \"sepolia\""
},
{
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
],
"id": 4360,
"name": "setChainWithDefaultRpcUrl",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4515,
"src": "8401:25:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3854_memory_ptr_$returns$__$",
"typeString": "function (string memory,struct StdChains.ChainData memory)"
}
},
"id": 4367,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "8401:155:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 4368,
"nodeType": "ExpressionStatement",
"src": "8401:155:4"
},
{
"expression": {
"arguments": [
{
"hexValue": "6f7074696d69736d",
"id": 4370,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8592:10:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_09d0f27659ee556a8134fa56941e42400e672aecc2d4cfc61cdb0fcea4590e05",
"typeString": "literal_string \"optimism\""
},
"value": "optimism"
},
{
"arguments": [
{
"hexValue": "4f7074696d69736d",
"id": 4372,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8614:10:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_f997187c3c319ef9e33fa05f852d1612b66e309dc48d97a4b6b39832090a3bec",
"typeString": "literal_string \"Optimism\""
},
"value": "Optimism"
},
{
"hexValue": "3130",
"id": 4373,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8626:2:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_10_by_1",
"typeString": "int_const 10"
},
"value": "10"
},
{
"hexValue": "68747470733a2f2f6d61696e6e65742e6f7074696d69736d2e696f",
"id": 4374,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8630:29:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_38b9211512154272cdc8d9677b3720aef06041b8d31b5e68a6ffc7a4bb22d93e",
"typeString": "literal_string \"https://mainnet.optimism.io\""
},
"value": "https://mainnet.optimism.io"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_f997187c3c319ef9e33fa05f852d1612b66e309dc48d97a4b6b39832090a3bec",
"typeString": "literal_string \"Optimism\""
},
{
"typeIdentifier": "t_rational_10_by_1",
"typeString": "int_const 10"
},
{
"typeIdentifier": "t_stringliteral_38b9211512154272cdc8d9677b3720aef06041b8d31b5e68a6ffc7a4bb22d93e",
"typeString": "literal_string \"https://mainnet.optimism.io\""
}
],
"id": 4371,
"name": "ChainData",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3854,
"src": "8604:9:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_ChainData_$3854_storage_ptr_$",
"typeString": "type(struct StdChains.ChainData storage pointer)"
}
},
"id": 4375,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "structConstructorCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "8604:56:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_09d0f27659ee556a8134fa56941e42400e672aecc2d4cfc61cdb0fcea4590e05",
"typeString": "literal_string \"optimism\""
},
{
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
],
"id": 4369,
"name": "setChainWithDefaultRpcUrl",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4515,
"src": "8566:25:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3854_memory_ptr_$returns$__$",
"typeString": "function (string memory,struct StdChains.ChainData memory)"
}
},
"id": 4376,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "8566:95:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 4377,
"nodeType": "ExpressionStatement",
"src": "8566:95:4"
},
{
"expression": {
"arguments": [
{
"hexValue": "6f7074696d69736d5f676f65726c69",
"id": 4379,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8697:17:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_ecf3b2cc678a701bfbf2329b12e6edf723c3043a32339c2eea2efb7c9533c09c",
"typeString": "literal_string \"optimism_goerli\""
},
"value": "optimism_goerli"
},
{
"arguments": [
{
"hexValue": "4f7074696d69736d20476f65726c69",
"id": 4381,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8726:17:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_6271e061a2d4ce1b6e267081a40c4dca996efe738d092d650bcfa23669d2fd24",
"typeString": "literal_string \"Optimism Goerli\""
},
"value": "Optimism Goerli"
},
{
"hexValue": "343230",
"id": 4382,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8745:3:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_420_by_1",
"typeString": "int_const 420"
},
"value": "420"
},
{
"hexValue": "68747470733a2f2f676f65726c692e6f7074696d69736d2e696f",
"id": 4383,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8750:28:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_ef3dbe59ba72d73e51c1959c67c0485880270dce59b4642a5dff6497ea5e55ad",
"typeString": "literal_string \"https://goerli.optimism.io\""
},
"value": "https://goerli.optimism.io"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_6271e061a2d4ce1b6e267081a40c4dca996efe738d092d650bcfa23669d2fd24",
"typeString": "literal_string \"Optimism Goerli\""
},
{
"typeIdentifier": "t_rational_420_by_1",
"typeString": "int_const 420"
},
{
"typeIdentifier": "t_stringliteral_ef3dbe59ba72d73e51c1959c67c0485880270dce59b4642a5dff6497ea5e55ad",
"typeString": "literal_string \"https://goerli.optimism.io\""
}
],
"id": 4380,
"name": "ChainData",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3854,
"src": "8716:9:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_ChainData_$3854_storage_ptr_$",
"typeString": "type(struct StdChains.ChainData storage pointer)"
}
},
"id": 4384,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "structConstructorCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "8716:63:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_ecf3b2cc678a701bfbf2329b12e6edf723c3043a32339c2eea2efb7c9533c09c",
"typeString": "literal_string \"optimism_goerli\""
},
{
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
],
"id": 4378,
"name": "setChainWithDefaultRpcUrl",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4515,
"src": "8671:25:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3854_memory_ptr_$returns$__$",
"typeString": "function (string memory,struct StdChains.ChainData memory)"
}
},
"id": 4385,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "8671:109:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 4386,
"nodeType": "ExpressionStatement",
"src": "8671:109:4"
},
{
"expression": {
"arguments": [
{
"hexValue": "617262697472756d5f6f6e65",
"id": 4388,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8816:14:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_e4b44cea7839e0679ac5072602932da9b25ebfb3a9ac42625d9c583a7b6b2eb4",
"typeString": "literal_string \"arbitrum_one\""
},
"value": "arbitrum_one"
},
{
"arguments": [
{
"hexValue": "417262697472756d204f6e65",
"id": 4390,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8842:14:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_9e42b1aebd5463751aea2c5f6ee37505334a82b4085315a5f4b8b0f81d3b9004",
"typeString": "literal_string \"Arbitrum One\""
},
"value": "Arbitrum One"
},
{
"hexValue": "3432313631",
"id": 4391,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8858:5:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_42161_by_1",
"typeString": "int_const 42161"
},
"value": "42161"
},
{
"hexValue": "68747470733a2f2f617262312e617262697472756d2e696f2f727063",
"id": 4392,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8865:30:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_ff28c1a1bf3c117d5956efad529d0ee22dcfc0fe5cbf5a03e0bdfcc3c6cac126",
"typeString": "literal_string \"https://arb1.arbitrum.io/rpc\""
},
"value": "https://arb1.arbitrum.io/rpc"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_9e42b1aebd5463751aea2c5f6ee37505334a82b4085315a5f4b8b0f81d3b9004",
"typeString": "literal_string \"Arbitrum One\""
},
{
"typeIdentifier": "t_rational_42161_by_1",
"typeString": "int_const 42161"
},
{
"typeIdentifier": "t_stringliteral_ff28c1a1bf3c117d5956efad529d0ee22dcfc0fe5cbf5a03e0bdfcc3c6cac126",
"typeString": "literal_string \"https://arb1.arbitrum.io/rpc\""
}
],
"id": 4389,
"name": "ChainData",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3854,
"src": "8832:9:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_ChainData_$3854_storage_ptr_$",
"typeString": "type(struct StdChains.ChainData storage pointer)"
}
},
"id": 4393,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "structConstructorCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "8832:64:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_e4b44cea7839e0679ac5072602932da9b25ebfb3a9ac42625d9c583a7b6b2eb4",
"typeString": "literal_string \"arbitrum_one\""
},
{
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
],
"id": 4387,
"name": "setChainWithDefaultRpcUrl",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4515,
"src": "8790:25:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3854_memory_ptr_$returns$__$",
"typeString": "function (string memory,struct StdChains.ChainData memory)"
}
},
"id": 4394,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "8790:107:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 4395,
"nodeType": "ExpressionStatement",
"src": "8790:107:4"
},
{
"expression": {
"arguments": [
{
"hexValue": "617262697472756d5f6f6e655f676f65726c69",
"id": 4397,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8946:21:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_9c5068a3a5cdbd747f13200fdd6f590995f99bde231a5dcfa62a5f92af1dc3d4",
"typeString": "literal_string \"arbitrum_one_goerli\""
},
"value": "arbitrum_one_goerli"
},
{
"arguments": [
{
"hexValue": "417262697472756d204f6e6520476f65726c69",
"id": 4399,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "8979:21:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_57f7b6894161eb541e81676f15adf1e65eee36bdcfd592f252d22d4394480f21",
"typeString": "literal_string \"Arbitrum One Goerli\""
},
"value": "Arbitrum One Goerli"
},
{
"hexValue": "343231363133",
"id": 4400,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9002:6:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_421613_by_1",
"typeString": "int_const 421613"
},
"value": "421613"
},
{
"hexValue": "68747470733a2f2f676f65726c692d726f6c6c75702e617262697472756d2e696f2f727063",
"id": 4401,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9010:39:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_d65fa49ed6bf0763184aace821262295f8ad23c20b74cd1f836fe5e06f5dd8ea",
"typeString": "literal_string \"https://goerli-rollup.arbitrum.io/rpc\""
},
"value": "https://goerli-rollup.arbitrum.io/rpc"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_57f7b6894161eb541e81676f15adf1e65eee36bdcfd592f252d22d4394480f21",
"typeString": "literal_string \"Arbitrum One Goerli\""
},
{
"typeIdentifier": "t_rational_421613_by_1",
"typeString": "int_const 421613"
},
{
"typeIdentifier": "t_stringliteral_d65fa49ed6bf0763184aace821262295f8ad23c20b74cd1f836fe5e06f5dd8ea",
"typeString": "literal_string \"https://goerli-rollup.arbitrum.io/rpc\""
}
],
"id": 4398,
"name": "ChainData",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3854,
"src": "8969:9:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_ChainData_$3854_storage_ptr_$",
"typeString": "type(struct StdChains.ChainData storage pointer)"
}
},
"id": 4402,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "structConstructorCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "8969:81:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_9c5068a3a5cdbd747f13200fdd6f590995f99bde231a5dcfa62a5f92af1dc3d4",
"typeString": "literal_string \"arbitrum_one_goerli\""
},
{
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
],
"id": 4396,
"name": "setChainWithDefaultRpcUrl",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4515,
"src": "8907:25:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3854_memory_ptr_$returns$__$",
"typeString": "function (string memory,struct StdChains.ChainData memory)"
}
},
"id": 4403,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "8907:153:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 4404,
"nodeType": "ExpressionStatement",
"src": "8907:153:4"
},
{
"expression": {
"arguments": [
{
"hexValue": "617262697472756d5f6e6f7661",
"id": 4406,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9096:15:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_9338ed1403277416ebb39d4e992ebf5c49e6dded5ec79963ea5fc261cbd7fdac",
"typeString": "literal_string \"arbitrum_nova\""
},
"value": "arbitrum_nova"
},
{
"arguments": [
{
"hexValue": "417262697472756d204e6f7661",
"id": 4408,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9123:15:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_25c77b7679bf463420c39c7728b9f65b6a8f1ae05b3335eb9e394b1b61bf8f21",
"typeString": "literal_string \"Arbitrum Nova\""
},
"value": "Arbitrum Nova"
},
{
"hexValue": "3432313730",
"id": 4409,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9140:5:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_42170_by_1",
"typeString": "int_const 42170"
},
"value": "42170"
},
{
"hexValue": "68747470733a2f2f6e6f76612e617262697472756d2e696f2f727063",
"id": 4410,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9147:30:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_a77f0a686c95785c75ada33247e30dc9ac80330a7f8eb521bebdf48f492ee4ac",
"typeString": "literal_string \"https://nova.arbitrum.io/rpc\""
},
"value": "https://nova.arbitrum.io/rpc"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_25c77b7679bf463420c39c7728b9f65b6a8f1ae05b3335eb9e394b1b61bf8f21",
"typeString": "literal_string \"Arbitrum Nova\""
},
{
"typeIdentifier": "t_rational_42170_by_1",
"typeString": "int_const 42170"
},
{
"typeIdentifier": "t_stringliteral_a77f0a686c95785c75ada33247e30dc9ac80330a7f8eb521bebdf48f492ee4ac",
"typeString": "literal_string \"https://nova.arbitrum.io/rpc\""
}
],
"id": 4407,
"name": "ChainData",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3854,
"src": "9113:9:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_ChainData_$3854_storage_ptr_$",
"typeString": "type(struct StdChains.ChainData storage pointer)"
}
},
"id": 4411,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "structConstructorCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "9113:65:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_9338ed1403277416ebb39d4e992ebf5c49e6dded5ec79963ea5fc261cbd7fdac",
"typeString": "literal_string \"arbitrum_nova\""
},
{
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
],
"id": 4405,
"name": "setChainWithDefaultRpcUrl",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4515,
"src": "9070:25:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3854_memory_ptr_$returns$__$",
"typeString": "function (string memory,struct StdChains.ChainData memory)"
}
},
"id": 4412,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "9070:109:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 4413,
"nodeType": "ExpressionStatement",
"src": "9070:109:4"
},
{
"expression": {
"arguments": [
{
"hexValue": "706f6c79676f6e",
"id": 4415,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9215:9:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_ac63fa1fe369e75c38d62f0f4d465b48b3cd5159f0fb416332899402031d1408",
"typeString": "literal_string \"polygon\""
},
"value": "polygon"
},
{
"arguments": [
{
"hexValue": "506f6c79676f6e",
"id": 4417,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9236:9:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_890af8db8ca1aa1e915857edbc2717639ebd8a22c786f9e0e776d6a1aacb5e71",
"typeString": "literal_string \"Polygon\""
},
"value": "Polygon"
},
{
"hexValue": "313337",
"id": 4418,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9247:3:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_137_by_1",
"typeString": "int_const 137"
},
"value": "137"
},
{
"hexValue": "68747470733a2f2f706f6c79676f6e2d7270632e636f6d",
"id": 4419,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9252:25:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_fda46ab670b83929623b4aa9bcfa97ff7b7376fa90a24a450a8561482232c5c0",
"typeString": "literal_string \"https://polygon-rpc.com\""
},
"value": "https://polygon-rpc.com"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_890af8db8ca1aa1e915857edbc2717639ebd8a22c786f9e0e776d6a1aacb5e71",
"typeString": "literal_string \"Polygon\""
},
{
"typeIdentifier": "t_rational_137_by_1",
"typeString": "int_const 137"
},
{
"typeIdentifier": "t_stringliteral_fda46ab670b83929623b4aa9bcfa97ff7b7376fa90a24a450a8561482232c5c0",
"typeString": "literal_string \"https://polygon-rpc.com\""
}
],
"id": 4416,
"name": "ChainData",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3854,
"src": "9226:9:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_ChainData_$3854_storage_ptr_$",
"typeString": "type(struct StdChains.ChainData storage pointer)"
}
},
"id": 4420,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "structConstructorCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "9226:52:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_ac63fa1fe369e75c38d62f0f4d465b48b3cd5159f0fb416332899402031d1408",
"typeString": "literal_string \"polygon\""
},
{
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
],
"id": 4414,
"name": "setChainWithDefaultRpcUrl",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4515,
"src": "9189:25:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3854_memory_ptr_$returns$__$",
"typeString": "function (string memory,struct StdChains.ChainData memory)"
}
},
"id": 4421,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "9189:90:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 4422,
"nodeType": "ExpressionStatement",
"src": "9189:90:4"
},
{
"expression": {
"arguments": [
{
"hexValue": "706f6c79676f6e5f6d756d626169",
"id": 4424,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9328:16:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_a7308364e169f5f44de3933205a00d3632b7366702c91dff3452b4dbf6ed70f0",
"typeString": "literal_string \"polygon_mumbai\""
},
"value": "polygon_mumbai"
},
{
"arguments": [
{
"hexValue": "506f6c79676f6e204d756d626169",
"id": 4426,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9356:16:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_173b0df64039e25119e26da4408dbd53da69bf06543516209ecc66f21e0c9725",
"typeString": "literal_string \"Polygon Mumbai\""
},
"value": "Polygon Mumbai"
},
{
"hexValue": "3830303031",
"id": 4427,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9374:5:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_80001_by_1",
"typeString": "int_const 80001"
},
"value": "80001"
},
{
"hexValue": "68747470733a2f2f7270632d6d756d6261692e6d61746963766967696c2e636f6d",
"id": 4428,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9381:35:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_73b526a6131ddfd959c21485254bd24a6ab94de746e87b78a515c1d42c7ee121",
"typeString": "literal_string \"https://rpc-mumbai.maticvigil.com\""
},
"value": "https://rpc-mumbai.maticvigil.com"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_173b0df64039e25119e26da4408dbd53da69bf06543516209ecc66f21e0c9725",
"typeString": "literal_string \"Polygon Mumbai\""
},
{
"typeIdentifier": "t_rational_80001_by_1",
"typeString": "int_const 80001"
},
{
"typeIdentifier": "t_stringliteral_73b526a6131ddfd959c21485254bd24a6ab94de746e87b78a515c1d42c7ee121",
"typeString": "literal_string \"https://rpc-mumbai.maticvigil.com\""
}
],
"id": 4425,
"name": "ChainData",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3854,
"src": "9346:9:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_ChainData_$3854_storage_ptr_$",
"typeString": "type(struct StdChains.ChainData storage pointer)"
}
},
"id": 4429,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "structConstructorCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "9346:71:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_a7308364e169f5f44de3933205a00d3632b7366702c91dff3452b4dbf6ed70f0",
"typeString": "literal_string \"polygon_mumbai\""
},
{
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
],
"id": 4423,
"name": "setChainWithDefaultRpcUrl",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4515,
"src": "9289:25:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3854_memory_ptr_$returns$__$",
"typeString": "function (string memory,struct StdChains.ChainData memory)"
}
},
"id": 4430,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "9289:138:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 4431,
"nodeType": "ExpressionStatement",
"src": "9289:138:4"
},
{
"expression": {
"arguments": [
{
"hexValue": "6176616c616e636865",
"id": 4433,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9463:11:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_6e8b0d92516ee4289145e3b78cea58daac177b1c618beeedbc6cdabd388a6e55",
"typeString": "literal_string \"avalanche\""
},
"value": "avalanche"
},
{
"arguments": [
{
"hexValue": "4176616c616e636865",
"id": 4435,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9486:11:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_6585177c3aba6cb7ffc0a37e831a958c4ee9278e4c62c7bdad7175ca09883c40",
"typeString": "literal_string \"Avalanche\""
},
"value": "Avalanche"
},
{
"hexValue": "3433313134",
"id": 4436,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9499:5:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_43114_by_1",
"typeString": "int_const 43114"
},
"value": "43114"
},
{
"hexValue": "68747470733a2f2f6170692e617661782e6e6574776f726b2f6578742f62632f432f727063",
"id": 4437,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9506:39:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_429365eac47ed6b261c38927d854e528b743fc5a678b1b4ba631c511f305886a",
"typeString": "literal_string \"https://api.avax.network/ext/bc/C/rpc\""
},
"value": "https://api.avax.network/ext/bc/C/rpc"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_6585177c3aba6cb7ffc0a37e831a958c4ee9278e4c62c7bdad7175ca09883c40",
"typeString": "literal_string \"Avalanche\""
},
{
"typeIdentifier": "t_rational_43114_by_1",
"typeString": "int_const 43114"
},
{
"typeIdentifier": "t_stringliteral_429365eac47ed6b261c38927d854e528b743fc5a678b1b4ba631c511f305886a",
"typeString": "literal_string \"https://api.avax.network/ext/bc/C/rpc\""
}
],
"id": 4434,
"name": "ChainData",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3854,
"src": "9476:9:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_ChainData_$3854_storage_ptr_$",
"typeString": "type(struct StdChains.ChainData storage pointer)"
}
},
"id": 4438,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "structConstructorCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "9476:70:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_6e8b0d92516ee4289145e3b78cea58daac177b1c618beeedbc6cdabd388a6e55",
"typeString": "literal_string \"avalanche\""
},
{
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
],
"id": 4432,
"name": "setChainWithDefaultRpcUrl",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4515,
"src": "9437:25:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3854_memory_ptr_$returns$__$",
"typeString": "function (string memory,struct StdChains.ChainData memory)"
}
},
"id": 4439,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "9437:110:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 4440,
"nodeType": "ExpressionStatement",
"src": "9437:110:4"
},
{
"expression": {
"arguments": [
{
"hexValue": "6176616c616e6368655f66756a69",
"id": 4442,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9596:16:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_a1920d2f80060f1c83444622c7eb5adf4484bed8a537b8d13eae53bd800aa692",
"typeString": "literal_string \"avalanche_fuji\""
},
"value": "avalanche_fuji"
},
{
"arguments": [
{
"hexValue": "4176616c616e6368652046756a69",
"id": 4444,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9624:16:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_522b176494c651b1a4c5779e66ed19f885df62891abfb18fd5e45b69bdabe11b",
"typeString": "literal_string \"Avalanche Fuji\""
},
"value": "Avalanche Fuji"
},
{
"hexValue": "3433313133",
"id": 4445,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9642:5:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_43113_by_1",
"typeString": "int_const 43113"
},
"value": "43113"
},
{
"hexValue": "68747470733a2f2f6170692e617661782d746573742e6e6574776f726b2f6578742f62632f432f727063",
"id": 4446,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9649:44:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_d6621ea822eabf6c190358ea82de0c52d3503dcce8117b3366a8a3bd96eb422d",
"typeString": "literal_string \"https://api.avax-test.network/ext/bc/C/rpc\""
},
"value": "https://api.avax-test.network/ext/bc/C/rpc"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_522b176494c651b1a4c5779e66ed19f885df62891abfb18fd5e45b69bdabe11b",
"typeString": "literal_string \"Avalanche Fuji\""
},
{
"typeIdentifier": "t_rational_43113_by_1",
"typeString": "int_const 43113"
},
{
"typeIdentifier": "t_stringliteral_d6621ea822eabf6c190358ea82de0c52d3503dcce8117b3366a8a3bd96eb422d",
"typeString": "literal_string \"https://api.avax-test.network/ext/bc/C/rpc\""
}
],
"id": 4443,
"name": "ChainData",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3854,
"src": "9614:9:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_ChainData_$3854_storage_ptr_$",
"typeString": "type(struct StdChains.ChainData storage pointer)"
}
},
"id": 4447,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "structConstructorCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "9614:80:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_a1920d2f80060f1c83444622c7eb5adf4484bed8a537b8d13eae53bd800aa692",
"typeString": "literal_string \"avalanche_fuji\""
},
{
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
],
"id": 4441,
"name": "setChainWithDefaultRpcUrl",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4515,
"src": "9557:25:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3854_memory_ptr_$returns$__$",
"typeString": "function (string memory,struct StdChains.ChainData memory)"
}
},
"id": 4448,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "9557:147:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 4449,
"nodeType": "ExpressionStatement",
"src": "9557:147:4"
},
{
"expression": {
"arguments": [
{
"hexValue": "626e625f736d6172745f636861696e",
"id": 4451,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9753:17:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_fa8b17ae9aa26749f5dc3a3bb333e0019db0c257f3541e870f73bb48b574361e",
"typeString": "literal_string \"bnb_smart_chain\""
},
"value": "bnb_smart_chain"
},
{
"arguments": [
{
"hexValue": "424e4220536d61727420436861696e",
"id": 4453,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9782:17:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_3606544ee65d30d7c7f7d6a1f6618e0d836299fa5b85b88d71a59535c6a1550f",
"typeString": "literal_string \"BNB Smart Chain\""
},
"value": "BNB Smart Chain"
},
{
"hexValue": "3536",
"id": 4454,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9801:2:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_56_by_1",
"typeString": "int_const 56"
},
"value": "56"
},
{
"hexValue": "68747470733a2f2f6273632d6461746173656564312e62696e616e63652e6f7267",
"id": 4455,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9805:35:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_e2b4215bd50ab260c8c9f18e36ea07b1f952450853bcf024123d5767a40d4719",
"typeString": "literal_string \"https://bsc-dataseed1.binance.org\""
},
"value": "https://bsc-dataseed1.binance.org"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_3606544ee65d30d7c7f7d6a1f6618e0d836299fa5b85b88d71a59535c6a1550f",
"typeString": "literal_string \"BNB Smart Chain\""
},
{
"typeIdentifier": "t_rational_56_by_1",
"typeString": "int_const 56"
},
{
"typeIdentifier": "t_stringliteral_e2b4215bd50ab260c8c9f18e36ea07b1f952450853bcf024123d5767a40d4719",
"typeString": "literal_string \"https://bsc-dataseed1.binance.org\""
}
],
"id": 4452,
"name": "ChainData",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3854,
"src": "9772:9:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_ChainData_$3854_storage_ptr_$",
"typeString": "type(struct StdChains.ChainData storage pointer)"
}
},
"id": 4456,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "structConstructorCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "9772:69:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_fa8b17ae9aa26749f5dc3a3bb333e0019db0c257f3541e870f73bb48b574361e",
"typeString": "literal_string \"bnb_smart_chain\""
},
{
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
],
"id": 4450,
"name": "setChainWithDefaultRpcUrl",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4515,
"src": "9714:25:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3854_memory_ptr_$returns$__$",
"typeString": "function (string memory,struct StdChains.ChainData memory)"
}
},
"id": 4457,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "9714:137:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 4458,
"nodeType": "ExpressionStatement",
"src": "9714:137:4"
},
{
"expression": {
"arguments": [
{
"hexValue": "626e625f736d6172745f636861696e5f746573746e6574",
"id": 4460,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9900:25:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_1813de9892ab9db3d0c3b0c3eed9c8b820fe0c7e205bed860e6e89f4d7f75f29",
"typeString": "literal_string \"bnb_smart_chain_testnet\""
},
"value": "bnb_smart_chain_testnet"
},
{
"arguments": [
{
"hexValue": "424e4220536d61727420436861696e20546573746e6574",
"id": 4462,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9949:25:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_3b1d88342c4ab079c9a8243ef8dfeb0bb41e1da5dc9fe62ca728dfe4ea21092c",
"typeString": "literal_string \"BNB Smart Chain Testnet\""
},
"value": "BNB Smart Chain Testnet"
},
{
"hexValue": "3937",
"id": 4463,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9976:2:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_97_by_1",
"typeString": "int_const 97"
},
"value": "97"
},
{
"hexValue": "68747470733a2f2f7270632e616e6b722e636f6d2f6273635f746573746e65745f63686170656c",
"id": 4464,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "9980:41:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_6660930de41ed298fb6a2348f33b08e5736a3823e6ffb86942097b237e075960",
"typeString": "literal_string \"https://rpc.ankr.com/bsc_testnet_chapel\""
},
"value": "https://rpc.ankr.com/bsc_testnet_chapel"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_3b1d88342c4ab079c9a8243ef8dfeb0bb41e1da5dc9fe62ca728dfe4ea21092c",
"typeString": "literal_string \"BNB Smart Chain Testnet\""
},
{
"typeIdentifier": "t_rational_97_by_1",
"typeString": "int_const 97"
},
{
"typeIdentifier": "t_stringliteral_6660930de41ed298fb6a2348f33b08e5736a3823e6ffb86942097b237e075960",
"typeString": "literal_string \"https://rpc.ankr.com/bsc_testnet_chapel\""
}
],
"id": 4461,
"name": "ChainData",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3854,
"src": "9939:9:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_ChainData_$3854_storage_ptr_$",
"typeString": "type(struct StdChains.ChainData storage pointer)"
}
},
"id": 4465,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "structConstructorCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "9939:83:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_1813de9892ab9db3d0c3b0c3eed9c8b820fe0c7e205bed860e6e89f4d7f75f29",
"typeString": "literal_string \"bnb_smart_chain_testnet\""
},
{
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
],
"id": 4459,
"name": "setChainWithDefaultRpcUrl",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4515,
"src": "9861:25:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3854_memory_ptr_$returns$__$",
"typeString": "function (string memory,struct StdChains.ChainData memory)"
}
},
"id": 4466,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "9861:171:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 4467,
"nodeType": "ExpressionStatement",
"src": "9861:171:4"
},
{
"expression": {
"arguments": [
{
"hexValue": "676e6f7369735f636861696e",
"id": 4469,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "10068:14:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_847b7ed4df59b2dfcdba377bf4ac481c502926169e9af948ee2dd45c0e6df595",
"typeString": "literal_string \"gnosis_chain\""
},
"value": "gnosis_chain"
},
{
"arguments": [
{
"hexValue": "476e6f73697320436861696e",
"id": 4471,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "10094:14:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_9bfc6ae4a1f5d8ea33b4f631c2f7dfbfa7d613af42ef38137c06d4cd03619b02",
"typeString": "literal_string \"Gnosis Chain\""
},
"value": "Gnosis Chain"
},
{
"hexValue": "313030",
"id": 4472,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "10110:3:4",
"typeDescriptions": {
"typeIdentifier": "t_rational_100_by_1",
"typeString": "int_const 100"
},
"value": "100"
},
{
"hexValue": "68747470733a2f2f7270632e676e6f736973636861696e2e636f6d",
"id": 4473,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "10115:29:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_127e02590d58e22164456f76136047039faabc2ca27eb41939081a3e775b50df",
"typeString": "literal_string \"https://rpc.gnosischain.com\""
},
"value": "https://rpc.gnosischain.com"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_9bfc6ae4a1f5d8ea33b4f631c2f7dfbfa7d613af42ef38137c06d4cd03619b02",
"typeString": "literal_string \"Gnosis Chain\""
},
{
"typeIdentifier": "t_rational_100_by_1",
"typeString": "int_const 100"
},
{
"typeIdentifier": "t_stringliteral_127e02590d58e22164456f76136047039faabc2ca27eb41939081a3e775b50df",
"typeString": "literal_string \"https://rpc.gnosischain.com\""
}
],
"id": 4470,
"name": "ChainData",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3854,
"src": "10084:9:4",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_struct$_ChainData_$3854_storage_ptr_$",
"typeString": "type(struct StdChains.ChainData storage pointer)"
}
},
"id": 4474,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "structConstructorCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "10084:61:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_847b7ed4df59b2dfcdba377bf4ac481c502926169e9af948ee2dd45c0e6df595",
"typeString": "literal_string \"gnosis_chain\""
},
{
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
],
"id": 4468,
"name": "setChainWithDefaultRpcUrl",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4515,
"src": "10042:25:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3854_memory_ptr_$returns$__$",
"typeString": "function (string memory,struct StdChains.ChainData memory)"
}
},
"id": 4475,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "10042:104:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 4476,
"nodeType": "ExpressionStatement",
"src": "10042:104:4"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "initializeStdChains",
"nameLocation": "7785:19:4",
"parameters": {
"id": 4324,
"nodeType": "ParameterList",
"parameters": [],
"src": "7804:2:4"
},
"returnParameters": {
"id": 4325,
"nodeType": "ParameterList",
"parameters": [],
"src": "7815:0:4"
},
"scope": 4516,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "private"
},
{
"id": 4515,
"nodeType": "FunctionDefinition",
"src": "10235:305:4",
"nodes": [],
"body": {
"id": 4514,
"nodeType": "Block",
"src": "10328:212:4",
"nodes": [],
"statements": [
{
"assignments": [
4487
],
"declarations": [
{
"constant": false,
"id": 4487,
"mutability": "mutable",
"name": "rpcUrl",
"nameLocation": "10352:6:4",
"nodeType": "VariableDeclaration",
"scope": 4514,
"src": "10338:20:4",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 4486,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "10338:6:4",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
}
],
"id": 4490,
"initialValue": {
"expression": {
"id": 4488,
"name": "chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4483,
"src": "10361:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
},
"id": 4489,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberLocation": "10367:6:4",
"memberName": "rpcUrl",
"nodeType": "MemberAccess",
"referencedDeclaration": 3853,
"src": "10361:12:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "10338:35:4"
},
{
"expression": {
"id": 4495,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"baseExpression": {
"id": 4491,
"name": "defaultRpcUrls",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3872,
"src": "10383:14:4",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_string_storage_$",
"typeString": "mapping(string memory => string storage ref)"
}
},
"id": 4493,
"indexExpression": {
"id": 4492,
"name": "chainAlias",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4480,
"src": "10398:10:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"nodeType": "IndexAccess",
"src": "10383:26:4",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 4494,
"name": "rpcUrl",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4487,
"src": "10412:6:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "10383:35:4",
"typeDescriptions": {
"typeIdentifier": "t_string_storage",
"typeString": "string storage ref"
}
},
"id": 4496,
"nodeType": "ExpressionStatement",
"src": "10383:35:4"
},
{
"expression": {
"id": 4501,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"expression": {
"id": 4497,
"name": "chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4483,
"src": "10428:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
},
"id": 4499,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"memberLocation": "10434:6:4",
"memberName": "rpcUrl",
"nodeType": "MemberAccess",
"referencedDeclaration": 3853,
"src": "10428:12:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"hexValue": "",
"id": 4500,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "10443:2:4",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
"typeString": "literal_string \"\""
},
"value": ""
},
"src": "10428:17:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 4502,
"nodeType": "ExpressionStatement",
"src": "10428:17:4"
},
{
"expression": {
"arguments": [
{
"id": 4504,
"name": "chainAlias",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4480,
"src": "10464:10:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
{
"id": 4505,
"name": "chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4483,
"src": "10476:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
},
{
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
],
"id": 4503,
"name": "setChain",
"nodeType": "Identifier",
"overloadedDeclarations": [
4098,
4119
],
"referencedDeclaration": 4098,
"src": "10455:8:4",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_struct$_ChainData_$3854_memory_ptr_$returns$__$",
"typeString": "function (string memory,struct StdChains.ChainData memory)"
}
},
"id": 4506,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "10455:27:4",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 4507,
"nodeType": "ExpressionStatement",
"src": "10455:27:4"
},
{
"expression": {
"id": 4512,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"expression": {
"id": 4508,
"name": "chain",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4483,
"src": "10492:5:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData memory"
}
},
"id": 4510,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": true,
"memberLocation": "10498:6:4",
"memberName": "rpcUrl",
"nodeType": "MemberAccess",
"referencedDeclaration": 3853,
"src": "10492:12:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 4511,
"name": "rpcUrl",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4487,
"src": "10507:6:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"src": "10492:21:4",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string memory"
}
},
"id": 4513,
"nodeType": "ExpressionStatement",
"src": "10492:21:4"
}
]
},
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "setChainWithDefaultRpcUrl",
"nameLocation": "10244:25:4",
"parameters": {
"id": 4484,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4480,
"mutability": "mutable",
"name": "chainAlias",
"nameLocation": "10284:10:4",
"nodeType": "VariableDeclaration",
"scope": 4515,
"src": "10270:24:4",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 4479,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "10270:6:4",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 4483,
"mutability": "mutable",
"name": "chain",
"nameLocation": "10313:5:4",
"nodeType": "VariableDeclaration",
"scope": 4515,
"src": "10296:22:4",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_struct$_ChainData_$3854_memory_ptr",
"typeString": "struct StdChains.ChainData"
},
"typeName": {
"id": 4482,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 4481,
"name": "ChainData",
"nameLocations": [
"10296:9:4"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 3854,
"src": "10296:9:4"
},
"referencedDeclaration": 3854,
"src": "10296:9:4",
"typeDescriptions": {
"typeIdentifier": "t_struct$_ChainData_$3854_storage_ptr",
"typeString": "struct StdChains.ChainData"
}
},
"visibility": "internal"
}
],
"src": "10269:50:4"
},
"returnParameters": {
"id": 4485,
"nodeType": "ParameterList",
"parameters": [],
"src": "10328:0:4"
},
"scope": 4516,
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "private"
}
],
"abstract": true,
"baseContracts": [],
"canonicalName": "StdChains",
"contractDependencies": [],
"contractKind": "contract",
"documentation": {
"id": 3828,
"nodeType": "StructuredDocumentation",
"src": "99:1799:4",
"text": " StdChains provides information about EVM compatible chains that can be used in scripts/tests.\n For each chain, the chain's name, chain ID, and a default RPC URL are provided. Chains are\n identified by their alias, which is the same as the alias in the `[rpc_endpoints]` section of\n the `foundry.toml` file. For best UX, ensure the alias in the `foundry.toml` file match the\n alias used in this contract, which can be found as the first argument to the\n `setChainWithDefaultRpcUrl` call in the `initializeStdChains` function.\n There are two main ways to use this contract:\n 1. Set a chain with `setChain(string memory chainAlias, ChainData memory chain)` or\n `setChain(string memory chainAlias, Chain memory chain)`\n 2. Get a chain with `getChain(string memory chainAlias)` or `getChain(uint256 chainId)`.\n The first time either of those are used, chains are initialized with the default set of RPC URLs.\n This is done in `initializeStdChains`, which uses `setChainWithDefaultRpcUrl`. Defaults are recorded in\n `defaultRpcUrls`.\n The `setChain` function is straightforward, and it simply saves off the given chain data.\n The `getChain` methods use `getChainWithUpdatedRpcUrl` to return a chain. For example, let's say\n we want to retrieve the RPC URL for `mainnet`:\n - If you have specified data with `setChain`, it will return that.\n - If you have configured a mainnet RPC URL in `foundry.toml`, it will return the URL, provided it\n is valid (e.g. a URL is specified, or an environment variable is given and exists).\n - If neither of the above conditions is met, the default data is returned.\n Summarizing the above, the prioritization hierarchy is `setChain` -> `foundry.toml` -> environment variable -> defaults."
},
"fullyImplemented": true,
"linearizedBaseContracts": [
4516
],
"name": "StdChains",
"nameLocation": "1917:9:4",
"scope": 4517,
"usedErrors": [],
"usedEvents": []
}
],
"license": "MIT"
},
"id": 4
}