carbon-boop-decoder 1.0.0

Boop program decoder
Documentation
//! This code was AUTOGENERATED using the Codama library.
pub mod add_operators_schema;
pub mod buy_token_schema;
pub mod cancel_authority_transfer_schema;
pub mod close_bonding_curve_vault_schema;
pub mod collect_meteora_trading_fees_schema;
pub mod collect_meteora_trading_fees_v2_schema;
pub mod collect_trading_fees_schema;
pub mod collect_trading_fees_v2_schema;
pub mod complete_authority_transfer_schema;
pub mod cpi_event_schema;
pub mod create_meteora_pool_schema;
pub mod create_raydium_pool_schema;
pub mod create_raydium_random_pool_schema;
pub mod create_token_fallback_schema;
pub mod create_token_schema;
pub mod deploy_bonding_curve_fallback_schema;
pub mod deploy_bonding_curve_schema;
pub mod deposit_into_raydium_schema;
pub mod graduate_schema;
pub mod initialize_schema;
pub mod initiate_authority_transfer_schema;
pub mod lock_raydium_liquidity_schema;
pub mod remove_operators_schema;
pub mod sell_token_schema;
pub mod split_post_graduation_trading_fees_schema;
pub mod split_trading_fees_schema;
pub mod swap_sol_for_tokens_on_raydium_schema;
pub mod swap_tokens_for_sol_on_raydium_schema;
pub mod toggle_paused_schema;
pub mod update_config_schema;

use juniper::GraphQLObject;
pub use {
    add_operators_schema::*, buy_token_schema::*, cancel_authority_transfer_schema::*,
    close_bonding_curve_vault_schema::*, collect_meteora_trading_fees_schema::*,
    collect_meteora_trading_fees_v2_schema::*, collect_trading_fees_schema::*,
    collect_trading_fees_v2_schema::*, complete_authority_transfer_schema::*, cpi_event_schema::*,
    create_meteora_pool_schema::*, create_raydium_pool_schema::*,
    create_raydium_random_pool_schema::*, create_token_fallback_schema::*, create_token_schema::*,
    deploy_bonding_curve_fallback_schema::*, deploy_bonding_curve_schema::*,
    deposit_into_raydium_schema::*, graduate_schema::*, initialize_schema::*,
    initiate_authority_transfer_schema::*, lock_raydium_liquidity_schema::*,
    remove_operators_schema::*, sell_token_schema::*, split_post_graduation_trading_fees_schema::*,
    split_trading_fees_schema::*, swap_sol_for_tokens_on_raydium_schema::*,
    swap_tokens_for_sol_on_raydium_schema::*, toggle_paused_schema::*, update_config_schema::*,
};

#[derive(Debug, Clone, GraphQLObject)]
#[graphql(name = "InstructionMetadata")]
pub struct InstructionMetadataGraphQL {
    pub signature: String,
    pub instruction_index: carbon_core::graphql::primitives::U32,
    pub stack_height: carbon_core::graphql::primitives::U32,
    pub slot: Option<carbon_core::graphql::primitives::U64>,
}

impl From<carbon_core::postgres::metadata::InstructionRowMetadata> for InstructionMetadataGraphQL {
    fn from(metadata: carbon_core::postgres::metadata::InstructionRowMetadata) -> Self {
        Self {
            signature: metadata.signature,
            instruction_index: carbon_core::graphql::primitives::U32(
                (*metadata.instruction_index) as u32,
            ),
            stack_height: carbon_core::graphql::primitives::U32((*metadata.stack_height) as u32),
            slot: metadata
                .slot
                .map(|v| carbon_core::graphql::primitives::U64(*v)),
        }
    }
}