solmash-whitelist-sdk-v2
Version:
A sdk for interacting Solmash Whitelist program
151 lines • 5.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SolmashWhitelistInstructions = void 0;
const spl_token_1 = require("@solana/spl-token");
const web3_js_1 = require("@solana/web3.js");
class SolmashWhitelistInstructions {
constructor(program) {
this.program = program;
}
async getInitAuctionInstruction(auction, auctionVault, auctionVaultTokenAccount, creator, initParams) {
const { auctionToken, bidToken, claimTime, enabled, name, preSaleEndTime, preSaleStartTime, ticketPriceInBid, ticketPriceInSol, ticketsInPool, tokenQuantityPerTicket, } = initParams;
return this.program.methods
.initAuction({
auctionToken,
bidToken,
claimTime,
enabled,
name,
preSaleEndTime,
preSaleStartTime,
ticketPriceInBid,
ticketPriceInSol,
ticketsInPool,
tokenQuantityPerTicket,
})
.accounts({
associatedTokenProgram: spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID,
auction,
auctionToken,
auctionVault,
auctionVaultTokenAccount,
creator,
systemProgram: web3_js_1.SystemProgram.programId,
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
})
.instruction();
}
async getAddTokenInstruction(auction, auctionToken, auctionVault, auctionVaultTokenAccount, creator, creatorAuctionTokenAccount) {
return this.program.methods
.addToken()
.accounts({
associatedTokenProgram: spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID,
auction,
auctionToken,
auctionVault,
auctionVaultTokenAccount,
creator,
creatorAuctionTokenAccount,
systemProgram: web3_js_1.SystemProgram.programId,
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
})
.instruction();
}
async getWithdrawFundsInstruction(auction, auctionBidTokenAccount, auctionToken, auctionVault, auctionVaultTokenAccount, bidToken, creator, creatorAuctionTokenAccount, creatorBidTokenAccount, withdrawSol) {
return this.program.methods
.withdrawFunds(withdrawSol)
.accounts({
associatedTokenProgram: spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID,
auction,
auctionBidTokenAccount,
auctionToken,
auctionVault,
auctionVaultTokenAccount,
bidToken,
creator,
creatorAuctionTokenAccount,
creatorBidTokenAccount,
systemProgram: web3_js_1.SystemProgram.programId,
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
})
.instruction();
}
async getWhitelistInstruction(auction, buyerPda, creator, whitelistUser) {
return this.program.methods
.whitelist()
.accounts({
auction,
buyerPda,
creator,
systemProgram: web3_js_1.SystemProgram.programId,
whitelistUser,
})
.instruction();
}
// async getPreSaleBuyUsingSplInstruction(
// auction: PublicKey,
// auctionVault: PublicKey,
// auctionVaultBidTokenAccount: PublicKey,
// bidToken: PublicKey,
// buyer: PublicKey,
// buyerBidTokenAccount: PublicKey,
// buyerPda: PublicKey,
// ): Promise<TransactionInstruction> {
// return this.program.methods
// .preSaleBuyUsingSpl()
// .accounts({
// associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,
// auction,
// auctionVault,
// auctionVaultBidTokenAccount,
// bidToken,
// buyer,
// buyerBidTokenAccount,
// buyerPda,
// clock: SYSVAR_CLOCK_PUBKEY,
// systemProgram: SystemProgram.programId,
// tokenProgram: TOKEN_PROGRAM_ID,
// })
// .instruction();
// }
async getPreSaleBuyUsingSolInstruction(auction, auctionVault, buyer, buyerPda) {
return this.program.methods
.preSaleBuyUsingSol()
.accounts({
auction,
auctionVault,
buyer,
buyerPda,
systemProgram: web3_js_1.SystemProgram.programId,
})
.instruction();
}
async getClaimTokensInstruction(auction, auctionToken, auctionVault, auctionVaultTokenAccount, buyer, buyerAuctionTokenAccount, buyerPda) {
return this.program.methods
.claimTokens()
.accounts({
associatedTokenProgram: spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID,
auction,
auctionToken,
auctionVault,
auctionVaultTokenAccount,
buyer,
buyerAuctionTokenAccount,
buyerPda,
systemProgram: web3_js_1.SystemProgram.programId,
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
})
.instruction();
}
async getChangeTimeInstruction(auction, creator, newStartTime, newEndTime) {
return this.program.methods
.changeTime(newStartTime, newEndTime)
.accounts({
auction,
creator,
})
.instruction();
}
}
exports.SolmashWhitelistInstructions = SolmashWhitelistInstructions;
//# sourceMappingURL=instructions.js.map