{
  "$schema": "../../../../contract.schema.json",
  "released": true,
  "contractName": "SimpleAaveLogic",
  "deploymentName": "ZeroLendLogic",
  "version": "2.1.0",
  "networkAddresses": {
    "81457": {
      "primaryAddress": "0x5126d161210654148445AdB3053e6DE2bbeaeefB",
      "allAddresses": [
        {
          "address": "0x5126d161210654148445AdB3053e6DE2bbeaeefB",
          "dependencies": [
            {
              "name": "Mangrove",
              "address": "0xb1a49C54192Ea59B233200eA38aB56650Dfb448C"
            }
          ]
        }
      ]
    }
  },
  "abi": [
    {
      "type": "constructor",
      "inputs": [
        {
          "name": "addressesProvider",
          "type": "address",
          "internalType": "contract IPoolAddressesProvider"
        },
        {
          "name": "interestRateMode",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "ADDRESS_PROVIDER",
      "inputs": [],
      "outputs": [
        {
          "name": "",
          "type": "address",
          "internalType": "contract IPoolAddressesProvider"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "IMPLEMENTATION",
      "inputs": [],
      "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "INTEREST_RATE_MODE",
      "inputs": [],
      "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "ORACLE",
      "inputs": [],
      "outputs": [
        {
          "name": "",
          "type": "address",
          "internalType": "contract IPriceOracleGetter"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "POOL",
      "inputs": [],
      "outputs": [
        { "name": "", "type": "address", "internalType": "contract IPool" }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "REFERRAL_CODE",
      "inputs": [],
      "outputs": [{ "name": "", "type": "uint16", "internalType": "uint16" }],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "_staticdelegatecall",
      "inputs": [{ "name": "data", "type": "bytes", "internalType": "bytes" }],
      "outputs": [],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "balanceLogic",
      "inputs": [
        {
          "name": "token",
          "type": "address",
          "internalType": "contract IERC20"
        },
        { "name": "fundOwner", "type": "address", "internalType": "address" }
      ],
      "outputs": [
        { "name": "balance", "type": "uint256", "internalType": "uint256" }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "borrowed",
      "inputs": [
        { "name": "underlying", "type": "address", "internalType": "address" },
        { "name": "account", "type": "address", "internalType": "address" }
      ],
      "outputs": [
        { "name": "debt", "type": "uint256", "internalType": "uint256" }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "checkAsset",
      "inputs": [
        {
          "name": "asset",
          "type": "address",
          "internalType": "contract IERC20"
        }
      ],
      "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "debtToken",
      "inputs": [
        {
          "name": "asset",
          "type": "address",
          "internalType": "contract IERC20"
        },
        {
          "name": "interestRateMode",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "outputs": [
        {
          "name": "debtTkn",
          "type": "address",
          "internalType": "contract ICreditDelegationToken"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "getCaps",
      "inputs": [
        {
          "name": "asset",
          "type": "address",
          "internalType": "contract IERC20"
        }
      ],
      "outputs": [
        { "name": "supplyCap", "type": "uint256", "internalType": "uint256" },
        { "name": "borrowCap", "type": "uint256", "internalType": "uint256" }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "maxGettableUnderlying",
      "inputs": [
        {
          "name": "asset",
          "type": "address",
          "internalType": "contract IERC20"
        },
        { "name": "tryBorrow", "type": "bool", "internalType": "bool" },
        { "name": "onBehalf", "type": "address", "internalType": "address" }
      ],
      "outputs": [
        {
          "name": "maxRedeemableUnderlying",
          "type": "uint256",
          "internalType": "uint256"
        },
        {
          "name": "maxBorrowAfterRedeemInUnderlying",
          "type": "uint256",
          "internalType": "uint256"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "overlying",
      "inputs": [
        {
          "name": "asset",
          "type": "address",
          "internalType": "contract IERC20"
        }
      ],
      "outputs": [
        {
          "name": "aToken",
          "type": "address",
          "internalType": "contract IERC20"
        }
      ],
      "stateMutability": "view"
    },
    {
      "type": "function",
      "name": "pullLogic",
      "inputs": [
        {
          "name": "token",
          "type": "address",
          "internalType": "contract IERC20"
        },
        { "name": "fundOwner", "type": "address", "internalType": "address" },
        { "name": "amount", "type": "uint256", "internalType": "uint256" },
        { "name": "strict", "type": "bool", "internalType": "bool" }
      ],
      "outputs": [
        { "name": "pulled", "type": "uint256", "internalType": "uint256" }
      ],
      "stateMutability": "nonpayable"
    },
    {
      "type": "function",
      "name": "pushLogic",
      "inputs": [
        {
          "name": "token",
          "type": "address",
          "internalType": "contract IERC20"
        },
        { "name": "fundOwner", "type": "address", "internalType": "address" },
        { "name": "amount", "type": "uint256", "internalType": "uint256" }
      ],
      "outputs": [
        { "name": "pushed", "type": "uint256", "internalType": "uint256" }
      ],
      "stateMutability": "nonpayable"
    }
  ]
}
