"use strict";
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
Object.defineProperty(exports, "__esModule", { value: true });
exports.DefiedgeTwapFactory__factory = void 0;
var ethers_1 = require("ethers");
var _abi = [
    {
        inputs: [
            {
                internalType: "address",
                name: "_governance",
                type: "address",
            },
            {
                internalType: "contract IDefiEdgeTwapStrategyDeployer",
                name: "_deployerProxy",
                type: "address",
            },
            {
                internalType: "contract FeedRegistryInterface",
                name: "_chainlinkRegistry",
                type: "address",
            },
            {
                internalType: "contract IAlgebraFactory",
                name: "_algebraFactory",
                type: "address",
            },
            {
                internalType: "uint256",
                name: "_allowedSlippage",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "_allowedDeviation",
                type: "uint256",
            },
        ],
        stateMutability: "nonpayable",
        type: "constructor",
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: "address",
                name: "pool",
                type: "address",
            },
            {
                indexed: false,
                internalType: "uint256",
                name: "value",
                type: "uint256",
            },
        ],
        name: "ChangeAllowedSlippage",
        type: "event",
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: "address",
                name: "pool",
                type: "address",
            },
            {
                indexed: false,
                internalType: "uint256",
                name: "value",
                type: "uint256",
            },
        ],
        name: "ChangeAllowedSwapDeviation",
        type: "event",
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: "uint256",
                name: "fee",
                type: "uint256",
            },
        ],
        name: "ChangeProtocolFee",
        type: "event",
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: "address",
                name: "strategyOrPool",
                type: "address",
            },
            {
                indexed: false,
                internalType: "uint256",
                name: "_feeRate",
                type: "uint256",
            },
        ],
        name: "ChangeProtocolPerformanceFee",
        type: "event",
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: "uint256",
                name: "amount",
                type: "uint256",
            },
        ],
        name: "ChangeStrategyCreationFee",
        type: "event",
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: "address",
                name: "newSwapProxy",
                type: "address",
            },
        ],
        name: "ChangeSwapProxy",
        type: "event",
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: "address",
                name: "to",
                type: "address",
            },
            {
                indexed: false,
                internalType: "uint256",
                name: "amount",
                type: "uint256",
            },
        ],
        name: "ClaimFees",
        type: "event",
    },
    {
        anonymous: false,
        inputs: [],
        name: "EmergencyFrozen",
        type: "event",
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: true,
                internalType: "address",
                name: "strategy",
                type: "address",
            },
            {
                indexed: true,
                internalType: "address",
                name: "creater",
                type: "address",
            },
        ],
        name: "NewStrategy",
        type: "event",
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: "bool",
                name: "status",
                type: "bool",
            },
        ],
        name: "StrategyStatusChanged",
        type: "event",
    },
    {
        anonymous: false,
        inputs: [
            {
                indexed: false,
                internalType: "address",
                name: "pool",
                type: "address",
            },
            {
                indexed: false,
                internalType: "uint256",
                name: "period",
                type: "uint256",
            },
        ],
        name: "TwapPricePeriodChanged",
        type: "event",
    },
    {
        inputs: [],
        name: "MAX_DECIMAL",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "MAX_PROTOCOL_PERFORMANCE_FEES_RATE",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "acceptGovernance",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [],
        name: "algebraFactory",
        outputs: [
            {
                internalType: "contract IAlgebraFactory",
                name: "",
                type: "address",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "_pool",
                type: "address",
            },
        ],
        name: "allowedSlippage",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "_pool",
                type: "address",
            },
        ],
        name: "allowedSwapDeviation",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "chainlinkRegistry",
        outputs: [
            {
                internalType: "contract FeedRegistryInterface",
                name: "",
                type: "address",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "_pool",
                type: "address",
            },
            {
                internalType: "uint256",
                name: "_allowedSlippage",
                type: "uint256",
            },
        ],
        name: "changeAllowedSlippage",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "_pool",
                type: "address",
            },
            {
                internalType: "uint256",
                name: "_allowedSwapDeviation",
                type: "uint256",
            },
        ],
        name: "changeAllowedSwapDeviation",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "_pool",
                type: "address",
            },
            {
                internalType: "uint256",
                name: "_twapPricePeriod",
                type: "uint256",
            },
        ],
        name: "changeDefaultTwapPeriod",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint256",
                name: "_allowedSlippage",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "_allowedSwapDeviation",
                type: "uint256",
            },
        ],
        name: "changeDefaultValues",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint256",
                name: "_fee",
                type: "uint256",
            },
        ],
        name: "changeFeeForStrategyCreation",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "_feeTo",
                type: "address",
            },
        ],
        name: "changeFeeTo",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "_governance",
                type: "address",
            },
        ],
        name: "changeGovernance",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint256",
                name: "_fee",
                type: "uint256",
            },
        ],
        name: "changeProtocolFeeRate",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "pool",
                type: "address",
            },
            {
                internalType: "address",
                name: "strategy",
                type: "address",
            },
            {
                internalType: "uint256",
                name: "_feeRate",
                type: "uint256",
            },
        ],
        name: "changeProtocolPerformanceFeeRate",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "_swapProxy",
                type: "address",
            },
        ],
        name: "changeSwapProxy",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "_to",
                type: "address",
            },
        ],
        name: "claimFees",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                components: [
                    {
                        internalType: "address",
                        name: "operator",
                        type: "address",
                    },
                    {
                        internalType: "address",
                        name: "feeTo",
                        type: "address",
                    },
                    {
                        internalType: "uint256",
                        name: "managementFeeRate",
                        type: "uint256",
                    },
                    {
                        internalType: "uint256",
                        name: "performanceFeeRate",
                        type: "uint256",
                    },
                    {
                        internalType: "uint256",
                        name: "limit",
                        type: "uint256",
                    },
                    {
                        internalType: "contract IAlgebraPool",
                        name: "pool",
                        type: "address",
                    },
                    {
                        internalType: "bool[2]",
                        name: "useTwap",
                        type: "bool[2]",
                    },
                    {
                        components: [
                            {
                                internalType: "int24",
                                name: "tickLower",
                                type: "int24",
                            },
                            {
                                internalType: "int24",
                                name: "tickUpper",
                                type: "int24",
                            },
                        ],
                        internalType: "struct ITwapStrategyBase.Tick[]",
                        name: "ticks",
                        type: "tuple[]",
                    },
                ],
                internalType: "struct ITwapStrategyFactory.CreateStrategyParams",
                name: "params",
                type: "tuple",
            },
        ],
        name: "createStrategy",
        outputs: [],
        stateMutability: "payable",
        type: "function",
    },
    {
        inputs: [],
        name: "defaultAllowedSlippage",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "defaultAllowedSwapDeviation",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "defaultProtocolPerformanceFeeRate",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "defaultTwapPricePeriod",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "",
                type: "address",
            },
        ],
        name: "denied",
        outputs: [
            {
                internalType: "bool",
                name: "",
                type: "bool",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "_strategy",
                type: "address",
            },
            {
                internalType: "bool",
                name: "_status",
                type: "bool",
            },
        ],
        name: "deny",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [],
        name: "deployerProxy",
        outputs: [
            {
                internalType: "contract IDefiEdgeTwapStrategyDeployer",
                name: "",
                type: "address",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "feeTo",
        outputs: [
            {
                internalType: "address",
                name: "",
                type: "address",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "freezeEmergency",
        outputs: [
            {
                internalType: "bool",
                name: "",
                type: "bool",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "freezeEmergencyFunctions",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "_base",
                type: "address",
            },
            {
                internalType: "address",
                name: "_quote",
                type: "address",
            },
        ],
        name: "getHeartBeat",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "pool",
                type: "address",
            },
            {
                internalType: "address",
                name: "strategy",
                type: "address",
            },
        ],
        name: "getProtocolPerformanceFeeRate",
        outputs: [
            {
                internalType: "uint256",
                name: "_feeRate",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "governance",
        outputs: [
            {
                internalType: "address",
                name: "",
                type: "address",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "",
                type: "address",
            },
        ],
        name: "isValidStrategy",
        outputs: [
            {
                internalType: "bool",
                name: "",
                type: "bool",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "pendingGovernance",
        outputs: [
            {
                internalType: "address",
                name: "",
                type: "address",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "protocolFeeRate",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "",
                type: "address",
            },
        ],
        name: "protocolPerformanceFeeRateByPool",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "",
                type: "address",
            },
        ],
        name: "protocolPerformanceFeeRateByStrategy",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "_base",
                type: "address",
            },
            {
                internalType: "address",
                name: "_quote",
                type: "address",
            },
            {
                internalType: "uint256",
                name: "_period",
                type: "uint256",
            },
        ],
        name: "setMinHeartbeat",
        outputs: [],
        stateMutability: "nonpayable",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        name: "strategyByIndex",
        outputs: [
            {
                internalType: "address",
                name: "",
                type: "address",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "",
                type: "address",
            },
        ],
        name: "strategyByManager",
        outputs: [
            {
                internalType: "address",
                name: "",
                type: "address",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "strategyCreationFee",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "swapProxy",
        outputs: [
            {
                internalType: "address",
                name: "",
                type: "address",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [],
        name: "totalIndex",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "",
                type: "address",
            },
        ],
        name: "twapPricePeriod",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
];
var DefiedgeTwapFactory__factory = /** @class */ (function () {
    function DefiedgeTwapFactory__factory() {
    }
    DefiedgeTwapFactory__factory.createInterface = function () {
        return new ethers_1.utils.Interface(_abi);
    };
    DefiedgeTwapFactory__factory.connect = function (address, signerOrProvider) {
        return new ethers_1.Contract(address, _abi, signerOrProvider);
    };
    DefiedgeTwapFactory__factory.abi = _abi;
    return DefiedgeTwapFactory__factory;
}());
exports.DefiedgeTwapFactory__factory = DefiedgeTwapFactory__factory;
//# sourceMappingURL=DefiedgeTwapFactory__factory.js.map