"use strict";
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
Object.defineProperty(exports, "__esModule", { value: true });
exports.DefiedgeTwapShareHelper__factory = void 0;
var ethers_1 = require("ethers");
var _abi = [
    {
        inputs: [],
        name: "DIVISOR",
        outputs: [
            {
                internalType: "uint256",
                name: "",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "contract ITwapStrategyFactory",
                name: "_factory",
                type: "ITwapStrategyFactory",
            },
            {
                internalType: "contract ITwapStrategyManager",
                name: "_manager",
                type: "ITwapStrategyManager",
            },
            {
                internalType: "uint256",
                name: "_accManagementFee",
                type: "uint256",
            },
        ],
        name: "calculateFeeShares",
        outputs: [
            {
                internalType: "address",
                name: "managerFeeTo",
                type: "address",
            },
            {
                internalType: "address",
                name: "protocolFeeTo",
                type: "address",
            },
            {
                internalType: "uint256",
                name: "managerShare",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "protocolShare",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "contract ITwapStrategyFactory",
                name: "_factory",
                type: "ITwapStrategyFactory",
            },
            {
                internalType: "contract ITwapStrategyManager",
                name: "_manager",
                type: "ITwapStrategyManager",
            },
            {
                internalType: "address",
                name: "_strategy",
                type: "address",
            },
            {
                internalType: "uint256",
                name: "_fee0",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "_fee1",
                type: "uint256",
            },
        ],
        name: "calculateFeeTokenShares",
        outputs: [
            {
                internalType: "address",
                name: "managerFeeTo",
                type: "address",
            },
            {
                internalType: "address",
                name: "protocolFeeTo",
                type: "address",
            },
            {
                internalType: "uint256",
                name: "managerToken0Amount",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "managerToken1Amount",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "protocolToken0Amount",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "protocolToken1Amount",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "address",
                name: "_registry",
                type: "address",
            },
            {
                internalType: "address",
                name: "_pool",
                type: "address",
            },
            {
                internalType: "address",
                name: "_manager",
                type: "address",
            },
            {
                internalType: "bool[2]",
                name: "_useTwap",
                type: "bool[2]",
            },
            {
                internalType: "uint256",
                name: "_amount0",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "_amount1",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "_totalAmount0",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "_totalAmount1",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "_totalShares",
                type: "uint256",
            },
        ],
        name: "calculateShares",
        outputs: [
            {
                internalType: "uint256",
                name: "share",
                type: "uint256",
            },
        ],
        stateMutability: "view",
        type: "function",
    },
    {
        inputs: [
            {
                internalType: "uint256",
                name: "_amount0",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "_amount1",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "_amount0Min",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "_amount1Min",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "_totalAmount0",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "_totalAmount1",
                type: "uint256",
            },
        ],
        name: "getOptimalAmounts",
        outputs: [
            {
                internalType: "uint256",
                name: "amount0",
                type: "uint256",
            },
            {
                internalType: "uint256",
                name: "amount1",
                type: "uint256",
            },
        ],
        stateMutability: "pure",
        type: "function",
    },
];
var DefiedgeTwapShareHelper__factory = /** @class */ (function () {
    function DefiedgeTwapShareHelper__factory() {
    }
    DefiedgeTwapShareHelper__factory.createInterface = function () {
        return new ethers_1.utils.Interface(_abi);
    };
    DefiedgeTwapShareHelper__factory.connect = function (address, signerOrProvider) {
        return new ethers_1.Contract(address, _abi, signerOrProvider);
    };
    DefiedgeTwapShareHelper__factory.abi = _abi;
    return DefiedgeTwapShareHelper__factory;
}());
exports.DefiedgeTwapShareHelper__factory = DefiedgeTwapShareHelper__factory;
//# sourceMappingURL=DefiedgeTwapShareHelper__factory.js.map