"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.FixedRateModel__factory = void 0;
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
const ethers_1 = require("ethers");
const _abi = [
    {
        inputs: [
            {
                internalType: "uint256",
                name: "initBorrowRate",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "initSupplyRate",
                type: "uint256",
            },
        ],
        stateMutability: "nonpayable",
        type: "constructor",
    },
    {
        inputs: [],
        name: "borrowRate",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "owner_",
                type: "address",
            },
        ],
        name: "changeOwner",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint256",
                name: "cash",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "borrows",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "reserves",
                type: "uint256",
            },
        ],
        name: "getBorrowRate",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint256",
                name: "cash",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "borrows",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "reserves",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "reserveFactorMantissa",
                type: "uint256",
            },
        ],
        name: "getSupplyRate",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "isInterestRateModel",
        outputs: [
            {
                internalType: "bool",
                name: "",
                type: "bool",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "owner",
        outputs: [
            {
                internalType: "address",
                name: "",
                type: "address",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint256",
                name: "rate",
                type: "uint256",
            },
        ],
        name: "setBorrowRate",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint256",
                name: "rate",
                type: "uint256",
            },
        ],
        name: "setSupplyRate",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [],
        name: "supplyRate",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
];
const _bytecode = "0x60803461006b57601f61032938819003918201601f19168301916001600160401b0383118484101761007057808492604094855283398101031261006b5760208151910151906001556002553360018060a01b031960005416176000556040516102a290816100878239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604090808252600436101561001557600080fd5b600091823560e01c91826315f2405314610216575081632191f92a146101fa5781633f95e273146101cb5781638da5cb5b146101a3578163a6f9dae11461011a578163ad2961a3146100fb578163b8168816146100db578163c914b437146100b8575063dd3eaf041461008757600080fd5b346100b55760203660031901126100b5576100ac60018060a01b038254163314610233565b60043560015580f35b80fd5b9050346100d757816003193601126100d7576020906001549051908152f35b5080fd5b9050346100d75760803660031901126100d7576020906002549051908152f35b9050346100d757816003193601126100d7576020906002549051908152f35b9050346100d75760203660031901126100d7576001600160a01b03600435818116929083900361019f5761015384549283163314610233565b821561016a57506001600160a01b03191617815580f35b5162461bcd60e51b815260206004820152600f60248201526e696e76616c6964206164647265737360881b6044820152606490fd5b8380fd5b9050346100d757816003193601126100d757905490516001600160a01b039091168152602090f35b82346100b55760203660031901126100b5576101f160018060a01b038254163314610233565b60043560025580f35b9050346100d757816003193601126100d7576020905160018152f35b8390346100d75760603660031901126100d7576020906001548152f35b1561023a57565b60405162461bcd60e51b815260206004820152600a60248201526937b7363c9037bbb732b960b11b6044820152606490fdfea2646970667358221220a0f2fb31f0bcf1cf192547a00feb56ee23003015e0a2656caeb9517b2704434864736f6c63430008130033";
const isSuperArgs = (xs) => xs.length > 1;
class FixedRateModel__factory extends ethers_1.ContractFactory {
    constructor(...args) {
        if (isSuperArgs(args)) {
            super(...args);
        }
        else {
            super(_abi, _bytecode, args[0]);
        }
    }
    getDeployTransaction(initBorrowRate, initSupplyRate, overrides) {
        return super.getDeployTransaction(initBorrowRate, initSupplyRate, overrides || {});
    }
    deploy(initBorrowRate, initSupplyRate, overrides) {
        return super.deploy(initBorrowRate, initSupplyRate, overrides || {});
    }
    connect(runner) {
        return super.connect(runner);
    }
    static createInterface() {
        return new ethers_1.Interface(_abi);
    }
    static connect(address, runner) {
        return new ethers_1.Contract(address, _abi, runner);
    }
}
exports.FixedRateModel__factory = FixedRateModel__factory;
FixedRateModel__factory.bytecode = _bytecode;
FixedRateModel__factory.abi = _abi;
//# sourceMappingURL=FixedRateModel__factory.js.map