carbon-drift-v2-decoder 1.0.0

Drift v2 Decoder
Documentation
//! This code was AUTOGENERATED using the Codama library.
pub mod amm_cache_schema;
pub mod amm_constituent_mapping_schema;
pub mod constituent_correlations_schema;
pub mod constituent_schema;
pub mod constituent_target_base_schema;
pub mod fuel_overflow_schema;
pub mod high_leverage_mode_config_schema;
pub mod if_rebalance_config_schema;
pub mod insurance_fund_stake_schema;
pub mod l_p_pool_schema;
pub mod openbook_v2_fulfillment_config_schema;
pub mod perp_market_schema;
pub mod phoenix_v1_fulfillment_config_schema;
pub mod prelaunch_oracle_schema;
pub mod protected_maker_mode_config_schema;
pub mod protocol_if_shares_transfer_config_schema;
pub mod pyth_lazer_oracle_schema;
pub mod referrer_name_schema;
pub mod revenue_share_escrow_schema;
pub mod revenue_share_schema;
pub mod serum_v3_fulfillment_config_schema;
pub mod signed_msg_user_orders_schema;
pub mod signed_msg_ws_delegates_schema;
pub mod spot_market_schema;
pub mod state_schema;
pub mod user_schema;
pub mod user_stats_schema;

use juniper::GraphQLObject;
pub use {
    amm_cache_schema::*, amm_constituent_mapping_schema::*, constituent_correlations_schema::*,
    constituent_schema::*, constituent_target_base_schema::*, fuel_overflow_schema::*,
    high_leverage_mode_config_schema::*, if_rebalance_config_schema::*,
    insurance_fund_stake_schema::*, l_p_pool_schema::*, openbook_v2_fulfillment_config_schema::*,
    perp_market_schema::*, phoenix_v1_fulfillment_config_schema::*, prelaunch_oracle_schema::*,
    protected_maker_mode_config_schema::*, protocol_if_shares_transfer_config_schema::*,
    pyth_lazer_oracle_schema::*, referrer_name_schema::*, revenue_share_escrow_schema::*,
    revenue_share_schema::*, serum_v3_fulfillment_config_schema::*,
    signed_msg_user_orders_schema::*, signed_msg_ws_delegates_schema::*, spot_market_schema::*,
    state_schema::*, user_schema::*, user_stats_schema::*,
};

#[derive(Debug, Clone, GraphQLObject)]
#[graphql(name = "AccountMetadata")]
pub struct AccountMetadataGraphQL {
    pub pubkey: carbon_core::graphql::primitives::Pubkey,
    pub slot: Option<carbon_core::graphql::primitives::U64>,
}

impl From<carbon_core::postgres::metadata::AccountRowMetadata> for AccountMetadataGraphQL {
    fn from(metadata: carbon_core::postgres::metadata::AccountRowMetadata) -> Self {
        Self {
            pubkey: carbon_core::graphql::primitives::Pubkey(*metadata.pubkey),
            slot: metadata
                .slot
                .map(|v| carbon_core::graphql::primitives::U64(*v)),
        }
    }
}