UNPKG

@melonproject/protocol

Version:

Technology Regulated and Operated Investment Funds

74 lines (73 loc) 4.45 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const initTestEnvironment_1 = require("../utils/initTestEnvironment"); const deployAndGetSystem_1 = require("../utils/deployAndGetSystem"); const beginSetup_1 = require("../../contracts/factory/transactions/beginSetup"); const getToken_1 = require("../../contracts/dependencies/token/calls/getToken"); const Contracts_1 = require("../../Contracts"); const completeSetup_1 = require("../../contracts/factory/transactions/completeSetup"); const createAccounting_1 = require("../../contracts/factory/transactions/createAccounting"); const createFeeManager_1 = require("../../contracts/factory/transactions/createFeeManager"); const createParticipation_1 = require("../../contracts/factory/transactions/createParticipation"); const createPolicyManager_1 = require("../../contracts/factory/transactions/createPolicyManager"); const createShares_1 = require("../../contracts/factory/transactions/createShares"); const createTrading_1 = require("../../contracts/factory/transactions/createTrading"); const createVault_1 = require("../../contracts/factory/transactions/createVault"); const getFundComponents_1 = require("../../utils/getFundComponents"); const withDifferentAccount_1 = require("../../utils/environment/withDifferentAccount"); let s = {}; beforeAll(() => __awaiter(this, void 0, void 0, function* () { s.environment = yield initTestEnvironment_1.initTestEnvironment(); s.accounts = yield s.environment.eth.getAccounts(); const { addresses, contracts } = yield deployAndGetSystem_1.deployAndGetSystem(s.environment); s.addresses = addresses; s = Object.assign(s, contracts); [s.deployer, s.manager, s.investor] = s.accounts; s.exchanges = [s.matchingMarket]; s.gas = 8000000; s.numberofExchanges = 1; s.exchanges = [s.matchingMarket]; s.mlnTokenInterface = yield getToken_1.getToken(s.environment, s.mln.options.address); s.wethTokenInterface = yield getToken_1.getToken(s.environment, s.weth.options.address); const exchangeConfigs = { [Contracts_1.Exchanges.ZeroEx]: { adapter: s.zeroExAdapter.options.address, exchange: s.zeroExExchange.options.address, takesCustody: false, }, [Contracts_1.Exchanges.MatchingMarket]: { adapter: s.matchingMarketAdapter.options.address, exchange: s.matchingMarket.options.address, takesCustody: true, }, }; const envManager = withDifferentAccount_1.withDifferentAccount(s.environment, s.manager); yield beginSetup_1.beginSetup(envManager, s.version.options.address, { defaultTokens: [s.wethTokenInterface], exchangeConfigs, fees: [], fundName: 'Test fund', quoteToken: s.wethTokenInterface, }); yield createAccounting_1.createAccounting(envManager, s.version.options.address); yield createFeeManager_1.createFeeManager(envManager, s.version.options.address); yield createParticipation_1.createParticipation(envManager, s.version.options.address); yield createPolicyManager_1.createPolicyManager(envManager, s.version.options.address); yield createShares_1.createShares(envManager, s.version.options.address); yield createTrading_1.createTrading(envManager, s.version.options.address); yield createVault_1.createVault(envManager, s.version.options.address); const hubAddress = yield completeSetup_1.completeSetup(envManager, s.version.options.address); s.fund = yield getFundComponents_1.getFundComponents(envManager, hubAddress); })); test('Transfer ethToken to the investor', () => __awaiter(this, void 0, void 0, function* () { console.log(yield s.version.methods.getExchangesInfo(s.manager).call()); console.log(yield s.fund.trading.methods.getExchangeInfo().call()); }));