@@ -16,10 +16,10 @@ use core::convert::TryFrom;
16
16
use core:: str:: FromStr ;
17
17
use io;
18
18
use ln:: features:: OfferFeatures ;
19
- use offers:: { PayerTlvStream , self } ;
20
19
use offers:: merkle:: { SignatureTlvStream , self } ;
21
20
use offers:: offer:: { Amount , OfferContents , OfferTlvStream , self } ;
22
21
use offers:: parse:: { Bech32Encode , ParseError , SemanticError } ;
22
+ use offers:: payer:: { PayerContents , PayerTlvStream , self } ;
23
23
use util:: ser:: { Writeable , Writer } ;
24
24
25
25
///
@@ -30,14 +30,14 @@ pub struct InvoiceRequest {
30
30
31
31
///
32
32
pub ( crate ) struct InvoiceRequestContents {
33
+ payer : PayerContents ,
33
34
offer : OfferContents ,
34
35
chain : Option < BlockHash > ,
35
36
amount_msats : Option < u64 > ,
36
37
features : Option < OfferFeatures > ,
37
38
quantity : Option < u64 > ,
38
39
payer_id : PublicKey ,
39
40
payer_note : Option < String > ,
40
- payer_info : Option < Vec < u8 > > ,
41
41
signature : Option < Signature > ,
42
42
}
43
43
@@ -49,8 +49,8 @@ impl AsRef<[u8]> for InvoiceRequest {
49
49
50
50
impl InvoiceRequestContents {
51
51
pub ( super ) fn as_tlv_stream ( & self ) -> ReferencedFullInvoiceRequestTlvStream {
52
- let payer = offers :: reference:: PayerTlvStream {
53
- payer_info : self . payer_info . as_ref ( ) . map ( Into :: into) ,
52
+ let payer = payer :: reference:: PayerTlvStream {
53
+ payer_info : self . payer . 0 . as_ref ( ) . map ( Into :: into) ,
54
54
} ;
55
55
56
56
let offer = self . offer . as_tlv_stream ( ) ;
@@ -97,7 +97,7 @@ type FullInvoiceRequestTlvStream =
97
97
( PayerTlvStream , OfferTlvStream , InvoiceRequestTlvStream , SignatureTlvStream ) ;
98
98
99
99
type ReferencedFullInvoiceRequestTlvStream < ' a > = (
100
- offers :: reference:: PayerTlvStream < ' a > ,
100
+ payer :: reference:: PayerTlvStream < ' a > ,
101
101
offer:: reference:: OfferTlvStream < ' a > ,
102
102
reference:: InvoiceRequestTlvStream < ' a > ,
103
103
merkle:: reference:: SignatureTlvStream < ' a > ,
@@ -130,6 +130,7 @@ impl TryFrom<FullInvoiceRequestTlvStream> for InvoiceRequestContents {
130
130
SignatureTlvStream { signature } ,
131
131
) = tlv_stream;
132
132
133
+ let payer = PayerContents ( payer_info. map ( Into :: into) ) ;
133
134
let offer = OfferContents :: try_from ( offer_tlv_stream) ?;
134
135
135
136
let chain = match chain {
@@ -171,11 +172,8 @@ impl TryFrom<FullInvoiceRequestTlvStream> for InvoiceRequestContents {
171
172
172
173
let payer_note = payer_note. map ( Into :: into) ;
173
174
174
- let payer_info = payer_info. map ( Into :: into) ;
175
-
176
175
Ok ( InvoiceRequestContents {
177
- offer, chain, amount_msats, features, quantity, payer_id, payer_note, payer_info,
178
- signature,
176
+ payer, offer, chain, amount_msats, features, quantity, payer_id, payer_note, signature,
179
177
} )
180
178
}
181
179
}
0 commit comments