[
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_nexus",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_stkAave",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_aaveToken",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_uniswapRouter",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_uniswapQuoter",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_compToken",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_alchemixToken",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "rewardsAmount",
        "type": "uint256"
      }
    ],
    "name": "ClaimedStakedAave",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "sellToken",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "mUSD",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "mUSDAmount",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "buyToken",
        "type": "address"
      }
    ],
    "name": "Liquidated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "integration",
        "type": "address"
      }
    ],
    "name": "LiquidationEnded",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "integration",
        "type": "address"
      }
    ],
    "name": "LiquidationModified",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "redeemedAmount",
        "type": "uint256"
      }
    ],
    "name": "RedeemedAave",
    "type": "event"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "name": "aaveIntegrations",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "aaveToken",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "alchemixToken",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "claimStakedAave",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "compToken",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_integration",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_sellToken",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_bAsset",
        "type": "address"
      },
      {
        "internalType": "bytes",
        "name": "_uniswapPath",
        "type": "bytes"
      },
      {
        "internalType": "bytes",
        "name": "_uniswapPathReversed",
        "type": "bytes"
      },
      {
        "internalType": "uint256",
        "name": "_trancheAmount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_minReturn",
        "type": "uint256"
      },
      {
        "internalType": "address",
        "name": "_mAsset",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "_useAave",
        "type": "bool"
      }
    ],
    "name": "createLiquidation",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_integration",
        "type": "address"
      }
    ],
    "name": "deleteLiquidation",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "deprecated_curve",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "deprecated_liquidations",
    "outputs": [
      {
        "internalType": "address",
        "name": "sellToken",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "bAsset",
        "type": "address"
      },
      {
        "internalType": "int128",
        "name": "curvePosition",
        "type": "int128"
      },
      {
        "internalType": "uint256",
        "name": "lastTriggered",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "trancheAmount",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "deprecated_mUSD",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "deprecated_minReturn",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "deprecated_uniswap",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "initialize",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "liquidations",
    "outputs": [
      {
        "internalType": "address",
        "name": "sellToken",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "bAsset",
        "type": "address"
      },
      {
        "internalType": "bytes",
        "name": "uniswapPath",
        "type": "bytes"
      },
      {
        "internalType": "bytes",
        "name": "uniswapPathReversed",
        "type": "bytes"
      },
      {
        "internalType": "uint256",
        "name": "lastTriggered",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "trancheAmount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "minReturn",
        "type": "uint256"
      },
      {
        "internalType": "address",
        "name": "mAsset",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "aaveBalance",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "nexus",
    "outputs": [
      {
        "internalType": "contract INexus",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "stkAave",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalAaveBalance",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_integration",
        "type": "address"
      }
    ],
    "name": "triggerLiquidation",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "triggerLiquidationAave",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "uniswapQuoter",
    "outputs": [
      {
        "internalType": "contract IUniswapV3Quoter",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "uniswapRouter",
    "outputs": [
      {
        "internalType": "contract IUniswapV3SwapRouter",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_integration",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_bAsset",
        "type": "address"
      },
      {
        "internalType": "bytes",
        "name": "_uniswapPath",
        "type": "bytes"
      },
      {
        "internalType": "bytes",
        "name": "_uniswapPathReversed",
        "type": "bytes"
      },
      {
        "internalType": "uint256",
        "name": "_trancheAmount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_minReturn",
        "type": "uint256"
      }
    ],
    "name": "updateBasset",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "upgrade",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  }
]
