@@ -16,6 +16,7 @@ use crate::offers::invoice_error::InvoiceError;
1616use crate :: offers:: invoice_request:: InvoiceRequest ;
1717use crate :: offers:: invoice:: Bolt12Invoice ;
1818use crate :: offers:: parse:: Bolt12ParseError ;
19+ #[ cfg( async_payments) ]
1920use crate :: offers:: static_invoice:: StaticInvoice ;
2021use crate :: onion_message:: packet:: OnionMessageContents ;
2122use crate :: util:: logger:: Logger ;
@@ -30,6 +31,7 @@ use crate::prelude::*;
3031const INVOICE_REQUEST_TLV_TYPE : u64 = 64 ;
3132const INVOICE_TLV_TYPE : u64 = 66 ;
3233const INVOICE_ERROR_TLV_TYPE : u64 = 68 ;
34+ #[ cfg( async_payments) ]
3335const STATIC_INVOICE_TLV_TYPE : u64 = 70 ;
3436
3537/// A handler for an [`OnionMessage`] containing a BOLT 12 Offers message as its payload.
@@ -74,7 +76,8 @@ pub enum OffersMessage {
7476 /// [`Refund`]: crate::offers::refund::Refund
7577 Invoice ( Bolt12Invoice ) ,
7678
77- /// A `StaticInvoice` sent in response to an [`InvoiceRequest`].
79+ #[ cfg( async_payments) ]
80+ /// A [`StaticInvoice`] sent in response to an [`InvoiceRequest`].
7881 StaticInvoice ( StaticInvoice ) ,
7982
8083 /// An error from handling an [`OffersMessage`].
@@ -87,8 +90,9 @@ impl OffersMessage {
8790 match tlv_type {
8891 INVOICE_REQUEST_TLV_TYPE
8992 | INVOICE_TLV_TYPE
90- | STATIC_INVOICE_TLV_TYPE
9193 | INVOICE_ERROR_TLV_TYPE => true ,
94+ #[ cfg( async_payments) ]
95+ STATIC_INVOICE_TLV_TYPE => true ,
9296 _ => false ,
9397 }
9498 }
@@ -97,6 +101,7 @@ impl OffersMessage {
97101 match tlv_type {
98102 INVOICE_REQUEST_TLV_TYPE => Ok ( Self :: InvoiceRequest ( InvoiceRequest :: try_from ( bytes) ?) ) ,
99103 INVOICE_TLV_TYPE => Ok ( Self :: Invoice ( Bolt12Invoice :: try_from ( bytes) ?) ) ,
104+ #[ cfg( async_payments) ]
100105 STATIC_INVOICE_TLV_TYPE => Ok ( Self :: StaticInvoice ( StaticInvoice :: try_from ( bytes) ?) ) ,
101106 _ => Err ( Bolt12ParseError :: Decode ( DecodeError :: InvalidValue ) ) ,
102107 }
@@ -112,6 +117,7 @@ impl fmt::Debug for OffersMessage {
112117 OffersMessage :: Invoice ( message) => {
113118 write ! ( f, "{:?}" , message. as_tlv_stream( ) )
114119 }
120+ #[ cfg( async_payments) ]
115121 OffersMessage :: StaticInvoice ( message) => {
116122 write ! ( f, "{:?}" , message)
117123 }
@@ -127,6 +133,7 @@ impl OnionMessageContents for OffersMessage {
127133 match self {
128134 OffersMessage :: InvoiceRequest ( _) => INVOICE_REQUEST_TLV_TYPE ,
129135 OffersMessage :: Invoice ( _) => INVOICE_TLV_TYPE ,
136+ #[ cfg( async_payments) ]
130137 OffersMessage :: StaticInvoice ( _) => STATIC_INVOICE_TLV_TYPE ,
131138 OffersMessage :: InvoiceError ( _) => INVOICE_ERROR_TLV_TYPE ,
132139 }
@@ -135,6 +142,7 @@ impl OnionMessageContents for OffersMessage {
135142 match & self {
136143 OffersMessage :: InvoiceRequest ( _) => "Invoice Request" ,
137144 OffersMessage :: Invoice ( _) => "Invoice" ,
145+ #[ cfg( async_payments) ]
138146 OffersMessage :: StaticInvoice ( _) => "Static Invoice" ,
139147 OffersMessage :: InvoiceError ( _) => "Invoice Error" ,
140148 }
@@ -146,6 +154,7 @@ impl Writeable for OffersMessage {
146154 match self {
147155 OffersMessage :: InvoiceRequest ( message) => message. write ( w) ,
148156 OffersMessage :: Invoice ( message) => message. write ( w) ,
157+ #[ cfg( async_payments) ]
149158 OffersMessage :: StaticInvoice ( message) => message. write ( w) ,
150159 OffersMessage :: InvoiceError ( message) => message. write ( w) ,
151160 }
0 commit comments