UNPKG

soulswap-rubik-sdk

Version:
224 lines 10.6 kB
"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); }; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.getCrossChainContract = exports.crossChainContractsData = void 0; var BLOCKCHAIN_NAME_1 = require("../../../core/blockchain/models/BLOCKCHAIN_NAME"); var cross_chain_contract_data_1 = require("../cross-chain-contract-data/cross-chain-contract-data"); var pancake_swap_provider_1 = require("../../instant-trades/dexes/bsc/pancake-swap/pancake-swap-provider"); var uni_swap_v2_ethereum_provider_1 = require("../../instant-trades/dexes/ethereum/uni-swap-v2-ethereum/uni-swap-v2-ethereum-provider"); var quick_swap_provider_1 = require("../../instant-trades/dexes/polygon/quick-swap/quick-swap-provider"); var cross_chain_supported_blockchains_1 = require("./cross-chain-supported-blockchains"); var spooky_swap_provider_1 = require("../../instant-trades/dexes/fantom/spooky-swap/spooky-swap-provider"); var joe_provider_1 = require("../../instant-trades/dexes/avalanche/joe/joe-provider"); var solarbeam_provider_1 = require("../../instant-trades/dexes/moonriver/solarbeam/solarbeam-provider"); var pangolin_provider_1 = require("../../instant-trades/dexes/avalanche/pangolin/pangolin-provider"); var sushi_swap_ethereum_provider_1 = require("../../instant-trades/dexes/ethereum/sushi-swap-ethereum/sushi-swap-ethereum-provider"); var sushi_swap_bsc_provider_1 = require("../../instant-trades/dexes/bsc/sushi-swap-bsc/sushi-swap-bsc-provider"); var sushi_swap_polygon_provider_1 = require("../../instant-trades/dexes/polygon/sushi-swap-polygon/sushi-swap-polygon-provider"); var sushi_swap_moonriver_provider_1 = require("../../instant-trades/dexes/moonriver/sushi-swap-moonriver/sushi-swap-moonriver-provider"); var spirit_swap_provider_1 = require("../../instant-trades/dexes/fantom/spirit-swap/spirit-swap-provider"); var sushi_swap_fantom_provider_1 = require("../../instant-trades/dexes/fantom/sushi-swap-fantom/sushi-swap-fantom-provider"); var sushi_swap_avalanche_provider_1 = require("../../instant-trades/dexes/avalanche/sushi-swap-avalanche/sushi-swap-avalanche-provider"); var oneinch_ethereum_provider_1 = require("../../instant-trades/dexes/ethereum/oneinch-ethereum/oneinch-ethereum-provider"); var oneinch_bsc_provider_1 = require("../../instant-trades/dexes/bsc/oneinch-bsc/oneinch-bsc-provider"); var oneinch_polygon_provider_1 = require("../../instant-trades/dexes/polygon/oneinch-polygon/oneinch-polygon-provider"); var uni_swap_v3_ethereum_provider_1 = require("../../instant-trades/dexes/ethereum/uni-swap-v3-ethereum/uni-swap-v3-ethereum-provider"); var uni_swap_v3_polygon_provider_1 = require("../../instant-trades/dexes/polygon/uni-swap-v3-polygon/uni-swap-v3-polygon-provider"); var algebra_provider_1 = require("../../instant-trades/dexes/polygon/algebra/algebra-provider"); var viper_swap_harmony_provider_1 = require("../../instant-trades/dexes/harmony/viper-swap-harmony/viper-swap-harmony-provider"); var sushi_swap_harmony_provider_1 = require("../../instant-trades/dexes/harmony/sushi-swap-harmony/sushi-swap-harmony-provider"); var oneinch_arbitrum_provider_1 = require("../../instant-trades/dexes/arbitrum/oneinch-arbitrum/oneinch-arbitrum-provider"); var sushi_swap_arbitrum_provider_1 = require("../../instant-trades/dexes/arbitrum/sushi-swap-arbitrum/sushi-swap-arbitrum-provider"); var uni_swap_v3_arbitrum_provider_1 = require("../../instant-trades/dexes/arbitrum/uni-swap-v3-arbitrum/uni-swap-v3-arbitrum-provider"); var wanna_swap_aurora_provider_1 = require("../../instant-trades/dexes/aurora/wanna-swap-aurora/wanna-swap-aurora-provider"); var trisolaris_aurora_provider_1 = require("../../instant-trades/dexes/aurora/trisolaris-aurora/trisolaris-aurora-provider"); /** * Stores contracts info. * Every contract may have several instant-trade providers. * Because of that every provider has `method suffix` - suffix * to add to default swap-method name to call that provider's method. */ exports.crossChainContractsData = (_a = {}, _a[BLOCKCHAIN_NAME_1.BLOCKCHAIN_NAME.ETHEREUM] = { address: '0xD8b19613723215EF8CC80fC35A1428f8E8826940', providersData: [ { ProviderClass: uni_swap_v2_ethereum_provider_1.UniSwapV2EthereumProvider, methodSuffix: '' }, { ProviderClass: sushi_swap_ethereum_provider_1.SushiSwapEthereumProvider, methodSuffix: '1' }, { ProviderClass: uni_swap_v3_ethereum_provider_1.UniSwapV3EthereumProvider, methodSuffix: 'V3' }, { ProviderClass: oneinch_ethereum_provider_1.OneinchEthereumProvider, methodSuffix: 'Inch' } ] }, _a[BLOCKCHAIN_NAME_1.BLOCKCHAIN_NAME.BINANCE_SMART_CHAIN] = { address: '0x70e8C8139d1ceF162D5ba3B286380EB5913098c4', providersData: [ { ProviderClass: pancake_swap_provider_1.PancakeSwapProvider, methodSuffix: '' }, { ProviderClass: sushi_swap_bsc_provider_1.SushiSwapBscProvider, methodSuffix: '1' }, { ProviderClass: oneinch_bsc_provider_1.OneinchBscProvider, methodSuffix: 'Inch' } ] }, _a[BLOCKCHAIN_NAME_1.BLOCKCHAIN_NAME.POLYGON] = { address: '0xeC52A30E4bFe2D6B0ba1D0dbf78f265c0a119286', providersData: [ { ProviderClass: quick_swap_provider_1.QuickSwapProvider, methodSuffix: '' }, { ProviderClass: sushi_swap_polygon_provider_1.SushiSwapPolygonProvider, methodSuffix: '1' }, { ProviderClass: uni_swap_v3_polygon_provider_1.UniSwapV3PolygonProvider, methodSuffix: 'V3' }, { ProviderClass: algebra_provider_1.AlgebraProvider, methodSuffix: 'ALGB' }, { ProviderClass: oneinch_polygon_provider_1.OneinchPolygonProvider, methodSuffix: 'Inch' } ] }, _a[BLOCKCHAIN_NAME_1.BLOCKCHAIN_NAME.AVALANCHE] = { address: '0x541eC7c03F330605a2176fCD9c255596a30C00dB', providersData: [ { ProviderClass: pangolin_provider_1.PangolinProvider, methodSuffix: 'AVAX' }, { ProviderClass: joe_provider_1.JoeProvider, methodSuffix: 'AVAX1' }, { ProviderClass: sushi_swap_avalanche_provider_1.SushiSwapAvalancheProvider, methodSuffix: '' } ] }, _a[BLOCKCHAIN_NAME_1.BLOCKCHAIN_NAME.MOONRIVER] = { address: '0xD8b19613723215EF8CC80fC35A1428f8E8826940', providersData: [ { ProviderClass: solarbeam_provider_1.SolarbeamProvider, methodSuffix: '' }, { ProviderClass: sushi_swap_moonriver_provider_1.SushiSwapMoonriverProvider, methodSuffix: '1' } ] }, _a[BLOCKCHAIN_NAME_1.BLOCKCHAIN_NAME.FANTOM] = { address: '0xd23B4dA264A756F427e13C72AB6cA5A6C95E4608', providersData: [ { ProviderClass: spooky_swap_provider_1.SpookySwapProvider, methodSuffix: '' }, { ProviderClass: spirit_swap_provider_1.SpiritSwapProvider, methodSuffix: '1' }, { ProviderClass: sushi_swap_fantom_provider_1.SushiSwapFantomProvider, methodSuffix: '2' } ] }, _a[BLOCKCHAIN_NAME_1.BLOCKCHAIN_NAME.HARMONY] = { address: '0x5681012ccc3ec5bafefac21ce4280ad7fe22bbf2', providersData: [ { ProviderClass: sushi_swap_harmony_provider_1.SushiSwapHarmonyProvider, methodSuffix: '' }, { ProviderClass: viper_swap_harmony_provider_1.ViperSwapHarmonyProvider, methodSuffix: '1' } ] }, _a[BLOCKCHAIN_NAME_1.BLOCKCHAIN_NAME.ARBITRUM] = { address: '0x5F3c8d58A01Aad4f875d55E2835D82e12f99723c', providersData: [ { ProviderClass: sushi_swap_arbitrum_provider_1.SushiSwapArbitrumProvider, methodSuffix: '' }, { ProviderClass: uni_swap_v3_arbitrum_provider_1.UniSwapV3ArbitrumProvider, methodSuffix: 'V3' }, { ProviderClass: oneinch_arbitrum_provider_1.OneinchArbitrumProvider, methodSuffix: 'Inch' } ] }, _a[BLOCKCHAIN_NAME_1.BLOCKCHAIN_NAME.AURORA] = { address: '0x55Be05ecC1c417B16163b000CB71DcE8526a5D06', providersData: [ { ProviderClass: trisolaris_aurora_provider_1.TrisolarisAuroraProvider, methodSuffix: '' }, { ProviderClass: wanna_swap_aurora_provider_1.WannaSwapAuroraProvider, methodSuffix: '1' } ] }, _a); var crossChainContracts = cross_chain_supported_blockchains_1.crossChainSupportedBlockchains.reduce(function (acc, blockchain) { var _a; return (__assign(__assign({}, acc), (_a = {}, _a[blockchain] = null, _a))); }, {}); function getCrossChainContract(blockchain) { var storedContract = crossChainContracts[blockchain]; if (storedContract) { return storedContract; } var contract = exports.crossChainContractsData[blockchain]; crossChainContracts[blockchain] = new cross_chain_contract_data_1.CrossChainContractData(blockchain, contract.address, contract.providersData.map(function (providerData) { return ({ provider: new providerData.ProviderClass(), methodSuffix: providerData.methodSuffix }); })); return crossChainContracts[blockchain]; } exports.getCrossChainContract = getCrossChainContract; //# sourceMappingURL=cross-chain-contracts.js.map