Skip to content

Commit 24e53de

Browse files
committed
WIP: InvoiceRequest payer metadata and id derivation
TODO: Write tests
1 parent 2f6b469 commit 24e53de

File tree

4 files changed

+218
-90
lines changed

4 files changed

+218
-90
lines changed

lightning/src/offers/invoice.rs

Lines changed: 38 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -873,7 +873,8 @@ mod tests {
873873
let invoice = OfferBuilder::new("foo".into(), recipient_pubkey().into())
874874
.amount_msats(1000)
875875
.build().unwrap()
876-
.request_invoice(vec![1; 32], payer_pubkey()).unwrap()
876+
.request_invoice(payer_pubkey().into()).unwrap()
877+
.metadata(vec![1; 32]).unwrap()
877878
.build().unwrap()
878879
.sign(payer_sign).unwrap()
879880
.respond_with(payment_paths.clone(), payment_hash, now).unwrap()
@@ -1055,7 +1056,8 @@ mod tests {
10551056
let invoice = OfferBuilder::new("foo".into(), recipient_pubkey().into())
10561057
.amount_msats(1000)
10571058
.build().unwrap()
1058-
.request_invoice(vec![1; 32], payer_pubkey()).unwrap()
1059+
.request_invoice(payer_pubkey().into()).unwrap()
1060+
.metadata(vec![1; 32]).unwrap()
10591061
.build().unwrap()
10601062
.sign(payer_sign).unwrap()
10611063
.respond_with(payment_paths(), payment_hash(), now).unwrap()
@@ -1071,7 +1073,8 @@ mod tests {
10711073
let invoice = OfferBuilder::new("foo".into(), recipient_pubkey().into())
10721074
.amount_msats(1000)
10731075
.build().unwrap()
1074-
.request_invoice(vec![1; 32], payer_pubkey()).unwrap()
1076+
.request_invoice(payer_pubkey().into()).unwrap()
1077+
.metadata(vec![1; 32]).unwrap()
10751078
.build().unwrap()
10761079
.sign(payer_sign).unwrap()
10771080
.respond_with(payment_paths(), payment_hash(), now - one_hour).unwrap()
@@ -1090,7 +1093,8 @@ mod tests {
10901093
let invoice = OfferBuilder::new("foo".into(), recipient_pubkey().into())
10911094
.amount_msats(1000)
10921095
.build().unwrap()
1093-
.request_invoice(vec![1; 32], payer_pubkey()).unwrap()
1096+
.request_invoice(payer_pubkey().into()).unwrap()
1097+
.metadata(vec![1; 32]).unwrap()
10941098
.amount_msats(1001).unwrap()
10951099
.build().unwrap()
10961100
.sign(payer_sign).unwrap()
@@ -1112,7 +1116,8 @@ mod tests {
11121116
let invoice = OfferBuilder::new("foo".into(), recipient_pubkey().into())
11131117
.amount_msats(1000)
11141118
.build().unwrap()
1115-
.request_invoice(vec![1; 32], payer_pubkey()).unwrap()
1119+
.request_invoice(payer_pubkey().into()).unwrap()
1120+
.metadata(vec![1; 32]).unwrap()
11161121
.build().unwrap()
11171122
.sign(payer_sign).unwrap()
11181123
.respond_with(payment_paths(), payment_hash(), now()).unwrap()
@@ -1157,7 +1162,8 @@ mod tests {
11571162
let invoice = OfferBuilder::new("foo".into(), recipient_pubkey().into())
11581163
.amount_msats(1000)
11591164
.build().unwrap()
1160-
.request_invoice(vec![1; 32], payer_pubkey()).unwrap()
1165+
.request_invoice(payer_pubkey().into()).unwrap()
1166+
.metadata(vec![1; 32]).unwrap()
11611167
.build().unwrap()
11621168
.sign(payer_sign).unwrap()
11631169
.respond_with(payment_paths(), payment_hash(), now()).unwrap()
@@ -1174,7 +1180,8 @@ mod tests {
11741180
match OfferBuilder::new("foo".into(), recipient_pubkey().into())
11751181
.amount_msats(1000)
11761182
.build().unwrap()
1177-
.request_invoice(vec![1; 32], payer_pubkey()).unwrap()
1183+
.request_invoice(payer_pubkey().into()).unwrap()
1184+
.metadata(vec![1; 32]).unwrap()
11781185
.build().unwrap()
11791186
.sign(payer_sign).unwrap()
11801187
.respond_with(payment_paths(), payment_hash(), now()).unwrap()
@@ -1188,7 +1195,8 @@ mod tests {
11881195
match OfferBuilder::new("foo".into(), recipient_pubkey().into())
11891196
.amount_msats(1000)
11901197
.build().unwrap()
1191-
.request_invoice(vec![1; 32], payer_pubkey()).unwrap()
1198+
.request_invoice(payer_pubkey().into()).unwrap()
1199+
.metadata(vec![1; 32]).unwrap()
11921200
.build().unwrap()
11931201
.sign(payer_sign).unwrap()
11941202
.respond_with(payment_paths(), payment_hash(), now()).unwrap()
@@ -1205,7 +1213,8 @@ mod tests {
12051213
let invoice = OfferBuilder::new("foo".into(), recipient_pubkey().into())
12061214
.amount_msats(1000)
12071215
.build().unwrap()
1208-
.request_invoice(vec![1; 32], payer_pubkey()).unwrap()
1216+
.request_invoice(payer_pubkey().into()).unwrap()
1217+
.metadata(vec![1; 32]).unwrap()
12091218
.build().unwrap()
12101219
.sign(payer_sign).unwrap()
12111220
.respond_with(payment_paths(), payment_hash(), now()).unwrap()
@@ -1260,7 +1269,8 @@ mod tests {
12601269
let invoice = OfferBuilder::new("foo".into(), recipient_pubkey().into())
12611270
.amount_msats(1000)
12621271
.build().unwrap()
1263-
.request_invoice(vec![1; 32], payer_pubkey()).unwrap()
1272+
.request_invoice(payer_pubkey().into()).unwrap()
1273+
.metadata(vec![1; 32]).unwrap()
12641274
.build().unwrap()
12651275
.sign(payer_sign).unwrap()
12661276
.respond_with(payment_paths(), payment_hash(), now()).unwrap()
@@ -1290,7 +1300,8 @@ mod tests {
12901300
let invoice = OfferBuilder::new("foo".into(), recipient_pubkey().into())
12911301
.amount_msats(1000)
12921302
.build().unwrap()
1293-
.request_invoice(vec![1; 32], payer_pubkey()).unwrap()
1303+
.request_invoice(payer_pubkey().into()).unwrap()
1304+
.metadata(vec![1; 32]).unwrap()
12941305
.build().unwrap()
12951306
.sign(payer_sign).unwrap()
12961307
.respond_with(payment_paths(), payment_hash(), now()).unwrap()
@@ -1312,7 +1323,8 @@ mod tests {
13121323
let invoice = OfferBuilder::new("foo".into(), recipient_pubkey().into())
13131324
.amount_msats(1000)
13141325
.build().unwrap()
1315-
.request_invoice(vec![1; 32], payer_pubkey()).unwrap()
1326+
.request_invoice(payer_pubkey().into()).unwrap()
1327+
.metadata(vec![1; 32]).unwrap()
13161328
.build().unwrap()
13171329
.sign(payer_sign).unwrap()
13181330
.respond_with(payment_paths(), payment_hash(), now()).unwrap()
@@ -1342,7 +1354,8 @@ mod tests {
13421354
let invoice = OfferBuilder::new("foo".into(), recipient_pubkey().into())
13431355
.amount_msats(1000)
13441356
.build().unwrap()
1345-
.request_invoice(vec![1; 32], payer_pubkey()).unwrap()
1357+
.request_invoice(payer_pubkey().into()).unwrap()
1358+
.metadata(vec![1; 32]).unwrap()
13461359
.build().unwrap()
13471360
.sign(payer_sign).unwrap()
13481361
.respond_with(payment_paths(), payment_hash(), now()).unwrap()
@@ -1370,7 +1383,8 @@ mod tests {
13701383
let invoice = OfferBuilder::new("foo".into(), recipient_pubkey().into())
13711384
.amount_msats(1000)
13721385
.build().unwrap()
1373-
.request_invoice(vec![1; 32], payer_pubkey()).unwrap()
1386+
.request_invoice(payer_pubkey().into()).unwrap()
1387+
.metadata(vec![1; 32]).unwrap()
13741388
.build().unwrap()
13751389
.sign(payer_sign).unwrap()
13761390
.respond_with(payment_paths(), payment_hash(), now()).unwrap()
@@ -1402,7 +1416,8 @@ mod tests {
14021416
.amount_msats(1000)
14031417
.build().unwrap();
14041418
let invoice_request = offer
1405-
.request_invoice(vec![1; 32], payer_pubkey()).unwrap()
1419+
.request_invoice(payer_pubkey().into()).unwrap()
1420+
.metadata(vec![1; 32]).unwrap()
14061421
.build().unwrap()
14071422
.sign(payer_sign).unwrap();
14081423
let mut unsigned_invoice = invoice_request
@@ -1460,7 +1475,8 @@ mod tests {
14601475
let invoice = OfferBuilder::new("foo".into(), recipient_pubkey().into())
14611476
.amount_msats(1000)
14621477
.build().unwrap()
1463-
.request_invoice(vec![1; 32], payer_pubkey()).unwrap()
1478+
.request_invoice(payer_pubkey().into()).unwrap()
1479+
.metadata(vec![1; 32]).unwrap()
14641480
.build().unwrap()
14651481
.sign(payer_sign).unwrap()
14661482
.respond_with(payment_paths(), payment_hash(), now()).unwrap()
@@ -1502,7 +1518,8 @@ mod tests {
15021518
OfferBuilder::new("foo".into(), recipient_pubkey().into())
15031519
.amount_msats(1000)
15041520
.build().unwrap()
1505-
.request_invoice(vec![1; 32], payer_pubkey()).unwrap()
1521+
.request_invoice(payer_pubkey().into()).unwrap()
1522+
.metadata(vec![1; 32]).unwrap()
15061523
.build().unwrap()
15071524
.sign(payer_sign).unwrap()
15081525
.respond_with(payment_paths(), payment_hash(), now()).unwrap()
@@ -1521,7 +1538,8 @@ mod tests {
15211538
let mut invoice = OfferBuilder::new("foo".into(), recipient_pubkey().into())
15221539
.amount_msats(1000)
15231540
.build().unwrap()
1524-
.request_invoice(vec![1; 32], payer_pubkey()).unwrap()
1541+
.request_invoice(payer_pubkey().into()).unwrap()
1542+
.metadata(vec![1; 32]).unwrap()
15251543
.build().unwrap()
15261544
.sign(payer_sign).unwrap()
15271545
.respond_with(payment_paths(), payment_hash(), now()).unwrap()
@@ -1546,7 +1564,8 @@ mod tests {
15461564
let invoice = OfferBuilder::new("foo".into(), recipient_pubkey().into())
15471565
.amount_msats(1000)
15481566
.build().unwrap()
1549-
.request_invoice(vec![1; 32], payer_pubkey()).unwrap()
1567+
.request_invoice(payer_pubkey().into()).unwrap()
1568+
.metadata(vec![1; 32]).unwrap()
15501569
.build().unwrap()
15511570
.sign(payer_sign).unwrap()
15521571
.respond_with(payment_paths(), payment_hash(), now()).unwrap()

0 commit comments

Comments
 (0)