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