UNPKG

@bagsfm/bags-sdk

Version:

TypeScript SDK for Bags

56 lines 2.42 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.TokenLaunchService = void 0; const web3_js_1 = require("@solana/web3.js"); const base_1 = require("./base"); const bs58_1 = __importDefault(require("bs58")); const form_data_1 = __importDefault(require("form-data")); const image_1 = require("../utils/image"); class TokenLaunchService extends base_1.BaseService { constructor(apiKey, connection, commitment = 'processed') { super(apiKey, connection, commitment); } async createLaunchTransaction(params) { const encodedSignedTransaction = await this.bagsApiClient.post('/token-launch/create-launch-transaction', { ipfs: params.metadataUrl, tokenMint: params.tokenMint.toBase58(), wallet: params.launchWallet.toBase58(), initialBuyLamports: params.initialBuyLamports, configKey: params.configKey.toBase58(), }); const decodedSignedTransaction = bs58_1.default.decode(encodedSignedTransaction); const launchTransaction = web3_js_1.VersionedTransaction.deserialize(decodedSignedTransaction); return launchTransaction; } async createTokenInfoAndMetadata(params) { const formData = new form_data_1.default(); const imageData = await (0, image_1.prepareImageForFormData)(params.image); formData.append('image', imageData.buffer, { filename: imageData.filename, contentType: imageData.contentType, }); formData.append('name', params.name); formData.append('symbol', params.symbol); formData.append('description', params.description); if (params.telegram) { formData.append('telegram', params.telegram); } if (params.website) { formData.append('website', params.website); } if (params.twitter) { formData.append('twitter', params.twitter); } const response = await this.bagsApiClient.post('/token-launch/create-token-info', formData, { headers: { ...formData.getHeaders(), }, }); return response; } } exports.TokenLaunchService = TokenLaunchService; //# sourceMappingURL=token-launch.js.map