carbon-heaven-decoder 2.0.0

Heaven program decoder
Documentation
//! This code was AUTOGENERATED using the Codama library.
pub mod add_liquidity_pro_pool_schema;
pub mod admin_borrow_sol_schema;
pub mod admin_claim_msol_schema;
pub mod admin_claim_pro_creator_trading_fees_schema;
pub mod admin_claim_staking_rewards_schema;
pub mod admin_claim_standard_creator_trading_fees_schema;
pub mod admin_deposit_msol_schema;
pub mod admin_mint_msol_schema;
pub mod admin_repay_sol_schema;
pub mod admin_set_transfer_fee_schema;
pub mod admin_unstake_msol_schema;
pub mod admin_update_pro_liquidity_pool_state_schema;
pub mod admin_update_standard_liquidity_pool_state_schema;
pub mod admin_withdraw_msol_schema;
pub mod admin_withdraw_transfer_fee_schema;
pub mod buy_schema;
pub mod claim_pro_creator_trading_fee_protocol_fees_schema;
pub mod claim_pro_creator_trading_fees_schema;
pub mod claim_pro_liquidity_provider_trading_fees_schema;
pub mod claim_pro_protocol_trading_fees_schema;
pub mod claim_pro_reflection_trading_fees_schema;
pub mod claim_standard_creator_trading_fee_protocol_fees_schema;
pub mod claim_standard_creator_trading_fees_schema;
pub mod claim_standard_protocol_trading_fees_schema;
pub mod claim_standard_reflection_trading_fees_schema;
pub mod close_protocol_lookup_table_schema;
pub mod cpi_event_schema;
pub mod create_or_update_protocol_fee_admin_schema;
pub mod create_or_update_protocol_owner_schema;
pub mod create_or_update_protocol_staking_admin_schema;
pub mod create_pro_liquidity_pool_schema;
pub mod create_protocol_config_schema;
pub mod create_protocol_lookup_table_schema;
pub mod create_standard_liquidity_pool_schema;
pub mod creator_set_pro_market_cap_creator_fee_schema;
pub mod creator_set_pro_market_cap_lp_fee_schema;
pub mod creator_set_pro_market_cap_reflection_fee_schema;
pub mod creator_set_pro_slot_creator_fee_schema;
pub mod creator_toggle_pro_deposit_schema;
pub mod creator_toggle_pro_swap_schema;
pub mod creator_toggle_pro_withdraw_schema;
pub mod deactivate_protocol_lookup_table_schema;
pub mod extend_protocol_lookup_table_schema;
pub mod initialize_protocol_lending_schema;
pub mod pro_buy_schema;
pub mod pro_sell_schema;
pub mod remaining_accounts_stub_schema;
pub mod remove_liquidity_pro_pool_schema;
pub mod sell_schema;
pub mod set_protocol_slot_fees_schema;
pub mod transfer_lp_tokens_schema;
pub mod update_allow_create_pool_schema;
pub mod update_creator_trading_fee_receiver_schema;
pub mod update_pro_creator_trading_fee_receiver_schema;
pub mod update_protocol_config_schema;

use juniper::GraphQLObject;
pub use {
    add_liquidity_pro_pool_schema::*, admin_borrow_sol_schema::*, admin_claim_msol_schema::*,
    admin_claim_pro_creator_trading_fees_schema::*, admin_claim_staking_rewards_schema::*,
    admin_claim_standard_creator_trading_fees_schema::*, admin_deposit_msol_schema::*,
    admin_mint_msol_schema::*, admin_repay_sol_schema::*, admin_set_transfer_fee_schema::*,
    admin_unstake_msol_schema::*, admin_update_pro_liquidity_pool_state_schema::*,
    admin_update_standard_liquidity_pool_state_schema::*, admin_withdraw_msol_schema::*,
    admin_withdraw_transfer_fee_schema::*, buy_schema::*,
    claim_pro_creator_trading_fee_protocol_fees_schema::*,
    claim_pro_creator_trading_fees_schema::*, claim_pro_liquidity_provider_trading_fees_schema::*,
    claim_pro_protocol_trading_fees_schema::*, claim_pro_reflection_trading_fees_schema::*,
    claim_standard_creator_trading_fee_protocol_fees_schema::*,
    claim_standard_creator_trading_fees_schema::*, claim_standard_protocol_trading_fees_schema::*,
    claim_standard_reflection_trading_fees_schema::*, close_protocol_lookup_table_schema::*,
    cpi_event_schema::*, create_or_update_protocol_fee_admin_schema::*,
    create_or_update_protocol_owner_schema::*, create_or_update_protocol_staking_admin_schema::*,
    create_pro_liquidity_pool_schema::*, create_protocol_config_schema::*,
    create_protocol_lookup_table_schema::*, create_standard_liquidity_pool_schema::*,
    creator_set_pro_market_cap_creator_fee_schema::*, creator_set_pro_market_cap_lp_fee_schema::*,
    creator_set_pro_market_cap_reflection_fee_schema::*,
    creator_set_pro_slot_creator_fee_schema::*, creator_toggle_pro_deposit_schema::*,
    creator_toggle_pro_swap_schema::*, creator_toggle_pro_withdraw_schema::*,
    deactivate_protocol_lookup_table_schema::*, extend_protocol_lookup_table_schema::*,
    initialize_protocol_lending_schema::*, pro_buy_schema::*, pro_sell_schema::*,
    remaining_accounts_stub_schema::*, remove_liquidity_pro_pool_schema::*, sell_schema::*,
    set_protocol_slot_fees_schema::*, transfer_lp_tokens_schema::*,
    update_allow_create_pool_schema::*, update_creator_trading_fee_receiver_schema::*,
    update_pro_creator_trading_fee_receiver_schema::*, update_protocol_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)),
        }
    }
}