greedy-solana 0.1.2

Solana implementation of Greedy contract
Documentation
use anchor_lang::prelude::*;

#[error_code]
pub enum ProgramError {
    #[msg("Authority mismatched")]
    AuthorityMismatch,
    #[msg("Account has illegal owner")]
    IllegalOwner,
    #[msg("Invalid program data account")]
    InvalidProgramData,
    #[msg("Invalid program account")]
    InvalidProgramAccount,
    #[msg("Invalid UUID version")]
    InvalidUUID,
    #[msg("Invalid sale end date")]
    InvalidEndDate,
    #[msg("Invalid target deposit")]
    InvalidTargetDeposit,
    #[msg("Invalid sale unlock range")]
    InvalidUnlockRange,
    #[msg("Invalid sale price")]
    InvalidPrice,
    #[msg("Sale already started")]
    SaleAlreadyStarted,
    #[msg("Sale is inactive")]
    InactiveSale,
    #[msg("Sale is still active - recharge is available only on closed sales")]
    ActiveSale,
    #[msg("Sale is still locked")]
    LockedSale,
    #[msg("Invalid amount sale for sale participation")]
    InvalidParticipationAmount,
    #[msg("Invalid claim hour - must be less than sale unlock range")]
    InvalidClaimHour,
    #[msg("Early claim - participant is trying to claim before the claim hour")]
    EarlyClaim,
    #[msg("Invalid mint")]
    InvalidMint,
    #[msg("Value overflow - not possible")]
    ValueOverflow,
    #[msg("Sale is not filled enough")]
    SaleIsNotFilledEnough,
    #[msg("SaleAlreadyFiled")]
    FilledSale,
    #[msg("Distribution amount exceeded")]
    DistributionAmountExceeded,
    #[msg("Sale is not completed")]
    SaleIsNotCompleted,
    #[msg("Sale is already completed")]
    SaleIsCompleted,
    #[msg("Invalid sale multiplier")]
    InvalidMultiplier,
    #[msg("Invalid pda seeds")]
    InvalidSeeds,
    #[msg("Participant has already claimed tokens or recharged SOL")]
    ParticipantAlreadyClaimed,
}