UNPKG

@bagsfm/bags-sdk

Version:

TypeScript SDK for Bags

61 lines 2.87 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.FeeShareAdminService = void 0; const web3_js_1 = require("@solana/web3.js"); const base_1 = require("./base"); const constants_1 = require("../constants"); const config_1 = require("./config"); const bs58_1 = __importDefault(require("bs58")); class FeeShareAdminService extends base_1.BaseService { constructor(apiKey, connection, commitment = 'processed') { super(apiKey, connection, commitment); this.configService = new config_1.ConfigService(apiKey, connection, commitment); } async getAdminTokenMints(wallet) { const response = await this.bagsApiClient.get('/fee-share/admin/list', { params: { wallet: wallet.toBase58(), }, }); return response.tokenMints; } async getTransferAdminTransaction(params) { const response = await this.bagsApiClient.post('/fee-share/admin/transfer-tx', { baseMint: params.baseMint.toBase58(), currentAdmin: params.currentAdmin.toBase58(), newAdmin: params.newAdmin.toBase58(), payer: params.payer.toBase58(), }); const decodedTransaction = bs58_1.default.decode(response.transaction.transaction); const transaction = web3_js_1.VersionedTransaction.deserialize(decodedTransaction); return { transaction, blockhash: response.transaction.blockhash, }; } async getUpdateConfigLookupTableTransactions(params) { return this.configService.getConfigCreationLookupTableTransactions(params, undefined, constants_1.BAGS_FEE_SHARE_ADMIN_MAX_CLAIMERS_NON_LUT); } async getUpdateConfigTransactions(params) { const response = await this.bagsApiClient.post('/fee-share/admin/update-config', { baseMint: params.baseMint.toBase58(), basisPointsArray: params.feeClaimers.map((claimer) => claimer.userBps), claimersArray: params.feeClaimers.map((claimer) => claimer.user.toBase58()), payer: params.payer.toBase58(), additionalLookupTables: params.additionalLookupTables?.map((table) => table.toBase58()), }); const deserializedTransactionsWithBlockhash = response.transactions.map((tx) => { const decodedTransaction = bs58_1.default.decode(tx.transaction); return { transaction: web3_js_1.VersionedTransaction.deserialize(decodedTransaction), blockhash: tx.blockhash, }; }); return deserializedTransactionsWithBlockhash; } } exports.FeeShareAdminService = FeeShareAdminService; //# sourceMappingURL=fee-share-admin.js.map