UNPKG

@bagsfm/bags-sdk

Version:

TypeScript SDK for Bags

60 lines 2.64 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.PartnerService = void 0; const web3_js_1 = require("@solana/web3.js"); const base_1 = require("./base"); const partner_config_1 = require("../utils/fee-share-v2/partner-config"); const bs58_1 = __importDefault(require("bs58")); class PartnerService extends base_1.BaseService { constructor(apiKey, connection, commitment = 'processed') { super(apiKey, connection, commitment); } async getPartnerConfig(wallet) { const partnerConfig = (0, partner_config_1.deriveBagsFeeShareV2PartnerConfigPda)(wallet); const partnerConfigData = await (0, partner_config_1.fetchBagsFeeShareV2PartnerConfig)(partnerConfig, this.connection, this.commitment, this.bagsFeeShareV2Coder); if (!partnerConfigData) { throw new Error('Partner config not found'); } return partnerConfigData; } async getPartnerConfigCreationTransaction(partner) { const response = await this.bagsApiClient.post('/fee-share/partner-config/creation-tx', { partnerWallet: partner.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 getPartnerConfigClaimStats(partner) { const response = await this.bagsApiClient.get('/fee-share/partner-config/stats', { params: { partner: partner.toBase58(), }, }); return { claimedFees: response.claimedFees, unclaimedFees: response.unclaimedFees, }; } async getPartnerConfigClaimTransactions(partner) { const response = await this.bagsApiClient.post('/fee-share/partner-config/claim-tx', { partnerWallet: partner.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.PartnerService = PartnerService; //# sourceMappingURL=partner.js.map