{
  "contractName": "ISwap",
  "abi": [
    {
      "inputs": [],
      "name": "paused",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint8",
          "name": "index",
          "type": "uint8"
        }
      ],
      "name": "getToken",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getBalances",
      "outputs": [
        {
          "internalType": "uint256[]",
          "name": "",
          "type": "uint256[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getSwapFee",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getAPrecise",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint8",
          "name": "tokenIndexFrom",
          "type": "uint8"
        },
        {
          "internalType": "uint8",
          "name": "tokenIndexTo",
          "type": "uint8"
        },
        {
          "internalType": "uint256",
          "name": "dx",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "minDy",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "deadline",
          "type": "uint256"
        }
      ],
      "name": "swap",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint8",
          "name": "tokenIndexFrom",
          "type": "uint8"
        },
        {
          "internalType": "uint8",
          "name": "tokenIndexTo",
          "type": "uint8"
        },
        {
          "internalType": "uint256",
          "name": "dx",
          "type": "uint256"
        }
      ],
      "name": "calculateSwap",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.6.8+commit.0bbfe453\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"tokenIndexFrom\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"tokenIndexTo\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"dx\",\"type\":\"uint256\"}],\"name\":\"calculateSwap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAPrecise\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBalances\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSwapFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"index\",\"type\":\"uint8\"}],\"name\":\"getToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"tokenIndexFrom\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"tokenIndexTo\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"dx\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minDy\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"swap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"project:/contracts/interfaces/stableswap/ISwap.sol\":\"ISwap\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"project:/contracts/interfaces/stableswap/ISwap.sol\":{\"keccak256\":\"0xe089cc8908b7efc3c24c016489bc93bc9b44cf2cf7ada8c784961512957c46e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2a71ae22bf6bfe64e5a09ee21e261f53019214f2280418b83e1b00331cc1eaa\",\"dweb:/ipfs/QmUCkp9DDtCtJzA8AJwrdAkdx6e9TaBGsBmeFGZKZQpTY9\"]}},\"version\":1}",
  "bytecode": "0x",
  "deployedBytecode": "0x",
  "immutableReferences": {},
  "sourceMap": "",
  "deployedSourceMap": "",
  "source": "// SPDX-License-Identifier: MIT\npragma solidity 0.6.8;\n\ninterface ISwap {\n\tfunction paused() external view returns (bool);\n\tfunction getToken(uint8 index) external view returns (address);\n\tfunction getBalances() external view returns (uint256[] memory);\n\tfunction getSwapFee() external view returns (uint256);\n\tfunction getAPrecise() external view returns (uint256);\n\n\tfunction swap(\n\t\tuint8 tokenIndexFrom,\n\t\tuint8 tokenIndexTo,\n\t\tuint256 dx,\n\t\tuint256 minDy,\n\t\tuint256 deadline\n\t) external returns (uint256);\n\n\tfunction calculateSwap(\n\t\tuint8 tokenIndexFrom,\n\t\tuint8 tokenIndexTo,\n\t\tuint256 dx\n\t) external view returns (uint256);\n}\n",
  "sourcePath": "/home/thezviad_gmail_com/src/swappa/contracts/interfaces/stableswap/ISwap.sol",
  "ast": {
    "absolutePath": "project:/contracts/interfaces/stableswap/ISwap.sol",
    "exportedSymbols": {
      "ISwap": [
        1866
      ]
    },
    "id": 1867,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 1811,
        "literals": [
          "solidity",
          "0.6",
          ".8"
        ],
        "nodeType": "PragmaDirective",
        "src": "32:22:21"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": null,
        "fullyImplemented": false,
        "id": 1866,
        "linearizedBaseContracts": [
          1866
        ],
        "name": "ISwap",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "body": null,
            "documentation": null,
            "functionSelector": "5c975abb",
            "id": 1816,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "paused",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1812,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "90:2:21"
            },
            "returnParameters": {
              "id": 1815,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1814,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1816,
                  "src": "116:4:21",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1813,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "116:4:21",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "115:6:21"
            },
            "scope": 1866,
            "src": "75:47:21",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "82b86600",
            "id": 1823,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getToken",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1819,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1818,
                  "mutability": "mutable",
                  "name": "index",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1823,
                  "src": "142:11:21",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 1817,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "142:5:21",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "141:13:21"
            },
            "returnParameters": {
              "id": 1822,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1821,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1823,
                  "src": "178:7:21",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1820,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "178:7:21",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "177:9:21"
            },
            "scope": 1866,
            "src": "124:63:21",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "00113e08",
            "id": 1829,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getBalances",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1824,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "209:2:21"
            },
            "returnParameters": {
              "id": 1828,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1827,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1829,
                  "src": "235:16:21",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                    "typeString": "uint256[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 1825,
                      "name": "uint256",
                      "nodeType": "ElementaryTypeName",
                      "src": "235:7:21",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 1826,
                    "length": null,
                    "nodeType": "ArrayTypeName",
                    "src": "235:9:21",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                      "typeString": "uint256[]"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "234:18:21"
            },
            "scope": 1866,
            "src": "189:64:21",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "d4cadf68",
            "id": 1834,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getSwapFee",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1830,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "274:2:21"
            },
            "returnParameters": {
              "id": 1833,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1832,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1834,
                  "src": "300:7:21",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1831,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "300:7:21",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "299:9:21"
            },
            "scope": 1866,
            "src": "255:54:21",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "0ba81959",
            "id": 1839,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getAPrecise",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1835,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "331:2:21"
            },
            "returnParameters": {
              "id": 1838,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1837,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1839,
                  "src": "357:7:21",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1836,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "357:7:21",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "356:9:21"
            },
            "scope": 1866,
            "src": "311:55:21",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "91695586",
            "id": 1854,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "swap",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1850,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1841,
                  "mutability": "mutable",
                  "name": "tokenIndexFrom",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1854,
                  "src": "386:20:21",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 1840,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "386:5:21",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1843,
                  "mutability": "mutable",
                  "name": "tokenIndexTo",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1854,
                  "src": "410:18:21",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 1842,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "410:5:21",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1845,
                  "mutability": "mutable",
                  "name": "dx",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1854,
                  "src": "432:10:21",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1844,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "432:7:21",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1847,
                  "mutability": "mutable",
                  "name": "minDy",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1854,
                  "src": "446:13:21",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1846,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "446:7:21",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1849,
                  "mutability": "mutable",
                  "name": "deadline",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1854,
                  "src": "463:16:21",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1848,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "463:7:21",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "382:100:21"
            },
            "returnParameters": {
              "id": 1853,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1852,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1854,
                  "src": "501:7:21",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1851,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "501:7:21",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "500:9:21"
            },
            "scope": 1866,
            "src": "369:141:21",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": null,
            "documentation": null,
            "functionSelector": "a95b089f",
            "id": 1865,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "calculateSwap",
            "nodeType": "FunctionDefinition",
            "overrides": null,
            "parameters": {
              "id": 1861,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1856,
                  "mutability": "mutable",
                  "name": "tokenIndexFrom",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1865,
                  "src": "539:20:21",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 1855,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "539:5:21",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1858,
                  "mutability": "mutable",
                  "name": "tokenIndexTo",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1865,
                  "src": "563:18:21",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 1857,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "563:5:21",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1860,
                  "mutability": "mutable",
                  "name": "dx",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1865,
                  "src": "585:10:21",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1859,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "585:7:21",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "535:63:21"
            },
            "returnParameters": {
              "id": 1864,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1863,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1865,
                  "src": "622:7:21",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1862,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "622:7:21",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "621:9:21"
            },
            "scope": 1866,
            "src": "513:118:21",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 1867,
        "src": "56:577:21"
      }
    ],
    "src": "32:602:21"
  },
  "legacyAST": {
    "attributes": {
      "absolutePath": "project:/contracts/interfaces/stableswap/ISwap.sol",
      "exportedSymbols": {
        "ISwap": [
          1866
        ]
      },
      "license": "MIT"
    },
    "children": [
      {
        "attributes": {
          "literals": [
            "solidity",
            "0.6",
            ".8"
          ]
        },
        "id": 1811,
        "name": "PragmaDirective",
        "src": "32:22:21"
      },
      {
        "attributes": {
          "abstract": false,
          "baseContracts": [
            null
          ],
          "contractDependencies": [
            null
          ],
          "contractKind": "interface",
          "documentation": null,
          "fullyImplemented": false,
          "linearizedBaseContracts": [
            1866
          ],
          "name": "ISwap",
          "scope": 1867
        },
        "children": [
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "5c975abb",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "paused",
              "overrides": null,
              "scope": 1866,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1812,
                "name": "ParameterList",
                "src": "90:2:21"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1816,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "bool",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "bool",
                          "type": "bool"
                        },
                        "id": 1813,
                        "name": "ElementaryTypeName",
                        "src": "116:4:21"
                      }
                    ],
                    "id": 1814,
                    "name": "VariableDeclaration",
                    "src": "116:4:21"
                  }
                ],
                "id": 1815,
                "name": "ParameterList",
                "src": "115:6:21"
              }
            ],
            "id": 1816,
            "name": "FunctionDefinition",
            "src": "75:47:21"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "82b86600",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "getToken",
              "overrides": null,
              "scope": 1866,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "index",
                      "overrides": null,
                      "scope": 1823,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint8",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint8",
                          "type": "uint8"
                        },
                        "id": 1817,
                        "name": "ElementaryTypeName",
                        "src": "142:5:21"
                      }
                    ],
                    "id": 1818,
                    "name": "VariableDeclaration",
                    "src": "142:11:21"
                  }
                ],
                "id": 1819,
                "name": "ParameterList",
                "src": "141:13:21"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1823,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "address",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "address",
                          "stateMutability": "nonpayable",
                          "type": "address"
                        },
                        "id": 1820,
                        "name": "ElementaryTypeName",
                        "src": "178:7:21"
                      }
                    ],
                    "id": 1821,
                    "name": "VariableDeclaration",
                    "src": "178:7:21"
                  }
                ],
                "id": 1822,
                "name": "ParameterList",
                "src": "177:9:21"
              }
            ],
            "id": 1823,
            "name": "FunctionDefinition",
            "src": "124:63:21"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "00113e08",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "getBalances",
              "overrides": null,
              "scope": 1866,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1824,
                "name": "ParameterList",
                "src": "209:2:21"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1829,
                      "stateVariable": false,
                      "storageLocation": "memory",
                      "type": "uint256[]",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "length": null,
                          "type": "uint256[]"
                        },
                        "children": [
                          {
                            "attributes": {
                              "name": "uint256",
                              "type": "uint256"
                            },
                            "id": 1825,
                            "name": "ElementaryTypeName",
                            "src": "235:7:21"
                          }
                        ],
                        "id": 1826,
                        "name": "ArrayTypeName",
                        "src": "235:9:21"
                      }
                    ],
                    "id": 1827,
                    "name": "VariableDeclaration",
                    "src": "235:16:21"
                  }
                ],
                "id": 1828,
                "name": "ParameterList",
                "src": "234:18:21"
              }
            ],
            "id": 1829,
            "name": "FunctionDefinition",
            "src": "189:64:21"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "d4cadf68",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "getSwapFee",
              "overrides": null,
              "scope": 1866,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1830,
                "name": "ParameterList",
                "src": "274:2:21"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1834,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 1831,
                        "name": "ElementaryTypeName",
                        "src": "300:7:21"
                      }
                    ],
                    "id": 1832,
                    "name": "VariableDeclaration",
                    "src": "300:7:21"
                  }
                ],
                "id": 1833,
                "name": "ParameterList",
                "src": "299:9:21"
              }
            ],
            "id": 1834,
            "name": "FunctionDefinition",
            "src": "255:54:21"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "0ba81959",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "getAPrecise",
              "overrides": null,
              "scope": 1866,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "attributes": {
                  "parameters": [
                    null
                  ]
                },
                "children": [],
                "id": 1835,
                "name": "ParameterList",
                "src": "331:2:21"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1839,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 1836,
                        "name": "ElementaryTypeName",
                        "src": "357:7:21"
                      }
                    ],
                    "id": 1837,
                    "name": "VariableDeclaration",
                    "src": "357:7:21"
                  }
                ],
                "id": 1838,
                "name": "ParameterList",
                "src": "356:9:21"
              }
            ],
            "id": 1839,
            "name": "FunctionDefinition",
            "src": "311:55:21"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "91695586",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "swap",
              "overrides": null,
              "scope": 1866,
              "stateMutability": "nonpayable",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "tokenIndexFrom",
                      "overrides": null,
                      "scope": 1854,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint8",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint8",
                          "type": "uint8"
                        },
                        "id": 1840,
                        "name": "ElementaryTypeName",
                        "src": "386:5:21"
                      }
                    ],
                    "id": 1841,
                    "name": "VariableDeclaration",
                    "src": "386:20:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "tokenIndexTo",
                      "overrides": null,
                      "scope": 1854,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint8",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint8",
                          "type": "uint8"
                        },
                        "id": 1842,
                        "name": "ElementaryTypeName",
                        "src": "410:5:21"
                      }
                    ],
                    "id": 1843,
                    "name": "VariableDeclaration",
                    "src": "410:18:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "dx",
                      "overrides": null,
                      "scope": 1854,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 1844,
                        "name": "ElementaryTypeName",
                        "src": "432:7:21"
                      }
                    ],
                    "id": 1845,
                    "name": "VariableDeclaration",
                    "src": "432:10:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "minDy",
                      "overrides": null,
                      "scope": 1854,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 1846,
                        "name": "ElementaryTypeName",
                        "src": "446:7:21"
                      }
                    ],
                    "id": 1847,
                    "name": "VariableDeclaration",
                    "src": "446:13:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "deadline",
                      "overrides": null,
                      "scope": 1854,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 1848,
                        "name": "ElementaryTypeName",
                        "src": "463:7:21"
                      }
                    ],
                    "id": 1849,
                    "name": "VariableDeclaration",
                    "src": "463:16:21"
                  }
                ],
                "id": 1850,
                "name": "ParameterList",
                "src": "382:100:21"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1854,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 1851,
                        "name": "ElementaryTypeName",
                        "src": "501:7:21"
                      }
                    ],
                    "id": 1852,
                    "name": "VariableDeclaration",
                    "src": "501:7:21"
                  }
                ],
                "id": 1853,
                "name": "ParameterList",
                "src": "500:9:21"
              }
            ],
            "id": 1854,
            "name": "FunctionDefinition",
            "src": "369:141:21"
          },
          {
            "attributes": {
              "body": null,
              "documentation": null,
              "functionSelector": "a95b089f",
              "implemented": false,
              "isConstructor": false,
              "kind": "function",
              "modifiers": [
                null
              ],
              "name": "calculateSwap",
              "overrides": null,
              "scope": 1866,
              "stateMutability": "view",
              "virtual": false,
              "visibility": "external"
            },
            "children": [
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "tokenIndexFrom",
                      "overrides": null,
                      "scope": 1865,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint8",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint8",
                          "type": "uint8"
                        },
                        "id": 1855,
                        "name": "ElementaryTypeName",
                        "src": "539:5:21"
                      }
                    ],
                    "id": 1856,
                    "name": "VariableDeclaration",
                    "src": "539:20:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "tokenIndexTo",
                      "overrides": null,
                      "scope": 1865,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint8",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint8",
                          "type": "uint8"
                        },
                        "id": 1857,
                        "name": "ElementaryTypeName",
                        "src": "563:5:21"
                      }
                    ],
                    "id": 1858,
                    "name": "VariableDeclaration",
                    "src": "563:18:21"
                  },
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "dx",
                      "overrides": null,
                      "scope": 1865,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 1859,
                        "name": "ElementaryTypeName",
                        "src": "585:7:21"
                      }
                    ],
                    "id": 1860,
                    "name": "VariableDeclaration",
                    "src": "585:10:21"
                  }
                ],
                "id": 1861,
                "name": "ParameterList",
                "src": "535:63:21"
              },
              {
                "children": [
                  {
                    "attributes": {
                      "constant": false,
                      "mutability": "mutable",
                      "name": "",
                      "overrides": null,
                      "scope": 1865,
                      "stateVariable": false,
                      "storageLocation": "default",
                      "type": "uint256",
                      "value": null,
                      "visibility": "internal"
                    },
                    "children": [
                      {
                        "attributes": {
                          "name": "uint256",
                          "type": "uint256"
                        },
                        "id": 1862,
                        "name": "ElementaryTypeName",
                        "src": "622:7:21"
                      }
                    ],
                    "id": 1863,
                    "name": "VariableDeclaration",
                    "src": "622:7:21"
                  }
                ],
                "id": 1864,
                "name": "ParameterList",
                "src": "621:9:21"
              }
            ],
            "id": 1865,
            "name": "FunctionDefinition",
            "src": "513:118:21"
          }
        ],
        "id": 1866,
        "name": "ContractDefinition",
        "src": "56:577:21"
      }
    ],
    "id": 1867,
    "name": "SourceUnit",
    "src": "32:602:21"
  },
  "compiler": {
    "name": "solc",
    "version": "0.6.8+commit.0bbfe453.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.4.16",
  "updatedAt": "2025-02-07T17:50:42.774Z",
  "devdoc": {
    "methods": {}
  },
  "userdoc": {
    "methods": {}
  }
}