UNPKG

hector-rubic-sdk

Version:
42 lines 2.27 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); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getRubicCrossChainContract = void 0; var rubic_cross_chain_contract_data_1 = require("../rubic-cross-chain-contract-trade/common/rubic-cross-chain-contract-data"); var rubic_cross_chain_supported_blockchains_1 = require("./rubic-cross-chain-supported-blockchains"); var cross_chain_trade_providers_data_1 = require("../../../constants/cross-chain-trade-providers-data"); var rubic_cross_chain_contracts_addresses_1 = require("./rubic-cross-chain-contracts-addresses"); var rubicCrossChainContracts = rubic_cross_chain_supported_blockchains_1.rubicCrossChainSupportedBlockchains.reduce(function (acc, blockchain) { var _a; return (__assign(__assign({}, acc), (_a = {}, _a[blockchain] = null, _a))); }, {}); function getRubicCrossChainContract(blockchain) { var storedContract = rubicCrossChainContracts[blockchain]; if (storedContract) { return storedContract; } var pureProvidersData = cross_chain_trade_providers_data_1.crossChainTradeProvidersData[blockchain]; if (!pureProvidersData) { throw new Error('[RUBIC SDK] Providers data has to be defined.'); } var contractAddress = rubic_cross_chain_contracts_addresses_1.rubicCrossChainContractsAddresses[blockchain]; var providersData = pureProvidersData.map(function (providerData) { return ({ // @ts-ignore Can't create instance of abstract class. provider: new providerData.ProviderClass(), methodSuffix: providerData.methodSuffix }); }); rubicCrossChainContracts[blockchain] = new rubic_cross_chain_contract_data_1.RubicCrossChainContractData(blockchain, contractAddress, providersData); return rubicCrossChainContracts[blockchain]; } exports.getRubicCrossChainContract = getRubicCrossChainContract; //# sourceMappingURL=rubic-cross-chain-contracts.js.map