"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.MorphoCompound__factory = void 0;
const ethers_1 = require("ethers");
const _abi = [
    {
        inputs: [],
        name: 'AmountIsZero',
        type: 'error',
    },
    {
        inputs: [],
        name: 'ClaimRewardsPaused',
        type: 'error',
    },
    {
        inputs: [],
        name: 'CompoundOracleFailed',
        type: 'error',
    },
    {
        inputs: [],
        name: 'ExceedsMaxBasisPoints',
        type: 'error',
    },
    {
        inputs: [],
        name: 'LowLevelDelegateCallFailed',
        type: 'error',
    },
    {
        inputs: [],
        name: 'MarketAlreadyCreated',
        type: 'error',
    },
    {
        inputs: [],
        name: 'MarketCreationFailedOnCompound',
        type: 'error',
    },
    {
        inputs: [],
        name: 'MarketNotCreated',
        type: 'error',
    },
    {
        inputs: [],
        name: 'MarketPaused',
        type: 'error',
    },
    {
        inputs: [],
        name: 'ZeroAddress',
        type: 'error',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'bool',
                name: '_newStatus',
                type: 'bool',
            },
        ],
        name: 'ClaimRewardsPauseStatusSet',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                components: [
                    {
                        internalType: 'uint64',
                        name: 'supply',
                        type: 'uint64',
                    },
                    {
                        internalType: 'uint64',
                        name: 'borrow',
                        type: 'uint64',
                    },
                    {
                        internalType: 'uint64',
                        name: 'withdraw',
                        type: 'uint64',
                    },
                    {
                        internalType: 'uint64',
                        name: 'repay',
                        type: 'uint64',
                    },
                ],
                indexed: false,
                internalType: 'struct Types.MaxGasForMatching',
                name: '_defaultMaxGasForMatching',
                type: 'tuple',
            },
        ],
        name: 'DefaultMaxGasForMatchingSet',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'uint256',
                name: '_dustThreshold',
                type: 'uint256',
            },
        ],
        name: 'DustThresholdSet',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'address',
                name: '_newIncentivesVaultAddress',
                type: 'address',
            },
        ],
        name: 'IncentivesVaultSet',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'address',
                name: '_interestRatesManager',
                type: 'address',
            },
        ],
        name: 'InterestRatesSet',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'address',
                name: '_poolTokenAddress',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'uint16',
                name: '_reserveFactor',
                type: 'uint16',
            },
            {
                indexed: false,
                internalType: 'uint16',
                name: '_p2pIndexCursor',
                type: 'uint16',
            },
        ],
        name: 'MarketCreated',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'uint256',
                name: '_newValue',
                type: 'uint256',
            },
        ],
        name: 'MaxSortedUsersSet',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'address',
                name: 'previousOwner',
                type: 'address',
            },
            {
                indexed: true,
                internalType: 'address',
                name: 'newOwner',
                type: 'address',
            },
        ],
        name: 'OwnershipTransferred',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'address',
                name: '_poolTokenAddress',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'uint16',
                name: '_newValue',
                type: 'uint16',
            },
        ],
        name: 'P2PIndexCursorSet',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'address',
                name: '_poolTokenAddress',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'bool',
                name: '_p2pDisabled',
                type: 'bool',
            },
        ],
        name: 'P2PStatusSet',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'address',
                name: '_poolTokenAddress',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'bool',
                name: '_newStatus',
                type: 'bool',
            },
        ],
        name: 'PartialPauseStatusSet',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'address',
                name: '_poolTokenAddress',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'bool',
                name: '_newStatus',
                type: 'bool',
            },
        ],
        name: 'PauseStatusSet',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'address',
                name: '_positionsManager',
                type: 'address',
            },
        ],
        name: 'PositionsManagerSet',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'address',
                name: '_poolTokenAddress',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'uint16',
                name: '_newValue',
                type: 'uint16',
            },
        ],
        name: 'ReserveFactorSet',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'address',
                name: '_poolTokenAddress',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: '_amountClaimed',
                type: 'uint256',
            },
        ],
        name: 'ReserveFeeClaimed',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'address',
                name: '_user',
                type: 'address',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: '_amountClaimed',
                type: 'uint256',
            },
            {
                indexed: true,
                internalType: 'bool',
                name: '_traded',
                type: 'bool',
            },
        ],
        name: 'RewardsClaimed',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'address',
                name: '_newRewardsManagerAddress',
                type: 'address',
            },
        ],
        name: 'RewardsManagerSet',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'address',
                name: '_newTreasuryVaultAddress',
                type: 'address',
            },
        ],
        name: 'TreasuryVaultSet',
        type: 'event',
    },
    {
        inputs: [],
        name: 'CTOKEN_DECIMALS',
        outputs: [
            {
                internalType: 'uint8',
                name: '',
                type: 'uint8',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'MAX_BASIS_POINTS',
        outputs: [
            {
                internalType: 'uint16',
                name: '',
                type: 'uint16',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'WAD',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '_poolTokenAddress',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: '_amount',
                type: 'uint256',
            },
        ],
        name: 'borrow',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '_poolTokenAddress',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: '_amount',
                type: 'uint256',
            },
            {
                internalType: 'uint256',
                name: '_maxGasForMatching',
                type: 'uint256',
            },
        ],
        name: 'borrow',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        name: 'borrowBalanceInOf',
        outputs: [
            {
                internalType: 'uint256',
                name: 'inP2P',
                type: 'uint256',
            },
            {
                internalType: 'uint256',
                name: 'onPool',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'cEth',
        outputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address[]',
                name: '_cTokenAddresses',
                type: 'address[]',
            },
            {
                internalType: 'bool',
                name: '_tradeForMorphoToken',
                type: 'bool',
            },
        ],
        name: 'claimRewards',
        outputs: [
            {
                internalType: 'uint256',
                name: 'amountOfRewards',
                type: 'uint256',
            },
        ],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address[]',
                name: '_poolTokenAddresses',
                type: 'address[]',
            },
            {
                internalType: 'uint256[]',
                name: '_amounts',
                type: 'uint256[]',
            },
        ],
        name: 'claimToTreasury',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'comptroller',
        outputs: [
            {
                internalType: 'contract IComptroller',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '_poolTokenAddress',
                type: 'address',
            },
            {
                components: [
                    {
                        internalType: 'uint16',
                        name: 'reserveFactor',
                        type: 'uint16',
                    },
                    {
                        internalType: 'uint16',
                        name: 'p2pIndexCursor',
                        type: 'uint16',
                    },
                ],
                internalType: 'struct Types.MarketParameters',
                name: '_marketParams',
                type: 'tuple',
            },
        ],
        name: 'createMarket',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'defaultMaxGasForMatching',
        outputs: [
            {
                internalType: 'uint64',
                name: 'supply',
                type: 'uint64',
            },
            {
                internalType: 'uint64',
                name: 'borrow',
                type: 'uint64',
            },
            {
                internalType: 'uint64',
                name: 'withdraw',
                type: 'uint64',
            },
            {
                internalType: 'uint64',
                name: 'repay',
                type: 'uint64',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        name: 'deltas',
        outputs: [
            {
                internalType: 'uint256',
                name: 'p2pSupplyDelta',
                type: 'uint256',
            },
            {
                internalType: 'uint256',
                name: 'p2pBorrowDelta',
                type: 'uint256',
            },
            {
                internalType: 'uint256',
                name: 'p2pSupplyAmount',
                type: 'uint256',
            },
            {
                internalType: 'uint256',
                name: 'p2pBorrowAmount',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'dustThreshold',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        name: 'enteredMarkets',
        outputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'getAllMarkets',
        outputs: [
            {
                internalType: 'address[]',
                name: 'marketsCreated_',
                type: 'address[]',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '_user',
                type: 'address',
            },
        ],
        name: 'getEnteredMarkets',
        outputs: [
            {
                internalType: 'address[]',
                name: 'enteredMarkets_',
                type: 'address[]',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '_poolTokenAddress',
                type: 'address',
            },
            {
                internalType: 'enum Types.PositionType',
                name: '_positionType',
                type: 'uint8',
            },
        ],
        name: 'getHead',
        outputs: [
            {
                internalType: 'address',
                name: 'head',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '_poolTokenAddress',
                type: 'address',
            },
            {
                internalType: 'enum Types.PositionType',
                name: '_positionType',
                type: 'uint8',
            },
            {
                internalType: 'address',
                name: '_user',
                type: 'address',
            },
        ],
        name: 'getNext',
        outputs: [
            {
                internalType: 'address',
                name: 'next',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'incentivesVault',
        outputs: [
            {
                internalType: 'contract IIncentivesVault',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'contract IPositionsManager',
                name: '_positionsManager',
                type: 'address',
            },
            {
                internalType: 'contract IInterestRatesManager',
                name: '_interestRatesManager',
                type: 'address',
            },
            {
                internalType: 'contract IComptroller',
                name: '_comptroller',
                type: 'address',
            },
            {
                components: [
                    {
                        internalType: 'uint64',
                        name: 'supply',
                        type: 'uint64',
                    },
                    {
                        internalType: 'uint64',
                        name: 'borrow',
                        type: 'uint64',
                    },
                    {
                        internalType: 'uint64',
                        name: 'withdraw',
                        type: 'uint64',
                    },
                    {
                        internalType: 'uint64',
                        name: 'repay',
                        type: 'uint64',
                    },
                ],
                internalType: 'struct Types.MaxGasForMatching',
                name: '_defaultMaxGasForMatching',
                type: 'tuple',
            },
            {
                internalType: 'uint256',
                name: '_dustThreshold',
                type: 'uint256',
            },
            {
                internalType: 'uint256',
                name: '_maxSortedUsers',
                type: 'uint256',
            },
            {
                internalType: 'address',
                name: '_cEth',
                type: 'address',
            },
            {
                internalType: 'address',
                name: '_wEth',
                type: 'address',
            },
        ],
        name: 'initialize',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'interestRatesManager',
        outputs: [
            {
                internalType: 'contract IInterestRatesManager',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'isClaimRewardsPaused',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        name: 'lastBorrowBlock',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        name: 'lastPoolIndexes',
        outputs: [
            {
                internalType: 'uint32',
                name: 'lastUpdateBlockNumber',
                type: 'uint32',
            },
            {
                internalType: 'uint112',
                name: 'lastSupplyPoolIndex',
                type: 'uint112',
            },
            {
                internalType: 'uint112',
                name: 'lastBorrowPoolIndex',
                type: 'uint112',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '_poolTokenBorrowedAddress',
                type: 'address',
            },
            {
                internalType: 'address',
                name: '_poolTokenCollateralAddress',
                type: 'address',
            },
            {
                internalType: 'address',
                name: '_borrower',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: '_amount',
                type: 'uint256',
            },
        ],
        name: 'liquidate',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        name: 'marketParameters',
        outputs: [
            {
                internalType: 'uint16',
                name: 'reserveFactor',
                type: 'uint16',
            },
            {
                internalType: 'uint16',
                name: 'p2pIndexCursor',
                type: 'uint16',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        name: 'marketStatus',
        outputs: [
            {
                internalType: 'bool',
                name: 'isCreated',
                type: 'bool',
            },
            {
                internalType: 'bool',
                name: 'isPaused',
                type: 'bool',
            },
            {
                internalType: 'bool',
                name: 'isPartiallyPaused',
                type: 'bool',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        name: 'marketsCreated',
        outputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'maxSortedUsers',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'owner',
        outputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        name: 'p2pBorrowIndex',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        name: 'p2pDisabled',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        name: 'p2pSupplyIndex',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'positionsManager',
        outputs: [
            {
                internalType: 'contract IPositionsManager',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'renounceOwnership',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '_poolTokenAddress',
                type: 'address',
            },
            {
                internalType: 'address',
                name: '_onBehalf',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: '_amount',
                type: 'uint256',
            },
        ],
        name: 'repay',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'rewardsManager',
        outputs: [
            {
                internalType: 'contract IRewardsManager',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'bool',
                name: '_newStatus',
                type: 'bool',
            },
        ],
        name: 'setClaimRewardsPauseStatus',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                components: [
                    {
                        internalType: 'uint64',
                        name: 'supply',
                        type: 'uint64',
                    },
                    {
                        internalType: 'uint64',
                        name: 'borrow',
                        type: 'uint64',
                    },
                    {
                        internalType: 'uint64',
                        name: 'withdraw',
                        type: 'uint64',
                    },
                    {
                        internalType: 'uint64',
                        name: 'repay',
                        type: 'uint64',
                    },
                ],
                internalType: 'struct Types.MaxGasForMatching',
                name: '_defaultMaxGasForMatching',
                type: 'tuple',
            },
        ],
        name: 'setDefaultMaxGasForMatching',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: '_dustThreshold',
                type: 'uint256',
            },
        ],
        name: 'setDustThreshold',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'contract IIncentivesVault',
                name: '_incentivesVault',
                type: 'address',
            },
        ],
        name: 'setIncentivesVault',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'contract IInterestRatesManager',
                name: '_interestRatesManager',
                type: 'address',
            },
        ],
        name: 'setInterestRatesManager',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: '_newMaxSortedUsers',
                type: 'uint256',
            },
        ],
        name: 'setMaxSortedUsers',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '_poolTokenAddress',
                type: 'address',
            },
            {
                internalType: 'bool',
                name: '_newStatus',
                type: 'bool',
            },
        ],
        name: 'setP2PDisabled',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '_poolTokenAddress',
                type: 'address',
            },
            {
                internalType: 'uint16',
                name: '_p2pIndexCursor',
                type: 'uint16',
            },
        ],
        name: 'setP2PIndexCursor',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '_poolTokenAddress',
                type: 'address',
            },
            {
                internalType: 'bool',
                name: '_newStatus',
                type: 'bool',
            },
        ],
        name: 'setPartialPauseStatus',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '_poolTokenAddress',
                type: 'address',
            },
            {
                internalType: 'bool',
                name: '_newStatus',
                type: 'bool',
            },
        ],
        name: 'setPauseStatus',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'contract IPositionsManager',
                name: '_positionsManager',
                type: 'address',
            },
        ],
        name: 'setPositionsManager',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '_poolTokenAddress',
                type: 'address',
            },
            {
                internalType: 'uint16',
                name: '_newReserveFactor',
                type: 'uint16',
            },
        ],
        name: 'setReserveFactor',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'contract IRewardsManager',
                name: '_rewardsManager',
                type: 'address',
            },
        ],
        name: 'setRewardsManager',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '_treasuryVault',
                type: 'address',
            },
        ],
        name: 'setTreasuryVault',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '_poolTokenAddress',
                type: 'address',
            },
            {
                internalType: 'address',
                name: '_onBehalf',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: '_amount',
                type: 'uint256',
            },
        ],
        name: 'supply',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '_poolTokenAddress',
                type: 'address',
            },
            {
                internalType: 'address',
                name: '_onBehalf',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: '_amount',
                type: 'uint256',
            },
            {
                internalType: 'uint256',
                name: '_maxGasForMatching',
                type: 'uint256',
            },
        ],
        name: 'supply',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        name: 'supplyBalanceInOf',
        outputs: [
            {
                internalType: 'uint256',
                name: 'inP2P',
                type: 'uint256',
            },
            {
                internalType: 'uint256',
                name: 'onPool',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: 'newOwner',
                type: 'address',
            },
        ],
        name: 'transferOwnership',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'treasuryVault',
        outputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '_poolTokenAddress',
                type: 'address',
            },
        ],
        name: 'updateP2PIndexes',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        name: 'userMembership',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'wEth',
        outputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '_poolTokenAddress',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: '_amount',
                type: 'uint256',
            },
        ],
        name: 'withdraw',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        stateMutability: 'payable',
        type: 'receive',
    },
];
class MorphoCompound__factory {
    static createInterface() {
        return new ethers_1.utils.Interface(_abi);
    }
    static connect(address, signerOrProvider) {
        return new ethers_1.Contract(address, _abi, signerOrProvider);
    }
}
exports.MorphoCompound__factory = MorphoCompound__factory;
MorphoCompound__factory.abi = _abi;
//# sourceMappingURL=MorphoCompound__factory.js.map