hm-aftermath-ts-sdk
Version:
Aftermath TypeScript SDK
75 lines (74 loc) • 3.65 kB
JavaScript
;
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 = {};