ordinalsbot
Version:
Node.js library for OrdinalsBot API
116 lines • 4.35 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.MarketPlaceClient = void 0;
const axios_1 = __importDefault(require("axios"));
const error_1 = require("./inscription/error");
const types_1 = require("./types");
const l402_1 = require("l402");
class MarketPlaceClient {
constructor(key = "", environment = types_1.InscriptionEnvNetwork.mainnet, options) {
this.api_key = key;
environment = types_1.InscriptionEnvNetwork[environment] ?? types_1.InscriptionEnvNetwork.mainnet;
this.env = environment;
const createInstance = () => {
const headers = {
"Content-Type": "application/json"
};
if (this.api_key) {
headers["x-api-key"] = this.api_key;
}
const baseURL = options?.useL402
? "https://ordinalsbot.ln.sulu.sh/marketplace/"
: `${types_1.EnvNetworkExplorer[this.env] || types_1.EnvNetworkExplorer.mainnet}/marketplace/`;
const client = axios_1.default.create({
baseURL,
headers: headers,
});
client.interceptors.response.use(({ data }) => ("data" in data ? data.data : data), (err) => {
if (axios_1.default.isAxiosError(err) && err.response?.status !== 402) {
throw new error_1.InscriptionError(err.message, err.response?.statusText, err.response?.status);
}
if (err instanceof Error)
throw err;
return err;
});
if (options?.useL402 && options.l402Config) {
(0, l402_1.setupL402Interceptor)(client, options.l402Config.wallet, options.l402Config.tokenStore);
}
;
return client;
};
this.instanceV1 = createInstance();
}
async createMarketPlace(createMarketplaceRequest) {
return this.instanceV1.post(`/create-marketplace`, {
...createMarketplaceRequest,
});
}
async createListing(createListingRequest) {
return this.instanceV1.post(`/create-listing`, {
...createListingRequest,
});
}
async createOffer(createOfferRequest) {
return this.instanceV1.post(`/create-offer`, {
...createOfferRequest,
});
}
async submitOffer(submitOfferRequest) {
return this.instanceV1.post(`/submit-offer`, {
...submitOfferRequest,
});
}
async confirmPaddingOutputs(confirmPaddingOutputsRequest) {
return this.instanceV1.post(`/confirm-padding-outputs`, {
...confirmPaddingOutputsRequest,
});
}
async setupPaddingOutputs(setupPaddingOutputsRequest) {
return this.instanceV1.post(`/setup-padding-outputs`, {
...setupPaddingOutputsRequest,
});
}
async getListing(getListingRequest) {
return this.instanceV1.post(`/get-listing`, { ...getListingRequest });
}
async saveListing(saveListingRequest) {
return this.instanceV1.patch(`/save-listing/${saveListingRequest.ordinalId}`, {
...saveListingRequest,
});
}
async confirmListing(confirmListingRequest) {
return this.instanceV1.post(`/confirm-listing`, {
...confirmListingRequest,
});
}
async reListing(reListingRequest) {
return this.instanceV1.post(`/relist`, {
...reListingRequest,
});
}
async confirmReListing(confirmReListRequest) {
return this.instanceV1.post(`/confirm-relist`, {
...confirmReListRequest,
});
}
async deList(deListRequest) {
return this.instanceV1.post(`/delist`, {
...deListRequest,
});
}
async confirmDeListing(confirmDeListRequest) {
return this.instanceV1.post(`/confirm-delist`, {
...confirmDeListRequest,
});
}
async transfer(transferRequest) {
return this.instanceV1.post(`/transfer-ordinal`, {
...transferRequest,
});
}
}
exports.MarketPlaceClient = MarketPlaceClient;
//# sourceMappingURL=marketplaceClient.js.map