use {
carbon_core::graphql::primitives::{Pubkey, U64, U8},
juniper::GraphQLObject,
};
#[derive(Debug, Clone, GraphQLObject)]
#[graphql(name = "MeteoraDammMigrationMetadata")]
pub struct MeteoraDammMigrationMetadataGraphQL {
pub account_metadata: crate::accounts::graphql::AccountMetadataGraphQL,
pub virtual_pool: Pubkey,
pub padding0: Vec<U8>,
pub partner: Pubkey,
pub lp_mint: Pubkey,
pub partner_locked_liquidity: U64,
pub partner_liquidity: U64,
pub creator_locked_liquidity: U64,
pub creator_liquidity: U64,
pub padding0_1: U8,
pub creator_locked_status: U8,
pub partner_locked_status: U8,
pub creator_claim_status: U8,
pub partner_claim_status: U8,
pub padding: Vec<U8>,
}
impl TryFrom<crate::accounts::postgres::MeteoraDammMigrationMetadataRow>
for MeteoraDammMigrationMetadataGraphQL
{
type Error = carbon_core::error::Error;
fn try_from(
row: crate::accounts::postgres::MeteoraDammMigrationMetadataRow,
) -> Result<Self, Self::Error> {
Ok(Self {
account_metadata: row.account_metadata.into(),
virtual_pool: carbon_core::graphql::primitives::Pubkey(row.virtual_pool.0),
padding0: row
.padding0
.into_iter()
.map(carbon_core::graphql::primitives::U8)
.collect(),
partner: carbon_core::graphql::primitives::Pubkey(row.partner.0),
lp_mint: carbon_core::graphql::primitives::Pubkey(row.lp_mint.0),
partner_locked_liquidity: carbon_core::graphql::primitives::U64(
*row.partner_locked_liquidity,
),
partner_liquidity: carbon_core::graphql::primitives::U64(*row.partner_liquidity),
creator_locked_liquidity: carbon_core::graphql::primitives::U64(
*row.creator_locked_liquidity,
),
creator_liquidity: carbon_core::graphql::primitives::U64(*row.creator_liquidity),
padding0_1: carbon_core::graphql::primitives::U8((*row.padding0_1) as u8),
creator_locked_status: carbon_core::graphql::primitives::U8(
(*row.creator_locked_status) as u8,
),
partner_locked_status: carbon_core::graphql::primitives::U8(
(*row.partner_locked_status) as u8,
),
creator_claim_status: carbon_core::graphql::primitives::U8(
(*row.creator_claim_status) as u8,
),
partner_claim_status: carbon_core::graphql::primitives::U8(
(*row.partner_claim_status) as u8,
),
padding: row
.padding
.into_iter()
.map(carbon_core::graphql::primitives::U8)
.collect(),
})
}
}