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,
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,
}