"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AurigamiComptroller__factory = void 0;
const ethers_1 = require("ethers");
const _abi = [
    {
        inputs: [],
        stateMutability: 'nonpayable',
        type: 'constructor',
    },
    {
        inputs: [],
        name: 'InsufficientLiquidity',
        type: 'error',
    },
    {
        inputs: [],
        name: 'InsufficientShortfall',
        type: 'error',
    },
    {
        inputs: [],
        name: 'InvalidCollateralFactor',
        type: 'error',
    },
    {
        inputs: [],
        name: 'MarketAlreadyListed',
        type: 'error',
    },
    {
        inputs: [],
        name: 'MarketCollateralFactorZero',
        type: 'error',
    },
    {
        inputs: [],
        name: 'MarketNotListed',
        type: 'error',
    },
    {
        inputs: [],
        name: 'NonzeroBorrowBalance',
        type: 'error',
    },
    {
        inputs: [],
        name: 'PriceError',
        type: 'error',
    },
    {
        inputs: [],
        name: 'TooMuchRepay',
        type: 'error',
    },
    {
        inputs: [],
        name: 'Unauthorized',
        type: 'error',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'string',
                name: 'action',
                type: 'string',
            },
            {
                indexed: false,
                internalType: 'bool',
                name: 'pauseState',
                type: 'bool',
            },
        ],
        name: 'ActionPaused',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'address',
                name: 'contributor',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'newSpeed',
                type: 'uint256',
            },
        ],
        name: 'ContributorPlySpeedUpdated',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'uint8',
                name: 'tokenType',
                type: 'uint8',
            },
            {
                indexed: true,
                internalType: 'contract AuToken',
                name: 'auToken',
                type: 'address',
            },
            {
                indexed: true,
                internalType: 'address',
                name: 'borrower',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'plyDelta',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'plyBorrowIndex',
                type: 'uint256',
            },
        ],
        name: 'DistributedBorrowerReward',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'uint8',
                name: 'tokenType',
                type: 'uint8',
            },
            {
                indexed: true,
                internalType: 'contract AuToken',
                name: 'auToken',
                type: 'address',
            },
            {
                indexed: true,
                internalType: 'address',
                name: 'borrower',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'plyDelta',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'plyBorrowIndex',
                type: 'uint256',
            },
        ],
        name: 'DistributedSupplierReward',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'contract AuToken',
                name: 'auToken',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'address',
                name: 'account',
                type: 'address',
            },
        ],
        name: 'MarketEntered',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'contract AuToken',
                name: 'auToken',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'address',
                name: 'account',
                type: 'address',
            },
        ],
        name: 'MarketExited',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'contract AuToken',
                name: 'auToken',
                type: 'address',
            },
        ],
        name: 'MarketListed',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'contract AuToken',
                name: 'auToken',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'newBorrowCap',
                type: 'uint256',
            },
        ],
        name: 'NewBorrowCap',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'address',
                name: 'oldBorrowCapGuardian',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'address',
                name: 'newBorrowCapGuardian',
                type: 'address',
            },
        ],
        name: 'NewBorrowCapGuardian',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'uint256',
                name: 'oldCloseFactorMantissa',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'newCloseFactorMantissa',
                type: 'uint256',
            },
        ],
        name: 'NewCloseFactor',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'contract AuToken',
                name: 'auToken',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'oldCollateralFactorMantissa',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'newCollateralFactorMantissa',
                type: 'uint256',
            },
        ],
        name: 'NewCollateralFactor',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'uint256',
                name: 'oldLiquidationIncentiveMantissa',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'newLiquidationIncentiveMantissa',
                type: 'uint256',
            },
        ],
        name: 'NewLiquidationIncentive',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'contract AuToken',
                name: 'auToken',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'newMintCap',
                type: 'uint256',
            },
        ],
        name: 'NewMintCap',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'address',
                name: 'oldMintCapGuardian',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'address',
                name: 'newMintCapGuardian',
                type: 'address',
            },
        ],
        name: 'NewMintCapGuardian',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'address',
                name: 'oldPauseGuardian',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'address',
                name: 'newPauseGuardian',
                type: 'address',
            },
        ],
        name: 'NewPauseGuardian',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'contract PriceOracle',
                name: 'oldPriceOracle',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'contract PriceOracle',
                name: 'newPriceOracle',
                type: 'address',
            },
        ],
        name: 'NewPriceOracle',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'address',
                name: 'recipient',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'amount',
                type: 'uint256',
            },
        ],
        name: 'PlyGranted',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'uint8',
                name: 'tokenType',
                type: 'uint8',
            },
            {
                indexed: true,
                internalType: 'contract AuToken',
                name: 'auToken',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'bool',
                name: 'isSupply',
                type: 'bool',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'newSpeed',
                type: 'uint256',
            },
        ],
        name: 'SpeedUpdated',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'address',
                name: 'addr',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'bool',
                name: 'newStatus',
                type: 'bool',
            },
        ],
        name: 'WhitelistStatusChanged',
        type: 'event',
    },
    {
        inputs: [
            {
                internalType: 'contract Unitroller',
                name: 'unitroller',
                type: 'address',
            },
        ],
        name: '_become',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [],
        name: '_borrowGuardianPaused',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'recipient',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: 'amount',
                type: 'uint256',
            },
        ],
        name: '_grantPly',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [],
        name: '_mintGuardianPaused',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'newBorrowCapGuardian',
                type: 'address',
            },
        ],
        name: '_setBorrowCapGuardian',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'contract AuToken',
                name: 'auToken',
                type: 'address',
            },
            {
                internalType: 'bool',
                name: 'state',
                type: 'bool',
            },
        ],
        name: '_setBorrowPaused',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: 'newCloseFactorMantissa',
                type: 'uint256',
            },
        ],
        name: '_setCloseFactor',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'contract AuToken',
                name: 'auToken',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: 'newCollateralFactorMantissa',
                type: 'uint256',
            },
        ],
        name: '_setCollateralFactor',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: 'newLiquidationIncentiveMantissa',
                type: 'uint256',
            },
        ],
        name: '_setLiquidationIncentive',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'contract AuToken[]',
                name: 'auTokens',
                type: 'address[]',
            },
            {
                internalType: 'uint256[]',
                name: 'newBorrowCaps',
                type: 'uint256[]',
            },
        ],
        name: '_setMarketBorrowCaps',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'contract AuToken[]',
                name: 'auTokens',
                type: 'address[]',
            },
            {
                internalType: 'uint256[]',
                name: 'newMintCaps',
                type: 'uint256[]',
            },
        ],
        name: '_setMarketMintCaps',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: '_maxAssets',
                type: 'uint256',
            },
        ],
        name: '_setMaxAssets',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'newMintCapGuardian',
                type: 'address',
            },
        ],
        name: '_setMintCapGuardian',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'contract AuToken',
                name: 'auToken',
                type: 'address',
            },
            {
                internalType: 'bool',
                name: 'state',
                type: 'bool',
            },
        ],
        name: '_setMintPaused',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'newPauseGuardian',
                type: 'address',
            },
        ],
        name: '_setPauseGuardian',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'contract PriceOracle',
                name: 'newOracle',
                type: 'address',
            },
        ],
        name: '_setPriceOracle',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint8',
                name: 'rewardType',
                type: 'uint8',
            },
            {
                internalType: 'contract AuToken[]',
                name: 'auTokens',
                type: 'address[]',
            },
            {
                internalType: 'uint256[]',
                name: 'rewardSpeeds',
                type: 'uint256[]',
            },
            {
                internalType: 'bool[]',
                name: 'isSupply',
                type: 'bool[]',
            },
        ],
        name: '_setRewardSpeeds',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'bool',
                name: 'state',
                type: 'bool',
            },
        ],
        name: '_setSeizePaused',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'bool',
                name: 'state',
                type: 'bool',
            },
        ],
        name: '_setTransferPaused',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'contract AuToken',
                name: 'auToken',
                type: 'address',
            },
        ],
        name: '_supportMarket',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        name: 'accountAssets',
        outputs: [
            {
                internalType: 'contract AuToken',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'admin',
        outputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        name: 'allMarkets',
        outputs: [
            {
                internalType: 'contract AuToken',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'aurora',
        outputs: [
            {
                internalType: 'contract EIP20Interface',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'auToken',
                type: 'address',
            },
            {
                internalType: 'address',
                name: 'borrower',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: 'borrowAmount',
                type: 'uint256',
            },
        ],
        name: 'borrowAllowed',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'borrowCapGuardian',
        outputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        name: 'borrowCaps',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        name: 'borrowGuardianPaused',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'account',
                type: 'address',
            },
            {
                internalType: 'contract AuToken',
                name: 'auToken',
                type: 'address',
            },
        ],
        name: 'checkMembership',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint8',
                name: 'rewardType',
                type: 'uint8',
            },
            {
                internalType: 'address',
                name: 'holder',
                type: 'address',
            },
        ],
        name: 'claimReward',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint8',
                name: 'rewardType',
                type: 'uint8',
            },
            {
                internalType: 'address',
                name: 'holder',
                type: 'address',
            },
            {
                internalType: 'contract AuToken[]',
                name: 'auTokens',
                type: 'address[]',
            },
        ],
        name: 'claimReward',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint8',
                name: 'rewardType',
                type: 'uint8',
            },
            {
                internalType: 'address[]',
                name: 'holders',
                type: 'address[]',
            },
            {
                internalType: 'contract AuToken[]',
                name: 'auTokens',
                type: 'address[]',
            },
            {
                internalType: 'bool',
                name: 'borrowers',
                type: 'bool',
            },
            {
                internalType: 'bool',
                name: 'suppliers',
                type: 'bool',
            },
        ],
        name: 'claimReward',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'closeFactorMantissa',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'comptrollerImplementation',
        outputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address[]',
                name: 'auTokens',
                type: 'address[]',
            },
        ],
        name: 'enterMarkets',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'auTokenAddress',
                type: 'address',
            },
        ],
        name: 'exitMarket',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'account',
                type: 'address',
            },
        ],
        name: 'getAccountLiquidity',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'getAllMarkets',
        outputs: [
            {
                internalType: 'contract AuToken[]',
                name: '',
                type: 'address[]',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'account',
                type: 'address',
            },
        ],
        name: 'getAssetsIn',
        outputs: [
            {
                internalType: 'contract AuToken[]',
                name: 'assetsIn',
                type: 'address[]',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'account',
                type: 'address',
            },
            {
                internalType: 'address',
                name: 'auTokenModify',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: 'redeemTokens',
                type: 'uint256',
            },
            {
                internalType: 'uint256',
                name: 'borrowAmount',
                type: 'uint256',
            },
        ],
        name: 'getHypotheticalAccountLiquidity',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'initialIndexConstant',
        outputs: [
            {
                internalType: 'uint224',
                name: '',
                type: 'uint224',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'user',
                type: 'address',
            },
            {
                internalType: 'address',
                name: 'claimer',
                type: 'address',
            },
        ],
        name: 'isAllowedToClaimReward',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'isComptroller',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        name: 'isWhitelisted',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'auTokenBorrowed',
                type: 'address',
            },
            {
                internalType: 'address',
                name: 'auTokenCollateral',
                type: 'address',
            },
            {
                internalType: 'address',
                name: 'liquidator',
                type: 'address',
            },
            {
                internalType: 'address',
                name: 'borrower',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: 'repayAmount',
                type: 'uint256',
            },
        ],
        name: 'liquidateBorrowAllowed',
        outputs: [],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'auTokenBorrowed',
                type: 'address',
            },
            {
                internalType: 'address',
                name: 'auTokenCollateral',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: 'actualRepayAmount',
                type: 'uint256',
            },
        ],
        name: 'liquidateCalculateSeizeTokens',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'liquidationIncentiveMantissa',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        name: 'markets',
        outputs: [
            {
                internalType: 'bool',
                name: 'isListed',
                type: 'bool',
            },
            {
                internalType: 'uint256',
                name: 'collateralFactorMantissa',
                type: 'uint256',
            },
            {
                internalType: 'bool',
                name: 'isPlyed',
                type: 'bool',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'maxAssets',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'auToken',
                type: 'address',
            },
            {
                internalType: 'address',
                name: 'minter',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: 'mintAmount',
                type: 'uint256',
            },
        ],
        name: 'mintAllowed',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'mintCapGuardian',
        outputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        name: 'mintCaps',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        name: 'mintGuardianPaused',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'oracle',
        outputs: [
            {
                internalType: 'contract PriceOracle',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'pauseGuardian',
        outputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'pendingAdmin',
        outputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'pendingComptrollerImplementation',
        outputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'ply',
        outputs: [
            {
                internalType: 'contract EIP20Interface',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'pulp',
        outputs: [
            {
                internalType: 'contract PULPInterface',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'auToken',
                type: 'address',
            },
            {
                internalType: 'address',
                name: 'redeemer',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: 'redeemTokens',
                type: 'uint256',
            },
        ],
        name: 'redeemAllowed',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'auToken',
                type: 'address',
            },
            {
                internalType: 'address',
                name: 'payer',
                type: 'address',
            },
            {
                internalType: 'address',
                name: 'borrower',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: 'repayAmount',
                type: 'uint256',
            },
        ],
        name: 'repayBorrowAllowed',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint8',
                name: '',
                type: 'uint8',
            },
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        name: 'rewardAccrued',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'rewardAurora',
        outputs: [
            {
                internalType: 'uint8',
                name: '',
                type: 'uint8',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint8',
                name: '',
                type: 'uint8',
            },
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        name: 'rewardBorrowState',
        outputs: [
            {
                internalType: 'uint224',
                name: 'index',
                type: 'uint224',
            },
            {
                internalType: 'uint32',
                name: 'timestamp',
                type: 'uint32',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint8',
                name: '',
                type: 'uint8',
            },
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        name: 'rewardBorrowerIndex',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'rewardClaimStart',
        outputs: [
            {
                internalType: 'uint32',
                name: '',
                type: 'uint32',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'rewardPly',
        outputs: [
            {
                internalType: 'uint8',
                name: '',
                type: 'uint8',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint8',
                name: '',
                type: 'uint8',
            },
        ],
        name: 'rewardRate',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint8',
                name: '',
                type: 'uint8',
            },
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        name: 'rewardSpeeds',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint8',
                name: '',
                type: 'uint8',
            },
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        name: 'rewardSupplierIndex',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint8',
                name: '',
                type: 'uint8',
            },
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        name: 'rewardSupplyState',
        outputs: [
            {
                internalType: 'uint224',
                name: 'index',
                type: 'uint224',
            },
            {
                internalType: 'uint32',
                name: 'timestamp',
                type: 'uint32',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'auTokenCollateral',
                type: 'address',
            },
            {
                internalType: 'address',
                name: 'auTokenBorrowed',
                type: 'address',
            },
            {
                internalType: 'address',
                name: 'liquidator',
                type: 'address',
            },
            {
                internalType: 'address',
                name: 'borrower',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: 'seizeTokens',
                type: 'uint256',
            },
        ],
        name: 'seizeAllowed',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'seizeGuardianPaused',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'contract PULPInterface',
                name: 'newPulp',
                type: 'address',
            },
        ],
        name: 'setLockAddress',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint32',
                name: 'newRewardClaimStart',
                type: 'uint32',
            },
        ],
        name: 'setRewardClaimStart',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'contract EIP20Interface',
                name: 'newPly',
                type: 'address',
            },
            {
                internalType: 'contract EIP20Interface',
                name: 'newAurora',
                type: 'address',
            },
        ],
        name: 'setTokens',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'addr',
                type: 'address',
            },
            {
                internalType: 'bool',
                name: 'whitelisted',
                type: 'bool',
            },
        ],
        name: 'setWhitelisted',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'auToken',
                type: 'address',
            },
            {
                internalType: 'address',
                name: 'src',
                type: 'address',
            },
            {
                internalType: 'address',
                name: 'dst',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: 'transferTokens',
                type: 'uint256',
            },
        ],
        name: 'transferAllowed',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'transferGuardianPaused',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
];
class AurigamiComptroller__factory {
    static createInterface() {
        return new ethers_1.utils.Interface(_abi);
    }
    static connect(address, signerOrProvider) {
        return new ethers_1.Contract(address, _abi, signerOrProvider);
    }
}
exports.AurigamiComptroller__factory = AurigamiComptroller__factory;
AurigamiComptroller__factory.abi = _abi;
//# sourceMappingURL=AurigamiComptroller__factory.js.map