{
  "_format": "hh-sol-artifact-1",
  "contractName": "IBorrowerOperations",
  "sourceName": "contracts/Interfaces/IBorrowerOperations.sol",
  "abi": [
    {
      "inputs": [],
      "name": "BorrowerOperations__BalanceCheckFailed",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BorrowerOperations__CannotCloseVaultInRecoveryMode",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BorrowerOperations__CollateralIndexMismatch",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BorrowerOperations__EmptyAmounts",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BorrowerOperations__FeeTooHigh",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BorrowerOperations__ICRMustBeAboveCCR",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BorrowerOperations__ICRMustBeAboveMCR",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BorrowerOperations__ICRMustNotDecreaseInRecoveryMode",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BorrowerOperations__IncorrectInput",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BorrowerOperations__InsufficientVEUSDBalance",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BorrowerOperations__InvalidMaxFeePercentage",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BorrowerOperations__InvalidVEUSDRepayment",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BorrowerOperations__LeverUpNotEnabled",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BorrowerOperations__MaxSlippageExceeded",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BorrowerOperations__NetDebtBelowMinimum",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BorrowerOperations__NoCollWithdrawalInRecoveryMode",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BorrowerOperations__NoZeroAdjustment",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BorrowerOperations__OnlyVaultManager",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BorrowerOperations__TCRMustBeAboveCCR",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BorrowerOperations__TooManyCollaterals",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BorrowerOperations__VaultMustBeInactive",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BorrowerOperations__VaultNotActive",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "BorrowerOperations__VaultStatusNotActive",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "_collsIn",
          "type": "address[]"
        },
        {
          "internalType": "uint256[]",
          "name": "_amountsIn",
          "type": "uint256[]"
        },
        {
          "internalType": "uint256[]",
          "name": "_leverages",
          "type": "uint256[]"
        },
        {
          "internalType": "uint256[]",
          "name": "_maxSlippages",
          "type": "uint256[]"
        },
        {
          "internalType": "uint256",
          "name": "_VEUSDAmount",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "_upperHint",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_lowerHint",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_maxFeePercentage",
          "type": "uint256"
        }
      ],
      "name": "addCollLeverUp",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "_collsIn",
          "type": "address[]"
        },
        {
          "internalType": "uint256[]",
          "name": "_amountsIn",
          "type": "uint256[]"
        },
        {
          "internalType": "address[]",
          "name": "_collsOut",
          "type": "address[]"
        },
        {
          "internalType": "uint256[]",
          "name": "_amountsOut",
          "type": "uint256[]"
        },
        {
          "internalType": "uint256",
          "name": "_VEUSDChange",
          "type": "uint256"
        },
        {
          "internalType": "bool",
          "name": "_isDebtIncrease",
          "type": "bool"
        },
        {
          "internalType": "address",
          "name": "_upperHint",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_lowerHint",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_maxFeePercentage",
          "type": "uint256"
        }
      ],
      "name": "adjustVault",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "_collsIn",
          "type": "address[]"
        },
        {
          "internalType": "uint256[]",
          "name": "_amountsIn",
          "type": "uint256[]"
        },
        {
          "internalType": "uint256",
          "name": "_VEUSDChange",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "_upperHint",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_lowerHint",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_maxFeePercentage",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "_adjustedAddress",
          "type": "address"
        }
      ],
      "name": "adjustVaultFor",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "closeVault",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "_collsOut",
          "type": "address[]"
        },
        {
          "internalType": "uint256[]",
          "name": "_amountsOut",
          "type": "uint256[]"
        },
        {
          "internalType": "uint256[]",
          "name": "_maxSlippages",
          "type": "uint256[]"
        }
      ],
      "name": "closeVaultUnlever",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_vaultManagerAddress",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_activePoolAddress",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_defaultPoolAddress",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_gasPoolAddress",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_collSurplusPoolAddress",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_sortedVaultsAddress",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_veusdTokenAddress",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_controllerAddress",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_debtCapManagerAddress",
          "type": "address"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_VEUSDInterest",
          "type": "uint256"
        }
      ],
      "name": "mintVEUSDInterestFee",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_maxFeePercentage",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_VEUSDAmount",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "_upperHint",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_lowerHint",
          "type": "address"
        },
        {
          "internalType": "address[]",
          "name": "_colls",
          "type": "address[]"
        },
        {
          "internalType": "uint256[]",
          "name": "_amounts",
          "type": "uint256[]"
        }
      ],
      "name": "openVault",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_maxFeePercentage",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_VEUSDAmount",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "_upperHint",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_lowerHint",
          "type": "address"
        },
        {
          "internalType": "address[]",
          "name": "_colls",
          "type": "address[]"
        },
        {
          "internalType": "uint256[]",
          "name": "_amounts",
          "type": "uint256[]"
        },
        {
          "internalType": "address",
          "name": "_vaultOpenAddress",
          "type": "address"
        }
      ],
      "name": "openVaultFor",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_maxFeePercentage",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_VEUSDAmount",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "_upperHint",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_lowerHint",
          "type": "address"
        },
        {
          "internalType": "address[]",
          "name": "_colls",
          "type": "address[]"
        },
        {
          "internalType": "uint256[]",
          "name": "_amounts",
          "type": "uint256[]"
        },
        {
          "internalType": "uint256[]",
          "name": "_leverages",
          "type": "uint256[]"
        },
        {
          "internalType": "uint256[]",
          "name": "_maxSlippages",
          "type": "uint256[]"
        }
      ],
      "name": "openVaultLeverUp",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "_collsOut",
          "type": "address[]"
        },
        {
          "internalType": "uint256[]",
          "name": "_amountsOut",
          "type": "uint256[]"
        },
        {
          "internalType": "uint256[]",
          "name": "_maxSlippages",
          "type": "uint256[]"
        },
        {
          "internalType": "uint256",
          "name": "_VEUSDAmount",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "_upperHint",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_lowerHint",
          "type": "address"
        }
      ],
      "name": "withdrawCollUnleverUp",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x",
  "deployedBytecode": "0x",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
