UNPKG

@colony/colony-js-client

Version:

Reference implementation of the Colony API

112 lines (78 loc) 3.79 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _regenerator = require('babel-runtime/regenerator'); var _regenerator2 = _interopRequireDefault(_regenerator); var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator'); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); var _ethers = require('ethers'); var _colonyJsAdapterEthers = require('@colony/colony-js-adapter-ethers'); var _colonyJsAdapterEthers2 = _interopRequireDefault(_colonyJsAdapterEthers); var _colonyJsContractLoaderNetwork = require('@colony/colony-js-contract-loader-network'); var _colonyJsContractLoaderNetwork2 = _interopRequireDefault(_colonyJsContractLoaderNetwork); var _colonyJsContractLoaderHttp = require('@colony/colony-js-contract-loader-http'); var _index = require('./ColonyNetworkClient/index'); var _index2 = _interopRequireDefault(_index); var _index3 = require('./lib/EthersWrappedWallet/index'); var _index4 = _interopRequireDefault(_index3); var _index5 = require('./lib/InfuraProvider/index'); var _index6 = _interopRequireDefault(_index5); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // This method provides a simple way of getting an initialized network client // that uses NetworkLoader for the remote network and TrufflePigLoader for a // local testrpc network (TrufflePig must be installed and running). /* eslint-disable import/no-cycle */ var getNetworkClient = function () { var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(network, wallet, infuraProjectId, verbose) { var loader, provider, ethersWallet, adapter, networkClient; return _regenerator2.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: loader = void 0; provider = void 0; // Set loader and provider if (network === 'local') { loader = new _colonyJsContractLoaderHttp.TrufflepigLoader(); // Throw custom error if TrufflePig is not installed and running loader.getAccounts().catch(function () { throw new Error('Make sure you have TrufflePig installed and running.'); }); provider = new _ethers.providers.JsonRpcProvider(); } else { loader = new _colonyJsContractLoaderNetwork2.default({ network: network }); provider = new _index6.default(network, infuraProjectId, verbose); } // Use EthersWrappedWallet if purser wallet ethersWallet = wallet.type && wallet.subtype ? new _index4.default(wallet, provider) : wallet; // Initialize adpaters using ethers adapter = new _colonyJsAdapterEthers2.default({ loader: loader, provider: provider, // $FlowFixMe colonyJS types don't yet accept some methods as async wallet: ethersWallet }); // Initialize network client using ethers adapter and default query networkClient = new _index2.default({ adapter: adapter, query: {}, verbose: verbose }); _context.next = 8; return networkClient.init(); case 8: return _context.abrupt('return', networkClient); case 9: case 'end': return _context.stop(); } } }, _callee, undefined); })); return function getNetworkClient(_x, _x2, _x3, _x4) { return _ref.apply(this, arguments); }; }(); exports.default = getNetworkClient; //# sourceMappingURL=getNetworkClient.js.map