{
  "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
}