export type SolmashWhitelist = {
    version: "0.1.0";
    name: "solmash_whitelist";
    instructions: [
        {
            name: "initAuction";
            accounts: [
                {
                    name: "owner";
                    isMut: true;
                    isSigner: true;
                },
                {
                    name: "auction";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "auctionVault";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "rent";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "systemProgram";
                    isMut: false;
                    isSigner: false;
                }
            ];
            args: [
                {
                    name: "params";
                    type: {
                        defined: "InitAuctionParams";
                    };
                }
            ];
        },
        {
            name: "addToken";
            accounts: [
                {
                    name: "owner";
                    isMut: true;
                    isSigner: true;
                },
                {
                    name: "auction";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "auctionVault";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "ownerAuctionTokenAccount";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "auctionVaultTokenAccount";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "auctionToken";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "rent";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "systemProgram";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "tokenProgram";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "associatedTokenProgram";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "clock";
                    isMut: false;
                    isSigner: false;
                }
            ];
            args: [];
        },
        {
            name: "withdrawFunds";
            accounts: [
                {
                    name: "creator";
                    isMut: true;
                    isSigner: true;
                },
                {
                    name: "auction";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "auctionVault";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "auctionVaultTokenAccount";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "creatorAuctionTokenAccount";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "creatorBidTokenAccount";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "auctionBidTokenAccount";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "bidToken";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "auctionToken";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "tokenProgram";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "clock";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "systemProgram";
                    isMut: false;
                    isSigner: false;
                }
            ];
            args: [];
        },
        {
            name: "whitelist";
            accounts: [
                {
                    name: "creator";
                    isMut: true;
                    isSigner: true;
                },
                {
                    name: "buyerPda";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "auction";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "whitelistUser";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "rent";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "systemProgram";
                    isMut: false;
                    isSigner: false;
                }
            ];
            args: [];
        },
        {
            name: "preSaleBuyUsingSpl";
            accounts: [
                {
                    name: "buyer";
                    isMut: true;
                    isSigner: true;
                },
                {
                    name: "buyerPda";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "buyerBidTokenAccount";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "auction";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "auctionVault";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "auctionVaultBidTokenAccount";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "bidToken";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "tokenProgram";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "associatedTokenProgram";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "clock";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "systemProgram";
                    isMut: false;
                    isSigner: false;
                }
            ];
            args: [];
        },
        {
            name: "preSaleBuyUsingSol";
            accounts: [
                {
                    name: "buyer";
                    isMut: true;
                    isSigner: true;
                },
                {
                    name: "buyerPda";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "auction";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "auctionVault";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "clock";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "systemProgram";
                    isMut: false;
                    isSigner: false;
                }
            ];
            args: [];
        },
        {
            name: "claimTokens";
            accounts: [
                {
                    name: "buyer";
                    isMut: true;
                    isSigner: true;
                },
                {
                    name: "buyerPda";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "buyerAuctionTokenAccount";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "auction";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "auctionVault";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "auctionVaultTokenAccount";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "auctionToken";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "tokenProgram";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "associatedTokenProgram";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "clock";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "systemProgram";
                    isMut: false;
                    isSigner: false;
                }
            ];
            args: [];
        },
        {
            name: "changeTime";
            accounts: [
                {
                    name: "creator";
                    isMut: true;
                    isSigner: true;
                },
                {
                    name: "auction";
                    isMut: true;
                    isSigner: false;
                }
            ];
            args: [
                {
                    name: "newStartTime";
                    type: "i64";
                },
                {
                    name: "newEndTime";
                    type: "i64";
                }
            ];
        }
    ];
    accounts: [
        {
            name: "auction";
            type: {
                kind: "struct";
                fields: [
                    {
                        name: "owner";
                        type: "publicKey";
                    },
                    {
                        name: "name";
                        type: "string";
                    },
                    {
                        name: "bidToken";
                        type: "publicKey";
                    },
                    {
                        name: "auctionToken";
                        type: "publicKey";
                    },
                    {
                        name: "enabled";
                        type: "bool";
                    },
                    {
                        name: "preSaleStartTime";
                        type: "i64";
                    },
                    {
                        name: "preSaleEndTime";
                        type: "i64";
                    },
                    {
                        name: "ticketsInPool";
                        type: "u64";
                    },
                    {
                        name: "tokenQuantityPerTicket";
                        type: "u64";
                    },
                    {
                        name: "ticketPriceInSol";
                        type: "u64";
                    },
                    {
                        name: "ticketPriceInSobb";
                        type: "u64";
                    },
                    {
                        name: "accumulatedSol";
                        type: "u64";
                    },
                    {
                        name: "accumulatedSobb";
                        type: "u64";
                    }
                ];
            };
        },
        {
            name: "buyer";
            type: {
                kind: "struct";
                fields: [
                    {
                        name: "participated";
                        type: "bool";
                    },
                    {
                        name: "claimed";
                        type: "bool";
                    },
                    {
                        name: "whitelisted";
                        type: "bool";
                    },
                    {
                        name: "blacklisted";
                        type: "bool";
                    }
                ];
            };
        }
    ];
    types: [
        {
            name: "InitAuctionParams";
            type: {
                kind: "struct";
                fields: [
                    {
                        name: "name";
                        type: "string";
                    },
                    {
                        name: "bidToken";
                        type: "publicKey";
                    },
                    {
                        name: "auctionToken";
                        type: "publicKey";
                    },
                    {
                        name: "enabled";
                        type: "bool";
                    },
                    {
                        name: "preSaleStartTime";
                        type: "i64";
                    },
                    {
                        name: "preSaleEndTime";
                        type: "i64";
                    },
                    {
                        name: "ticketsInPool";
                        type: "u64";
                    },
                    {
                        name: "tokenQuantityPerTicket";
                        type: "u64";
                    },
                    {
                        name: "ticketPriceInSol";
                        type: "u64";
                    },
                    {
                        name: "ticketPriceInSobb";
                        type: "u64";
                    }
                ];
            };
        }
    ];
    errors: [
        {
            code: 6000;
            name: "InvalidAuction";
            msg: "Invalid Auction";
        },
        {
            code: 6001;
            name: "InvalidToken";
            msg: "Invalid Token";
        },
        {
            code: 6002;
            name: "InsufficientTokens";
            msg: "Insufficient Token";
        },
        {
            code: 6003;
            name: "Unauthorized";
            msg: "Unauthorized";
        },
        {
            code: 6004;
            name: "AuctionNotEnded";
            msg: "Auction Not Ended";
        },
        {
            code: 6005;
            name: "AuctionDisabled";
            msg: "Auction Disabled";
        },
        {
            code: 6006;
            name: "NonNativeAuction";
            msg: "Non Native Auction";
        },
        {
            code: 6007;
            name: "NonSplAuction";
            msg: "Non SPL Auction";
        },
        {
            code: 6008;
            name: "NotWhitelisted";
            msg: "Not Whitelisted";
        },
        {
            code: 6009;
            name: "ExceedsLimit";
            msg: "Exceeds Buying Limit";
        },
        {
            code: 6010;
            name: "PreSaleNotEnabled";
            msg: "Pre Sale Not Enabled";
        },
        {
            code: 6011;
            name: "InvalidPresaleTime";
            msg: "Invalid Pre Sale Time ";
        },
        {
            code: 6012;
            name: "PreSaleAlreadyStarted";
            msg: "Pre Sale Already Started";
        },
        {
            code: 6013;
            name: "PreSaleNotEnded";
            msg: "Pre Sale Not Ended";
        },
        {
            code: 6014;
            name: "InvalidTokenAmount";
            msg: "Invalid Token Amount";
        },
        {
            code: 6015;
            name: "InvalidSolAmount";
            msg: "Invalid Sol Amount";
        },
        {
            code: 6016;
            name: "InvalidAuctionTimes";
            msg: "Invalid Auction Times";
        },
        {
            code: 6017;
            name: "AlreadyParticipated";
            msg: "User Already Participated";
        },
        {
            code: 6018;
            name: "InvalidSolFor1ticket";
            msg: "Invalid Sol for 1 ticket";
        },
        {
            code: 6019;
            name: "AlreadyClaimed";
            msg: "Already Claimed";
        },
        {
            code: 6020;
            name: "NotParticipated";
            msg: "Not Participated";
        },
        {
            code: 6021;
            name: "InvalidBidToken";
            msg: "Invalid Bid Token";
        },
        {
            code: 6022;
            name: "InvalidClaimTime";
            msg: "Invalid Claim Time";
        }
    ];
};
export declare const IDL: SolmashWhitelist;
