export declare type BlockassetBlaze = {
    version: '0.0.1';
    name: 'blockasset_blaze';
    instructions: [
        {
            name: 'redeemEntrants';
            accounts: [
                {
                    name: 'blaze';
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: 'entrants';
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: 'signer';
                    isMut: true;
                    isSigner: true;
                },
                {
                    name: 'systemProgram';
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: 'tokenProgram';
                    isMut: false;
                    isSigner: false;
                }
            ];
            args: [
                {
                    name: 'count';
                    type: 'u32';
                }
            ];
        },
        {
            name: 'claimPrize';
            accounts: [
                {
                    name: 'blaze';
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: 'blazePrizeMintTokenAccount';
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: 'winner';
                    isMut: true;
                    isSigner: true;
                },
                {
                    name: 'winnerPrizeMintTokenAccount';
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: 'tokenProgram';
                    isMut: false;
                    isSigner: false;
                }
            ];
            args: [];
        },
        {
            name: 'closeBlaze';
            accounts: [
                {
                    name: 'blaze';
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: 'project';
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: 'entrants';
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: 'blazePrizeMintTokenAccount';
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: 'authority';
                    isMut: true;
                    isSigner: true;
                },
                {
                    name: 'authorityPrizeMintTokenAccount';
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: 'tokenProgram';
                    isMut: false;
                    isSigner: false;
                }
            ];
            args: [];
        },
        {
            name: 'initIdentifier';
            accounts: [
                {
                    name: 'identifier';
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: 'payer';
                    isMut: true;
                    isSigner: true;
                },
                {
                    name: 'systemProgram';
                    isMut: false;
                    isSigner: false;
                }
            ];
            args: [];
        },
        {
            name: 'initBlaze';
            accounts: [
                {
                    name: 'blaze';
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: 'project';
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: 'projectWallet';
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: 'entrants';
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: 'identifier';
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: 'blazePrizeMintTokenAccount';
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: 'authority';
                    isMut: true;
                    isSigner: true;
                },
                {
                    name: 'authorityPrizeMintTokenAccount';
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: 'systemProgram';
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: 'tokenProgram';
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: 'rent';
                    isMut: false;
                    isSigner: false;
                }
            ];
            args: [
                {
                    name: 'ix';
                    type: {
                        defined: 'InitBlazeIx';
                    };
                }
            ];
        },
        {
            name: 'resolveBlaze';
            accounts: [
                {
                    name: 'blaze';
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: 'recentBlockhashes';
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: 'entrants';
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: 'tokenProgram';
                    isMut: false;
                    isSigner: false;
                }
            ];
            args: [];
        },
        {
            name: 'updateBlaze';
            accounts: [
                {
                    name: 'blaze';
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: 'project';
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: 'authority';
                    isMut: true;
                    isSigner: true;
                }
            ];
            args: [
                {
                    name: 'ix';
                    type: {
                        defined: 'UpdateBlazeIx';
                    };
                }
            ];
        }
    ];
    accounts: [
        {
            name: 'blaze';
            type: {
                kind: 'struct';
                fields: [
                    {
                        name: 'bump';
                        type: 'u8';
                    },
                    {
                        name: 'identifier';
                        type: 'u64';
                    },
                    {
                        name: 'entrants';
                        type: 'publicKey';
                    },
                    {
                        name: 'project';
                        type: 'publicKey';
                    },
                    {
                        name: 'prizeMint';
                        type: 'publicKey';
                    },
                    {
                        name: 'tokenMint';
                        type: {
                            option: 'publicKey';
                        };
                    },
                    {
                        name: 'tokenAccount';
                        type: {
                            option: 'publicKey';
                        };
                    },
                    {
                        name: 'treasury';
                        type: {
                            option: 'publicKey';
                        };
                    },
                    {
                        name: 'burnRate';
                        type: 'u8';
                    },
                    {
                        name: 'entrantFee';
                        type: 'u64';
                    },
                    {
                        name: 'start';
                        type: 'i64';
                    },
                    {
                        name: 'end';
                        type: 'i64';
                    },
                    {
                        name: 'winner';
                        type: 'publicKey';
                    },
                    {
                        name: 'prizeClaimed';
                        type: 'bool';
                    },
                    {
                        name: 'maxEntrantsPerWalletRate';
                        type: 'u8';
                    },
                    {
                        name: 'category';
                        type: {
                            option: 'string';
                        };
                    }
                ];
            };
        },
        {
            name: 'identifier';
            type: {
                kind: 'struct';
                fields: [
                    {
                        name: 'bump';
                        type: 'u8';
                    },
                    {
                        name: 'count';
                        type: 'u64';
                    }
                ];
            };
        },
        {
            name: 'entrants';
            type: {
                kind: 'struct';
                fields: [
                    {
                        name: 'total';
                        type: 'u32';
                    },
                    {
                        name: 'max';
                        type: 'u32';
                    }
                ];
            };
        }
    ];
    types: [
        {
            name: 'InitBlazeIx';
            type: {
                kind: 'struct';
                fields: [
                    {
                        name: 'prizeMint';
                        type: 'publicKey';
                    },
                    {
                        name: 'tokenMint';
                        type: {
                            option: 'publicKey';
                        };
                    },
                    {
                        name: 'tokenAccount';
                        type: {
                            option: 'publicKey';
                        };
                    },
                    {
                        name: 'treasury';
                        type: {
                            option: 'publicKey';
                        };
                    },
                    {
                        name: 'burnRate';
                        type: {
                            option: 'u8';
                        };
                    },
                    {
                        name: 'entrantFee';
                        type: 'u64';
                    },
                    {
                        name: 'maxEntrants';
                        type: 'u32';
                    },
                    {
                        name: 'start';
                        type: 'i64';
                    },
                    {
                        name: 'end';
                        type: 'i64';
                    },
                    {
                        name: 'maxEntrantsPerWalletRate';
                        type: {
                            option: 'u8';
                        };
                    },
                    {
                        name: 'category';
                        type: {
                            option: 'string';
                        };
                    }
                ];
            };
        },
        {
            name: 'UpdateBlazeIx';
            type: {
                kind: 'struct';
                fields: [
                    {
                        name: 'tokenMint';
                        type: {
                            option: 'publicKey';
                        };
                    },
                    {
                        name: 'tokenAccount';
                        type: {
                            option: 'publicKey';
                        };
                    },
                    {
                        name: 'treasury';
                        type: {
                            option: 'publicKey';
                        };
                    },
                    {
                        name: 'entrantFee';
                        type: 'u64';
                    },
                    {
                        name: 'burnRate';
                        type: {
                            option: 'u8';
                        };
                    },
                    {
                        name: 'start';
                        type: 'i64';
                    },
                    {
                        name: 'end';
                        type: 'i64';
                    },
                    {
                        name: 'maxEntrantsPerWalletRate';
                        type: {
                            option: 'u8';
                        };
                    },
                    {
                        name: 'category';
                        type: {
                            option: 'string';
                        };
                    }
                ];
            };
        }
    ];
    errors: [
        {
            code: 6000;
            name: 'InvalidProjectAuthority';
            msg: 'Invalid project authority';
        },
        {
            code: 6001;
            name: 'InvalidBlaze';
            msg: 'Invalid blaze';
        },
        {
            code: 6002;
            name: 'InvalidBlazePrizeMintTokenAccount';
            msg: 'Invalid blaze prize mint token account';
        },
        {
            code: 6003;
            name: 'InvalidUserPrizeMintTokenAccount';
            msg: 'Invalid user prize mint token account';
        },
        {
            code: 6004;
            name: 'InvalidUserTokenAccount';
            msg: 'Invalid user token account';
        },
        {
            code: 6005;
            name: 'ActiveBlaze';
            msg: 'Active blaze';
        },
        {
            code: 6006;
            name: 'BlazeNotStarted';
            msg: 'Blaze not started yet';
        },
        {
            code: 6007;
            name: 'BlazeEnded';
            msg: 'Blaze ended';
        },
        {
            code: 6008;
            name: 'ResolvedBlaze';
            msg: 'Resolved blaze';
        },
        {
            code: 6009;
            name: 'InvalidStartEnd';
            msg: 'Invalid start and end';
        },
        {
            code: 6010;
            name: 'NotEnoughEntrantsLeft';
            msg: 'Not enough entries left in the blaze';
        },
        {
            code: 6011;
            name: 'EntrantsAccountTooSmallForMaxEntrants';
            msg: 'Entrants account too small for max entrants';
        },
        {
            code: 6012;
            name: 'InvalidCalculation';
            msg: 'Invalid calculation';
        },
        {
            code: 6013;
            name: 'UserIsNotTheWinner';
            msg: 'You are not the winner';
        },
        {
            code: 6014;
            name: 'InvalidEntrants';
            msg: 'Invalid entrants';
        },
        {
            code: 6015;
            name: 'PrizeNotClaimedYet';
            msg: 'Prize not claimed yet';
        },
        {
            code: 6016;
            name: 'InvalidTokenMint';
            msg: 'Invalid token mint';
        },
        {
            code: 6017;
            name: 'MaxPurchaseLimitReached';
            msg: 'You have reached your 20% burn entry limit';
        },
        {
            code: 6018;
            name: 'PermissionDenied';
            msg: 'Permission denied';
        },
        {
            code: 6019;
            name: 'InvalidProject';
            msg: 'Invalid project';
        },
        {
            code: 6020;
            name: 'InvalidTokenAccount';
            msg: 'Invalid token or treasury account';
        }
    ];
};
export declare const IDL: BlockassetBlaze;
//# sourceMappingURL=blockasset_blaze.d.ts.map