"use strict";
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
var __extends = (this && this.__extends) || (function () {
    var extendStatics = function (d, b) {
        extendStatics = Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
        return extendStatics(d, b);
    };
    return function (d, b) {
        if (typeof b !== "function" && b !== null)
            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
})();
exports.__esModule = true;
exports.JumpRateModel__factory = void 0;
var ethers_1 = require("ethers");
var _abi = [
    {
        inputs: [
            {
                internalType: "uint256",
                name: "baseRatePerYear",
                type: "uint256"
            },
            {
                internalType: "uint256",
                name: "multiplierPerYear",
                type: "uint256"
            },
            {
                internalType: "uint256",
                name: "jumpMultiplierPerYear",
                type: "uint256"
            },
            {
                internalType: "uint256",
                name: "kink_",
                type: "uint256"
            },
        ],
        stateMutability: "nonpayable",
        type: "constructor"
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: "uint256",
                name: "baseRatePerBlock",
                type: "uint256"
            },
            {
                indexed: false,
                internalType: "uint256",
                name: "multiplierPerBlock",
                type: "uint256"
            },
            {
                indexed: false,
                internalType: "uint256",
                name: "jumpMultiplierPerBlock",
                type: "uint256"
            },
            {
                indexed: false,
                internalType: "uint256",
                name: "kink",
                type: "uint256"
            },
        ],
        name: "NewInterestParams",
        type: "event"
    },
    {
        inputs: [],
        name: "baseRatePerBlock",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256"
            },
        ],
        stateMutability: "view",
        type: "function"
    },
    {
        inputs: [],
        name: "blocksPerYear",
        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"
            },
        ],
        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: "jumpMultiplierPerBlock",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256"
            },
        ],
        stateMutability: "view",
        type: "function"
    },
    {
        inputs: [],
        name: "kink",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256"
            },
        ],
        stateMutability: "view",
        type: "function"
    },
    {
        inputs: [],
        name: "multiplierPerBlock",
        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"
            },
        ],
        name: "utilizationRate",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256"
            },
        ],
        stateMutability: "pure",
        type: "function"
    },
];
var _bytecode = "0x6080346100b757601f61042938819003918201601f19168301916001600160401b038311848410176100bc578084926080946040528339810103126100b7576080817f6960ab234c7ef4b0c9197100f5393cfcde7c453ac910a27bd2000aa1dd4c068d925160208201519160606040820151910151916220148080809204948560015504918260005504908160025582600355604051938452602084015260408301526060820152a160405161035690816100d38239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe604060808152600436101561001357600080fd5b600090813560e01c806315f24053146101cd5780632191f92a146101b25780636e71e2d8146101905780638726bb8914610174578063a385fb9614610157578063b8168816146100df578063b9f9850a146100c1578063f14039de146100a35763fd2da3391461008257600080fd5b3461009f578160031936011261009f576020906003549051908152f35b5080fd5b503461009f578160031936011261009f576020906001549051908152f35b503461009f578160031936011261009f576020906002549051908152f35b503461009f57608036600319011261009f576004359160243560443590670de0b6b3a764000092606435840390848211610143575082828561013461012f9461012f61013b988c9860209d6102aa565b610297565b0493610207565b049051908152f35b634e487b7160e01b81526011600452602490fd5b503461009f578160031936011261009f5760209051622014808152f35b503461009f578160031936011261009f57602091549051908152f35b503461009f576020906101ab6101a5366101e8565b91610207565b9051908152f35b503461009f578160031936011261009f576020905160018152f35b503461009f576020906101ab6101e2366101e8565b916102aa565b606090600319011261020257600435906024359060443590565b600080fd5b91811561027557670de0b6b3a7640000820292670de0b6b3a763ffff198385040161025f5761023e926102399161027d565b61028a565b908115610249570490565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b505050600090565b9190820180921161025f57565b9190820391821161025f57565b8181029291811591840414171561025f57565b906102b59291610207565b6003548082116102e65750670de0b6b3a76400006102d96102e39260005490610297565b046001549061027d565b90565b906102e39161031a610311670de0b6b3a76400009261030b846102d960005484610297565b9461028a565b60025490610297565b0461027d56fea2646970667358221220195e9ce5035f44e525a262844833781857e7e8e519439b2b30a53e390c3aa48964736f6c63430008130033";
var JumpRateModel__factory = /** @class */ (function (_super) {
    __extends(JumpRateModel__factory, _super);
    function JumpRateModel__factory() {
        var args = [];
        for (var _i = 0; _i < arguments.length; _i++) {
            args[_i] = arguments[_i];
        }
        var _this = this;
        if (args.length === 1) {
            _this = _super.call(this, _abi, _bytecode, args[0]) || this;
        }
        else {
            _this = _super.apply(this, args) || this;
        }
        return _this;
    }
    JumpRateModel__factory.prototype.deploy = function (baseRatePerYear, multiplierPerYear, jumpMultiplierPerYear, kink_, overrides) {
        return _super.prototype.deploy.call(this, baseRatePerYear, multiplierPerYear, jumpMultiplierPerYear, kink_, overrides || {});
    };
    JumpRateModel__factory.prototype.getDeployTransaction = function (baseRatePerYear, multiplierPerYear, jumpMultiplierPerYear, kink_, overrides) {
        return _super.prototype.getDeployTransaction.call(this, baseRatePerYear, multiplierPerYear, jumpMultiplierPerYear, kink_, overrides || {});
    };
    JumpRateModel__factory.prototype.attach = function (address) {
        return _super.prototype.attach.call(this, address);
    };
    JumpRateModel__factory.prototype.connect = function (signer) {
        return _super.prototype.connect.call(this, signer);
    };
    JumpRateModel__factory.createInterface = function () {
        return new ethers_1.utils.Interface(_abi);
    };
    JumpRateModel__factory.connect = function (address, signerOrProvider) {
        return new ethers_1.Contract(address, _abi, signerOrProvider);
    };
    JumpRateModel__factory.bytecode = _bytecode;
    JumpRateModel__factory.abi = _abi;
    return JumpRateModel__factory;
}(ethers_1.ContractFactory));
exports.JumpRateModel__factory = JumpRateModel__factory;
//# sourceMappingURL=JumpRateModel__factory.js.map