ordinalsbot
Version:
Node.js library for OrdinalsBot API
103 lines • 4.02 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.LaunchpadClient = void 0;
const axios_1 = __importDefault(require("axios"));
const types_1 = require("../types");
const error_1 = require("../inscription/error");
const l402_1 = require("l402");
class LaunchpadClient {
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/launchpad/"
: `${types_1.EnvNetworkExplorer[this.env] || types_1.EnvNetworkExplorer.mainnet}/launchpad/`;
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 createLaunchpad(createLaunchpadRequest) {
return this.instanceV1.post(`/create-launch`, {
...createLaunchpadRequest,
});
}
async getLaunchpadStatus(getLaunchpadStatusRequest) {
return this.instanceV1.get(`/get-launch-psbt/${getLaunchpadStatusRequest.launchpadId}`);
}
async saveLaunchpad(saveLaunchpadRequest) {
return this.instanceV1.post(`/save-launch`, {
...saveLaunchpadRequest,
});
}
getLaunchpadListing(getListingRequest) {
return this.instanceV1.post(`/get-listings`, {
...getListingRequest,
});
}
getAllocation(getAllocationRequest) {
return new Promise(async (resolve) => {
try {
resolve(await this.instanceV1.post(`/get-allocation`, {
...getAllocationRequest,
}));
}
catch (error) {
resolve({ phases: [] });
}
});
}
async confirmPaddingOutputs(confirmPaddingOutputsRequest) {
return this.instanceV1.post(`/confirm-padding-outputs`, {
...confirmPaddingOutputsRequest,
});
}
async setupPaddingOutputs(setupPaddingOutputsRequest) {
return this.instanceV1.post(`/setup-padding-outputs`, {
...setupPaddingOutputsRequest,
});
}
async createLaunchpadOffer(createLaunchpadOfferRequest) {
return this.instanceV1.post(`/create-launch-offer`, {
...createLaunchpadOfferRequest,
});
}
async submitLaunchpadOffer(submitLaunchpadOfferRequest) {
return this.instanceV1.post(`/submit-launch-offer`, {
...submitLaunchpadOfferRequest,
});
}
}
exports.LaunchpadClient = LaunchpadClient;
//# sourceMappingURL=client.js.map