{
    "$schema": "../../../../contract.schema.json",
    "released": true,
    "contractName": "SimpleAaveLogic",
    "deploymentName": "PacFinanceLogic",
    "version": "2.1.0",
    "networkAddresses": {
        "81457": {
            "primaryAddress": "0x982A72Afe26C72F7bef644164942BFc1d5D025F8",
            "allAddresses": [
                {
                    "address": "0x982A72Afe26C72F7bef644164942BFc1d5D025F8",
                    "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"
        }
    ]
}
