"use strict";
var __assign = (this && this.__assign) || function () {
    __assign = Object.assign || function(t) {
        for (var s, i = 1, n = arguments.length; i < n; i++) {
            s = arguments[i];
            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
                t[p] = s[p];
        }
        return t;
    };
    return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.mmConfig = exports.mmAddress = void 0;
exports.mmAddress = {
    arbitrum: {
        ARB: '0x912CE59144191C1204E64559FE8253a0e49E6548',
        Y2K: '0x65c936f008BC34fE819bce9Fa5afD9dc2d49977f',
        SECT: '0x0B63C61bba4a876a6eB8b5e596800F7649A9B71E',
        ETH: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1',
        SECT_MULTISIG: '0x91954c01185b6b55542f654562837c31b5233043',
        Y2K_MULTISIG: '0x0',
    },
};
var config = [
    // {
    //   baseToken: 'Y2K',
    //   quoteToken: 'ARB',
    //   type: 'Arrakis',
    //   feeTier: 3000,
    //   dec0: '18',
    //   dec1: '18',
    //   chain: 'arbitrum',
    // },
    {
        baseToken: 'SECT',
        quoteToken: 'ARB',
        type: 'Arrakis',
        dex: 'UniV3',
        feeTier: 3000,
        dec0: '18',
        dec1: '18',
        chain: 'arbitrum',
        daoWallet: exports.mmAddress['arbitrum']['SECT_MULTISIG'],
    },
    {
        baseToken: 'SECT',
        quoteToken: 'ETH',
        type: 'DefiEdge',
        dex: 'Camelot',
        dec0: '18',
        dec1: '18',
        chain: 'arbitrum',
        daoWallet: exports.mmAddress['arbitrum']['SECT_MULTISIG'],
    },
];
var getName = function (protocol, dex, symbol0, symbol1, chain, version) {
    // `${type}MM_${symbol0}-${symbol1}_${chain}`;
    return "ALM_".concat(symbol0, "-").concat(symbol1, "_").concat(protocol, "-").concat(dex, "_").concat(chain, "_v").concat(version);
};
var getConfig = function (protocol, dex, baseToken, quoteToken, chain, version) {
    return {
        baseToken: exports.mmAddress[chain][baseToken],
        name: getName(protocol, dex, baseToken, quoteToken, chain, version),
        symbol: "".concat(baseToken, "-").concat(quoteToken),
        token0: exports.mmAddress[chain][baseToken],
        token1: exports.mmAddress[chain][quoteToken],
        chain: chain,
    };
};
exports.mmConfig = config.reduce(function (acc, cur) {
    var baseToken = cur.baseToken, quoteToken = cur.quoteToken, type = cur.type, dex = cur.dex, chain = cur.chain, _a = cur.version, version = _a === void 0 ? 0 : _a;
    var name = getName(type, dex, baseToken, quoteToken, chain, version);
    acc[name] = __assign(__assign({}, cur), getConfig(type, dex, baseToken, quoteToken, chain, version));
    return acc;
}, {});
//# sourceMappingURL=config.js.map