"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.PendleData__factory = void 0;
const ethers_1 = require("ethers");
const _abi = [
    {
        inputs: [
            {
                internalType: 'address',
                name: '_governanceManager',
                type: 'address',
            },
            {
                internalType: 'address',
                name: '_treasury',
                type: 'address',
            },
            {
                internalType: 'address',
                name: '_pausingManager',
                type: 'address',
            },
        ],
        stateMutability: 'nonpayable',
        type: 'constructor',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'uint256',
                name: '_blockDelta',
                type: 'uint256',
            },
        ],
        name: 'CurveShiftBlockDeltaSet',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'uint256',
                name: 'expiryDivisor',
                type: 'uint256',
            },
        ],
        name: 'ExpiryDivisorSet',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'bytes32',
                name: 'forgeId',
                type: 'bytes32',
            },
            {
                indexed: true,
                internalType: 'address',
                name: 'forgeAddress',
                type: 'address',
            },
        ],
        name: 'ForgeAdded',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'bytes32',
                name: '_forgeId',
                type: 'bytes32',
            },
            {
                indexed: false,
                internalType: 'bytes32',
                name: '_marketFactoryId',
                type: 'bytes32',
            },
            {
                indexed: false,
                internalType: 'bool',
                name: '_valid',
                type: 'bool',
            },
        ],
        name: 'ForgeFactoryValiditySet',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'uint256',
                name: 'forgeFee',
                type: 'uint256',
            },
        ],
        name: 'ForgeFeeSet',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'uint256',
                name: 'interestUpdateRateDeltaForMarket',
                type: 'uint256',
            },
        ],
        name: 'InterestUpdateRateDeltaForMarketSet',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'uint256',
                name: 'lockNumerator',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: 'lockDenominator',
                type: 'uint256',
            },
        ],
        name: 'LockParamsSet',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'uint256',
                name: '_swapFee',
                type: 'uint256',
            },
            {
                indexed: false,
                internalType: 'uint256',
                name: '_protocolSwapFee',
                type: 'uint256',
            },
        ],
        name: 'MarketFeesSet',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'address',
                name: 'market',
                type: 'address',
            },
            {
                indexed: true,
                internalType: 'address',
                name: 'xyt',
                type: 'address',
            },
            {
                indexed: true,
                internalType: 'address',
                name: 'token',
                type: 'address',
            },
        ],
        name: 'MarketPairAdded',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: 'bytes32',
                name: 'marketFactoryId',
                type: 'bytes32',
            },
            {
                indexed: true,
                internalType: 'address',
                name: 'marketFactoryAddress',
                type: 'address',
            },
        ],
        name: 'NewMarketFactory',
        type: 'event',
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: 'address',
                name: 'treasury',
                type: 'address',
            },
        ],
        name: 'TreasurySet',
        type: 'event',
    },
    {
        inputs: [
            {
                internalType: 'bytes32',
                name: '_forgeId',
                type: 'bytes32',
            },
            {
                internalType: 'address',
                name: '_forgeAddress',
                type: 'address',
            },
        ],
        name: 'addForge',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'bytes32',
                name: '_marketFactoryId',
                type: 'bytes32',
            },
            {
                internalType: 'address',
                name: '_xyt',
                type: 'address',
            },
            {
                internalType: 'address',
                name: '_token',
                type: 'address',
            },
            {
                internalType: 'address',
                name: '_market',
                type: 'address',
            },
        ],
        name: 'addMarket',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'bytes32',
                name: '_marketFactoryId',
                type: 'bytes32',
            },
            {
                internalType: 'address',
                name: '_marketFactoryAddress',
                type: 'address',
            },
        ],
        name: 'addMarketFactory',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        name: 'allMarkets',
        outputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'allMarketsLength',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'curveShiftBlockDelta',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'expiryDivisor',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'forgeFee',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'bytes32',
                name: '',
                type: 'bytes32',
            },
        ],
        name: 'getForgeAddress',
        outputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'bytes32',
                name: '',
                type: 'bytes32',
            },
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        name: 'getMarket',
        outputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: 'index',
                type: 'uint256',
            },
        ],
        name: 'getMarketByIndex',
        outputs: [
            {
                internalType: 'address',
                name: 'market',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'bytes32',
                name: '',
                type: 'bytes32',
            },
        ],
        name: 'getMarketFactoryAddress',
        outputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '_tokenIn',
                type: 'address',
            },
            {
                internalType: 'address',
                name: '_tokenOut',
                type: 'address',
            },
            {
                internalType: 'bytes32',
                name: '_marketFactoryId',
                type: 'bytes32',
            },
        ],
        name: 'getMarketFromKey',
        outputs: [
            {
                internalType: 'address',
                name: 'market',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'bytes32',
                name: '_forgeId',
                type: 'bytes32',
            },
            {
                internalType: 'address',
                name: '_underlyingAsset',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: '_expiry',
                type: 'uint256',
            },
        ],
        name: 'getPendleYieldTokens',
        outputs: [
            {
                internalType: 'contract IPendleYieldToken',
                name: 'ot',
                type: 'address',
            },
            {
                internalType: 'contract IPendleYieldToken',
                name: 'xyt',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'governanceManager',
        outputs: [
            {
                internalType: 'contract PendleGovernanceManager',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'contract IPendleRouter',
                name: '_router',
                type: 'address',
            },
        ],
        name: 'initialize',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'interestUpdateRateDeltaForMarket',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        name: 'isMarket',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'bytes32',
                name: '_forgeId',
                type: 'bytes32',
            },
            {
                internalType: 'address',
                name: '_underlyingAsset',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: '_expiry',
                type: 'uint256',
            },
        ],
        name: 'isValidOT',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'bytes32',
                name: '_forgeId',
                type: 'bytes32',
            },
            {
                internalType: 'address',
                name: '_underlyingAsset',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: '_expiry',
                type: 'uint256',
            },
        ],
        name: 'isValidXYT',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        name: 'isXyt',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'lockDenominator',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'lockNumerator',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'bytes32',
                name: '',
                type: 'bytes32',
            },
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        name: 'otTokens',
        outputs: [
            {
                internalType: 'contract IPendleYieldToken',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'pausingManager',
        outputs: [
            {
                internalType: 'contract IPendlePausingManager',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'protocolSwapFee',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'router',
        outputs: [
            {
                internalType: 'contract IPendleRouter',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: '_blockDelta',
                type: 'uint256',
            },
        ],
        name: 'setCurveShiftBlockDelta',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: '_expiryDivisor',
                type: 'uint256',
            },
        ],
        name: 'setExpiryDivisor',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'bytes32',
                name: '_forgeId',
                type: 'bytes32',
            },
            {
                internalType: 'bytes32',
                name: '_marketFactoryId',
                type: 'bytes32',
            },
            {
                internalType: 'bool',
                name: '_valid',
                type: 'bool',
            },
        ],
        name: 'setForgeFactoryValidity',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: '_forgeFee',
                type: 'uint256',
            },
        ],
        name: 'setForgeFee',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: '_interestUpdateRateDeltaForMarket',
                type: 'uint256',
            },
        ],
        name: 'setInterestUpdateRateDeltaForMarket',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: '_lockNumerator',
                type: 'uint256',
            },
            {
                internalType: 'uint256',
                name: '_lockDenominator',
                type: 'uint256',
            },
        ],
        name: 'setLockParams',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'uint256',
                name: '_swapFee',
                type: 'uint256',
            },
            {
                internalType: 'uint256',
                name: '_protocolSwapFee',
                type: 'uint256',
            },
        ],
        name: 'setMarketFees',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'address',
                name: '_treasury',
                type: 'address',
            },
        ],
        name: 'setTreasury',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'bytes32',
                name: '_forgeId',
                type: 'bytes32',
            },
            {
                internalType: 'address',
                name: '_ot',
                type: 'address',
            },
            {
                internalType: 'address',
                name: '_xyt',
                type: 'address',
            },
            {
                internalType: 'address',
                name: '_underlyingAsset',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: '_expiry',
                type: 'uint256',
            },
        ],
        name: 'storeTokens',
        outputs: [],
        stateMutability: 'nonpayable',
        type: 'function',
    },
    {
        inputs: [],
        name: 'swapFee',
        outputs: [
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [],
        name: 'treasury',
        outputs: [
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'bytes32',
                name: '',
                type: 'bytes32',
            },
            {
                internalType: 'bytes32',
                name: '',
                type: 'bytes32',
            },
        ],
        name: 'validForgeFactoryPair',
        outputs: [
            {
                internalType: 'bool',
                name: '',
                type: 'bool',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
    {
        inputs: [
            {
                internalType: 'bytes32',
                name: '',
                type: 'bytes32',
            },
            {
                internalType: 'address',
                name: '',
                type: 'address',
            },
            {
                internalType: 'uint256',
                name: '',
                type: 'uint256',
            },
        ],
        name: 'xytTokens',
        outputs: [
            {
                internalType: 'contract IPendleYieldToken',
                name: '',
                type: 'address',
            },
        ],
        stateMutability: 'view',
        type: 'function',
    },
];
class PendleData__factory {
    static createInterface() {
        return new ethers_1.utils.Interface(_abi);
    }
    static connect(address, signerOrProvider) {
        return new ethers_1.Contract(address, _abi, signerOrProvider);
    }
}
exports.PendleData__factory = PendleData__factory;
PendleData__factory.abi = _abi;
//# sourceMappingURL=PendleData__factory.js.map