helius-rust-client 0.1.0

A rust client wrapping Helius APIs and the standard Solana RPC client
Documentation
use std::fmt;

use serde::{Deserialize, Serialize};

#[derive(Debug, Serialize, Deserialize, Copy, Clone, PartialEq)]
#[allow(non_camel_case_types)]
pub enum TransactionType {
    UNKNOWN,
    ANY,
    NFT_BID,
    NFT_GLOBAL_BID,
    NFT_GLOBAL_BID_CANCELLED,
    NFT_BID_CANCELLED,
    NFT_LISTING,
    NFT_CANCEL_LISTING,
    NFT_SALE,
    NFT_MINT,
    NFT_AUCTION_CREATED,
    NFT_AUCTION_UPDATED,
    NFT_AUCTION_CANCELLED,
    NFT_PARTICIPATION_REWARD,
    NFT_MINT_REJECTED,
    CREATE_STORE,
    WHITELIST_CREATOR,
    ADD_TO_WHITELIST,
    REMOVE_FROM_WHITELIST,
    AUCTION_MANAGER_CLAIM_BID,
    EMPTY_PAYMENT_ACCOUNT,
    UPDATE_PRIMARY_SALE_METADATA,
    ADD_TOKEN_TO_VAULT,
    ACTIVATE_VAULT,
    INIT_VAULT,
    INIT_BANK,
    INIT_STAKE,
    MERGE_STAKE,
    SPLIT_STAKE,
    SET_BANK_FLAGS,
    SET_VAULT_LOCK,
    UPDATE_VAULT_OWNER,
    UPDATE_BANK_MANAGER,
    RECORD_RARITY_POINTS,
    ADD_RARITIES_TO_BANK,
    INIT_FARM,
    INIT_FARMER,
    REFRESH_FARMER,
    UPDATE_FARM,
    AUTHORIZE_FUNDER,
    DEAUTHORIZE_FUNDER,
    FUND_REWARD,
    CANCEL_REWARD,
    LOCK_REWARD,
    PAYOUT,
    VALIDATE_SAFETY_DEPOSIT_BOX_V2,
    SET_AUTHORITY,
    INIT_AUCTION_MANAGER_V2,
    UPDATE_EXTERNAL_PRICE_ACCOUNT,
    AUCTION_HOUSE_CREATE,
    CLOSE_ESCROW_ACCOUNT,
    WITHDRAW,
    DEPOSIT,
    TRANSFER,
    BURN,
    BURN_NFT,
    PLATFORM_FEE,
    LOAN,
    RESCIND_LOAN,
    OFFER_LOAN,
    REPAY_LOAN,
    TAKE_LOAN,
    FORECLOSE_LOAN,
    ADD_TO_POOL,
    REMOVE_FROM_POOL,
    CLOSE_POSITION,
    UNLABELED,
    CLOSE_ACCOUNT,
    WITHDRAW_GEM,
    DEPOSIT_GEM,
    STAKE_TOKEN,
    UNSTAKE_TOKEN,
    STAKE_SOL,
    UNSTAKE_SOL,
    CLAIM_REWARDS,
    BUY_SUBSCRIPTION,
    SWAP,
    INIT_SWAP,
    CANCEL_SWAP,
    REJECT_SWAP,
    INITIALIZE_ACCOUNT,
    TOKEN_MINT,
    CREATE_APPRAISAL,
    CANDY_MACHINE_WRAP,
    CANDY_MACHINE_UNWRAP,
    CANDY_MACHINE_UPDATE,
    CANDY_MACHINE_ROUTE,
    FRACTIONALIZE,
    DEPOSIT_FRACTIONAL_POOL,
    FUSE,
    CREATE_RAFFLE,
    BUY_TICKETS,
    UPDATE_ITEM,
    LIST_ITEM,
    DELIST_ITEM,
    ADD_ITEM,
    CLOSE_ITEM,
}
impl fmt::Display for TransactionType {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        write!(f, "{:?}", self)
    }
}

#[derive(Debug, Deserialize, Copy, Clone, PartialEq)]
#[allow(non_camel_case_types)]
pub enum TransactionSource {
    FORM_FUNCTION,
    EXCHANGE_ART,
    CANDY_MACHINE_V3,
    CANDY_MACHINE_V2,
    CANDY_MACHINE_V1,
    UNKNOWN,
    SOLANART,
    SOLSEA,
    MAGIC_EDEN,
    HOLAPLEX,
    METAPLEX,
    OPENSEA,
    SOLANA_PROGRAM_LIBRARY,
    ANCHOR,
    PHANTOM,
    SYSTEM_PROGRAM,
    STAKE_PROGRAM,
    COINBASE,
    CORAL_CUBE,
    HEDGE,
    LAUNCH_MY_NFT,
    GEM_BANK,
    GEM_FARM,
    DEGODS,
    BLOCKSMITH_LABS,
    YAWWW,
    ATADIA,
    DIGITAL_EYES,
    HYPERSPACE,
    TENSOR,
    BIFROST,
    JUPITER,
    MERCURIAL_STABLE_SWAP,
    SABER,
    SERUM,
    STEP_FINANCE,
    CROPPER,
    RAYDIUM,
    ALDRIN,
    CREMA,
    LIFINITY,
    CYKURA,
    ORCA,
    MARINADE,
    STEPN,
    SENCHA_EXCHANGE,
    SAROS,
    ENGLISH_AUCTION,
    FOXY,
    HADESWAP,
    FOXY_STAKING,
    FOXY_RAFFLE,
    FOXY_TOKEN_MARKET,
    FOXY_MISSIONS,
    FOXY_MARMALADE,
    FOXY_COINFLIP,
    FOXY_AUCTION,
    CITRUS,
    ZETA,
    ELIXIR,
    ELIXIR_LAUNCHPAD,
    CARDINAL_RENT,
    CARDINAL_STAKING,
    BPF_LOADER,
    BPF_UPGRADEABLE_LOADER,
    SQUADS,
    SHARKY_FI,
    OPEN_CREATOR_PROTOCOL,

    // Mints
    W_SOL,
    DUST,
    SOLI,
    USDC,
    FLWR,
    HDG,
    MEAN,
    UXD,
    SHDW,
    POLIS,
    ATLAS,
    USH,
    TRTLS,
    RUNNER,
    INVICTUS,
}
impl fmt::Display for TransactionSource {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        write!(f, "{:?}", self)
    }
}

#[derive(Debug, Deserialize, Copy, Clone, PartialEq)]
#[allow(non_camel_case_types)]
pub enum NftEventType {
    NFT_BID,
    NFT_BID_CANCELLED,
    NFT_GLOBAL_BID,
    NFT_GLOBAL_BID_CANCELLED,
    NFT_LISTING,
    NFT_CANCEL_LISTING,
    NFT_SALE,
    NFT_MINT,
    NFT_MINT_REJECTED,
    NFT_AUCTION_CREATED,
    NFT_AUCTION_UPDATED,
    NFT_AUCTION_CANCELLED,
    NFT_PARTICIPATION_REWARD,
    BURN_NFT,
    NFT_RENT_LISTING,
    NFT_RENT_CANCEL_LISTING,
    NFT_RENT_UPDATE_LISTING,
    NFT_RENT_ACTIVATE,
    NFT_RENT_END,
    ATTACH_METADATA,
    REQUEST_PNFT_MIGRATION,
    START_PNFT_MIGRATION,
    MIGRATE_TO_PNFT,
    SFT_MINT,
}

#[derive(Debug, Deserialize, Copy, Clone, PartialEq)]
pub enum TokenStandard {
    ProgrammableNonFungible,
    NonFungible,
    Fungible,
    FungibleAsset,
    NonFungibleEdition,
    UnknownStandard,
}

#[derive(Debug, Deserialize, Copy, Clone, PartialEq)]
#[allow(non_camel_case_types)]
pub enum CompressedNftEventType {
    COMPRESSED_NFT_MINT,
    COMPRESSED_NFT_TRANSFER,
    CREATE_MERKLE_TREE,
    COMPRESSED_NFT_REDEEM,
    COMPRESSED_NFT_CANCEL_REDEEM,
    COMPRESSED_NFT_BURN,
    COMPRESSED_NFT_DELEGATE,
}

#[derive(Debug, Deserialize, Copy, Clone, PartialEq)]
#[allow(non_camel_case_types)]
pub enum SaleType {
    AUCTION,
    INSTANT_SALE,
    OFFER,
    GLOBAL_OFFER,
    MINT,
    UNKNOWN,
}