"use strict";
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
Object.defineProperty(exports, "__esModule", { value: true });
exports.IIMXFactory__factory = void 0;
var ethers_1 = require("ethers");
var _abi = [
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: "address",
                name: "uniswapV2Pair",
                type: "address",
            },
            {
                indexed: true,
                internalType: "address",
                name: "token0",
                type: "address",
            },
            {
                indexed: true,
                internalType: "address",
                name: "token1",
                type: "address",
            },
            {
                indexed: false,
                internalType: "address",
                name: "collateral",
                type: "address",
            },
            {
                indexed: false,
                internalType: "address",
                name: "borrowable0",
                type: "address",
            },
            {
                indexed: false,
                internalType: "address",
                name: "borrowable1",
                type: "address",
            },
            {
                indexed: false,
                internalType: "uint256",
                name: "lendingPoolId",
                type: "uint256",
            },
        ],
        name: "LendingPoolInitialized",
        type: "event",
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: "address",
                name: "oldAdmin",
                type: "address",
            },
            {
                indexed: false,
                internalType: "address",
                name: "newAdmin",
                type: "address",
            },
        ],
        name: "NewAdmin",
        type: "event",
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: "address",
                name: "oldPendingAdmin",
                type: "address",
            },
            {
                indexed: false,
                internalType: "address",
                name: "newPendingAdmin",
                type: "address",
            },
        ],
        name: "NewPendingAdmin",
        type: "event",
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: "address",
                name: "oldReservesAdmin",
                type: "address",
            },
            {
                indexed: false,
                internalType: "address",
                name: "newReservesAdmin",
                type: "address",
            },
        ],
        name: "NewReservesAdmin",
        type: "event",
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: "address",
                name: "oldReservesManager",
                type: "address",
            },
            {
                indexed: false,
                internalType: "address",
                name: "newReservesManager",
                type: "address",
            },
        ],
        name: "NewReservesManager",
        type: "event",
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: "address",
                name: "oldReservesPendingAdmin",
                type: "address",
            },
            {
                indexed: false,
                internalType: "address",
                name: "newReservesPendingAdmin",
                type: "address",
            },
        ],
        name: "NewReservesPendingAdmin",
        type: "event",
    },
    {
        inputs: [],
        name: "_acceptAdmin",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [],
        name: "_acceptReservesAdmin",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "newPendingAdmin",
                type: "address",
            },
        ],
        name: "_setPendingAdmin",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "newReservesManager",
                type: "address",
            },
        ],
        name: "_setReservesManager",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "newPendingAdmin",
                type: "address",
            },
        ],
        name: "_setReservesPendingAdmin",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [],
        name: "admin",
        outputs: [
            {
                internalType: "address",
                name: "",
                type: "address",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        name: "allLendingPools",
        outputs: [
            {
                internalType: "address",
                name: "uniswapV2Pair",
                type: "address",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "allLendingPoolsLength",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "bDeployer",
        outputs: [
            {
                internalType: "address",
                name: "",
                type: "address",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "cDeployer",
        outputs: [
            {
                internalType: "address",
                name: "",
                type: "address",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "uniswapV2Pair",
                type: "address",
            },
        ],
        name: "createBorrowable0",
        outputs: [
            {
                internalType: "address",
                name: "borrowable0",
                type: "address",
            },
        ],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "uniswapV2Pair",
                type: "address",
            },
        ],
        name: "createBorrowable1",
        outputs: [
            {
                internalType: "address",
                name: "borrowable1",
                type: "address",
            },
        ],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "uniswapV2Pair",
                type: "address",
            },
        ],
        name: "createCollateral",
        outputs: [
            {
                internalType: "address",
                name: "collateral",
                type: "address",
            },
        ],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "uniswapV2Pair",
                type: "address",
            },
        ],
        name: "getLendingPool",
        outputs: [
            {
                internalType: "bool",
                name: "initialized",
                type: "bool",
            },
            {
                internalType: "uint24",
                name: "lendingPoolId",
                type: "uint24",
            },
            {
                internalType: "address",
                name: "collateral",
                type: "address",
            },
            {
                internalType: "address",
                name: "borrowable0",
                type: "address",
            },
            {
                internalType: "address",
                name: "borrowable1",
                type: "address",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "uniswapV2Pair",
                type: "address",
            },
        ],
        name: "initializeLendingPool",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [],
        name: "pendingAdmin",
        outputs: [
            {
                internalType: "address",
                name: "",
                type: "address",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "reservesAdmin",
        outputs: [
            {
                internalType: "address",
                name: "",
                type: "address",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "reservesManager",
        outputs: [
            {
                internalType: "address",
                name: "",
                type: "address",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "reservesPendingAdmin",
        outputs: [
            {
                internalType: "address",
                name: "",
                type: "address",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "tarotPriceOracle",
        outputs: [
            {
                internalType: "address",
                name: "",
                type: "address",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
];
var IIMXFactory__factory = /** @class */ (function () {
    function IIMXFactory__factory() {
    }
    IIMXFactory__factory.createInterface = function () {
        return new ethers_1.utils.Interface(_abi);
    };
    IIMXFactory__factory.connect = function (address, signerOrProvider) {
        return new ethers_1.Contract(address, _abi, signerOrProvider);
    };
    IIMXFactory__factory.abi = _abi;
    return IIMXFactory__factory;
}());
exports.IIMXFactory__factory = IIMXFactory__factory;
//# sourceMappingURL=IIMXFactory__factory.js.map