diff --git a/apps/labrinth/src/queue/payouts/mural.rs b/apps/labrinth/src/queue/payouts/mural.rs index 8603c9de1..b3137048a 100644 --- a/apps/labrinth/src/queue/payouts/mural.rs +++ b/apps/labrinth/src/queue/payouts/mural.rs @@ -352,13 +352,16 @@ pub async fn sync_failed_mural_payouts_to_labrinth( } fn payout_should_be_failed(payout: &muralpay::Payout) -> bool { + let muralpay::PayoutDetails::Fiat(b) = &payout.details else { + return false; + }; matches!( - payout.details, - muralpay::PayoutDetails::Fiat(muralpay::FiatPayoutDetails { + **b, + muralpay::FiatPayoutDetails { fiat_payout_status: muralpay::FiatPayoutStatus::Failed { .. } | muralpay::FiatPayoutStatus::Refunded { .. }, .. - }) + } ) } @@ -394,7 +397,7 @@ mod tests { token_amount: dec!(10.00), token_symbol: "USDC".into(), }, - details: PayoutDetails::Fiat(FiatPayoutDetails { + details: PayoutDetails::Fiat(Box::new(FiatPayoutDetails { fiat_and_rail_code: FiatAndRailCode::Usd, fiat_payout_status: FiatPayoutStatus::Pending { initiated_at: chrono::Utc::now(), @@ -414,7 +417,7 @@ mod tests { token_symbol: "USDC".into(), }, developer_fee: None, - }), + })), recipient_info: PayoutRecipientInfo::Inline { name: "John Smith".into(), details: InlineRecipientDetails::Fiat { diff --git a/packages/muralpay/src/payout.rs b/packages/muralpay/src/payout.rs index 8ae2c1a04..dccf4229b 100644 --- a/packages/muralpay/src/payout.rs +++ b/packages/muralpay/src/payout.rs @@ -10,7 +10,7 @@ use { crate::{ AccountId, Blockchain, CounterpartyId, CurrencyCode, FiatAccountType, FiatAmount, FiatAndRailCode, PayoutMethodId, TokenAmount, - TransactionId, WalletDetails, + WalletDetails, }, chrono::{DateTime, Utc}, derive_more::{Deref, Display, Error, From}, @@ -297,7 +297,7 @@ pub struct Payout { #[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))] #[serde(tag = "type", rename_all = "camelCase")] pub enum PayoutDetails { - Fiat(FiatPayoutDetails), + Fiat(Box), Blockchain(BlockchainPayoutDetails), } @@ -357,7 +357,7 @@ pub enum FiatPayoutStatus { failure_reason: String, refund_completed_at: DateTime, refund_initiated_at: DateTime, - refund_transaction_id: TransactionId, + refund_transaction_id: String, }, }