[
  {
    "anonymous": false,
    "inputs": [
      { "indexed": true, "internalType": "address", "name": "asset", "type": "address" },
      { "indexed": true, "internalType": "address", "name": "proxy", "type": "address" },
      { "indexed": true, "internalType": "address", "name": "implementation", "type": "address" }
    ],
    "name": "ATokenUpgraded",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [{ "indexed": true, "internalType": "address", "name": "asset", "type": "address" }],
    "name": "BorrowingDisabledOnReserve",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      { "indexed": true, "internalType": "address", "name": "asset", "type": "address" },
      { "indexed": false, "internalType": "bool", "name": "stableRateEnabled", "type": "bool" }
    ],
    "name": "BorrowingEnabledOnReserve",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      { "indexed": true, "internalType": "address", "name": "asset", "type": "address" },
      { "indexed": false, "internalType": "uint256", "name": "ltv", "type": "uint256" },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "liquidationThreshold",
        "type": "uint256"
      },
      { "indexed": false, "internalType": "uint256", "name": "liquidationBonus", "type": "uint256" }
    ],
    "name": "CollateralConfigurationChanged",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [{ "indexed": true, "internalType": "address", "name": "asset", "type": "address" }],
    "name": "ReserveActivated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [{ "indexed": true, "internalType": "address", "name": "asset", "type": "address" }],
    "name": "ReserveDeactivated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      { "indexed": true, "internalType": "address", "name": "asset", "type": "address" },
      { "indexed": false, "internalType": "uint256", "name": "decimals", "type": "uint256" }
    ],
    "name": "ReserveDecimalsChanged",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      { "indexed": true, "internalType": "address", "name": "asset", "type": "address" },
      { "indexed": false, "internalType": "uint256", "name": "factor", "type": "uint256" }
    ],
    "name": "ReserveFactorChanged",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [{ "indexed": true, "internalType": "address", "name": "asset", "type": "address" }],
    "name": "ReserveFrozen",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      { "indexed": true, "internalType": "address", "name": "asset", "type": "address" },
      { "indexed": true, "internalType": "address", "name": "aToken", "type": "address" },
      { "indexed": false, "internalType": "address", "name": "stableDebtToken", "type": "address" },
      {
        "indexed": false,
        "internalType": "address",
        "name": "variableDebtToken",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "interestRateStrategyAddress",
        "type": "address"
      }
    ],
    "name": "ReserveInitialized",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      { "indexed": true, "internalType": "address", "name": "asset", "type": "address" },
      { "indexed": false, "internalType": "address", "name": "strategy", "type": "address" }
    ],
    "name": "ReserveInterestRateStrategyChanged",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [{ "indexed": true, "internalType": "address", "name": "asset", "type": "address" }],
    "name": "ReserveUnfrozen",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      { "indexed": true, "internalType": "address", "name": "asset", "type": "address" },
      { "indexed": true, "internalType": "address", "name": "proxy", "type": "address" },
      { "indexed": true, "internalType": "address", "name": "implementation", "type": "address" }
    ],
    "name": "StableDebtTokenUpgraded",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [{ "indexed": true, "internalType": "address", "name": "asset", "type": "address" }],
    "name": "StableRateDisabledOnReserve",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [{ "indexed": true, "internalType": "address", "name": "asset", "type": "address" }],
    "name": "StableRateEnabledOnReserve",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      { "indexed": true, "internalType": "address", "name": "asset", "type": "address" },
      { "indexed": true, "internalType": "address", "name": "proxy", "type": "address" },
      { "indexed": true, "internalType": "address", "name": "implementation", "type": "address" }
    ],
    "name": "VariableDebtTokenUpgraded",
    "type": "event"
  },
  {
    "inputs": [{ "internalType": "address", "name": "asset", "type": "address" }],
    "name": "activateReserve",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      { "internalType": "address", "name": "asset", "type": "address" },
      { "internalType": "uint256", "name": "ltv", "type": "uint256" },
      { "internalType": "uint256", "name": "liquidationThreshold", "type": "uint256" },
      { "internalType": "uint256", "name": "liquidationBonus", "type": "uint256" }
    ],
    "name": "configureReserveAsCollateral",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [{ "internalType": "address", "name": "asset", "type": "address" }],
    "name": "deactivateReserve",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [{ "internalType": "address", "name": "asset", "type": "address" }],
    "name": "disableBorrowingOnReserve",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [{ "internalType": "address", "name": "asset", "type": "address" }],
    "name": "disableReserveStableRate",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      { "internalType": "address", "name": "asset", "type": "address" },
      { "internalType": "bool", "name": "stableBorrowRateEnabled", "type": "bool" }
    ],
    "name": "enableBorrowingOnReserve",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [{ "internalType": "address", "name": "asset", "type": "address" }],
    "name": "enableReserveStableRate",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [{ "internalType": "address", "name": "asset", "type": "address" }],
    "name": "freezeReserve",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      { "internalType": "address", "name": "aTokenImpl", "type": "address" },
      { "internalType": "address", "name": "stableDebtTokenImpl", "type": "address" },
      { "internalType": "address", "name": "variableDebtTokenImpl", "type": "address" },
      { "internalType": "uint8", "name": "underlyingAssetDecimals", "type": "uint8" },
      { "internalType": "address", "name": "interestRateStrategyAddress", "type": "address" }
    ],
    "name": "initReserve",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "contract ILendingPoolAddressesProvider",
        "name": "provider",
        "type": "address"
      }
    ],
    "name": "initialize",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [{ "internalType": "bool", "name": "val", "type": "bool" }],
    "name": "setPoolPause",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      { "internalType": "address", "name": "asset", "type": "address" },
      { "internalType": "uint256", "name": "reserveFactor", "type": "uint256" }
    ],
    "name": "setReserveFactor",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      { "internalType": "address", "name": "asset", "type": "address" },
      { "internalType": "address", "name": "rateStrategyAddress", "type": "address" }
    ],
    "name": "setReserveInterestRateStrategyAddress",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [{ "internalType": "address", "name": "asset", "type": "address" }],
    "name": "unfreezeReserve",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      { "internalType": "address", "name": "asset", "type": "address" },
      { "internalType": "address", "name": "implementation", "type": "address" }
    ],
    "name": "updateAToken",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      { "internalType": "address", "name": "asset", "type": "address" },
      { "internalType": "address", "name": "implementation", "type": "address" }
    ],
    "name": "updateStableDebtToken",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      { "internalType": "address", "name": "asset", "type": "address" },
      { "internalType": "address", "name": "implementation", "type": "address" }
    ],
    "name": "updateVariableDebtToken",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  }
]
