@bagsfm/bags-sdk
Version:
TypeScript SDK for Bags
69 lines • 2.56 kB
JavaScript
;
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