carbon-orca-whirlpool-decoder 1.0.0

Orca Whirlpool Decoder
Documentation
//! This code was AUTOGENERATED using the Codama library.
pub mod close_bundled_position_schema;
pub mod close_position_schema;
pub mod close_position_with_token_extensions_schema;
pub mod collect_fees_schema;
pub mod collect_fees_v2_schema;
pub mod collect_protocol_fees_schema;
pub mod collect_protocol_fees_v2_schema;
pub mod collect_reward_schema;
pub mod collect_reward_v2_schema;
pub mod cpi_event_schema;
pub mod decrease_liquidity_schema;
pub mod decrease_liquidity_v2_schema;
pub mod delete_position_bundle_schema;
pub mod delete_token_badge_schema;
pub mod idl_include_schema;
pub mod increase_liquidity_by_token_amounts_v2_schema;
pub mod increase_liquidity_schema;
pub mod increase_liquidity_v2_schema;
pub mod initialize_adaptive_fee_tier_schema;
pub mod initialize_config_extension_schema;
pub mod initialize_config_schema;
pub mod initialize_dynamic_tick_array_schema;
pub mod initialize_fee_tier_schema;
pub mod initialize_pool_schema;
pub mod initialize_pool_v2_schema;
pub mod initialize_pool_with_adaptive_fee_schema;
pub mod initialize_position_bundle_schema;
pub mod initialize_position_bundle_with_metadata_schema;
pub mod initialize_reward_schema;
pub mod initialize_reward_v2_schema;
pub mod initialize_tick_array_schema;
pub mod initialize_token_badge_schema;
pub mod lock_position_schema;
pub mod migrate_repurpose_reward_authority_space_schema;
pub mod open_bundled_position_schema;
pub mod open_position_schema;
pub mod open_position_with_metadata_schema;
pub mod open_position_with_token_extensions_schema;
pub mod reposition_liquidity_v2_schema;
pub mod reset_position_range_schema;
pub mod set_adaptive_fee_constants_schema;
pub mod set_collect_protocol_fees_authority_schema;
pub mod set_config_extension_authority_schema;
pub mod set_config_feature_flag_schema;
pub mod set_default_base_fee_rate_schema;
pub mod set_default_fee_rate_schema;
pub mod set_default_protocol_fee_rate_schema;
pub mod set_delegated_fee_authority_schema;
pub mod set_fee_authority_schema;
pub mod set_fee_rate_by_delegated_fee_authority_schema;
pub mod set_fee_rate_schema;
pub mod set_initialize_pool_authority_schema;
pub mod set_preset_adaptive_fee_constants_schema;
pub mod set_protocol_fee_rate_schema;
pub mod set_reward_authority_by_super_authority_schema;
pub mod set_reward_authority_schema;
pub mod set_reward_emissions_schema;
pub mod set_reward_emissions_super_authority_schema;
pub mod set_reward_emissions_v2_schema;
pub mod set_token_badge_attribute_schema;
pub mod set_token_badge_authority_schema;
pub mod swap_schema;
pub mod swap_v2_schema;
pub mod transfer_locked_position_schema;
pub mod two_hop_swap_schema;
pub mod two_hop_swap_v2_schema;
pub mod update_fees_and_rewards_schema;

use juniper::GraphQLObject;
pub use {
    close_bundled_position_schema::*, close_position_schema::*,
    close_position_with_token_extensions_schema::*, collect_fees_schema::*,
    collect_fees_v2_schema::*, collect_protocol_fees_schema::*, collect_protocol_fees_v2_schema::*,
    collect_reward_schema::*, collect_reward_v2_schema::*, cpi_event_schema::*,
    decrease_liquidity_schema::*, decrease_liquidity_v2_schema::*,
    delete_position_bundle_schema::*, delete_token_badge_schema::*, idl_include_schema::*,
    increase_liquidity_by_token_amounts_v2_schema::*, increase_liquidity_schema::*,
    increase_liquidity_v2_schema::*, initialize_adaptive_fee_tier_schema::*,
    initialize_config_extension_schema::*, initialize_config_schema::*,
    initialize_dynamic_tick_array_schema::*, initialize_fee_tier_schema::*,
    initialize_pool_schema::*, initialize_pool_v2_schema::*,
    initialize_pool_with_adaptive_fee_schema::*, initialize_position_bundle_schema::*,
    initialize_position_bundle_with_metadata_schema::*, initialize_reward_schema::*,
    initialize_reward_v2_schema::*, initialize_tick_array_schema::*,
    initialize_token_badge_schema::*, lock_position_schema::*,
    migrate_repurpose_reward_authority_space_schema::*, open_bundled_position_schema::*,
    open_position_schema::*, open_position_with_metadata_schema::*,
    open_position_with_token_extensions_schema::*, reposition_liquidity_v2_schema::*,
    reset_position_range_schema::*, set_adaptive_fee_constants_schema::*,
    set_collect_protocol_fees_authority_schema::*, set_config_extension_authority_schema::*,
    set_config_feature_flag_schema::*, set_default_base_fee_rate_schema::*,
    set_default_fee_rate_schema::*, set_default_protocol_fee_rate_schema::*,
    set_delegated_fee_authority_schema::*, set_fee_authority_schema::*,
    set_fee_rate_by_delegated_fee_authority_schema::*, set_fee_rate_schema::*,
    set_initialize_pool_authority_schema::*, set_preset_adaptive_fee_constants_schema::*,
    set_protocol_fee_rate_schema::*, set_reward_authority_by_super_authority_schema::*,
    set_reward_authority_schema::*, set_reward_emissions_schema::*,
    set_reward_emissions_super_authority_schema::*, set_reward_emissions_v2_schema::*,
    set_token_badge_attribute_schema::*, set_token_badge_authority_schema::*, swap_schema::*,
    swap_v2_schema::*, transfer_locked_position_schema::*, two_hop_swap_schema::*,
    two_hop_swap_v2_schema::*, update_fees_and_rewards_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)),
        }
    }
}