@deserialize/auction-sdk
Version:
An SDK for Auction on SVMs
22 lines (21 loc) • 1.97 kB
TypeScript
import { PublicKey, Transaction, TransactionInstruction } from "@solana/web3.js";
import ProgramLoader from "./ProgramLoader";
import { BidRequest as BidRequestType } from "../types/bid-request";
export default class BidRequest {
protected readonly programLoader: ProgramLoader;
private auctionManagerProgram;
constructor(programLoader: ProgramLoader);
create(nft: PublicKey, bidRequester: PublicKey, nftOwner: PublicKey, tokenMint: PublicKey, tokenMintProgramId: PublicKey, price: number): Promise<TransactionInstruction[]>;
createTransaction(nft: PublicKey, bidRequester: PublicKey, nftOwner: PublicKey, tokenMint: PublicKey, tokenMintProgramId: PublicKey, price: number): Promise<Transaction>;
get(bidRequestPubkey: PublicKey): Promise<BidRequestType>;
fetchMany(bidReceiptPubkeys: PublicKey[]): Promise<BidRequestType[]>;
getAll(): Promise<BidRequestType[]>;
getByNft(nft: PublicKey): Promise<BidRequestType[]>;
getByAuthority(authority: PublicKey): Promise<BidRequestType[]>;
getByNftOwner(nftOwner: PublicKey): Promise<BidRequestType[]>;
accept(nft: PublicKey, nftProgramId: PublicKey, nftOwner: PublicKey, tokenMint: PublicKey, tokenMintProgramId: PublicKey, bidRequestOwner: PublicKey): Promise<Transaction>;
reject(nft: PublicKey, nftOwner: PublicKey, bidRequestOwner: PublicKey, tokenMint: PublicKey, tokenMintProgramId: PublicKey): Promise<Transaction>;
cancel(nft: PublicKey, nftOwner: PublicKey, bidRequestOwner: PublicKey, tokenMint: PublicKey, tokenMintProgramId: PublicKey): Promise<Transaction>;
increaseAmount(nft: PublicKey, nftOwner: PublicKey, tokenMint: PublicKey, tokenMintProgramId: PublicKey, bidRequestOwner: PublicKey, newAmount: number): Promise<Transaction>;
makePublic(nft: PublicKey, nftOwner: PublicKey, nftProgramId: PublicKey, tokenMint: PublicKey, tokenMintProgramId: PublicKey, bidRequestOwner: PublicKey, period: number, timeExtension: number): Promise<Transaction>;
}