UNPKG

@rsksmart/rif-storage-pinning

Version:

Application for providing your storage space to other to use in exchange of RIF Tokens

50 lines (49 loc) 2.54 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } 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) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.initTransport = void 0; const config_1 = __importDefault(require("config")); const sequelize_store_1 = require("sequelize-store"); const peer_id_1 = __importDefault(require("peer-id")); const socket_io_client_1 = __importDefault(require("socket.io-client")); const feathers_1 = __importDefault(require("@feathersjs/feathers")); const socketio_client_1 = __importDefault(require("@feathersjs/socketio-client")); // eslint-disable-next-line require-await function initTransport(offerId, contractAddress) { return __awaiter(this, void 0, void 0, function* () { // Connect to cache service const client = feathers_1.default(); const socket = socket_io_client_1.default(config_1.default.get('marketplace.provider'), { transports: ['websocket'] }); client.configure(socketio_client_1.default(socket)); const commsService = client.service(config_1.default.get('marketplace.comms')); // Get peerId const store = sequelize_store_1.getObject(); const peerId = yield peer_id_1.default.createFromPrivKey(store.peerPrivKey); return { broadcast: (message) => __awaiter(this, void 0, void 0, function* () { yield commsService.create({ data: message, offerId, contractAddress, publicKey: store.peerPubKey, signature: yield peerId.privKey.sign(Buffer.from(JSON.stringify(message))) }); }), stop: () => { return true; } }; }); } exports.initTransport = initTransport;