carbon-jupiter-lend-decoder 2.0.0

Jupiter Lend Liquidity Decoder
Documentation
//! This code was AUTOGENERATED using the Codama library.
pub mod change_status_schema;
pub mod claim_schema;
pub mod close_claim_account_schema;
pub mod collect_revenue_schema;
pub mod cpi_event_schema;
pub mod init_claim_account_schema;
pub mod init_liquidity_schema;
pub mod init_new_protocol_schema;
pub mod init_token_reserve_schema;
pub mod operate_schema;
pub mod pause_user_schema;
pub mod pre_operate_schema;
pub mod unpause_user_schema;
pub mod update_authority_schema;
pub mod update_auths_schema;
pub mod update_exchange_price_schema;
pub mod update_guardians_schema;
pub mod update_rate_data_v1_schema;
pub mod update_rate_data_v2_schema;
pub mod update_revenue_collector_schema;
pub mod update_token_config_schema;
pub mod update_user_borrow_config_schema;
pub mod update_user_class_schema;
pub mod update_user_supply_config_schema;
pub mod update_user_withdrawal_limit_schema;

use juniper::GraphQLObject;
pub use {
    change_status_schema::*, claim_schema::*, close_claim_account_schema::*,
    collect_revenue_schema::*, cpi_event_schema::*, init_claim_account_schema::*,
    init_liquidity_schema::*, init_new_protocol_schema::*, init_token_reserve_schema::*,
    operate_schema::*, pause_user_schema::*, pre_operate_schema::*, unpause_user_schema::*,
    update_authority_schema::*, update_auths_schema::*, update_exchange_price_schema::*,
    update_guardians_schema::*, update_rate_data_v1_schema::*, update_rate_data_v2_schema::*,
    update_revenue_collector_schema::*, update_token_config_schema::*,
    update_user_borrow_config_schema::*, update_user_class_schema::*,
    update_user_supply_config_schema::*, update_user_withdrawal_limit_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)),
        }
    }
}