UNPKG

@atomic-utils/clients

Version:
83 lines 3.3 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()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.OracleClient = void 0; const baseClient_1 = require("./baseClient"); /** * Oracle client */ class OracleClient extends baseClient_1.BaseClient { /** * getAnnouncements * * Get all announcements * * @returns */ getAnnouncements(offerId, startDate, endDate, page, limit) { return this.get('/announcements', { offerId, startDate, endDate, page, limit, }); } /** * getAnnouncementByEventId * * Get Announcement By Event ID * * @param {string} eventId the eventId for the DLC OracleAnnouncement * https://github.com/discreetlogcontracts/dlcspecs/blob/master/Messaging.md#oracle_event * @returns {Announcement} */ getAnnouncementByEventId(eventId) { return this.get(`/announcements/${eventId}`); } /** * getAnnouncementByAnnouncementId * * Get Announcement By Annoucement ID * * @param {string} announcementId the announcementId for the DLC OracleAnnouncement * https://github.com/discreetlogcontracts/dlcspecs/blob/master/Messaging.md#oracle_event * @returns {Announcement} */ getAnnouncementByAnnouncementId(announcementId) { return __awaiter(this, void 0, void 0, function* () { const response = yield this.get(`/announcements/`, { announcementId }); if (response.announcements.length === 0) { throw Error(`Announcement ${announcementId} not found`); } return response.announcements[0]; }); } /** * postAnnouncementQuantity * * Specify quantity of funds entered for a particular announcement * Note: this function does not modify the DLC OracleAnnouncement * itself but rather the Oracle internal DB * * @param {string} eventId the eventId for the DLC OracleAnnouncement * https://github.com/discreetlogcontracts/dlcspecs/blob/master/Messaging.md#oracle_event * @param {number} quantity the quantity entered in SATS * @returns {Announcement} return modified announcement */ postAnnouncementQuantity(eventId, quantity) { if (!this.opts.apiKey) throw Error('API Key required for postAnnouncementQuantity'); return this.post(`/announcements/${eventId}/quantity`, { quantity }); } } exports.OracleClient = OracleClient; //# sourceMappingURL=oracleClient.js.map