UNPKG

@bagsfm/bags-sdk

Version:

TypeScript SDK for Bags

69 lines 2.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.StateService = void 0; const web3_js_1 = require("@solana/web3.js"); const bags_client_1 = require("../api/bags-client"); const create_program_1 = require("../utils/create-program"); class StateService { constructor(apiKey, connection, commitment = 'processed') { this.bagsApiClient = new bags_client_1.BagsApiClient(apiKey); this.dbcProgram = (0, create_program_1.createDbcProgram)(connection, commitment).program; this.dammV2Program = (0, create_program_1.createDammV2Program)(connection, commitment).program; this.bagsMeteoraFeeClaimer = (0, create_program_1.createBagsMeteoraFeeClaimerProgram)(connection, commitment).program; this.connection = connection; this.commitment = commitment; } getBagsApiClient() { return this.bagsApiClient; } getDbcProgram() { return this.dbcProgram; } getDammV2Program() { return this.dammV2Program; } getBagsMeteoraFeeClaimerProgram() { return this.bagsMeteoraFeeClaimer; } getConnection() { return this.connection; } getCommitment() { return this.commitment; } async getTokenLifetimeFees(tokenMint) { const lifeTimeFees = await this.bagsApiClient.get('/token-launch/lifetime-fees', { params: { tokenMint: tokenMint.toBase58(), }, }); return parseInt(lifeTimeFees); } async getTokenCreators(tokenMint) { const creators = await this.bagsApiClient.get('/token-launch/creator/v2', { params: { tokenMint: tokenMint.toBase58(), }, }); return creators; } async getLaunchWalletForTwitterUsername(twitterUsername) { const wallet = await this.bagsApiClient.get('/token-launch/fee-share/wallet/twitter', { params: { twitterUsername, }, }); return new web3_js_1.PublicKey(wallet); } async getPoolConfigKeysByFeeClaimerVaults(feeClaimerVaults) { const response = await this.bagsApiClient.post('/token-launch/state/pool-config', { feeClaimerVaults: feeClaimerVaults.map((vault) => vault.toBase58()), }, { timeout: 180 * 1000 }); const configKeys = response.poolConfigKeys.map((key) => new web3_js_1.PublicKey(key)); return configKeys; } } exports.StateService = StateService; //# sourceMappingURL=state.js.map