[
  {
    "inputs": [
      { "internalType": "address", "name": "token", "type": "address" },
      { "internalType": "uint256", "name": "ethAmount", "type": "uint256" }
    ],
    "name": "getAaveData",
    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "contract AaveProviderInterface",
        "name": "AaveProvider",
        "type": "address"
      },
      { "internalType": "address", "name": "token", "type": "address" }
    ],
    "name": "getAavePrices",
    "outputs": [
      { "internalType": "uint256", "name": "tokenPrice", "type": "uint256" },
      { "internalType": "uint256", "name": "ethPrice", "type": "uint256" }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getCETHAddress",
    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
    "stateMutability": "pure",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "contract CTokenInterface",
        "name": "cToken",
        "type": "address"
      }
    ],
    "name": "getCompPrice",
    "outputs": [
      { "internalType": "uint256", "name": "tokenPrice", "type": "uint256" },
      { "internalType": "uint256", "name": "ethPrice", "type": "uint256" }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      { "internalType": "address", "name": "token", "type": "address" },
      { "internalType": "uint256", "name": "ethAmount", "type": "uint256" }
    ],
    "name": "getCompoundData",
    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getComptroller",
    "outputs": [
      {
        "internalType": "contract ComptrollerLensInterface",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "pure",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getDaiAddress",
    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
    "stateMutability": "pure",
    "type": "function"
  },
  {
    "inputs": [
      { "internalType": "address", "name": "token", "type": "address" },
      { "internalType": "uint256", "name": "ethAmt", "type": "uint256" }
    ],
    "name": "getMakerData",
    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getMcdAddresses",
    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
    "stateMutability": "pure",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getOracleAddress",
    "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
    "stateMutability": "pure",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getSoloAddress",
    "outputs": [
      { "internalType": "address", "name": "addr", "type": "address" }
    ],
    "stateMutability": "pure",
    "type": "function"
  },
  {
    "inputs": [
      { "internalType": "address", "name": "token", "type": "address" }
    ],
    "name": "getTokenLimit",
    "outputs": [
      {
        "components": [
          { "internalType": "uint256", "name": "dydx", "type": "uint256" },
          { "internalType": "uint256", "name": "maker", "type": "uint256" },
          { "internalType": "uint256", "name": "compound", "type": "uint256" },
          { "internalType": "uint256", "name": "aave", "type": "uint256" }
        ],
        "internalType": "struct DydxFlashloanResolver.RouteData",
        "name": "",
        "type": "tuple"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      { "internalType": "address[]", "name": "tokens", "type": "address[]" }
    ],
    "name": "getTokensLimit",
    "outputs": [
      {
        "components": [
          { "internalType": "uint256", "name": "dydx", "type": "uint256" },
          { "internalType": "uint256", "name": "maker", "type": "uint256" },
          { "internalType": "uint256", "name": "compound", "type": "uint256" },
          { "internalType": "uint256", "name": "aave", "type": "uint256" }
        ],
        "internalType": "struct DydxFlashloanResolver.RouteData[]",
        "name": "",
        "type": "tuple[]"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "name",
    "outputs": [{ "internalType": "string", "name": "", "type": "string" }],
    "stateMutability": "view",
    "type": "function"
  }
]
