UNPKG

ordinalsbot

Version:
81 lines 3.4 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.TokenPayClient = 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 TokenPayClient { constructor(key = "", environment = types_1.InscriptionEnvNetwork.mainnet, tokenPayApiKey, options) { this.api_key = key; environment = types_1.InscriptionEnvNetwork[environment] ?? types_1.InscriptionEnvNetwork.mainnet; this.env = environment; if (!tokenPayApiKey || (typeof tokenPayApiKey !== 'string')) { throw new Error("tokenpay api key is not defined"); } this.tokenpay_api_key = tokenPayApiKey; const createInstance = () => { const headers = { "Content-Type": "application/json", }; if (this.tokenpay_api_key) { headers["x-api-key"] = this.tokenpay_api_key; } const baseURL = options?.useL402 ? "https://ordinalsbot.ln.sulu.sh/tokenpay/" : `${types_1.EnvNetworkExplorer[this.env] || types_1.EnvNetworkExplorer.mainnet}/tokenpay/`; 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 createRuneOrder(createRuneOrderRequest) { return this.instanceV1.post(`/user/order/rune`, { ...createRuneOrderRequest, }); } async createPaymentPSBT(createPaymentRequest) { return this.instanceV1.post(`/create-payment-psbt`, { ...createPaymentRequest, }); } async checkTransactionAsTxid(checkTransactionAsTxidRequest) { return this.instanceV1.post(`/utils/checktx`, { ...checkTransactionAsTxidRequest, }); } async getOrder(getOrderRequest) { return this.instanceV1.get(`/order/${getOrderRequest.orderId}`); } async accountWithdraw(accountWithdrawRequest) { return this.instanceV1.post(`/user/account/withdraw`, { ...accountWithdrawRequest, }); } async getAccountWithdraw(getAccountWithdrawRequest) { return this.instanceV1.get(`/user/account/withdraw/${getAccountWithdrawRequest.withdrawalId}`); } async getAccountBalance() { return this.instanceV1.get(`/user/account/balance`); } } exports.TokenPayClient = TokenPayClient; //# sourceMappingURL=client.js.map