{
    "contractName": "RegistryHelperUniswapV2",
    "abi": [
        {
            "inputs": [
                {
                    "internalType": "contract IUniswapV2Factory",
                    "name": "factory",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "offset",
                    "type": "uint256"
                },
                {
                    "internalType": "uint256",
                    "name": "limit",
                    "type": "uint256"
                }
            ],
            "name": "findPairs",
            "outputs": [
                {
                    "components": [
                        {
                            "internalType": "contract IUniswapV2Pair",
                            "name": "pair",
                            "type": "address"
                        },
                        {
                            "internalType": "address",
                            "name": "token0",
                            "type": "address"
                        },
                        {
                            "internalType": "address",
                            "name": "token1",
                            "type": "address"
                        },
                        {
                            "components": [
                                {
                                    "internalType": "uint256",
                                    "name": "reserve0",
                                    "type": "uint256"
                                },
                                {
                                    "internalType": "uint256",
                                    "name": "reserve1",
                                    "type": "uint256"
                                }
                            ],
                            "internalType": "struct RegistryHelperUniswapV2.PairState",
                            "name": "state",
                            "type": "tuple"
                        }
                    ],
                    "internalType": "struct RegistryHelperUniswapV2.PairInfo[]",
                    "name": "result",
                    "type": "tuple[]"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "contract IUniswapV2Pair[]",
                    "name": "pairs",
                    "type": "address[]"
                }
            ],
            "name": "refreshPairs",
            "outputs": [
                {
                    "components": [
                        {
                            "internalType": "uint256",
                            "name": "reserve0",
                            "type": "uint256"
                        },
                        {
                            "internalType": "uint256",
                            "name": "reserve1",
                            "type": "uint256"
                        }
                    ],
                    "internalType": "struct RegistryHelperUniswapV2.PairState[]",
                    "name": "result",
                    "type": "tuple[]"
                }
            ],
            "stateMutability": "view",
            "type": "function"
        }
    ],
    "metadata": "{\"compiler\":{\"version\":\"0.6.8+commit.0bbfe453\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IUniswapV2Factory\",\"name\":\"factory\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"findPairs\",\"outputs\":[{\"components\":[{\"internalType\":\"contract IUniswapV2Pair\",\"name\":\"pair\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token1\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"reserve0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserve1\",\"type\":\"uint256\"}],\"internalType\":\"struct RegistryHelperUniswapV2.PairState\",\"name\":\"state\",\"type\":\"tuple\"}],\"internalType\":\"struct RegistryHelperUniswapV2.PairInfo[]\",\"name\":\"result\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IUniswapV2Pair[]\",\"name\":\"pairs\",\"type\":\"address[]\"}],\"name\":\"refreshPairs\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"reserve0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reserve1\",\"type\":\"uint256\"}],\"internalType\":\"struct RegistryHelperUniswapV2.PairState[]\",\"name\":\"result\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"project:/contracts/swappa/RegistryHelperUniswapV2.sol\":\"RegistryHelperUniswapV2\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"project:/contracts/interfaces/uniswap/IUniswapV2Factory.sol\":{\"keccak256\":\"0x079c01d23dd481b8838440aee8adbd41a111ddc74bd78d4e66c52ad113eb1f77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ca77fb765c2d772ef5d4863d86fb15a84be0df31819fe1c4b20f1788fdd1fc3\",\"dweb:/ipfs/QmcwHRqTPVMtWcKobvT9xm72eQ36ryrJ2c66fts5io5prY\"]},\"project:/contracts/interfaces/uniswap/IUniswapV2Pair.sol\":{\"keccak256\":\"0xe89bf881b5677223429ad431a0e9b4028fedae3b10bc6e1581daa0b8a8a8b9b0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://83939573d0b85183a7c5fa6406581e396a5d9ad30758ba776294a0b33fa7a8e5\",\"dweb:/ipfs/QmQci9HzqXcMTSHDBjp9ZEVUfwcJdHaE63Pzafux7Vp61Y\"]},\"project:/contracts/swappa/RegistryHelperUniswapV2.sol\":{\"keccak256\":\"0xe0e6759973e280eb078d7e94b26ae138d60336a8e38e1b33deb228f28059f07b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7bbf0085f934aff436fdedaa9f8a41702bf1f5eb6930964d2abf6b7317c77986\",\"dweb:/ipfs/QmRTEfkx6MHpiGDpZYczNM7p1HRcvZ618c6qe2edFtdy8z\"]}},\"version\":1}",
    "bytecode": "0x608060405234801561001057600080fd5b506108d0806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321e5656e1461003b57806341d8210514610064575b600080fd5b61004e6100493660046106ba565b610084565b60405161005b9190610785565b60405180910390f35b61007761007236600461064e565b610486565b60405161005b9190610810565b606060008473ffffffffffffffffffffffffffffffffffffffff1663574f2ba36040518163ffffffff1660e01b815260040160206040518083038186803b1580156100ce57600080fd5b505afa1580156100e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610106919061075e565b905082840181111561011b5750828201610129565b83811015610129575061047f565b83810367ffffffffffffffff8111801561014257600080fd5b5060405190808252806020026020018201604052801561017c57816020015b6101696105ea565b8152602001906001900390816101615790505b509150835b8181101561047c576040517f1e3dd18b00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff881690631e3dd18b906101de908590600401610850565b60206040518083038186803b1580156101f657600080fd5b505afa15801561020a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061022e9190610632565b905060008173ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561027857600080fd5b505afa15801561028c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b09190610632565b905060008273ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156102fa57600080fd5b505afa15801561030e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103329190610632565b90506000808473ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561037d57600080fd5b505afa158015610391573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b5919061070a565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff16915060405180608001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff168152602001604051806040016040528085815260200184815250815250888b88038151811061045f57fe5b602002602001018190525050505050508080600101915050610181565b50505b9392505050565b60608167ffffffffffffffff8111801561049f57600080fd5b506040519080825280602002602001820160405280156104d957816020015b6104c6610618565b8152602001906001900390816104be5790505b50905060005b828110156105e3576000808585848181106104f657fe5b905060200201602081019061050b91906106ee565b73ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561055057600080fd5b505afa158015610564573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610588919061070a565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691506040518060400160405280838152602001828152508484815181106105ce57fe5b602090810291909101015250506001016104df565b5092915050565b604080516080810182526000808252602082018190529181019190915260608101610613610618565b905290565b604051806040016040528060008152602001600081525090565b600060208284031215610643578081fd5b815161047f81610859565b60008060208385031215610660578081fd5b823567ffffffffffffffff80821115610677578283fd5b81850186601f820112610688578384fd5b8035925081831115610698578384fd5b86602080850283010111156106ab578384fd5b60200196919550909350505050565b6000806000606084860312156106ce578081fd5b83356106d981610859565b95602085013595506040909401359392505050565b6000602082840312156106ff578081fd5b813561047f81610859565b60008060006060848603121561071e578283fd5b83516107298161087e565b602085015190935061073a8161087e565b604085015190925063ffffffff81168114610753578182fd5b809150509250925092565b60006020828403121561076f578081fd5b5051919050565b80518252602090810151910152565b602080825282518282018190526000919060409081850190868401855b82811015610803578151805173ffffffffffffffffffffffffffffffffffffffff9081168652878201518116888701528682015116868601526060808201516107ed82880182610776565b50505060a09390930192908501906001016107a2565b5091979650505050505050565b602080825282518282018190526000919060409081850190868401855b8281101561080357610840848351610776565b928401929085019060010161082d565b90815260200190565b73ffffffffffffffffffffffffffffffffffffffff8116811461087b57600080fd5b50565b6dffffffffffffffffffffffffffff8116811461087b57600080fdfea26469706673582212208869dd969ded2c0c5a1bf4a5163a1071bf42cde57bbb23c5ffe1bce775c81d3264736f6c63430006080033",
    "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c806321e5656e1461003b57806341d8210514610064575b600080fd5b61004e6100493660046106ba565b610084565b60405161005b9190610785565b60405180910390f35b61007761007236600461064e565b610486565b60405161005b9190610810565b606060008473ffffffffffffffffffffffffffffffffffffffff1663574f2ba36040518163ffffffff1660e01b815260040160206040518083038186803b1580156100ce57600080fd5b505afa1580156100e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610106919061075e565b905082840181111561011b5750828201610129565b83811015610129575061047f565b83810367ffffffffffffffff8111801561014257600080fd5b5060405190808252806020026020018201604052801561017c57816020015b6101696105ea565b8152602001906001900390816101615790505b509150835b8181101561047c576040517f1e3dd18b00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff881690631e3dd18b906101de908590600401610850565b60206040518083038186803b1580156101f657600080fd5b505afa15801561020a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061022e9190610632565b905060008173ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561027857600080fd5b505afa15801561028c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b09190610632565b905060008273ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156102fa57600080fd5b505afa15801561030e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103329190610632565b90506000808473ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561037d57600080fd5b505afa158015610391573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b5919061070a565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff16915060405180608001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff168152602001604051806040016040528085815260200184815250815250888b88038151811061045f57fe5b602002602001018190525050505050508080600101915050610181565b50505b9392505050565b60608167ffffffffffffffff8111801561049f57600080fd5b506040519080825280602002602001820160405280156104d957816020015b6104c6610618565b8152602001906001900390816104be5790505b50905060005b828110156105e3576000808585848181106104f657fe5b905060200201602081019061050b91906106ee565b73ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561055057600080fd5b505afa158015610564573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610588919061070a565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691506040518060400160405280838152602001828152508484815181106105ce57fe5b602090810291909101015250506001016104df565b5092915050565b604080516080810182526000808252602082018190529181019190915260608101610613610618565b905290565b604051806040016040528060008152602001600081525090565b600060208284031215610643578081fd5b815161047f81610859565b60008060208385031215610660578081fd5b823567ffffffffffffffff80821115610677578283fd5b81850186601f820112610688578384fd5b8035925081831115610698578384fd5b86602080850283010111156106ab578384fd5b60200196919550909350505050565b6000806000606084860312156106ce578081fd5b83356106d981610859565b95602085013595506040909401359392505050565b6000602082840312156106ff578081fd5b813561047f81610859565b60008060006060848603121561071e578283fd5b83516107298161087e565b602085015190935061073a8161087e565b604085015190925063ffffffff81168114610753578182fd5b809150509250925092565b60006020828403121561076f578081fd5b5051919050565b80518252602090810151910152565b602080825282518282018190526000919060409081850190868401855b82811015610803578151805173ffffffffffffffffffffffffffffffffffffffff9081168652878201518116888701528682015116868601526060808201516107ed82880182610776565b50505060a09390930192908501906001016107a2565b5091979650505050505050565b602080825282518282018190526000919060409081850190868401855b8281101561080357610840848351610776565b928401929085019060010161082d565b90815260200190565b73ffffffffffffffffffffffffffffffffffffffff8116811461087b57600080fd5b50565b6dffffffffffffffffffffffffffff8116811461087b57600080fdfea26469706673582212208869dd969ded2c0c5a1bf4a5163a1071bf42cde57bbb23c5ffe1bce775c81d3264736f6c63430006080033",
    "immutableReferences": {},
    "sourceMap": "196:1632:60:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;196:1632:60;;;;;;;",
    "deployedSourceMap": "196:1632:60:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;196:1632:60;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;443:1017:60;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;1466:360;;;;;;;;;:::i;:::-;;;;;;;;443:1017;567:24;603:17;623:7;:22;;;:24;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;623:24:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;623:24:60;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;623:24:60;;;;;;;;;603:44;;686:5;677:6;:14;662:12;:29;658:249;;;-1:-1:-1;772:14:60;;;658:249;;;822:6;807:12;:21;803:104;;;-1:-1:-1;883:13:60;;803:104;1044:6;1029:12;:21;1014:37;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1014:37:60;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;1005:46:60;-1:-1:-1;1075:6:60;1061:393;1087:12;1083:1;:16;1061:393;;;1160:19;;;;;1120:22;;1160:16;;;;;;:19;;1177:1;;1160:19;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1160:19:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1160:19:60;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;1160:19:60;;;;;;;;;1120:60;;1194:14;1211:7;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1211:16:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1211:16:60;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;1211:16:60;;;;;;;;;1194:33;;1241:14;1258:7;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1258:16:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1258:16:60;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;1258:16:60;;;;;;;;;1241:33;;1289:13;1304;1323:7;:19;;;:21;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1323:21:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1323:21:60;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;1323:21:60;;;;;;;;;1288:56;;;;;;;;;1379:64;;;;;;;;1388:7;1379:64;;;;;;1397:6;1379:64;;;;;;1405:6;1379:64;;;;;;1413:29;;;;;;;;1423:8;1413:29;;;;1433:8;1413:29;;;1379:64;;;1358:6;1369;1365:1;:10;1358:18;;;;;;;;;;;;;:85;;;;1061:393;;;;;1101:3;;;;;;;1061:393;;;;443:1017;;;;;;;:::o;1466:360::-;1558:25;1620:5;1604:29;;;2:2:-1;;;;27:1;24;17:12;2:2;1604:29:60;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;1595:38:60;-1:-1:-1;1648:6:60;1643:177;1660:16;;;1643:177;;;1698:13;1713;1732:5;;1738:1;1732:8;;;;;;;;;;;;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;1732:22:60;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1732:22:60;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;1732:22:60;;;;;;;;;1697:57;;;;;;;;;1780:29;;;;;;;;1790:8;1780:29;;;;1800:8;1780:29;;;1768:6;1775:1;1768:9;;;;;;;;;;;;;;;;;:41;-1:-1:-1;;1678:3:60;;1643:177;;;;1466:360;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;1493:263::-;;1608:2;1596:9;1587:7;1583:23;1579:32;1576:2;;;-1:-1;;1614:12;1576:2;89:6;83:13;101:33;128:5;101:33;;1763:443;;;1925:2;1913:9;1904:7;1900:23;1896:32;1893:2;;;-1:-1;;1931:12;1893:2;1989:17;1976:31;2027:18;;2019:6;2016:30;2013:2;;;-1:-1;;2049:12;2013:2;2173:6;2162:9;2158:22;333:3;326:4;318:6;314:17;310:27;300:2;;-1:-1;;341:12;300:2;384:6;371:20;361:30;;2027:18;403:6;400:30;397:2;;;-1:-1;;433:12;397:2;528:3;1925:2;;512:6;508:17;469:6;494:32;;491:41;488:2;;;-1:-1;;535:12;488:2;1925;465:17;;2077:113;;-1:-1;1887:319;;-1:-1;;;;1887:319;2213:543;;;;2377:2;2365:9;2356:7;2352:23;2348:32;2345:2;;;-1:-1;;2383:12;2345:2;669:6;656:20;681:59;734:5;681:59;;;2435:89;2561:2;2600:22;;1143:20;;-1:-1;2669:2;2708:22;;;1143:20;;2339:417;-1:-1;;;2339:417;2763:287;;2890:2;2878:9;2869:7;2865:23;2861:32;2858:2;;;-1:-1;;2896:12;2858:2;855:6;842:20;867:56;917:5;867:56;;3057:533;;;;3205:2;3193:9;3184:7;3180:23;3176:32;3173:2;;;-1:-1;;3211:12;3173:2;1019:6;1013:13;1031:33;1058:5;1031:33;;;3374:2;3424:22;;1013:13;3263:74;;-1:-1;1031:33;1013:13;1031:33;;;3493:2;3542:22;;1431:13;3382:74;;-1:-1;11847:10;11836:22;;12958:34;;12948:2;;-1:-1;;12996:12;12948:2;3501:73;;;;3167:423;;;;;;3597:263;;3712:2;3700:9;3691:7;3687:23;3683:32;3680:2;;;-1:-1;;3718:12;3680:2;-1:-1;1291:13;;3674:186;-1:-1;3674:186;7779:478;7986:23;;8325:37;;8161:4;8150:16;;;8144:23;8221:14;;8325:37;7889:368;8494:474;8723:2;8737:47;;;10187:12;;8708:18;;;10827:19;;;8494:474;;8723:2;10867:14;;;;;;9830;;;8494:474;5186:338;5211:6;5208:1;5205:13;5186:338;;;5272:13;;7024:23;;11641:42;11630:54;;;6649:73;;7209:16;;;7203:23;11630:54;;7280:14;;;4504:37;7365:16;;;7359:23;11630:54;7436:14;;;4504:37;7531:4;7520:16;;;7514:23;7543:117;7645:14;;;7514:23;7543:117;;;-1:-1;;;4134:4;4125:14;;;;;10514;;;;5233:1;5226:9;5186:338;;;-1:-1;8790:168;;8694:274;-1:-1;;;;;;;8694:274;8975:478;9206:2;9220:47;;;10187:12;;9191:18;;;10827:19;;;8975:478;;9206:2;10867:14;;;;;;9830;;;8975:478;6194:341;6219:6;6216:1;6213:13;6194:341;;;4295:100;4391:3;6286:6;6280:13;4295:100;;;4415:14;;;;10514;;;;6241:1;6234:9;6194:341;;9460:222;8325:37;;;9587:2;9572:18;;9558:124;12182:117;11641:42;12269:5;11630:54;12244:5;12241:35;12231:2;;12290:1;;12280:12;12231:2;12225:74;;12652:117;11525:30;12739:5;11514:42;12714:5;12711:35;12701:2;;12760:1;;12750:12",
    "source": "// SPDX-License-Identifier: MIT\npragma solidity 0.6.8;\npragma experimental ABIEncoderV2;\n\nimport \"../interfaces/uniswap/IUniswapV2Pair.sol\";\nimport \"../interfaces/uniswap/IUniswapV2Factory.sol\";\n\ncontract RegistryHelperUniswapV2 {\n\n    struct PairState {\n        uint reserve0;\n        uint reserve1;\n    }\n\n    struct PairInfo {\n        IUniswapV2Pair pair;\n        address token0;\n        address token1;\n        PairState state;\n    }\n\n    function findPairs(\n        IUniswapV2Factory factory,\n        uint offset,\n        uint limit\n    ) external view returns (PairInfo[] memory result) {\n        uint allPairsUpTo = factory.allPairsLength();\n\n        if (allPairsUpTo > offset + limit) {\n            // limit the number of pairs returned\n            allPairsUpTo = offset + limit;\n        } else if (allPairsUpTo < offset) {\n            // there are no more pairs\n            return result;\n        }\n\n        // allocate a buffer array with the upper bound of the number of pairs returned\n        result = new PairInfo[](allPairsUpTo - offset);\n        for (uint i = offset; i < allPairsUpTo; i++) {\n            IUniswapV2Pair uniPair = IUniswapV2Pair(factory.allPairs(i));\n            address token0 = uniPair.token0();\n            address token1 = uniPair.token1();\n            (uint reserve0, uint reserve1, ) = uniPair.getReserves();\n            result[i - offset] = PairInfo(uniPair, token0, token1, PairState(reserve0, reserve1));\n        }\n    }\n\n    function refreshPairs(\n        IUniswapV2Pair[] calldata pairs\n    ) external view returns (PairState[] memory result) {\n        result = new PairState[](pairs.length);\n        for (uint i = 0; i < pairs.length; i++) {\n            (uint reserve0, uint reserve1, ) = pairs[i].getReserves();\n            result[i] = PairState(reserve0, reserve1);\n        }\n    }\n}\n",
    "sourcePath": "/home/thezviad_gmail_com/src/swappa/contracts/swappa/RegistryHelperUniswapV2.sol",
    "ast": {
        "absolutePath": "project:/contracts/swappa/RegistryHelperUniswapV2.sol",
        "exportedSymbols": {
            "RegistryHelperUniswapV2": [
                8044
            ]
        },
        "id": 8045,
        "license": "MIT",
        "nodeType": "SourceUnit",
        "nodes": [
            {
                "id": 7869,
                "literals": [
                    "solidity",
                    "0.6",
                    ".8"
                ],
                "nodeType": "PragmaDirective",
                "src": "32:22:60"
            },
            {
                "id": 7870,
                "literals": [
                    "experimental",
                    "ABIEncoderV2"
                ],
                "nodeType": "PragmaDirective",
                "src": "55:33:60"
            },
            {
                "absolutePath": "project:/contracts/interfaces/uniswap/IUniswapV2Pair.sol",
                "file": "../interfaces/uniswap/IUniswapV2Pair.sol",
                "id": 7871,
                "nodeType": "ImportDirective",
                "scope": 8045,
                "sourceUnit": 2706,
                "src": "90:50:60",
                "symbolAliases": [],
                "unitAlias": ""
            },
            {
                "absolutePath": "project:/contracts/interfaces/uniswap/IUniswapV2Factory.sol",
                "file": "../interfaces/uniswap/IUniswapV2Factory.sol",
                "id": 7872,
                "nodeType": "ImportDirective",
                "scope": 8045,
                "sourceUnit": 2464,
                "src": "141:53:60",
                "symbolAliases": [],
                "unitAlias": ""
            },
            {
                "abstract": false,
                "baseContracts": [],
                "contractDependencies": [],
                "contractKind": "contract",
                "documentation": null,
                "fullyImplemented": true,
                "id": 8044,
                "linearizedBaseContracts": [
                    8044
                ],
                "name": "RegistryHelperUniswapV2",
                "nodeType": "ContractDefinition",
                "nodes": [
                    {
                        "canonicalName": "RegistryHelperUniswapV2.PairState",
                        "id": 7877,
                        "members": [
                            {
                                "constant": false,
                                "id": 7874,
                                "mutability": "mutable",
                                "name": "reserve0",
                                "nodeType": "VariableDeclaration",
                                "overrides": null,
                                "scope": 7877,
                                "src": "263:13:60",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                },
                                "typeName": {
                                    "id": 7873,
                                    "name": "uint",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "263:4:60",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    }
                                },
                                "value": null,
                                "visibility": "internal"
                            },
                            {
                                "constant": false,
                                "id": 7876,
                                "mutability": "mutable",
                                "name": "reserve1",
                                "nodeType": "VariableDeclaration",
                                "overrides": null,
                                "scope": 7877,
                                "src": "286:13:60",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                },
                                "typeName": {
                                    "id": 7875,
                                    "name": "uint",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "286:4:60",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    }
                                },
                                "value": null,
                                "visibility": "internal"
                            }
                        ],
                        "name": "PairState",
                        "nodeType": "StructDefinition",
                        "scope": 8044,
                        "src": "236:70:60",
                        "visibility": "public"
                    },
                    {
                        "canonicalName": "RegistryHelperUniswapV2.PairInfo",
                        "id": 7886,
                        "members": [
                            {
                                "constant": false,
                                "id": 7879,
                                "mutability": "mutable",
                                "name": "pair",
                                "nodeType": "VariableDeclaration",
                                "overrides": null,
                                "scope": 7886,
                                "src": "338:19:60",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_IUniswapV2Pair_$2705",
                                    "typeString": "contract IUniswapV2Pair"
                                },
                                "typeName": {
                                    "contractScope": null,
                                    "id": 7878,
                                    "name": "IUniswapV2Pair",
                                    "nodeType": "UserDefinedTypeName",
                                    "referencedDeclaration": 2705,
                                    "src": "338:14:60",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_contract$_IUniswapV2Pair_$2705",
                                        "typeString": "contract IUniswapV2Pair"
                                    }
                                },
                                "value": null,
                                "visibility": "internal"
                            },
                            {
                                "constant": false,
                                "id": 7881,
                                "mutability": "mutable",
                                "name": "token0",
                                "nodeType": "VariableDeclaration",
                                "overrides": null,
                                "scope": 7886,
                                "src": "367:14:60",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                },
                                "typeName": {
                                    "id": 7880,
                                    "name": "address",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "367:7:60",
                                    "stateMutability": "nonpayable",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    }
                                },
                                "value": null,
                                "visibility": "internal"
                            },
                            {
                                "constant": false,
                                "id": 7883,
                                "mutability": "mutable",
                                "name": "token1",
                                "nodeType": "VariableDeclaration",
                                "overrides": null,
                                "scope": 7886,
                                "src": "391:14:60",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                },
                                "typeName": {
                                    "id": 7882,
                                    "name": "address",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "391:7:60",
                                    "stateMutability": "nonpayable",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    }
                                },
                                "value": null,
                                "visibility": "internal"
                            },
                            {
                                "constant": false,
                                "id": 7885,
                                "mutability": "mutable",
                                "name": "state",
                                "nodeType": "VariableDeclaration",
                                "overrides": null,
                                "scope": 7886,
                                "src": "415:15:60",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_PairState_$7877_storage_ptr",
                                    "typeString": "struct RegistryHelperUniswapV2.PairState"
                                },
                                "typeName": {
                                    "contractScope": null,
                                    "id": 7884,
                                    "name": "PairState",
                                    "nodeType": "UserDefinedTypeName",
                                    "referencedDeclaration": 7877,
                                    "src": "415:9:60",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_PairState_$7877_storage_ptr",
                                        "typeString": "struct RegistryHelperUniswapV2.PairState"
                                    }
                                },
                                "value": null,
                                "visibility": "internal"
                            }
                        ],
                        "name": "PairInfo",
                        "nodeType": "StructDefinition",
                        "scope": 8044,
                        "src": "312:125:60",
                        "visibility": "public"
                    },
                    {
                        "body": {
                            "id": 7991,
                            "nodeType": "Block",
                            "src": "593:867:60",
                            "statements": [
                                {
                                    "assignments": [
                                        7899
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 7899,
                                            "mutability": "mutable",
                                            "name": "allPairsUpTo",
                                            "nodeType": "VariableDeclaration",
                                            "overrides": null,
                                            "scope": 7991,
                                            "src": "603:17:60",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            },
                                            "typeName": {
                                                "id": 7898,
                                                "name": "uint",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "603:4:60",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 7903,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "arguments": [],
                                        "expression": {
                                            "argumentTypes": [],
                                            "expression": {
                                                "argumentTypes": null,
                                                "id": 7900,
                                                "name": "factory",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 7888,
                                                "src": "623:7:60",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_contract$_IUniswapV2Factory_$2463",
                                                    "typeString": "contract IUniswapV2Factory"
                                                }
                                            },
                                            "id": 7901,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "allPairsLength",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 2443,
                                            "src": "623:22:60",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$",
                                                "typeString": "function () view external returns (uint256)"
                                            }
                                        },
                                        "id": 7902,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "623:24:60",
                                        "tryCall": false,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "603:44:60"
                                },
                                {
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        },
                                        "id": 7908,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "id": 7904,
                                            "name": "allPairsUpTo",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 7899,
                                            "src": "662:12:60",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": ">",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "commonType": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            },
                                            "id": 7907,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "leftExpression": {
                                                "argumentTypes": null,
                                                "id": 7905,
                                                "name": "offset",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 7890,
                                                "src": "677:6:60",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "nodeType": "BinaryOperation",
                                            "operator": "+",
                                            "rightExpression": {
                                                "argumentTypes": null,
                                                "id": 7906,
                                                "name": "limit",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 7892,
                                                "src": "686:5:60",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "src": "677:14:60",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "src": "662:29:60",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "falseBody": {
                                        "condition": {
                                            "argumentTypes": null,
                                            "commonType": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            },
                                            "id": 7918,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "leftExpression": {
                                                "argumentTypes": null,
                                                "id": 7916,
                                                "name": "allPairsUpTo",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 7899,
                                                "src": "807:12:60",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "nodeType": "BinaryOperation",
                                            "operator": "<",
                                            "rightExpression": {
                                                "argumentTypes": null,
                                                "id": 7917,
                                                "name": "offset",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 7890,
                                                "src": "822:6:60",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "src": "807:21:60",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bool",
                                                "typeString": "bool"
                                            }
                                        },
                                        "falseBody": null,
                                        "id": 7922,
                                        "nodeType": "IfStatement",
                                        "src": "803:104:60",
                                        "trueBody": {
                                            "id": 7921,
                                            "nodeType": "Block",
                                            "src": "830:77:60",
                                            "statements": [
                                                {
                                                    "expression": {
                                                        "argumentTypes": null,
                                                        "id": 7919,
                                                        "name": "result",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 7896,
                                                        "src": "890:6:60",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_array$_t_struct$_PairInfo_$7886_memory_ptr_$dyn_memory_ptr",
                                                            "typeString": "struct RegistryHelperUniswapV2.PairInfo memory[] memory"
                                                        }
                                                    },
                                                    "functionReturnParameters": 7897,
                                                    "id": 7920,
                                                    "nodeType": "Return",
                                                    "src": "883:13:60"
                                                }
                                            ]
                                        }
                                    },
                                    "id": 7923,
                                    "nodeType": "IfStatement",
                                    "src": "658:249:60",
                                    "trueBody": {
                                        "id": 7915,
                                        "nodeType": "Block",
                                        "src": "693:104:60",
                                        "statements": [
                                            {
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "id": 7913,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftHandSide": {
                                                        "argumentTypes": null,
                                                        "id": 7909,
                                                        "name": "allPairsUpTo",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 7899,
                                                        "src": "757:12:60",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    "nodeType": "Assignment",
                                                    "operator": "=",
                                                    "rightHandSide": {
                                                        "argumentTypes": null,
                                                        "commonType": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        "id": 7912,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "leftExpression": {
                                                            "argumentTypes": null,
                                                            "id": 7910,
                                                            "name": "offset",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 7890,
                                                            "src": "772:6:60",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        },
                                                        "nodeType": "BinaryOperation",
                                                        "operator": "+",
                                                        "rightExpression": {
                                                            "argumentTypes": null,
                                                            "id": 7911,
                                                            "name": "limit",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 7892,
                                                            "src": "781:5:60",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        },
                                                        "src": "772:14:60",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    "src": "757:29:60",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "id": 7914,
                                                "nodeType": "ExpressionStatement",
                                                "src": "757:29:60"
                                            }
                                        ]
                                    }
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 7932,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "id": 7924,
                                            "name": "result",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 7896,
                                            "src": "1005:6:60",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_array$_t_struct$_PairInfo_$7886_memory_ptr_$dyn_memory_ptr",
                                                "typeString": "struct RegistryHelperUniswapV2.PairInfo memory[] memory"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "arguments": [
                                                {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    },
                                                    "id": 7930,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "id": 7928,
                                                        "name": "allPairsUpTo",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 7899,
                                                        "src": "1029:12:60",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "-",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "id": 7929,
                                                        "name": "offset",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 7890,
                                                        "src": "1044:6:60",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    "src": "1029:21:60",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                }
                                            ],
                                            "expression": {
                                                "argumentTypes": [
                                                    {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                ],
                                                "id": 7927,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "lValueRequested": false,
                                                "nodeType": "NewExpression",
                                                "src": "1014:14:60",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_PairInfo_$7886_memory_ptr_$dyn_memory_ptr_$",
                                                    "typeString": "function (uint256) pure returns (struct RegistryHelperUniswapV2.PairInfo memory[] memory)"
                                                },
                                                "typeName": {
                                                    "baseType": {
                                                        "contractScope": null,
                                                        "id": 7925,
                                                        "name": "PairInfo",
                                                        "nodeType": "UserDefinedTypeName",
                                                        "referencedDeclaration": 7886,
                                                        "src": "1018:8:60",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_struct$_PairInfo_$7886_storage_ptr",
                                                            "typeString": "struct RegistryHelperUniswapV2.PairInfo"
                                                        }
                                                    },
                                                    "id": 7926,
                                                    "length": null,
                                                    "nodeType": "ArrayTypeName",
                                                    "src": "1018:10:60",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_array$_t_struct$_PairInfo_$7886_storage_$dyn_storage_ptr",
                                                        "typeString": "struct RegistryHelperUniswapV2.PairInfo[]"
                                                    }
                                                }
                                            },
                                            "id": 7931,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "functionCall",
                                            "lValueRequested": false,
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "1014:37:60",
                                            "tryCall": false,
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_array$_t_struct$_PairInfo_$7886_memory_ptr_$dyn_memory_ptr",
                                                "typeString": "struct RegistryHelperUniswapV2.PairInfo memory[] memory"
                                            }
                                        },
                                        "src": "1005:46:60",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_array$_t_struct$_PairInfo_$7886_memory_ptr_$dyn_memory_ptr",
                                            "typeString": "struct RegistryHelperUniswapV2.PairInfo memory[] memory"
                                        }
                                    },
                                    "id": 7933,
                                    "nodeType": "ExpressionStatement",
                                    "src": "1005:46:60"
                                },
                                {
                                    "body": {
                                        "id": 7989,
                                        "nodeType": "Block",
                                        "src": "1106:348:60",
                                        "statements": [
                                            {
                                                "assignments": [
                                                    7945
                                                ],
                                                "declarations": [
                                                    {
                                                        "constant": false,
                                                        "id": 7945,
                                                        "mutability": "mutable",
                                                        "name": "uniPair",
                                                        "nodeType": "VariableDeclaration",
                                                        "overrides": null,
                                                        "scope": 7989,
                                                        "src": "1120:22:60",
                                                        "stateVariable": false,
                                                        "storageLocation": "default",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_contract$_IUniswapV2Pair_$2705",
                                                            "typeString": "contract IUniswapV2Pair"
                                                        },
                                                        "typeName": {
                                                            "contractScope": null,
                                                            "id": 7944,
                                                            "name": "IUniswapV2Pair",
                                                            "nodeType": "UserDefinedTypeName",
                                                            "referencedDeclaration": 2705,
                                                            "src": "1120:14:60",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_contract$_IUniswapV2Pair_$2705",
                                                                "typeString": "contract IUniswapV2Pair"
                                                            }
                                                        },
                                                        "value": null,
                                                        "visibility": "internal"
                                                    }
                                                ],
                                                "id": 7952,
                                                "initialValue": {
                                                    "argumentTypes": null,
                                                    "arguments": [
                                                        {
                                                            "argumentTypes": null,
                                                            "arguments": [
                                                                {
                                                                    "argumentTypes": null,
                                                                    "id": 7949,
                                                                    "name": "i",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 7935,
                                                                    "src": "1177:1:60",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_uint256",
                                                                        "typeString": "uint256"
                                                                    }
                                                                }
                                                            ],
                                                            "expression": {
                                                                "argumentTypes": [
                                                                    {
                                                                        "typeIdentifier": "t_uint256",
                                                                        "typeString": "uint256"
                                                                    }
                                                                ],
                                                                "expression": {
                                                                    "argumentTypes": null,
                                                                    "id": 7947,
                                                                    "name": "factory",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 7888,
                                                                    "src": "1160:7:60",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_contract$_IUniswapV2Factory_$2463",
                                                                        "typeString": "contract IUniswapV2Factory"
                                                                    }
                                                                },
                                                                "id": 7948,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "memberName": "allPairs",
                                                                "nodeType": "MemberAccess",
                                                                "referencedDeclaration": 2438,
                                                                "src": "1160:16:60",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$",
                                                                    "typeString": "function (uint256) view external returns (address)"
                                                                }
                                                            },
                                                            "id": 7950,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "kind": "functionCall",
                                                            "lValueRequested": false,
                                                            "names": [],
                                                            "nodeType": "FunctionCall",
                                                            "src": "1160:19:60",
                                                            "tryCall": false,
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            }
                                                        }
                                                    ],
                                                    "expression": {
                                                        "argumentTypes": [
                                                            {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            }
                                                        ],
                                                        "id": 7946,
                                                        "name": "IUniswapV2Pair",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 2705,
                                                        "src": "1145:14:60",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_type$_t_contract$_IUniswapV2Pair_$2705_$",
                                                            "typeString": "type(contract IUniswapV2Pair)"
                                                        }
                                                    },
                                                    "id": 7951,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "typeConversion",
                                                    "lValueRequested": false,
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "1145:35:60",
                                                    "tryCall": false,
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_contract$_IUniswapV2Pair_$2705",
                                                        "typeString": "contract IUniswapV2Pair"
                                                    }
                                                },
                                                "nodeType": "VariableDeclarationStatement",
                                                "src": "1120:60:60"
                                            },
                                            {
                                                "assignments": [
                                                    7954
                                                ],
                                                "declarations": [
                                                    {
                                                        "constant": false,
                                                        "id": 7954,
                                                        "mutability": "mutable",
                                                        "name": "token0",
                                                        "nodeType": "VariableDeclaration",
                                                        "overrides": null,
                                                        "scope": 7989,
                                                        "src": "1194:14:60",
                                                        "stateVariable": false,
                                                        "storageLocation": "default",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        "typeName": {
                                                            "id": 7953,
                                                            "name": "address",
                                                            "nodeType": "ElementaryTypeName",
                                                            "src": "1194:7:60",
                                                            "stateMutability": "nonpayable",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            }
                                                        },
                                                        "value": null,
                                                        "visibility": "internal"
                                                    }
                                                ],
                                                "id": 7958,
                                                "initialValue": {
                                                    "argumentTypes": null,
                                                    "arguments": [],
                                                    "expression": {
                                                        "argumentTypes": [],
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "id": 7955,
                                                            "name": "uniPair",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 7945,
                                                            "src": "1211:7:60",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_contract$_IUniswapV2Pair_$2705",
                                                                "typeString": "contract IUniswapV2Pair"
                                                            }
                                                        },
                                                        "id": 7956,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "token0",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": 2633,
                                                        "src": "1211:14:60",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                                                            "typeString": "function () view external returns (address)"
                                                        }
                                                    },
                                                    "id": 7957,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "1211:16:60",
                                                    "tryCall": false,
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    }
                                                },
                                                "nodeType": "VariableDeclarationStatement",
                                                "src": "1194:33:60"
                                            },
                                            {
                                                "assignments": [
                                                    7960
                                                ],
                                                "declarations": [
                                                    {
                                                        "constant": false,
                                                        "id": 7960,
                                                        "mutability": "mutable",
                                                        "name": "token1",
                                                        "nodeType": "VariableDeclaration",
                                                        "overrides": null,
                                                        "scope": 7989,
                                                        "src": "1241:14:60",
                                                        "stateVariable": false,
                                                        "storageLocation": "default",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        "typeName": {
                                                            "id": 7959,
                                                            "name": "address",
                                                            "nodeType": "ElementaryTypeName",
                                                            "src": "1241:7:60",
                                                            "stateMutability": "nonpayable",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            }
                                                        },
                                                        "value": null,
                                                        "visibility": "internal"
                                                    }
                                                ],
                                                "id": 7964,
                                                "initialValue": {
                                                    "argumentTypes": null,
                                                    "arguments": [],
                                                    "expression": {
                                                        "argumentTypes": [],
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "id": 7961,
                                                            "name": "uniPair",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 7945,
                                                            "src": "1258:7:60",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_contract$_IUniswapV2Pair_$2705",
                                                                "typeString": "contract IUniswapV2Pair"
                                                            }
                                                        },
                                                        "id": 7962,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "token1",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": 2638,
                                                        "src": "1258:14:60",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                                                            "typeString": "function () view external returns (address)"
                                                        }
                                                    },
                                                    "id": 7963,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "1258:16:60",
                                                    "tryCall": false,
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    }
                                                },
                                                "nodeType": "VariableDeclarationStatement",
                                                "src": "1241:33:60"
                                            },
                                            {
                                                "assignments": [
                                                    7966,
                                                    7968,
                                                    null
                                                ],
                                                "declarations": [
                                                    {
                                                        "constant": false,
                                                        "id": 7966,
                                                        "mutability": "mutable",
                                                        "name": "reserve0",
                                                        "nodeType": "VariableDeclaration",
                                                        "overrides": null,
                                                        "scope": 7989,
                                                        "src": "1289:13:60",
                                                        "stateVariable": false,
                                                        "storageLocation": "default",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        "typeName": {
                                                            "id": 7965,
                                                            "name": "uint",
                                                            "nodeType": "ElementaryTypeName",
                                                            "src": "1289:4:60",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        },
                                                        "value": null,
                                                        "visibility": "internal"
                                                    },
                                                    {
                                                        "constant": false,
                                                        "id": 7968,
                                                        "mutability": "mutable",
                                                        "name": "reserve1",
                                                        "nodeType": "VariableDeclaration",
                                                        "overrides": null,
                                                        "scope": 7989,
                                                        "src": "1304:13:60",
                                                        "stateVariable": false,
                                                        "storageLocation": "default",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        "typeName": {
                                                            "id": 7967,
                                                            "name": "uint",
                                                            "nodeType": "ElementaryTypeName",
                                                            "src": "1304:4:60",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        },
                                                        "value": null,
                                                        "visibility": "internal"
                                                    },
                                                    null
                                                ],
                                                "id": 7972,
                                                "initialValue": {
                                                    "argumentTypes": null,
                                                    "arguments": [],
                                                    "expression": {
                                                        "argumentTypes": [],
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "id": 7969,
                                                            "name": "uniPair",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 7945,
                                                            "src": "1323:7:60",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_contract$_IUniswapV2Pair_$2705",
                                                                "typeString": "contract IUniswapV2Pair"
                                                            }
                                                        },
                                                        "id": 7970,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "getReserves",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": 2647,
                                                        "src": "1323:19:60",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_function_external_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$",
                                                            "typeString": "function () view external returns (uint112,uint112,uint32)"
                                                        }
                                                    },
                                                    "id": 7971,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "1323:21:60",
                                                    "tryCall": false,
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$",
                                                        "typeString": "tuple(uint112,uint112,uint32)"
                                                    }
                                                },
                                                "nodeType": "VariableDeclarationStatement",
                                                "src": "1288:56:60"
                                            },
                                            {
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "id": 7987,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftHandSide": {
                                                        "argumentTypes": null,
                                                        "baseExpression": {
                                                            "argumentTypes": null,
                                                            "id": 7973,
                                                            "name": "result",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 7896,
                                                            "src": "1358:6:60",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_array$_t_struct$_PairInfo_$7886_memory_ptr_$dyn_memory_ptr",
                                                                "typeString": "struct RegistryHelperUniswapV2.PairInfo memory[] memory"
                                                            }
                                                        },
                                                        "id": 7977,
                                                        "indexExpression": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            },
                                                            "id": 7976,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "leftExpression": {
                                                                "argumentTypes": null,
                                                                "id": 7974,
                                                                "name": "i",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 7935,
                                                                "src": "1365:1:60",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            },
                                                            "nodeType": "BinaryOperation",
                                                            "operator": "-",
                                                            "rightExpression": {
                                                                "argumentTypes": null,
                                                                "id": 7975,
                                                                "name": "offset",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 7890,
                                                                "src": "1369:6:60",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            },
                                                            "src": "1365:10:60",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        },
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": true,
                                                        "nodeType": "IndexAccess",
                                                        "src": "1358:18:60",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_struct$_PairInfo_$7886_memory_ptr",
                                                            "typeString": "struct RegistryHelperUniswapV2.PairInfo memory"
                                                        }
                                                    },
                                                    "nodeType": "Assignment",
                                                    "operator": "=",
                                                    "rightHandSide": {
                                                        "argumentTypes": null,
                                                        "arguments": [
                                                            {
                                                                "argumentTypes": null,
                                                                "id": 7979,
                                                                "name": "uniPair",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 7945,
                                                                "src": "1388:7:60",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_contract$_IUniswapV2Pair_$2705",
                                                                    "typeString": "contract IUniswapV2Pair"
                                                                }
                                                            },
                                                            {
                                                                "argumentTypes": null,
                                                                "id": 7980,
                                                                "name": "token0",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 7954,
                                                                "src": "1397:6:60",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_address",
                                                                    "typeString": "address"
                                                                }
                                                            },
                                                            {
                                                                "argumentTypes": null,
                                                                "id": 7981,
                                                                "name": "token1",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 7960,
                                                                "src": "1405:6:60",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_address",
                                                                    "typeString": "address"
                                                                }
                                                            },
                                                            {
                                                                "argumentTypes": null,
                                                                "arguments": [
                                                                    {
                                                                        "argumentTypes": null,
                                                                        "id": 7983,
                                                                        "name": "reserve0",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 7966,
                                                                        "src": "1423:8:60",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    },
                                                                    {
                                                                        "argumentTypes": null,
                                                                        "id": 7984,
                                                                        "name": "reserve1",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 7968,
                                                                        "src": "1433:8:60",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    }
                                                                ],
                                                                "expression": {
                                                                    "argumentTypes": [
                                                                        {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        },
                                                                        {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    ],
                                                                    "id": 7982,
                                                                    "name": "PairState",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 7877,
                                                                    "src": "1413:9:60",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_type$_t_struct$_PairState_$7877_storage_ptr_$",
                                                                        "typeString": "type(struct RegistryHelperUniswapV2.PairState storage pointer)"
                                                                    }
                                                                },
                                                                "id": 7985,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "kind": "structConstructorCall",
                                                                "lValueRequested": false,
                                                                "names": [],
                                                                "nodeType": "FunctionCall",
                                                                "src": "1413:29:60",
                                                                "tryCall": false,
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_struct$_PairState_$7877_memory_ptr",
                                                                    "typeString": "struct RegistryHelperUniswapV2.PairState memory"
                                                                }
                                                            }
                                                        ],
                                                        "expression": {
                                                            "argumentTypes": [
                                                                {
                                                                    "typeIdentifier": "t_contract$_IUniswapV2Pair_$2705",
                                                                    "typeString": "contract IUniswapV2Pair"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_address",
                                                                    "typeString": "address"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_address",
                                                                    "typeString": "address"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_struct$_PairState_$7877_memory_ptr",
                                                                    "typeString": "struct RegistryHelperUniswapV2.PairState memory"
                                                                }
                                                            ],
                                                            "id": 7978,
                                                            "name": "PairInfo",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 7886,
                                                            "src": "1379:8:60",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_type$_t_struct$_PairInfo_$7886_storage_ptr_$",
                                                                "typeString": "type(struct RegistryHelperUniswapV2.PairInfo storage pointer)"
                                                            }
                                                        },
                                                        "id": 7986,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "kind": "structConstructorCall",
                                                        "lValueRequested": false,
                                                        "names": [],
                                                        "nodeType": "FunctionCall",
                                                        "src": "1379:64:60",
                                                        "tryCall": false,
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_struct$_PairInfo_$7886_memory_ptr",
                                                            "typeString": "struct RegistryHelperUniswapV2.PairInfo memory"
                                                        }
                                                    },
                                                    "src": "1358:85:60",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_PairInfo_$7886_memory_ptr",
                                                        "typeString": "struct RegistryHelperUniswapV2.PairInfo memory"
                                                    }
                                                },
                                                "id": 7988,
                                                "nodeType": "ExpressionStatement",
                                                "src": "1358:85:60"
                                            }
                                        ]
                                    },
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        },
                                        "id": 7940,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "id": 7938,
                                            "name": "i",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 7935,
                                            "src": "1083:1:60",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "<",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "id": 7939,
                                            "name": "allPairsUpTo",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 7899,
                                            "src": "1087:12:60",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "src": "1083:16:60",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "id": 7990,
                                    "initializationExpression": {
                                        "assignments": [
                                            7935
                                        ],
                                        "declarations": [
                                            {
                                                "constant": false,
                                                "id": 7935,
                                                "mutability": "mutable",
                                                "name": "i",
                                                "nodeType": "VariableDeclaration",
                                                "overrides": null,
                                                "scope": 7990,
                                                "src": "1066:6:60",
                                                "stateVariable": false,
                                                "storageLocation": "default",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                "typeName": {
                                                    "id": 7934,
                                                    "name": "uint",
                                                    "nodeType": "ElementaryTypeName",
                                                    "src": "1066:4:60",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "value": null,
                                                "visibility": "internal"
                                            }
                                        ],
                                        "id": 7937,
                                        "initialValue": {
                                            "argumentTypes": null,
                                            "id": 7936,
                                            "name": "offset",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 7890,
                                            "src": "1075:6:60",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "VariableDeclarationStatement",
                                        "src": "1066:15:60"
                                    },
                                    "loopExpression": {
                                        "expression": {
                                            "argumentTypes": null,
                                            "id": 7942,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "nodeType": "UnaryOperation",
                                            "operator": "++",
                                            "prefix": false,
                                            "src": "1101:3:60",
                                            "subExpression": {
                                                "argumentTypes": null,
                                                "id": 7941,
                                                "name": "i",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 7935,
                                                "src": "1101:1:60",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "id": 7943,
                                        "nodeType": "ExpressionStatement",
                                        "src": "1101:3:60"
                                    },
                                    "nodeType": "ForStatement",
                                    "src": "1061:393:60"
                                }
                            ]
                        },
                        "documentation": null,
                        "functionSelector": "21e5656e",
                        "id": 7992,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "findPairs",
                        "nodeType": "FunctionDefinition",
                        "overrides": null,
                        "parameters": {
                            "id": 7893,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 7888,
                                    "mutability": "mutable",
                                    "name": "factory",
                                    "nodeType": "VariableDeclaration",
                                    "overrides": null,
                                    "scope": 7992,
                                    "src": "471:25:60",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_contract$_IUniswapV2Factory_$2463",
                                        "typeString": "contract IUniswapV2Factory"
                                    },
                                    "typeName": {
                                        "contractScope": null,
                                        "id": 7887,
                                        "name": "IUniswapV2Factory",
                                        "nodeType": "UserDefinedTypeName",
                                        "referencedDeclaration": 2463,
                                        "src": "471:17:60",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_contract$_IUniswapV2Factory_$2463",
                                            "typeString": "contract IUniswapV2Factory"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 7890,
                                    "mutability": "mutable",
                                    "name": "offset",
                                    "nodeType": "VariableDeclaration",
                                    "overrides": null,
                                    "scope": 7992,
                                    "src": "506:11:60",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 7889,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "506:4:60",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 7892,
                                    "mutability": "mutable",
                                    "name": "limit",
                                    "nodeType": "VariableDeclaration",
                                    "overrides": null,
                                    "scope": 7992,
                                    "src": "527:10:60",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 7891,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "527:4:60",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "461:82:60"
                        },
                        "returnParameters": {
                            "id": 7897,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 7896,
                                    "mutability": "mutable",
                                    "name": "result",
                                    "nodeType": "VariableDeclaration",
                                    "overrides": null,
                                    "scope": 7992,
                                    "src": "567:24:60",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_array$_t_struct$_PairInfo_$7886_memory_ptr_$dyn_memory_ptr",
                                        "typeString": "struct RegistryHelperUniswapV2.PairInfo[]"
                                    },
                                    "typeName": {
                                        "baseType": {
                                            "contractScope": null,
                                            "id": 7894,
                                            "name": "PairInfo",
                                            "nodeType": "UserDefinedTypeName",
                                            "referencedDeclaration": 7886,
                                            "src": "567:8:60",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_struct$_PairInfo_$7886_storage_ptr",
                                                "typeString": "struct RegistryHelperUniswapV2.PairInfo"
                                            }
                                        },
                                        "id": 7895,
                                        "length": null,
                                        "nodeType": "ArrayTypeName",
                                        "src": "567:10:60",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_array$_t_struct$_PairInfo_$7886_storage_$dyn_storage_ptr",
                                            "typeString": "struct RegistryHelperUniswapV2.PairInfo[]"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "566:26:60"
                        },
                        "scope": 8044,
                        "src": "443:1017:60",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 8042,
                            "nodeType": "Block",
                            "src": "1585:241:60",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 8008,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "id": 8001,
                                            "name": "result",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 7999,
                                            "src": "1595:6:60",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_array$_t_struct$_PairState_$7877_memory_ptr_$dyn_memory_ptr",
                                                "typeString": "struct RegistryHelperUniswapV2.PairState memory[] memory"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "arguments": [
                                                {
                                                    "argumentTypes": null,
                                                    "expression": {
                                                        "argumentTypes": null,
                                                        "id": 8005,
                                                        "name": "pairs",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 7995,
                                                        "src": "1620:5:60",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_array$_t_contract$_IUniswapV2Pair_$2705_$dyn_calldata_ptr",
                                                            "typeString": "contract IUniswapV2Pair[] calldata"
                                                        }
                                                    },
                                                    "id": 8006,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "memberName": "length",
                                                    "nodeType": "MemberAccess",
                                                    "referencedDeclaration": null,
                                                    "src": "1620:12:60",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                }
                                            ],
                                            "expression": {
                                                "argumentTypes": [
                                                    {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                ],
                                                "id": 8004,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "lValueRequested": false,
                                                "nodeType": "NewExpression",
                                                "src": "1604:15:60",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_PairState_$7877_memory_ptr_$dyn_memory_ptr_$",
                                                    "typeString": "function (uint256) pure returns (struct RegistryHelperUniswapV2.PairState memory[] memory)"
                                                },
                                                "typeName": {
                                                    "baseType": {
                                                        "contractScope": null,
                                                        "id": 8002,
                                                        "name": "PairState",
                                                        "nodeType": "UserDefinedTypeName",
                                                        "referencedDeclaration": 7877,
                                                        "src": "1608:9:60",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_struct$_PairState_$7877_storage_ptr",
                                                            "typeString": "struct RegistryHelperUniswapV2.PairState"
                                                        }
                                                    },
                                                    "id": 8003,
                                                    "length": null,
                                                    "nodeType": "ArrayTypeName",
                                                    "src": "1608:11:60",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_array$_t_struct$_PairState_$7877_storage_$dyn_storage_ptr",
                                                        "typeString": "struct RegistryHelperUniswapV2.PairState[]"
                                                    }
                                                }
                                            },
                                            "id": 8007,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "functionCall",
                                            "lValueRequested": false,
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "1604:29:60",
                                            "tryCall": false,
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_array$_t_struct$_PairState_$7877_memory_ptr_$dyn_memory_ptr",
                                                "typeString": "struct RegistryHelperUniswapV2.PairState memory[] memory"
                                            }
                                        },
                                        "src": "1595:38:60",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_array$_t_struct$_PairState_$7877_memory_ptr_$dyn_memory_ptr",
                                            "typeString": "struct RegistryHelperUniswapV2.PairState memory[] memory"
                                        }
                                    },
                                    "id": 8009,
                                    "nodeType": "ExpressionStatement",
                                    "src": "1595:38:60"
                                },
                                {
                                    "body": {
                                        "id": 8040,
                                        "nodeType": "Block",
                                        "src": "1683:137:60",
                                        "statements": [
                                            {
                                                "assignments": [
                                                    8022,
                                                    8024,
                                                    null
                                                ],
                                                "declarations": [
                                                    {
                                                        "constant": false,
                                                        "id": 8022,
                                                        "mutability": "mutable",
                                                        "name": "reserve0",
                                                        "nodeType": "VariableDeclaration",
                                                        "overrides": null,
                                                        "scope": 8040,
                                                        "src": "1698:13:60",
                                                        "stateVariable": false,
                                                        "storageLocation": "default",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        "typeName": {
                                                            "id": 8021,
                                                            "name": "uint",
                                                            "nodeType": "ElementaryTypeName",
                                                            "src": "1698:4:60",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        },
                                                        "value": null,
                                                        "visibility": "internal"
                                                    },
                                                    {
                                                        "constant": false,
                                                        "id": 8024,
                                                        "mutability": "mutable",
                                                        "name": "reserve1",
                                                        "nodeType": "VariableDeclaration",
                                                        "overrides": null,
                                                        "scope": 8040,
                                                        "src": "1713:13:60",
                                                        "stateVariable": false,
                                                        "storageLocation": "default",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        "typeName": {
                                                            "id": 8023,
                                                            "name": "uint",
                                                            "nodeType": "ElementaryTypeName",
                                                            "src": "1713:4:60",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        },
                                                        "value": null,
                                                        "visibility": "internal"
                                                    },
                                                    null
                                                ],
                                                "id": 8030,
                                                "initialValue": {
                                                    "argumentTypes": null,
                                                    "arguments": [],
                                                    "expression": {
                                                        "argumentTypes": [],
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "id": 8025,
                                                                "name": "pairs",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 7995,
                                                                "src": "1732:5:60",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_array$_t_contract$_IUniswapV2Pair_$2705_$dyn_calldata_ptr",
                                                                    "typeString": "contract IUniswapV2Pair[] calldata"
                                                                }
                                                            },
                                                            "id": 8027,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "id": 8026,
                                                                "name": "i",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 8011,
                                                                "src": "1738:1:60",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "1732:8:60",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_contract$_IUniswapV2Pair_$2705",
                                                                "typeString": "contract IUniswapV2Pair"
                                                            }
                                                        },
                                                        "id": 8028,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "getReserves",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": 2647,
                                                        "src": "1732:20:60",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_function_external_view$__$returns$_t_uint112_$_t_uint112_$_t_uint32_$",
                                                            "typeString": "function () view external returns (uint112,uint112,uint32)"
                                                        }
                                                    },
                                                    "id": 8029,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "1732:22:60",
                                                    "tryCall": false,
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_tuple$_t_uint112_$_t_uint112_$_t_uint32_$",
                                                        "typeString": "tuple(uint112,uint112,uint32)"
                                                    }
                                                },
                                                "nodeType": "VariableDeclarationStatement",
                                                "src": "1697:57:60"
                                            },
                                            {
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "id": 8038,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftHandSide": {
                                                        "argumentTypes": null,
                                                        "baseExpression": {
                                                            "argumentTypes": null,
                                                            "id": 8031,
                                                            "name": "result",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 7999,
                                                            "src": "1768:6:60",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_array$_t_struct$_PairState_$7877_memory_ptr_$dyn_memory_ptr",
                                                                "typeString": "struct RegistryHelperUniswapV2.PairState memory[] memory"
                                                            }
                                                        },
                                                        "id": 8033,
                                                        "indexExpression": {
                                                            "argumentTypes": null,
                                                            "id": 8032,
                                                            "name": "i",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 8011,
                                                            "src": "1775:1:60",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        },
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": true,
                                                        "nodeType": "IndexAccess",
                                                        "src": "1768:9:60",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_struct$_PairState_$7877_memory_ptr",
                                                            "typeString": "struct RegistryHelperUniswapV2.PairState memory"
                                                        }
                                                    },
                                                    "nodeType": "Assignment",
                                                    "operator": "=",
                                                    "rightHandSide": {
                                                        "argumentTypes": null,
                                                        "arguments": [
                                                            {
                                                                "argumentTypes": null,
                                                                "id": 8035,
                                                                "name": "reserve0",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 8022,
                                                                "src": "1790:8:60",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            },
                                                            {
                                                                "argumentTypes": null,
                                                                "id": 8036,
                                                                "name": "reserve1",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 8024,
                                                                "src": "1800:8:60",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            }
                                                        ],
                                                        "expression": {
                                                            "argumentTypes": [
                                                                {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            ],
                                                            "id": 8034,
                                                            "name": "PairState",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 7877,
                                                            "src": "1780:9:60",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_type$_t_struct$_PairState_$7877_storage_ptr_$",
                                                                "typeString": "type(struct RegistryHelperUniswapV2.PairState storage pointer)"
                                                            }
                                                        },
                                                        "id": 8037,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "kind": "structConstructorCall",
                                                        "lValueRequested": false,
                                                        "names": [],
                                                        "nodeType": "FunctionCall",
                                                        "src": "1780:29:60",
                                                        "tryCall": false,
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_struct$_PairState_$7877_memory_ptr",
                                                            "typeString": "struct RegistryHelperUniswapV2.PairState memory"
                                                        }
                                                    },
                                                    "src": "1768:41:60",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_PairState_$7877_memory_ptr",
                                                        "typeString": "struct RegistryHelperUniswapV2.PairState memory"
                                                    }
                                                },
                                                "id": 8039,
                                                "nodeType": "ExpressionStatement",
                                                "src": "1768:41:60"
                                            }
                                        ]
                                    },
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        },
                                        "id": 8017,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "id": 8014,
                                            "name": "i",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 8011,
                                            "src": "1660:1:60",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "<",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "id": 8015,
                                                "name": "pairs",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 7995,
                                                "src": "1664:5:60",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_array$_t_contract$_IUniswapV2Pair_$2705_$dyn_calldata_ptr",
                                                    "typeString": "contract IUniswapV2Pair[] calldata"
                                                }
                                            },
                                            "id": 8016,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "length",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": null,
                                            "src": "1664:12:60",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "src": "1660:16:60",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "id": 8041,
                                    "initializationExpression": {
                                        "assignments": [
                                            8011
                                        ],
                                        "declarations": [
                                            {
                                                "constant": false,
                                                "id": 8011,
                                                "mutability": "mutable",
                                                "name": "i",
                                                "nodeType": "VariableDeclaration",
                                                "overrides": null,
                                                "scope": 8041,
                                                "src": "1648:6:60",
                                                "stateVariable": false,
                                                "storageLocation": "default",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                "typeName": {
                                                    "id": 8010,
                                                    "name": "uint",
                                                    "nodeType": "ElementaryTypeName",
                                                    "src": "1648:4:60",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "value": null,
                                                "visibility": "internal"
                                            }
                                        ],
                                        "id": 8013,
                                        "initialValue": {
                                            "argumentTypes": null,
                                            "hexValue": "30",
                                            "id": 8012,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "1657:1:60",
                                            "subdenomination": null,
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_rational_0_by_1",
                                                "typeString": "int_const 0"
                                            },
                                            "value": "0"
                                        },
                                        "nodeType": "VariableDeclarationStatement",
                                        "src": "1648:10:60"
                                    },
                                    "loopExpression": {
                                        "expression": {
                                            "argumentTypes": null,
                                            "id": 8019,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "nodeType": "UnaryOperation",
                                            "operator": "++",
                                            "prefix": false,
                                            "src": "1678:3:60",
                                            "subExpression": {
                                                "argumentTypes": null,
                                                "id": 8018,
                                                "name": "i",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 8011,
                                                "src": "1678:1:60",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "id": 8020,
                                        "nodeType": "ExpressionStatement",
                                        "src": "1678:3:60"
                                    },
                                    "nodeType": "ForStatement",
                                    "src": "1643:177:60"
                                }
                            ]
                        },
                        "documentation": null,
                        "functionSelector": "41d82105",
                        "id": 8043,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "refreshPairs",
                        "nodeType": "FunctionDefinition",
                        "overrides": null,
                        "parameters": {
                            "id": 7996,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 7995,
                                    "mutability": "mutable",
                                    "name": "pairs",
                                    "nodeType": "VariableDeclaration",
                                    "overrides": null,
                                    "scope": 8043,
                                    "src": "1497:31:60",
                                    "stateVariable": false,
                                    "storageLocation": "calldata",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_array$_t_contract$_IUniswapV2Pair_$2705_$dyn_calldata_ptr",
                                        "typeString": "contract IUniswapV2Pair[]"
                                    },
                                    "typeName": {
                                        "baseType": {
                                            "contractScope": null,
                                            "id": 7993,
                                            "name": "IUniswapV2Pair",
                                            "nodeType": "UserDefinedTypeName",
                                            "referencedDeclaration": 2705,
                                            "src": "1497:14:60",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_contract$_IUniswapV2Pair_$2705",
                                                "typeString": "contract IUniswapV2Pair"
                                            }
                                        },
                                        "id": 7994,
                                        "length": null,
                                        "nodeType": "ArrayTypeName",
                                        "src": "1497:16:60",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_array$_t_contract$_IUniswapV2Pair_$2705_$dyn_storage_ptr",
                                            "typeString": "contract IUniswapV2Pair[]"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "1487:47:60"
                        },
                        "returnParameters": {
                            "id": 8000,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 7999,
                                    "mutability": "mutable",
                                    "name": "result",
                                    "nodeType": "VariableDeclaration",
                                    "overrides": null,
                                    "scope": 8043,
                                    "src": "1558:25:60",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_array$_t_struct$_PairState_$7877_memory_ptr_$dyn_memory_ptr",
                                        "typeString": "struct RegistryHelperUniswapV2.PairState[]"
                                    },
                                    "typeName": {
                                        "baseType": {
                                            "contractScope": null,
                                            "id": 7997,
                                            "name": "PairState",
                                            "nodeType": "UserDefinedTypeName",
                                            "referencedDeclaration": 7877,
                                            "src": "1558:9:60",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_struct$_PairState_$7877_storage_ptr",
                                                "typeString": "struct RegistryHelperUniswapV2.PairState"
                                            }
                                        },
                                        "id": 7998,
                                        "length": null,
                                        "nodeType": "ArrayTypeName",
                                        "src": "1558:11:60",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_array$_t_struct$_PairState_$7877_storage_$dyn_storage_ptr",
                                            "typeString": "struct RegistryHelperUniswapV2.PairState[]"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "1557:27:60"
                        },
                        "scope": 8044,
                        "src": "1466:360:60",
                        "stateMutability": "view",
                        "virtual": false,
                        "visibility": "external"
                    }
                ],
                "scope": 8045,
                "src": "196:1632:60"
            }
        ],
        "src": "32:1797:60"
    },
    "legacyAST": {
        "attributes": {
            "absolutePath": "project:/contracts/swappa/RegistryHelperUniswapV2.sol",
            "exportedSymbols": {
                "RegistryHelperUniswapV2": [
                    8044
                ]
            },
            "license": "MIT"
        },
        "children": [
            {
                "attributes": {
                    "literals": [
                        "solidity",
                        "0.6",
                        ".8"
                    ]
                },
                "id": 7869,
                "name": "PragmaDirective",
                "src": "32:22:60"
            },
            {
                "attributes": {
                    "literals": [
                        "experimental",
                        "ABIEncoderV2"
                    ]
                },
                "id": 7870,
                "name": "PragmaDirective",
                "src": "55:33:60"
            },
            {
                "attributes": {
                    "SourceUnit": 2706,
                    "absolutePath": "project:/contracts/interfaces/uniswap/IUniswapV2Pair.sol",
                    "file": "../interfaces/uniswap/IUniswapV2Pair.sol",
                    "scope": 8045,
                    "symbolAliases": [
                        null
                    ],
                    "unitAlias": ""
                },
                "id": 7871,
                "name": "ImportDirective",
                "src": "90:50:60"
            },
            {
                "attributes": {
                    "SourceUnit": 2464,
                    "absolutePath": "project:/contracts/interfaces/uniswap/IUniswapV2Factory.sol",
                    "file": "../interfaces/uniswap/IUniswapV2Factory.sol",
                    "scope": 8045,
                    "symbolAliases": [
                        null
                    ],
                    "unitAlias": ""
                },
                "id": 7872,
                "name": "ImportDirective",
                "src": "141:53:60"
            },
            {
                "attributes": {
                    "abstract": false,
                    "baseContracts": [
                        null
                    ],
                    "contractDependencies": [
                        null
                    ],
                    "contractKind": "contract",
                    "documentation": null,
                    "fullyImplemented": true,
                    "linearizedBaseContracts": [
                        8044
                    ],
                    "name": "RegistryHelperUniswapV2",
                    "scope": 8045
                },
                "children": [
                    {
                        "attributes": {
                            "canonicalName": "RegistryHelperUniswapV2.PairState",
                            "name": "PairState",
                            "scope": 8044,
                            "visibility": "public"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "constant": false,
                                    "mutability": "mutable",
                                    "name": "reserve0",
                                    "overrides": null,
                                    "scope": 7877,
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "type": "uint256",
                                    "value": null,
                                    "visibility": "internal"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "uint",
                                            "type": "uint256"
                                        },
                                        "id": 7873,
                                        "name": "ElementaryTypeName",
                                        "src": "263:4:60"
                                    }
                                ],
                                "id": 7874,
                                "name": "VariableDeclaration",
                                "src": "263:13:60"
                            },
                            {
                                "attributes": {
                                    "constant": false,
                                    "mutability": "mutable",
                                    "name": "reserve1",
                                    "overrides": null,
                                    "scope": 7877,
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "type": "uint256",
                                    "value": null,
                                    "visibility": "internal"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "uint",
                                            "type": "uint256"
                                        },
                                        "id": 7875,
                                        "name": "ElementaryTypeName",
                                        "src": "286:4:60"
                                    }
                                ],
                                "id": 7876,
                                "name": "VariableDeclaration",
                                "src": "286:13:60"
                            }
                        ],
                        "id": 7877,
                        "name": "StructDefinition",
                        "src": "236:70:60"
                    },
                    {
                        "attributes": {
                            "canonicalName": "RegistryHelperUniswapV2.PairInfo",
                            "name": "PairInfo",
                            "scope": 8044,
                            "visibility": "public"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "constant": false,
                                    "mutability": "mutable",
                                    "name": "pair",
                                    "overrides": null,
                                    "scope": 7886,
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "type": "contract IUniswapV2Pair",
                                    "value": null,
                                    "visibility": "internal"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "contractScope": null,
                                            "name": "IUniswapV2Pair",
                                            "referencedDeclaration": 2705,
                                            "type": "contract IUniswapV2Pair"
                                        },
                                        "id": 7878,
                                        "name": "UserDefinedTypeName",
                                        "src": "338:14:60"
                                    }
                                ],
                                "id": 7879,
                                "name": "VariableDeclaration",
                                "src": "338:19:60"
                            },
                            {
                                "attributes": {
                                    "constant": false,
                                    "mutability": "mutable",
                                    "name": "token0",
                                    "overrides": null,
                                    "scope": 7886,
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "type": "address",
                                    "value": null,
                                    "visibility": "internal"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "address",
                                            "stateMutability": "nonpayable",
                                            "type": "address"
                                        },
                                        "id": 7880,
                                        "name": "ElementaryTypeName",
                                        "src": "367:7:60"
                                    }
                                ],
                                "id": 7881,
                                "name": "VariableDeclaration",
                                "src": "367:14:60"
                            },
                            {
                                "attributes": {
                                    "constant": false,
                                    "mutability": "mutable",
                                    "name": "token1",
                                    "overrides": null,
                                    "scope": 7886,
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "type": "address",
                                    "value": null,
                                    "visibility": "internal"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "address",
                                            "stateMutability": "nonpayable",
                                            "type": "address"
                                        },
                                        "id": 7882,
                                        "name": "ElementaryTypeName",
                                        "src": "391:7:60"
                                    }
                                ],
                                "id": 7883,
                                "name": "VariableDeclaration",
                                "src": "391:14:60"
                            },
                            {
                                "attributes": {
                                    "constant": false,
                                    "mutability": "mutable",
                                    "name": "state",
                                    "overrides": null,
                                    "scope": 7886,
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "type": "struct RegistryHelperUniswapV2.PairState",
                                    "value": null,
                                    "visibility": "internal"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "contractScope": null,
                                            "name": "PairState",
                                            "referencedDeclaration": 7877,
                                            "type": "struct RegistryHelperUniswapV2.PairState"
                                        },
                                        "id": 7884,
                                        "name": "UserDefinedTypeName",
                                        "src": "415:9:60"
                                    }
                                ],
                                "id": 7885,
                                "name": "VariableDeclaration",
                                "src": "415:15:60"
                            }
                        ],
                        "id": 7886,
                        "name": "StructDefinition",
                        "src": "312:125:60"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "functionSelector": "21e5656e",
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "modifiers": [
                                null
                            ],
                            "name": "findPairs",
                            "overrides": null,
                            "scope": 8044,
                            "stateMutability": "view",
                            "virtual": false,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "mutability": "mutable",
                                            "name": "factory",
                                            "overrides": null,
                                            "scope": 7992,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "contract IUniswapV2Factory",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "contractScope": null,
                                                    "name": "IUniswapV2Factory",
                                                    "referencedDeclaration": 2463,
                                                    "type": "contract IUniswapV2Factory"
                                                },
                                                "id": 7887,
                                                "name": "UserDefinedTypeName",
                                                "src": "471:17:60"
                                            }
                                        ],
                                        "id": 7888,
                                        "name": "VariableDeclaration",
                                        "src": "471:25:60"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "mutability": "mutable",
                                            "name": "offset",
                                            "overrides": null,
                                            "scope": 7992,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint",
                                                    "type": "uint256"
                                                },
                                                "id": 7889,
                                                "name": "ElementaryTypeName",
                                                "src": "506:4:60"
                                            }
                                        ],
                                        "id": 7890,
                                        "name": "VariableDeclaration",
                                        "src": "506:11:60"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "mutability": "mutable",
                                            "name": "limit",
                                            "overrides": null,
                                            "scope": 7992,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint",
                                                    "type": "uint256"
                                                },
                                                "id": 7891,
                                                "name": "ElementaryTypeName",
                                                "src": "527:4:60"
                                            }
                                        ],
                                        "id": 7892,
                                        "name": "VariableDeclaration",
                                        "src": "527:10:60"
                                    }
                                ],
                                "id": 7893,
                                "name": "ParameterList",
                                "src": "461:82:60"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "mutability": "mutable",
                                            "name": "result",
                                            "overrides": null,
                                            "scope": 7992,
                                            "stateVariable": false,
                                            "storageLocation": "memory",
                                            "type": "struct RegistryHelperUniswapV2.PairInfo[]",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "length": null,
                                                    "type": "struct RegistryHelperUniswapV2.PairInfo[]"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "contractScope": null,
                                                            "name": "PairInfo",
                                                            "referencedDeclaration": 7886,
                                                            "type": "struct RegistryHelperUniswapV2.PairInfo"
                                                        },
                                                        "id": 7894,
                                                        "name": "UserDefinedTypeName",
                                                        "src": "567:8:60"
                                                    }
                                                ],
                                                "id": 7895,
                                                "name": "ArrayTypeName",
                                                "src": "567:10:60"
                                            }
                                        ],
                                        "id": 7896,
                                        "name": "VariableDeclaration",
                                        "src": "567:24:60"
                                    }
                                ],
                                "id": 7897,
                                "name": "ParameterList",
                                "src": "566:26:60"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "assignments": [
                                                7899
                                            ]
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "constant": false,
                                                    "mutability": "mutable",
                                                    "name": "allPairsUpTo",
                                                    "overrides": null,
                                                    "scope": 7991,
                                                    "stateVariable": false,
                                                    "storageLocation": "default",
                                                    "type": "uint256",
                                                    "value": null,
                                                    "visibility": "internal"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "name": "uint",
                                                            "type": "uint256"
                                                        },
                                                        "id": 7898,
                                                        "name": "ElementaryTypeName",
                                                        "src": "603:4:60"
                                                    }
                                                ],
                                                "id": 7899,
                                                "name": "VariableDeclaration",
                                                "src": "603:17:60"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "arguments": [
                                                        null
                                                    ],
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "isStructConstructorCall": false,
                                                    "lValueRequested": false,
                                                    "names": [
                                                        null
                                                    ],
                                                    "tryCall": false,
                                                    "type": "uint256",
                                                    "type_conversion": false
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": [
                                                                null
                                                            ],
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "allPairsLength",
                                                            "referencedDeclaration": 2443,
                                                            "type": "function () view external returns (uint256)"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 7888,
                                                                    "type": "contract IUniswapV2Factory",
                                                                    "value": "factory"
                                                                },
                                                                "id": 7900,
                                                                "name": "Identifier",
                                                                "src": "623:7:60"
                                                            }
                                                        ],
                                                        "id": 7901,
                                                        "name": "MemberAccess",
                                                        "src": "623:22:60"
                                                    }
                                                ],
                                                "id": 7902,
                                                "name": "FunctionCall",
                                                "src": "623:24:60"
                                            }
                                        ],
                                        "id": 7903,
                                        "name": "VariableDeclarationStatement",
                                        "src": "603:44:60"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": ">",
                                                    "type": "bool"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 7899,
                                                            "type": "uint256",
                                                            "value": "allPairsUpTo"
                                                        },
                                                        "id": 7904,
                                                        "name": "Identifier",
                                                        "src": "662:12:60"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "+",
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 7890,
                                                                    "type": "uint256",
                                                                    "value": "offset"
                                                                },
                                                                "id": 7905,
                                                                "name": "Identifier",
                                                                "src": "677:6:60"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 7892,
                                                                    "type": "uint256",
                                                                    "value": "limit"
                                                                },
                                                                "id": 7906,
                                                                "name": "Identifier",
                                                                "src": "686:5:60"
                                                            }
                                                        ],
                                                        "id": 7907,
                                                        "name": "BinaryOperation",
                                                        "src": "677:14:60"
                                                    }
                                                ],
                                                "id": 7908,
                                                "name": "BinaryOperation",
                                                "src": "662:29:60"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "=",
                                                                    "type": "uint256"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 7899,
                                                                            "type": "uint256",
                                                                            "value": "allPairsUpTo"
                                                                        },
                                                                        "id": 7909,
                                                                        "name": "Identifier",
                                                                        "src": "757:12:60"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "commonType": {
                                                                                "typeIdentifier": "t_uint256",
                                                                                "typeString": "uint256"
                                                                            },
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "operator": "+",
                                                                            "type": "uint256"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 7890,
                                                                                    "type": "uint256",
                                                                                    "value": "offset"
                                                                                },
                                                                                "id": 7910,
                                                                                "name": "Identifier",
                                                                                "src": "772:6:60"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 7892,
                                                                                    "type": "uint256",
                                                                                    "value": "limit"
                                                                                },
                                                                                "id": 7911,
                                                                                "name": "Identifier",
                                                                                "src": "781:5:60"
                                                                            }
                                                                        ],
                                                                        "id": 7912,
                                                                        "name": "BinaryOperation",
                                                                        "src": "772:14:60"
                                                                    }
                                                                ],
                                                                "id": 7913,
                                                                "name": "Assignment",
                                                                "src": "757:29:60"
                                                            }
                                                        ],
                                                        "id": 7914,
                                                        "name": "ExpressionStatement",
                                                        "src": "757:29:60"
                                                    }
                                                ],
                                                "id": 7915,
                                                "name": "Block",
                                                "src": "693:104:60"
                                            },
                                            {
                                                "attributes": {
                                                    "falseBody": null
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "<",
                                                            "type": "bool"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 7899,
                                                                    "type": "uint256",
                                                                    "value": "allPairsUpTo"
                                                                },
                                                                "id": 7916,
                                                                "name": "Identifier",
                                                                "src": "807:12:60"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 7890,
                                                                    "type": "uint256",
                                                                    "value": "offset"
                                                                },
                                                                "id": 7917,
                                                                "name": "Identifier",
                                                                "src": "822:6:60"
                                                            }
                                                        ],
                                                        "id": 7918,
                                                        "name": "BinaryOperation",
                                                        "src": "807:21:60"
                                                    },
                                                    {
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "functionReturnParameters": 7897
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 7896,
                                                                            "type": "struct RegistryHelperUniswapV2.PairInfo memory[] memory",
                                                                            "value": "result"
                                                                        },
                                                                        "id": 7919,
                                                                        "name": "Identifier",
                                                                        "src": "890:6:60"
                                                                    }
                                                                ],
                                                                "id": 7920,
                                                                "name": "Return",
                                                                "src": "883:13:60"
                                                            }
                                                        ],
                                                        "id": 7921,
                                                        "name": "Block",
                                                        "src": "830:77:60"
                                                    }
                                                ],
                                                "id": 7922,
                                                "name": "IfStatement",
                                                "src": "803:104:60"
                                            }
                                        ],
                                        "id": 7923,
                                        "name": "IfStatement",
                                        "src": "658:249:60"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "=",
                                                    "type": "struct RegistryHelperUniswapV2.PairInfo memory[] memory"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 7896,
                                                            "type": "struct RegistryHelperUniswapV2.PairInfo memory[] memory",
                                                            "value": "result"
                                                        },
                                                        "id": 7924,
                                                        "name": "Identifier",
                                                        "src": "1005:6:60"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "isStructConstructorCall": false,
                                                            "lValueRequested": false,
                                                            "names": [
                                                                null
                                                            ],
                                                            "tryCall": false,
                                                            "type": "struct RegistryHelperUniswapV2.PairInfo memory[] memory",
                                                            "type_conversion": false
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": [
                                                                        {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    ],
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "lValueRequested": false,
                                                                    "type": "function (uint256) pure returns (struct RegistryHelperUniswapV2.PairInfo memory[] memory)"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "length": null,
                                                                            "type": "struct RegistryHelperUniswapV2.PairInfo[]"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "contractScope": null,
                                                                                    "name": "PairInfo",
                                                                                    "referencedDeclaration": 7886,
                                                                                    "type": "struct RegistryHelperUniswapV2.PairInfo"
                                                                                },
                                                                                "id": 7925,
                                                                                "name": "UserDefinedTypeName",
                                                                                "src": "1018:8:60"
                                                                            }
                                                                        ],
                                                                        "id": 7926,
                                                                        "name": "ArrayTypeName",
                                                                        "src": "1018:10:60"
                                                                    }
                                                                ],
                                                                "id": 7927,
                                                                "name": "NewExpression",
                                                                "src": "1014:14:60"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "commonType": {
                                                                        "typeIdentifier": "t_uint256",
                                                                        "typeString": "uint256"
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "-",
                                                                    "type": "uint256"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 7899,
                                                                            "type": "uint256",
                                                                            "value": "allPairsUpTo"
                                                                        },
                                                                        "id": 7928,
                                                                        "name": "Identifier",
                                                                        "src": "1029:12:60"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 7890,
                                                                            "type": "uint256",
                                                                            "value": "offset"
                                                                        },
                                                                        "id": 7929,
                                                                        "name": "Identifier",
                                                                        "src": "1044:6:60"
                                                                    }
                                                                ],
                                                                "id": 7930,
                                                                "name": "BinaryOperation",
                                                                "src": "1029:21:60"
                                                            }
                                                        ],
                                                        "id": 7931,
                                                        "name": "FunctionCall",
                                                        "src": "1014:37:60"
                                                    }
                                                ],
                                                "id": 7932,
                                                "name": "Assignment",
                                                "src": "1005:46:60"
                                            }
                                        ],
                                        "id": 7933,
                                        "name": "ExpressionStatement",
                                        "src": "1005:46:60"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "assignments": [
                                                        7935
                                                    ]
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "constant": false,
                                                            "mutability": "mutable",
                                                            "name": "i",
                                                            "overrides": null,
                                                            "scope": 7990,
                                                            "stateVariable": false,
                                                            "storageLocation": "default",
                                                            "type": "uint256",
                                                            "value": null,
                                                            "visibility": "internal"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "name": "uint",
                                                                    "type": "uint256"
                                                                },
                                                                "id": 7934,
                                                                "name": "ElementaryTypeName",
                                                                "src": "1066:4:60"
                                                            }
                                                        ],
                                                        "id": 7935,
                                                        "name": "VariableDeclaration",
                                                        "src": "1066:6:60"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 7890,
                                                            "type": "uint256",
                                                            "value": "offset"
                                                        },
                                                        "id": 7936,
                                                        "name": "Identifier",
                                                        "src": "1075:6:60"
                                                    }
                                                ],
                                                "id": 7937,
                                                "name": "VariableDeclarationStatement",
                                                "src": "1066:15:60"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "<",
                                                    "type": "bool"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 7935,
                                                            "type": "uint256",
                                                            "value": "i"
                                                        },
                                                        "id": 7938,
                                                        "name": "Identifier",
                                                        "src": "1083:1:60"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 7899,
                                                            "type": "uint256",
                                                            "value": "allPairsUpTo"
                                                        },
                                                        "id": 7939,
                                                        "name": "Identifier",
                                                        "src": "1087:12:60"
                                                    }
                                                ],
                                                "id": 7940,
                                                "name": "BinaryOperation",
                                                "src": "1083:16:60"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "++",
                                                            "prefix": false,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 7935,
                                                                    "type": "uint256",
                                                                    "value": "i"
                                                                },
                                                                "id": 7941,
                                                                "name": "Identifier",
                                                                "src": "1101:1:60"
                                                            }
                                                        ],
                                                        "id": 7942,
                                                        "name": "UnaryOperation",
                                                        "src": "1101:3:60"
                                                    }
                                                ],
                                                "id": 7943,
                                                "name": "ExpressionStatement",
                                                "src": "1101:3:60"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "assignments": [
                                                                7945
                                                            ]
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "constant": false,
                                                                    "mutability": "mutable",
                                                                    "name": "uniPair",
                                                                    "overrides": null,
                                                                    "scope": 7989,
                                                                    "stateVariable": false,
                                                                    "storageLocation": "default",
                                                                    "type": "contract IUniswapV2Pair",
                                                                    "value": null,
                                                                    "visibility": "internal"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "contractScope": null,
                                                                            "name": "IUniswapV2Pair",
                                                                            "referencedDeclaration": 2705,
                                                                            "type": "contract IUniswapV2Pair"
                                                                        },
                                                                        "id": 7944,
                                                                        "name": "UserDefinedTypeName",
                                                                        "src": "1120:14:60"
                                                                    }
                                                                ],
                                                                "id": 7945,
                                                                "name": "VariableDeclaration",
                                                                "src": "1120:22:60"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "isStructConstructorCall": false,
                                                                    "lValueRequested": false,
                                                                    "names": [
                                                                        null
                                                                    ],
                                                                    "tryCall": false,
                                                                    "type": "contract IUniswapV2Pair",
                                                                    "type_conversion": true
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": [
                                                                                {
                                                                                    "typeIdentifier": "t_address",
                                                                                    "typeString": "address"
                                                                                }
                                                                            ],
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2705,
                                                                            "type": "type(contract IUniswapV2Pair)",
                                                                            "value": "IUniswapV2Pair"
                                                                        },
                                                                        "id": 7946,
                                                                        "name": "Identifier",
                                                                        "src": "1145:14:60"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "isStructConstructorCall": false,
                                                                            "lValueRequested": false,
                                                                            "names": [
                                                                                null
                                                                            ],
                                                                            "tryCall": false,
                                                                            "type": "address",
                                                                            "type_conversion": false
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": [
                                                                                        {
                                                                                            "typeIdentifier": "t_uint256",
                                                                                            "typeString": "uint256"
                                                                                        }
                                                                                    ],
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "member_name": "allPairs",
                                                                                    "referencedDeclaration": 2438,
                                                                                    "type": "function (uint256) view external returns (address)"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 7888,
                                                                                            "type": "contract IUniswapV2Factory",
                                                                                            "value": "factory"
                                                                                        },
                                                                                        "id": 7947,
                                                                                        "name": "Identifier",
                                                                                        "src": "1160:7:60"
                                                                                    }
                                                                                ],
                                                                                "id": 7948,
                                                                                "name": "MemberAccess",
                                                                                "src": "1160:16:60"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 7935,
                                                                                    "type": "uint256",
                                                                                    "value": "i"
                                                                                },
                                                                                "id": 7949,
                                                                                "name": "Identifier",
                                                                                "src": "1177:1:60"
                                                                            }
                                                                        ],
                                                                        "id": 7950,
                                                                        "name": "FunctionCall",
                                                                        "src": "1160:19:60"
                                                                    }
                                                                ],
                                                                "id": 7951,
                                                                "name": "FunctionCall",
                                                                "src": "1145:35:60"
                                                            }
                                                        ],
                                                        "id": 7952,
                                                        "name": "VariableDeclarationStatement",
                                                        "src": "1120:60:60"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "assignments": [
                                                                7954
                                                            ]
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "constant": false,
                                                                    "mutability": "mutable",
                                                                    "name": "token0",
                                                                    "overrides": null,
                                                                    "scope": 7989,
                                                                    "stateVariable": false,
                                                                    "storageLocation": "default",
                                                                    "type": "address",
                                                                    "value": null,
                                                                    "visibility": "internal"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "name": "address",
                                                                            "stateMutability": "nonpayable",
                                                                            "type": "address"
                                                                        },
                                                                        "id": 7953,
                                                                        "name": "ElementaryTypeName",
                                                                        "src": "1194:7:60"
                                                                    }
                                                                ],
                                                                "id": 7954,
                                                                "name": "VariableDeclaration",
                                                                "src": "1194:14:60"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "arguments": [
                                                                        null
                                                                    ],
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "isStructConstructorCall": false,
                                                                    "lValueRequested": false,
                                                                    "names": [
                                                                        null
                                                                    ],
                                                                    "tryCall": false,
                                                                    "type": "address",
                                                                    "type_conversion": false
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": [
                                                                                null
                                                                            ],
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "member_name": "token0",
                                                                            "referencedDeclaration": 2633,
                                                                            "type": "function () view external returns (address)"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 7945,
                                                                                    "type": "contract IUniswapV2Pair",
                                                                                    "value": "uniPair"
                                                                                },
                                                                                "id": 7955,
                                                                                "name": "Identifier",
                                                                                "src": "1211:7:60"
                                                                            }
                                                                        ],
                                                                        "id": 7956,
                                                                        "name": "MemberAccess",
                                                                        "src": "1211:14:60"
                                                                    }
                                                                ],
                                                                "id": 7957,
                                                                "name": "FunctionCall",
                                                                "src": "1211:16:60"
                                                            }
                                                        ],
                                                        "id": 7958,
                                                        "name": "VariableDeclarationStatement",
                                                        "src": "1194:33:60"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "assignments": [
                                                                7960
                                                            ]
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "constant": false,
                                                                    "mutability": "mutable",
                                                                    "name": "token1",
                                                                    "overrides": null,
                                                                    "scope": 7989,
                                                                    "stateVariable": false,
                                                                    "storageLocation": "default",
                                                                    "type": "address",
                                                                    "value": null,
                                                                    "visibility": "internal"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "name": "address",
                                                                            "stateMutability": "nonpayable",
                                                                            "type": "address"
                                                                        },
                                                                        "id": 7959,
                                                                        "name": "ElementaryTypeName",
                                                                        "src": "1241:7:60"
                                                                    }
                                                                ],
                                                                "id": 7960,
                                                                "name": "VariableDeclaration",
                                                                "src": "1241:14:60"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "arguments": [
                                                                        null
                                                                    ],
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "isStructConstructorCall": false,
                                                                    "lValueRequested": false,
                                                                    "names": [
                                                                        null
                                                                    ],
                                                                    "tryCall": false,
                                                                    "type": "address",
                                                                    "type_conversion": false
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": [
                                                                                null
                                                                            ],
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "member_name": "token1",
                                                                            "referencedDeclaration": 2638,
                                                                            "type": "function () view external returns (address)"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 7945,
                                                                                    "type": "contract IUniswapV2Pair",
                                                                                    "value": "uniPair"
                                                                                },
                                                                                "id": 7961,
                                                                                "name": "Identifier",
                                                                                "src": "1258:7:60"
                                                                            }
                                                                        ],
                                                                        "id": 7962,
                                                                        "name": "MemberAccess",
                                                                        "src": "1258:14:60"
                                                                    }
                                                                ],
                                                                "id": 7963,
                                                                "name": "FunctionCall",
                                                                "src": "1258:16:60"
                                                            }
                                                        ],
                                                        "id": 7964,
                                                        "name": "VariableDeclarationStatement",
                                                        "src": "1241:33:60"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "assignments": [
                                                                7966,
                                                                7968,
                                                                null
                                                            ]
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "constant": false,
                                                                    "mutability": "mutable",
                                                                    "name": "reserve0",
                                                                    "overrides": null,
                                                                    "scope": 7989,
                                                                    "stateVariable": false,
                                                                    "storageLocation": "default",
                                                                    "type": "uint256",
                                                                    "value": null,
                                                                    "visibility": "internal"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "name": "uint",
                                                                            "type": "uint256"
                                                                        },
                                                                        "id": 7965,
                                                                        "name": "ElementaryTypeName",
                                                                        "src": "1289:4:60"
                                                                    }
                                                                ],
                                                                "id": 7966,
                                                                "name": "VariableDeclaration",
                                                                "src": "1289:13:60"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "constant": false,
                                                                    "mutability": "mutable",
                                                                    "name": "reserve1",
                                                                    "overrides": null,
                                                                    "scope": 7989,
                                                                    "stateVariable": false,
                                                                    "storageLocation": "default",
                                                                    "type": "uint256",
                                                                    "value": null,
                                                                    "visibility": "internal"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "name": "uint",
                                                                            "type": "uint256"
                                                                        },
                                                                        "id": 7967,
                                                                        "name": "ElementaryTypeName",
                                                                        "src": "1304:4:60"
                                                                    }
                                                                ],
                                                                "id": 7968,
                                                                "name": "VariableDeclaration",
                                                                "src": "1304:13:60"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "arguments": [
                                                                        null
                                                                    ],
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "isStructConstructorCall": false,
                                                                    "lValueRequested": false,
                                                                    "names": [
                                                                        null
                                                                    ],
                                                                    "tryCall": false,
                                                                    "type": "tuple(uint112,uint112,uint32)",
                                                                    "type_conversion": false
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": [
                                                                                null
                                                                            ],
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "member_name": "getReserves",
                                                                            "referencedDeclaration": 2647,
                                                                            "type": "function () view external returns (uint112,uint112,uint32)"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 7945,
                                                                                    "type": "contract IUniswapV2Pair",
                                                                                    "value": "uniPair"
                                                                                },
                                                                                "id": 7969,
                                                                                "name": "Identifier",
                                                                                "src": "1323:7:60"
                                                                            }
                                                                        ],
                                                                        "id": 7970,
                                                                        "name": "MemberAccess",
                                                                        "src": "1323:19:60"
                                                                    }
                                                                ],
                                                                "id": 7971,
                                                                "name": "FunctionCall",
                                                                "src": "1323:21:60"
                                                            }
                                                        ],
                                                        "id": 7972,
                                                        "name": "VariableDeclarationStatement",
                                                        "src": "1288:56:60"
                                                    },
                                                    {
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "=",
                                                                    "type": "struct RegistryHelperUniswapV2.PairInfo memory"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": true,
                                                                            "type": "struct RegistryHelperUniswapV2.PairInfo memory"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 7896,
                                                                                    "type": "struct RegistryHelperUniswapV2.PairInfo memory[] memory",
                                                                                    "value": "result"
                                                                                },
                                                                                "id": 7973,
                                                                                "name": "Identifier",
                                                                                "src": "1358:6:60"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "commonType": {
                                                                                        "typeIdentifier": "t_uint256",
                                                                                        "typeString": "uint256"
                                                                                    },
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "operator": "-",
                                                                                    "type": "uint256"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 7935,
                                                                                            "type": "uint256",
                                                                                            "value": "i"
                                                                                        },
                                                                                        "id": 7974,
                                                                                        "name": "Identifier",
                                                                                        "src": "1365:1:60"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 7890,
                                                                                            "type": "uint256",
                                                                                            "value": "offset"
                                                                                        },
                                                                                        "id": 7975,
                                                                                        "name": "Identifier",
                                                                                        "src": "1369:6:60"
                                                                                    }
                                                                                ],
                                                                                "id": 7976,
                                                                                "name": "BinaryOperation",
                                                                                "src": "1365:10:60"
                                                                            }
                                                                        ],
                                                                        "id": 7977,
                                                                        "name": "IndexAccess",
                                                                        "src": "1358:18:60"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "isStructConstructorCall": true,
                                                                            "lValueRequested": false,
                                                                            "names": [
                                                                                null
                                                                            ],
                                                                            "tryCall": false,
                                                                            "type": "struct RegistryHelperUniswapV2.PairInfo memory",
                                                                            "type_conversion": false
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": [
                                                                                        {
                                                                                            "typeIdentifier": "t_contract$_IUniswapV2Pair_$2705",
                                                                                            "typeString": "contract IUniswapV2Pair"
                                                                                        },
                                                                                        {
                                                                                            "typeIdentifier": "t_address",
                                                                                            "typeString": "address"
                                                                                        },
                                                                                        {
                                                                                            "typeIdentifier": "t_address",
                                                                                            "typeString": "address"
                                                                                        },
                                                                                        {
                                                                                            "typeIdentifier": "t_struct$_PairState_$7877_memory_ptr",
                                                                                            "typeString": "struct RegistryHelperUniswapV2.PairState memory"
                                                                                        }
                                                                                    ],
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 7886,
                                                                                    "type": "type(struct RegistryHelperUniswapV2.PairInfo storage pointer)",
                                                                                    "value": "PairInfo"
                                                                                },
                                                                                "id": 7978,
                                                                                "name": "Identifier",
                                                                                "src": "1379:8:60"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 7945,
                                                                                    "type": "contract IUniswapV2Pair",
                                                                                    "value": "uniPair"
                                                                                },
                                                                                "id": 7979,
                                                                                "name": "Identifier",
                                                                                "src": "1388:7:60"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 7954,
                                                                                    "type": "address",
                                                                                    "value": "token0"
                                                                                },
                                                                                "id": 7980,
                                                                                "name": "Identifier",
                                                                                "src": "1397:6:60"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 7960,
                                                                                    "type": "address",
                                                                                    "value": "token1"
                                                                                },
                                                                                "id": 7981,
                                                                                "name": "Identifier",
                                                                                "src": "1405:6:60"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "isStructConstructorCall": true,
                                                                                    "lValueRequested": false,
                                                                                    "names": [
                                                                                        null
                                                                                    ],
                                                                                    "tryCall": false,
                                                                                    "type": "struct RegistryHelperUniswapV2.PairState memory",
                                                                                    "type_conversion": false
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": [
                                                                                                {
                                                                                                    "typeIdentifier": "t_uint256",
                                                                                                    "typeString": "uint256"
                                                                                                },
                                                                                                {
                                                                                                    "typeIdentifier": "t_uint256",
                                                                                                    "typeString": "uint256"
                                                                                                }
                                                                                            ],
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 7877,
                                                                                            "type": "type(struct RegistryHelperUniswapV2.PairState storage pointer)",
                                                                                            "value": "PairState"
                                                                                        },
                                                                                        "id": 7982,
                                                                                        "name": "Identifier",
                                                                                        "src": "1413:9:60"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 7966,
                                                                                            "type": "uint256",
                                                                                            "value": "reserve0"
                                                                                        },
                                                                                        "id": 7983,
                                                                                        "name": "Identifier",
                                                                                        "src": "1423:8:60"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 7968,
                                                                                            "type": "uint256",
                                                                                            "value": "reserve1"
                                                                                        },
                                                                                        "id": 7984,
                                                                                        "name": "Identifier",
                                                                                        "src": "1433:8:60"
                                                                                    }
                                                                                ],
                                                                                "id": 7985,
                                                                                "name": "FunctionCall",
                                                                                "src": "1413:29:60"
                                                                            }
                                                                        ],
                                                                        "id": 7986,
                                                                        "name": "FunctionCall",
                                                                        "src": "1379:64:60"
                                                                    }
                                                                ],
                                                                "id": 7987,
                                                                "name": "Assignment",
                                                                "src": "1358:85:60"
                                                            }
                                                        ],
                                                        "id": 7988,
                                                        "name": "ExpressionStatement",
                                                        "src": "1358:85:60"
                                                    }
                                                ],
                                                "id": 7989,
                                                "name": "Block",
                                                "src": "1106:348:60"
                                            }
                                        ],
                                        "id": 7990,
                                        "name": "ForStatement",
                                        "src": "1061:393:60"
                                    }
                                ],
                                "id": 7991,
                                "name": "Block",
                                "src": "593:867:60"
                            }
                        ],
                        "id": 7992,
                        "name": "FunctionDefinition",
                        "src": "443:1017:60"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "functionSelector": "41d82105",
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "modifiers": [
                                null
                            ],
                            "name": "refreshPairs",
                            "overrides": null,
                            "scope": 8044,
                            "stateMutability": "view",
                            "virtual": false,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "mutability": "mutable",
                                            "name": "pairs",
                                            "overrides": null,
                                            "scope": 8043,
                                            "stateVariable": false,
                                            "storageLocation": "calldata",
                                            "type": "contract IUniswapV2Pair[]",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "length": null,
                                                    "type": "contract IUniswapV2Pair[]"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "contractScope": null,
                                                            "name": "IUniswapV2Pair",
                                                            "referencedDeclaration": 2705,
                                                            "type": "contract IUniswapV2Pair"
                                                        },
                                                        "id": 7993,
                                                        "name": "UserDefinedTypeName",
                                                        "src": "1497:14:60"
                                                    }
                                                ],
                                                "id": 7994,
                                                "name": "ArrayTypeName",
                                                "src": "1497:16:60"
                                            }
                                        ],
                                        "id": 7995,
                                        "name": "VariableDeclaration",
                                        "src": "1497:31:60"
                                    }
                                ],
                                "id": 7996,
                                "name": "ParameterList",
                                "src": "1487:47:60"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "mutability": "mutable",
                                            "name": "result",
                                            "overrides": null,
                                            "scope": 8043,
                                            "stateVariable": false,
                                            "storageLocation": "memory",
                                            "type": "struct RegistryHelperUniswapV2.PairState[]",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "length": null,
                                                    "type": "struct RegistryHelperUniswapV2.PairState[]"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "contractScope": null,
                                                            "name": "PairState",
                                                            "referencedDeclaration": 7877,
                                                            "type": "struct RegistryHelperUniswapV2.PairState"
                                                        },
                                                        "id": 7997,
                                                        "name": "UserDefinedTypeName",
                                                        "src": "1558:9:60"
                                                    }
                                                ],
                                                "id": 7998,
                                                "name": "ArrayTypeName",
                                                "src": "1558:11:60"
                                            }
                                        ],
                                        "id": 7999,
                                        "name": "VariableDeclaration",
                                        "src": "1558:25:60"
                                    }
                                ],
                                "id": 8000,
                                "name": "ParameterList",
                                "src": "1557:27:60"
                            },
                            {
                                "children": [
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "=",
                                                    "type": "struct RegistryHelperUniswapV2.PairState memory[] memory"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 7999,
                                                            "type": "struct RegistryHelperUniswapV2.PairState memory[] memory",
                                                            "value": "result"
                                                        },
                                                        "id": 8001,
                                                        "name": "Identifier",
                                                        "src": "1595:6:60"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "isStructConstructorCall": false,
                                                            "lValueRequested": false,
                                                            "names": [
                                                                null
                                                            ],
                                                            "tryCall": false,
                                                            "type": "struct RegistryHelperUniswapV2.PairState memory[] memory",
                                                            "type_conversion": false
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": [
                                                                        {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    ],
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "lValueRequested": false,
                                                                    "type": "function (uint256) pure returns (struct RegistryHelperUniswapV2.PairState memory[] memory)"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "length": null,
                                                                            "type": "struct RegistryHelperUniswapV2.PairState[]"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "contractScope": null,
                                                                                    "name": "PairState",
                                                                                    "referencedDeclaration": 7877,
                                                                                    "type": "struct RegistryHelperUniswapV2.PairState"
                                                                                },
                                                                                "id": 8002,
                                                                                "name": "UserDefinedTypeName",
                                                                                "src": "1608:9:60"
                                                                            }
                                                                        ],
                                                                        "id": 8003,
                                                                        "name": "ArrayTypeName",
                                                                        "src": "1608:11:60"
                                                                    }
                                                                ],
                                                                "id": 8004,
                                                                "name": "NewExpression",
                                                                "src": "1604:15:60"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "member_name": "length",
                                                                    "referencedDeclaration": null,
                                                                    "type": "uint256"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 7995,
                                                                            "type": "contract IUniswapV2Pair[] calldata",
                                                                            "value": "pairs"
                                                                        },
                                                                        "id": 8005,
                                                                        "name": "Identifier",
                                                                        "src": "1620:5:60"
                                                                    }
                                                                ],
                                                                "id": 8006,
                                                                "name": "MemberAccess",
                                                                "src": "1620:12:60"
                                                            }
                                                        ],
                                                        "id": 8007,
                                                        "name": "FunctionCall",
                                                        "src": "1604:29:60"
                                                    }
                                                ],
                                                "id": 8008,
                                                "name": "Assignment",
                                                "src": "1595:38:60"
                                            }
                                        ],
                                        "id": 8009,
                                        "name": "ExpressionStatement",
                                        "src": "1595:38:60"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "assignments": [
                                                        8011
                                                    ]
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "constant": false,
                                                            "mutability": "mutable",
                                                            "name": "i",
                                                            "overrides": null,
                                                            "scope": 8041,
                                                            "stateVariable": false,
                                                            "storageLocation": "default",
                                                            "type": "uint256",
                                                            "value": null,
                                                            "visibility": "internal"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "name": "uint",
                                                                    "type": "uint256"
                                                                },
                                                                "id": 8010,
                                                                "name": "ElementaryTypeName",
                                                                "src": "1648:4:60"
                                                            }
                                                        ],
                                                        "id": 8011,
                                                        "name": "VariableDeclaration",
                                                        "src": "1648:6:60"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "30",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "number",
                                                            "type": "int_const 0",
                                                            "value": "0"
                                                        },
                                                        "id": 8012,
                                                        "name": "Literal",
                                                        "src": "1657:1:60"
                                                    }
                                                ],
                                                "id": 8013,
                                                "name": "VariableDeclarationStatement",
                                                "src": "1648:10:60"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "<",
                                                    "type": "bool"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 8011,
                                                            "type": "uint256",
                                                            "value": "i"
                                                        },
                                                        "id": 8014,
                                                        "name": "Identifier",
                                                        "src": "1660:1:60"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "length",
                                                            "referencedDeclaration": null,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 7995,
                                                                    "type": "contract IUniswapV2Pair[] calldata",
                                                                    "value": "pairs"
                                                                },
                                                                "id": 8015,
                                                                "name": "Identifier",
                                                                "src": "1664:5:60"
                                                            }
                                                        ],
                                                        "id": 8016,
                                                        "name": "MemberAccess",
                                                        "src": "1664:12:60"
                                                    }
                                                ],
                                                "id": 8017,
                                                "name": "BinaryOperation",
                                                "src": "1660:16:60"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "++",
                                                            "prefix": false,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 8011,
                                                                    "type": "uint256",
                                                                    "value": "i"
                                                                },
                                                                "id": 8018,
                                                                "name": "Identifier",
                                                                "src": "1678:1:60"
                                                            }
                                                        ],
                                                        "id": 8019,
                                                        "name": "UnaryOperation",
                                                        "src": "1678:3:60"
                                                    }
                                                ],
                                                "id": 8020,
                                                "name": "ExpressionStatement",
                                                "src": "1678:3:60"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "assignments": [
                                                                8022,
                                                                8024,
                                                                null
                                                            ]
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "constant": false,
                                                                    "mutability": "mutable",
                                                                    "name": "reserve0",
                                                                    "overrides": null,
                                                                    "scope": 8040,
                                                                    "stateVariable": false,
                                                                    "storageLocation": "default",
                                                                    "type": "uint256",
                                                                    "value": null,
                                                                    "visibility": "internal"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "name": "uint",
                                                                            "type": "uint256"
                                                                        },
                                                                        "id": 8021,
                                                                        "name": "ElementaryTypeName",
                                                                        "src": "1698:4:60"
                                                                    }
                                                                ],
                                                                "id": 8022,
                                                                "name": "VariableDeclaration",
                                                                "src": "1698:13:60"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "constant": false,
                                                                    "mutability": "mutable",
                                                                    "name": "reserve1",
                                                                    "overrides": null,
                                                                    "scope": 8040,
                                                                    "stateVariable": false,
                                                                    "storageLocation": "default",
                                                                    "type": "uint256",
                                                                    "value": null,
                                                                    "visibility": "internal"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "name": "uint",
                                                                            "type": "uint256"
                                                                        },
                                                                        "id": 8023,
                                                                        "name": "ElementaryTypeName",
                                                                        "src": "1713:4:60"
                                                                    }
                                                                ],
                                                                "id": 8024,
                                                                "name": "VariableDeclaration",
                                                                "src": "1713:13:60"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "arguments": [
                                                                        null
                                                                    ],
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "isStructConstructorCall": false,
                                                                    "lValueRequested": false,
                                                                    "names": [
                                                                        null
                                                                    ],
                                                                    "tryCall": false,
                                                                    "type": "tuple(uint112,uint112,uint32)",
                                                                    "type_conversion": false
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": [
                                                                                null
                                                                            ],
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "member_name": "getReserves",
                                                                            "referencedDeclaration": 2647,
                                                                            "type": "function () view external returns (uint112,uint112,uint32)"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "contract IUniswapV2Pair"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 7995,
                                                                                            "type": "contract IUniswapV2Pair[] calldata",
                                                                                            "value": "pairs"
                                                                                        },
                                                                                        "id": 8025,
                                                                                        "name": "Identifier",
                                                                                        "src": "1732:5:60"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 8011,
                                                                                            "type": "uint256",
                                                                                            "value": "i"
                                                                                        },
                                                                                        "id": 8026,
                                                                                        "name": "Identifier",
                                                                                        "src": "1738:1:60"
                                                                                    }
                                                                                ],
                                                                                "id": 8027,
                                                                                "name": "IndexAccess",
                                                                                "src": "1732:8:60"
                                                                            }
                                                                        ],
                                                                        "id": 8028,
                                                                        "name": "MemberAccess",
                                                                        "src": "1732:20:60"
                                                                    }
                                                                ],
                                                                "id": 8029,
                                                                "name": "FunctionCall",
                                                                "src": "1732:22:60"
                                                            }
                                                        ],
                                                        "id": 8030,
                                                        "name": "VariableDeclarationStatement",
                                                        "src": "1697:57:60"
                                                    },
                                                    {
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "=",
                                                                    "type": "struct RegistryHelperUniswapV2.PairState memory"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": true,
                                                                            "type": "struct RegistryHelperUniswapV2.PairState memory"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 7999,
                                                                                    "type": "struct RegistryHelperUniswapV2.PairState memory[] memory",
                                                                                    "value": "result"
                                                                                },
                                                                                "id": 8031,
                                                                                "name": "Identifier",
                                                                                "src": "1768:6:60"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 8011,
                                                                                    "type": "uint256",
                                                                                    "value": "i"
                                                                                },
                                                                                "id": 8032,
                                                                                "name": "Identifier",
                                                                                "src": "1775:1:60"
                                                                            }
                                                                        ],
                                                                        "id": 8033,
                                                                        "name": "IndexAccess",
                                                                        "src": "1768:9:60"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "isStructConstructorCall": true,
                                                                            "lValueRequested": false,
                                                                            "names": [
                                                                                null
                                                                            ],
                                                                            "tryCall": false,
                                                                            "type": "struct RegistryHelperUniswapV2.PairState memory",
                                                                            "type_conversion": false
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": [
                                                                                        {
                                                                                            "typeIdentifier": "t_uint256",
                                                                                            "typeString": "uint256"
                                                                                        },
                                                                                        {
                                                                                            "typeIdentifier": "t_uint256",
                                                                                            "typeString": "uint256"
                                                                                        }
                                                                                    ],
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 7877,
                                                                                    "type": "type(struct RegistryHelperUniswapV2.PairState storage pointer)",
                                                                                    "value": "PairState"
                                                                                },
                                                                                "id": 8034,
                                                                                "name": "Identifier",
                                                                                "src": "1780:9:60"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 8022,
                                                                                    "type": "uint256",
                                                                                    "value": "reserve0"
                                                                                },
                                                                                "id": 8035,
                                                                                "name": "Identifier",
                                                                                "src": "1790:8:60"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 8024,
                                                                                    "type": "uint256",
                                                                                    "value": "reserve1"
                                                                                },
                                                                                "id": 8036,
                                                                                "name": "Identifier",
                                                                                "src": "1800:8:60"
                                                                            }
                                                                        ],
                                                                        "id": 8037,
                                                                        "name": "FunctionCall",
                                                                        "src": "1780:29:60"
                                                                    }
                                                                ],
                                                                "id": 8038,
                                                                "name": "Assignment",
                                                                "src": "1768:41:60"
                                                            }
                                                        ],
                                                        "id": 8039,
                                                        "name": "ExpressionStatement",
                                                        "src": "1768:41:60"
                                                    }
                                                ],
                                                "id": 8040,
                                                "name": "Block",
                                                "src": "1683:137:60"
                                            }
                                        ],
                                        "id": 8041,
                                        "name": "ForStatement",
                                        "src": "1643:177:60"
                                    }
                                ],
                                "id": 8042,
                                "name": "Block",
                                "src": "1585:241:60"
                            }
                        ],
                        "id": 8043,
                        "name": "FunctionDefinition",
                        "src": "1466:360:60"
                    }
                ],
                "id": 8044,
                "name": "ContractDefinition",
                "src": "196:1632:60"
            }
        ],
        "id": 8045,
        "name": "SourceUnit",
        "src": "32:1797:60"
    },
    "compiler": {
        "name": "solc",
        "version": "0.6.8+commit.0bbfe453.Emscripten.clang"
    },
    "networks": {},
    "schemaVersion": "3.4.16",
    "updatedAt": "2025-02-07T17:50:42.855Z",
    "devdoc": {
        "methods": {}
    },
    "userdoc": {
        "methods": {}
    }
}
