use cdk_common::wallet::WalletSaga;
use cdk_common::MeltQuoteState;
use uuid::Uuid;
use crate::nuts::{PreMintSecrets, Proofs};
use crate::wallet::MeltQuote;
use crate::Amount;
#[derive(Debug)]
pub struct Initial {
pub operation_id: Uuid,
}
pub struct Prepared {
pub operation_id: Uuid,
pub quote: MeltQuote,
pub proofs: Proofs,
pub proofs_to_swap: Proofs,
pub swap_fee: Amount,
pub input_fee: Amount,
pub input_fee_without_swap: Amount,
pub saga: WalletSaga,
}
pub struct MeltRequested {
pub operation_id: Uuid,
pub quote: MeltQuote,
pub final_proofs: Proofs,
pub premint_secrets: PreMintSecrets,
}
pub struct Finalized {
pub quote_id: String,
pub state: MeltQuoteState,
pub amount: Amount,
pub fee: Amount,
pub payment_proof: Option<String>,
pub change: Option<Proofs>,
}
pub struct PaymentPending {
pub operation_id: Uuid,
pub quote: MeltQuote,
pub final_proofs: Proofs,
pub premint_secrets: PreMintSecrets,
}