UNPKG

hm-aftermath-ts-sdk

Version:
75 lines (74 loc) 3.65 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.NftAmm = void 0; const caller_1 = require("../../general/utils/caller"); const nftAmmMarket_1 = require("./nftAmmMarket"); class NftAmm extends caller_1.Caller { // ========================================================================= // Constructor // ========================================================================= constructor(network, Provider) { super(network, "nft-amm"); this.network = network; this.Provider = Provider; // ========================================================================= // Objects // ========================================================================= // public async getNft(inputs: { objectId: ObjectId }): Promise<Nft> { // return this.fetchApi(`nfts/${inputs.objectId}`); // } // public async getNfts(inputs: { objectIds: ObjectId[] }): Promise<Nft[]> { // return Promise.all( // inputs.objectIds.map((objectId) => this.getNft({ objectId })) // ); // } // ========================================================================= // Private Helpers // ========================================================================= this.useProvider = () => { var _a; const provider = (_a = this.Provider) === null || _a === void 0 ? void 0 : _a.NftAmm(); if (!provider) throw new Error("missing AftermathApi Provider"); return provider; }; } // ========================================================================= // Class Objects // ========================================================================= // ========================================================================= // Market Class // ========================================================================= getMarket(inputs) { return __awaiter(this, void 0, void 0, function* () { const market = yield this.fetchApi(`markets/${inputs.objectId}`); return new nftAmmMarket_1.NftAmmMarket(market, this.network); }); } getMarkets(inputs) { return __awaiter(this, void 0, void 0, function* () { const markets = yield Promise.all(inputs.objectIds.map((objectId) => this.getMarket({ objectId }))); return markets; }); } getAllMarkets() { return __awaiter(this, void 0, void 0, function* () { const markets = yield this.fetchApi("markets"); return markets.map((pool) => new nftAmmMarket_1.NftAmmMarket(pool, this.network)); }); } } exports.NftAmm = NftAmm; // ========================================================================= // Constants // ========================================================================= NftAmm.constants = {};