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 declare const IDL: Auction;
