UNPKG

@deserialize/auction-sdk

Version:

An SDK for Auction on SVMs

2,442 lines (2,440 loc) 83.8 kB
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" } ] },