@deserialize/auction-sdk
Version:
An SDK for Auction on SVMs
1,688 lines • 60 kB
TypeScript
export type Auction = {
"version": "0.1.0";
"name": "auction";
"instructions": [
{
"name": "initialize";
"accounts": [
{
"name": "applicationState";
"isMut": true;
"isSigner": false;
},
{
"name": "user";
"isMut": true;
"isSigner": true;
},
{
"name": "feeAccount";
"isMut": false;
"isSigner": false;
},
{
"name": "systemProgram";
"isMut": false;
"isSigner": false;
}
];
"args": [];
},
{
"name": "initializeAccount";
"accounts": [
{
"name": "applicationState";
"isMut": false;
"isSigner": false;
},
{
"name": "userdata";
"isMut": true;
"isSigner": false;
},
{
"name": "user";
"isMut": true;
"isSigner": true;
},
{
"name": "systemProgram";
"isMut": false;
"isSigner": false;
}
];
"args": [];
},
{
"name": "updateApplicationState";
"accounts": [
{
"name": "applicationState";
"isMut": true;
"isSigner": false;
},
{
"name": "user";
"isMut": true;
"isSigner": true;
}
];
"args": [
{
"name": "feeAccount";
"type": "publicKey";
}
];
},
{
"name": "createAuctionManager";
"accounts": [
{
"name": "applicationState";
"isMut": true;
"isSigner": false;
},
{
"name": "user";
"isMut": true;
"isSigner": true;
},
{
"name": "auctionManager";
"isMut": true;
"isSigner": false;
},
{
"name": "nft";
"isMut": false;
"isSigner": false;
},
{
"name": "tokenProgram";
"isMut": false;
"isSigner": false;
},
{
"name": "systemProgram";
"isMut": false;
"isSigner": false;
},
{
"name": "rent";
"isMut": false;
"isSigner": false;
}
];
"args": [];
},
{
"name": "createListing";
"accounts": [
{
"name": "applicationState";
"isMut": false;
"isSigner": false;
},
{
"name": "owner";
"isMut": true;
"isSigner": true;
},
{
"name": "userdata";
"isMut": true;
"isSigner": false;
},
{
"name": "auctionManager";
"isMut": true;
"isSigner": false;
},
{
"name": "listing";
"isMut": true;
"isSigner": false;
},
{
"name": "nft";
"isMut": false;
"isSigner": false;
},
{
"name": "nftEscrow";
"isMut": true;
"isSigner": false;
},
{
"name": "proceedsWallet";
"isMut": true;
"isSigner": false;
},
{
"name": "nftOwner";
"isMut": true;
"isSigner": false;
},
{
"name": "feeAccount";
"isMut": true;
"isSigner": false;
},
{
"name": "tokenMint";
"isMut": false;
"isSigner": false;
},
{
"name": "tokenProgram";
"isMut": false;
"isSigner": false;
},
{
"name": "systemProgram";
"isMut": false;
"isSigner": false;
},
{
"name": "rent";
"isMut": false;
"isSigner": false;
}
];
"args": [
{
"name": "timeExtension";
"type": "u64";
},
{
"name": "startingPrice";
"type": "u128";
},
{
"name": "startTime";
"type": "u64";
},
{
"name": "endTime";
"type": {
"option": "u64";
};
},
{
"name": "minimumBidThreshold";
"type": "u128";
}
];
},
{
"name": "bidOnListing";
"accounts": [
{
"name": "applicationState";
"isMut": false;
"isSigner": false;
},
{
"name": "bidReceipt";
"isMut": true;
"isSigner": false;
},
{
"name": "userdata";
"isMut": true;
"isSigner": false;
},
{
"name": "user";
"isMut": true;
"isSigner": true;
},
{
"name": "listing";
"isMut": true;
"isSigner": false;
},
{
"name": "auctionManager";
"isMut": true;
"isSigner": false;
},
{
"name": "bidderAccount";
"isMut": true;
"isSigner": false;
},
{
"name": "bidderNftAccount";
"isMut": true;
"isSigner": false;
},
{
"name": "tokenEscrow";
"isMut": true;
"isSigner": false;
},
{
"name": "nftEscrow";
"isMut": true;
"isSigner": false;
},
{
"name": "proceedsWallet";
"isMut": true;
"isSigner": false;
},
{
"name": "feeAccount";
"isMut": true;
"isSigner": false;
},
{
"name": "feeTokenAccount";
"isMut": true;
"isSigner": false;
},
{
"name": "nft";
"isMut": false;
"isSigner": false;
},
{
"name": "tokenMint";
"isMut": false;
"isSigner": false;
},
{
"name": "nftTokenProgram";
"isMut": false;
"isSigner": false;
},
{
"name": "tokenProgram";
"isMut": false;
"isSigner": false;
},
{
"name": "associatedTokenProgram";
"isMut": false;
"isSigner": false;
},
{
"name": "systemProgram";
"isMut": false;
"isSigner": false;
}
];
"args": [
{
"name": "amount";
"type": "u128";
},
{
"name": "submittedAt";
"type": "u64";
}
];
},
{
"name": "cancelListing";
"accounts": [
{
"name": "applicationState";
"isMut": false;
"isSigner": false;
},
{
"name": "userdata";
"isMut": false;
"isSigner": false;
},
{
"name": "auctionManager";
"isMut": true;
"isSigner": false;
},
{
"name": "nft";
"isMut": false;
"isSigner": false;
},
{
"name": "tokenMint";
"isMut": false;
"isSigner": false;
},
{
"name": "nftEscrow";
"isMut": true;
"isSigner": false;
},
{
"name": "originalNftHolder";
"isMut": true;
"isSigner": false;
},
{
"name": "user";
"isMut": true;
"isSigner": true;
},
{
"name": "feeAccount";
"isMut": true;
"isSigner": false;
},
{
"name": "listing";
"isMut": true;
"isSigner": false;
},
{
"name": "tokenProgram";
"isMut": false;
"isSigner": false;
},
{
"name": "systemProgram";
"isMut": false;
"isSigner": false;
}
];
"args": [
{
"name": "cancelledAt";
"type": "u64";
}
];
},
{
"name": "increaseBid";
"accounts": [
{
"name": "applicationState";
"isMut": false;
"isSigner": false;
},
{
"name": "auctionManager";
"isMut": true;
"isSigner": false;
},
{
"name": "bidReceipt";
"isMut": true;
"isSigner": false;
},
{
"name": "userdata";
"isMut": false;
"isSigner": false;
},
{
"name": "user";
"isMut": true;
"isSigner": true;
},
{
"name": "listing";
"isMut": true;
"isSigner": false;
},
{
"name": "bidderAccount";
"isMut": true;
"isSigner": false;
},
{
"name": "tokenEscrow";
"isMut": true;
"isSigner": false;
},
{
"name": "feeAccount";
"isMut": true;
"isSigner": false;
},
{
"name": "nft";
"isMut": false;
"isSigner": false;
},
{
"name": "tokenMint";
"isMut": false;
"isSigner": false;
},
{
"name": "tokenProgram";
"isMut": false;
"isSigner": false;
},
{
"name": "associatedTokenProgram";
"isMut": false;
"isSigner": false;
},
{
"name": "systemProgram";
"isMut": false;
"isSigner": false;
}
];
"args": [
{
"name": "newAmount";
"type": "u128";
},
{
"name": "updatedAt";
"type": "u64";
}
];
},
{
"name": "cancelBid";
"accounts": [
{
"name": "applicationState";
"isMut": false;
"isSigner": false;
},
{
"name": "auctionManager";
"isMut": true;
"isSigner": false;
},
{
"name": "user";
"isMut": true;
"isSigner": true;
},
{
"name": "listing";
"isMut": true;
"isSigner": false;
},
{
"name": "userdata";
"isMut": false;
"isSigner": false;
},
{
"name": "bidReceipt";
"isMut": true;
"isSigner": false;
},
{
"name": "cancellerTokenAccount";
"isMut": true;
"isSigner": false;
},
{
"name": "tokenEscrow";
"isMut": true;
"isSigner": false;
},
{
"name": "feeAccount";
"isMut": true;
"isSigner": false;
},
{
"name": "nft";
"isMut": false;
"isSigner": false;
},
{
"name": "tokenMint";
"isMut": false;
"isSigner": false;
},
{
"name": "tokenProgram";
"isMut": false;
"isSigner": false;
},
{
"name": "associatedTokenProgram";
"isMut": false;
"isSigner": false;
},
{
"name": "systemProgram";
"isMut": false;
"isSigner": false;
}
];
"args": [
{
"name": "bidReceipts";
"type": {
"vec": {
"defined": "ReceiptInfo";
};
};
},
{
"name": "submittedAt";
"type": "u64";
}
];
},
{
"name": "refundBid";
"accounts": [
{
"name": "applicationState";
"isMut": false;
"isSigner": false;
},
{
"name": "user";
"isMut": true;
"isSigner": true;
},
{
"name": "auctionManager";
"isMut": true;
"isSigner": false;
},
{
"name": "listing";
"isMut": true;
"isSigner": false;
},
{
"name": "userdata";
"isMut": false;
"isSigner": false;
},
{
"name": "userRefundAccount";
"isMut": true;
"isSigner": false;
},
{
"name": "refundBidReceipt";
"isMut": true;
"isSigner": false;
},
{
"name": "tokenEscrow";
"isMut": true;
"isSigner": false;
},
{
"name": "tokenMint";
"isMut": false;
"isSigner": false;
},
{
"name": "nft";
"isMut": false;
"isSigner": false;
},
{
"name": "tokenProgram";
"isMut": false;
"isSigner": false;
},
{
"name": "associatedTokenProgram";
"isMut": false;
"isSigner": false;
},
{
"name": "systemProgram";
"isMut": false;
"isSigner": false;
}
];
"args": [
{
"name": "refundedAt";
"type": "u64";
}
];
},
{
"name": "executeSale";
"accounts": [
{
"name": "applicationState";
"isMut": false;
"isSigner": false;
},
{
"name": "auctionManager";
"isMut": true;
"isSigner": false;
},
{
"name": "user";
"isMut": true;
"isSigner": true;
},
{
"name": "listing";
"isMut": true;
"isSigner": false;
},
{
"name": "userdata";
"isMut": false;
"isSigner": false;
},
{
"name": "winnerNftAccount";
"isMut": true;
"isSigner": false;
},
{
"name": "bidReceipt";
"isMut": true;
"isSigner": false;
},
{
"name": "tokenEscrow";
"isMut": true;
"isSigner": false;
},
{
"name": "nftEscrow";
"isMut": true;
"isSigner": false;
},
{
"name": "proceedsWallet";
"isMut": true;
"isSigner": false;
},
{
"name": "feeTokenAccount";
"isMut": true;
"isSigner": false;
},
{
"name": "nft";
"isMut": false;
"isSigner": false;
},
{
"name": "tokenMint";
"isMut": false;
"isSigner": false;
},
{
"name": "nftTokenProgram";
"isMut": false;
"isSigner": false;
},
{
"name": "tokenProgram";
"isMut": false;
"isSigner": false;
},
{
"name": "associatedTokenProgram";
"isMut": false;
"isSigner": false;
},
{
"name": "systemProgram";
"isMut": false;
"isSigner": false;
}
];
"args": [
{
"name": "submittedAt";
"type": "u64";
}
];
},
{
"name": "createBidRequest";
"accounts": [
{
"name": "applicationState";
"isMut": false;
"isSigner": false;
},
{
"name": "userdata";
"isMut": true;
"isSigner": false;
},
{
"name": "bidRequest";
"isMut": true;
"isSigner": false;
},
{
"name": "nftOwner";
"isMut": false;
"isSigner": false;
},
{
"name": "feeAccount";
"isMut": false;
"isSigner": false;
},
{
"name": "escrowTokenAccount";
"isMut": true;
"isSigner": false;
},
{
"name": "userTokenAccount";
"isMut": true;
"isSigner": false;
},
{
"name": "user";
"isMut": true;
"isSigner": true;
},
{
"name": "nft";
"isMut": false;
"isSigner": false;
},
{
"name": "tokenMint";
"isMut": false;
"isSigner": false;
},
{
"name": "tokenProgram";
"isMut": false;
"isSigner": false;
},
{
"name": "systemProgram";
"isMut": false;
"isSigner": false;
}
];
"args": [
{
"name": "amount";
"type": "u128";
},
{
"name": "createdAt";
"type": "u64";
}
];
},
{
"name": "acceptBidRequest";
"accounts": [
{
"name": "applicationState";
"isMut": false;
"isSigner": false;
},
{
"name": "bidRequest";
"isMut": false;
"isSigner": false;
},
{
"name": "user";
"isMut": true;
"isSigner": true;
},
{
"name": "sellerNftTokenAccount";
"isMut": true;
"isSigner": false;
},
{
"name": "buyerNftTokenAccount";
"isMut": true;
"isSigner": false;
},
{
"name": "escrowTokenAccount";
"isMut": true;
"isSigner": false;
},
{
"name": "sellerTokenAccount";
"isMut": true;
"isSigner": false;
},
{
"name": "feeTokenAccount";
"isMut": true;
"isSigner": false;
},
{
"name": "nft";
"isMut": false;
"isSigner": false;
},
{
"name": "tokenMint";
"isMut": false;
"isSigner": false;
},
{
"name": "nftTokenProgram";
"isMut": false;
"isSigner": false;
},
{
"name": "tokenProgram";
"isMut": false;
"isSigner": false;
},
{
"name": "associatedTokenProgram";
"isMut": false;
"isSigner": false;
},
{
"name": "systemProgram";
"isMut": false;
"isSigner": false;
}
];
"args": [
{
"name": "acceptedAt";
"type": "u64";
}
];
},
{
"name": "rejectBidRequest";
"accounts": [
{
"name": "bidRequest";
"isMut": false;
"isSigner": false;
},
{
"name": "user";
"isMut": true;
"isSigner": true;
},
{
"name": "escrowTokenAccount";
"isMut": true;
"isSigner": false;
},
{
"name": "requesterTokenAccount";
"isMut": true;
"isSigner": false;
},
{
"name": "tokenMint";
"isMut": false;
"isSigner": false;
},
{
"name": "tokenProgram";
"isMut": false;
"isSigner": false;
},
{
"name": "associatedTokenProgram";
"isMut": false;
"isSigner": false;
},
{
"name": "systemProgram";
"isMut": false;
"isSigner": false;
}
];
"args": [
{
"name": "rejectedAt";
"type": "u64";
}
];
},
{
"name": "cancelBidRequest";
"accounts": [
{
"name": "bidRequest";
"isMut": false;
"isSigner": false;
},
{
"name": "user";
"isMut": true;
"isSigner": true;
},
{
"name": "escrowTokenAccount";
"isMut": true;
"isSigner": false;
},
{
"name": "cancellerTokenAccount";
"isMut": true;
"isSigner": false;
},
{
"name": "tokenMint";
"isMut": false;
"isSigner": false;
},
{
"name": "tokenProgram";
"isMut": false;
"isSigner": false;
},
{
"name": "associatedTokenProgram";
"isMut": false;
"isSigner": false;
},
{
"name": "systemProgram";
"isMut": false;
"isSigner": false;
}
];
"args": [
{
"name": "cancelledAt";
"type": "u64";
}
];
},
{
"name": "increaseBidRequest";
"accounts": [
{
"name": "bidRequest";
"isMut": false;
"isSigner": false;
},
{
"name": "user";
"isMut": true;
"isSigner": true;
},
{
"name": "escrowTokenAccount";
"isMut": true;
"isSigner": false;
},
{
"name": "ownerTokenAccount";
"isMut": true;
"isSigner": false;
},
{
"name": "tokenMint";
"isMut": false;
"isSigner": false;
},
{
"name": "tokenProgram";
"isMut": false;
"isSigner": false;
},
{
"name": "associatedTokenProgram";
"isMut": false;
"isSigner": false;
},
{
"name": "systemProgram";
"isMut": false;
"isSigner": false;
}
];
"args": [
{
"name": "newAmount";
"type": "u128";
},
{
"name": "submittedAt";
"type": "u64";
}
];
},
{
"name": "makeBidRequestPublic";
"accounts": [
{
"name": "applicationState";
"isMut": false;
"isSigner": false;
},
{
"name": "creatorUserdata";
"isMut": true;
"isSigner": false;
},
{
"name": "bidderUserdata";
"isMut": true;
"isSigner": false;
},
{
"name": "user";
"isMut": true;
"isSigner": true;
},
{
"name": "bidder";
"isMut": false;
"isSigner": false;
},
{
"name": "listing";
"isMut": true;
"isSigner": false;
},
{
"name": "auctionManager";
"isMut": true;
"isSigner": false;
},
{
"name": "bidReceipt";
"isMut": true;
"isSigner": false;
},
{
"name": "bidRequest";
"isMut": false;
"isSigner": false;
},
{
"name": "bidRequestTokenAccount";
"isMut": true;
"isSigner": false;
},
{
"name": "escrowTokenAccount";
"isMut": true;
"isSigner": false;
},
{
"name": "escrowNftAccount";
"isMut": true;
"isSigner": false;
},
{
"name": "creatorNftAccount";
"isMut": true;
"isSigner": false;
},
{
"name": "creatorTokenAccount";
"isMut": true;
"isSigner": false;
},
{
"name": "feeAccount";
"isMut": false;
"isSigner": false;
},
{
"name": "nft";
"isMut": false;
"isSigner": false;
},
{
"name": "tokenMint";
"isMut": false;
"isSigner": false;
},
{
"name": "nftTokenProgram";
"isMut": false;
"isSigner": false;
},
{
"name": "tokenProgram";
"isMut": false;
"isSigner": false;
},
{
"name": "associatedTokenProgram";
"isMut": false;
"isSigner": false;
},
{
"name": "systemProgram";
"isMut": false;
"isSigner": false;
}
];
"args": [
{
"name": "createdAt";
"type": "u64";
},
{
"name": "endTime";
"type": {
"option": "u64";
};
},
{
"name": "timeExtension";
"type": "u64";
}
];
}
];
"accounts": [
{
"name": "applicationState";
"docs": [
"* The different states we need to keep track of are the \n * \n * 1. General Application State\n * 2. Auction Manager State\n * 3. Listing State\n * 4. BidReceipt State\n *"
];
"type": {
"kind": "struct";
"fields": [
{
"name": "key";
"type": "publicKey";
},
{
"name": "listingAuthority";
"type": "publicKey";
},
{
"name": "feeAccount";
"type": "publicKey";
}
];
};
},
{
"name": "auctionManager";
"type": {
"kind": "struct";
"fields": [
{
"name": "key";
"type": "publicKey";
},
{
"name": "nft";
"type": "publicKey";
},
{
"name": "listingAuthority";
"type": "publicKey";
},
{
"name": "updateAuthority";
"type": "publicKey";
}
];
};
},
{
"name": "userData";
"type": {
"kind": "struct";
"fields": [
{
"name": "key";
"type": "publicKey";
},
{
"name": "listings";
"type": {
"vec": "publicKey";
};
},
{
"name": "bids";
"type": {
"vec": "publicKey";
};
},
{
"name": "bidRequests";
"type": {
"vec": "publicKey";
};
}
];
};
},
{
"name": "listing";
"type": {
"kind": "struct";
"fields": [
{
"name": "key";
"type": "publicKey";
},
{
"name": "auctionManager";
"type": "publicKey";
},
{
"name": "nft";
"type": "publicKey";
},
{
"name": "tokenMint";
"type": "publicKey";
},
{
"name": "startingPrice";
"type": "u128";
},
{
"name": "startTime";
"type": "u64";
},
{
"name": "endTime";
"type": {
"option": "u64";
};
},
{
"name": "highestBidReceipt";
"type": {
"option": "publicKey";
};
},
{
"name": "bidReceipts";
"type": {
"vec": "publicKey";
};
},
{
"name": "highestBidAmount";
"type": {
"option": "u128";
};
},
{
"name": "nftEscrow";
"type": "publicKey";
},
{
"name": "auctionProceedsWallet";
"type": "publicKey";
},
{
"name": "authority";
"type": "publicKey";
},
{
"name": "rewardPercentage";
"type": "u8";
},
{
"name": "timeExtension";
"type": "u64";
},
{
"name": "state";
"type": {
"defined": "ListingState";
};
},
{
"name": "cancelledAt";
"type": {
"option": "u64";
};
}
];
};
},
{
"name": "bidReceipt";
"type": {
"kind": "struct";
"fields": [
{
"name": "key";
"type": "publicKey";
},
{
"name": "listing";
"type": "publicKey";
},
{
"name": "bidder";
"type": "publicKey";
},
{
"name": "amount";
"type": "u128";
},
{
"name": "createdAt";
"type": "u64";
},
{
"name": "updatedAt";
"type": {
"option": "u64";
};
},
{
"name": "state";
"type": {
"defined": "BidReceiptState";
};
},
{
"name": "cancelledAt";
"type": {
"option": "u64";
};
},
{
"name": "refundedAt";
"type": {
"option": "u64";
};
}
];
};
},
{
"name": "bidRequest";
"type": {
"kind": "struct";
"fields": [
{
"name": "key";
"type": "publicKey";
},
{
"name": "nft";
"type": "publicKey";
},
{
"name": "authority";
"type": "publicKey";
},
{
"name": "amount";
"type": "u128";
},
{
"name": "createdAt";
"type": "u64";
},
{
"name": "updatedAt";
"type": {
"option": "u64";
};
},
{
"name": "status";
"type": {
"defined": "BidRequestStatus";
};
},
{
"name": "owner";
"type": "publicKey";
}
];
};
}
];
"types": [
{
"name": "ReceiptInfo";
"type": {
"kind": "struct";
"fields": [
{
"name": "amount";
"type": "u128";
},
{
"name": "key";
"type": "publicKey";
}
];
};
},
{
"name": "ListingState";
"type": {
"kind": "enum";
"variants": [
{
"name": "Active";
},
{
"name": "Sold";
},
{
"name": "Cancelled";
}
];
};
},
{
"name": "BidReceiptState";
"type": {
"kind": "enum";
"variants": [
{
"name": "Executed";
},
{
"name": "Cancelled";
},
{
"name": "Active";
},
{
"name": "Refunded";
}
];
};
},
{
"name": "BidRequestStatus";
"type": {
"kind": "enum";
"variants": [
{
"name": "Accepted";
},
{
"name": "Rejected";
},
{
"name": "Pending";
},
{
"name": "Cancelled";
},
{
"name": "Public";
}
];
};
}
];
"events": [
{
"name": "AuctionManagerCreated";
"fields": [
{
"name": "auctionManager";
"type": "publicKey";
"index": false;
},
{
"name": "nft";
"type": "publicKey";
"index": false;
}
];
},
{
"name": "AuctionListingCreated";
"fields": [
{
"name": "auctionManager";
"type": "publicKey";
"index": false;
},
{
"name": "nft";
"type": "publicKey";
"index": false;
},
{
"name": "listing";
"type": "publicKey";
"index": false;
},
{
"name": "tokenMint";
"type": "publicKey";
"index": false;
},
{
"name": "endTime";
"type": {
"option": "u64";
};
"index": false;
}
];
},
{
"name": "BidOnListingCreated";
"fields": [
{
"name": "listing";
"type": "publicKey";
"index": false;
},
{
"name": "bidder";
"type": "publicKey";
"index": false;
},
{
"name": "amount";
"type": "u128";
"index": false;
},
{
"name": "receipt";
"type": "publicKey";
"index": false;
},
{
"name": "createdAt";
"type": "u64";
"index": false;
}
];
},
{
"name": "ListingSold";
"fields": [
{
"name": "listing";
"type": "publicKey";
"index": false;
},
{
"name": "buyer";
"type": "publicKey";
"index": false;
},
{
"name": "amount";
"type": "u128";
"index": false;
},
{
"name": "createdAt";
"type": "u64";
"index": false;
}
];
},
{
"name": "ListingCancelled";
"fields": [
{
"name": "by";
"type": "publicKey";
"index": false;
},
{
"name": "nft";
"type": "publicKey";
"index": false;
},
{
"name": "listing";
"type": "publicKey";
"index": false;
},
{
"name": "cancelledAt";
"type": "u64";
"index": false;
}
];
},
{
"name": "BidCancelled";
"fields": [
{
"name": "bidReceipt";
"type": "publicKey";
"index": false;
},
{
"name": "receiver";
"type": "publicKey";
"index": false;
},
{
"name": "amount";
"type": "u128";
"index": false;
},
{
"name": "refundedAt";
"type": "u64";
"index": false;
}
];
},
{
"name": "BidIncreased";
"fields": [
{
"name": "bidReceipt";
"type": "publicKey";
"index": false;
},
{
"name":