@deserialize/auction-sdk
Version:
An SDK for Auction on SVMs
2,442 lines (2,440 loc) • 83.8 kB
text/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": "bidder",
"type": "publicKey",
"index": false
},
{
"name": "oldAmount",
"type": "u128",
"index": false
},
{
"name": "newAmount",
"type": "u128",
"index": false
},
{
"name": "updatedAt",
"type": "u64",
"index": false
}
]
},
{
"name": "BidExecuted",
"fields": [
{
"name": "bidReceipt",
"type": "publicKey",
"index": false
},
{
"name": "receiver",
"type": "publicKey",
"index": false
},
{
"name": "amount",
"type": "u128",
"index": false
},
{
"name": "createdAt",
"type": "u64",
"index": false
}
]
},
{
"name": "BidRefunded",
"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": "BidRequestCreated",
"fields": [
{
"name": "bidRequest",
"type": "publicKey",
"index": false
},
{
"name": "creator",
"type": "publicKey",
"index": false
},
{
"name": "nft",
"type": "publicKey",
"index": false
},
{
"name": "createdAt",
"type": "u64",
"index": false
}
]
},
{
"name": "BidRequestAccepted",
"fields": [
{
"name": "bidRequest",
"type": "publicKey",
"index": false
},
{
"name": "nft",
"type": "publicKey",
"index": false
},
{
"name": "acceptedAt",
"type": "u64",
"index": false
},
{
"name": "newOwner",
"type": "publicKey",
"index": false
}
]
},
{
"name": "BidRequestRejected",
"fields": [
{
"name": "bidRequest",
"type": "publicKey",
"index": false
},
{
"name": "nft",
"type": "publicKey",
"index": false
},
{
"name": "rejectedAt",
"type": "u64",
"index": false
}
]
},
{
"name": "BidRequestCancelled",
"fields": [
{
"name": "bidRequest",
"type": "publicKey",
"index": false
},
{
"name": "nft",
"type": "publicKey",
"index": false
},
{
"name": "cancelledAt",
"type": "u64",
"index": false
}
]
},
{
"name": "BidRequestMadePublic",
"fields": [
{
"name": "listing",
"type": "publicKey",
"index": false
},
{
"name": "bidRequest",
"type": "publicKey",
"index": false
},
{
"name": "nft",
"type": "publicKey",
"index": false
},
{
"name": "createdAt",
"type": "u64",
"index": false
}
]
},
{
"name": "BidRequestIncreased",
"fields": [
{
"name": "bidRequest",
"type": "publicKey",
"index": false
},
{
"name": "nft",
"type": "publicKey",
"index": false
},
{
"name": "oldAmount",
"type": "u128",
"index": false
},
{
"name": "newAmount",
"type": "u128",
"index": false
},
{
"name": "increasedAt",
"type": "u64",
"index": false
}
]
}
],
"errors": [
{
"code": 6000,
"name": "AuctionNotActive",
"msg": "Auction is not active"
},
{
"code": 6001,
"name": "InvalidListingAuthority",
"msg": "Invalid listing authority"
},
{
"code": 6002,
"name": "UnauthorizedAuctionManager",
"msg": "Auction manager is not authorized"
},
{
"code": 6003,
"name": "ListingSold",
"msg": "Listing has already been sold"
},
{
"code": 6004,
"name": "InvalidBidAmount",
"msg": "Invalid bid amount"
},
{
"code": 6005,
"name": "BidAmountLessThanStartingPrice",
"msg": "Bid amount is less than the starting price"
},
{
"code": 6006,
"name": "BidAmountLessThanHighestBid",
"msg": "Bid amount is less than the highest bid"
},
{
"code": 6007,
"name": "OneTimeSaleListing",
"msg": "Listing is a one-time sale"
},
{
"code": 6008,
"name": "DuplicateListingState",
"msg": "Duplicate listing state"
},
{
"code": 6009,
"name": "BidAlreadyCancelled",
"msg": "Bid already cancelled"
},
{
"code": 6010,
"name": "BidAlreadyExeceuted",
"msg": "Bid already executed"
},
{
"code": 6011,
"name": "UnauthorizedListingCanceller",
"msg": "You are not authorized to cancel this listing"
},
{
"code": 6012,
"name": "ListingAlreadyCancelled",
"msg": "Listing is alredy cancelled"
},
{
"code": 6013,
"name": "CannotCancelListing",
"msg": "Cannot cancel listing that already has active bids"
},
{
"code": 6014,
"name": "InvalidBidReceipt",
"msg": "This receipt does not belong to this listing"
},
{
"code": 6015,
"name": "NewBidNotGreaterThanOldBid",
"msg": "New bid is lesser than the old bid"
},
{
"code": 6016,
"name": "UserNotAuthorized",
"msg": "User is not authorized to take this action"
},
{
"code": 6017,
"name": "MintMismatch",
"msg": "Token mint mismatch"
},
{
"code": 6018,
"name": "FeeAccountNotAuthorized",
"msg": "Fee account not authorized"
},
{
"code": 6019,
"name": "ListingHasNoBids",
"msg": "Listing has no bids"
},
{
"code": 6020,
"name": "ListingNotActive",
"msg": "Listing is not active"
},
{
"code": 6021,
"name": "InvalidAuctionWinner",
"msg": "Invalid auction winner"
},
{
"code": 6022,
"name": "SaleNotEnded",
"msg": "Listing sale has not ended"
},
{
"code": 6023,
"name": "BidRefunded",
"msg": "Bid has been refunded"
},
{
"code": 6024,
"name": "BidNotActive",
"msg": "Bid is not active"
},
{
"code": 6025,
"name": "StartingPriceLessThanMinimumBidThreshold",
"msg": "Starting price is less than the minimum bid threshold"
},
{
"code": 6026,
"name": "BidRequestActionInvalid",
"msg": "Bid request action invalid"
}
]
};
export const IDL: 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"
}
]
},