melt.rs 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. //! Melt types
  2. use cashu::{MeltQuoteBolt11Request, MeltQuoteBolt12Request, MeltQuoteCustomRequest};
  3. /// Melt quote request enum for different types of quotes
  4. ///
  5. /// This enum represents the different types of melt quote requests
  6. /// that can be made, either BOLT11, BOLT12, or Custom.
  7. #[derive(Debug, Clone, PartialEq, Eq)]
  8. pub enum MeltQuoteRequest {
  9. /// Lightning Network BOLT11 invoice request
  10. Bolt11(MeltQuoteBolt11Request),
  11. /// Lightning Network BOLT12 offer request
  12. Bolt12(MeltQuoteBolt12Request),
  13. /// Custom payment method request
  14. Custom(MeltQuoteCustomRequest),
  15. }
  16. impl From<MeltQuoteBolt11Request> for MeltQuoteRequest {
  17. fn from(request: MeltQuoteBolt11Request) -> Self {
  18. MeltQuoteRequest::Bolt11(request)
  19. }
  20. }
  21. impl From<MeltQuoteBolt12Request> for MeltQuoteRequest {
  22. fn from(request: MeltQuoteBolt12Request) -> Self {
  23. MeltQuoteRequest::Bolt12(request)
  24. }
  25. }
  26. impl From<MeltQuoteCustomRequest> for MeltQuoteRequest {
  27. fn from(request: MeltQuoteCustomRequest) -> Self {
  28. MeltQuoteRequest::Custom(request)
  29. }
  30. }