UNPKG

@fractional-company/common

Version:
72 lines (71 loc) 3.24 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getDexMappedForChain = exports.resolveDex = exports.getDexFactoryABI = exports.getDexFactoryAddress = exports.DEXES = exports.CONTRACT_TYPE_AMM_POOL_FACTORY = exports.SUSHISWAP_V1 = exports.UNISWAP_V2 = exports.UNISWAP_V3 = void 0; const sushiswap_json_1 = __importDefault(require("./abis/dexes/sushiswap.json")); const uniswapV2Factory_json_1 = __importDefault(require("./abis/dexes/uniswapV2Factory.json")); const uniswapV3Factory_json_1 = __importDefault(require("./abis/dexes/uniswapV3Factory.json")); const uniswapV3Pool_json_1 = __importDefault(require("./abis/dexes/uniswapV3Pool.json")); const uniswapV2Pool_json_1 = __importDefault(require("./abis/dexes/uniswapV2Pool.json")); const chains_1 = require("./chains"); const v1_1 = require("../v1"); exports.UNISWAP_V3 = "UNISWAP_V3"; exports.UNISWAP_V2 = "UNISWAP_V2"; exports.SUSHISWAP_V1 = "SUSHISWAP_V1"; exports.CONTRACT_TYPE_AMM_POOL_FACTORY = "AMM_POOL_FACTORY"; exports.DEXES = { [exports.UNISWAP_V2]: { FACTORY_ADDRESS: { [chains_1.CHAINS.MAINNET]: '0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f', }, FACTORY_ABI: uniswapV2Factory_json_1.default, POOL_ABI: uniswapV2Pool_json_1.default }, [exports.UNISWAP_V3]: { FACTORY_ADDRESS: { [chains_1.CHAINS.MAINNET]: '0x1F98431c8aD98523631AE4a59f267346ea31F984', }, FACTORY_ABI: uniswapV3Factory_json_1.default, POOL_ABI: uniswapV3Pool_json_1.default }, [exports.SUSHISWAP_V1]: { FACTORY_ADDRESS: { [chains_1.CHAINS.MAINNET]: '0xC0AEe478e3658e2610c5F7A4A2E1777cE9e4f2Ac', }, FACTORY_ABI: sushiswap_json_1.default, POOL_ABI: uniswapV2Pool_json_1.default } }; function getDexFactoryAddress(dex, chainId = chains_1.CHAINS.MAINNET) { // @ts-ignore // eslint-disable-next-line prettier/prettier return exports.DEXES[dex]?.FACTORY_ADDRESS[chainId]; } exports.getDexFactoryAddress = getDexFactoryAddress; function getDexFactoryABI(dex) { // @ts-ignore return exports.DEXES[dex]?.FACTORY_ABI; } exports.getDexFactoryABI = getDexFactoryABI; function resolveDex(address, chainId = chains_1.CHAINS.MAINNET) { const dex = Object.keys(exports.DEXES) // @ts-ignore .filter(key => exports.DEXES[key].FACTORY_ADDRESS[chainId]?.toLowerCase() === address.toLowerCase()); return dex.length > 0 ? dex[0] : null; } exports.resolveDex = resolveDex; function getDexMappedForChain(chainId = chains_1.CHAINS.MAINNET) { return Object.keys(exports.DEXES) .map(key => { return { // @ts-ignore contractAddress: exports.DEXES[key].FACTORY_ADDRESS[chainId]?.toLowerCase(), contractType: exports.CONTRACT_TYPE_AMM_POOL_FACTORY, chainId, blockNumber: v1_1.START_BLOCK_NUMBERS[chainId] }; }).filter(dex => dex.contractAddress); } exports.getDexMappedForChain = getDexMappedForChain;